Skip to content

Commit c61c969

Browse files
committed
syndwarsfx: Named some player-related IPX data
1 parent f8fc3ae commit c61c969

2 files changed

Lines changed: 25 additions & 8 deletions

File tree

src/network.c

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -512,9 +512,9 @@ int ipx_join_session(struct IPXSessionList *p_ipxsess, char *a2)
512512

513513
for (k = 0; k < 8; k++)
514514
{
515-
struct TbIPXPlayerData3Sub *p_pdtsub;
516-
p_pdtsub = &p_plyrdt->Data.Data3.Sub1[k];
517-
if (memcmp(&p_pdtsub->field_2D[4], ipxhead.field_1C, 6) == 0)
515+
struct TbIPXOnePlayer *p_nplyr;
516+
p_nplyr = &p_plyrdt->Data.Data3.player[k];
517+
if (memcmp(p_nplyr->field_4, ipxhead.field_1C, 6) == 0)
518518
{
519519
tm_start = 0;
520520
ret = 1;
@@ -662,10 +662,23 @@ int ipx_stop_network(void)
662662

663663
TbResult ipx_get_player_name(char *name, int plyr)
664664
{
665+
#if 0
665666
int ret;
666667
asm volatile ("call ASM_ipx_get_player_name\n"
667668
: "=r" (ret) : "a" (name), "d" (plyr) );
668669
return ret;
670+
#endif
671+
if (plyr >= 8)
672+
return Lb_FAIL;
673+
if (IPXHandler == NULL)
674+
return Lb_FAIL;
675+
if (!IPXHandler->SessionActive)
676+
return Lb_FAIL;
677+
if (!IPXPlayer.Data.Data3.player[plyr].field_1A)
678+
return Lb_FAIL;
679+
680+
strcpy(name, IPXPlayer.Data.Data3.player[plyr].name);
681+
return Lb_SUCCESS;
669682
}
670683

671684
TbResult ipx_network_send(int plyr, ubyte *data, int dtlen)
@@ -895,12 +908,12 @@ int radica_update(void)
895908
return Lb_SUCCESS;
896909
}
897910

898-
TbResult radica_service_init(struct NetworkServiceInfo *nsvc)
911+
TbResult radica_service_init(struct NetworkServiceInfo *p_nsvc)
899912
{
900913
TbResult ret;
901914
LOGDBG("Starting");
902915
asm volatile ("call ASM_radica_service_init\n"
903-
: "=r" (ret) : "a" (nsvc) );
916+
: "=r" (ret) : "a" (p_nsvc) );
904917
return ret;
905918
}
906919

@@ -1767,6 +1780,7 @@ TbResult LbNetworkSetupIPXAddress(ulong addr)
17671780
#if 0
17681781
IPXHandler->unkn_addr_field = addr;
17691782
#endif
1783+
NetworkServicePtr.I.Param = addr;
17701784
return Lb_SUCCESS;
17711785
}
17721786

src/network.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,12 +220,15 @@ struct TbIPXPlayerData2 {
220220
short field_49[98];
221221
};
222222

223-
struct TbIPXPlayerData3Sub {
224-
ubyte field_2D[28];
223+
struct TbIPXOnePlayer {
224+
ubyte field_0[4];
225+
ubyte field_4[6];
226+
char name[16];
227+
short field_1A;
225228
};
226229

227230
struct TbIPXPlayerData3 {
228-
struct TbIPXPlayerData3Sub Sub1[2]; // offset=45
231+
struct TbIPXOnePlayer player[8]; // offset=45
229232
};
230233

231234
struct TbIPXPlayerData { // sizeof=226

0 commit comments

Comments
 (0)