@@ -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
663663TbResult 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
671684TbResult 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
0 commit comments