mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 16:04:17 +00:00
Clear a few unknowns in act 3 (#1597)
* Clear a few unknowns in act 3 * fix build error * fix other build error * requested changes
This commit is contained in:
@@ -129,7 +129,7 @@ public:
|
||||
void RemoveDonut(Act3Ammo& p_p);
|
||||
MxResult ShootPizza(LegoPathController* p_controller, Vector3& p_location, Vector3& p_direction, Vector3& p_up);
|
||||
MxResult ShootDonut(LegoPathController* p_controller, Vector3& p_location, Vector3& p_direction, Vector3& p_up);
|
||||
void FUN_10072ad0(undefined4 p_param1);
|
||||
void TriggerHitSound(undefined4 p_param1);
|
||||
MxResult FUN_10073360(Act3Ammo& p_ammo, const Vector3& p_param2);
|
||||
MxResult FUN_10073390(Act3Ammo& p_ammo, const Vector3& p_param2);
|
||||
void SetBrickster(Act3Brickster* p_brickster);
|
||||
@@ -168,12 +168,12 @@ protected:
|
||||
Helicopter* m_copter; // 0x420c
|
||||
Act3Shark* m_shark; // 0x4210
|
||||
MxFloat m_time; // 0x4214
|
||||
MxU8 m_unk0x4218; // 0x4218
|
||||
MxU8 m_unk0x4219; // 0x4219
|
||||
MxU8 m_unk0x421a; // 0x421a
|
||||
MxU8 m_unk0x421b; // 0x421b
|
||||
MxU8 m_unk0x421c; // 0x421c
|
||||
MxU8 m_unk0x421d; // 0x421d
|
||||
MxU8 m_pizzaHitSound; // 0x4218
|
||||
MxU8 m_pizzaMissSound; // 0x4219
|
||||
MxU8 m_copDonutSound; // 0x421a
|
||||
MxU8 m_donutMissSound; // 0x421b
|
||||
MxU8 m_islanderSound; // 0x421c
|
||||
MxU8 m_bricksterDonutSound; // 0x421d
|
||||
undefined m_unk0x421e; // 0x421e
|
||||
Act3List m_unk0x4220; // 0x4220
|
||||
MxPresenter* m_helicopterDots[15]; // 0x4230
|
||||
|
@@ -579,7 +579,7 @@ void Act3Brickster::Animate(float p_time)
|
||||
}
|
||||
|
||||
if (m_unk0x54 < p_time) {
|
||||
((Act3*) m_world)->FUN_10072ad0(5);
|
||||
((Act3*) m_world)->TriggerHitSound(5);
|
||||
m_unk0x54 = p_time + 15000.0f;
|
||||
}
|
||||
|
||||
@@ -595,7 +595,7 @@ void Act3Brickster::Animate(float p_time)
|
||||
assert(SoundManager()->GetCacheSoundManager());
|
||||
|
||||
if (m_unk0x58 >= 8) {
|
||||
((Act3*) m_world)->FUN_10072ad0(6);
|
||||
((Act3*) m_world)->TriggerHitSound(6);
|
||||
}
|
||||
else {
|
||||
SoundManager()->GetCacheSoundManager()->Play("eatpz", NULL, FALSE);
|
||||
|
@@ -378,11 +378,11 @@ void Act3Ammo::Animate(float p_time)
|
||||
if (IsBit4()) {
|
||||
if (IsPizza()) {
|
||||
m_world->RemovePizza(*this);
|
||||
m_world->FUN_10072ad0(2);
|
||||
m_world->TriggerHitSound(2);
|
||||
}
|
||||
else {
|
||||
m_world->RemoveDonut(*this);
|
||||
m_world->FUN_10072ad0(4);
|
||||
m_world->TriggerHitSound(4);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@@ -31,7 +31,7 @@ DECOMP_SIZE_ASSERT(Act3ListElement, 0x0c)
|
||||
DECOMP_SIZE_ASSERT(Act3List, 0x10)
|
||||
|
||||
// GLOBAL: LEGO1 0x100d94f8
|
||||
Act3Script::Script g_unk0x100d94f8[] = {
|
||||
Act3Script::Script g_pizzaHitSounds[] = {
|
||||
Act3Script::c_sns02xni_PlayWav,
|
||||
Act3Script::c_sns03xni_PlayWav,
|
||||
Act3Script::c_sns04xni_PlayWav,
|
||||
@@ -51,7 +51,7 @@ Act3Script::Script g_unk0x100d94f8[] = {
|
||||
};
|
||||
|
||||
// GLOBAL: LEGO1 0x100d9538
|
||||
Act3Script::Script g_unk0x100d9538[] = {
|
||||
Act3Script::Script g_pizzaMissSounds[] = {
|
||||
Act3Script::c_sns19xni_PlayWav,
|
||||
Act3Script::c_sns20xni_PlayWav,
|
||||
Act3Script::c_sns22xni_PlayWav,
|
||||
@@ -61,7 +61,7 @@ Act3Script::Script g_unk0x100d9538[] = {
|
||||
};
|
||||
|
||||
// GLOBAL: LEGO1 0x100d9550
|
||||
Act3Script::Script g_unk0x100d9550[] = {
|
||||
Act3Script::Script g_copDonutSounds[] = {
|
||||
Act3Script::c_sns25xni_PlayWav,
|
||||
Act3Script::c_sns26xni_PlayWav,
|
||||
Act3Script::c_sns27xni_PlayWav,
|
||||
@@ -73,7 +73,7 @@ Act3Script::Script g_unk0x100d9550[] = {
|
||||
};
|
||||
|
||||
// GLOBAL: LEGO1 0x100d9570
|
||||
Act3Script::Script g_unk0x100d9570[] = {
|
||||
Act3Script::Script g_donutMissSounds[] = {
|
||||
Act3Script::c_sns30xni_PlayWav,
|
||||
Act3Script::c_sns31xni_PlayWav,
|
||||
Act3Script::c_sns32xni_PlayWav,
|
||||
@@ -83,7 +83,7 @@ Act3Script::Script g_unk0x100d9570[] = {
|
||||
};
|
||||
|
||||
// GLOBAL: LEGO1 0x100d9588
|
||||
Act3Script::Script g_unk0x100d9588[] = {
|
||||
Act3Script::Script g_islanderSounds[] = {
|
||||
Act3Script::c_sns43xma_PlayWav, Act3Script::c_sns46xin_PlayWav, Act3Script::c_sns60xna_PlayWav,
|
||||
Act3Script::c_sns52xro_PlayWav, Act3Script::c_sns58xna_PlayWav, Act3Script::c_sns68xbu_PlayWav,
|
||||
Act3Script::c_sns59xna_PlayWav, Act3Script::c_sns51xin_PlayWav, Act3Script::c_sns61xva_PlayWav,
|
||||
@@ -94,7 +94,7 @@ Act3Script::Script g_unk0x100d9588[] = {
|
||||
};
|
||||
|
||||
// GLOBAL: LEGO1 0x100d95d8
|
||||
Act3Script::Script g_unk0x100d95d8[] = {
|
||||
Act3Script::Script g_bricksterDonutSounds[] = {
|
||||
Act3Script::c_tns080br_PlayWav,
|
||||
Act3Script::c_tnsx07br_PlayWav,
|
||||
Act3Script::c_snsxx2br_PlayWav,
|
||||
@@ -403,58 +403,58 @@ MxResult Act3::ShootDonut(LegoPathController* p_controller, Vector3& p_location,
|
||||
|
||||
// FUNCTION: LEGO1 0x10072ad0
|
||||
// FUNCTION: BETA10 0x10015eec
|
||||
void Act3::FUN_10072ad0(undefined4 p_param1)
|
||||
void Act3::TriggerHitSound(undefined4 p_param1)
|
||||
{
|
||||
float time = Timer()->GetTime();
|
||||
Act3Script::Script objectId;
|
||||
|
||||
switch (p_param1) {
|
||||
case 1: {
|
||||
if (m_unk0x4218 >= sizeOfArray(g_unk0x100d94f8)) {
|
||||
m_unk0x4218 = 0;
|
||||
if (m_pizzaHitSound >= sizeOfArray(g_pizzaHitSounds)) {
|
||||
m_pizzaHitSound = 0;
|
||||
}
|
||||
|
||||
objectId = g_unk0x100d94f8[m_unk0x4218++];
|
||||
objectId = g_pizzaHitSounds[m_pizzaHitSound++];
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
if (m_unk0x4219 >= sizeOfArray(g_unk0x100d9538) - 1) {
|
||||
m_unk0x4219 = 0;
|
||||
if (m_pizzaMissSound >= sizeOfArray(g_pizzaMissSounds) - 1) {
|
||||
m_pizzaMissSound = 0;
|
||||
}
|
||||
|
||||
objectId = g_unk0x100d9538[m_unk0x4219++];
|
||||
objectId = g_pizzaMissSounds[m_pizzaMissSound++];
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
if (m_unk0x421a >= sizeOfArray(g_unk0x100d9550)) {
|
||||
m_unk0x421a = 0;
|
||||
if (m_copDonutSound >= sizeOfArray(g_copDonutSounds)) {
|
||||
m_copDonutSound = 0;
|
||||
}
|
||||
|
||||
objectId = g_unk0x100d9550[m_unk0x421a++];
|
||||
objectId = g_copDonutSounds[m_copDonutSound++];
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
if (m_unk0x421b >= sizeOfArray(g_unk0x100d9570)) {
|
||||
m_unk0x421b = 0;
|
||||
if (m_donutMissSound >= sizeOfArray(g_donutMissSounds)) {
|
||||
m_donutMissSound = 0;
|
||||
}
|
||||
|
||||
objectId = g_unk0x100d9570[m_unk0x421b++];
|
||||
objectId = g_donutMissSounds[m_donutMissSound++];
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
if (m_unk0x421c >= sizeOfArray(g_unk0x100d9588)) {
|
||||
m_unk0x421c = 0;
|
||||
if (m_islanderSound >= sizeOfArray(g_islanderSounds)) {
|
||||
m_islanderSound = 0;
|
||||
}
|
||||
|
||||
objectId = g_unk0x100d9588[m_unk0x421c++];
|
||||
objectId = g_islanderSounds[m_islanderSound++];
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
if (m_unk0x421d >= sizeOfArray(g_unk0x100d95d8)) {
|
||||
m_unk0x421d = 0;
|
||||
if (m_bricksterDonutSound >= sizeOfArray(g_bricksterDonutSounds)) {
|
||||
m_bricksterDonutSound = 0;
|
||||
}
|
||||
|
||||
m_unk0x4220.Insert(g_unk0x100d95d8[m_unk0x421d++], 1);
|
||||
m_unk0x4220.Insert(g_bricksterDonutSounds[m_bricksterDonutSound++], 1);
|
||||
return;
|
||||
}
|
||||
default:
|
||||
@@ -575,13 +575,12 @@ MxLong Act3::Notify(MxParam& p_param)
|
||||
m_cop2->VTable0xa8();
|
||||
|
||||
m_brickster->VTable0xa8();
|
||||
|
||||
m_unk0x4218 = 0;
|
||||
m_unk0x4219 = 0;
|
||||
m_unk0x421a = 0;
|
||||
m_unk0x421b = 0;
|
||||
m_unk0x421c = 0;
|
||||
m_unk0x421d = 0;
|
||||
m_pizzaHitSound = 0;
|
||||
m_pizzaMissSound = 0;
|
||||
m_copDonutSound = 0;
|
||||
m_donutMissSound = 0;
|
||||
m_islanderSound = 0;
|
||||
m_bricksterDonutSound = 0;
|
||||
|
||||
MxS32 length;
|
||||
LegoBuildingInfo* info = BuildingManager()->GetInfoArray(length);
|
||||
@@ -701,7 +700,7 @@ MxResult Act3::FUN_10073360(Act3Ammo& p_ammo, const Vector3& p_param2)
|
||||
{
|
||||
assert(m_brickster);
|
||||
m_brickster->FUN_100417a0(p_ammo, p_param2);
|
||||
FUN_10072ad0(1);
|
||||
TriggerHitSound(1);
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
@@ -718,7 +717,7 @@ MxResult Act3::FUN_10073390(Act3Ammo& p_ammo, const Vector3& p_param2)
|
||||
m_cop2->FUN_10040350(p_ammo, p_param2);
|
||||
}
|
||||
|
||||
FUN_10072ad0(3);
|
||||
TriggerHitSound(3);
|
||||
g_unk0x100f7814++;
|
||||
return SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user