From 2dd2ba14698f77ab052fe2e4aacd6282b88524ed Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 21 Oct 2020 23:56:46 +0200 Subject: [PATCH] - handle_SE14 function signature and recordoldspritepos --- source/games/duke/src/actors.cpp | 16 ++++++---------- source/games/duke/src/actors_d.cpp | 2 +- source/games/duke/src/actors_r.cpp | 2 +- source/games/duke/src/funct.h | 2 +- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index dd9f8f002..e7f78f02f 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -2792,9 +2792,8 @@ void handle_se01(DDukeActor *actor) // //--------------------------------------------------------------------------- -void handle_se14(int i, bool checkstat, int RPG, int JIBS6) +void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6) { - auto actor = &hittype[i]; auto s = &actor->s; int* t = &actor->temp_data[0]; auto sc = §or[s->sectnum]; @@ -5138,15 +5137,12 @@ void recordoldspritepos() { for (int statNum = 0; statNum < MAXSTATUS; statNum++) { - StatIterator it(statNum); - int j; - while ((j = it.NextIndex()) >= 0) + DukeStatIterator it(statNum); + while (auto ac = it.Next()) { - auto s = &sprite[j]; - auto h = &hittype[j]; - h->bposx = s->x; - h->bposy = s->y; - h->bposz = s->z; + ac->bposx = ac->s.x; + ac->bposy = ac->s.y; + ac->bposz = ac->s.z; } } } diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index 49b13e41f..f12cf5fbb 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -3624,7 +3624,7 @@ void moveeffectors_d(void) //STATNUM 3 x = 0; } case SE_14_SUBWAY_CAR: - handle_se14(i, true, RPG, JIBS6); + handle_se14(&hittype[i], true, RPG, JIBS6); break; case SE_30_TWO_WAY_TRAIN: diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index c7c963ca5..34a7fbea2 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -3585,7 +3585,7 @@ void moveeffectors_r(void) //STATNUM 3 } case SE_14_SUBWAY_CAR: - handle_se14(i, false, RPG, JIBS6); + handle_se14(&hittype[i], false, RPG, JIBS6); break; case SE_30_TWO_WAY_TRAIN: diff --git a/source/games/duke/src/funct.h b/source/games/duke/src/funct.h index c72adea51..599f42dbd 100644 --- a/source/games/duke/src/funct.h +++ b/source/games/duke/src/funct.h @@ -65,7 +65,7 @@ void scrap(DDukeActor* i, int SCRAP1, int SCRAP6); void handle_se00(DDukeActor* i, int LASERLINE); void handle_se01(DDukeActor* i); -void handle_se14(int i, bool checkstat, int RPG, int JIBS6); +void handle_se14(DDukeActor* i, bool checkstat, int RPG, int JIBS6); void handle_se30(int i, int JIBS6); void handle_se02(int i); void handle_se03(int i);