Skip to content

Commit e81a6c4

Browse files
authored
fixed client_t struct
1 parent ff9bf3f commit e81a6c4

File tree

4 files changed

+76
-22
lines changed

4 files changed

+76
-22
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ message(STATUS "${SEPARATOR}")
2525
if(DEBUG_BUILD)
2626
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -m32 -ggdb")
2727
set(CMAKE_SHARED_LINKER_FLAGS "-g -m32")
28+
add_definitions(-DDEBUG)
2829
else()
2930
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
3031
endif()

src/t1x.cpp

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ void custom_SV_AddOperatorCommands()
112112
Cmd_AddCommand("ipunban", unban);
113113
Cmd_AddCommand("meow", meow);
114114
Cmd_AddCommand("gosha", gosha);
115+
#ifdef DEBUG
115116
Cmd_AddCommand("test", test);
117+
#endif
116118
}
117119

118120
/*void custom_SV_Startup(void)
@@ -808,7 +810,7 @@ static void ban()
808810
if (clToBan)
809811
{
810812
SV_DropClient(clToBan, reason_drop.c_str());
811-
clToBan->lastPacketTime = svs.time;
813+
//clToBan->lastPacketTime = svs.time;
812814
}
813815
}
814816

@@ -983,7 +985,7 @@ static void unban()
983985
infoMessage = ss.str();
984986
sendMessageToClient_orServerConsole(clAdmin, infoMessage);
985987
}
986-
}
988+
}//*/
987989
////
988990
//////
989991

@@ -1125,7 +1127,7 @@ void __attribute__ ((destructor)) lib_unload(void)
11251127
delete _t1x;
11261128
}
11271129

1128-
static void test()
1130+
/*static void test()
11291131
{
11301132
int num = sv_maxclients->integer;
11311133
int i;
@@ -1143,9 +1145,38 @@ static void test()
11431145
printf(" guid: %d\n", player->guid);
11441146
printf(" scriptId: %d\n", player->scriptId);
11451147
printf(" bIsTestClient: %d\n", player->bIsTestClient);
1148+
printf(" bIsTestClient (bool): %d\n", (bool)player->bIsTestClient);
11461149
printf(" serverId: %d\n", player->serverId);
11471150
printf(" lastClientCommand: %d\n", player->lastClientCommand);
11481151
printf(" lastClientCommandString: %s\n", player->lastClientCommandString);
11491152
printf("---------------------------------------------\n");
11501153
}
1154+
}//*/
1155+
1156+
#ifdef DEBUG
1157+
static void test()
1158+
{
1159+
client_t *player;
1160+
int i;
1161+
for ( i = 0, player = svs.clients; i < sv_maxclients->integer; i++, player++ )
1162+
{
1163+
player = &svs.clients[i];
1164+
printf("---------------------------------------------\n");
1165+
printf("Player: %s\n", player->name);
1166+
//printf(" ping: %d\n", player->ping);
1167+
//printf(" rate: %d\n", player->rate);
1168+
//printf(" snapshotMsec: %d\n", player->snapshotMsec);
1169+
//printf(" pureAuthentic: %d\n", player->pureAuthentic);
1170+
printf(" lastPacketTime: %d\n", player->lastPacketTime);
1171+
printf(" IP: %s\n", NET_AdrToString(player->netchan.remoteAddress));
1172+
//printf(" guid: %d\n", player->guid);
1173+
//printf(" scriptId: %d\n", player->scriptId);
1174+
//printf(" bIsTestClient: %d\n", player->bIsTestClient);
1175+
//printf(" bIsTestClient (bool): %d\n", (bool)player->bIsTestClient);
1176+
//printf(" serverId: %d\n", player->serverId);
1177+
//printf(" lastClientCommand: %d\n", player->lastClientCommand);
1178+
//printf(" lastClientCommandString: %s\n", player->lastClientCommandString);
1179+
printf("---------------------------------------------\n");
1180+
}
11511181
}
1182+
#endif

src/t1x.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@
44

55
static void ban();
66
static void unban();
7-
static void test();
87
std::tuple<bool, int, int, std::string> getBanInfoForIp(char* ip);
98

9+
#ifdef DEBUG
10+
11+
static void test();
12+
13+
#endif
14+
1015
// We assume a cdecl calling convention on 32-bit
1116

1217

