tWin32 client now ignores server's To: field as well - vaccinewars - be a doctor and try to vaccinate the world
(HTM) git clone git://src.adamsgaard.dk/vaccinewars
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit d7980d08d94a91598dc040ad5d3f77106f52573d
(DIR) parent adba08663bb16c4293c83ef321f755b6232c6f99
(HTM) Author: Ben Webb <ben@salilab.org>
Date: Tue, 12 Sep 2000 14:38:02 +0000
Win32 client now ignores server's To: field as well
Diffstat:
M src/win32_client.c | 35 ++++++++++++++++---------------
1 file changed, 18 insertions(+), 17 deletions(-)
---
(DIR) diff --git a/src/win32_client.c b/src/win32_client.c
t@@ -234,17 +234,18 @@ static void SetErrandMenus(HWND hwnd) {
DrawMenuBar(hwnd);
}
-static void HandleClientMessage(char *pt,Player *ReallyTo) {
+static void HandleClientMessage(char *pt,Player *Play) {
char *Data,Code,AICode,DisplayMode;
- Player *From,*To,*Play;
+ Player *From,*tmp;
gboolean Handled;
gchar *text;
LRESULT Answer;
GSList *list;
- if (ProcessMessage(pt,&From,&AICode,&Code,&To,&Data,FirstClient)==-1) {
+/* Ignore server's To: field (bin it in tmp); use "Play" instead */
+ if (ProcessMessage(pt,&From,&AICode,&Code,&tmp,&Data,FirstClient)==-1) {
return;
}
- Handled=HandleGenericClientMessage(From,AICode,Code,To,Data,&DisplayMode);
+ Handled=HandleGenericClientMessage(From,AICode,Code,Play,Data,&DisplayMode);
switch(Code) {
case C_STARTHISCORE:
if (ScoresWnd) {
t@@ -268,11 +269,11 @@ static void HandleClientMessage(char *pt,Player *ReallyTo) {
DisplayFightMessage(Data); break;
case C_PUSH:
g_warning("You have been pushed from the server.");
- SwitchToSinglePlayer(To);
+ SwitchToSinglePlayer(Play);
break;
case C_QUIT:
g_warning("The server has terminated.");
- SwitchToSinglePlayer(To);
+ SwitchToSinglePlayer(Play);
break;
case C_NEWNAME:
DialogBox(hInst,MAKEINTRESOURCE(NewNameDia),
t@@ -299,7 +300,7 @@ static void HandleClientMessage(char *pt,Player *ReallyTo) {
break;
case C_MSGTO:
text=g_strdup_printf("%s->%s: %s",GetPlayerName(From),
- GetPlayerName(To),Data);
+ GetPlayerName(Play),Data);
PrintMessage(text); g_free(text);
break;
case C_JOIN:
t@@ -319,18 +320,18 @@ static void HandleClientMessage(char *pt,Player *ReallyTo) {
ClientData.Window,QuestionWndProc,(LPARAM)Data);
if (Answer!=0) {
text=g_strdup_printf("%c",(char)Answer);
- SendClientMessage(To,C_NONE,C_ANSWER,
- From==&Noone ? NULL : From,text,To);
+ SendClientMessage(Play,C_NONE,C_ANSWER,
+ From==&Noone ? NULL : From,text,Play);
g_free(text);
}
break;
case C_SUBWAYFLASH:
DisplayFightMessage(NULL);
for (list=FirstClient;list;list=g_slist_next(list)) {
- Play=(Player *)list->data;
- Play->Flags &= ~FIGHTING;
+ tmp=(Player *)list->data;
+ tmp->Flags &= ~FIGHTING;
}
- text=g_strdup_printf("Jetting to %s",Location[(int)To->IsAt].Name);
+ text=g_strdup_printf("Jetting to %s",Location[(int)Play->IsAt].Name);
PrintMessage(text); g_free(text);
break;
case C_ENDLIST:
t@@ -338,8 +339,8 @@ static void HandleClientMessage(char *pt,Player *ReallyTo) {
break;
case C_UPDATE:
if (From==&Noone) {
- ReceivePlayerData(Data,To);
- UpdateStatus(To,TRUE);
+ ReceivePlayerData(Data,Play);
+ UpdateStatus(Play,TRUE);
} else {
ReceivePlayerData(Data,From);
DisplaySpyReports(From);
t@@ -348,10 +349,10 @@ static void HandleClientMessage(char *pt,Player *ReallyTo) {
case C_DRUGHERE:
UpdateInventory(ClientData.Stats.HereList,ClientData.Stats.CarriedList,
ClientData.Stats.BuyButton,ClientData.Stats.SellButton,
- ClientData.Stats.DropButton,To->Drugs,NumDrug,TRUE);
+ ClientData.Stats.DropButton,Play->Drugs,NumDrug,TRUE);
if (InventoryWnd) {
UpdateInventory(NULL,GetDlgItem(InventoryWnd,LB_INVENDRUGS),
- NULL,NULL,NULL,To->Drugs,NumDrug,TRUE);
+ NULL,NULL,NULL,Play->Drugs,NumDrug,TRUE);
}
break;
}
t@@ -1423,7 +1424,7 @@ LRESULT CALLBACK MainWndProc(HWND hwnd,UINT msg,UINT wParam,LONG lParam) {
} else {
if (ReadConnectionBufferFromWire(ClientData.Play)) {
while ((pt=ReadFromConnectionBuffer(ClientData.Play))!=NULL) {
- HandleClientMessage(pt,NULL); g_free(pt);
+ HandleClientMessage(pt,ClientData.Play); g_free(pt);
}
} else {
if (Network) WSAAsyncSelect(ClientSock,ClientData.Window,0,0);