Skip to content

Commit

Permalink
- make access_wallnum a pointer
Browse files Browse the repository at this point in the history
  • Loading branch information
coelckers committed Nov 21, 2021
1 parent 5ba6641 commit 91e488c
Show file tree
Hide file tree
Showing 9 changed files with 14 additions and 22 deletions.
10 changes: 0 additions & 10 deletions source/games/duke/src/gameexec.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -566,16 +566,6 @@ void DoPlayer(bool bSet, int lVar1, int lLabelID, int lVar2, DDukeActor* sActor,
else SetGameVarID(lVar2, ps[iPlayer].access_incs, sActor, sPlayer);
break;

case PLAYER_ACCESS_WALLNUM:
if (bSet) ps[iPlayer].access_wallnum = lValue;
else SetGameVarID(lVar2, ps[iPlayer].access_wallnum, sActor, sPlayer);
break;

case PLAYER_ACCESS_SPRITENUM:
if (bSet) ps[iPlayer].access_spritenum = ScriptIndexToActor(lValue);
else SetGameVarID(lVar2, ActorToScriptIndex(ps[iPlayer].access_spritenum), sActor, sPlayer);
break;

case PLAYER_KICKBACK_PIC:
if (bSet) ps[iPlayer].kickback_pic = lValue;
else SetGameVarID(lVar2, ps[iPlayer].kickback_pic, sActor, sPlayer);
Expand Down
2 changes: 1 addition & 1 deletion source/games/duke/src/player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1119,7 +1119,7 @@ DEFINE_FIELD_X(DukePlayer, player_struct, airleft)
DEFINE_FIELD_X(DukePlayer, player_struct, knee_incs)
DEFINE_FIELD_X(DukePlayer, player_struct, access_incs)
DEFINE_FIELD_X(DukePlayer, player_struct, ftq)
DEFINE_FIELD_X(DukePlayer, player_struct, access_wallnum)
DEFINE_FIELD_X(DukePlayer, player_struct, access_wall)
DEFINE_FIELD_X(DukePlayer, player_struct, got_access)
DEFINE_FIELD_X(DukePlayer, player_struct, weapon_ang)
DEFINE_FIELD_X(DukePlayer, player_struct, firstaid_amount)
Expand Down
4 changes: 2 additions & 2 deletions source/games/duke/src/player_d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1558,8 +1558,8 @@ int doincrements_d(struct player_struct* p)
}
else
{
fi.checkhitswitch(snum, &wall[p->access_wallnum], nullptr);
switch (wall[p->access_wallnum].pal)
fi.checkhitswitch(snum, p->access_wall, nullptr);
switch (p->access_wall->pal)
{
case 0:p->got_access &= (0xffff - 0x1); break;
case 21:p->got_access &= (0xffff - 0x2); break;
Expand Down
4 changes: 2 additions & 2 deletions source/games/duke/src/player_r.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1406,8 +1406,8 @@ int doincrements_r(struct player_struct* p)
}
else
{
fi.checkhitswitch(snum, &wall[p->access_wallnum], nullptr);
switch (wall[p->access_wallnum].pal)
fi.checkhitswitch(snum, p->access_wall, nullptr);
switch (p->access_wall->pal)
{
case 0:p->keys[1] = 1; break;
case 21:p->keys[2] = 1; break;
Expand Down
2 changes: 1 addition & 1 deletion source/games/duke/src/savegame.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, player_struct& w,
("knee_incs", w.knee_incs)
("access_incs", w.access_incs)
("ftq", w.ftq)
("access_wallnum", w.access_wallnum)
("access_wallnum", w.access_wall)
("access_spritenum", w.access_spritenum)
("kickback_pic", w.kickback_pic)
("got_access", w.got_access)
Expand Down
2 changes: 1 addition & 1 deletion source/games/duke/src/sectors_d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ bool checkhitswitch_d(int snum, walltype* wwal, DDukeActor *act)
if (ps[snum].access_incs == 1)
{
if (!act)
ps[snum].access_wallnum = wallnum(wwal);
ps[snum].access_wall = wwal;
else
ps[snum].access_spritenum = act;
}
Expand Down
2 changes: 1 addition & 1 deletion source/games/duke/src/sectors_r.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ bool checkhitswitch_r(int snum, walltype* wwal, DDukeActor* act)
if (ps[snum].access_incs == 1)
{
if (!act)
ps[snum].access_wallnum = wallnum(wwal);
ps[snum].access_wall = wwal;
else
ps[snum].access_spritenum = act;
}
Expand Down
3 changes: 2 additions & 1 deletion source/games/duke/src/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,8 @@ struct player_struct

int aim_mode, ftt;

int cursectnum, one_parallax_sectnum, access_wallnum; // wall + sector references. Make them pointers later?
int cursectnum, one_parallax_sectnum; // wall + sector references. Make them pointers later?
walltype* access_wall;

short last_extra, subweapon;
short ammo_amount[MAX_WEAPONS], frag, fraggedself;
Expand Down
7 changes: 4 additions & 3 deletions wadsrc/static/zscript/games/duke/dukegame.zs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,8 @@ struct DukePlayer
native int randomflamex, crack_time;
native int aim_mode, ftt;

native int cursectnum, one_parallax_sectnum, access_wallnum;
native int cursectnum, one_parallax_sectnum;
//native walltype access_wall; // can't do yet.

native int16 last_extra, subweapon;
native int16 ammo_amount[DukeWpn.MAX_WEAPONS], frag, fraggedself;
Expand All @@ -175,7 +176,7 @@ struct DukePlayer
native int16 extra_extra8, quick_kick, last_quick_kick;
native int16 heat_amount, timebeforeexit, customexitsound;
//DDukeActor* actorsqu, *wackedbyactor, *on_crane, *holoduke_on, *somethingonplayer, *access_spritenum, *dummyplayersprite, *newOwner; // later
native voidptr holoduke_on; // cannot do it as a proper actor pointer - but the status bar needs it.
native voidptr holoduke_on; // cannot do it as a proper actor pointer yet - but the status bar needs it.

native int16 weaprecs[256], weapreccnt;
native uint interface_toggle_flag;
Expand Down Expand Up @@ -1233,4 +1234,4 @@ struct RRSnd native
BUB_HEY1 = 498,
BUB_HEY2 = 499,
}
}
}

0 comments on commit 91e488c

Please sign in to comment.