diff --git a/source/games/duke/src/funct.h b/source/games/duke/src/funct.h index d8545ba68..7c917b534 100644 --- a/source/games/duke/src/funct.h +++ b/source/games/duke/src/funct.h @@ -119,8 +119,8 @@ int haskey(int sect, int snum); void breakwall(short newpn, short spr, short dawallnum); void callsound2(int soundNum, int playerNum); -int callsound(int sectNum,int spriteNum); -int hitasprite(int spriteNum,short *hitSprite); +int callsound(int sectnum,int snum); +int hitasprite(int snum,short *hitSprite); int findplayer(const spritetype* s, int* dist); void operatejaildoors(int hitag); void allignwarpelevators(void); @@ -136,14 +136,14 @@ int getanimationgoal(const int* animPtr); bool isanearoperator(int lotag); bool isanunderoperator(int lotag); int setanimation(short animsect, int* animptr, int thegoal, int thevel); -void dofurniture(int wallNum, int sectNum, int playerNum); +void dofurniture(int wallNum, int sectnum, int playerNum); void dotorch(); -int hitawall(struct player_struct* pPlayer, int* hitWall); -int hits(int spriteNum); +int hitawall(struct player_struct* pl, int* hitWall); +int hits(int snum); void clearsectinterpolate(int sprnum); void setsectinterpolate(int sprnum); -int LocateTheLocator(int const tag, int const sectNum); +int LocateTheLocator(int const tag, int const sectnum); void clearcamera(player_struct* ps); void showtwoscreens(CompletionFunc func); @@ -151,16 +151,16 @@ void doorders(CompletionFunc func); void execute(int s, int p, int d); void makeitfall(int s); -int furthestangle(int spriteNum, int angDiv); +int furthestangle(int snum, int angDiv); void getglobalz(int s); int getincangle(int c, int n); void OnEvent(int id, int pnum = -1, int snum = -1, int dist = -1); short EGS(short whatsect, int s_x, int s_y, int s_z, short s_pn, signed char s_s, signed char s_xr, signed char s_yr, short s_a, short s_ve, int s_zv, short s_ow, signed char s_ss); -void ceilingglass(int spriteNum, int sectNum, int glassCnt); -void spriteglass(int spriteNum, int glassCnt); -void lotsofcolourglass(int spriteNum, int wallNum, int glassCnt); -void lotsofglass(int spriteNum, int wallnum, int glassCnt); +void ceilingglass(int snum, int sectnum, int cnt); +void spriteglass(int snum, int cnt); +void lotsofcolourglass(int snum, int wallNum, int cnt); +void lotsofglass(int snum, int wallnum, int cnt); void addspritetodelete(int spnum); void checkavailinven(struct player_struct* p); @@ -185,4 +185,10 @@ void clearfifo(void); void setmapfog(int fogtype); void prelevel_common(int g); +void FTA(int q, struct player_struct* p); +void OnMotorcycle(player_struct *pl, int snum); +void OffMotorcycle(player_struct *pl); +void OnBoat(player_struct *pl, int snum); +void OffBoat(player_struct *pl); + END_DUKE_NS diff --git a/source/games/duke/src/game.h b/source/games/duke/src/game.h index 1d43567c5..ab16a7382 100644 --- a/source/games/duke/src/game.h +++ b/source/games/duke/src/game.h @@ -123,13 +123,8 @@ void drawbackground(void); void displayrooms(int32_t playerNum,int32_t smoothratio); void G_HandleLocalKeys(void); void G_UpdatePlayerFromMenu(void); -void FTA(int q, struct player_struct* p); void P_SetGamePalette(player_struct* player, uint32_t palid, ESetPalFlags flags); -void OnMotorcycle(player_struct *pPlayer, int spriteNum); -void OffMotorcycle(player_struct *pPlayer); -void OnBoat(player_struct *pPlayer, int spriteNum); -void OffBoat(player_struct *pPlayer); void G_InitTimer(int32_t ticspersec); diff --git a/source/games/duke/src/global.h b/source/games/duke/src/global.h index 3af703f7e..c3eb9bb9e 100644 --- a/source/games/duke/src/global.h +++ b/source/games/duke/src/global.h @@ -237,8 +237,7 @@ playerdata_t *const g_player = &g_player_s[1]; #else extern playerdata_t *const g_player; #endif -G_EXTERN playerspawn_t g_playerSpawnPoints[MAXPLAYERS]; -#define po g_playerSpawnPoints +G_EXTERN player_orig po[MAXPLAYERS]; #pragma pack(pop) G_EXTERN int32_t restorepalette; diff --git a/source/games/duke/src/player.h b/source/games/duke/src/player.h index a30f74e76..0c857e63d 100644 --- a/source/games/duke/src/player.h +++ b/source/games/duke/src/player.h @@ -58,24 +58,6 @@ enum gamemode_t { MODE_SENDTOWHOM = 0x00000040, }; -typedef struct { - union - { - vec3_t pos; - struct { int ox, oy, oz; }; - }; - union - { - int16_t oa; - int16_t ang; - }; - union - { - int16_t sect; - int16_t os; - }; -} playerspawn_t; - typedef struct { ESyncBits bits; int16_t fvel, svel; @@ -110,7 +92,6 @@ typedef struct # define PWEAPON(Player, Weapon, Wmember) (aplWeapon ## Wmember [Weapon][Player]) -extern playerspawn_t g_playerSpawnPoints[MAXPLAYERS]; extern playerdata_t *const g_player; extern int32_t mouseyaxismode; diff --git a/source/games/duke/src/types.h b/source/games/duke/src/types.h index a3ad8c8d6..491c3b7d4 100644 --- a/source/games/duke/src/types.h +++ b/source/games/duke/src/types.h @@ -34,6 +34,11 @@ struct ActorInfo int aimoffset; }; +struct player_orig +{ + int ox, oy, oz; + short oa, os; +}; struct player_struct { diff --git a/source/games/duke/src/zz_savegame.cpp b/source/games/duke/src/zz_savegame.cpp index d2b210fff..917cfe61b 100644 --- a/source/games/duke/src/zz_savegame.cpp +++ b/source/games/duke/src/zz_savegame.cpp @@ -772,7 +772,7 @@ static const dataspec_t svgm_udnetw[] = { DS_STRING, (void *)svgm_udnetw_string, 0, 1 }, { 0, &ud.multimode, sizeof(ud.multimode), 1 }, { 0, &numplayersprites, sizeof(numplayersprites), 1 }, - { 0, &g_playerSpawnPoints, sizeof(g_playerSpawnPoints), 1 }, + { 0, &po, sizeof(po), 1 }, { DS_NOCHK, &ud.volume_number, sizeof(ud.volume_number), 1 }, { DS_NOCHK, &ud.level_number, sizeof(ud.level_number), 1 },