diff options
-rw-r--r-- | bugfixes.yaml | 4 | ||||
-rw-r--r-- | src/creditsMgr.cpp | 19 | ||||
-rw-r--r-- | src/topman.cpp | 3 |
3 files changed, 23 insertions, 3 deletions
diff --git a/bugfixes.yaml b/bugfixes.yaml index 9f5a48c..e32414f 100644 --- a/bugfixes.yaml +++ b/bugfixes.yaml @@ -9,6 +9,10 @@ hooks: src_addr_pal: 0x80A93038
target_func: 'RedRingEventControl'
+ - name: HigherBobombTileExplosionRadius
+ type: patch
+ addr_pal: 0x809CB118
+ data: '2C1C0003'
- name: DisableTerrainShading
type: patch
addr_pal: 0x8008E6F8
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; diff --git a/src/topman.cpp b/src/topman.cpp index 5d98761..854edc2 100644 --- a/src/topman.cpp +++ b/src/topman.cpp @@ -157,7 +157,8 @@ daTopman *daTopman::build() { bool daTopman::collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther) { backFire = apOther->owner->direction ^ 1; - doStateChange(&StateID_KnockBack); + // doStateChange(&StateID_KnockBack); + doStateChange(&StateID_Die); return true; } |