diff --git a/TR5Main/Objects/Effects/tr4_bubbles.cpp b/TR5Main/Objects/Effects/tr4_bubbles.cpp index d3bad2128..a2a0170d6 100644 --- a/TR5Main/Objects/Effects/tr4_bubbles.cpp +++ b/TR5Main/Objects/Effects/tr4_bubbles.cpp @@ -298,26 +298,15 @@ namespace ten::entities::all } else { - int shockwaveValue = 0; - byte r, g, b, life; - if (fx->flag1) { if (fx->flag1 == 3 || fx->flag1 == 4) { - shockwaveValue = 268451968; - r = 128; - g = 64; - b = 0; - life = 16; + TriggerShockwave(&fx->pos, 32, 160, 64, 128, 64, 0, 16, 0, 0); } else if (fx->flag1 == 5) { - shockwaveValue = 276848640; - r = 0; - g = 96; - b = 128; - life = 16; + TriggerShockwave(&fx->pos, 32, 160, 64, 0, 96, 128, 16, 0, 0); } else { @@ -332,27 +321,18 @@ namespace ten::entities::all fx->pos.yPos += 256; TriggerShockwave(&fx->pos, 48, 240, 48, 0, 112, 128, 16, 0, 2); } + } else { - shockwaveValue = 276856832; - r = 0; - g = 128; - b = 128; - life = 16; + TriggerShockwave(&fx->pos, 32, 160, 64, 0, 128, 128, 16, 0, 0); } } } else { - shockwaveValue = 268468288; - r = 64; - g = 128; - b = 0; - life = 16; + TriggerShockwave(&fx->pos, 32, 160, 64, 64, 128, 0, 16, 0, 0); } - - TriggerShockwave(&fx->pos, 32, 160, 64, r, g, b, life, 0, 0); } KillEffect(fxNum); diff --git a/TR5Main/Objects/TR4/Entity/tr4_mutant.cpp b/TR5Main/Objects/TR4/Entity/tr4_mutant.cpp index 5f9a32e7a..fdae0d67b 100644 --- a/TR5Main/Objects/TR4/Entity/tr4_mutant.cpp +++ b/TR5Main/Objects/TR4/Entity/tr4_mutant.cpp @@ -30,7 +30,7 @@ namespace ten::entities::tr4 fx->roomNumber = roomNumber; fx->counter = 16 * counter + 15; fx->objectNumber = ID_ENERGY_BUBBLES; - fx->frameNumber = Objects[fx->objectNumber].meshIndex + 5 * 2; + fx->frameNumber = Objects[fx->objectNumber].meshIndex + 5; fx->speed = (GetRandomControl() & 0x1F) + 96; fx->flag1 = 6; } @@ -107,7 +107,7 @@ namespace ten::entities::tr4 static bool ShootFrame(ITEM_INFO* item) { - short frameNumber = (item->frameNumber - g_Level.Anims[item->objectNumber].frameBase); + short frameNumber = (item->frameNumber - g_Level.Anims[item->animNumber].frameBase); if (frameNumber == 45 //|| frameNumber == 50 //|| frameNumber == 55 @@ -281,7 +281,7 @@ namespace ten::entities::tr4 break; case STATE_MUTANT_SHOOT: - frameNumber = (item->frameNumber - g_Level.Anims[item->objectNumber].frameBase); + frameNumber = (item->frameNumber - g_Level.Anims[item->animNumber].frameBase); if (frameNumber >= 94 && frameNumber <= 96) { PHD_3DPOS src; @@ -304,7 +304,7 @@ namespace ten::entities::tr4 break; case STATE_MUTANT_LOCUST1: - frameNumber = (item->frameNumber - g_Level.Anims[item->objectNumber].frameBase); + frameNumber = (item->frameNumber - g_Level.Anims[item->animNumber].frameBase); if (frameNumber >= 60 && frameNumber <= 120) ten::entities::tr4::SpawnLocust(item); break; diff --git a/TR5Main/Objects/objectslist.h b/TR5Main/Objects/objectslist.h index ca4046fa1..974f0bea9 100644 --- a/TR5Main/Objects/objectslist.h +++ b/TR5Main/Objects/objectslist.h @@ -109,7 +109,7 @@ enum GAME_OBJECT_ID : short ID_LION, ID_DOBERMAN, ID_HAMMERHEAD, // TR4 - OK - ID_CROCODILE_GOD, // TR4 Citadel Gate Mutant + ID_CROCODILE_GOD, // TR4 - OK (needs accurate testing) ID_LOCUSTS_EMITTER, // TR4 - OK /* Humans */