src/types.h

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ typedef void netProfileInfo_t;
348348
netProfileInfo_t *netProfile;
349349
} netchan_t;//*/
350350

351-
typedef struct {
351+
/*typedef struct {
352352
netsrc_t sock;
353353
354354
int dropped; // between last packet and previous
@@ -371,6 +371,22 @@ typedef struct {
371371
int unsentFragmentStart;
372372
int unsentLength;
373373
byte unsentBuffer[MAX_MSGLEN];
374+
} netchan_t;//*/
375+
376+
typedef struct
377+
{
378+
netsrc_t sock; //0x0000
379+
int dropped; //0x0004
380+
netadr_t remoteAddress; //0x0008
381+
int qport; //0x001C
382+
int incomingSequence; //0x0020
383+
int outgoingSequence; //0x0024
384+
int fragmentSequence; //0x0028
385+
int fragmentLength; //0x002C
386+
char fragmentBuffer[32768]; //0x0030
387+
int unsentFragments; //0x8030
388+
int unsentLength; //0x8034
389+
char unsentBuffer[32768]; //0x8038
374390
} netchan_t;
375391

376392
typedef struct
@@ -455,24 +471,25 @@ typedef struct client_s
455471

456472
///*
457473

458-
/*typedef struct client_s
474+
typedef struct client_s
459475
{
460-
clientConnectState_t state;
461-
//byte gap1[0x10a44];// to try: 0x4291, ... maybe not, 0x10a44 worked
462-
//char name[MAX_NAME_LENGTH];
463-
//byte gap2[0x1d8];//byte gap[0x1d8]; // 0x10a44 - 0x1086c
464-
byte gap[0x26c14];
465-
//int lastPacketTime; // at 0x10c1c
466-
//byte gap3[0x15ff0];//byte gap[0x15ff4];
467-
netchan_t netchan; // at 0x26c10 or 0x9B040 maybe
476+
clientConnectState_t state; //0x0000
477+
byte gap[0x10a40];
478+
char name[MAX_NAME_LENGTH]; //0x10A44
479+
//char gap2[566748];
480+
char gap2[440];
481+
int lastPacketTime; //0x10c1c
482+
char gap3[566304];
483+
netchan_t netchan; //0x9B040
484+
char gap4[60]; //0xAB078*/
468485
//...
469486
} client_t;//*/
470487

471488
// guid at 0xab080
472489

473-
//*/
490+
//
474491

475-
typedef struct client_s
492+
/*typedef struct client_s
476493
{
477494
clientConnectState_t state; //0x0000
478495
int sendAsActive; //0x0004
@@ -493,10 +510,10 @@ typedef struct client_s
493510
char downloadName[64]; //0x10A64
494511
int download; //0x10AA4
495512
int downloadSize; //0x10AA8
496-
int downloadCount; //0x10AAC
513+
int downloadCount; //0x10AAC ----
497514
int downloadClientBlock; //0x10AB0
498515
int downloadCurrentBlock; //0x10AB4
499-
int downloadXmitBlock; //0x10AB8
516+
int downloadXmitBlock; //0x10AB8 ----
500517
unsigned char* downloadBlocks[MAX_DOWNLOAD_WINDOW]; //0x10ABC
501518
int downloadBlockSize[MAX_DOWNLOAD_WINDOW]; //0x10ADC
502519
qboolean downloadEOF; //0x10AFC
@@ -522,10 +539,10 @@ typedef struct client_s
522539
netchan_t netchan; //0x9B040
523540
int guid; // 0x2ac20 * 0x4 = 0xab080
524541
//unsigned short scriptId; // 0x2ac21 * 0x4 = 0xab084
525-
unsigned int scriptId; // 0x2ac21 * 0x4 = 0xab084
526-
qboolean bIsTestClient; // 0x2ac22 * 0x4 = 0xab088
527-
int serverId; // 0x2ac23 * 0x4 = 0xab08c
528-
//char pad_AB078[60]; //0xAB078
542+
//unsigned int scriptId; // 0x2ac21 * 0x4 = 0xab084
543+
//qboolean bIsTestClient; // 0x2ac22 * 0x4 = 0xab088
544+
//int serverId; // 0x2ac23 * 0x4 = 0xab08c
545+
char pad_AB078[56]; //0xAB078
529546
} client_t; //*/
530547

531548
// 0x9B040 + 803C = A307C

0 commit comments

Comments
 (0)