summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/creditsMgr.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/creditsMgr.cpp b/src/creditsMgr.cpp
index ece7b35..c8ef8c2 100644
--- a/src/creditsMgr.cpp
+++ b/src/creditsMgr.cpp
@@ -557,10 +557,25 @@ void dCreditsMgr_c::positionPlayers() {
playerPositions[2] = playerPositions[0] + diff;
playerPositions[3] = playerPositions[0] + diff + diff;
+ // This is annoying
+ dAcPy_c *players[4];
+ for (int i = 0; i < 4; i++)
+ players[i] = dAcPy_c::findByID(i);
+
+ static const int crap[4] = {0,1,3,2};
+
int whichPos = 0;
for (int i = 0; i < 4; i++) {
- dAcPy_c *player;
- if ((player = dAcPy_c::findByID(i))) {
+ dAcPy_c *player = 0;
+ // Find the player matching this ID
+ for (int j = 0; j < 4; j++) {
+ if (Player_ID[players[j]->settings & 0xF] == crap[i]) {
+ player = players[j];
+ break;
+ }
+ }
+
+ if (player) {
player->pos.x = playerPositions[whichPos];
player->pos.y = -(entrance->yPos + 16);
player->direction = 0;