diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index cbb2b3edb..9e5e413fb 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -1527,7 +1527,7 @@ static bool weaponhitsprite(DDukeActor* proj, DDukeActor *targ, bool fireball) ps[p].loogcnt = 24 * 4; for (int x = 0; x < j; x++) { - ps[p].loogiex[x] = krand() % 320; + ps[p].loogie[x].X = krand() % 320; ps[p].loogiey[x] = krand() % 200; } } diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index ecbc7e29f..47718ad59 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -1172,7 +1172,7 @@ static bool weaponhitsprite(DDukeActor *proj, DDukeActor *targ, const vec3_t &ol ps[p].loogcnt = 24 * 4; for (int x = 0; x < j; x++) { - ps[p].loogiex[x] = krand() % 320; + ps[p].loogie[x].X = krand() % 320; ps[p].loogiey[x] = krand() % 200; } } diff --git a/source/games/duke/src/gameexec.cpp b/source/games/duke/src/gameexec.cpp index e8b86c6d3..3ba1f0f1c 100644 --- a/source/games/duke/src/gameexec.cpp +++ b/source/games/duke/src/gameexec.cpp @@ -306,8 +306,8 @@ void DoPlayer(bool bSet, int lVar1, int lLabelID, int lVar2, DDukeActor* sActor, break; case PLAYER_LOOGIEX: - if (bSet) ps[iPlayer].loogiex[lParm2] = lValue; - else SetGameVarID(lVar2, ps[iPlayer].loogiex[lParm2], sActor, sPlayer); + if (bSet) ps[iPlayer].loogie[lParm2].X = lValue; + else SetGameVarID(lVar2, ps[iPlayer].loogie[lParm2].X, sActor, sPlayer); break; case PLAYER_LOOGIEY: diff --git a/source/games/duke/src/hudweapon_d.cpp b/source/games/duke/src/hudweapon_d.cpp index 7d65ca72c..a727f8fd8 100644 --- a/source/games/duke/src/hudweapon_d.cpp +++ b/source/games/duke/src/hudweapon_d.cpp @@ -76,7 +76,7 @@ void displayloogie(player_struct* p) z = 4096 + ((p->loogcnt + i) << 9); x = -getavel(p->GetPlayerNum()) + bsinf((p->loogcnt + i) << 6, -10); - hud_drawsprite((p->loogiex[i] + x), (200 + p->loogiey[i] - y), z - (i << 8), 256 - a, LOOGIE, 0, 0, 2); + hud_drawsprite((p->loogie[i].X + x), (200 + p->loogiey[i] - y), z - (i << 8), 256 - a, LOOGIE, 0, 0, 2); } } diff --git a/source/games/duke/src/player.cpp b/source/games/duke/src/player.cpp index 64611d35e..735c997c7 100644 --- a/source/games/duke/src/player.cpp +++ b/source/games/duke/src/player.cpp @@ -1074,7 +1074,7 @@ DEFINE_FIELD_X(DukePlayer, player_struct, ohard_landing) DEFINE_FIELD_X(DukePlayer, player_struct, psectlotag) //DEFINE_FIELD_X(DukePlayer, player_struct, exitx) //DEFINE_FIELD_X(DukePlayer, player_struct, exity) -DEFINE_FIELD_X(DukePlayer, player_struct, loogiex) +//DEFINE_FIELD_X(DukePlayer, player_struct, loogiex) DEFINE_FIELD_X(DukePlayer, player_struct, loogiey) DEFINE_FIELD_X(DukePlayer, player_struct, numloogs) DEFINE_FIELD_X(DukePlayer, player_struct, loogcnt) diff --git a/source/games/duke/src/savegame.cpp b/source/games/duke/src/savegame.cpp index 819c84039..7c8f44f17 100644 --- a/source/games/duke/src/savegame.cpp +++ b/source/games/duke/src/savegame.cpp @@ -120,7 +120,7 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, player_struct& w, ("exity", w.exit.Y) ("numloogs", w.numloogs) ("loogcnt", w.loogcnt) - .Array("loogiex", w.loogiex, w.numloogs) + .Array("loogie", w.loogie, w.numloogs) .Array("loogiey", w.loogiey, w.numloogs) ("bobposx", w.bobposx) ("bobposy", w.bobposy) diff --git a/source/games/duke/src/types.h b/source/games/duke/src/types.h index cc72bebb4..0479a4108 100644 --- a/source/games/duke/src/types.h +++ b/source/games/duke/src/types.h @@ -187,7 +187,7 @@ struct player_struct PalEntry pals; // this was a global variable originally. - vec2_t fric, exit; + vec2_t fric, exit, loogie[64]; // weapon drawer variables and their interpolation counterparts. int weapon_sway; @@ -201,7 +201,7 @@ struct player_struct short psectlotag; // From here on it is unaltered from JFDuke with the exception of a few fields that are no longer needed and were removed. - int loogiex[64], loogiey[64], numloogs, loogcnt; + int loogiey[64], numloogs, loogcnt; int invdisptime; int bobposx, bobposy, pyoff, opyoff; int last_pissed_time, truefz, truecz; diff --git a/wadsrc/static/zscript/games/duke/dukegame.zs b/wadsrc/static/zscript/games/duke/dukegame.zs index acb54eb95..0d43f185c 100644 --- a/wadsrc/static/zscript/games/duke/dukegame.zs +++ b/wadsrc/static/zscript/games/duke/dukegame.zs @@ -150,7 +150,7 @@ struct DukePlayer native int16 psectlotag; // From here on it is unaltered from JFDuke with the exception of a few fields that are no longer needed and were removed. - native int loogiex[64], loogiey[64], numloogs, loogcnt; + native int loogiey[64], numloogs, loogcnt; native int invdisptime; native int bobposx, bobposy, pyoff, opyoff; native int last_pissed_time, truefz, truecz;