Skip to content

Commit

Permalink
Generic reverse engineering progress
Browse files Browse the repository at this point in the history
  • Loading branch information
roblabla committed Sep 2, 2024
1 parent 3dc15a6 commit c476d41
Show file tree
Hide file tree
Showing 26 changed files with 209 additions and 214 deletions.
4 changes: 2 additions & 2 deletions src/th06_102h.exe/BulletManager/SpawnBulletPattern.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ BulletManager::SpawnBulletPattern(BulletManager *this,EnemyBulletShooter *bullet
int iVar1;
float angle;
int local_10;
uint local_8;
int local_8;

angle = Player::AngleToPlayer(&g_Player,&bulletProps->position);
for (local_10 = 0; local_10 < (short)bulletProps->count2; local_10 = local_10 + 1) {
for (local_8 = 0; (int)local_8 < (int)(short)bulletProps->count1; local_8 = local_8 + 1) {
for (local_8 = 0; local_8 < (short)bulletProps->count1; local_8 = local_8 + 1) {
iVar1 = SpawnSingleBullet(this,bulletProps,local_8,local_10,angle);
if (iVar1 != 0) goto LAB_0041463b;
}
Expand Down
2 changes: 1 addition & 1 deletion src/th06_102h.exe/BulletManager/SpawnLaserPattern.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ BulletManager::SpawnLaserPattern(BulletManager *this,EnemyLaserShooter *laser_sh
(g_AnmManager,&laser->vm0,
(int)(laser->vm0).activeSpriteIndex + (int)(short)laser_shooter->color);
pAVar3 = g_AnmManager;
uVar2 = g_LaserColor[(short)laser_shooter->color];
uVar2 = g_BulletSpriteOffset16Px[(short)laser_shooter->color];
AnmVm::Initialize(&laser->vm1);
AnmManager::SetActiveSprite(pAVar3,&laser->vm1,uVar2 + 0x28c);
(laser->vm1).flags = (laser->vm1).flags | AnmVmFlags_2;
Expand Down
160 changes: 79 additions & 81 deletions src/th06_102h.exe/BulletManager/SpawnSingleBullet.c

Large diffs are not rendered by default.

45 changes: 23 additions & 22 deletions src/th06_102h.exe/EclManager/RunEcl.c
Original file line number Diff line number Diff line change
Expand Up @@ -879,11 +879,12 @@ ZunResult __thiscall EclManager::RunEcl(EclManager *this,Enemy *enemy)
case 0x5d:
Gui::ShowSpellcard(&g_Gui,(int)*(short *)&(instruction->args).ecl_var_id,
(char *)&(instruction->args).float_var_1);
g_RunningSpellcardInfo.capture_spellcard = 1;
g_RunningSpellcardInfo.is_active = 1;
g_RunningSpellcardInfo.spellcard_idx =
g_EnemyManager.spellcardInfo.is_capturing = 1;
g_EnemyManager.spellcardInfo.is_active = 1;
g_EnemyManager.spellcardInfo.spellcard_idx =
(uint)*(short *)((int)&(instruction->args).ecl_var_id + 2);
g_RunningSpellcardInfo.capture_score = g_SpellcardScore[g_RunningSpellcardInfo.spellcard_idx];
g_EnemyManager.spellcardInfo.capture_score =
g_SpellcardScore[g_EnemyManager.spellcardInfo.spellcard_idx];
BulletManager::TurnAllBulletsIntoPoints(&g_BulletManager);
g_Stage.spellcardState = RUNNING;
g_Stage.ticksSinceSpellcardStarted = 0;
Expand All @@ -893,12 +894,12 @@ ZunResult __thiscall EclManager::RunEcl(EclManager *this,Enemy *enemy)
enemy->bullet_rank_amount1_high = 0;
enemy->bullet_rank_amount2_low = 0;
enemy->bullet_rank_amount2_high = 0;
uVar2 = g_RunningSpellcardInfo.spellcard_idx;
iVar17 = g_RunningSpellcardInfo.spellcard_idx * uVar24;
uVar2 = g_EnemyManager.spellcardInfo.spellcard_idx;
iVar17 = g_EnemyManager.spellcardInfo.spellcard_idx * uVar24;
bVar16 = 0;
if (g_GameManager.is_in_replay == 0) {
local_2bc = &(instruction->args).float_var_1;
local_2c0 = g_GameManager.catk[g_RunningSpellcardInfo.spellcard_idx].name;
local_2c0 = g_GameManager.catk[g_EnemyManager.spellcardInfo.spellcard_idx].name;
do {
bVar1 = *(byte *)local_2bc;
*local_2c0 = bVar1;
Expand All @@ -920,23 +921,23 @@ ZunResult __thiscall EclManager::RunEcl(EclManager *this,Enemy *enemy)
g_GameManager.catk[uVar2].num_successes = 0;
g_GameManager.catk[uVar2].name_csum = bVar16;
}
g_GameManager.catk[uVar2].unk_c = g_RunningSpellcardInfo.capture_score;
g_GameManager.catk[uVar2].unk_c = g_EnemyManager.spellcardInfo.capture_score;
if ((ushort)g_GameManager.catk[uVar2].num_successes < 9999) {
g_GameManager.catk[uVar2].num_successes = g_GameManager.catk[uVar2].num_successes + 1;
}
}
break;
case 0x5e:
if (g_RunningSpellcardInfo.is_active != 0) {
if (g_EnemyManager.spellcardInfo.is_active != 0) {
Gui::Vm6SetInterruptTo1(&g_Gui);
if ((g_RunningSpellcardInfo.is_active == 1) &&
if ((g_EnemyManager.spellcardInfo.is_active == 1) &&
(BulletManager::DespawnBullets(&g_BulletManager,0x3200,1),
uVar2 = g_RunningSpellcardInfo.spellcard_idx, g_RunningSpellcardInfo.capture_spellcard != 0
)) {
iVar17 = g_RunningSpellcardInfo.spellcard_idx * 0x40 + 0x69bcd0;
iVar3 = g_RunningSpellcardInfo.capture_score +
(int)(g_RunningSpellcardInfo.capture_score * g_Gui.spellcard_seconds_remaining) / 10
;
uVar2 = g_EnemyManager.spellcardInfo.spellcard_idx,
g_EnemyManager.spellcardInfo.is_capturing != 0)) {
iVar17 = g_EnemyManager.spellcardInfo.spellcard_idx * 0x40 + 0x69bcd0;
iVar3 = g_EnemyManager.spellcardInfo.capture_score +
(int)(g_EnemyManager.spellcardInfo.capture_score * g_Gui.spellcard_seconds_remaining
) / 10;
Gui::ShowSpellcardBonus(&g_Gui,iVar3);
g_GameManager.score = g_GameManager.score + iVar3;
if (g_GameManager.is_in_replay == 0) {
Expand All @@ -949,7 +950,7 @@ ZunResult __thiscall EclManager::RunEcl(EclManager *this,Enemy *enemy)
}
g_GameManager.unk_0x28 = g_GameManager.unk_0x28 + 1;
}
g_RunningSpellcardInfo.is_active = 0;
g_EnemyManager.spellcardInfo.is_active = 0;
}
g_Stage.spellcardState = NOT_RUNNING;
break;
Expand All @@ -968,11 +969,11 @@ ZunResult __thiscall EclManager::RunEcl(EclManager *this,Enemy *enemy)
pfVar15 = Enemy::GetVarFloat(enemy,&local_b0.pos.z,(EclValueType *)0x0);
local_b0.pos.z = *pfVar15;
EnemyManager::SpawnEnemy
((EnemyManager *)&g_EnemyManager,local_b0.subId,&local_b0.pos,local_b0.life,
local_b0.itemDrop,local_b0.score);
(&g_EnemyManager,local_b0.subId,&local_b0.pos,local_b0.life,local_b0.itemDrop,
local_b0.score);
break;
case 0x60:
local_b4 = g_Enemies;
local_b4 = g_EnemyManager.enemies;
for (local_b8 = 0; local_b8 < 0x100; local_b8 = local_b8 + 1) {
if (((((char)local_b4->flags1 < '\0') && ((local_b4->flags2 >> 3 & 1) == 0)) &&
(local_b4->life = 0, (local_b4->flags2 & 1) == 0)) && (-1 < local_b4->death_callback_sub))
Expand Down Expand Up @@ -1019,11 +1020,11 @@ ZunResult __thiscall EclManager::RunEcl(EclManager *this,Enemy *enemy)
case 0x65:
if ((instruction->args).ecl_var_id < 0) {
g_Gui.boss_present = 0;
g_Bosses[enemy->boss_id] = (Enemy *)0x0;
g_EnemyManager.bosses[enemy->boss_id] = (Enemy *)0x0;
enemy->flags2 = enemy->flags2 & 0xf7;
}
else {
g_Bosses[(instruction->args).ecl_var_id] = enemy;
g_EnemyManager.bosses[(instruction->args).ecl_var_id] = enemy;
g_Gui.boss_present = 1;
g_Gui.boss_health_bar = 1.0;
enemy->flags2 = enemy->flags2 | 8;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

void __thiscall EclManager::operator_delete(EclManager *this)
void __thiscall EclManager::Unload(EclManager *this)

{
if (this->ecl_file != (EclRawHeader *)0x0) {
Expand Down
12 changes: 6 additions & 6 deletions src/th06_102h.exe/Enemy/GetVar.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ int * Enemy::GetVar(Enemy *enemy,EclVarId *eclGvarId,EclValueType *valueType)
pfVar1 = eclGvarId;
switch(*eclGvarId) {
case ECL_VAR_PLAYER_SHOT:
PLAYER_SHOT = (uint)g_GameManager.shottype + (uint)g_GameManager.character * 2;
g_PlayerShot = (uint)g_GameManager.shottype + (uint)g_GameManager.character * 2;
if (valueType != (EclValueType *)0x0) {
*valueType = ECL_VALUE_TYPE_INT;
}
pfVar1 = &PLAYER_SHOT;
pfVar1 = &g_PlayerShot;
break;
case ECL_VAR_SELF_LIFE:
if (valueType != (EclValueType *)0x0) {
Expand All @@ -27,11 +27,11 @@ int * Enemy::GetVar(Enemy *enemy,EclVarId *eclGvarId,EclValueType *valueType)
local_10.z = g_Player.positionCenter.z - (enemy->position).z;
local_10.y = g_Player.positionCenter.y - (enemy->position).y;
local_10.x = g_Player.positionCenter.x - (enemy->position).x;
PLAYER_DISTANCE = D3DXVec3Length(&local_10);
g_PlayerDistance = D3DXVec3Length(&local_10);
if (valueType != (EclValueType *)0x0) {
*valueType = ECL_VALUE_TYPE_READONLY;
}
pfVar1 = (int *)&PLAYER_DISTANCE;
pfVar1 = (int *)&g_PlayerDistance;
break;
case ECL_VAR_SELF_TIME:
if (valueType != (EclValueType *)0x0) {
Expand All @@ -40,11 +40,11 @@ int * Enemy::GetVar(Enemy *enemy,EclVarId *eclGvarId,EclValueType *valueType)
pfVar1 = &(enemy->boss_timer).current;
break;
case ECL_VAR_PLAYER_ANGLE:
PLAYER_ANGLE = Player::AngleToPlayer(&g_Player,&enemy->position);
g_PlayerAngle = Player::AngleToPlayer(&g_Player,&enemy->position);
if (valueType != (EclValueType *)0x0) {
*valueType = ECL_VALUE_TYPE_READONLY;
}
pfVar1 = (int *)&PLAYER_ANGLE;
pfVar1 = (int *)&g_PlayerAngle;
break;
case ECL_VAR_PLAYER_Z:
if (valueType != (EclValueType *)0x0) {
Expand Down
2 changes: 1 addition & 1 deletion src/th06_102h.exe/Enemy/HandleLifeCallback.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ BOOL __thiscall Enemy::HandleLifeCallback(Enemy *this)
this->bullet_rank_amount2_low = 0;
this->bullet_rank_amount2_high = 0;
this->stack_depth = 0;
local_8 = g_Enemies;
local_8 = g_EnemyManager.enemies;
for (local_c = 0; local_c < 0x100; local_c = local_c + 1) {
if (((((char)local_8->flags1 < '\0') && ((local_8->flags2 >> 3 & 1) == 0)) &&
(local_8->life = 0, (local_8->flags2 & 1) == 0)) && (-1 < local_8->death_callback_sub)) {
Expand Down
8 changes: 4 additions & 4 deletions src/th06_102h.exe/Enemy/HandleTimerCallback.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ BOOL __thiscall Enemy::HandleTimerCallback(Enemy *this)
(this->boss_timer).subFrame = 0.0;
(this->boss_timer).previous = -999;
if ((this->flags3 >> 4 & 1) == 0) {
g_RunningSpellcardInfo.capture_spellcard = 0;
if (g_RunningSpellcardInfo.is_active != 0) {
g_RunningSpellcardInfo.is_active = g_RunningSpellcardInfo.is_active + 1;
g_EnemyManager.spellcardInfo.is_capturing = 0;
if (g_EnemyManager.spellcardInfo.is_active != 0) {
g_EnemyManager.spellcardInfo.is_active = g_EnemyManager.spellcardInfo.is_active + 1;
}
BulletManager::RemoveAllBullets(&g_BulletManager,0);
}
local_8 = g_Enemies;
local_8 = g_EnemyManager.enemies;
for (local_c = 0; local_c < 0x100; local_c = local_c + 1) {
if (((((char)local_8->flags1 < '\0') && ((local_8->flags2 >> 3 & 1) == 0)) &&
(local_8->life = 0, (local_8->flags2 & 1) == 0)) && (-1 < local_8->death_callback_sub)) {
Expand Down
2 changes: 1 addition & 1 deletion src/th06_102h.exe/EnemyManager/AddedCallback.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ZunResult EnemyManager::AddedCallback(EnemyManager *param_1)
local_10 = Rng::GetRandomU16(&g_Rng);
local_10 = local_10 % 8;
param_1->random_item_table_index = local_10;
param_1->spellcard_capture = 0;
(param_1->spellcardInfo).is_active = 0;
param_1->timeline_instr = (EclTimelineInstr *)0x0;
ZVar1 = ZUN_SUCCESS;
}
Expand Down
12 changes: 6 additions & 6 deletions src/th06_102h.exe/EnemyManager/OnUpdate.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ChainCallbackResult EnemyManager::OnUpdate(EnemyManager *mgr)
float fVar1;
int iVar2;
ZunResult ZVar3;
BOOL BVar4;
i32 iVar4;
BOOL BVar5;
uint uVar6;
D3DXVECTOR3 *enemy_hitbox_dimensions;
Expand Down Expand Up @@ -81,8 +81,8 @@ ChainCallbackResult EnemyManager::OnUpdate(EnemyManager *mgr)
local_1c.z = (cur_enemy->hitbox_dimensions).z * 0.6666667;
local_1c.y = (cur_enemy->hitbox_dimensions).y * 0.6666667;
local_1c.x = (cur_enemy->hitbox_dimensions).x * 0.6666667;
BVar4 = Player::CalcKillBoxCollision(&g_Player,&cur_enemy->position,&local_1c);
if (((BVar4 == 1) && ((cur_enemy->flags2 & 1) != 0)) && ((cur_enemy->flags2 >> 3 & 1) == 0)) {
iVar4 = Player::CalcKillBoxCollision(&g_Player,&cur_enemy->position,&local_1c);
if (((iVar4 == 1) && ((cur_enemy->flags2 & 1) != 0)) && ((cur_enemy->flags2 >> 3 & 1) == 0)) {
cur_enemy->life = cur_enemy->life + -10;
}
}
Expand All @@ -94,7 +94,7 @@ ChainCallbackResult EnemyManager::OnUpdate(EnemyManager *mgr)
damageTaken = 70;
}
g_GameManager.score = (damageTaken / 5) * 10 + g_GameManager.score;
if (mgr->spellcard_capture != 0) {
if ((mgr->spellcardInfo).is_active != 0) {
if (hitWithLazerDuringBomb == 0) {
if (damageTaken < 8) {
if (damageTaken != 0) {
Expand All @@ -105,7 +105,7 @@ ChainCallbackResult EnemyManager::OnUpdate(EnemyManager *mgr)
damageTaken = damageTaken / 7;
}
}
else if (mgr->unk_ee5d4 == 0) {
else if ((mgr->spellcardInfo).used_bomb == 0) {
damageTaken = 0;
}
else if (damageTaken < 4) {
Expand Down Expand Up @@ -169,7 +169,7 @@ ChainCallbackResult EnemyManager::OnUpdate(EnemyManager *mgr)
ItemManager::SpawnItem
(&g_ItemManager,&cur_enemy->position,cur_enemy->item_drop,hitWithLazerDuringBomb);
}
if (((cur_enemy->flags2 >> 3 & 1) != 0) && (g_RunningSpellcardInfo.is_active == 0)) {
if (((cur_enemy->flags2 >> 3 & 1) != 0) && (g_EnemyManager.spellcardInfo.is_active == 0)) {
BulletManager::DespawnBullets(&g_BulletManager,0x3200,0);
}
cur_enemy->life = 0;
Expand Down
6 changes: 3 additions & 3 deletions src/th06_102h.exe/EnemyManager/RegisterChain.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ ZunResult EnemyManager::RegisterChain(char *stgEnm1,char *stgEnm2)
int iVar1;
ZunResult ZVar2;

Initialize((EnemyManager *)&g_EnemyManager);
g_EnemyManager = stgEnm1;
DAT_004b79cc = stgEnm2;
Initialize(&g_EnemyManager);
g_EnemyManager.stg_enm_anm_filename = stgEnm1;
g_EnemyManager.stg_enm2_anm_filename = stgEnm2;
ChainElem_005a5fb4.callback = OnUpdate;
ChainElem_005a5fb4.addedCallback = AddedCallback;
ChainElem_005a5fb4.deletedCallback = DeletedCallback;
Expand Down
4 changes: 2 additions & 2 deletions src/th06_102h.exe/GameManager/DeletedCallback.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ ZunResult GameManager::DeletedCallback(GameManager *param_1)
BulletManager::CutChain();
Player::CutChain();
EnemyManager::CutChain();
EclManager::operator_delete(&g_EclManager);
EclManager::Unload(&g_EclManager);
EffectManager::CutChain();
Gui::CutChain();
ReplayManager::FUN_0042aab0();
ReplayManager::StopRecording();
param_1->is_in_menu = 0;
AsciiManager::InitializeVms(&g_AsciiManager);
return ZUN_SUCCESS;
Expand Down
2 changes: 1 addition & 1 deletion src/th06_102h.exe/Global/SaveReplay.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ void SaveReplay(char *replay_path,char *param_2)
rpy_data = (ReplayData *)&rpy_data->version;
ppcVar5 = (ReplayData *)&ppcVar5->version;
}
ReplayManager::FUN_0042aab0();
ReplayManager::StopRecording();
local_68 = (StageReplayData *)0x50;
for (j = 0; (int)j < 7; j = j + 1) {
if (pRVar1->data->stage_score[j] != (StageReplayData *)0x0) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

undefined4 * __thiscall MusicRoom::FUN_00425318(MusicRoom *this)
undefined4 * __thiscall MusicRoom::MusicRoom(MusicRoom *this)

{
int iVar1;
Expand Down
2 changes: 1 addition & 1 deletion src/th06_102h.exe/MusicRoom/RegisterChain.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ ZunResult MusicRoom::RegisterChain(void)
DAT_006ca624 = DAT_006ca624 | 1;
uStack_8 = 0;
ExceptionList = &pvStack_10;
FUN_00425318((MusicRoom *)&g_MusicRoomCalcChain);
MusicRoom((MusicRoom *)&g_MusicRoomCalcChain);
}
uStack_8 = 0xffffffff;
ppCVar3 = &g_MusicRoomCalcChain;
Expand Down
8 changes: 4 additions & 4 deletions src/th06_102h.exe/Player/BombMarisaACalc.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ void Player::BombMarisaACalc(Player *this)
pDVar2->z = fVar3 + pDVar2->z;
if (((this->bombInfo).bombTimer.current != (this->bombInfo).bombTimer.previous) &&
((this->bombInfo).bombTimer.current % 3 != 0)) {
this->unk_8b8[i].position1.x = (this->bombInfo).bomb_region_positions[i].x;
this->unk_8b8[i].position1.y = (this->bombInfo).bomb_region_positions[i].y;
this->unk_8b8[i].size1.x = 128.0;
this->unk_8b8[i].size1.y = 128.0;
this->bomb_projectiles[i].pos.x = (this->bombInfo).bomb_region_positions[i].x;
this->bomb_projectiles[i].pos.y = (this->bombInfo).bomb_region_positions[i].y;
this->bomb_projectiles[i].size.x = 128.0;
this->bomb_projectiles[i].size.y = 128.0;
this->bomb_region_sizes[i].x = 128.0;
this->bomb_region_sizes[i].y = 128.0;
pDVar1 = (this->bombInfo).bomb_region_positions + i;
Expand Down
12 changes: 6 additions & 6 deletions src/th06_102h.exe/Player/BombMarisaBCalc.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ void Player::BombMarisaBCalc(Player *this)
uVar2 = (uVar2 - 1 | 0xfffffffc) + 1;
}
if (uVar2 != 0) {
this->unk_8b8[0].position1.x = 192.0;
this->unk_8b8[0].position1.y = (this->positionCenter).y / 2.0;
this->unk_8b8[0].size1.x = 384.0;
this->unk_8b8[0].size1.y = (this->positionCenter).y;
this->bomb_projectiles[0].pos.x = 192.0;
this->bomb_projectiles[0].pos.y = (this->positionCenter).y / 2.0;
this->bomb_projectiles[0].size.x = 384.0;
this->bomb_projectiles[0].size.y = (this->positionCenter).y;
this->bomb_region_sizes[0].x = 384.0;
this->bomb_region_sizes[0].y = (this->positionCenter).y;
this->bomb_region_positions[0].x = this->unk_8b8[0].position1.x;
this->bomb_region_positions[0].y = this->unk_8b8[0].position1.y;
this->bomb_region_positions[0].x = this->bomb_projectiles[0].pos.x;
this->bomb_region_positions[0].y = this->bomb_projectiles[0].pos.y;
this->bomb_region_damages[0] = 0xc;
}
}
Expand Down
20 changes: 10 additions & 10 deletions src/th06_102h.exe/Player/BombReimuACalc.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ void Player::BombReimuACalc(Player *param_1)
ItemManager::RemoveAllItems(&g_ItemManager);
EffectManager::SpawnParticles
(&g_EffectManager,0xc,&param_1->positionCenter,1,(ZunColor)0xff4040ff);
param_1->unk_8b8[8].position1.x = (param_1->positionCenter).x;
param_1->unk_8b8[8].position1.y = (param_1->positionCenter).y;
param_1->unk_8b8[8].size1.x = 256.0;
param_1->unk_8b8[8].size1.y = 256.0;
param_1->bomb_projectiles[8].pos.x = (param_1->positionCenter).x;
param_1->bomb_projectiles[8].pos.y = (param_1->positionCenter).y;
param_1->bomb_projectiles[8].size.x = 256.0;
param_1->bomb_projectiles[8].size.y = 256.0;
}
if ((59 < (param_1->bombInfo).bombTimer.current) &&
((param_1->bombInfo).bombTimer.current < 0xb4)) {
Expand Down Expand Up @@ -113,10 +113,10 @@ void Player::BombReimuACalc(Player *param_1)
pDVar2->y = pDVar1->y;
pDVar2->z = pDVar1->z;
param_1->bomb_region_damages[i] = 8;
param_1->unk_8b8[i].position1.x = (param_1->bombInfo).bomb_region_positions[i].x;
param_1->unk_8b8[i].position1.y = (param_1->bombInfo).bomb_region_positions[i].y;
param_1->unk_8b8[i].size1.x = 48.0;
param_1->unk_8b8[i].size1.y = 48.0;
param_1->bomb_projectiles[i].pos.x = (param_1->bombInfo).bomb_region_positions[i].x;
param_1->bomb_projectiles[i].pos.y = (param_1->bombInfo).bomb_region_positions[i].y;
param_1->bomb_projectiles[i].size.x = 48.0;
param_1->bomb_projectiles[i].size.y = 48.0;
if ((99 < param_1->unk_838[i]) ||
((param_1->bombInfo).bombDuration + -0x1e <= (param_1->bombInfo).bombTimer.current))
{
Expand All @@ -134,8 +134,8 @@ void Player::BombReimuACalc(Player *param_1)
param_1->bomb_region_sizes[i].x = 256.0;
param_1->bomb_region_sizes[i].y = 256.0;
param_1->bomb_region_damages[i] = 200;
param_1->unk_8b8[i].size1.x = 256.0;
param_1->unk_8b8[i].size1.y = 256.0;
param_1->bomb_projectiles[i].size.x = 256.0;
param_1->bomb_projectiles[i].size.y = 256.0;
SoundPlayer::PlaySoundByIdx(&g_SoundPlayer,SOUND_F,0);
ScreenEffect::RegisterChain(1,0x10,8,0,0);
}
Expand Down
Loading

0 comments on commit c476d41

Please sign in to comment.