From 62768600dc70602ec39bdcdbd5d5355f38811039 Mon Sep 17 00:00:00 2001 From: Snesrev Date: Tue, 4 Apr 2023 23:12:08 +0200 Subject: [PATCH] Rename enemy_projectile => eproj --- src/funcs.h | 50 +- src/ida_types.h | 6 +- src/sm_80.c | 2 +- src/sm_81.c | 254 ++-- src/sm_82.c | 128 +- src/sm_84.c | 80 +- src/sm_86.c | 3254 ++++++++++++++++++++--------------------- src/sm_87.c | 4 +- src/sm_88.c | 10 +- src/sm_8b.c | 24 +- src/sm_8f.c | 4 +- src/sm_90.c | 8 +- src/sm_91.c | 6 +- src/sm_a0.c | 70 +- src/sm_a2.c | 24 +- src/sm_a3.c | 32 +- src/sm_a4.c | 34 +- src/sm_a5.c | 78 +- src/sm_a6.c | 34 +- src/sm_a7.c | 34 +- src/sm_a8.c | 66 +- src/sm_a9.c | 60 +- src/sm_aa.c | 60 +- src/sm_ad.c | 4 +- src/sm_b2.c | 12 +- src/sm_b3.c | 42 +- src/sm_cpu_infra.c | 4 +- src/variables.h | 54 +- src/variables_extra.h | 2 +- 29 files changed, 2220 insertions(+), 2220 deletions(-) diff --git a/src/funcs.h b/src/funcs.h index 04c839f..d91f975 100644 --- a/src/funcs.h +++ b/src/funcs.h @@ -175,8 +175,8 @@ void ConfigureWindow1ForExpandingSquare(void); void DebugGameOverMenu(void); void DrawAreaSelectMapLabels(void); void DrawBeamGrappleSpritemap(uint16 a, uint16 x_r20, uint16 y_r18); -void DrawEnemyProjectileSpritemapWithBaseTile(uint8 db, uint16 j, uint16 x_r20, uint16 y_r18, uint16 chr_r26, uint16 chr_r28); -void DrawEnemyProjectileSpritemapWithBaseTileOffscreen(uint8 db, uint16 j, uint16 x_r20, uint16 y_r18, uint16 chr_r26, uint16 chr_r28); +void DrawEprojSpritemapWithBaseTile(uint8 db, uint16 j, uint16 x_r20, uint16 y_r18, uint16 chr_r26, uint16 chr_r28); +void DrawEprojSpritemapWithBaseTileOffscreen(uint8 db, uint16 j, uint16 x_r20, uint16 y_r18, uint16 chr_r26, uint16 chr_r28); void DrawFileCopyClearConfirmation(void); void DrawFileCopyConfirmationSaveFileInfo(void); void DrawFileCopySaveFileInfo(void); @@ -689,19 +689,19 @@ uint16 sub_86E0B0(uint16 k); uint16 sub_86EC18(uint16 k); uint8 CheckForBlueRingCollisionWithRoom(uint16 k); uint8 CheckForCollisionWithShitroid_DoubleRet(uint16 k); -uint8 EnemyProjectileBlockCollisition_Horiz(uint16 k); -uint8 EnemyProjectileBlockCollisition_Vertical(uint16 k); +uint8 EprojBlockCollisition_Horiz(uint16 k); +uint8 EprojBlockCollisition_Vertical(uint16 k); uint8 EprojColl_873D(void); uint8 Eproj_MotherBrainRoomTurretBullets_CheckIfTurretOnScreen(uint16 k); uint8 MotherBrainBomb_Bomb_CollDetect_DoubleRet(uint16 k); uint8 MoveMotherBrainBomb(uint16 k, uint16 a); void BlueRingContactExplosion(uint16 k); -void ClearEnemyProjectiles(void); -void DisableEnemyProjectiles(void); -void DrawEnemyProjectiles(uint16 k, Point16U pt); -void DrawHighPriorityEnemyProjectiles(void); -void DrawLowPriorityEnemyProjectiles(void); -void EnableEnemyProjectiles(void); +void ClearEprojs(void); +void DisableEprojs(void); +void DrawEprojs(uint16 k, Point16U pt); +void DrawHighPriorityEprojs(void); +void DrawLowPriorityEprojs(void); +void EnableEprojs(void); void EprojRunAll(void); void Eproj_AngleToSamus(uint16 j, uint16 r18, uint16 r20); @@ -740,8 +740,8 @@ void QueueSmallExplosionSfx(void); void RespawnEnemy(uint16 a); void SetAreaDependentEprojProperties(uint16 j); void SetAreaDependentEprojPropertiesEx(uint16 k, uint16 j); -void SpawnEnemyProjectileWithGfx(uint16 a, uint16 k, uint16 j); -void SpawnEnemyProjectileWithRoomGfx(uint16 j, uint16 a); +void SpawnEprojWithGfx(uint16 a, uint16 k, uint16 j); +void SpawnEprojWithRoomGfx(uint16 j, uint16 a); void SpawnMotherBrainDeathBeam(uint16 k); // Bank 87 @@ -1818,8 +1818,8 @@ uint32 EnemyFunc_Divide(uint32 a, uint32 b); void EnemyFunc_B7A1(void); void EnemyGrappleDeath(void); void EnemyMain(void); -void EnemyProjectileCollHandler(void); -void EnemyProjectileCollHandler_Multibox(void); +void EprojCollHandler(void); +void EprojCollHandler_Multibox(void); void EnemySamusCollHandler(void); void EnemySamusCollHandler_Multibox(void); void Enemy_GrappleReact_CancelBeam_A0(void); @@ -4523,8 +4523,8 @@ void VerifySRAM(void); #define fnPlmPreInstr_Empty5 0x84BBA3 #define fnPlmPreInstr_WakePlmIfTriggeredOrSamusAbovePlm 0x84BBA4 #define fnPlmInstr_ClearTrigger 0x84BBDD -#define fnPlmInstr_SpawnEnemyProjectile 0x84BBE1 -#define fnPlmInstr_WakeEnemyProjectileAtPlmPos 0x84BBF0 +#define fnPlmInstr_SpawnEproj 0x84BBE1 +#define fnPlmInstr_WakeEprojAtPlmPos 0x84BBF0 #define fnPlmPreInstr_GoToLinkInstrIfShot 0x84BD0F #define fnPlmPreInstr_GoToLinkInstrIfShotWithPowerBomb 0x84BD26 #define fnPlmPreInstr_GoToLinkInstrIfShotWithAnyMissile 0x84BD50 @@ -4588,7 +4588,7 @@ void VerifySRAM(void); #define fnPlmInstr_TransferWreckedShipSlopesToChozoSpikes 0x84D3F4 #define fnPlmPreInstr_WakeOnKeyPress 0x84D4BF #define fnPlmInstr_EnableWaterPhysics 0x84D525 -#define fnPlmInstr_SpawnN00bTubeCrackEnemyProjectile 0x84D52C +#define fnPlmInstr_SpawnN00bTubeCrackEproj 0x84D52C #define fnPlmInstr_DiagonalEarthquake 0x84D536 #define fnPlmInstr_Spawn10shardsAnd6n00bs 0x84D543 #define fnPlmInstr_DisableSamusControls 0x84D5E6 @@ -4605,7 +4605,7 @@ void VerifySRAM(void); #define fnnullsub_72 0x84D6F7 #define fnPlmPreInstr_WakePlmIfRoomArgumentDoorIsSet 0x84D753 #define fnPlmInstr_ShootEyeDoorProjectileWithProjectileArg 0x84D77A -#define fnPlmInstr_SpawnEyeDoorSweatEnemyProjectile 0x84D790 +#define fnPlmInstr_SpawnEyeDoorSweatEproj 0x84D790 #define fnPlmInstr_SpawnTwoEyeDoorSmoke 0x84D79F #define fnPlmInstr_SpawnEyeDoorSmokeProjectile 0x84D7B6 #define fnPlmInstr_MoveUpAndMakeBlueDoorFacingRight 0x84D7C3 @@ -4707,13 +4707,13 @@ void VerifySRAM(void); #define fnEprojInstr_QueueSfx2_Max1 0x86837E #define fnEprojInstr_QueueSfx3_Max1 0x868387 #define fnEprojPreInstr_nullsub_83 0x8684FB -#define fnEnemyProj_Init_0x8aaf 0x868A39 -#define fnEnemyProj_PreInit_0x8aaf 0x868A7D -#define fnEnemyProj_Init_0x8bc2_SkreeDownRight 0x868ACD -#define fnEnemyProj_Init_0x8bd0_SkreeUpRight 0x868AF1 -#define fnEnemyProj_Init_0x8bde_SkreeDownLeft 0x868B15 -#define fnEnemyProj_Init_0x8bec_SkreeUpLeft 0x868B39 -#define fnEnemyProj_PreInstr_SkreeParticle 0x868B5D +#define fnEproj_Init_0x8aaf 0x868A39 +#define fnEproj_PreInit_0x8aaf 0x868A7D +#define fnEproj_Init_0x8bc2_SkreeDownRight 0x868ACD +#define fnEproj_Init_0x8bd0_SkreeUpRight 0x868AF1 +#define fnEproj_Init_0x8bde_SkreeDownLeft 0x868B15 +#define fnEproj_Init_0x8bec_SkreeUpLeft 0x868B39 +#define fnEproj_PreInstr_SkreeParticle 0x868B5D #define fnEprojInstr_SpawnEnemyDropsWithDraygonsEyeDrops 0x868C68 #define fnEprojInstr_SetPreInstrA 0x868CF6 #define fnEprojInstr_SetPreInstrB 0x868CFD diff --git a/src/ida_types.h b/src/ida_types.h index 755ea12..f1ee8e6 100644 --- a/src/ida_types.h +++ b/src/ida_types.h @@ -88,7 +88,7 @@ typedef struct MsgBoxConfig { } MsgBoxConfig; /* 11 */ -typedef struct EnemyProjectileDef { +typedef struct EprojDef { VoidP init_code_ptr; VoidP pre_instr_ptr; VoidP instr_list; @@ -96,7 +96,7 @@ typedef struct EnemyProjectileDef { uint16 properties; VoidP hit_instruction_list; VoidP shot_instruction_list; -} EnemyProjectileDef; +} EprojDef; /* 12 */ typedef struct Eproj_InitXYVelRandom_Args { @@ -2698,7 +2698,7 @@ struct StateHeaderTiles; static inline StateHeaderTiles *get_StateHeaderTiles(ui struct EnemyDef_A2; static inline EnemyDef_A2 *get_EnemyDef_A2(uint16 a) { return (EnemyDef_A2 *)RomPtr(0xA00000 | a); } struct EnemyTileset; static inline EnemyTileset *get_EnemyTileset(uint16 a) { return (EnemyTileset *)RomPtr(0xB40000 | a); } struct RoomPlmEntry; static inline RoomPlmEntry *get_RoomPlmEntry(uint16 a) { return (RoomPlmEntry *)RomPtr(0x8F0000 | a); } -struct EnemyProjectileDef; static inline EnemyProjectileDef *get_EnemyProjectileDef(uint16 a) { return (EnemyProjectileDef *)RomPtr(0x860000 | a); } +struct EprojDef; static inline EprojDef *get_EprojDef(uint16 a) { return (EprojDef *)RomPtr(0x860000 | a); } struct Vulnerability; static inline Vulnerability *get_Vulnerability(uint16 a) { return (Vulnerability *)RomPtr(0xB40000 | a); } struct ExtendedSpriteMap; static inline ExtendedSpriteMap *get_ExtendedSpriteMap(uint8 db, uint16 a) { return (ExtendedSpriteMap *)RomPtr(db << 16 | a); } struct Hitbox; static inline Hitbox *get_Hitbox(uint8 db, uint16 a) { return (Hitbox *)RomPtr(db << 16 | a); } diff --git a/src/sm_80.c b/src/sm_80.c index 36caa50..856b8fa 100644 --- a/src/sm_80.c +++ b/src/sm_80.c @@ -1607,7 +1607,7 @@ CoroutineRet StartGameplay_Async(void) { // 0x80A07B WaitUntilEndOfVblankAndClearHdma(); InitializeSpecialEffectsForNewRoom(); ClearPLMs(); - ClearEnemyProjectiles(); + ClearEprojs(); ClearPaletteFXObjects(); UpdateBeamTilesAndPalette(); LoadColorsForSpritesBeamsAndEnemies(); diff --git a/src/sm_81.c b/src/sm_81.c index 409a2cb..c625267 100644 --- a/src/sm_81.c +++ b/src/sm_81.c @@ -306,7 +306,7 @@ void DrawSpritemapWithBaseTileOffscreen(uint8 db, uint16 j, uint16 r20_x, uint16 oam_next_ptr = idx; } -void DrawEnemyProjectileSpritemapWithBaseTile(uint8 db, uint16 j, uint16 x_r20, uint16 y_r18, uint16 chr_r26, uint16 chr_r28) { // 0x818C0A +void DrawEprojSpritemapWithBaseTile(uint8 db, uint16 j, uint16 x_r20, uint16 y_r18, uint16 chr_r26, uint16 chr_r28) { // 0x818C0A const uint8 *pp = RomPtrWithBank(db, j); int idx = oam_next_ptr; int n = GET_WORD(pp); @@ -325,7 +325,7 @@ void DrawEnemyProjectileSpritemapWithBaseTile(uint8 db, uint16 j, uint16 x_r20, oam_next_ptr = idx; } -void DrawEnemyProjectileSpritemapWithBaseTileOffscreen(uint8 db, uint16 j, uint16 x_r20, uint16 y_r18, uint16 chr_r26, uint16 chr_r28) { // 0x818C7F +void DrawEprojSpritemapWithBaseTileOffscreen(uint8 db, uint16 j, uint16 x_r20, uint16 y_r18, uint16 chr_r26, uint16 chr_r28) { // 0x818C7F const uint8 *pp = RomPtrWithBank(db, j); int idx = oam_next_ptr; int n = GET_WORD(pp); @@ -548,8 +548,8 @@ void GameOverMenu_4_Main(void) { // 0x81912B uint16 v0 = 160; if (file_select_map_area_index) v0 = 192; - enemy_projectile_id[5] = 40; - enemy_projectile_id[10] = v0; + eproj_id[5] = 40; + eproj_id[10] = v0; } void GameOverMenu_1_Init(void) { // 0x8191A4 @@ -559,8 +559,8 @@ void GameOverMenu_1_Init(void) { // 0x8191A4 reg_COLDATA[2] = 0x80; QueueMusic_Delayed8(0); QueueMusic_Delayed8(0xFF03); - enemy_projectile_enable_flag = 1; - enemy_projectile_id[0] = 0; + eproj_enable_flag = 1; + eproj_id[0] = 0; int v0 = 0; do { ((uint16*)ram3000.menu.menu_tilemap)[v0] = 15; @@ -595,8 +595,8 @@ void GameOverMenu_1_Init(void) { // 0x8191A4 screen_fade_delay = 0; screen_fade_counter = 0; file_select_map_area_index = 0; - enemy_projectile_id[5] = 40; - enemy_projectile_id[10] = 160; + eproj_id[5] = 40; + eproj_id[10] = 160; } void GameOverMenu_2_PlayMusic(void) { // 0x8193E8 @@ -688,7 +688,7 @@ void FileSelectMenu_32_FadeOutToOptions(void) { // 0x8194A3 menu_index = 0; int v0 = 0; do { - *(uint16 *)((uint8 *)&enemy_projectile_enable_flag + v0) = 0; + *(uint16 *)((uint8 *)&eproj_enable_flag + v0) = 0; v0 += 2; } while ((int16)(v0 - 48) < 0); } @@ -727,8 +727,8 @@ static const uint16 kMenuSelectionMissileXY[12] = { // 0x81951E void FileSelectMenu_17_FadeInToMain(void) { int v0 = (uint16)(4 * selected_save_slot) >> 1; - enemy_projectile_id[10] = kMenuSelectionMissileXY[v0]; - enemy_projectile_id[5] = kMenuSelectionMissileXY[v0 + 1]; + eproj_id[10] = kMenuSelectionMissileXY[v0]; + eproj_id[5] = kMenuSelectionMissileXY[v0 + 1]; FileSelectMenu_7_FadeInFromMain(); } @@ -754,8 +754,8 @@ void FileSelectMenu_Func1(void) { // 0x819566 DrawFileCopySaveFileInfo(); SetInitialFileCopyMenuSelection(); SetFileCopyMenuSelectionMissilePosition(); - enemy_projectile_id[16] = 0; - enemy_projectile_id[17] = 0; + eproj_id[16] = 0; + eproj_id[17] = 0; } void sub_819591(void) { // 0x819591 @@ -771,7 +771,7 @@ void SetInitialFileCopyMenuSelection(void) { // 0x819593 v0 >>= 1; ++v1; } while ((int16)(v1 - 3) < 0); - enemy_projectile_id[15] = v1; + eproj_id[15] = v1; } void ClearMenuTilemap(void) { // 0x8195A6 @@ -846,10 +846,10 @@ void FileSelectMenu_8(void) { DrawMenuSelectionMissile(); if ((joypad1_newkeys & (kButton_Start | kButton_A)) != 0) { QueueSfx1_Max6(0x37); - if (enemy_projectile_id[15] == 3) { + if (eproj_id[15] == 3) { menu_index += 7; } else { - enemy_projectile_id[16] = enemy_projectile_id[15]; + eproj_id[16] = eproj_id[15]; ++menu_index; } } else if ((joypad1_newkeys & 0x8000) != 0) { @@ -857,18 +857,18 @@ void FileSelectMenu_8(void) { QueueSfx1_Max6(0x37); } else { if ((joypad1_newkeys & kButton_Up) != 0) { - v0 = enemy_projectile_id[15]; + v0 = eproj_id[15]; while ((--v0 & 0x80) == 0) { if ((kBitShl[v0] & nonempty_save_slots) != 0) { LABEL_16: - LOBYTE(enemy_projectile_id[15]) = v0; + LOBYTE(eproj_id[15]) = v0; QueueSfx1_Max6(0x37); SetFileCopyMenuSelectionMissilePosition(); return; } } } else if ((joypad1_newkeys & kButton_Down) != 0) { - v0 = enemy_projectile_id[15]; + v0 = eproj_id[15]; while ((int8)(++v0 - 4) < 0) { if (v0 == 3 || (kBitShl[v0] & nonempty_save_slots) != 0) goto LABEL_16; @@ -880,8 +880,8 @@ LABEL_16: void SetFileCopyMenuSelectionMissilePosition(void) { // 0x81975E static const uint16 kFileCopyMissileY[4] = { 72, 104, 136, 211 }; - enemy_projectile_id[10] = kFileCopyMissileY[enemy_projectile_id[15]]; - enemy_projectile_id[5] = 22; + eproj_id[10] = kFileCopyMissileY[eproj_id[15]]; + eproj_id[5] = 22; } void FileSelectMenu_9_InitializeSelectDest(void) { // 0x81977A @@ -890,11 +890,11 @@ void FileSelectMenu_9_InitializeSelectDest(void) { // 0x81977A ++menu_index; uint16 v0 = 0; do { - if (v0 != enemy_projectile_id[16]) + if (v0 != eproj_id[16]) break; ++v0; } while (sign16(v0 - 3)); - enemy_projectile_id[15] = v0; + eproj_id[15] = v0; SetFileCopyMenuSelectionMissilePosition(); } @@ -904,23 +904,23 @@ void DrawFileCopySelectDestinationSaveFileInfo(void) { // 0x819799 LoadMenuTilemap(0x52, addr_kMenuTilemap_DataCopyMode); enemy_data[0].palette_index = 0; LoadMenuTilemap(0x148, addr_kMenuTilemap_CopySamusToWhere); - ram3000.pause_menu_map_tilemap[944] = enemy_projectile_id[16] + 8298; + ram3000.pause_menu_map_tilemap[944] = eproj_id[16] + 8298; LoadMenuExitTilemap(); LoadFromSram_(0); uint16 v0 = 1024; - if (enemy_projectile_id[16]) + if (eproj_id[16]) v0 = 0; enemy_data[0].palette_index = v0; DrawFileCopySaveSlotAInfo(); LoadFromSram_(1); uint16 v1 = 1024; - if (enemy_projectile_id[16] != 1) + if (eproj_id[16] != 1) v1 = 0; enemy_data[0].palette_index = v1; DrawFileCopySaveSlotBInfo(); LoadFromSram_(2); uint16 v2 = 1024; - if (enemy_projectile_id[16] != 2) + if (eproj_id[16] != 2) v2 = 0; enemy_data[0].palette_index = v2; DrawFileCopySaveSlotCInfo(); @@ -935,12 +935,12 @@ void FileSelectMenu_10_FileCopySelectDest(void) { // 0x819813 DrawMenuSelectionMissile(); if ((joypad1_newkeys & (kButton_Start | kButton_A)) != 0) { QueueSfx1_Max6(0x37); - if (enemy_projectile_id[15] != 3) { - enemy_projectile_id[17] = enemy_projectile_id[15]; + if (eproj_id[15] != 3) { + eproj_id[17] = eproj_id[15]; ++menu_index; LABEL_9: - enemy_projectile_id[10] = kFileCopySelectDest_MissileY[enemy_projectile_id[15]]; - enemy_projectile_id[5] = 22; + eproj_id[10] = kFileCopySelectDest_MissileY[eproj_id[15]]; + eproj_id[5] = 22; return; } menu_index += 5; @@ -948,26 +948,26 @@ LABEL_9: if ((joypad1_newkeys & 0x8000) == 0) { if ((joypad1_newkeys & kButton_Up) != 0) { QueueSfx1_Max6(0x37); - v0 = enemy_projectile_id[15]; + v0 = eproj_id[15]; while ((--v0 & 0x8000) == 0) { - if (v0 != enemy_projectile_id[16]) { + if (v0 != eproj_id[16]) { LABEL_8: - enemy_projectile_id[15] = v0; + eproj_id[15] = v0; goto LABEL_9; } } } else if ((joypad1_newkeys & kButton_Down) != 0) { QueueSfx1_Max6(0x37); - v0 = enemy_projectile_id[15]; + v0 = eproj_id[15]; while (++v0 != 4) { - if (v0 != enemy_projectile_id[16]) + if (v0 != eproj_id[16]) goto LABEL_8; } } goto LABEL_9; } menu_index -= 2; - enemy_projectile_id[15] = enemy_projectile_id[16]; + eproj_id[15] = eproj_id[16]; QueueSfx1_Max6(0x37); FileSelectMenu_Func1(); } @@ -977,12 +977,12 @@ void FileSelectMenu_11_InitializeConfirm(void) { // 0x8198B7 DrawBorderAroundDataCopyMode(); enemy_data[0].palette_index = 0; LoadMenuTilemap(0x144, addr_kMenuTilemap_CopySamusToSamus); - ram3000.pause_menu_map_tilemap[942] = enemy_projectile_id[16] + 8298; - ram3000.pause_menu_map_tilemap[955] = enemy_projectile_id[17] + 8298; + ram3000.pause_menu_map_tilemap[942] = eproj_id[16] + 8298; + ram3000.pause_menu_map_tilemap[955] = eproj_id[17] + 8298; DrawFileCopyClearConfirmation(); ++menu_index; - enemy_projectile_id[15] = 0; - enemy_projectile_unk198F = 8; + eproj_id[15] = 0; + eproj_unk198F = 8; } void DrawFileCopyClearConfirmation(void) { // 0x8198ED @@ -1003,19 +1003,19 @@ void DrawFileCopyClearConfirmation(void) { // 0x8198ED void DrawFileCopyConfirmationSaveFileInfo(void) { // 0x819922 LoadFromSram_(0); int v0 = 0; - if (enemy_projectile_id[16] && enemy_projectile_id[17]) + if (eproj_id[16] && eproj_id[17]) v0 = 1024; enemy_data[0].palette_index = v0; DrawFileCopySaveSlotAInfo(); LoadFromSram_(1); int v1 = 0; - if (enemy_projectile_id[16] != 1 && enemy_projectile_id[17] != 1) + if (eproj_id[16] != 1 && eproj_id[17] != 1) v1 = 1024; enemy_data[0].palette_index = v1; DrawFileCopySaveSlotBInfo(); LoadFromSram_(2); int v2 = 0; - if (enemy_projectile_id[16] != 2 && enemy_projectile_id[17] != 2) + if (eproj_id[16] != 2 && eproj_id[17] != 2) v2 = 1024; enemy_data[0].palette_index = v2; DrawFileCopySaveSlotCInfo(); @@ -1028,18 +1028,18 @@ void FileSelectMenu_12_FileCopyConfirm(void) { // 0x819984 HandleFileCopyArrowPalette(); DrawFileCopyArrow(); if ((joypad1_newkeys & (kButton_Up | kButton_Down)) != 0) { - enemy_projectile_id[15] ^= 1; + eproj_id[15] ^= 1; QueueSfx1_Max6(0x37); } else { if ((joypad1_newkeys & 0x8000) != 0) { menu_index -= 3; - enemy_projectile_id[15] = enemy_projectile_id[17]; + eproj_id[15] = eproj_id[17]; QueueSfx1_Max6(0x37); return; } if ((joypad1_newkeys & (kButton_Start | kButton_A)) != 0) { QueueSfx1_Max6(0x38); - if (enemy_projectile_id[15]) { + if (eproj_id[15]) { menu_index -= 4; FileSelectMenu_Func1(); } else { @@ -1049,16 +1049,16 @@ void FileSelectMenu_12_FileCopyConfirm(void) { // 0x819984 } } uint16 v0 = 184; - if (enemy_projectile_id[15]) + if (eproj_id[15]) v0 = 208; - enemy_projectile_id[10] = v0; - enemy_projectile_id[5] = 94; + eproj_id[10] = v0; + eproj_id[5] = 94; } void HandleFileCopyArrowPalette(void) { // 0x8199FE - if (enemy_projectile_unk198F) { - if (!--enemy_projectile_unk198F) { - enemy_projectile_unk198F = 4; + if (eproj_unk198F) { + if (!--eproj_unk198F) { + eproj_unk198F = 4; uint16 v0 = palette_buffer[145]; uint16 v1 = 0; do { @@ -1077,14 +1077,14 @@ void FileSelectMenu_13_FileCopyDoIt(void) { // 0x819A2C DrawMenuSelectionMissile(); HandleFileCopyArrowPalette(); DrawFileCopyArrow(); - uint16 src_addr = kOffsetToSaveSlot[enemy_projectile_id[16]]; - uint16 dst_addr = kOffsetToSaveSlot[enemy_projectile_id[17]]; + uint16 src_addr = kOffsetToSaveSlot[eproj_id[16]]; + uint16 dst_addr = kOffsetToSaveSlot[eproj_id[17]]; memcpy(&g_sram[dst_addr], &g_sram[src_addr], 1628); - int v2 = enemy_projectile_id[16]; + int v2 = eproj_id[16]; int v10 = *(uint16 *)(&g_sram[2 * v2 + 0x1FF0]); int v9 = *(uint16 *)(&g_sram[2 * v2 + 0x1FF8]); int v8 = *(uint16 *)(&g_sram[2 * v2 + 0]); - int v4 = enemy_projectile_id[17]; + int v4 = eproj_id[17]; *(uint16 *)(&g_sram[2 * v4 + 8]) = *(uint16 *)&g_sram[2 * v2 + 8]; *(uint16 *)(&g_sram[2 * v4]) = v8; *(uint16 *)(&g_sram[2 * v4 + 0x1FF8]) = v9; @@ -1095,8 +1095,8 @@ void FileSelectMenu_13_FileCopyDoIt(void) { // 0x819A2C ram3000.pause_menu_map_tilemap[v5 + 768] = 15; ++v5; } while ((int16)(v5 * 2 - 1856) < 0); - nonempty_save_slots |= kBitShl_16bit[enemy_projectile_id[17]]; - int v6 = ((4 * enemy_projectile_id[17] + 9) << 6) + 24; + nonempty_save_slots |= kBitShl_16bit[eproj_id[17]]; + int v6 = ((4 * eproj_id[17] + 9) << 6) + 24; int v7 = 0; do { *(uint16 *)((uint8 *)&ram3000.pause_menu_map_tilemap[768] + v6) = 15; @@ -1141,7 +1141,7 @@ void InitFileSelectMenuFileClear(void) { // 0x819B3C LoadMenuTilemap(0x140, addr_kMenuTilemap_ClearWhichData); LoadMenuExitTilemap(); DrawFileCopySaveFileInfo(); - enemy_projectile_id[16] = 0; + eproj_id[16] = 0; SetInitialFileCopyMenuSelection(); SetFileClearMenuMissilePos(); } @@ -1156,8 +1156,8 @@ void FileSelectMenu_22_FileClearSelectSlot(void) { // 0x819B64 HIBYTE(v0) = HIBYTE(joypad1_newkeys); if ((joypad1_newkeys & (kButton_Start | kButton_A)) != 0) { QueueSfx1_Max6(0x37); - if (enemy_projectile_id[15] != 3) { - enemy_projectile_id[16] = enemy_projectile_id[15]; + if (eproj_id[15] != 3) { + eproj_id[16] = eproj_id[15]; ++menu_index; return; } @@ -1169,11 +1169,11 @@ LABEL_11: if ((joypad1_newkeys & 0x8000) != 0) goto LABEL_11; if ((joypad1_newkeys & kButton_Up) != 0) { - v1 = enemy_projectile_id[15]; + v1 = eproj_id[15]; while ((--v1 & 0x80) == 0) { if ((kBitShl_[v1] & nonempty_save_slots) != 0) { LABEL_16: - LOBYTE(enemy_projectile_id[15]) = v1; + LOBYTE(eproj_id[15]) = v1; LOBYTE(v0) = 55; QueueSfx1_Max6(v0); SetFileClearMenuMissilePos(); @@ -1181,7 +1181,7 @@ LABEL_16: } } } else if ((joypad1_newkeys & kButton_Down) != 0) { - v1 = enemy_projectile_id[15]; + v1 = eproj_id[15]; while ((int8)(++v1 - 4) < 0) { if (v1 == 3 || (kBitShl_[v1] & nonempty_save_slots) != 0) goto LABEL_16; @@ -1192,19 +1192,19 @@ LABEL_16: void SetFileClearMenuMissilePos(void) { // 0x819BEF static const uint16 kFileClear_MissileY[4] = { 72, 104, 136, 211 }; - enemy_projectile_id[10] = kFileClear_MissileY[enemy_projectile_id[15]]; - enemy_projectile_id[5] = 22; + eproj_id[10] = kFileClear_MissileY[eproj_id[15]]; + eproj_id[5] = 22; } void FileSelectMenu_23_FileClearInitConfirm(void) { // 0x819C0B DrawBorderAroundDataClearMode(); enemy_data[0].palette_index = 0; LoadMenuTilemap(0x140, addr_kMenuTilemap_ClearSamusA); - ram3000.pause_menu_map_tilemap[949] = enemy_projectile_id[16] + 8298; - enemy_projectile_id[17] = 3; + ram3000.pause_menu_map_tilemap[949] = eproj_id[16] + 8298; + eproj_id[17] = 3; DrawFileCopyClearConfirmation(); ++menu_index; - enemy_projectile_id[15] = 0; + eproj_id[15] = 0; } void FileSelectMenu_24_FileClearConfirm(void) { // 0x819C36 @@ -1212,20 +1212,20 @@ void FileSelectMenu_24_FileClearConfirm(void) { // 0x819C36 DrawBorderAroundDataClearMode(); DrawMenuSelectionMissile(); if ((joypad1_newkeys & (kButton_Up | kButton_Down)) != 0) { - enemy_projectile_id[15] ^= 1; + eproj_id[15] ^= 1; QueueSfx1_Max6(0x37); LABEL_8: v0 = 184; - if (enemy_projectile_id[15]) + if (eproj_id[15]) v0 = 208; - enemy_projectile_id[10] = v0; - enemy_projectile_id[5] = 94; + eproj_id[10] = v0; + eproj_id[5] = 94; return; } if ((joypad1_newkeys & 0x8000) != 0) { LABEL_5: menu_index -= 2; - enemy_projectile_id[15] = enemy_projectile_id[16]; + eproj_id[15] = eproj_id[16]; QueueSfx1_Max6(0x37); InitFileSelectMenuFileClear(); return; @@ -1233,7 +1233,7 @@ LABEL_5: if ((joypad1_newkeys & (kButton_Start | kButton_A)) == 0) goto LABEL_8; QueueSfx1_Max6(0x38); - if (enemy_projectile_id[15]) + if (eproj_id[15]) goto LABEL_5; ++menu_index; } @@ -1242,26 +1242,26 @@ void FileSelectMenu_25_FileClearDoClear(void) { // 0x819C9E static const uint16 kBitShl_Not[3] = { 0xfffe, 0xfffd, 0xfffb }; DrawBorderAroundDataClearMode(); - int sram_addr = kOffsetToSaveSlot[enemy_projectile_id[16]]; + int sram_addr = kOffsetToSaveSlot[eproj_id[16]]; memset(&g_sram[sram_addr], 0, 1628); - uint16 v1 = 2 * enemy_projectile_id[16]; - int v2 = enemy_projectile_id[16]; + uint16 v1 = 2 * eproj_id[16]; + int v2 = eproj_id[16]; *(uint16 *)(&g_sram[2 * v2]) = 0; *(uint16 *)(&g_sram[2 * v2 + 8]) = 0; *(uint16 *)(&g_sram[2 * v2 + 0x1FF0]) = 0; *(uint16 *)(&g_sram[2 * v2 + 0x1FF8]) = 0; ++menu_index; NewSaveFile(); - LoadFromSram(enemy_projectile_id[16]); - area_index = enemy_projectile_id[16]; + LoadFromSram(eproj_id[16]); + area_index = eproj_id[16]; LoadMirrorOfExploredMapTiles(); uint16 v3 = 640; do { ram3000.pause_menu_map_tilemap[v3 + 768] = 15; ++v3; } while ((int16)(v3 * 2 - 1856) < 0); - nonempty_save_slots &= kBitShl_Not[enemy_projectile_id[16]]; + nonempty_save_slots &= kBitShl_Not[eproj_id[16]]; enemy_data[0].palette_index = 0; LoadMenuTilemap(0x500, addr_kMenuTilemap_DataCleared); DrawFileCopyConfirmationSaveFileInfo(); @@ -1300,19 +1300,19 @@ void FileSelectMenu_31_TurnSamusHelmet(void) { // 0x819D77 DrawFileSelectSlotSamusHelmet(6); DrawFileSelectSlotSamusHelmet(8); if ((joypad1_newkeys & (kButton_Start | kButton_A)) != 0 - || enemy_projectile_id[2] == 7 && !enemy_projectile_index - || enemy_projectile_id[3] == 7 && !enemy_projectile_init_param_1 - || enemy_projectile_id[4] == 7 && !enemy_projectile_unk1995) { + || eproj_id[2] == 7 && !eproj_index + || eproj_id[3] == 7 && !eproj_init_param_1 + || eproj_id[4] == 7 && !eproj_unk1995) { ++menu_index; } } void DrawFileSelectSamusHelmets(void) { // 0x819DC3 - enemy_projectile_index = 0; + eproj_index = 0; DrawFileSelectSlotSamusHelmet(4); - enemy_projectile_init_param_1 = 0; + eproj_init_param_1 = 0; DrawFileSelectSlotSamusHelmet(6); - enemy_projectile_unk1995 = 0; + eproj_unk1995 = 0; DrawFileSelectSlotSamusHelmet(8); } @@ -1320,25 +1320,25 @@ void DrawFileSelectSlotSamusHelmet(uint16 k) { // 0x819DE4 uint16 v0 = k; int16 v1; - v1 = *(uint16 *)((uint8 *)&enemy_projectile_enable_flag + v0); + v1 = *(uint16 *)((uint8 *)&eproj_enable_flag + v0); if (v1) { uint16 v2 = v1 - 1; - *(uint16 *)((uint8 *)&enemy_projectile_enable_flag + v0) = v2; + *(uint16 *)((uint8 *)&eproj_enable_flag + v0) = v2; if (!v2) { - *(uint16 *)((uint8 *)&enemy_projectile_enable_flag + v0) = 8; + *(uint16 *)((uint8 *)&eproj_enable_flag + v0) = 8; int v3 = v0 >> 1; - uint16 v4 = enemy_projectile_id[v3] + 1; - if (!sign16(enemy_projectile_id[v3] - 7)) { - *(uint16 *)((uint8 *)&enemy_projectile_enable_flag + v0) = 0; + uint16 v4 = eproj_id[v3] + 1; + if (!sign16(eproj_id[v3] - 7)) { + *(uint16 *)((uint8 *)&eproj_enable_flag + v0) = 0; v4 = 7; } - enemy_projectile_id[v3] = v4; + eproj_id[v3] = v4; } } int v5 = v0 >> 1; - uint16 v6 = 2 * enemy_projectile_id[v5]; + uint16 v6 = 2 * eproj_id[v5]; static const uint16 kDrawFileSlotHelmet_Spritemaps[9] = { 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x33 }; - DrawMenuSpritemap(kDrawFileSlotHelmet_Spritemaps[v6 >> 1], enemy_projectile_id[v5 + 5], enemy_projectile_id[v5 + 10], 3584); + DrawMenuSpritemap(kDrawFileSlotHelmet_Spritemaps[v6 >> 1], eproj_id[v5 + 5], eproj_id[v5 + 10], 3584); } static Func_V *const kFileSelectMapFuncs[23] = { // 0x819E3E FileSelectMap_0, @@ -1391,8 +1391,8 @@ void FileSelectMenu_1_LoadFileSelectMenuBG2(void) { // 0x819E93 v2->vram_dst = (reg_BG2SC & 0xFC) << 8; vram_write_queue_tail = v1 + 7; ++menu_index; - enemy_projectile_enable_flag = 1; - enemy_projectile_id[0] = 0; + eproj_enable_flag = 1; + eproj_id[0] = 0; } void FileSelectMenu_2_InitMain(void) { // 0x819ED6 @@ -1443,33 +1443,33 @@ void FileSelectMenu_16(void) { // 0x819EF3 enemy_data[0].palette_index = 0; LoadMenuTilemap(0x688, addr_kMenuTilemap_Exit); QueueTransferOfMenuTilemapToVramBG1(); - enemy_projectile_enable_flag = 1; - enemy_projectile_unk198F = 0; - enemy_projectile_index = 0; - enemy_projectile_init_param_1 = 0; - enemy_projectile_unk1995 = 0; - enemy_projectile_id[0] = 0; - enemy_projectile_id[1] = 0; - enemy_projectile_id[2] = 0; - enemy_projectile_id[3] = 0; - enemy_projectile_id[4] = 0; - enemy_projectile_id[5] = 0; - enemy_projectile_id[10] = 0; - enemy_projectile_id[6] = 0; - enemy_projectile_id[11] = 0; - enemy_projectile_id[7] = 100; - enemy_projectile_id[8] = 100; - enemy_projectile_id[9] = 100; - enemy_projectile_id[12] = 47; - enemy_projectile_id[13] = 87; - enemy_projectile_id[14] = 127; + eproj_enable_flag = 1; + eproj_unk198F = 0; + eproj_index = 0; + eproj_init_param_1 = 0; + eproj_unk1995 = 0; + eproj_id[0] = 0; + eproj_id[1] = 0; + eproj_id[2] = 0; + eproj_id[3] = 0; + eproj_id[4] = 0; + eproj_id[5] = 0; + eproj_id[10] = 0; + eproj_id[6] = 0; + eproj_id[11] = 0; + eproj_id[7] = 100; + eproj_id[8] = 100; + eproj_id[9] = 100; + eproj_id[12] = 47; + eproj_id[13] = 87; + eproj_id[14] = 127; screen_fade_delay = 1; screen_fade_counter = 1; ScreenOn(); ++menu_index; - enemy_projectile_id[15] = 0; - enemy_projectile_id[16] = 0; - enemy_projectile_id[17] = 0; + eproj_id[15] = 0; + eproj_id[16] = 0; + eproj_id[17] = 0; } uint8 LoadFromSram_(uint16 a) { // 0x81A053 @@ -1479,8 +1479,8 @@ uint8 LoadFromSram_(uint16 a) { // 0x81A053 void FileSelectMenu_3_FadeInToMain(void) { // 0x81A058 DrawFileSelectSamusHelmets(); int v0 = (uint16)(4 * selected_save_slot) >> 1; - enemy_projectile_id[10] = kMenuSelectionMissileXY[v0]; - enemy_projectile_id[5] = kMenuSelectionMissileXY[v0 + 1]; + eproj_id[10] = kMenuSelectionMissileXY[v0]; + eproj_id[5] = kMenuSelectionMissileXY[v0 + 1]; DrawMenuSelectionMissile(); DrawBorderAroundSamusData(); HandleFadeIn(); @@ -1597,15 +1597,15 @@ void FileSelectMenu_4_Main(void) { // 0x81A1C2 QueueSfx1_Max6(0x37); LABEL_28: v3 = (uint16)(4 * selected_save_slot) >> 1; - enemy_projectile_id[10] = kMenuSelectionMissileXY[v3]; - enemy_projectile_id[5] = kMenuSelectionMissileXY[v3 + 1]; + eproj_id[10] = kMenuSelectionMissileXY[v3]; + eproj_id[5] = kMenuSelectionMissileXY[v3 + 1]; return; } v0 = selected_save_slot; if (sign16(selected_save_slot - 3)) { QueueSfx1_Max6(0x2A); menu_index += 27; - *(uint16 *)((uint8 *)&enemy_projectile_enable_flag + (uint16)(2 * (selected_save_slot + 2))) = 1; + *(uint16 *)((uint8 *)&eproj_enable_flag + (uint16)(2 * (selected_save_slot + 2))) = 1; *(uint16 *)&g_sram[0x1FEC] = selected_save_slot; *(uint16 *)&g_sram[0x1FEE] = ~selected_save_slot; RtlWriteSram(); diff --git a/src/sm_82.c b/src/sm_82.c index 4209023..2b8280e 100644 --- a/src/sm_82.c +++ b/src/sm_82.c @@ -123,7 +123,7 @@ CoroutineRet InitAndLoadGameData_Async(void) { // 0x828000 screen_fade_delay = 1; screen_fade_counter = 1; EnableNMI(); - EnableEnemyProjectiles(); + EnableEprojs(); EnablePLMs(); EnablePaletteFx(); EnableHdmaObjects(); @@ -407,7 +407,7 @@ CoroutineRet GameState_36_WhitingOutFromTimeUp(void) { // 0x828431 game_options_screen_index = 0; menu_index = 0; for (int i = 254; i >= 0; i -= 2) - enemy_projectile_y_subpos[(i >> 1) + 15] = 0; + eproj_y_subpos[(i >> 1) + 15] = 0; game_state = kGameState_25_SamusNoHealth; } else { game_state = kGameState_37_CeresGoesBoomWithSamus; @@ -499,7 +499,7 @@ CoroutineRet GameState_43_TransitionFromDemo(void) { // 0x828593 DisablePaletteFx(); ClearPaletteFXObjects(); for (int i = 656; i >= 0; i -= 2) - *(uint16 *)((uint8 *)&enemy_projectile_enable_flag + i) = 0; + *(uint16 *)((uint8 *)&eproj_enable_flag + i) = 0; for (int j = 538; j >= 0; j -= 2) *(uint16 *)((uint8 *)&hud_item_tilemap_palette_bits + j) = 0; next_gameplay_CGWSEL = 0; @@ -517,7 +517,7 @@ CoroutineRet GameState_44_TransitionFromDemo(void) { // 0x8285FB game_state = kGameState_40_TransitionToDemo; } else if (substate) { LoadTitleSequenceGraphics(); - enemy_projectile_x_pos[4] = 2; + eproj_x_pos[4] = 2; cinematic_function = FUNC16(CinematicFunctionNone); } else { QueueMusic_Delayed8(0); @@ -894,8 +894,8 @@ CoroutineRet GameState_8_MainGameplay(void) { // 0x828B44 void DeleteAllOptionsMenuObjects_(void) { for (int i = 14; i >= 0; i -= 2) { int v1 = i >> 1; - enemy_projectile_y_pos[v1 + 5] = 0; - enemy_projectile_y_vel[v1 + 17] = 0; + eproj_y_pos[v1 + 5] = 0; + eproj_y_vel[v1 + 17] = 0; } } @@ -3186,30 +3186,30 @@ void DrawBorderAroundDataClearMode(void) { // 0x82BA5B static const uint16 kDrawMenuSelectionMissile_Enable[4] = { 8, 8, 8, 8 }; static const uint16 kDrawMenuSelectionMissile_SpriteMap[4] = { 0x37, 0x36, 0x35, 0x34 }; void DrawMenuSelectionMissile(void) { // 0x82BA6E - if (enemy_projectile_enable_flag) { - if (!--enemy_projectile_enable_flag) { - enemy_projectile_id[0] = (LOBYTE(enemy_projectile_id[0]) + 1) & 3; - enemy_projectile_enable_flag = kDrawMenuSelectionMissile_Enable[enemy_projectile_id[0]]; + if (eproj_enable_flag) { + if (!--eproj_enable_flag) { + eproj_id[0] = (LOBYTE(eproj_id[0]) + 1) & 3; + eproj_enable_flag = kDrawMenuSelectionMissile_Enable[eproj_id[0]]; } } - DrawMenuSpritemap(kDrawMenuSelectionMissile_SpriteMap[enemy_projectile_id[0]], - enemy_projectile_id[5], enemy_projectile_id[10], 3584); + DrawMenuSpritemap(kDrawMenuSelectionMissile_SpriteMap[eproj_id[0]], + eproj_id[5], eproj_id[10], 3584); } void DrawFileCopyArrow(void) { // 0x82BABA uint16 v0; - if ((int16)(enemy_projectile_id[16] - enemy_projectile_id[17]) >= 0) { + if ((int16)(eproj_id[16] - eproj_id[17]) >= 0) { v0 = 3; - if (sign16(enemy_projectile_id[16] - enemy_projectile_id[17] - 2)) { + if (sign16(eproj_id[16] - eproj_id[17] - 2)) { v0 = 4; - if (enemy_projectile_id[16] != 1) + if (eproj_id[16] != 1) v0 = 5; } } else { v0 = 0; - if (sign16(enemy_projectile_id[17] - enemy_projectile_id[16] - 2)) { + if (sign16(eproj_id[17] - eproj_id[16] - 2)) { v0 = 1; - if (enemy_projectile_id[16]) + if (eproj_id[16]) v0 = 2; } } @@ -3538,7 +3538,7 @@ CoroutineRet GameState_20_SamusNoHealth_BlackOut(void) { // 0x82DCE0 screen_fade_delay = 0; screen_fade_counter = 0; for (int i = 254; i >= 0; i -= 2) - enemy_projectile_y_subpos[(i >> 1) + 15] = 0; + eproj_y_subpos[(i >> 1) + 15] = 0; g_word_7E0DE8 = 16; game_options_screen_index = 3; g_word_7E0DE4 = 0; @@ -4014,7 +4014,7 @@ CoroutineRet DoorTransitionFunction_LoadMoreThings_Async(void) { LoadEnemyGfxToVram(); LoadRoomMusic(); - ClearEnemyProjectiles(); + ClearEprojs(); ClearAnimtiles(); ClearPaletteFXObjects(); ClearPLMs(); @@ -4927,9 +4927,9 @@ void GameOptionsMenu_A_ScrollControllerSettingsUp(void) { // 0x82F285 void sub_82F296(uint16 j) { // 0x82F296 int v1 = j >> 1; - enemy_projectile_y_pos[v1 + 13] = 24; - enemy_projectile_x_vel[v1 + 3] = 56; - enemy_projectile_x_vel[v1 + 11] = 3584; + eproj_y_pos[v1 + 13] = 24; + eproj_x_vel[v1 + 3] = 56; + eproj_x_vel[v1 + 11] = 3584; } void OptionsPreInstr_F2A9(uint16 v0) { // 0x82F2A9 if (game_state == kGameState_2_GameOptionsMenu) { @@ -4938,49 +4938,49 @@ void OptionsPreInstr_F2A9(uint16 v0) { // 0x82F2A9 if (v3) { const uint16 *v4 = (const uint16 *)RomPtr_82(v3 + 4 * menu_option_index); int v5 = v0 >> 1; - enemy_projectile_y_pos[v5 + 13] = *v4; - enemy_projectile_x_vel[v5 + 3] = v4[1]; + eproj_y_pos[v5 + 13] = *v4; + eproj_x_vel[v5 + 3] = v4[1]; } else { int v6 = v0 >> 1; - enemy_projectile_y_pos[v6 + 13] = 384; - enemy_projectile_x_vel[v6 + 3] = 16; + eproj_y_pos[v6 + 13] = 384; + eproj_x_vel[v6 + 3] = 16; } } else { int v1 = v0 >> 1; - enemy_projectile_E[v1 + 15] = 1; - enemy_projectile_y_vel[v1 + 17] = addr_off_82F4B6; + eproj_E[v1 + 15] = 1; + eproj_y_vel[v1 + 17] = addr_off_82F4B6; } } void sub_82F34B(uint16 j) { // 0x82F34B - enemy_projectile_y_pos[(j >> 1) + 13] = 124; + eproj_y_pos[(j >> 1) + 13] = 124; sub_82F369(j); } void sub_82F353(uint16 j) { // 0x82F353 - enemy_projectile_y_pos[(j >> 1) + 13] = 132; + eproj_y_pos[(j >> 1) + 13] = 132; sub_82F369(j); } void sub_82F35B(uint16 j) { // 0x82F35B - enemy_projectile_y_pos[(j >> 1) + 13] = 128; + eproj_y_pos[(j >> 1) + 13] = 128; sub_82F369(j); } void sub_82F363(uint16 j) { // 0x82F363 - enemy_projectile_y_pos[(j >> 1) + 13] = 128; + eproj_y_pos[(j >> 1) + 13] = 128; sub_82F369(j); } void sub_82F369(uint16 j) { // 0x82F369 int v1 = j >> 1; - enemy_projectile_x_vel[v1 + 3] = 16; - enemy_projectile_x_vel[v1 + 11] = 3584; + eproj_x_vel[v1 + 3] = 16; + eproj_x_vel[v1 + 11] = 3584; } void OptionsPreInstr_F376(uint16 k) { // 0x82F376 if (game_state != kGameState_2_GameOptionsMenu || game_options_screen_index == 6 && reg_INIDISP == 0x80) { int v1 = k >> 1; - enemy_projectile_E[v1 + 15] = 1; - enemy_projectile_y_vel[v1 + 17] = addr_off_82F4B6; + eproj_E[v1 + 15] = 1; + eproj_y_vel[v1 + 17] = addr_off_82F4B6; } } @@ -4989,15 +4989,15 @@ void OptionsPreInstr_F3A0(uint16 k) { // 0x82F3A0 case 6: if (reg_INIDISP == 0x80) { int v1 = k >> 1; - enemy_projectile_E[v1 + 15] = 1; - enemy_projectile_y_vel[v1 + 17] = -2890; + eproj_E[v1 + 15] = 1; + eproj_y_vel[v1 + 17] = -2890; } break; case 9: - enemy_projectile_x_vel[(k >> 1) + 3] -= 2; + eproj_x_vel[(k >> 1) + 3] -= 2; break; case 0xA: - enemy_projectile_x_vel[(k >> 1) + 3] += 2; + eproj_x_vel[(k >> 1) + 3] += 2; break; } } @@ -5005,31 +5005,31 @@ void OptionsPreInstr_F3A0(uint16 k) { // 0x82F3A0 void OptionsPreInstr_F3E2(uint16 k) { // 0x82F3E2 if (game_options_screen_index == 6 && reg_INIDISP == 0x80) { int v1 = k >> 1; - enemy_projectile_E[v1 + 15] = 1; - enemy_projectile_y_vel[v1 + 17] = -2890; + eproj_E[v1 + 15] = 1; + eproj_y_vel[v1 + 17] = -2890; } } void sub_82F404(uint16 k) { // 0x82F404 if (game_options_screen_index == 1) { int v1 = k >> 1; - enemy_projectile_E[v1 + 15] = 1; - enemy_projectile_y_vel[v1 + 17] = -2890; + eproj_E[v1 + 15] = 1; + eproj_y_vel[v1 + 17] = -2890; } } void sub_82F419(uint16 j) { // 0x82F419 int v1 = j >> 1; - enemy_projectile_y_pos[v1 + 13] = 216; - enemy_projectile_x_vel[v1 + 3] = 16; - enemy_projectile_x_vel[v1 + 11] = 3584; + eproj_y_pos[v1 + 13] = 216; + eproj_x_vel[v1 + 3] = 16; + eproj_x_vel[v1 + 11] = 3584; } void OptionsPreInstr_F42C(uint16 k) { // 0x82F42C if (game_state != 2) { int v1 = k >> 1; - enemy_projectile_E[v1 + 15] = 1; - enemy_projectile_y_vel[v1 + 17] = addr_off_82F4B6; + eproj_E[v1 + 15] = 1; + eproj_y_vel[v1 + 17] = addr_off_82F4B6; } } void LoadControllerOptionsFromControllerBindings(void) { // 0x82F4DC @@ -5041,23 +5041,23 @@ void LoadControllerOptionsFromControllerBindings(void) { // 0x82F4DC v2 = *(uint16 *)&g_ram[off_82F54A[v1]]; if ((v2 & kButton_X) != 0) { LABEL_9: - enemy_projectile_F[v1 + 13] = 0; + eproj_F[v1 + 13] = 0; goto LABEL_16; } if ((v2 & kButton_A) != 0) { - enemy_projectile_F[v1 + 13] = 1; + eproj_F[v1 + 13] = 1; } else if (v2 < 0) { - enemy_projectile_F[v1 + 13] = 2; + eproj_F[v1 + 13] = 2; } else if ((v2 & kButton_Select) != 0) { - enemy_projectile_F[v1 + 13] = 3; + eproj_F[v1 + 13] = 3; } else if ((v2 & kButton_Y) != 0) { - enemy_projectile_F[v1 + 13] = 4; + eproj_F[v1 + 13] = 4; } else if ((v2 & kButton_L) != 0) { - enemy_projectile_F[v1 + 13] = 5; + eproj_F[v1 + 13] = 5; } else { if ((v2 & kButton_R) == 0) goto LABEL_9; - enemy_projectile_F[v1 + 13] = 6; + eproj_F[v1 + 13] = 6; } LABEL_16: v0 += 2; @@ -5078,7 +5078,7 @@ uint8 OptionsMenuFunc8(void) { int v0 = 0, v2; do { v2 = v0; - *(uint16 *)&g_ram[off_82F54A[v0 >> 1]] = word_82F575[enemy_projectile_F[(v0 >> 1) + 13]]; + *(uint16 *)&g_ram[off_82F54A[v0 >> 1]] = word_82F575[eproj_F[(v0 >> 1) + 13]]; v0 += 2; } while (v2 < 12); return 0; @@ -5098,7 +5098,7 @@ void OptionsMenuFunc6(void) { v4 = v0; int v1 = v0 >> 1; uint16 v2 = g_word_82F639[v1]; - const uint16 *v3 = (const uint16 *)RomPtr_82(g_off_82F647[enemy_projectile_F[v1 + 13]]); + const uint16 *v3 = (const uint16 *)RomPtr_82(g_off_82F647[eproj_F[v1 + 13]]); *(uint16 *)((uint8 *)ram3000.pause_menu_map_tilemap + v2) = *v3; *(uint16 *)((uint8 *)&ram3000.pause_menu_map_tilemap[1] + v2) = v3[1]; *(uint16 *)((uint8 *)&ram3000.pause_menu_map_tilemap[2] + v2) = v3[2]; @@ -5107,13 +5107,13 @@ void OptionsMenuFunc6(void) { *(uint16 *)((uint8 *)&ram3000.pause_menu_map_tilemap[34] + v2) = v3[5]; v0 = v4 + 2; } while ((int16)(v4 - 12) < 0); - if (enemy_projectile_instr_list_ptr[0] != 5 && enemy_projectile_instr_list_ptr[0] != 6) { + if (eproj_instr_list_ptr[0] != 5 && eproj_instr_list_ptr[0] != 6) { *(uint32 *)&ram3000.menu.backup_of_io_registers_in_gameover[46] = *(uint32 *)g_word_82F6AD; ram3000.pause_menu_map_tilemap[665] = g_word_82F6AD[2]; *(uint32 *)&ram3000.menu.field_536[56] = *(uint32 *)&g_word_82F6AD[3]; ram3000.pause_menu_map_tilemap[697] = g_word_82F6AD[5]; } - if (enemy_projectile_instr_list_ptr[1] != 5 && enemy_projectile_instr_list_ptr[1] != 6) { + if (eproj_instr_list_ptr[1] != 5 && eproj_instr_list_ptr[1] != 6) { *(uint32 *)&ram3000.menu.field_536[184] = *(uint32 *)g_word_82F6AD; ram3000.pause_menu_map_tilemap[761] = g_word_82F6AD[2]; *(uint32 *)&ram3000.menu.menu_tilemap[46] = *(uint32 *)&g_word_82F6AD[3]; @@ -5134,15 +5134,15 @@ void OptionsMenuControllerFunc_0(void) { // 0x82F6B9 v1 = 0; uint16 v2 = v1; for (int i = 5; i >= 0; --i) { - if (enemy_projectile_F[(v2 >> 1) + 13] == r18) + if (eproj_F[(v2 >> 1) + 13] == r18) break; v2 += 2; if ((int16)(v2 - 14) >= 0) v2 = 0; } int v4 = menu_option_index; - uint16 r20 = enemy_projectile_F[v4 + 13]; - enemy_projectile_F[v4 + 13] = r18; - enemy_projectile_F[(v2 >> 1) + 13] = r20; + uint16 r20 = eproj_F[v4 + 13]; + eproj_F[v4 + 13] = r18; + eproj_F[(v2 >> 1) + 13] = r20; OptionsMenuFunc6(); } diff --git a/src/sm_84.c b/src/sm_84.c index f8411db..bc81c38 100644 --- a/src/sm_84.c +++ b/src/sm_84.c @@ -759,7 +759,7 @@ const uint8 *PlmInstr_ActivateSaveStationAndGotoIfNo(const uint8 *plmp, uint16 k return plmp - 2; // restart plm instr if (r == 2) return INSTRB_RETURN_ADDR(GET_WORD(plmp)); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_SaveStationElectricity, 0); + SpawnEprojWithRoomGfx(addr_kEproj_SaveStationElectricity, 0); load_station_index = plm_room_arguments[plm_id >> 1] & 7; PrepareBitAccess(load_station_index); used_save_stations_and_elevators[2 * area_index] |= bitmask; @@ -1695,7 +1695,7 @@ uint8 WakePlmIfSamusIsBelowAndRightOfTarget(uint16 k, uint16 x_r18, uint16 y_r20 void PlmPreInstr_OldTourianEscapeShaftEscape(uint16 k) { // 0x84B927 if (!WakePlmIfSamusIsBelowAndRightOfTarget(k, 240, 2080)) - SpawnEnemyProjectileWithRoomGfx(0xB4B1, 0); + SpawnEprojWithRoomGfx(0xB4B1, 0); } void PlmPreInstr_EscapeRoomBeforeOldTourianEscapeShaft(uint16 k) { // 0x84B948 @@ -1813,22 +1813,22 @@ const uint8 *PlmInstr_ClearTrigger(const uint8 *plmp, uint16 k) { // 0x84BBDD return plmp; } -const uint8 *PlmInstr_SpawnEnemyProjectile(const uint8 *plmp, uint16 k) { // 0x84BBE1 - SpawnEnemyProjectileWithRoomGfx(GET_WORD(plmp), 0); +const uint8 *PlmInstr_SpawnEproj(const uint8 *plmp, uint16 k) { // 0x84BBE1 + SpawnEprojWithRoomGfx(GET_WORD(plmp), 0); return plmp + 2; } -const uint8 *PlmInstr_WakeEnemyProjectileAtPlmPos(const uint8 *plmp, uint16 k) { // 0x84BBF0 +const uint8 *PlmInstr_WakeEprojAtPlmPos(const uint8 *plmp, uint16 k) { // 0x84BBF0 int i; uint16 v2 = plm_block_indices[k >> 1]; for (i = 34; i >= 0; i -= 2) { - if (v2 == enemy_projectile_E[i >> 1]) + if (v2 == eproj_E[i >> 1]) break; } int v4 = i >> 1; - enemy_projectile_instr_timers[v4] = 1; - enemy_projectile_instr_list_ptr[v4] += 2; + eproj_instr_timers[v4] = 1; + eproj_instr_list_ptr[v4] += 2; return plmp + 2; } @@ -2077,13 +2077,13 @@ uint16 SetBtsTo0x10AdvanceRowUp(uint16 k) { // 0x84C6A9 } uint8 PlmSetup_C82A_DownwardsClosedGate(uint16 j) { // 0x84C6BE - SpawnEnemyProjectileWithRoomGfx(0xE659, 0); + SpawnEprojWithRoomGfx(0xE659, 0); SetBts0x10FiveStepsDown(j); return 0; } uint8 PlmSetup_C832_UpwardsClosedGate(uint16 j) { // 0x84C6CB - SpawnEnemyProjectileWithRoomGfx(0xE675, 0); + SpawnEprojWithRoomGfx(0xE675, 0); SetBts0x10FiveStepsUp(j); return 0; } @@ -2403,7 +2403,7 @@ const uint8 *PlmInstr_SpawnFourMotherBrainGlass(const uint8 *plmp, uint16 k) { } void SpawnMotherBrainGlassShatteringShard(uint16 a) { // 0x84D331 - SpawnEnemyProjectileWithRoomGfx(0xCEFC, a); + SpawnEprojWithRoomGfx(0xCEFC, a); } void PlmPreInstr_WakePlmIfSamusHasBombs(uint16 k) { // 0x84D33B @@ -2417,7 +2417,7 @@ void PlmPreInstr_WakePlmIfSamusHasBombs(uint16 k) { // 0x84D33B } const uint8 *PlmInstr_SpawnTorizoStatueBreaking(const uint8 *plmp, uint16 k) { // 0x84D357 - SpawnEnemyProjectileWithRoomGfx(0xA993, GET_WORD(plmp)); + SpawnEprojWithRoomGfx(0xA993, GET_WORD(plmp)); return plmp + 2; } @@ -2452,8 +2452,8 @@ const uint8 *PlmInstr_EnableWaterPhysics(const uint8 *plmp, uint16 k) { // 0x84 return plmp; } -const uint8 *PlmInstr_SpawnN00bTubeCrackEnemyProjectile(const uint8 *plmp, uint16 k) { // 0x84D52C - SpawnEnemyProjectileWithRoomGfx(0xD904, 0); +const uint8 *PlmInstr_SpawnN00bTubeCrackEproj(const uint8 *plmp, uint16 k) { // 0x84D52C + SpawnEprojWithRoomGfx(0xD904, 0); return plmp; } @@ -2464,22 +2464,22 @@ const uint8 *PlmInstr_DiagonalEarthquake(const uint8 *plmp, uint16 k) { // 0x84 } const uint8 *PlmInstr_Spawn10shardsAnd6n00bs(const uint8 *plmp, uint16 k) { // 0x84D543 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 0); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 2); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 4); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 6); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 8); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 0xA); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 0xC); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 0xE); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 0x10); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeShards, 0x12); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 0); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 2); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 4); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 6); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 8); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 0xA); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 0); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 2); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 4); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 6); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 8); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 0xA); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 0xC); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 0xE); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 0x10); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeShards, 0x12); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 0); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 2); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 4); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 6); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 8); + SpawnEprojWithRoomGfx(addr_kEproj_N00bTubeReleasedAirBubbles, 0xA); return plmp; } @@ -2574,24 +2574,24 @@ void PlmPreInstr_WakePlmIfRoomArgumentDoorIsSet(uint16 k) { // 0x84D753 } const uint8 *PlmInstr_ShootEyeDoorProjectileWithProjectileArg(const uint8 *plmp, uint16 k) { // 0x84D77A - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_EyeDoorProjectile, GET_WORD(plmp)); + SpawnEprojWithRoomGfx(addr_kEproj_EyeDoorProjectile, GET_WORD(plmp)); QueueSfx2_Max6(0x4C); return plmp + 2; } -const uint8 *PlmInstr_SpawnEyeDoorSweatEnemyProjectile(const uint8 *plmp, uint16 k) { // 0x84D790 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_EyeDoorSweat, GET_WORD(plmp)); +const uint8 *PlmInstr_SpawnEyeDoorSweatEproj(const uint8 *plmp, uint16 k) { // 0x84D790 + SpawnEprojWithRoomGfx(addr_kEproj_EyeDoorSweat, GET_WORD(plmp)); return plmp + 2; } const uint8 *PlmInstr_SpawnTwoEyeDoorSmoke(const uint8 *plmp, uint16 k) { // 0x84D79F - SpawnEnemyProjectileWithRoomGfx(0xE517, 0x30A); - SpawnEnemyProjectileWithRoomGfx(0xE517, 0x30A); + SpawnEprojWithRoomGfx(0xE517, 0x30A); + SpawnEprojWithRoomGfx(0xE517, 0x30A); return plmp; } const uint8 *PlmInstr_SpawnEyeDoorSmokeProjectile(const uint8 *plmp, uint16 k) { // 0x84D7B6 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_EyeDoorSmoke, 0xB); + SpawnEprojWithRoomGfx(addr_kEproj_EyeDoorSmoke, 0xB); return plmp; } @@ -3181,8 +3181,8 @@ const uint8 *CallPlmInstr(uint32 ea, const uint8 *j, uint16 k) { case fnPlmInstr_JumpIfSamusHasNoBombs: return PlmInstr_JumpIfSamusHasNoBombs(j, k); case fnPlmInstr_MovePlmRight4Blocks: return PlmInstr_MovePlmRight4Blocks(j, k); case fnPlmInstr_ClearTrigger: return PlmInstr_ClearTrigger(j, k); - case fnPlmInstr_SpawnEnemyProjectile: return PlmInstr_SpawnEnemyProjectile(j, k); - case fnPlmInstr_WakeEnemyProjectileAtPlmPos: return PlmInstr_WakeEnemyProjectileAtPlmPos(j, k); + case fnPlmInstr_SpawnEproj: return PlmInstr_SpawnEproj(j, k); + case fnPlmInstr_WakeEprojAtPlmPos: return PlmInstr_WakeEprojAtPlmPos(j, k); case fnPlmInstr_SetGreyDoorPreInstr: return PlmInstr_SetGreyDoorPreInstr(j, k); case fnPlmInstr_FxBaseYPos_0x2D2: return PlmInstr_FxBaseYPos_0x2D2(j, k); case fnPlmInstr_GotoIfRoomArgLess: return PlmInstr_GotoIfRoomArgLess(j, k); @@ -3192,11 +3192,11 @@ const uint8 *CallPlmInstr(uint32 ea, const uint8 *j, uint16 k) { case fnPlmInstr_TransferWreckedShipChozoSpikesToSlopes: return PlmInstr_TransferWreckedShipChozoSpikesToSlopes(j, k); case fnPlmInstr_TransferWreckedShipSlopesToChozoSpikes: return PlmInstr_TransferWreckedShipSlopesToChozoSpikes(j, k); case fnPlmInstr_EnableWaterPhysics: return PlmInstr_EnableWaterPhysics(j, k); - case fnPlmInstr_SpawnN00bTubeCrackEnemyProjectile: return PlmInstr_SpawnN00bTubeCrackEnemyProjectile(j, k); + case fnPlmInstr_SpawnN00bTubeCrackEproj: return PlmInstr_SpawnN00bTubeCrackEproj(j, k); case fnPlmInstr_DiagonalEarthquake: return PlmInstr_DiagonalEarthquake(j, k); case fnPlmInstr_Spawn10shardsAnd6n00bs: return PlmInstr_Spawn10shardsAnd6n00bs(j, k); case fnPlmInstr_ShootEyeDoorProjectileWithProjectileArg: return PlmInstr_ShootEyeDoorProjectileWithProjectileArg(j, k); - case fnPlmInstr_SpawnEyeDoorSweatEnemyProjectile: return PlmInstr_SpawnEyeDoorSweatEnemyProjectile(j, k); + case fnPlmInstr_SpawnEyeDoorSweatEproj: return PlmInstr_SpawnEyeDoorSweatEproj(j, k); case fnPlmInstr_SpawnTwoEyeDoorSmoke: return PlmInstr_SpawnTwoEyeDoorSmoke(j, k); case fnPlmInstr_SpawnEyeDoorSmokeProjectile: return PlmInstr_SpawnEyeDoorSmokeProjectile(j, k); case fnPlmInstr_MoveUpAndMakeBlueDoorFacingRight: return PlmInstr_MoveUpAndMakeBlueDoorFacingRight(j, k); diff --git a/src/sm_86.c b/src/sm_86.c index e860b2e..4ca7b37 100644 --- a/src/sm_86.c +++ b/src/sm_86.c @@ -16,7 +16,7 @@ uint16 eproj_spawn_varE24; #define off_868A75 ((uint16*)RomFixedPtr(0x868a75)) #define word_869105 ((uint16*)RomFixedPtr(0x869105)) #define off_86A64D ((uint16*)RomFixedPtr(0x86a64d)) -#define stru_86BB50 (*(EnemyProjectileDef*)RomFixedPtr(0x86bb50)) +#define stru_86BB50 (*(EprojDef*)RomFixedPtr(0x86bb50)) #define off_86BB1E ((uint16*)RomFixedPtr(0x86bb1e)) #define kCommonEnemySpeeds_Quadratic_Copy ((uint16*)RomFixedPtr(0xa0cbc7)) #define kCommonEnemySpeeds_Quadratic32 ((uint32*)RomFixedPtr(0xa0cbc7)) @@ -61,8 +61,8 @@ static Rect16U Eproj_GetCollDetectRect(uint16 k); static void CallEprojPreInstr(uint32 ea, uint16 k); static const uint8 *CallEprojInstr(uint32 ea, uint16 k, const uint8 *j); -static void CallEnemyProjectileInit(uint32 ea, uint16 j); -static uint16 CheckIfEnemyProjectileIsOffScreen(uint16 k); +static void CallEprojInit(uint32 ea, uint16 j); +static uint16 CheckIfEprojIsOffScreen(uint16 k); uint16 MoveEprojWithVelocity(uint16 k); uint16 MoveEprojWithVelocityX(uint16 k); @@ -95,63 +95,63 @@ void sub_86E0A4(uint16 k); void sub_86EC0C(uint16 k); -void EnableEnemyProjectiles(void) { // 0x868000 - enemy_projectile_enable_flag |= 0x8000; +void EnableEprojs(void) { // 0x868000 + eproj_enable_flag |= 0x8000; } -void DisableEnemyProjectiles(void) { // 0x86800B - enemy_projectile_enable_flag &= ~0x8000; +void DisableEprojs(void) { // 0x86800B + eproj_enable_flag &= ~0x8000; } -void ClearEnemyProjectiles(void) { // 0x868016 +void ClearEprojs(void) { // 0x868016 for (int i = 34; i >= 0; i -= 2) - enemy_projectile_id[i >> 1] = 0; + eproj_id[i >> 1] = 0; } -static void SpawnEnemyProjectileInner(uint16 j, uint16 gfx_idx) { // 0x868027 +static void SpawnEprojInner(uint16 j, uint16 gfx_idx) { // 0x868027 uint16 v3 = 34; - while (enemy_projectile_id[v3 >> 1]) { + while (eproj_id[v3 >> 1]) { v3 -= 2; if ((v3 & 0x8000) != 0) return; } int v4 = v3 >> 1; - enemy_projectile_gfx_idx[v4] = gfx_idx; - enemy_projectile_id[v4] = j; - EnemyProjectileDef *Edef = get_EnemyProjectileDef(j); - enemy_projectile_pre_instr[v4] = Edef->pre_instr_ptr; - enemy_projectile_instr_list_ptr[v4] = Edef->instr_list; - enemy_projectile_radius[v4] = Edef->radius; - enemy_projectile_properties[v4] = Edef->properties; - enemy_projectile_instr_timers[v4] = 1; - enemy_projectile_spritemap_ptr[v4] = 0x8000; - enemy_projectile_E[v4] = 0; - enemy_projectile_F[v4] = 0; - enemy_projectile_timers[v4] = 0; - enemy_projectile_x_subpos[v4] = 0; - enemy_projectile_y_subpos[v4] = 0; - enemy_projectile_G[v4] = 0; - CallEnemyProjectileInit(Edef->init_code_ptr | 0x860000, v3); + eproj_gfx_idx[v4] = gfx_idx; + eproj_id[v4] = j; + EprojDef *Edef = get_EprojDef(j); + eproj_pre_instr[v4] = Edef->pre_instr_ptr; + eproj_instr_list_ptr[v4] = Edef->instr_list; + eproj_radius[v4] = Edef->radius; + eproj_properties[v4] = Edef->properties; + eproj_instr_timers[v4] = 1; + eproj_spritemap_ptr[v4] = 0x8000; + eproj_E[v4] = 0; + eproj_F[v4] = 0; + eproj_timers[v4] = 0; + eproj_x_subpos[v4] = 0; + eproj_y_subpos[v4] = 0; + eproj_G[v4] = 0; + CallEprojInit(Edef->init_code_ptr | 0x860000, v3); } -void SpawnEnemyProjectileWithGfx(uint16 a, uint16 k, uint16 j) { // 0x868027 - enemy_projectile_init_param_1 = a; +void SpawnEprojWithGfx(uint16 a, uint16 k, uint16 j) { // 0x868027 + eproj_init_param_1 = a; EnemyData *E = gEnemyData(k); - SpawnEnemyProjectileInner(j, E->vram_tiles_index | E->palette_index); + SpawnEprojInner(j, E->vram_tiles_index | E->palette_index); } -void SpawnEnemyProjectileWithRoomGfx(uint16 j, uint16 a) { // 0x868097 - enemy_projectile_init_param_1 = a; - SpawnEnemyProjectileInner(j, 0); +void SpawnEprojWithRoomGfx(uint16 j, uint16 a) { // 0x868097 + eproj_init_param_1 = a; + SpawnEprojInner(j, 0); } static void EprojRunOne(uint16 k) { // 0x868125 - CallEprojPreInstr(enemy_projectile_pre_instr[k >> 1] | 0x860000, k); - uint16 v1 = enemy_projectile_index; - int v2 = enemy_projectile_index >> 1; - if (enemy_projectile_instr_timers[v2]-- == 1) { + CallEprojPreInstr(eproj_pre_instr[k >> 1] | 0x860000, k); + uint16 v1 = eproj_index; + int v2 = eproj_index >> 1; + if (eproj_instr_timers[v2]-- == 1) { const uint8 *base = RomBankBase(0x86); - const uint8 *p = base + enemy_projectile_instr_list_ptr[v2]; + const uint8 *p = base + eproj_instr_list_ptr[v2]; while (1) { if ((GET_WORD(p) & 0x8000) == 0) break; @@ -163,41 +163,41 @@ static void EprojRunOne(uint16 k) { // 0x868125 } } int v7 = v1 >> 1; - enemy_projectile_instr_timers[v7] = GET_WORD(p); - enemy_projectile_spritemap_ptr[v7] = GET_WORD(p + 2); - enemy_projectile_instr_list_ptr[v7] = p + 4 - base; + eproj_instr_timers[v7] = GET_WORD(p); + eproj_spritemap_ptr[v7] = GET_WORD(p + 2); + eproj_instr_list_ptr[v7] = p + 4 - base; } } void EprojRunAll(void) { // 0x868104 - if ((enemy_projectile_enable_flag & 0x8000) != 0) { + if ((eproj_enable_flag & 0x8000) != 0) { for (int i = 34; i >= 0; i -= 2) { - enemy_projectile_index = i; - if (enemy_projectile_id[i >> 1]) { + eproj_index = i; + if (eproj_id[i >> 1]) { EprojRunOne(i); - i = enemy_projectile_index; + i = eproj_index; } } } } const uint8 *EprojInstr_Delete(uint16 k, const uint8 *epjp) { // 0x868154 - enemy_projectile_id[k >> 1] = 0; + eproj_id[k >> 1] = 0; return 0; } const uint8 *EprojInstr_Sleep(uint16 k, const uint8 *epjp) { // 0x868159 - enemy_projectile_instr_list_ptr[k >> 1] = epjp - RomBankBase(0x86) - 2; + eproj_instr_list_ptr[k >> 1] = epjp - RomBankBase(0x86) - 2; return 0; } const uint8 *EprojInstr_SetPreInstr_(uint16 k, const uint8 *epjp) { // 0x868161 - enemy_projectile_pre_instr[k >> 1] = GET_WORD(epjp); + eproj_pre_instr[k >> 1] = GET_WORD(epjp); return epjp + 2; } const uint8 *EprojInstr_ClearPreInstr(uint16 k, const uint8 *epjp) { // 0x86816A - enemy_projectile_pre_instr[k >> 1] = 0x8170; + eproj_pre_instr[k >> 1] = 0x8170; return epjp; } @@ -223,7 +223,7 @@ const uint8 *EprojInstr_GotoRel(uint16 k, const uint8 *epjp) { // 0x8681B0 const uint8 *EprojInstr_DecTimerAndGotoIfNonZero(uint16 k, const uint8 *epjp) { // 0x8681C6 int v2 = k >> 1; - if (enemy_projectile_timers[v2]-- == 1) + if (eproj_timers[v2]-- == 1) return epjp + 2; else return EprojInstr_Goto(k, epjp); @@ -231,14 +231,14 @@ const uint8 *EprojInstr_DecTimerAndGotoIfNonZero(uint16 k, const uint8 *epjp) { const uint8 *EprojInstr_DecTimerAndGotoRelIfNonZero(uint16 k, const uint8 *epjp) { // 0x8681CE int v2 = k >> 1; - if (enemy_projectile_timers[v2]-- == 1) + if (eproj_timers[v2]-- == 1) return epjp + 1; else return EprojInstr_GotoRel(k, epjp); } const uint8 *EprojInstr_SetTimer(uint16 k, const uint8 *epjp) { // 0x8681D5 - enemy_projectile_timers[k >> 1] = GET_WORD(epjp); + eproj_timers[k >> 1] = GET_WORD(epjp); return epjp + 2; } @@ -252,7 +252,7 @@ const uint8 *EprojInstr_MoveRandomlyWithinRadius(uint16 k, const uint8 *epjp) { Random = NextRandom(); v4 = (*epjp & Random) - epjp[1]; } while (v4 < 0); - enemy_projectile_x_pos[k >> 1] += sign16(r18) ? -(uint8)v4 : (uint8)v4; + eproj_x_pos[k >> 1] += sign16(r18) ? -(uint8)v4 : (uint8)v4; do { LOBYTE(v6) = NextRandom(); LOBYTE(v6) = (epjp[2] & v6) - epjp[3]; @@ -260,80 +260,80 @@ const uint8 *EprojInstr_MoveRandomlyWithinRadius(uint16 k, const uint8 *epjp) { v6 = (uint8)v6; if ((r18 & 0x4000) != 0) v6 = -(uint8)v6; - enemy_projectile_y_pos[k >> 1] += v6; + eproj_y_pos[k >> 1] += v6; return epjp + 4; } const uint8 *EprojInstr_SetProjectileProperties(uint16 k, const uint8 *epjp) { // 0x868230 - enemy_projectile_properties[k >> 1] |= GET_WORD(epjp); + eproj_properties[k >> 1] |= GET_WORD(epjp); return epjp + 2; } const uint8 *EprojInstr_ClearProjectileProperties(uint16 k, const uint8 *epjp) { // 0x86823C - enemy_projectile_properties[k >> 1] &= GET_WORD(epjp); + eproj_properties[k >> 1] &= GET_WORD(epjp); return epjp + 2; } const uint8 *EprojInstr_EnableCollisionWithSamusProj(uint16 k, const uint8 *epjp) { // 0x868248 - enemy_projectile_properties[k >> 1] |= 0x8000; + eproj_properties[k >> 1] |= 0x8000; return epjp; } const uint8 *EprojInstr_DisableCollisionWithSamusProj(uint16 k, const uint8 *epjp) { // 0x868252 - enemy_projectile_properties[k >> 1] &= ~0x8000; + eproj_properties[k >> 1] &= ~0x8000; return epjp; } const uint8 *EprojInstr_DisableCollisionWithSamus(uint16 k, const uint8 *epjp) { // 0x86825C - enemy_projectile_properties[k >> 1] |= 0x2000; + eproj_properties[k >> 1] |= 0x2000; return epjp; } const uint8 *EprojInstr_EnableCollisionWithSamus(uint16 k, const uint8 *epjp) { // 0x868266 - enemy_projectile_properties[k >> 1] &= ~0x2000; + eproj_properties[k >> 1] &= ~0x2000; return epjp; } const uint8 *EprojInstr_SetToNotDieOnContact(uint16 k, const uint8 *epjp) { // 0x868270 - enemy_projectile_properties[k >> 1] |= 0x4000; + eproj_properties[k >> 1] |= 0x4000; return epjp; } const uint8 *EprojInstr_SetToDieOnContact(uint16 k, const uint8 *epjp) { // 0x86827A - enemy_projectile_properties[k >> 1] &= ~0x4000; + eproj_properties[k >> 1] &= ~0x4000; return epjp; } const uint8 *EprojInstr_SetLowPriority(uint16 k, const uint8 *epjp) { // 0x868284 - enemy_projectile_properties[k >> 1] |= 0x1000; + eproj_properties[k >> 1] |= 0x1000; return epjp; } const uint8 *EprojInstr_SetHighPriority(uint16 k, const uint8 *epjp) { // 0x86828E - enemy_projectile_properties[k >> 1] &= ~0x1000; + eproj_properties[k >> 1] &= ~0x1000; return epjp; } const uint8 *EprojInstr_SetXyRadius(uint16 k, const uint8 *epjp) { // 0x868298 - enemy_projectile_radius[k >> 1] = GET_WORD(epjp); + eproj_radius[k >> 1] = GET_WORD(epjp); return epjp + 2; } const uint8 *EprojInstr_SetXyRadiusZero(uint16 k, const uint8 *epjp) { // 0x8682A1 - enemy_projectile_radius[k >> 1] = 0; + eproj_radius[k >> 1] = 0; return epjp; } const uint8 *EprojInstr_CalculateDirectionTowardsSamus(uint16 k, const uint8 *epjp) { // 0x8682A5 int v2 = k >> 1; - uint16 x = samus_x_pos - enemy_projectile_x_pos[v2]; - uint16 y = samus_y_pos - enemy_projectile_y_pos[v2]; + uint16 x = samus_x_pos - eproj_x_pos[v2]; + uint16 y = samus_y_pos - eproj_y_pos[v2]; uint16 v3 = 2 * CalculateAngleFromXY(x, y); - int v4 = enemy_projectile_index >> 1; - enemy_projectile_E[v4] = v3; + int v4 = eproj_index >> 1; + eproj_E[v4] = v3; int v5 = v3 >> 1; - enemy_projectile_x_vel[v4] = kSinCosTable8bit_Sext[v5 + 64]; - enemy_projectile_y_vel[v4] = kSinCosTable8bit_Sext[v5]; + eproj_x_vel[v4] = kSinCosTable8bit_Sext[v5 + 64]; + eproj_y_vel[v4] = kSinCosTable8bit_Sext[v5]; return epjp; } @@ -423,42 +423,42 @@ const uint8 *EprojInstr_QueueSfx3_Max1(uint16 k, const uint8 *epjp) { // 0x8683 return epjp + 1; } -void DrawLowPriorityEnemyProjectiles(void) { // 0x868390 +void DrawLowPriorityEprojs(void) { // 0x868390 Point16U pt = GetValuesForScreenShaking(); for (int i = 34; i >= 0; i -= 2) { int v1 = i >> 1; - if (enemy_projectile_id[v1]) { - if ((enemy_projectile_properties[v1] & 0x1000) != 0) - DrawEnemyProjectiles(i, pt); + if (eproj_id[v1]) { + if ((eproj_properties[v1] & 0x1000) != 0) + DrawEprojs(i, pt); } } } -void DrawHighPriorityEnemyProjectiles(void) { // 0x8683B2 +void DrawHighPriorityEprojs(void) { // 0x8683B2 Point16U pt = GetValuesForScreenShaking(); for (int i = 34; i >= 0; i -= 2) { int v1 = i >> 1; - if (enemy_projectile_id[v1]) { - if ((enemy_projectile_properties[v1] & 0x1000) == 0) - DrawEnemyProjectiles(i, pt); + if (eproj_id[v1]) { + if ((eproj_properties[v1] & 0x1000) == 0) + DrawEprojs(i, pt); } } } -void DrawEnemyProjectiles(uint16 k, Point16U pt) { // 0x8683D6 +void DrawEprojs(uint16 k, Point16U pt) { // 0x8683D6 int v1 = k >> 1; - uint16 v2 = enemy_projectile_spritemap_ptr[v1]; - uint16 r26 = LOBYTE(enemy_projectile_gfx_idx[v1]); - uint16 R28 = enemy_projectile_gfx_idx[v1] & 0xFF00; - uint16 r20 = pt.x + enemy_projectile_x_pos[v1] - layer1_x_pos; + uint16 v2 = eproj_spritemap_ptr[v1]; + uint16 r26 = LOBYTE(eproj_gfx_idx[v1]); + uint16 R28 = eproj_gfx_idx[v1] & 0xFF00; + uint16 r20 = pt.x + eproj_x_pos[v1] - layer1_x_pos; if (((r20 + 128) & 0xFE00) == 0) { - uint16 v3 = pt.y + enemy_projectile_y_pos[v1] - layer1_y_pos; + uint16 v3 = pt.y + eproj_y_pos[v1] - layer1_y_pos; uint16 r18 = v3; if ((v3 & 0xFF00) != 0) { if (((v3 + 128) & 0xFE00) == 0) - DrawEnemyProjectileSpritemapWithBaseTileOffscreen(0x8D, v2, r20, r18, r26, R28); + DrawEprojSpritemapWithBaseTileOffscreen(0x8D, v2, r20, r18, r26, R28); } else { - DrawEnemyProjectileSpritemapWithBaseTile(0x8D, v2, r20, r18, r26, R28); + DrawEprojSpritemapWithBaseTile(0x8D, v2, r20, r18, r26, R28); } } } @@ -531,11 +531,11 @@ static uint8 EprojColl_85C2(EprojCollInfo *eci, uint16 a, uint16 k) { uint16 temp_collision_DD6 = BTS[k] >> 6; uint16 v2 = 4 * a + (temp_collision_DD6 ^ ((eci->eci_r34 & 8) >> 3)); if (!eci->eci_r32) { - int v3 = enemy_projectile_index >> 1; - if (((enemy_projectile_y_pos[v3] - eci->eci_r30) & 8) != 0 + int v3 = eproj_index >> 1; + if (((eproj_y_pos[v3] - eci->eci_r30) & 8) != 0 || CHECK_locret_868728(v2) >= 0) { uint16 v4 = v2 ^ 2; - if (((eci->eci_r30 + enemy_projectile_y_pos[v3] - 1) & 8) == 0 + if (((eci->eci_r30 + eproj_y_pos[v3] - 1) & 8) == 0 || CHECK_locret_868728(v4) >= 0) { return 0; } @@ -543,14 +543,14 @@ static uint8 EprojColl_85C2(EprojCollInfo *eci, uint16 a, uint16 k) { goto LABEL_17; } if (!eci->eci_r26) { - if (((eci->eci_r30 + enemy_projectile_y_pos[enemy_projectile_index >> 1] - 1) & 8) == 0) { + if (((eci->eci_r30 + eproj_y_pos[eproj_index >> 1] - 1) & 8) == 0) { if (CHECK_locret_868728(v2) >= 0) return 0; goto LABEL_17; } goto LABEL_14; } - if (eci->eci_r26 != eci->eci_r32 || ((enemy_projectile_y_pos[enemy_projectile_index >> 1] - eci->eci_r30) & 8) == 0) { + if (eci->eci_r26 != eci->eci_r32 || ((eproj_y_pos[eproj_index >> 1] - eci->eci_r30) & 8) == 0) { LABEL_14: if (CHECK_locret_868728(v2) < 0) goto LABEL_17; @@ -558,29 +558,29 @@ LABEL_14: if (CHECK_locret_868728(v2 ^ 2) >= 0) return 0; LABEL_17:; - int v6 = enemy_projectile_index >> 1; + int v6 = eproj_index >> 1; uint16 v7; - enemy_projectile_x_subpos[v6] = 0; + eproj_x_subpos[v6] = 0; if ((eci->eci_r20 & 0x8000) != 0) v7 = eci->eci_r28 + (eci->eci_r34 | 7) + 1; else v7 = (eci->eci_r34 & 0xFFF8) - eci->eci_r28; - enemy_projectile_x_pos[v6] = v7; + eproj_x_pos[v6] = v7; return 1; } static uint8 EprojColl_8676(EprojCollInfo *eci, uint16 a, uint16 k, uint16 j) { // 0x868676 - uint16 v2 = enemy_projectile_index; + uint16 v2 = eproj_index; uint16 temp_collision_DD4 = 4 * a; uint16 temp_collision_DD6 = BTS[k] >> 6; uint16 v3 = 4 * a + (temp_collision_DD6 ^ ((eci->eci_r34 & 8) >> 2)); if (!eci->eci_r32) { int v4 = v2 >> 1; - if (((enemy_projectile_x_pos[v4] - eci->eci_r28) & 8) != 0 + if (((eproj_x_pos[v4] - eci->eci_r28) & 8) != 0 || CHECK_locret_868728(v3) >= 0) { uint16 v5 = v3 ^ 1; - if (((eci->eci_r28 + enemy_projectile_x_pos[v4] - 1) & 8) == 0 + if (((eci->eci_r28 + eproj_x_pos[v4] - 1) & 8) == 0 || CHECK_locret_868728(v5) >= 0) { return 0; } @@ -588,14 +588,14 @@ static uint8 EprojColl_8676(EprojCollInfo *eci, uint16 a, uint16 k, uint16 j) { goto LABEL_17; } if (!eci->eci_r26) { - if (((eci->eci_r28 + enemy_projectile_x_pos[enemy_projectile_index >> 1] - 1) & 8) == 0) { + if (((eci->eci_r28 + eproj_x_pos[eproj_index >> 1] - 1) & 8) == 0) { if (CHECK_locret_868728(v3) >= 0) return 0; goto LABEL_17; } goto LABEL_14; } - if (eci->eci_r26 != eci->eci_r32 || ((enemy_projectile_x_pos[enemy_projectile_index >> 1] - eci->eci_r28) & 8) == 0) { + if (eci->eci_r26 != eci->eci_r32 || ((eproj_x_pos[eproj_index >> 1] - eci->eci_r28) & 8) == 0) { LABEL_14: if (CHECK_locret_868728(v3) < 0) goto LABEL_17; @@ -603,14 +603,14 @@ LABEL_14: if (CHECK_locret_868728(v3 ^ 1) >= 0) return 0; LABEL_17:; - int v7 = enemy_projectile_index >> 1; + int v7 = eproj_index >> 1; uint16 v8; - enemy_projectile_y_subpos[v7] = 0; + eproj_y_subpos[v7] = 0; if ((eci->eci_r20 & 0x8000) != 0) v8 = eci->eci_r30 + (eci->eci_r34 | 7) + 1; else v8 = (eci->eci_r34 & 0xFFF8) - eci->eci_r30; - enemy_projectile_y_pos[v7] = v8; + eproj_y_pos[v7] = v8; return 1; } @@ -630,24 +630,24 @@ static uint8 EprojColl_874E(EprojCollInfo *eci) { // 0x86874E uint16 v14; int16 v15; - uint16 v0 = enemy_projectile_index; + uint16 v0 = eproj_index; if ((eci->eci_r20 & 0x8000) != 0) { uint16 v9 = cur_block_index; uint16 mod = SnesModulus(cur_block_index, room_width_in_blocks); int v10 = v0 >> 1; - v11 = enemy_projectile_x_pos[v10] >> 4; + v11 = eproj_x_pos[v10] >> 4; if (v11 == mod) { uint16 temp_collision_DD4 = (eci->eci_r24 - eci->eci_r30) & 0xF ^ 0xF; uint16 temp_collision_DD6 = 16 * (BTS[v9] & 0x1F); v12 = BTS[v9] << 8; if (v12 < 0 - && ((v12 & 0x4000) != 0 ? (v13 = enemy_projectile_x_pos[v10] ^ 0xF) : (v13 = enemy_projectile_x_pos[v10]), + && ((v12 & 0x4000) != 0 ? (v13 = eproj_x_pos[v10] ^ 0xF) : (v13 = eproj_x_pos[v10]), (v14 = temp_collision_DD6 + (v13 & 0xF), v15 = (kAlignYPos_Tab0[v14] & 0x1F) - temp_collision_DD4 - 1, (kAlignYPos_Tab0[v14] & 0x1F) - temp_collision_DD4 == 1) || v15 < 0)) { - enemy_projectile_y_pos[v10] = eci->eci_r24 - v15; - enemy_projectile_y_subpos[v10] = 0; + eproj_y_pos[v10] = eci->eci_r24 - v15; + eproj_y_subpos[v10] = 0; return 1; } else { return 0; @@ -659,19 +659,19 @@ static uint8 EprojColl_874E(EprojCollInfo *eci) { // 0x86874E uint16 v1 = cur_block_index; uint16 mod = SnesModulus(cur_block_index, room_width_in_blocks); int v2 = v0 >> 1; - v3 = enemy_projectile_x_pos[v2] >> 4; + v3 = eproj_x_pos[v2] >> 4; if (v3 == mod) { uint16 temp_collision_DD4 = (eci->eci_r30 + eci->eci_r24 - 1) & 0xF; uint16 temp_collision_DD6 = 16 * (BTS[v1] & 0x1F); v5 = BTS[v1] << 8; if (v5 >= 0 - && ((v5 & 0x4000) != 0 ? (v6 = enemy_projectile_x_pos[v2] ^ 0xF) : (v6 = enemy_projectile_x_pos[v2]), + && ((v5 & 0x4000) != 0 ? (v6 = eproj_x_pos[v2] ^ 0xF) : (v6 = eproj_x_pos[v2]), (v7 = temp_collision_DD6 + (v6 & 0xF), v8 = (kAlignYPos_Tab0[v7] & 0x1F) - temp_collision_DD4 - 1, (kAlignYPos_Tab0[v7] & 0x1F) - temp_collision_DD4 == 1) || v8 < 0)) { - enemy_projectile_y_pos[v2] = eci->eci_r24 + v8; - enemy_projectile_y_subpos[v2] = -1; + eproj_y_pos[v2] = eci->eci_r24 + v8; + eproj_y_subpos[v2] = -1; return 1; } else { return 0; @@ -684,7 +684,7 @@ static uint8 EprojColl_874E(EprojCollInfo *eci) { // 0x86874E typedef uint8 Func_EprojCollInfo_U8(EprojCollInfo *eci); -static Func_EprojCollInfo_U8 *const kEnemyProjectileBlockCollisition_FuncA[16] = { // 0x868886 +static Func_EprojCollInfo_U8 *const kEprojBlockCollisition_FuncA[16] = { // 0x868886 EprojColl_ClearCarry, EprojColl_858E, EprojColl_ClearCarry, @@ -702,7 +702,7 @@ static Func_EprojCollInfo_U8 *const kEnemyProjectileBlockCollisition_FuncA[16] = EprojColl_ClearCarry, EprojColl_SetCarry, }; -static Func_EprojCollInfo_U8 *const kEnemyProjectileBlockCollisition_FuncB[16] = { +static Func_EprojCollInfo_U8 *const kEprojBlockCollisition_FuncB[16] = { EprojColl_ClearCarry, EprojColl_85AD, EprojColl_ClearCarry, @@ -721,35 +721,35 @@ static Func_EprojCollInfo_U8 *const kEnemyProjectileBlockCollisition_FuncB[16] = EprojColl_SetCarry, }; -uint8 EnemyProjectileBlockCollisition_CheckHorizontal(EprojCollInfo *eci, uint16 k) { +uint8 EprojBlockCollisition_CheckHorizontal(EprojCollInfo *eci, uint16 k) { uint8 rv; cur_block_index = k >> 1; do { - rv = kEnemyProjectileBlockCollisition_FuncA[(level_data[cur_block_index] & 0xF000) >> 12](eci); + rv = kEprojBlockCollisition_FuncA[(level_data[cur_block_index] & 0xF000) >> 12](eci); } while (rv & 0x80); return rv; } -uint8 EnemyProjectileBlockCollisition_CheckVertical(EprojCollInfo *eci, uint16 k) { // 0x86889E +uint8 EprojBlockCollisition_CheckVertical(EprojCollInfo *eci, uint16 k) { // 0x86889E uint8 rv; cur_block_index = k >> 1; do { - rv = kEnemyProjectileBlockCollisition_FuncB[(level_data[cur_block_index] & 0xF000) >> 12](eci); + rv = kEprojBlockCollisition_FuncB[(level_data[cur_block_index] & 0xF000) >> 12](eci); } while (rv & 0x80); return rv; } -uint8 EnemyProjectileBlockCollisition_Horiz(uint16 k) { // 0x8688B6 +uint8 EprojBlockCollisition_Horiz(uint16 k) { // 0x8688B6 int v1 = k >> 1; - int32 amt = INT16_SHL8(enemy_projectile_x_vel[v1]); - uint16 R30 = HIBYTE(enemy_projectile_radius[v1]); - uint16 R28 = LOBYTE(enemy_projectile_radius[v1]); - uint16 r26 = (enemy_projectile_y_pos[v1] - R30) & 0xFFF0; - r26 = (uint16)(R30 + enemy_projectile_y_pos[v1] - 1 - r26) >> 4; + int32 amt = INT16_SHL8(eproj_x_vel[v1]); + uint16 R30 = HIBYTE(eproj_radius[v1]); + uint16 R28 = LOBYTE(eproj_radius[v1]); + uint16 r26 = (eproj_y_pos[v1] - R30) & 0xFFF0; + r26 = (uint16)(R30 + eproj_y_pos[v1] - 1 - r26) >> 4; uint16 R32 = r26; - uint16 prod = Mult8x8((uint16)(enemy_projectile_y_pos[v1] - R30) >> 4, room_width_in_blocks); - uint16 v3 = (amt + __PAIR32__(enemy_projectile_x_pos[v1], enemy_projectile_x_subpos[v1])) >> 16; - uint16 r22 = amt + enemy_projectile_x_subpos[v1]; + uint16 prod = Mult8x8((uint16)(eproj_y_pos[v1] - R30) >> 4, room_width_in_blocks); + uint16 v3 = (amt + __PAIR32__(eproj_x_pos[v1], eproj_x_subpos[v1])) >> 16; + uint16 r22 = amt + eproj_x_subpos[v1]; uint16 r24 = v3; uint16 v4; if (amt < 0) @@ -758,41 +758,41 @@ uint8 EnemyProjectileBlockCollisition_Horiz(uint16 k) { // 0x8688B6 v4 = R28 + v3 - 1; EprojCollInfo eci = { .eci_r20 = amt >> 16, .eci_r24 = r24, .eci_r26 = r26, .eci_r28 = R28, .eci_r30 = R30, .eci_r32 = R32, .eci_r34 = v4 }; uint16 v5 = 2 * (prod + (v4 >> 4)); - while (!(EnemyProjectileBlockCollisition_CheckHorizontal(&eci, v5) & 1)) { + while (!(EprojBlockCollisition_CheckHorizontal(&eci, v5) & 1)) { v5 += room_width_in_blocks * 2; if ((--eci.eci_r26 & 0x8000) != 0) { int v6 = k >> 1; - enemy_projectile_x_subpos[v6] = r22; - enemy_projectile_x_pos[v6] = r24; + eproj_x_subpos[v6] = r22; + eproj_x_pos[v6] = r24; return 0; } } int v8 = k >> 1; - enemy_projectile_x_subpos[v8] = 0; + eproj_x_subpos[v8] = 0; if (amt < 0) { uint16 v10 = eci.eci_r28 + (eci.eci_r34 | 0xF) + 1; - if (v10 <= enemy_projectile_x_pos[v8]) - enemy_projectile_x_pos[v8] = v10; + if (v10 <= eproj_x_pos[v8]) + eproj_x_pos[v8] = v10; } else { uint16 v9 = (eci.eci_r34 & 0xFFF0) - eci.eci_r28; - if (v9 >= enemy_projectile_x_pos[v8]) - enemy_projectile_x_pos[v8] = v9; + if (v9 >= eproj_x_pos[v8]) + eproj_x_pos[v8] = v9; } return 1; } -uint8 EnemyProjectileBlockCollisition_Vertical(uint16 k) { // 0x86897B +uint8 EprojBlockCollisition_Vertical(uint16 k) { // 0x86897B int16 v5; int v1 = k >> 1; - int32 amt = INT16_SHL8(enemy_projectile_y_vel[v1]); - uint16 R30 = HIBYTE(enemy_projectile_radius[v1]); - uint16 R28 = LOBYTE(enemy_projectile_radius[v1]); - uint16 r26 = (enemy_projectile_x_pos[v1] - R28) & 0xFFF0; - r26 = (uint16)(R28 + enemy_projectile_x_pos[v1] - 1 - r26) >> 4; + int32 amt = INT16_SHL8(eproj_y_vel[v1]); + uint16 R30 = HIBYTE(eproj_radius[v1]); + uint16 R28 = LOBYTE(eproj_radius[v1]); + uint16 r26 = (eproj_x_pos[v1] - R28) & 0xFFF0; + r26 = (uint16)(R28 + eproj_x_pos[v1] - 1 - r26) >> 4; uint16 R32 = r26; - uint16 v3 = (amt + __PAIR32__(enemy_projectile_y_pos[v1], enemy_projectile_y_subpos[v1])) >> 16; - uint16 r22 = amt + enemy_projectile_y_subpos[v1]; + uint16 v3 = (amt + __PAIR32__(eproj_y_pos[v1], eproj_y_subpos[v1])) >> 16; + uint16 r22 = amt + eproj_y_subpos[v1]; uint16 r24 = v3; uint16 v4; if (amt < 0) @@ -801,131 +801,131 @@ uint8 EnemyProjectileBlockCollisition_Vertical(uint16 k) { // 0x86897B v4 = R30 + v3 - 1; EprojCollInfo eci = { .eci_r20 = amt >> 16, .eci_r24 = r24, .eci_r26 = r26, .eci_r28 = R28, .eci_r30 = R30, .eci_r32 = R32, .eci_r34 = v4 }; uint16 prod = Mult8x8(v4 >> 4, room_width_in_blocks); - v5 = (uint16)(enemy_projectile_x_pos[v1] - R28) >> 4; - for (int i = 2 * (prod + v5); !(EnemyProjectileBlockCollisition_CheckVertical(&eci, i) & 1); i += 2) { + v5 = (uint16)(eproj_x_pos[v1] - R28) >> 4; + for (int i = 2 * (prod + v5); !(EprojBlockCollisition_CheckVertical(&eci, i) & 1); i += 2) { if ((--eci.eci_r26 & 0x8000) != 0) { int v7 = k >> 1; - enemy_projectile_y_subpos[v7] = r22; - enemy_projectile_y_pos[v7] = r24; + eproj_y_subpos[v7] = r22; + eproj_y_pos[v7] = r24; return 0; } } int v9 = k >> 1; - enemy_projectile_y_subpos[v9] = 0; + eproj_y_subpos[v9] = 0; if (amt < 0) { uint16 v11 = eci.eci_r30 + (eci.eci_r34 | 0xF) + 1; - if (v11 <= enemy_projectile_y_pos[v9]) - enemy_projectile_y_pos[v9] = v11; + if (v11 <= eproj_y_pos[v9]) + eproj_y_pos[v9] = v11; } else { uint16 v10 = (eci.eci_r34 & 0xFFF0) - eci.eci_r30; - if (v10 >= enemy_projectile_y_pos[v9]) - enemy_projectile_y_pos[v9] = v10; + if (v10 >= eproj_y_pos[v9]) + eproj_y_pos[v9] = v10; } return 1; } -static void EnemyProj_Init_0x8aaf(uint16 j) { // 0x868A39 +static void Eproj_Init_0x8aaf(uint16 j) { // 0x868A39 NextRandom(); EnemyData *v1 = gEnemyData(cur_enemy_index); uint16 v2 = v1->y_pos + 12; int v3 = j >> 1; - enemy_projectile_y_pos[v3] = v2; - enemy_projectile_timers[v3] = v2 + 72; - enemy_projectile_y_vel[v3] = v1->ai_var_D; - enemy_projectile_x_pos[v3] = v1->x_pos + (random_number & 0x1F) - 16; - enemy_projectile_instr_list_ptr[v3] = off_868A75[(uint16)(HIBYTE(enemy_projectile_y_vel[v3]) & 6) >> 1]; + eproj_y_pos[v3] = v2; + eproj_timers[v3] = v2 + 72; + eproj_y_vel[v3] = v1->ai_var_D; + eproj_x_pos[v3] = v1->x_pos + (random_number & 0x1F) - 16; + eproj_instr_list_ptr[v3] = off_868A75[(uint16)(HIBYTE(eproj_y_vel[v3]) & 6) >> 1]; } -void EnemyProj_PreInit_0x8aaf(uint16 k) { // 0x868A7D +void Eproj_PreInit_0x8aaf(uint16 k) { // 0x868A7D int v1 = k >> 1; - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], INT16_SHL8(enemy_projectile_y_vel[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], INT16_SHL8(eproj_y_vel[v1])); - if (enemy_projectile_y_pos[v1] >= enemy_projectile_timers[v1]) - enemy_projectile_id[v1] = 0; + if (eproj_y_pos[v1] >= eproj_timers[v1]) + eproj_id[v1] = 0; } -static void EnemyProj_Init_0x8bc2_SkreeDownRight(uint16 j) { // 0x868ACD +static void Eproj_Init_0x8bc2_SkreeDownRight(uint16 j) { // 0x868ACD EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_y_pos[v2] = v1->y_pos; - enemy_projectile_y_vel[v2] = -769; - enemy_projectile_x_pos[v2] = v1->x_pos + 6; - enemy_projectile_x_vel[v2] = 320; + eproj_y_pos[v2] = v1->y_pos; + eproj_y_vel[v2] = -769; + eproj_x_pos[v2] = v1->x_pos + 6; + eproj_x_vel[v2] = 320; } -static void EnemyProj_Init_0x8bd0_SkreeUpRight(uint16 j) { // 0x868AF1 +static void Eproj_Init_0x8bd0_SkreeUpRight(uint16 j) { // 0x868AF1 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_y_pos[v2] = v1->y_pos; - enemy_projectile_y_vel[v2] = -1025; - enemy_projectile_x_pos[v2] = v1->x_pos + 6; - enemy_projectile_x_vel[v2] = 96; + eproj_y_pos[v2] = v1->y_pos; + eproj_y_vel[v2] = -1025; + eproj_x_pos[v2] = v1->x_pos + 6; + eproj_x_vel[v2] = 96; } -static void EnemyProj_Init_0x8bde_SkreeDownLeft(uint16 j) { // 0x868B15 +static void Eproj_Init_0x8bde_SkreeDownLeft(uint16 j) { // 0x868B15 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_y_pos[v2] = v1->y_pos; - enemy_projectile_y_vel[v2] = -769; - enemy_projectile_x_pos[v2] = v1->x_pos - 6; - enemy_projectile_x_vel[v2] = -320; + eproj_y_pos[v2] = v1->y_pos; + eproj_y_vel[v2] = -769; + eproj_x_pos[v2] = v1->x_pos - 6; + eproj_x_vel[v2] = -320; } -static void EnemyProj_Init_0x8bec_SkreeUpLeft(uint16 j) { // 0x868B39 +static void Eproj_Init_0x8bec_SkreeUpLeft(uint16 j) { // 0x868B39 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_y_pos[v2] = v1->y_pos; - enemy_projectile_y_vel[v2] = -1025; - enemy_projectile_x_pos[v2] = v1->x_pos - 6; - enemy_projectile_x_vel[v2] = -96; + eproj_y_pos[v2] = v1->y_pos; + eproj_y_vel[v2] = -1025; + eproj_x_pos[v2] = v1->x_pos - 6; + eproj_x_vel[v2] = -96; } -void EnemyProj_PreInstr_SkreeParticle(uint16 k) { // 0x868B5D +void Eproj_PreInstr_SkreeParticle(uint16 k) { // 0x868B5D int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_x_vel[v1])); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], INT16_SHL8(enemy_projectile_y_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_x_vel[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], INT16_SHL8(eproj_y_vel[v1])); - enemy_projectile_y_vel[v1] += 80; - if (CheckIfEnemyProjectileIsOffScreen(k)) - enemy_projectile_id[v1] = 0; + eproj_y_vel[v1] += 80; + if (CheckIfEprojIsOffScreen(k)) + eproj_id[v1] = 0; } const uint8 *EprojInstr_SpawnEnemyDropsWithDraygonsEyeDrops(uint16 k, const uint8 *epjp) { // 0x868C68 int v1 = k >> 1; - eproj_spawn_pt = (Point16U) { enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; + eproj_spawn_pt = (Point16U) { eproj_x_pos[v1], eproj_y_pos[v1] }; SpawnEnemyDrops(addr_kEnemyDef_DE7F, k, 0); return epjp; } const uint8 *EprojInstr_SetPreInstrA(uint16 k, const uint8 *epjp) { // 0x868CF6 - enemy_projectile_pre_instr[k >> 1] = FUNC16(EprojPreInstr_DraygonsTurret_8DFF); + eproj_pre_instr[k >> 1] = FUNC16(EprojPreInstr_DraygonsTurret_8DFF); return epjp; } const uint8 *EprojInstr_SetPreInstrB(uint16 k, const uint8 *epjp) { // 0x868CFD - enemy_projectile_pre_instr[k >> 1] = FUNC16(EprojPreInstr_8DCA); + eproj_pre_instr[k >> 1] = FUNC16(EprojPreInstr_8DCA); return epjp; } static void EprojInit_DraygonsGunk(uint16 j) { // 0x868D04 int v1 = j >> 1; - enemy_projectile_x_pos[v1] = eproj_spawn_pt.x; - enemy_projectile_y_pos[v1] = eproj_spawn_pt.y; - g_word_7E97DC[v1] = enemy_projectile_unk1995; - Point32 pt = ConvertAngleToXy(enemy_projectile_unk1995, enemy_projectile_init_param_1); - enemy_projectile_x_vel[v1] = pt.x >> 16; - enemy_projectile_E[v1] = pt.x; - enemy_projectile_y_vel[v1] = pt.y >> 16; - enemy_projectile_F[v1] = pt.y; - enemy_projectile_gfx_idx[v1] = 1024; + eproj_x_pos[v1] = eproj_spawn_pt.x; + eproj_y_pos[v1] = eproj_spawn_pt.y; + g_word_7E97DC[v1] = eproj_unk1995; + Point32 pt = ConvertAngleToXy(eproj_unk1995, eproj_init_param_1); + eproj_x_vel[v1] = pt.x >> 16; + eproj_E[v1] = pt.x; + eproj_y_vel[v1] = pt.y >> 16; + eproj_F[v1] = pt.y; + eproj_gfx_idx[v1] = 1024; } static void EprojInit_DraygonsWallTurretProjs(uint16 j) { // 0x868D40 Eproj_AngleToSamus(j, eproj_spawn_pt.x, eproj_spawn_pt.y); int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 2560; - enemy_projectile_pre_instr[v1] = FUNC16(nullsub_84); + eproj_gfx_idx[v1] = 2560; + eproj_pre_instr[v1] = FUNC16(nullsub_84); } void EprojPowerBombCollision(uint16 k) { // 0x868D5C @@ -933,9 +933,9 @@ void EprojPowerBombCollision(uint16 k) { // 0x868D5C if (HIBYTE(power_bomb_explosion_radius)) { uint16 r20 = (uint16)(r18 + (HIBYTE(power_bomb_explosion_radius) & 1) + (power_bomb_explosion_radius >> 9)) >> 1; int v1 = k >> 1; - if (abs16(power_bomb_explosion_x_pos - enemy_projectile_x_pos[v1]) < r18 - && abs16(power_bomb_explosion_y_pos - enemy_projectile_y_pos[v1]) < r20) { - enemy_projectile_id[v1] = 0; + if (abs16(power_bomb_explosion_x_pos - eproj_x_pos[v1]) < r18 + && abs16(power_bomb_explosion_y_pos - eproj_y_pos[v1]) < r20) { + eproj_id[v1] = 0; samus_x_speed_divisor = 0; } } @@ -947,10 +947,10 @@ const uint8 *EprojInstr_868D99(uint16 k, const uint8 *epjp) { // 0x868D99 if (sign16(samus_x_speed_divisor - 5)) { ++samus_x_speed_divisor; int v3 = k >> 1; - enemy_projectile_F[v3] = v2; - enemy_projectile_E[v3] = 256; - enemy_projectile_pre_instr[v3] = FUNC16(EprojPreInstr_8DCA); - enemy_projectile_properties[v3] = enemy_projectile_properties[v3] & 0x5FFF | 0x2000; + eproj_F[v3] = v2; + eproj_E[v3] = 256; + eproj_pre_instr[v3] = FUNC16(EprojPreInstr_8DCA); + eproj_properties[v3] = eproj_properties[v3] & 0x5FFF | 0x2000; samus_invincibility_timer = 0; samus_knockback_timer = 0; } @@ -963,11 +963,11 @@ void EprojPreInstr_8DCA(uint16 k) { // 0x868DCA EprojPowerBombCollision(k); if (samus_contact_damage_index || (v1 = k >> 1, - enemy_projectile_x_pos[v1] = samus_x_pos, - enemy_projectile_y_pos[v1] = samus_y_pos + 4 * enemy_projectile_F[v1] - 12, - --enemy_projectile_E[v1], - !enemy_projectile_E[v1])) { - enemy_projectile_id[k >> 1] = 0; + eproj_x_pos[v1] = samus_x_pos, + eproj_y_pos[v1] = samus_y_pos + 4 * eproj_F[v1] - 12, + --eproj_E[v1], + !eproj_E[v1])) { + eproj_id[k >> 1] = 0; if ((--samus_x_speed_divisor & 0x8000) != 0) samus_x_speed_divisor = 0; } @@ -980,7 +980,7 @@ void EprojPreInstr_DraygonsTurret_8DFF(uint16 k) { // 0x868DFF Eproj_FuncE73E_MoveXY(k); v1 = Eproj_FuncE722(k); if (v1) - enemy_projectile_id[k >> 1] = 0; + eproj_id[k >> 1] = 0; } void EprojPreInstr_DraygonsGunk_8E0F(uint16 k) { // 0x868E0F @@ -989,60 +989,60 @@ void EprojPreInstr_DraygonsGunk_8E0F(uint16 k) { // 0x868E0F EprojPowerBombCollision(k); Eproj_FuncE73E_MoveXY(k); int v1 = k >> 1; - uint16 v2 = abs16(samus_x_pos - enemy_projectile_x_pos[v1]); - if (sign16(v2 - 16) && (v3 = abs16(samus_y_pos - enemy_projectile_y_pos[v1]), sign16(v3 - 20))) { - enemy_projectile_instr_list_ptr[v1] = 0x8C38; - enemy_projectile_instr_timers[v1] = 1; + uint16 v2 = abs16(samus_x_pos - eproj_x_pos[v1]); + if (sign16(v2 - 16) && (v3 = abs16(samus_y_pos - eproj_y_pos[v1]), sign16(v3 - 20))) { + eproj_instr_list_ptr[v1] = 0x8C38; + eproj_instr_timers[v1] = 1; } else { if (Eproj_FuncE722(k)) - enemy_projectile_id[v1] = 0; + eproj_id[v1] = 0; } } static void EprojInit_CrocomireProjectile(uint16 j) { // 0x869023 int v2 = j >> 1; - enemy_projectile_x_vel[v2] = -512; - enemy_projectile_y_vel[v2] = 1; + eproj_x_vel[v2] = -512; + eproj_y_vel[v2] = 1; EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v2] = v3->x_pos - 32; - enemy_projectile_y_pos[v2] = v3->y_pos - 16; - enemy_projectile_timers[v2] = 0; - enemy_projectile_x_subpos[v2] = 0; - enemy_projectile_y_subpos[v2] = 0; - enemy_projectile_gfx_idx[v2] = 2560; + eproj_x_pos[v2] = v3->x_pos - 32; + eproj_y_pos[v2] = v3->y_pos - 16; + eproj_timers[v2] = 0; + eproj_x_subpos[v2] = 0; + eproj_y_subpos[v2] = 0; + eproj_gfx_idx[v2] = 2560; } static const int16 word_869059[9] = { -16, 0, 32, -16, 0, 32, -16, 0, 32 }; // bug: oob read void EprojPreInstr_CrocomireProjectile(uint16 k) { // 0x86906B - EnemyProjectileBlockCollisition_Horiz(k); - enemy_projectile_gfx_idx[0] = 2560; - enemy_projectile_timers[k >> 1] += enemy_projectile_x_vel[k >> 1]; + EprojBlockCollisition_Horiz(k); + eproj_gfx_idx[0] = 2560; + eproj_timers[k >> 1] += eproj_x_vel[k >> 1]; uint16 x = -64; uint16 y = g_word_869059[enemy_data[0].ai_preinstr >> 1]; // bug: out of bounds read... int v1 = CalculateAngleFromXY(x, y); int v2 = k >> 1; - enemy_projectile_x_vel[v2] = 4 * kSinCosTable8bit_Sext[v1 + 64]; - enemy_projectile_y_vel[v2] = 4 * kSinCosTable8bit_Sext[v1]; - enemy_projectile_pre_instr[v2] = FUNC16(sub_8690B3); + eproj_x_vel[v2] = 4 * kSinCosTable8bit_Sext[v1 + 64]; + eproj_y_vel[v2] = 4 * kSinCosTable8bit_Sext[v1]; + eproj_pre_instr[v2] = FUNC16(sub_8690B3); } void sub_8690B3(uint16 k) { // 0x8690B3 - if (EnemyProjectileBlockCollisition_Horiz(k) & 1 || EnemyProjectileBlockCollisition_Vertical(k) & 1) - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Horiz(k) & 1 || EprojBlockCollisition_Vertical(k) & 1) + eproj_id[k >> 1] = 0; } static void EprojInit_CrocomireSpikeWallPieces(uint16 j) { // 0x8690CF int v1 = j >> 1; - enemy_projectile_y_pos[v1] = word_869105[(uint16)(j - 20) >> 1]; - enemy_projectile_x_pos[v1] = 528; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - enemy_projectile_E[v1] = 0; - enemy_projectile_F[v1] = 0; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_y_subpos[v1] = 0; - enemy_projectile_y_vel[v1] = -5; - enemy_projectile_F[v1] = -30720; + eproj_y_pos[v1] = word_869105[(uint16)(j - 20) >> 1]; + eproj_x_pos[v1] = 528; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + eproj_E[v1] = 0; + eproj_F[v1] = 0; + eproj_x_subpos[v1] = 0; + eproj_y_subpos[v1] = 0; + eproj_y_vel[v1] = -5; + eproj_F[v1] = -30720; } static const uint16 CrocomireSpikeWallPieces_Tab2[18] = { // 0x869115 @@ -1066,95 +1066,95 @@ void EprojPreInstr_CrocomireSpikeWallPieces(uint16 k) { int8 v8; int v1 = k >> 1; - uint16 v2 = enemy_projectile_E[v1]; + uint16 v2 = eproj_E[v1]; if (v2 != CrocomireSpikeWallPieces_Tab1[v1]) { v2 += CrocomireSpikeWallPieces_Tab2[v1]; if (v2 >= CrocomireSpikeWallPieces_Tab1[v1]) v2 = CrocomireSpikeWallPieces_Tab1[v1]; } - enemy_projectile_E[v1] = v2; - v3 = *((uint8 *)enemy_projectile_E + k + 1); - bool v4 = __CFADD__uint8(*((uint8 *)enemy_projectile_x_vel + k), v3); - *((uint8 *)enemy_projectile_x_vel + k) += v3; - uint8 v5 = v4 + *((uint8 *)enemy_projectile_x_vel + k + 1); + eproj_E[v1] = v2; + v3 = *((uint8 *)eproj_E + k + 1); + bool v4 = __CFADD__uint8(*((uint8 *)eproj_x_vel + k), v3); + *((uint8 *)eproj_x_vel + k) += v3; + uint8 v5 = v4 + *((uint8 *)eproj_x_vel + k + 1); if ((int8)(v5 - CrocomireSpikeWallPieces_Tab3[k]) >= 0) v5 = CrocomireSpikeWallPieces_Tab3[k]; - *((uint8 *)enemy_projectile_x_vel + k + 1) = v5; - v6 = *((uint8 *)enemy_projectile_x_vel + k); - v4 = __CFADD__uint8(*((uint8 *)enemy_projectile_x_subpos + k + 1), v6); - *((uint8 *)enemy_projectile_x_subpos + k + 1) += v6; - v7 = *((uint8 *)enemy_projectile_x_vel + k + 1); + *((uint8 *)eproj_x_vel + k + 1) = v5; + v6 = *((uint8 *)eproj_x_vel + k); + v4 = __CFADD__uint8(*((uint8 *)eproj_x_subpos + k + 1), v6); + *((uint8 *)eproj_x_subpos + k + 1) += v6; + v7 = *((uint8 *)eproj_x_vel + k + 1); bool v9 = v4; v4 = __CFADD__uint8(v4, v7); v8 = v9 + v7; - v4 |= __CFADD__uint8(*((uint8 *)enemy_projectile_x_pos + k), v8); - *((uint8 *)enemy_projectile_x_pos + k) += v8; - *((uint8 *)enemy_projectile_x_pos + k + 1) += v4; - AddToHiLo(&enemy_projectile_y_vel[v1], &enemy_projectile_F[v1], 0x3000); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], __PAIR32__(enemy_projectile_y_vel[v1], enemy_projectile_F[v1])); + v4 |= __CFADD__uint8(*((uint8 *)eproj_x_pos + k), v8); + *((uint8 *)eproj_x_pos + k) += v8; + *((uint8 *)eproj_x_pos + k + 1) += v4; + AddToHiLo(&eproj_y_vel[v1], &eproj_F[v1], 0x3000); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], __PAIR32__(eproj_y_vel[v1], eproj_F[v1])); - if (enemy_projectile_y_pos[v1] >= 0xA8) { - enemy_projectile_id[v1] = 0; + if (eproj_y_pos[v1] >= 0xA8) { + eproj_id[v1] = 0; if ((k & 2) == 0) QueueSfx2_Max6(0x29); int v12 = k >> 1; - eproj_spawn_pt = (Point16U) { enemy_projectile_x_pos[v12], enemy_projectile_y_pos[v12] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + eproj_spawn_pt = (Point16U) { eproj_x_pos[v12], eproj_y_pos[v12] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); QueueSfx2_Max6(0x25); } } const uint8 *EprojInstr_9270(uint16 k, const uint8 *epjp) { // 0x869270 int v1 = k >> 1; - eproj_spawn_pt = (Point16U) { enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; + eproj_spawn_pt = (Point16U) { eproj_x_pos[v1], eproj_y_pos[v1] }; SpawnEnemyDrops(addr_kEnemyDef_DDBF, k, 0); return epjp; } static void EprojInit_CrocomireBridgeCrumbling(uint16 j) { // 0x869286 int v1 = j >> 1; - enemy_projectile_x_pos[v1] = enemy_projectile_init_param_1; - enemy_projectile_y_pos[v1] = 187; - enemy_projectile_y_subpos[v1] = 0; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = (random_number & 0x3F) + 64; - enemy_projectile_gfx_idx[v1] = 1024; + eproj_x_pos[v1] = eproj_init_param_1; + eproj_y_pos[v1] = 187; + eproj_y_subpos[v1] = 0; + eproj_x_subpos[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = (random_number & 0x3F) + 64; + eproj_gfx_idx[v1] = 1024; } void EprojPreInstr_CrocomireBridgeCrumbling(uint16 k) { // 0x8692BA - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Vertical(k) & 1) + eproj_id[k >> 1] = 0; else - enemy_projectile_y_vel[k >> 1] = (enemy_projectile_y_vel[k >> 1] + 24) & 0x3FFF; + eproj_y_vel[k >> 1] = (eproj_y_vel[k >> 1] + 24) & 0x3FFF; } uint16 MoveEprojWithVelocity(uint16 k) { // 0x8692D6 int v1 = k >> 1; - uint16 v2 = enemy_projectile_x_vel[v1]; - int carry = *((uint8 *)enemy_projectile_x_subpos + k + 1) + (v2 & 0xff); - *((uint8 *)enemy_projectile_x_subpos + k + 1) = carry; - enemy_projectile_x_pos[v1] += (int8)(v2 >> 8) + (carry >> 8); + uint16 v2 = eproj_x_vel[v1]; + int carry = *((uint8 *)eproj_x_subpos + k + 1) + (v2 & 0xff); + *((uint8 *)eproj_x_subpos + k + 1) = carry; + eproj_x_pos[v1] += (int8)(v2 >> 8) + (carry >> 8); return MoveEprojWithVelocityY(k); } uint16 MoveEprojWithVelocityY(uint16 k) { // 0x8692F3 int v1 = k >> 1; - uint16 v2 = enemy_projectile_y_vel[v1]; - int carry = *((uint8 *)enemy_projectile_y_subpos + k + 1) + (v2 & 0xff); - *((uint8 *)enemy_projectile_y_subpos + k + 1) = carry; - uint16 result = enemy_projectile_y_pos[v1] + (int8)(v2 >> 8) + (carry >> 8); - enemy_projectile_y_pos[v1] = result; + uint16 v2 = eproj_y_vel[v1]; + int carry = *((uint8 *)eproj_y_subpos + k + 1) + (v2 & 0xff); + *((uint8 *)eproj_y_subpos + k + 1) = carry; + uint16 result = eproj_y_pos[v1] + (int8)(v2 >> 8) + (carry >> 8); + eproj_y_pos[v1] = result; return result; } uint16 MoveEprojWithVelocityX(uint16 k) { // 0x869311 int v1 = k >> 1; - uint16 v2 = enemy_projectile_x_vel[v1]; - int carry = *((uint8 *)enemy_projectile_x_subpos + k + 1) + (v2 & 0xff); - *((uint8 *)enemy_projectile_x_subpos + k + 1) = carry; - uint16 result = enemy_projectile_x_pos[v1] + (int8)(v2 >> 8) + (carry >> 8); - enemy_projectile_x_pos[v1] = result; + uint16 v2 = eproj_x_vel[v1]; + int carry = *((uint8 *)eproj_x_subpos + k + 1) + (v2 & 0xff); + *((uint8 *)eproj_x_subpos + k + 1) = carry; + uint16 result = eproj_x_pos[v1] + (int8)(v2 >> 8) + (carry >> 8); + eproj_x_pos[v1] = result; return result; } @@ -1168,7 +1168,7 @@ void SetAreaDependentEprojPropertiesEx(uint16 k, uint16 j) { // 0x86932F } else { v2 = p[0]; } - enemy_projectile_properties[j >> 1] = v2; + eproj_properties[j >> 1] = v2; } static const int16 kEprojInit_9634_Xvel[4] = { -0x200, -0x1f0, -0x1bc, -0x16a }; @@ -1176,45 +1176,45 @@ static const int16 kEprojInit_9634_Yvel[4] = { 0, 0x88, 0xfc, 0x16a }; static void EprojInit_9634(uint16 j) { // 0x86934D int v1 = j >> 1; - enemy_projectile_E[v1] = 0; - enemy_projectile_F[v1] = 0; - enemy_projectile_x_pos[v1] = enemy_data[0].x_pos - 29; - enemy_projectile_y_pos[v1] = enemy_data[0].y_pos - 35; - enemy_projectile_gfx_idx[v1] = 2560; + eproj_E[v1] = 0; + eproj_F[v1] = 0; + eproj_x_pos[v1] = enemy_data[0].x_pos - 29; + eproj_y_pos[v1] = enemy_data[0].y_pos - 35; + eproj_gfx_idx[v1] = 2560; int v2 = enemy_data[0].parameter_1; - enemy_projectile_x_vel[v1] = kEprojInit_9634_Xvel[v2]; - enemy_projectile_y_vel[v1] = kEprojInit_9634_Yvel[v2]; + eproj_x_vel[v1] = kEprojInit_9634_Xvel[v2]; + eproj_y_vel[v1] = kEprojInit_9634_Yvel[v2]; } void EprojPreInstr_9634(uint16 k) { // 0x869392 int v1 = k >> 1; - if (enemy_projectile_E[v1] >= 8) { + if (eproj_E[v1] >= 8) { MoveEprojWithVelocity(k); - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { - enemy_projectile_instr_list_ptr[v1] = addr_off_869574; - ++enemy_projectile_E[v1]; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - enemy_projectile_gfx_idx[v1] = 2560; + if (EprojBlockCollisition_Vertical(k) & 1) { + eproj_instr_list_ptr[v1] = addr_off_869574; + ++eproj_E[v1]; + eproj_instr_timers[v1] = 1; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + eproj_gfx_idx[v1] = 2560; QueueSfx2_Max6(0x2B); } } else { - ++enemy_projectile_E[v1]; + ++eproj_E[v1]; } } static void EprojInit_9642_RidleysFireball(uint16 j) { // 0x8693CA int v1 = j >> 1; - enemy_projectile_F[v1] = enemy_projectile_unk1995; - int16 v2 = enemy_projectile_init_param_1 ? 25 : -25; - enemy_projectile_x_pos[v1] = enemy_data[0].x_pos + v2; - enemy_projectile_y_pos[v1] = enemy_data[0].y_pos - 43; - enemy_projectile_gfx_idx[v1] = 2560; + eproj_F[v1] = eproj_unk1995; + int16 v2 = eproj_init_param_1 ? 25 : -25; + eproj_x_pos[v1] = enemy_data[0].x_pos + v2; + eproj_y_pos[v1] = enemy_data[0].y_pos - 43; + eproj_gfx_idx[v1] = 2560; Ram7800_Default *v4 = gRam7800_Default(0); - enemy_projectile_x_vel[v1] = v4->var_19; - enemy_projectile_y_vel[v1] = v4->var_1A; + eproj_x_vel[v1] = v4->var_19; + eproj_y_vel[v1] = v4->var_1A; SetAreaDependentEprojPropertiesEx(addr_kRidleysFireball_Tab0, j); } @@ -1224,161 +1224,161 @@ void SetAreaDependentEprojProperties(uint16 j) { // 0x869402 void EprojPreInstr_9642_RidleysFireball(uint16 k) { // 0x86940E uint16 v1; - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) { + if (EprojBlockCollisition_Horiz(k) & 1) { v1 = -27042; } else { - if (!(EnemyProjectileBlockCollisition_Vertical(k) & 1)) + if (!(EprojBlockCollisition_Vertical(k) & 1)) return; v1 = -27056; } int v2 = k >> 1; - enemy_projectile_id[v2] = 0; - if (!enemy_projectile_F[v2]) { - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v2], enemy_projectile_y_pos[v2] }; - SpawnEnemyProjectileWithRoomGfx(v1, 3); + eproj_id[v2] = 0; + if (!eproj_F[v2]) { + eproj_spawn_pt = (Point16U){ eproj_x_pos[v2], eproj_y_pos[v2] }; + SpawnEprojWithRoomGfx(v1, 3); QueueSfx2_Max6(0x2B); } } const uint8 *EprojInstr_DisableCollisionsWithSamus(uint16 k, const uint8 *epjp) { // 0x869475 - enemy_projectile_properties[k >> 1] |= 0x2000; + eproj_properties[k >> 1] |= 0x2000; return epjp; } static void EprojInit_9660_FireballExplosion(uint16 j) { // 0x86947F int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 2560; - enemy_projectile_x_pos[v1] = eproj_spawn_pt.x; - enemy_projectile_y_pos[v1] = eproj_spawn_pt.y; - enemy_projectile_E[v1] = enemy_projectile_init_param_1; - enemy_projectile_F[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; + eproj_gfx_idx[v1] = 2560; + eproj_x_pos[v1] = eproj_spawn_pt.x; + eproj_y_pos[v1] = eproj_spawn_pt.y; + eproj_E[v1] = eproj_init_param_1; + eproj_F[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; } static void EprojInit_Common(uint16 j, uint16 k, uint16 a) { // 0x8694EE int v3 = j >> 1; - enemy_projectile_F[v3] = a; + eproj_F[v3] = a; int v4 = k >> 1; - enemy_projectile_x_pos[v3] = enemy_projectile_x_pos[v4]; - enemy_projectile_y_pos[v3] = enemy_projectile_y_pos[v4]; - enemy_projectile_E[v3] = enemy_projectile_E[v4]; - enemy_projectile_gfx_idx[v3] = 2560; + eproj_x_pos[v3] = eproj_x_pos[v4]; + eproj_y_pos[v3] = eproj_y_pos[v4]; + eproj_E[v3] = eproj_E[v4]; + eproj_gfx_idx[v3] = 2560; SetAreaDependentEprojProperties(j); } static void EprojInit_9688(uint16 j) { // 0x8694A0 - uint16 v1 = enemy_projectile_init_param_1; + uint16 v1 = eproj_init_param_1; int v2 = j >> 1; - enemy_projectile_x_vel[v2] = 0; - enemy_projectile_y_vel[v2] = -3584; + eproj_x_vel[v2] = 0; + eproj_y_vel[v2] = -3584; EprojInit_Common(j, v1, 0x9688); } static void EprojInit_9696(uint16 j) { // 0x8694B4 - uint16 v1 = enemy_projectile_init_param_1; + uint16 v1 = eproj_init_param_1; int v2 = j >> 1; - enemy_projectile_x_vel[v2] = 0; - enemy_projectile_y_vel[v2] = 3584; + eproj_x_vel[v2] = 0; + eproj_y_vel[v2] = 3584; EprojInit_Common(j, v1, 0x9696); } static void EprojInit_966C(uint16 j) { // 0x8694C8 - uint16 v1 = enemy_projectile_init_param_1; + uint16 v1 = eproj_init_param_1; int v2 = j >> 1; - enemy_projectile_x_vel[v2] = 3584; - enemy_projectile_y_vel[v2] = 0; + eproj_x_vel[v2] = 3584; + eproj_y_vel[v2] = 0; EprojInit_Common(j, v1, 0x966C); } static void EprojInit_967A(uint16 j) { // 0x8694DC - uint16 v1 = enemy_projectile_init_param_1; + uint16 v1 = eproj_init_param_1; int v2 = j >> 1; - enemy_projectile_x_vel[v2] = -3584; - enemy_projectile_y_vel[v2] = 0; + eproj_x_vel[v2] = -3584; + eproj_y_vel[v2] = 0; EprojInit_Common(j, v1, 0x967A); } void EprojPreInstr_966C(uint16 k) { // 0x86950D MoveEprojWithVelocityX(k); - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { + if (EprojBlockCollisition_Vertical(k) & 1) { int v1 = k >> 1; - enemy_projectile_instr_list_ptr[v1] = addr_off_869574; - enemy_projectile_instr_timers[v1] = 1; + eproj_instr_list_ptr[v1] = addr_off_869574; + eproj_instr_timers[v1] = 1; } } void EprojPreInstr_9688(uint16 k) { // 0x869522 MoveEprojWithVelocityY(k); - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) { + if (EprojBlockCollisition_Horiz(k) & 1) { int v1 = k >> 1; - enemy_projectile_instr_list_ptr[v1] = addr_off_869574; - enemy_projectile_instr_timers[v1] = 1; + eproj_instr_list_ptr[v1] = addr_off_869574; + eproj_instr_timers[v1] = 1; } } void EprojPreInstr_96A4(uint16 k) { // 0x869537 - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Horiz(k) & 1) + eproj_id[k >> 1] = 0; } void EprojPreInstr_96C0(uint16 k) { // 0x869540 - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Vertical(k) & 1) + eproj_id[k >> 1] = 0; } void EprojPreInstr_96CE(uint16 k) { // 0x869549 - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Vertical(k) & 1) + eproj_id[k >> 1] = 0; } const uint8 *EprojInstr_95BA(uint16 k, const uint8 *epjp) { // 0x8695BA - enemy_projectile_unk1995 = 0; - SpawnEnemyProjectileWithRoomGfx(addr_stru_86966C, k); - enemy_projectile_unk1995 = 0; - SpawnEnemyProjectileWithRoomGfx(addr_stru_86967A, k); + eproj_unk1995 = 0; + SpawnEprojWithRoomGfx(addr_stru_86966C, k); + eproj_unk1995 = 0; + SpawnEprojWithRoomGfx(addr_stru_86967A, k); return epjp; } const uint8 *EprojInstr_95ED(uint16 k, const uint8 *epjp) { // 0x8695ED - enemy_projectile_unk1995 = 0; - SpawnEnemyProjectileWithRoomGfx(addr_stru_869688, k); - enemy_projectile_unk1995 = 0; - SpawnEnemyProjectileWithRoomGfx(addr_stru_869696, k); + eproj_unk1995 = 0; + SpawnEprojWithRoomGfx(addr_stru_869688, k); + eproj_unk1995 = 0; + SpawnEprojWithRoomGfx(addr_stru_869696, k); return epjp; } const uint8 *EprojInstr_9620(uint16 k, const uint8 *epjp) { // 0x869620 - if ((int8)-- * ((uint8 *)enemy_projectile_E + k) >= 0) - SpawnEnemyProjectileWithRoomGfx(enemy_projectile_F[k >> 1], k); + if ((int8)-- * ((uint8 *)eproj_E + k) >= 0) + SpawnEprojWithRoomGfx(eproj_F[k >> 1], k); return epjp; } static void EprojInit_9734_CeresFallingDebris(uint16 j) { // 0x8696DC int v1 = j >> 1; - enemy_projectile_E[v1] = 0; - enemy_projectile_F[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_gfx_idx[v1] = 3584; - enemy_projectile_x_pos[v1] = enemy_projectile_init_param_1; - enemy_projectile_y_pos[v1] = 42; - enemy_projectile_y_vel[v1] = 16; + eproj_E[v1] = 0; + eproj_F[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_gfx_idx[v1] = 3584; + eproj_x_pos[v1] = eproj_init_param_1; + eproj_y_pos[v1] = 42; + eproj_y_vel[v1] = 16; } void EprojPreInstr_9734_CeresFallingDebris(uint16 k) { // 0x869701 int v1 = k >> 1; - enemy_projectile_y_vel[v1] += 16; - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { - enemy_projectile_id[v1] = 0; - eproj_spawn_pt = (Point16U) { enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + eproj_y_vel[v1] += 16; + if (EprojBlockCollisition_Vertical(k) & 1) { + eproj_id[v1] = 0; + eproj_spawn_pt = (Point16U) { eproj_x_pos[v1], eproj_y_pos[v1] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); QueueSfx2_Max6(0x6D); } } const uint8 *EprojInstr_980E(uint16 k, const uint8 *epjp) { // 0x86980E int v2 = k >> 1; - eproj_spawn_pt = (Point16U) { enemy_projectile_x_pos[v2], enemy_projectile_y_pos[v2] }; + eproj_spawn_pt = (Point16U) { eproj_x_pos[v2], eproj_y_pos[v2] }; SpawnEnemyDrops(addr_kEnemyDef_E4FF, k, 0); return epjp; } @@ -1391,57 +1391,57 @@ static const uint8 byte_869979[8] = { 0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe static void EprojInit_PhantoonDestroyableFireballs(uint16 j) { // 0x869824 int8 v1; - v1 = (uint16)(enemy_projectile_init_param_1 & 0xFF00) >> 8; + v1 = (uint16)(eproj_init_param_1 & 0xFF00) >> 8; switch (v1) { case 0: { int v2 = j >> 1; - enemy_projectile_x_subpos[v2] = 0; - enemy_projectile_y_subpos[v2] = 0; - enemy_projectile_x_vel[v2] = 0; - enemy_projectile_y_vel[v2] = 0; - enemy_projectile_x_pos[v2] = enemy_data[0].x_pos; - enemy_projectile_y_pos[v2] = enemy_data[0].y_pos + 32; - enemy_projectile_instr_list_ptr[v2] = addr_off_8697B4; - enemy_projectile_properties[v2] = enemy_projectile_properties[v2] & 0xFFF | 0x2000; + eproj_x_subpos[v2] = 0; + eproj_y_subpos[v2] = 0; + eproj_x_vel[v2] = 0; + eproj_y_vel[v2] = 0; + eproj_x_pos[v2] = enemy_data[0].x_pos; + eproj_y_pos[v2] = enemy_data[0].y_pos + 32; + eproj_instr_list_ptr[v2] = addr_off_8697B4; + eproj_properties[v2] = eproj_properties[v2] & 0xFFF | 0x2000; break; } case 2: { int v3 = j >> 1; - enemy_projectile_x_subpos[v3] = 0; - enemy_projectile_y_subpos[v3] = 0; - enemy_projectile_y_vel[v3] = 0; - uint16 v4 = (uint8)enemy_projectile_init_param_1; - if ((int16)((uint8)enemy_projectile_init_param_1 - 8) >= 0) - enemy_projectile_x_vel[v3] = -2; + eproj_x_subpos[v3] = 0; + eproj_y_subpos[v3] = 0; + eproj_y_vel[v3] = 0; + uint16 v4 = (uint8)eproj_init_param_1; + if ((int16)((uint8)eproj_init_param_1 - 8) >= 0) + eproj_x_vel[v3] = -2; else - enemy_projectile_x_vel[v3] = 2; - enemy_projectile_E[v3] = byte_8698B4[v4]; - enemy_projectile_x_pos[v3] = enemy_data[0].x_pos; - enemy_projectile_y_pos[v3] = enemy_data[0].y_pos + 32; - enemy_projectile_pre_instr[v3] = FUNC16(EprojPreInstr_PhantoonDestroyableFireballs); + eproj_x_vel[v3] = 2; + eproj_E[v3] = byte_8698B4[v4]; + eproj_x_pos[v3] = enemy_data[0].x_pos; + eproj_y_pos[v3] = enemy_data[0].y_pos + 32; + eproj_pre_instr[v3] = FUNC16(EprojPreInstr_PhantoonDestroyableFireballs); break; } case 4: { int v5 = j >> 1; - enemy_projectile_x_subpos[v5] = 0; - enemy_projectile_y_subpos[v5] = 0; - enemy_projectile_y_vel[v5] = 0; - enemy_projectile_x_vel[v5] = (enemy_projectile_init_param_1 & 0xF0) >> 1; - enemy_projectile_x_pos[v5] = byte_8698F7[enemy_projectile_init_param_1 & 0xF]; - enemy_projectile_y_pos[v5] = 40; - enemy_projectile_pre_instr[v5] = FUNC16(EprojPreInstr_PhantoonDestroyableFireballs_2); + eproj_x_subpos[v5] = 0; + eproj_y_subpos[v5] = 0; + eproj_y_vel[v5] = 0; + eproj_x_vel[v5] = (eproj_init_param_1 & 0xF0) >> 1; + eproj_x_pos[v5] = byte_8698F7[eproj_init_param_1 & 0xF]; + eproj_y_pos[v5] = 40; + eproj_pre_instr[v5] = FUNC16(EprojPreInstr_PhantoonDestroyableFireballs_2); break; } case 6: { int v7 = j >> 1; - enemy_projectile_x_subpos[v7] = 0; - enemy_projectile_y_subpos[v7] = 0; - enemy_projectile_y_vel[v7] = 0; - enemy_projectile_x_vel[v7] = 128; - enemy_projectile_E[v7] = byte_869979[(uint8)enemy_projectile_init_param_1]; - enemy_projectile_x_pos[v7] = enemy_data[0].x_pos; - enemy_projectile_y_pos[v7] = enemy_data[0].y_pos + 16; - enemy_projectile_pre_instr[v7] = FUNC16(EprojPreInstr_PhantoonDestroyableFireballs_3); + eproj_x_subpos[v7] = 0; + eproj_y_subpos[v7] = 0; + eproj_y_vel[v7] = 0; + eproj_x_vel[v7] = 128; + eproj_E[v7] = byte_869979[(uint8)eproj_init_param_1]; + eproj_x_pos[v7] = enemy_data[0].x_pos; + eproj_y_pos[v7] = enemy_data[0].y_pos + 16; + eproj_pre_instr[v7] = FUNC16(EprojPreInstr_PhantoonDestroyableFireballs_3); break; } default: @@ -1451,45 +1451,45 @@ static void EprojInit_PhantoonDestroyableFireballs(uint16 j) { // 0x869824 static void EprojInit_PhantoonStartingFireballs(uint16 j) { // 0x86993A int v1 = j >> 1; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_y_subpos[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - uint16 v2 = byte_869979[enemy_projectile_init_param_1]; - enemy_projectile_E[v1] = v2; + eproj_x_subpos[v1] = 0; + eproj_y_subpos[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + uint16 v2 = byte_869979[eproj_init_param_1]; + eproj_E[v1] = v2; Point16U pt = Eproj_PhantomFireballs_Func1(v2, 0x30); - enemy_projectile_x_pos[v1] = pt.x + enemy_data[0].x_pos; - enemy_projectile_y_pos[v1] = pt.y + enemy_data[0].y_pos + 16; + eproj_x_pos[v1] = pt.x + enemy_data[0].x_pos; + eproj_y_pos[v1] = pt.y + enemy_data[0].y_pos + 16; } void EprojPreInstr_PhantoonStartingFireballs(uint16 k) { // 0x869981 int v1 = k >> 1; - enemy_projectile_y_vel[v1] += 16; - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { - enemy_projectile_properties[v1] = enemy_projectile_properties[v1] & 0xFFF | 0x8000; - enemy_projectile_pre_instr[v1] = FUNC16(EprojPreInstr_PhantoonStartingFireballs2); - enemy_projectile_instr_list_ptr[v1] = addr_word_86976C; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_E[v1] = 8; - enemy_projectile_y_pos[v1] += 8; + eproj_y_vel[v1] += 16; + if (EprojBlockCollisition_Vertical(k) & 1) { + eproj_properties[v1] = eproj_properties[v1] & 0xFFF | 0x8000; + eproj_pre_instr[v1] = FUNC16(EprojPreInstr_PhantoonStartingFireballs2); + eproj_instr_list_ptr[v1] = addr_word_86976C; + eproj_instr_timers[v1] = 1; + eproj_E[v1] = 8; + eproj_y_pos[v1] += 8; } } void EprojPreInstr_PhantoonStartingFireballs2(uint16 k) { // 0x8699BF int v1 = k >> 1; - bool v2 = enemy_projectile_E[v1] == 1; - bool v3 = (--enemy_projectile_E[v1] & 0x8000) != 0; + bool v2 = eproj_E[v1] == 1; + bool v3 = (--eproj_E[v1] & 0x8000) != 0; if (v2 || v3) { - enemy_projectile_pre_instr[v1] = FUNC16(EprojPreInstr_PhantoonStartingFireballs3); - enemy_projectile_instr_list_ptr[v1] = addr_word_869772; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_y_pos[v1] -= 8; - enemy_projectile_y_vel[v1] = -768; - enemy_projectile_E[v1] = 0; + eproj_pre_instr[v1] = FUNC16(EprojPreInstr_PhantoonStartingFireballs3); + eproj_instr_list_ptr[v1] = addr_word_869772; + eproj_instr_timers[v1] = 1; + eproj_y_pos[v1] -= 8; + eproj_y_vel[v1] = -768; + eproj_E[v1] = 0; if ((nmi_frame_counter_word & 1) != 0) - enemy_projectile_x_vel[v1] = -128; + eproj_x_vel[v1] = -128; else - enemy_projectile_x_vel[v1] = 128; + eproj_x_vel[v1] = 128; } } @@ -1497,21 +1497,21 @@ static const uint16 word_869A3E[3] = { 0xfd00, 0xfe00, 0xff00 }; void EprojPreInstr_PhantoonStartingFireballs3(uint16 k) { // 0x869A01 int v1 = k >> 1; - enemy_projectile_y_vel[v1] += 16; - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { - uint16 v2 = enemy_projectile_E[v1] + 1; - enemy_projectile_E[v1] = v2; + eproj_y_vel[v1] += 16; + if (EprojBlockCollisition_Vertical(k) & 1) { + uint16 v2 = eproj_E[v1] + 1; + eproj_E[v1] = v2; if (sign16(v2 - 3)) { - enemy_projectile_y_vel[v1] = word_869A3E[v2]; + eproj_y_vel[v1] = word_869A3E[v2]; return; } goto LABEL_6; } - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) { + if (EprojBlockCollisition_Horiz(k) & 1) { LABEL_6: - enemy_projectile_instr_list_ptr[v1] = addr_word_869782; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_pre_instr[v1] = FUNC16(nullsub_86); + eproj_instr_list_ptr[v1] = addr_word_869782; + eproj_instr_timers[v1] = 1; + eproj_pre_instr[v1] = FUNC16(nullsub_86); } } @@ -1519,41 +1519,41 @@ void EprojPreInstr_PhantoonDestroyableFireballs(uint16 k) { // 0x869A45 int16 v4; uint16 v5; int v1 = k >> 1; - enemy_projectile_y_vel[v1] += 4; - uint16 v2 = (uint8)(LOBYTE(enemy_projectile_x_vel[v1]) + enemy_projectile_E[v1]); - enemy_projectile_E[v1] = v2; - Point16U pt = Eproj_PhantomFireballs_Func1(v2, enemy_projectile_y_vel[v1]); + eproj_y_vel[v1] += 4; + uint16 v2 = (uint8)(LOBYTE(eproj_x_vel[v1]) + eproj_E[v1]); + eproj_E[v1] = v2; + Point16U pt = Eproj_PhantomFireballs_Func1(v2, eproj_y_vel[v1]); bool v3 = (int16)(pt.x + enemy_data[0].x_pos) < 0; v4 = pt.x + enemy_data[0].x_pos; - enemy_projectile_x_pos[v1] = pt.x + enemy_data[0].x_pos; + eproj_x_pos[v1] = pt.x + enemy_data[0].x_pos; if (v3 || !sign16(v4 - 256) || (v3 = (int16)(pt.y + enemy_data[0].y_pos + 16) < 0, v5 = pt.y + enemy_data[0].y_pos + 16, - enemy_projectile_y_pos[v1] = v5, + eproj_y_pos[v1] = v5, v3) || !sign16(v5 - 256)) { - enemy_projectile_instr_list_ptr[v1] = addr_off_8697F8; - enemy_projectile_instr_timers[v1] = 1; + eproj_instr_list_ptr[v1] = addr_off_8697F8; + eproj_instr_timers[v1] = 1; } } void EprojPreInstr_PhantoonDestroyableFireballs_2(uint16 k) { // 0x869A94 int v1 = k >> 1; - if (!enemy_projectile_x_vel[v1]) + if (!eproj_x_vel[v1]) goto LABEL_5; bool v2, v3; - v2 = enemy_projectile_x_vel[v1] == 1; - v3 = (--enemy_projectile_x_vel[v1] & 0x8000) != 0; + v2 = eproj_x_vel[v1] == 1; + v3 = (--eproj_x_vel[v1] & 0x8000) != 0; if (v2 || v3) { QueueSfx3_Max6(0x1D); LABEL_5: - enemy_projectile_y_vel[v1] += 16; - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { - enemy_projectile_instr_list_ptr[v1] = addr_word_8697AC; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_y_pos[v1] += 8; - enemy_projectile_pre_instr[v1] = FUNC16(nullsub_86); + eproj_y_vel[v1] += 16; + if (EprojBlockCollisition_Vertical(k) & 1) { + eproj_instr_list_ptr[v1] = addr_word_8697AC; + eproj_instr_timers[v1] = 1; + eproj_y_pos[v1] += 8; + eproj_pre_instr[v1] = FUNC16(nullsub_86); QueueSfx3_Max6(0x1D); } } @@ -1563,57 +1563,57 @@ void EprojPreInstr_PhantoonDestroyableFireballs_3(uint16 k) { // 0x869ADA int16 v4; uint16 v5; int v1 = k >> 1; - enemy_projectile_y_vel[v1] += 2; - uint16 v2 = (uint8)(enemy_projectile_E[v1] + 2); - enemy_projectile_E[v1] = v2; - Point16U pt = Eproj_PhantomFireballs_Func1(v2, enemy_projectile_y_vel[v1]); + eproj_y_vel[v1] += 2; + uint16 v2 = (uint8)(eproj_E[v1] + 2); + eproj_E[v1] = v2; + Point16U pt = Eproj_PhantomFireballs_Func1(v2, eproj_y_vel[v1]); bool v3 = (int16)(pt.x + enemy_data[0].x_pos) < 0; v4 = pt.x + enemy_data[0].x_pos; - enemy_projectile_x_pos[v1] = pt.x + enemy_data[0].x_pos; + eproj_x_pos[v1] = pt.x + enemy_data[0].x_pos; if (v3 || !sign16(v4 - 256) || (v3 = (int16)(pt.y + enemy_data[0].y_pos + 16) < 0, v5 = pt.y + enemy_data[0].y_pos + 16, - enemy_projectile_y_pos[v1] = v5, + eproj_y_pos[v1] = v5, v3) || !sign16(v5 - 256)) { - enemy_projectile_instr_list_ptr[v1] = addr_off_8697F8; - enemy_projectile_instr_timers[v1] = 1; + eproj_instr_list_ptr[v1] = addr_off_8697F8; + eproj_instr_timers[v1] = 1; } } void EprojPreInstr_PhantoonStartingFireballsB(uint16 k) { // 0x869B29 if (enemy_data[0].ai_var_B) { int v1 = k >> 1; - enemy_projectile_pre_instr[v1] = FUNC16(EprojPreInstr_PhantoonStartingFireballsB_2); - enemy_projectile_x_vel[v1] = 180; - enemy_projectile_y_vel[v1] = 48; + eproj_pre_instr[v1] = FUNC16(EprojPreInstr_PhantoonStartingFireballsB_2); + eproj_x_vel[v1] = 180; + eproj_y_vel[v1] = 48; } } void EprojPreInstr_PhantoonStartingFireballsB_2(uint16 k) { // 0x869B41 int v1 = k >> 1; - uint16 v2 = enemy_projectile_x_vel[v1]; + uint16 v2 = eproj_x_vel[v1]; if (v2) { - enemy_projectile_x_vel[v1] = v2 - 1; + eproj_x_vel[v1] = v2 - 1; LABEL_5:; - uint8 v4 = enemy_projectile_E[v1] + 1; - enemy_projectile_E[v1] = v4; - Point16U pt = Eproj_PhantomFireballs_Func1(v4, enemy_projectile_y_vel[v1]); - enemy_projectile_x_pos[v1] = pt.x + enemy_data[0].x_pos; - enemy_projectile_y_pos[v1] = pt.y + enemy_data[0].y_pos + 16; + uint8 v4 = eproj_E[v1] + 1; + eproj_E[v1] = v4; + Point16U pt = Eproj_PhantomFireballs_Func1(v4, eproj_y_vel[v1]); + eproj_x_pos[v1] = pt.x + enemy_data[0].x_pos; + eproj_y_pos[v1] = pt.y + enemy_data[0].y_pos + 16; return; } if ((nmi_frame_counter_word & 1) == 0) goto LABEL_5; - uint16 v3 = enemy_projectile_y_vel[v1] - 1; - enemy_projectile_y_vel[v1] = v3; + uint16 v3 = eproj_y_vel[v1] - 1; + eproj_y_vel[v1] = v3; if (v3) goto LABEL_5; - enemy_projectile_x_pos[v1] = enemy_data[0].x_pos; - enemy_projectile_y_pos[v1] = enemy_data[0].y_pos + 16; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_instr_list_ptr[v1] = addr_off_8697F8; + eproj_x_pos[v1] = enemy_data[0].x_pos; + eproj_y_pos[v1] = enemy_data[0].y_pos + 16; + eproj_instr_timers[v1] = 1; + eproj_instr_list_ptr[v1] = addr_off_8697F8; } Point16U Eproj_PhantomFireballs_Func1(uint16 j, uint16 a) { // 0x869BA2 @@ -1645,24 +1645,24 @@ uint16 Eproj_PhantomFireballs_Func2(uint16 k, uint16 r24) { // 0x869BF3 static void EprojInit_RocksKraidSpits(uint16 j) { // 0x869CA3 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_x_pos[v2] = v1->x_pos + 16; - enemy_projectile_y_pos[v2] = v1->y_pos - 96; - enemy_projectile_y_subpos[v2] = 0; - enemy_projectile_x_subpos[v2] = 0; - enemy_projectile_x_vel[v2] = enemy_projectile_init_param_1; - enemy_projectile_y_vel[v2] = -1024; - enemy_projectile_gfx_idx[v2] = 1536; + eproj_x_pos[v2] = v1->x_pos + 16; + eproj_y_pos[v2] = v1->y_pos - 96; + eproj_y_subpos[v2] = 0; + eproj_x_subpos[v2] = 0; + eproj_x_vel[v2] = eproj_init_param_1; + eproj_y_vel[v2] = -1024; + eproj_gfx_idx[v2] = 1536; } static void EprojInit_RocksFallingKraidCeiling(uint16 j) { // 0x869CD8 int v1 = j >> 1; - enemy_projectile_x_pos[v1] = enemy_projectile_init_param_1; - enemy_projectile_y_pos[v1] = 312; - enemy_projectile_y_subpos[v1] = 0; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = (random_number & 0x3F) + 64; - enemy_projectile_gfx_idx[v1] = 1536; + eproj_x_pos[v1] = eproj_init_param_1; + eproj_y_pos[v1] = 312; + eproj_y_subpos[v1] = 0; + eproj_x_subpos[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = (random_number & 0x3F) + 64; + eproj_gfx_idx[v1] = 1536; } static void EprojInit_RocksWhenKraidRises(uint16 j) { // 0x869D0C @@ -1672,39 +1672,39 @@ static void EprojInit_RocksWhenKraidRises(uint16 j) { // 0x869D0C if ((random_number & 1) == 0) v1 = ~v1; int v2 = j >> 1; - enemy_projectile_x_pos[v2] = gEnemyData(cur_enemy_index)->x_pos + v1; - enemy_projectile_y_pos[v2] = 432; - enemy_projectile_y_subpos[v2] = 0; - enemy_projectile_x_subpos[v2] = 0; - enemy_projectile_x_vel[v2] = enemy_projectile_init_param_1; - enemy_projectile_y_vel[v2] = -1280; - enemy_projectile_gfx_idx[v2] = 1536; + eproj_x_pos[v2] = gEnemyData(cur_enemy_index)->x_pos + v1; + eproj_y_pos[v2] = 432; + eproj_y_subpos[v2] = 0; + eproj_x_subpos[v2] = 0; + eproj_x_vel[v2] = eproj_init_param_1; + eproj_y_vel[v2] = -1280; + eproj_gfx_idx[v2] = 1536; QueueSfx3_Max6(0x1E); } void EprojPreInstr_KraidRocks(uint16 k) { // 0x869D56 - if (EnemyProjectileBlockCollisition_Horiz(k) & 1 || EnemyProjectileBlockCollisition_Vertical(k) & 1) { - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Horiz(k) & 1 || EprojBlockCollisition_Vertical(k) & 1) { + eproj_id[k >> 1] = 0; } else { int v1 = k >> 1; - uint16 v2 = enemy_projectile_x_vel[v1] + 8; - enemy_projectile_x_vel[v1] = v2; + uint16 v2 = eproj_x_vel[v1] + 8; + eproj_x_vel[v1] = v2; if (!sign16(v2 - 256)) v2 = -256; - enemy_projectile_x_vel[v1] = v2; - enemy_projectile_y_vel[v1] += 64; + eproj_x_vel[v1] = v2; + eproj_y_vel[v1] += 64; } } void EprojPreInstr_RocksFallingKraidCeiling(uint16 k) { // 0x869D89 - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Vertical(k) & 1) + eproj_id[k >> 1] = 0; else - enemy_projectile_y_vel[k >> 1] = (enemy_projectile_y_vel[k >> 1] + 24) & 0x3FFF; + eproj_y_vel[k >> 1] = (eproj_y_vel[k >> 1] + 24) & 0x3FFF; } void sub_869DA5(uint16 k) { // 0x869DA5 - enemy_projectile_gfx_idx[k >> 1] = 0; + eproj_gfx_idx[k >> 1] = 0; } static void EprojInit_MiniKraidSpit(uint16 j) { // 0x869DEC @@ -1713,25 +1713,25 @@ static void EprojInit_MiniKraidSpit(uint16 j) { // 0x869DEC EnemyData *v1 = gEnemyData(cur_enemy_index); v2 = gExtraEnemyRam7800(cur_enemy_index); int v3 = j >> 1; - enemy_projectile_x_pos[v3] = v2->kraid.field_4 + v1->x_pos; - enemy_projectile_y_pos[v3] = v1->y_pos - 16; - enemy_projectile_y_subpos[v3] = 0; - enemy_projectile_x_subpos[v3] = 0; - enemy_projectile_x_vel[v3] = v2->kraid.kraid_next; - enemy_projectile_y_vel[v3] = v2->kraid.field_2; + eproj_x_pos[v3] = v2->kraid.field_4 + v1->x_pos; + eproj_y_pos[v3] = v1->y_pos - 16; + eproj_y_subpos[v3] = 0; + eproj_x_subpos[v3] = 0; + eproj_x_vel[v3] = v2->kraid.kraid_next; + eproj_y_vel[v3] = v2->kraid.field_2; } void EprojPreInit_MiniKraidSpit(uint16 k) { // 0x869E1E int16 v2; - if (EnemyProjectileBlockCollisition_Horiz(k) & 1 || EnemyProjectileBlockCollisition_Vertical(k) & 1) { - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Horiz(k) & 1 || EprojBlockCollisition_Vertical(k) & 1) { + eproj_id[k >> 1] = 0; } else { int v1 = k >> 1; - v2 = enemy_projectile_y_vel[v1] + 64; - if (v2 >= 0 && !sign16(enemy_projectile_y_vel[v1] - 960)) + v2 = eproj_y_vel[v1] + 64; + if (v2 >= 0 && !sign16(eproj_y_vel[v1] - 960)) v2 = 1024; - enemy_projectile_y_vel[v1] = v2; + eproj_y_vel[v1] = v2; } } @@ -1739,14 +1739,14 @@ static const int16 kEprojInit_MiniKraidSpikes_Tab0[3] = { -2, 12, 24 }; static void EprojInit_MiniKraidSpikes(uint16 j, uint16 a) { // 0x869E4E int v2 = j >> 1; - enemy_projectile_x_vel[v2] = a; + eproj_x_vel[v2] = a; uint16 r18 = kEprojInit_MiniKraidSpikes_Tab0[gExtraEnemyRam7800(cur_enemy_index)->kraid.kraid_healths_8ths[0] >> 1]; EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v2] = v3->x_pos; - enemy_projectile_y_pos[v2] = r18 + v3->y_pos; - enemy_projectile_y_subpos[v2] = 0; - enemy_projectile_x_subpos[v2] = 0; - enemy_projectile_y_vel[v2] = 0; + eproj_x_pos[v2] = v3->x_pos; + eproj_y_pos[v2] = r18 + v3->y_pos; + eproj_y_subpos[v2] = 0; + eproj_x_subpos[v2] = 0; + eproj_y_vel[v2] = 0; } static void EprojInit_MiniKraidSpikesLeft(uint16 j) { // 0x869E46 @@ -1758,8 +1758,8 @@ static void EprojInit_MiniKraidSpikesRight(uint16 j) { // 0x869E4B } void EprojPreInstr_MiniKraidSpikes(uint16 k) { // 0x869E83 - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Horiz(k) & 1) + eproj_id[k >> 1] = 0; } static void EprojInit_WalkingLavaSeahorseFireball(uint16 j) { // 0x869EB2 @@ -1767,155 +1767,155 @@ static void EprojInit_WalkingLavaSeahorseFireball(uint16 j) { // 0x869EB2 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_y_pos[v2] = v1->y_pos - 12; - enemy_projectile_x_vel[v2] = -1024; - enemy_projectile_x_pos[v2] = v1->x_pos - 16; + eproj_y_pos[v2] = v1->y_pos - 12; + eproj_x_vel[v2] = -1024; + eproj_x_pos[v2] = v1->x_pos - 16; if ((v1->ai_var_D & 0x8000) == 0) { - enemy_projectile_x_vel[v2] = 1024; - enemy_projectile_x_pos[v2] = v1->x_pos + 16; + eproj_x_vel[v2] = 1024; + eproj_x_pos[v2] = v1->x_pos + 16; } - enemy_projectile_y_vel[v2] = word_869EF9[enemy_projectile_init_param_1 >> 1]; - enemy_projectile_y_subpos[v2] = 0; - enemy_projectile_x_subpos[v2] = 0; + eproj_y_vel[v2] = word_869EF9[eproj_init_param_1 >> 1]; + eproj_y_subpos[v2] = 0; + eproj_x_subpos[v2] = 0; } void EprojPreInstr_WalkingLavaSeahorseFireball(uint16 k) { // 0x869EFF uint16 v2; - if (EnemyProjectileBlockCollisition_Vertical(k) & 1 || EnemyProjectileBlockCollisition_Horiz(k) & 1) { - enemy_projectile_id[k >> 1] = 0; + if (EprojBlockCollisition_Vertical(k) & 1 || EprojBlockCollisition_Horiz(k) & 1) { + eproj_id[k >> 1] = 0; } else { int v1 = k >> 1; - if ((enemy_projectile_x_vel[v1] & 0x8000) == 0) { - v2 = enemy_projectile_x_vel[v1] - 64; - enemy_projectile_x_vel[v1] = v2; + if ((eproj_x_vel[v1] & 0x8000) == 0) { + v2 = eproj_x_vel[v1] - 64; + eproj_x_vel[v1] = v2; if (sign16(v2 - 512)) v2 = 512; } else { - v2 = enemy_projectile_x_vel[v1] + 64; - enemy_projectile_x_vel[v1] = v2; + v2 = eproj_x_vel[v1] + 64; + eproj_x_vel[v1] = v2; if (!sign16(v2 + 512)) v2 = -512; } - enemy_projectile_x_vel[v1] = v2; + eproj_x_vel[v1] = v2; } } static void EprojInit_PirateMotherBrainLaser(uint16 j) { // 0x86A009 int v2 = j >> 1; - enemy_projectile_instr_list_ptr[v2] = eproj_spawn_r22 ? addr_word_869F7D : addr_word_869F41; - enemy_projectile_pre_instr[v2] = FUNC16(nullsub_87); - enemy_projectile_x_pos[v2] = eproj_spawn_pt.x; - enemy_projectile_y_pos[v2] = eproj_spawn_pt.y; + eproj_instr_list_ptr[v2] = eproj_spawn_r22 ? addr_word_869F7D : addr_word_869F41; + eproj_pre_instr[v2] = FUNC16(nullsub_87); + eproj_x_pos[v2] = eproj_spawn_pt.x; + eproj_y_pos[v2] = eproj_spawn_pt.y; EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_properties[v2] = *((uint16 *)RomPtr_A0(v3->enemy_ptr) + 3) | 0x1000; - enemy_projectile_E[v2] = v3->parameter_1; + eproj_properties[v2] = *((uint16 *)RomPtr_A0(v3->enemy_ptr) + 3) | 0x1000; + eproj_E[v2] = v3->parameter_1; QueueSfx2_Max6(0x67); } const uint8 *EprojInstr_SetPreInstrAndRun(uint16 k, const uint8 *epjp) { // 0x86A050 - enemy_projectile_pre_instr[k >> 1] = GET_WORD(epjp); + eproj_pre_instr[k >> 1] = GET_WORD(epjp); return epjp; } void EprojPreInstr_PirateMotherBrainLaser_MoveLeft(uint16 k) { // 0x86A05C int v1 = k >> 1; - enemy_projectile_x_pos[v1] -= 2; - if ((enemy_projectile_E[v1] & 0x8000) == 0) - enemy_projectile_x_pos[v1] -= 2; - if (CheckIfEnemyProjectileIsOffScreen(k)) - enemy_projectile_id[v1] = 0; + eproj_x_pos[v1] -= 2; + if ((eproj_E[v1] & 0x8000) == 0) + eproj_x_pos[v1] -= 2; + if (CheckIfEprojIsOffScreen(k)) + eproj_id[v1] = 0; } void EprojPreInstr_PirateMotherBrainLaser_MoveRight(uint16 k) { // 0x86A07A int v1 = k >> 1; - enemy_projectile_x_pos[v1] += 2; - if ((enemy_projectile_E[v1] & 0x8000) == 0) - enemy_projectile_x_pos[v1] += 2; - if (CheckIfEnemyProjectileIsOffScreen(k)) - enemy_projectile_id[v1] = 0; + eproj_x_pos[v1] += 2; + if ((eproj_E[v1] & 0x8000) == 0) + eproj_x_pos[v1] += 2; + if (CheckIfEprojIsOffScreen(k)) + eproj_id[v1] = 0; } static void EprojInit_PirateClaw(uint16 j) { // 0x86A098 Rect16U r = eproj_spawn_rect; int v1 = j >> 1; - enemy_projectile_y_pos[v1] = r.y + r.h; - enemy_projectile_x_pos[v1] = r.x + r.w; - enemy_projectile_instr_list_ptr[v1] = enemy_projectile_init_param_1 ? addr_off_869FE1 : addr_off_869FB9; - enemy_projectile_pre_instr[v1] = FUNC16(nullsub_87); - enemy_projectile_E[v1] = 2048; - enemy_projectile_F[v1] = 1; + eproj_y_pos[v1] = r.y + r.h; + eproj_x_pos[v1] = r.x + r.w; + eproj_instr_list_ptr[v1] = eproj_init_param_1 ? addr_off_869FE1 : addr_off_869FB9; + eproj_pre_instr[v1] = FUNC16(nullsub_87); + eproj_E[v1] = 2048; + eproj_F[v1] = 1; } void EprojPreInstr_PirateClawThrownLeft(uint16 k) { // 0x86A0D1 int v1 = k >> 1; - if (enemy_projectile_F[v1]) { - enemy_projectile_x_pos[v1] -= HIBYTE(enemy_projectile_E[v1]); - uint16 v2 = enemy_projectile_E[v1] - 32; - enemy_projectile_E[v1] = v2; + if (eproj_F[v1]) { + eproj_x_pos[v1] -= HIBYTE(eproj_E[v1]); + uint16 v2 = eproj_E[v1] - 32; + eproj_E[v1] = v2; if (!v2) - enemy_projectile_F[v1] = 0; + eproj_F[v1] = 0; } else { - enemy_projectile_x_pos[v1] += HIBYTE(enemy_projectile_E[v1]); - enemy_projectile_E[v1] += 32; + eproj_x_pos[v1] += HIBYTE(eproj_E[v1]); + eproj_E[v1] += 32; } - ++enemy_projectile_y_pos[v1]; - if (CheckIfEnemyProjectileIsOffScreen(k)) - enemy_projectile_id[v1] = 0; + ++eproj_y_pos[v1]; + if (CheckIfEprojIsOffScreen(k)) + eproj_id[v1] = 0; } void EprojPreInstr_PirateClawThrownRight(uint16 k) { // 0x86A124 int v1 = k >> 1; - if (enemy_projectile_F[v1]) { - enemy_projectile_x_pos[v1] += HIBYTE(enemy_projectile_E[v1]); - uint16 v2 = enemy_projectile_E[v1] - 32; - enemy_projectile_E[v1] = v2; + if (eproj_F[v1]) { + eproj_x_pos[v1] += HIBYTE(eproj_E[v1]); + uint16 v2 = eproj_E[v1] - 32; + eproj_E[v1] = v2; if (!v2) - enemy_projectile_F[v1] = 0; + eproj_F[v1] = 0; } else { - enemy_projectile_x_pos[v1] -= HIBYTE(enemy_projectile_E[v1]); - enemy_projectile_E[v1] += 32; + eproj_x_pos[v1] -= HIBYTE(eproj_E[v1]); + eproj_E[v1] += 32; } - ++enemy_projectile_y_pos[v1]; - if (CheckIfEnemyProjectileIsOffScreen(k)) - enemy_projectile_id[v1] = 0; + ++eproj_y_pos[v1]; + if (CheckIfEprojIsOffScreen(k)) + eproj_id[v1] = 0; } static const int16 word_86A2D6[6] = { 64, 72, 80, -64, -72, -80 }; static void EprojInit_A379(uint16 j) { // 0x86A2A1 int v1 = j >> 1; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_y_subpos[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - uint16 v2 = enemy_projectile_init_param_1; - int v3 = enemy_projectile_init_param_1 >> 1; - enemy_projectile_x_pos[v1] = word_86A2D6[v3] + samus_x_pos; - enemy_projectile_y_pos[v1] = samus_y_pos + 80; - enemy_projectile_instr_list_ptr[v1] = off_86A2E2[v3]; - enemy_projectile_E[v1] = v2; + eproj_x_subpos[v1] = 0; + eproj_y_subpos[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + uint16 v2 = eproj_init_param_1; + int v3 = eproj_init_param_1 >> 1; + eproj_x_pos[v1] = word_86A2D6[v3] + samus_x_pos; + eproj_y_pos[v1] = samus_y_pos + 80; + eproj_instr_list_ptr[v1] = off_86A2E2[v3]; + eproj_E[v1] = v2; } static void EprojInit_CeresElevatorPad(uint16 j) { // 0x86A2EE int v1 = j >> 1; - enemy_projectile_y_pos[v1] = samus_y_pos + 28; - enemy_projectile_E[v1] = 60; + eproj_y_pos[v1] = samus_y_pos + 28; + eproj_E[v1] = 60; sub_86A301(j); } void sub_86A301(uint16 j) { // 0x86A301 int v1 = j >> 1; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_y_subpos[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - enemy_projectile_gfx_idx[v1] = 0; - enemy_projectile_x_pos[v1] = samus_x_pos; + eproj_x_subpos[v1] = 0; + eproj_y_subpos[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + eproj_gfx_idx[v1] = 0; + eproj_x_pos[v1] = samus_x_pos; } static void EprojInit_CeresElevatorPlatform(uint16 j) { // 0x86A31B - enemy_projectile_y_pos[j >> 1] = 97; + eproj_y_pos[j >> 1] = 97; sub_86A301(j); } @@ -1925,14 +1925,14 @@ void EprojPreInstr_CeresElevatorPad(uint16 k) { // 0x86A328 bool v3; // sf int v1 = k >> 1; - if (!enemy_projectile_E[v1] - || (v2 = enemy_projectile_E[v1] == 1, v3 = (int16)(enemy_projectile_E[v1] - 1) < 0, --enemy_projectile_E[v1], v2) + if (!eproj_E[v1] + || (v2 = eproj_E[v1] == 1, v3 = (int16)(eproj_E[v1] - 1) < 0, --eproj_E[v1], v2) || v3) { - enemy_projectile_y_pos[v1] = samus_y_pos + 28; + eproj_y_pos[v1] = samus_y_pos + 28; if (!sign16(++samus_y_pos - 73)) { samus_y_pos = 72; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_instr_list_ptr[v1] = addr_off_86A28B; + eproj_instr_timers[v1] = 1; + eproj_instr_list_ptr[v1] = addr_off_86A28B; CallSomeSamusCode(0xE); } } @@ -1941,8 +1941,8 @@ void EprojPreInstr_CeresElevatorPad(uint16 k) { // 0x86A328 void EprojPreInstr_CeresElevatorPlatform(uint16 k) { // 0x86A364 if (samus_y_pos == 72) { int v1 = k >> 1; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_instr_list_ptr[v1] = addr_off_86A28B; + eproj_instr_timers[v1] = 1; + eproj_instr_list_ptr[v1] = addr_off_86A28B; } } @@ -1952,8 +1952,8 @@ void EprojPreInstr_PrePhantomRoom(uint16 j) { // 0x86A3A3 const uint8 *EprojInstr_A3BE(uint16 k, const uint8 *epjp) { // 0x86A3BE int v1 = k >> 1; - enemy_projectile_x_pos[v1] = enemy_projectile_E[v1]; - enemy_projectile_y_pos[v1] = enemy_projectile_F[v1]; + eproj_x_pos[v1] = eproj_E[v1]; + eproj_y_pos[v1] = eproj_F[v1]; return epjp; } @@ -1968,11 +1968,11 @@ static void EprojInit_BombTorizoLowHealthDrool(uint16 j) { // 0x86A5D3 int16 parameter_1; // dx uint16 v4, v5, v8; int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; - enemy_projectile_instr_list_ptr[v1] = off_86A64D[(uint16)((NextRandom() >> 1) & 0xE) >> 1]; + eproj_gfx_idx[v1] = 0; + eproj_instr_list_ptr[v1] = off_86A64D[(uint16)((NextRandom() >> 1) & 0xE) >> 1]; NextRandom(); EnemyData *v2 = gEnemyData(cur_enemy_index); - enemy_projectile_y_pos[v1] = v2->y_pos - 5; + eproj_y_pos[v1] = v2->y_pos - 5; parameter_1 = v2->parameter_1; if ((parameter_1 & 0x4000) != 0) { v4 = random_number & 0x1FE; @@ -1984,14 +1984,14 @@ static void EprojInit_BombTorizoLowHealthDrool(uint16 j) { // 0x86A5D3 v4 = 2 * (v5 + (random_number & 0xF) - 8); } int v6 = v4 >> 1; - enemy_projectile_x_vel[v1] = kSinCosTable8bit_Sext[v6 + 64]; - enemy_projectile_y_vel[v1] = kSinCosTable8bit_Sext[v6]; + eproj_x_vel[v1] = kSinCosTable8bit_Sext[v6 + 64]; + eproj_y_vel[v1] = kSinCosTable8bit_Sext[v6]; EnemyData *v7 = gEnemyData(cur_enemy_index); if ((v7->parameter_1 & 0x8000) != 0) v8 = v7->x_pos + 8; else v8 = v7->x_pos - 8; - enemy_projectile_x_pos[v1] = v8; + eproj_x_pos[v1] = v8; } static void EprojInit_BombTorizoLowHealthInitialDrool(uint16 j) { // 0x86A65D @@ -1999,34 +1999,34 @@ static void EprojInit_BombTorizoLowHealthInitialDrool(uint16 j) { // 0x86A65D int16 parameter_1; // dx int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; + eproj_gfx_idx[v1] = 0; NextRandom(); EnemyData *v2 = gEnemyData(cur_enemy_index); - enemy_projectile_y_pos[v1] = v2->y_pos + (random_number & 3) - 5; - enemy_projectile_y_vel[v1] = (random_number & 0x1F) + 48; + eproj_y_pos[v1] = v2->y_pos + (random_number & 3) - 5; + eproj_y_vel[v1] = (random_number & 0x1F) + 48; NextRandom(); v3 = random_number & 3; parameter_1 = v2->parameter_1; if ((parameter_1 & 0x4000) != 0) { - enemy_projectile_x_pos[v1] = v2->x_pos + v3; - enemy_projectile_x_vel[v1] = 0; + eproj_x_pos[v1] = v2->x_pos + v3; + eproj_x_vel[v1] = 0; } else { if (parameter_1 < 0) - enemy_projectile_x_pos[v1] = v2->x_pos + v3 + 8; + eproj_x_pos[v1] = v2->x_pos + v3 + 8; else - enemy_projectile_x_pos[v1] = v2->x_pos + v3 - 8; - enemy_projectile_x_vel[v1] = 0; + eproj_x_pos[v1] = v2->x_pos + v3 - 8; + eproj_x_vel[v1] = 0; } } static void EprojInit_A977(uint16 j) { // 0x86A6C7 int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; + eproj_gfx_idx[v1] = 0; CalculatePlmBlockCoords(plm_id); - enemy_projectile_x_pos[v1] = 16 * plm_x_block; - enemy_projectile_y_pos[v1] = 16 * plm_y_block - 4; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_y_subpos[v1] = 0; + eproj_x_pos[v1] = 16 * plm_x_block; + eproj_y_pos[v1] = 16 * plm_y_block - 4; + eproj_x_subpos[v1] = 0; + eproj_y_subpos[v1] = 0; } static const int16 kEprojInit_BombTorizoExplosiveSwipe_Tab0[11] = { -30, -40, -47, -31, -21, -1, -28, -43, -48, -31, -21 }; @@ -2041,15 +2041,15 @@ static const int16 kEprojInit_BombTorizoLowHealthExplode_Y[6] = { -8, -8, -8, -2 static void EprojInit_BombTorizoExplosiveSwipe(uint16 j) { // 0x86A6F6 EnemyData *v1 = gEnemyData(cur_enemy_index); if ((v1->parameter_1 & 0x8000) != 0) { - int v4 = enemy_projectile_init_param_1 >> 1; + int v4 = eproj_init_param_1 >> 1; int v5 = j >> 1; - enemy_projectile_x_pos[v5] = v1->x_pos - kEprojInit_BombTorizoExplosiveSwipe_Tab0[v4]; - enemy_projectile_y_pos[v5] = v1->y_pos + kEprojInit_BombTorizoExplosiveSwipe_Tab1[v4]; + eproj_x_pos[v5] = v1->x_pos - kEprojInit_BombTorizoExplosiveSwipe_Tab0[v4]; + eproj_y_pos[v5] = v1->y_pos + kEprojInit_BombTorizoExplosiveSwipe_Tab1[v4]; } else { - int v2 = enemy_projectile_init_param_1 >> 1; + int v2 = eproj_init_param_1 >> 1; int v3 = j >> 1; - enemy_projectile_x_pos[v3] = v1->x_pos + kEprojInit_BombTorizoExplosiveSwipe_Tab0[v2]; - enemy_projectile_y_pos[v3] = v1->y_pos + kEprojInit_BombTorizoExplosiveSwipe_Tab1[v2]; + eproj_x_pos[v3] = v1->x_pos + kEprojInit_BombTorizoExplosiveSwipe_Tab0[v2]; + eproj_y_pos[v3] = v1->y_pos + kEprojInit_BombTorizoExplosiveSwipe_Tab1[v2]; } } @@ -2057,44 +2057,44 @@ static void EprojInit_BombTorizoStatueBreaking(uint16 j) { // 0x86A764 int8 v1; CalculatePlmBlockCoords(plm_id); - v1 = enemy_projectile_init_param_1; - int v2 = enemy_projectile_init_param_1 >> 1; + v1 = eproj_init_param_1; + int v2 = eproj_init_param_1 >> 1; int v3 = j >> 1; - enemy_projectile_instr_list_ptr[v3] = kEprojInit_BombTorizoStatueBreaking_InstrList[v2]; - enemy_projectile_x_pos[v3] = kEprojInit_BombTorizoStatueBreaking_Xpos[v2] + 16 * plm_x_block; + eproj_instr_list_ptr[v3] = kEprojInit_BombTorizoStatueBreaking_InstrList[v2]; + eproj_x_pos[v3] = kEprojInit_BombTorizoStatueBreaking_Xpos[v2] + 16 * plm_x_block; int v4 = (v1 & 0xF) >> 1; - enemy_projectile_y_pos[v3] = kEprojInit_BombTorizoStatueBreaking_Ypos[v4] + 16 * plm_y_block; - enemy_projectile_y_vel[v3] = kEprojInit_BombTorizoStatueBreaking_Yvel[v4]; - enemy_projectile_F[v3] = kEprojInit_BombTorizoStatueBreaking_F[v4]; - enemy_projectile_properties[v3] |= 0x1000; + eproj_y_pos[v3] = kEprojInit_BombTorizoStatueBreaking_Ypos[v4] + 16 * plm_y_block; + eproj_y_vel[v3] = kEprojInit_BombTorizoStatueBreaking_Yvel[v4]; + eproj_F[v3] = kEprojInit_BombTorizoStatueBreaking_F[v4]; + eproj_properties[v3] |= 0x1000; } static void EprojInit_BombTorizoLowHealthExplode(uint16 j) { // 0x86A81B EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_x_pos[v2] = v1->x_pos; - enemy_projectile_y_pos[v2] = v1->y_pos; + eproj_x_pos[v2] = v1->x_pos; + eproj_y_pos[v2] = v1->y_pos; if ((v1->parameter_1 & 0x8000) == 0) - enemy_projectile_init_param_1 += 2; - enemy_projectile_init_param_1 += 2; - int v3 = enemy_projectile_init_param_1 >> 1; - uint16 v4 = kEprojInit_BombTorizoLowHealthExplode_X[v3] + enemy_projectile_x_pos[v2]; - enemy_projectile_x_pos[v2] = v4; - enemy_projectile_E[v2] = v4; - uint16 v5 = kEprojInit_BombTorizoLowHealthExplode_Y[v3] + enemy_projectile_y_pos[v2]; - enemy_projectile_y_pos[v2] = v5; - enemy_projectile_F[v2] = v5; + eproj_init_param_1 += 2; + eproj_init_param_1 += 2; + int v3 = eproj_init_param_1 >> 1; + uint16 v4 = kEprojInit_BombTorizoLowHealthExplode_X[v3] + eproj_x_pos[v2]; + eproj_x_pos[v2] = v4; + eproj_E[v2] = v4; + uint16 v5 = kEprojInit_BombTorizoLowHealthExplode_Y[v3] + eproj_y_pos[v2]; + eproj_y_pos[v2] = v5; + eproj_F[v2] = v5; } static void EprojInit_BombTorizoDeathExplosion(uint16 j) { // 0x86A871 EnemyData *v1 = gEnemyData(cur_enemy_index); uint16 x_pos = v1->x_pos; int v3 = j >> 1; - enemy_projectile_x_pos[v3] = x_pos; - enemy_projectile_E[v3] = x_pos; + eproj_x_pos[v3] = x_pos; + eproj_E[v3] = x_pos; uint16 y_pos = v1->y_pos; - enemy_projectile_y_pos[v3] = y_pos; - enemy_projectile_F[v3] = y_pos; + eproj_y_pos[v3] = y_pos; + eproj_F[v3] = y_pos; } void sub_86A887(uint16 v0) { // 0x86A887 @@ -2102,66 +2102,66 @@ void sub_86A887(uint16 v0) { // 0x86A887 int16 v3; int16 v4; - if (EnemyProjectileBlockCollisition_Horiz(v0) & 1) { + if (EprojBlockCollisition_Horiz(v0) & 1) { int v6 = v0 >> 1; - enemy_projectile_instr_list_ptr[v6] = 0xA48A; - enemy_projectile_instr_timers[v6] = 1; + eproj_instr_list_ptr[v6] = 0xA48A; + eproj_instr_timers[v6] = 1; } else { int v1 = v0 >> 1; - v2 = enemy_projectile_x_vel[v1]; + v2 = eproj_x_vel[v1]; if (v2 >= 0) { v4 = v2 - 4; if (v4 < 0) v4 = 3; - enemy_projectile_x_vel[v1] = v4; + eproj_x_vel[v1] = v4; } else { v3 = v2 + 4; if (v3 >= 0) v3 = 3; - enemy_projectile_x_vel[v1] = v3; + eproj_x_vel[v1] = v3; } - uint8 carry = EnemyProjectileBlockCollisition_Vertical(v0); - if ((enemy_projectile_y_vel[v1] & 0x8000) != 0 || !carry) { - uint16 v5 = enemy_projectile_y_vel[v1] + 16; - enemy_projectile_y_vel[v1] = v5; + uint8 carry = EprojBlockCollisition_Vertical(v0); + if ((eproj_y_vel[v1] & 0x8000) != 0 || !carry) { + uint16 v5 = eproj_y_vel[v1] + 16; + eproj_y_vel[v1] = v5; if ((v5 & 0xF000) == 4096) - enemy_projectile_id[v1] = 0; + eproj_id[v1] = 0; } else { int v7 = v0 >> 1; - enemy_projectile_y_pos[v7] -= 3; - enemy_projectile_instr_list_ptr[v7] = 0xA48E; - enemy_projectile_instr_timers[v7] = 1; + eproj_y_pos[v7] -= 3; + eproj_instr_list_ptr[v7] = 0xA48E; + eproj_instr_timers[v7] = 1; } } } void EprojPreInstr_A977(uint16 k) { // 0x86A8EF - uint8 carry = EnemyProjectileBlockCollisition_Vertical(k); + uint8 carry = EprojBlockCollisition_Vertical(k); int v1 = k >> 1; - if ((enemy_projectile_y_vel[v1] & 0x8000) != 0 || !carry) { - uint16 v2 = enemy_projectile_F[0] + enemy_projectile_y_vel[v1]; - enemy_projectile_y_vel[v1] = v2; + if ((eproj_y_vel[v1] & 0x8000) != 0 || !carry) { + uint16 v2 = eproj_F[0] + eproj_y_vel[v1]; + eproj_y_vel[v1] = v2; if ((v2 & 0xF000) == 4096) - enemy_projectile_y_vel[v1] = 4096; + eproj_y_vel[v1] = 4096; } else { - enemy_projectile_pre_instr[v1] = 0xA918; + eproj_pre_instr[v1] = 0xA918; } } void sub_86A91A(uint16 v0) { // 0x86A91A int v1 = v0 >> 1; - enemy_projectile_x_vel[v1] = 0; + eproj_x_vel[v1] = 0; if ((joypad2_last & 0x100) != 0) - enemy_projectile_x_vel[v1] = 256; + eproj_x_vel[v1] = 256; if ((joypad2_last & 0x200) != 0) - enemy_projectile_x_vel[v1] = -256; - EnemyProjectileBlockCollisition_Horiz(v0); - enemy_projectile_y_vel[v1] = 0; + eproj_x_vel[v1] = -256; + EprojBlockCollisition_Horiz(v0); + eproj_y_vel[v1] = 0; if ((joypad2_last & 0x400) != 0) - enemy_projectile_y_vel[v1] = 256; + eproj_y_vel[v1] = 256; if ((joypad2_last & 0x800) != 0) - enemy_projectile_y_vel[v1] = -256; - EnemyProjectileBlockCollisition_Vertical(v0); + eproj_y_vel[v1] = -256; + EprojBlockCollisition_Vertical(v0); } static void EprojInit_AB07(uint16 j) { // 0x86AA3D @@ -2179,22 +2179,22 @@ static void EprojInit_AB07(uint16 j) { // 0x86AA3D v3->vram_dst = 28416; vram_write_queue_tail = v1 + 7; int v4 = j >> 1; - enemy_projectile_x_pos[v4] = samus_x_pos; - enemy_projectile_y_pos[v4] = samus_y_pos - 36; + eproj_x_pos[v4] = samus_x_pos; + eproj_y_pos[v4] = samus_y_pos - 36; } void EprojPreInstr_AB07(uint16 k) { // 0x86AA8C int v1 = k >> 1; - int32 amt = INT16_SHL8(8 * (samus_x_pos - enemy_projectile_x_pos[v1])); - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], amt); + int32 amt = INT16_SHL8(8 * (samus_x_pos - eproj_x_pos[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], amt); - amt = INT16_SHL8(8 * (samus_y_pos - 36 - enemy_projectile_y_pos[v1])); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], amt); + amt = INT16_SHL8(8 * (samus_y_pos - 36 - eproj_y_pos[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], amt); } const uint8 *EprojInstr_SpawnEnemyDrops(uint16 k, const uint8 *epjp) { // 0x86AB8A int v2 = k >> 1; - eproj_spawn_pt = (Point16U) { enemy_projectile_x_pos[v2], enemy_projectile_y_pos[v2] }; + eproj_spawn_pt = (Point16U) { eproj_x_pos[v2], eproj_y_pos[v2] }; SpawnEnemyDrops(area_index ? GET_WORD(epjp + 2) : GET_WORD(epjp), k, 0); return epjp + 4; } @@ -2202,11 +2202,11 @@ const uint8 *EprojInstr_SpawnEnemyDrops(uint16 k, const uint8 *epjp) { // 0x86A static void Eproj_InitXYVelRandom(uint16 j, uint16 k, Point16U pt) { // 0x86ABAE const uint16 *v2 = (const uint16 *)RomPtr_86(k); int v3 = j >> 1; - enemy_projectile_instr_list_ptr[v3] = *v2; - enemy_projectile_x_pos[v3] = v2[1] + pt.x; - enemy_projectile_x_vel[v3] = v2[2] + (uint8)NextRandom() - 128; - enemy_projectile_y_pos[v3] = v2[3] + pt.y; - enemy_projectile_y_vel[v3] = v2[4] + (uint8)NextRandom() - 128; + eproj_instr_list_ptr[v3] = *v2; + eproj_x_pos[v3] = v2[1] + pt.x; + eproj_x_vel[v3] = v2[2] + (uint8)NextRandom() - 128; + eproj_y_pos[v3] = v2[3] + pt.y; + eproj_y_vel[v3] = v2[4] + (uint8)NextRandom() - 128; } static void EprojInit_BombTorizosChozoOrbs(uint16 j) { // 0x86ABEB @@ -2222,23 +2222,23 @@ static void EprojInit_GoldenTorizosChozoOrbs(uint16 j) { // 0x86AC7C } void EprojPreInstr_BombTorizosChozoOrbs(uint16 k) { // 0x86ACAD - if (EnemyProjectileBlockCollisition_Horiz(k)) { + if (EprojBlockCollisition_Horiz(k)) { int v3 = k >> 1; - enemy_projectile_instr_list_ptr[v3] = addr_off_86AB25; - enemy_projectile_instr_timers[v3] = 1; + eproj_instr_list_ptr[v3] = addr_off_86AB25; + eproj_instr_timers[v3] = 1; } else { - uint8 carry = EnemyProjectileBlockCollisition_Vertical(k); + uint8 carry = EprojBlockCollisition_Vertical(k); int v1 = k >> 1; - if ((enemy_projectile_y_vel[v1] & 0x8000) != 0 || !carry) { - uint16 v2 = enemy_projectile_y_vel[v1] + 18; - enemy_projectile_y_vel[v1] = v2; + if ((eproj_y_vel[v1] & 0x8000) != 0 || !carry) { + uint16 v2 = eproj_y_vel[v1] + 18; + eproj_y_vel[v1] = v2; if ((v2 & 0xF000) == 4096) - enemy_projectile_id[v1] = 0; + eproj_id[v1] = 0; } else { int v4 = k >> 1; - enemy_projectile_y_pos[v4] = (enemy_projectile_y_pos[v4] & 0xFFF0 | 8) - 2; - enemy_projectile_instr_list_ptr[v4] = addr_off_86AB41; - enemy_projectile_instr_timers[v4] = 1; + eproj_y_pos[v4] = (eproj_y_pos[v4] & 0xFFF0 | 8) - 2; + eproj_instr_list_ptr[v4] = addr_off_86AB41; + eproj_instr_timers[v4] = 1; } } } @@ -2249,29 +2249,29 @@ void EprojPreInstr_GoldenTorizosChozoOrbs(uint16 k) { // 0x86ACFA uint16 v3; uint16 v4; - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) - enemy_projectile_x_vel[k >> 1] = -enemy_projectile_x_vel[k >> 1]; - if (EnemyProjectileBlockCollisition_Vertical(k) & 1 - && (v1 = k >> 1, (enemy_projectile_y_vel[v1] & 0x8000) == 0) - && ((v2 = enemy_projectile_x_vel[v1], v2 >= 0) ? (v3 = v2 - 64) : (v3 = v2 + 64), - enemy_projectile_x_vel[v1] = v3, - v4 = -(enemy_projectile_y_vel[v1] >> 1), - enemy_projectile_y_vel[v1] = v4, + if (EprojBlockCollisition_Horiz(k) & 1) + eproj_x_vel[k >> 1] = -eproj_x_vel[k >> 1]; + if (EprojBlockCollisition_Vertical(k) & 1 + && (v1 = k >> 1, (eproj_y_vel[v1] & 0x8000) == 0) + && ((v2 = eproj_x_vel[v1], v2 >= 0) ? (v3 = v2 - 64) : (v3 = v2 + 64), + eproj_x_vel[v1] = v3, + v4 = -(eproj_y_vel[v1] >> 1), + eproj_y_vel[v1] = v4, (v4 & 0xFF80) == 0xFF80)) { int v5 = k >> 1; - enemy_projectile_y_pos[v5] = (enemy_projectile_y_pos[v5] & 0xFFF0 | 8) - 2; - enemy_projectile_instr_list_ptr[v5] = addr_off_86AB41; - enemy_projectile_instr_timers[v5] = 1; + eproj_y_pos[v5] = (eproj_y_pos[v5] & 0xFFF0 | 8) - 2; + eproj_instr_list_ptr[v5] = addr_off_86AB41; + eproj_instr_timers[v5] = 1; } else { - enemy_projectile_y_vel[k >> 1] += 24; + eproj_y_vel[k >> 1] += 24; } } const uint8 *EprojInstr_GotoDependingOnXDirection(uint16 k, const uint8 *epjp) { // 0x86AD92 int v2 = k >> 1; - int32 amt = INT16_SHL8(enemy_projectile_x_vel[v2]); - AddToHiLo(&enemy_projectile_x_pos[v2], &enemy_projectile_x_subpos[v2], amt); - if ((enemy_projectile_x_vel[v2] & 0x8000) == 0) + int32 amt = INT16_SHL8(eproj_x_vel[v2]); + AddToHiLo(&eproj_x_pos[v2], &eproj_x_subpos[v2], amt); + if ((eproj_x_vel[v2] & 0x8000) == 0) return INSTRB_RETURN_ADDR(GET_WORD(epjp + 2)); else return INSTRB_RETURN_ADDR(GET_WORD(epjp)); @@ -2281,176 +2281,176 @@ static void EprojInit_TorizoSonicBoom(uint16 j) { // 0x86AE15 int v1 = ((NextRandom() & 1) != 0) ? -12 : 20; EnemyData *v2 = gEnemyData(cur_enemy_index); int v3 = j >> 1; - enemy_projectile_y_pos[v3] = v2->y_pos + v1; - enemy_projectile_y_vel[v3] = 0; + eproj_y_pos[v3] = v2->y_pos + v1; + eproj_y_vel[v3] = 0; if ((v2->parameter_1 & 0x8000) != 0) { - enemy_projectile_x_pos[v3] = v2->x_pos + 32; - enemy_projectile_x_vel[v3] = 624; - enemy_projectile_instr_list_ptr[v3] = addr_off_86ADD2; + eproj_x_pos[v3] = v2->x_pos + 32; + eproj_x_vel[v3] = 624; + eproj_instr_list_ptr[v3] = addr_off_86ADD2; } else { - enemy_projectile_x_pos[v3] = v2->x_pos - 32; - enemy_projectile_x_vel[v3] = -624; - enemy_projectile_instr_list_ptr[v3] = addr_off_86ADBF; + eproj_x_pos[v3] = v2->x_pos - 32; + eproj_x_vel[v3] = -624; + eproj_instr_list_ptr[v3] = addr_off_86ADBF; } } void EprojPreInstr_TorizoSonicBoom(uint16 k) { // 0x86AE6C - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) { + if (EprojBlockCollisition_Horiz(k) & 1) { int v4 = k >> 1; - enemy_projectile_instr_list_ptr[v4] = addr_off_86ADE5; - enemy_projectile_instr_timers[v4] = 1; - enemy_projectile_E[v4] = enemy_projectile_x_pos[v4]; - enemy_projectile_F[v4] = enemy_projectile_y_pos[v4]; + eproj_instr_list_ptr[v4] = addr_off_86ADE5; + eproj_instr_timers[v4] = 1; + eproj_E[v4] = eproj_x_pos[v4]; + eproj_F[v4] = eproj_y_pos[v4]; } else { int v1 = k >> 1; - enemy_projectile_x_vel[v1] += sign16(enemy_projectile_x_vel[v1]) ? -16 : 16; - if ((enemy_projectile_x_vel[v1] & 0xF000) == 4096) - enemy_projectile_id[v1] = 0; + eproj_x_vel[v1] += sign16(eproj_x_vel[v1]) ? -16 : 16; + if ((eproj_x_vel[v1] & 0xF000) == 4096) + eproj_id[v1] = 0; } } static void EprojInit_WreckedShipChozoSpikeFootsteps(uint16 j) { // 0x86AEFC EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_x_pos[v2] = enemy_projectile_init_param_1 + v1->x_pos; - enemy_projectile_y_pos[v2] = v1->y_pos + 28; + eproj_x_pos[v2] = eproj_init_param_1 + v1->x_pos; + eproj_y_pos[v2] = v1->y_pos + 28; } const uint8 *EprojInstr_ResetXYpos1(uint16 k, const uint8 *epjp) { // 0x86AF36 int v2 = k >> 1; - enemy_projectile_x_pos[v2] = enemy_projectile_E[v2]; - enemy_projectile_y_pos[v2] = enemy_projectile_F[v2]; + eproj_x_pos[v2] = eproj_E[v2]; + eproj_y_pos[v2] = eproj_F[v2]; return epjp; } static void EprojInit_TourianStatueDustClouds(uint16 j) { // 0x86AF43 int v1 = j >> 1; - enemy_projectile_E[v1] = 128; - enemy_projectile_F[v1] = 188; + eproj_E[v1] = 128; + eproj_F[v1] = 188; } static void EprojInit_TourianLandingDustCloudsRightFoot(uint16 j) { // 0x86AF50 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_y_pos[v2] = v1->y_pos + 48; - enemy_projectile_x_pos[v2] = v1->x_pos + 24; + eproj_y_pos[v2] = v1->y_pos + 48; + eproj_x_pos[v2] = v1->x_pos + 24; } const uint8 *EprojInstr_MoveY_Minus4(uint16 k, const uint8 *epjp) { // 0x86AF92 - enemy_projectile_y_pos[k >> 1] -= 4; + eproj_y_pos[k >> 1] -= 4; return epjp; } static void EprojInit_TorizoLandingDustCloudLeftFoot(uint16 j) { // 0x86AFCD EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_y_pos[v2] = v1->y_pos + 48; - enemy_projectile_x_pos[v2] = v1->x_pos - 24; + eproj_y_pos[v2] = v1->y_pos + 48; + eproj_x_pos[v2] = v1->x_pos - 24; } static void EprojInit_GoldenTorizoEgg(uint16 j) { // 0x86B001 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_F[v2] = (0xe2 & 0x1F) + 64; // bug - enemy_projectile_E[v2] = v1->parameter_1; + eproj_F[v2] = (0xe2 & 0x1F) + 64; // bug + eproj_E[v2] = v1->parameter_1; uint16 v4 = sign16(v1->parameter_1) ? addr_kEprojInit_GoldenTorizoEgg0 : addr_kEprojInit_GoldenTorizoEgg1; Eproj_InitXYVelRandom(j, v4, (Point16U) { v1->x_pos, v1->y_pos }); } void EprojPreInstr_GoldenTorizoEgg(uint16 k) { // 0x86B043 int v1 = k >> 1; - if ((--enemy_projectile_F[v1] & 0x8000) != 0) { - enemy_projectile_instr_list_ptr[v1] += 2; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_x_vel[v1] = ((enemy_projectile_E[v1] & 0x8000) != 0) ? 256 : -256; + if ((--eproj_F[v1] & 0x8000) != 0) { + eproj_instr_list_ptr[v1] += 2; + eproj_instr_timers[v1] = 1; + eproj_x_vel[v1] = ((eproj_E[v1] & 0x8000) != 0) ? 256 : -256; } else { - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) { - enemy_projectile_x_vel[v1] = -enemy_projectile_x_vel[v1]; - enemy_projectile_E[v1] ^= 0x8000; + if (EprojBlockCollisition_Horiz(k) & 1) { + eproj_x_vel[v1] = -eproj_x_vel[v1]; + eproj_E[v1] ^= 0x8000; } - if (EnemyProjectileBlockCollisition_Vertical(k) & 1 && (enemy_projectile_y_vel[v1] & 0x8000) == 0) { - enemy_projectile_x_vel[v1] += sign16(enemy_projectile_x_vel[v1]) ? 32 : -32; - enemy_projectile_y_vel[v1] = -enemy_projectile_y_vel[v1]; + if (EprojBlockCollisition_Vertical(k) & 1 && (eproj_y_vel[v1] & 0x8000) == 0) { + eproj_x_vel[v1] += sign16(eproj_x_vel[v1]) ? 32 : -32; + eproj_y_vel[v1] = -eproj_y_vel[v1]; } - enemy_projectile_y_vel[v1] += 48; - if ((enemy_projectile_y_vel[v1] & 0xF000) == 4096) - enemy_projectile_id[v1] = 0; + eproj_y_vel[v1] += 48; + if ((eproj_y_vel[v1] & 0xF000) == 4096) + eproj_id[v1] = 0; } } void sub_86B0B9(uint16 k) { // 0x86B0B9 int16 v2; - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) { + if (EprojBlockCollisition_Horiz(k) & 1) { int v3 = k >> 1; - enemy_projectile_pre_instr[v3] = 0xB0DD; - enemy_projectile_y_vel[v3] = 0; + eproj_pre_instr[v3] = 0xB0DD; + eproj_y_vel[v3] = 0; } else { int v1 = k >> 1; - if ((enemy_projectile_E[v1] & 0x8000) != 0) + if ((eproj_E[v1] & 0x8000) != 0) v2 = 48; else v2 = -48; - enemy_projectile_x_vel[v1] += v2; + eproj_x_vel[v1] += v2; } } void sub_86B0DD(uint16 k) { // 0x86B0DD - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { + if (EprojBlockCollisition_Vertical(k) & 1) { int v1 = k >> 1; - enemy_projectile_instr_list_ptr[v1] = ((enemy_projectile_E[v1] & 0x8000) != 0) ? addr_off_86B1A8 : addr_off_86B190; - enemy_projectile_instr_timers[v1] = 1; + eproj_instr_list_ptr[v1] = ((eproj_E[v1] & 0x8000) != 0) ? addr_off_86B1A8 : addr_off_86B190; + eproj_instr_timers[v1] = 1; } else { - enemy_projectile_y_vel[k >> 1] += 48; + eproj_y_vel[k >> 1] += 48; } } const uint8 *sub_86B13E(uint16 k, const uint8 *epjp) { // 0x86B13E - return INSTRB_RETURN_ADDR(((enemy_projectile_E[k >> 1] & 0x8000) != 0) ? addr_off_86B166 : addr_off_86B14B); + return INSTRB_RETURN_ADDR(((eproj_E[k >> 1] & 0x8000) != 0) ? addr_off_86B166 : addr_off_86B14B); } static const int16 word_86B205[2] = { -0x1e, 0x1e }; static void EprojInit_GoldenTorizoSuperMissile(uint16 j) { // 0x86B1CE int v2 = j >> 1; - enemy_projectile_E[v2] = cur_enemy_index; + eproj_E[v2] = cur_enemy_index; EnemyData *v3 = gEnemyData(cur_enemy_index); int v4 = ((v3->parameter_1 & 0x8000) != 0) ? 1 : 0; - enemy_projectile_x_pos[v2] = v3->x_pos + word_86B205[v4]; - enemy_projectile_y_pos[v2] = v3->y_pos - 52; - enemy_projectile_instr_list_ptr[v2] = off_86B209[v4]; + eproj_x_pos[v2] = v3->x_pos + word_86B205[v4]; + eproj_y_pos[v2] = v3->y_pos - 52; + eproj_instr_list_ptr[v2] = off_86B209[v4]; } void EprojPreInstr_GoldenTorizoSuperMissile(uint16 k) { // 0x86B20D int v1 = k >> 1; - EnemyData *v2 = gEnemyData(enemy_projectile_E[v1]); + EnemyData *v2 = gEnemyData(eproj_E[v1]); int v3 = ((v2->parameter_1 & 0x8000) != 0) ? 32 : -32; - enemy_projectile_x_pos[v1] = v2->x_pos + v3; - enemy_projectile_y_pos[v1] = v2->y_pos - 52; + eproj_x_pos[v1] = v2->x_pos + v3; + eproj_y_pos[v1] = v2->y_pos - 52; } void EprojPreInstr_B237(uint16 k) { // 0x86B237 int v1; uint8 carry; - if (EnemyProjectileBlockCollisition_Horiz(k) - || (carry = EnemyProjectileBlockCollisition_Vertical(k), v1 = k >> 1, (enemy_projectile_y_vel[v1] & 0x8000) == 0) + if (EprojBlockCollisition_Horiz(k) + || (carry = EprojBlockCollisition_Vertical(k), v1 = k >> 1, (eproj_y_vel[v1] & 0x8000) == 0) && carry) { int v3 = k >> 1; - enemy_projectile_instr_list_ptr[v3] = addr_off_86B2EF; - enemy_projectile_instr_timers[v3] = 1; + eproj_instr_list_ptr[v3] = addr_off_86B2EF; + eproj_instr_timers[v3] = 1; } else { - uint16 v2 = enemy_projectile_y_vel[v1] + 16; - enemy_projectile_y_vel[v1] = v2; + uint16 v2 = eproj_y_vel[v1] + 16; + eproj_y_vel[v1] = v2; if ((v2 & 0xF000) == 4096) - enemy_projectile_id[v1] = 0; + eproj_id[v1] = 0; } } static void sub_86B279(uint16 k, uint16 a) { // 0x86B279 int v3 = k >> 1; - enemy_projectile_x_vel[v3] = 4 * kSinCosTable8bit_Sext[a + 64]; - enemy_projectile_y_vel[v3] = 4 * kSinCosTable8bit_Sext[a]; + eproj_x_vel[v3] = 4 * kSinCosTable8bit_Sext[a + 64]; + eproj_y_vel[v3] = 4 * kSinCosTable8bit_Sext[a]; } const uint8 *EprojInstr_SetVelTowardsSamus1(uint16 k, const uint8 *epjp) { // 0x86B269 @@ -2472,27 +2472,27 @@ static void EprojInit_GoldenTorizoEyeBeam(uint16 j) { // 0x86B328 v3 += 128; int v4 = v3 >> 1; int v5 = j >> 1; - enemy_projectile_x_vel[v5] = 8 * kSinCosTable8bit_Sext[v4 + 64]; - enemy_projectile_y_vel[v5] = 8 * kSinCosTable8bit_Sext[v4]; + eproj_x_vel[v5] = 8 * kSinCosTable8bit_Sext[v4 + 64]; + eproj_y_vel[v5] = 8 * kSinCosTable8bit_Sext[v4]; } void EprojPreInstr_GoldenTorizoEyeBeam(uint16 k) { // 0x86B38A - if (EnemyProjectileBlockCollisition_Horiz(k) & 1) { - enemy_projectile_instr_list_ptr[k >> 1] = addr_off_86B3CD; - enemy_projectile_instr_timers[k >> 1] = 1; + if (EprojBlockCollisition_Horiz(k) & 1) { + eproj_instr_list_ptr[k >> 1] = addr_off_86B3CD; + eproj_instr_timers[k >> 1] = 1; return; } - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { + if (EprojBlockCollisition_Vertical(k) & 1) { int v1 = k >> 1; - enemy_projectile_y_pos[v1] = (enemy_projectile_y_pos[v1] & 0xFFF0 | 8) - 2; - enemy_projectile_instr_list_ptr[v1] = addr_off_86B3E5; - enemy_projectile_instr_timers[v1] = 1; + eproj_y_pos[v1] = (eproj_y_pos[v1] & 0xFFF0 | 8) - 2; + eproj_instr_list_ptr[v1] = addr_off_86B3E5; + eproj_instr_timers[v1] = 1; return; } } const uint8 *EprojInstr_GotoIfFunc1(uint16 k, const uint8 *epjp) { // 0x86B3B8 - if ((gExtraEnemyRam7800(enemy_projectile_F[k >> 1])->kraid.kraid_healths_8ths[0] & 0x8000) == 0) + if ((gExtraEnemyRam7800(eproj_F[k >> 1])->kraid.kraid_healths_8ths[0] & 0x8000) == 0) return INSTRB_RETURN_ADDR(GET_WORD(epjp)); else return epjp + 2; @@ -2500,58 +2500,58 @@ const uint8 *EprojInstr_GotoIfFunc1(uint16 k, const uint8 *epjp) { // 0x86B3B8 const uint8 *EprojInstr_ResetXYpos2(uint16 k, const uint8 *epjp) { // 0x86B436 int v2 = k >> 1; - enemy_projectile_x_pos[v2] = enemy_projectile_E[v2]; - enemy_projectile_y_pos[v2] = enemy_projectile_F[v2]; + eproj_x_pos[v2] = eproj_E[v2]; + eproj_y_pos[v2] = eproj_F[v2]; return epjp; } static void EprojInit_TourianEscapeShaftFakeWallExplode(uint16 j) { // 0x86B49D int v1 = j >> 1; - enemy_projectile_x_pos[v1] = 272; - enemy_projectile_E[v1] = 272; - enemy_projectile_y_pos[v1] = 2184; - enemy_projectile_F[v1] = 2184; + eproj_x_pos[v1] = 272; + eproj_E[v1] = 272; + eproj_y_pos[v1] = 2184; + eproj_F[v1] = 2184; } static void EprojInit_LavaSeahorseFireball(uint16 j) { // 0x86B4EF EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_y_pos[v2] = v1->y_pos - 28; - enemy_projectile_y_vel[v2] = -961; + eproj_y_pos[v2] = v1->y_pos - 28; + eproj_y_vel[v2] = -961; if ((v1->ai_var_A & 0x8000) == 0) { - enemy_projectile_x_pos[v2] = v1->x_pos + 12; - enemy_projectile_x_vel[v2] = 704; - enemy_projectile_instr_list_ptr[v2] = addr_word_86B4CB; + eproj_x_pos[v2] = v1->x_pos + 12; + eproj_x_vel[v2] = 704; + eproj_instr_list_ptr[v2] = addr_word_86B4CB; } else { - enemy_projectile_x_pos[v2] = v1->x_pos - 12; - enemy_projectile_x_vel[v2] = -704; - enemy_projectile_instr_list_ptr[v2] = addr_word_86B4BF; + eproj_x_pos[v2] = v1->x_pos - 12; + eproj_x_vel[v2] = -704; + eproj_instr_list_ptr[v2] = addr_word_86B4BF; } } void sub_86B535(uint16 k) { // 0x86B535 int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_x_vel[v1])); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], INT16_SHL8(enemy_projectile_y_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_x_vel[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], INT16_SHL8(eproj_y_vel[v1])); - int16 v6 = enemy_projectile_y_vel[v1]; + int16 v6 = eproj_y_vel[v1]; if (v6 >= 0) { - enemy_projectile_y_vel[v1] = v6 + 32; + eproj_y_vel[v1] = v6 + 32; Eproj_DeleteIfYposOutside(k); } else { - enemy_projectile_y_vel[v1] = v6 + 32; + eproj_y_vel[v1] = v6 + 32; if ((int16)(v6 + 32) >= 0) { - enemy_projectile_instr_list_ptr[v1] = (enemy_projectile_x_vel[v1] & 0x8000) == 0 ? + eproj_instr_list_ptr[v1] = (eproj_x_vel[v1] & 0x8000) == 0 ? addr_word_86B4E3 : addr_word_86B4D7; - enemy_projectile_instr_timers[v1] = 1; + eproj_instr_timers[v1] = 1; } } } void Eproj_DeleteIfYposOutside(uint16 k) { // 0x86B5B9 int v1 = k >> 1; - if ((int16)(enemy_projectile_y_pos[v1] - layer1_y_pos) >= 288) - enemy_projectile_id[v1] = 0; + if ((int16)(eproj_y_pos[v1] - layer1_y_pos) >= 288) + eproj_id[v1] = 0; } static const int16 word_86B65B[20] = { // 0x86B62D @@ -2562,11 +2562,11 @@ static const int16 word_86B65B[20] = { // 0x86B62D static void EprojInit_EyeDoorProjectile(uint16 j) { uint16 v1 = plm_id; int v2 = j >> 1; - enemy_projectile_F[v2] = plm_room_arguments[plm_id >> 1]; + eproj_F[v2] = plm_room_arguments[plm_id >> 1]; CalculatePlmBlockCoords(v1); - int v3 = enemy_projectile_init_param_1 >> 1; - enemy_projectile_x_pos[v2] = word_86B65B[v3] + 8 * (2 * plm_x_block + 1); - enemy_projectile_y_pos[v2] = word_86B65B[v3 + 1] + 16 * plm_y_block; + int v3 = eproj_init_param_1 >> 1; + eproj_x_pos[v2] = word_86B65B[v3] + 8 * (2 * plm_x_block + 1); + eproj_y_pos[v2] = word_86B65B[v3 + 1] + 16 * plm_y_block; } static const int16 word_86B6B1[4] = { -64, 512, 64, 512 }; @@ -2574,45 +2574,45 @@ static const int16 word_86B6B1[4] = { -64, 512, 64, 512 }; static void EprojInit_EyeDoorSweat(uint16 j) { // 0x86B683 CalculatePlmBlockCoords(plm_id); int v1 = j >> 1; - enemy_projectile_x_pos[v1] = 8 * (2 * (plm_x_block - 1) + 1); - enemy_projectile_y_pos[v1] = 16 * (plm_y_block + 1); - int v2 = enemy_projectile_init_param_1 >> 1; - enemy_projectile_x_vel[v1] = word_86B6B1[v2]; - enemy_projectile_y_vel[v1] = word_86B6B1[v2 + 1]; + eproj_x_pos[v1] = 8 * (2 * (plm_x_block - 1) + 1); + eproj_y_pos[v1] = 16 * (plm_y_block + 1); + int v2 = eproj_init_param_1 >> 1; + eproj_x_vel[v1] = word_86B6B1[v2]; + eproj_y_vel[v1] = word_86B6B1[v2 + 1]; } void EprojPreInstr_EyeDoorProjectile(uint16 k) { // 0x86B6B9 int v3 = k >> 1; - if (EnemyProjectileBlockCollisition_Horiz(k) & 1 || EnemyProjectileBlockCollisition_Vertical(k) & 1) { + if (EprojBlockCollisition_Horiz(k) & 1 || EprojBlockCollisition_Vertical(k) & 1) { LABEL_8:; - enemy_projectile_instr_list_ptr[v3] = addr_off_86B5F3; - enemy_projectile_instr_timers[v3] = 1; + eproj_instr_list_ptr[v3] = addr_off_86B5F3; + eproj_instr_timers[v3] = 1; return; } - int v1 = enemy_projectile_E[k >> 1] >> 1; - enemy_projectile_x_vel[v3] += kSinCosTable8bit_Sext[v1 + 64] >> 4; - enemy_projectile_y_vel[v3] += kSinCosTable8bit_Sext[v1] >> 4; - int t = PrepareBitAccess(enemy_projectile_F[v3]); + int v1 = eproj_E[k >> 1] >> 1; + eproj_x_vel[v3] += kSinCosTable8bit_Sext[v1 + 64] >> 4; + eproj_y_vel[v3] += kSinCosTable8bit_Sext[v1] >> 4; + int t = PrepareBitAccess(eproj_F[v3]); if ((bitmask & opened_door_bit_array[t]) != 0) { goto LABEL_8; } } void EprojPreInstr_EyeDoorSweat(uint16 k) { // 0x86B714 - EnemyProjectileBlockCollisition_Horiz(k); - uint8 carry = EnemyProjectileBlockCollisition_Vertical(k); + EprojBlockCollisition_Horiz(k); + uint8 carry = EprojBlockCollisition_Vertical(k); int v1 = k >> 1; - if ((enemy_projectile_y_vel[v1] & 0x8000) != 0 || !carry) { - enemy_projectile_y_vel[v1] += 12; + if ((eproj_y_vel[v1] & 0x8000) != 0 || !carry) { + eproj_y_vel[v1] += 12; } else { - enemy_projectile_y_pos[v1] -= 4; - enemy_projectile_instr_list_ptr[v1] = addr_off_86B61D; - enemy_projectile_instr_timers[v1] = 1; + eproj_y_pos[v1] -= 4; + eproj_instr_list_ptr[v1] = addr_off_86B61D; + eproj_instr_timers[v1] = 1; } } const uint8 *EprojInstr_SpawnTourianStatueUnlockingParticle(uint16 k, const uint8 *epjp) { // 0x86B7EA - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueUnlockingParticle, k); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueUnlockingParticle, k); return epjp; } @@ -2623,19 +2623,19 @@ const uint8 *EprojInstr_Earthquake(uint16 k, const uint8 *epjp) { // 0x86B7F5 } const uint8 *EprojInstr_SpawnTourianStatueUnlockingParticleTail(uint16 k, const uint8 *epjp) { // 0x86B818 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueUnlockingParticleTail, k); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueUnlockingParticleTail, k); return epjp; } const uint8 *EprojInstr_AddToYpos(uint16 k, const uint8 *epjp) { // 0x86B841 - enemy_projectile_y_pos[k >> 1] += GET_WORD(epjp); + eproj_y_pos[k >> 1] += GET_WORD(epjp); return epjp + 2; } static void EprojInit_TourianStatueUnlockingParticleWaterSplash(uint16 j) { // 0x86B87A int v1 = j >> 1; - enemy_projectile_x_pos[v1] = enemy_projectile_x_pos[enemy_projectile_init_param_1 >> 1]; - enemy_projectile_y_pos[v1] = fx_y_pos - 4; + eproj_x_pos[v1] = eproj_x_pos[eproj_init_param_1 >> 1]; + eproj_y_pos[v1] = fx_y_pos - 4; } static const uint16 kEprojInit_TourianStatueEyeGlow_X[4] = { 0x84, 0x7a, 0x9e, 0x68 }; @@ -2643,11 +2643,11 @@ static const uint16 kEprojInit_TourianStatueEyeGlow_Y[4] = { 0x90, 0x51, 0x80, 0 static const uint16 kEprojInit_TourianStatueEyeGlow_Colors[16] = { 0x6bff, 0x33b, 0x216, 0x173, 0x7f5f, 0x7c1f, 0x5816, 0x300c, 0x7f5a, 0x7ec0, 0x6de0, 0x54e0, 0x6bfa, 0x3be0, 0x2680, 0x1580 }; static void EprojInit_TourianStatueEyeGlow(uint16 j) { // 0x86B88E - uint16 v1 = enemy_projectile_init_param_1; - int v2 = enemy_projectile_init_param_1 >> 1; + uint16 v1 = eproj_init_param_1; + int v2 = eproj_init_param_1 >> 1; int v3 = j >> 1; - enemy_projectile_x_pos[v3] = kEprojInit_TourianStatueEyeGlow_X[v2]; - enemy_projectile_y_pos[v3] = kEprojInit_TourianStatueEyeGlow_Y[v2]; + eproj_x_pos[v3] = kEprojInit_TourianStatueEyeGlow_X[v2]; + eproj_y_pos[v3] = kEprojInit_TourianStatueEyeGlow_Y[v2]; uint16 v4 = 4 * v1; for (int i = 498; i != 506; i += 2) { palette_buffer[i >> 1] = kEprojInit_TourianStatueEyeGlow_Colors[v4 >> 1]; @@ -2656,93 +2656,93 @@ static void EprojInit_TourianStatueEyeGlow(uint16 j) { // 0x86B88E } static void EprojInit_TourianStatueUnlockingParticle(uint16 j) { // 0x86B8B5 - int v1 = enemy_projectile_init_param_1 >> 1; + int v1 = eproj_init_param_1 >> 1; int v2 = j >> 1; - enemy_projectile_x_pos[v2] = enemy_projectile_x_pos[v1]; - enemy_projectile_y_pos[v2] = enemy_projectile_y_pos[v1]; + eproj_x_pos[v2] = eproj_x_pos[v1]; + eproj_y_pos[v2] = eproj_y_pos[v1]; uint16 v3 = 2 * (uint8)((NextRandom() & 0x3F) - 32); - enemy_projectile_E[v2] = v3; + eproj_E[v2] = v3; int v4 = v3 >> 1; - enemy_projectile_x_vel[v2] = kSinCosTable8bit_Sext[v4 + 64]; - enemy_projectile_y_vel[v2] = 4 * kSinCosTable8bit_Sext[v4]; + eproj_x_vel[v2] = kSinCosTable8bit_Sext[v4 + 64]; + eproj_y_vel[v2] = 4 * kSinCosTable8bit_Sext[v4]; } void EprojIni_TourianStatueUnlockingParticleTail(uint16 v0) { // 0x86B8E8 - int v1 = enemy_projectile_init_param_1 >> 1; + int v1 = eproj_init_param_1 >> 1; int v2 = v0 >> 1; - enemy_projectile_x_pos[v2] = enemy_projectile_x_pos[v1]; - enemy_projectile_y_pos[v2] = enemy_projectile_y_pos[v1]; + eproj_x_pos[v2] = eproj_x_pos[v1]; + eproj_y_pos[v2] = eproj_y_pos[v1]; } static void EprojInit_TourianStatueSoul(uint16 j) { // 0x86B8F8 - int v1 = enemy_projectile_init_param_1 >> 1; + int v1 = eproj_init_param_1 >> 1; int v2 = j >> 1; - enemy_projectile_x_pos[v2] = kEprojInit_TourianStatueEyeGlow_X[v1]; - enemy_projectile_y_pos[v2] = kEprojInit_TourianStatueEyeGlow_Y[v1]; - enemy_projectile_y_vel[v2] = -1024; + eproj_x_pos[v2] = kEprojInit_TourianStatueEyeGlow_X[v1]; + eproj_y_pos[v2] = kEprojInit_TourianStatueEyeGlow_Y[v1]; + eproj_y_vel[v2] = -1024; } static void EprojInit_TourianStatueBaseDecoration(uint16 j) { // 0x86B93E int v1 = j >> 1; - enemy_projectile_E[v1] = 120; - enemy_projectile_x_pos[v1] = 120; - enemy_projectile_F[v1] = 184; - enemy_projectile_y_pos[v1] = 184; + eproj_E[v1] = 120; + eproj_x_pos[v1] = 120; + eproj_F[v1] = 184; + eproj_y_pos[v1] = 184; } static void EprojInit_TourianStatueRidley(uint16 j) { // 0x86B951 int v1 = j >> 1; - enemy_projectile_E[v1] = 142; - enemy_projectile_x_pos[v1] = 142; - enemy_projectile_F[v1] = 85; - enemy_projectile_y_pos[v1] = 85; + eproj_E[v1] = 142; + eproj_x_pos[v1] = 142; + eproj_F[v1] = 85; + eproj_y_pos[v1] = 85; } static void EprojInit_TourianStatuePhantoon(uint16 j) { // 0x86B964 int v1 = j >> 1; - enemy_projectile_E[v1] = 132; - enemy_projectile_x_pos[v1] = 132; - enemy_projectile_F[v1] = 136; - enemy_projectile_y_pos[v1] = 136; + eproj_E[v1] = 132; + eproj_x_pos[v1] = 132; + eproj_F[v1] = 136; + eproj_y_pos[v1] = 136; } void EprojPreInstr_TourianStatueUnlockingParticleWaterSplash(uint16 k) { // 0x86B977 - enemy_projectile_y_pos[k >> 1] = fx_y_pos - 4; + eproj_y_pos[k >> 1] = fx_y_pos - 4; } void EprojPreInstr_TourianStatueUnlockingParticle(uint16 k) { // 0x86B982 int v1 = k >> 1; - int32 amt = INT16_SHL8(enemy_projectile_x_vel[v1]); - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], amt); - uint16 v7 = fx_y_pos - enemy_projectile_y_pos[v1]; - amt = INT16_SHL8(enemy_projectile_y_vel[v1]); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], amt); - if (((v7 ^ (fx_y_pos - enemy_projectile_y_pos[v1])) & 0x8000) != 0) - SpawnEnemyProjectileWithRoomGfx(addr_stru_86BA5C, k); - if ((enemy_projectile_y_pos[v1] & 0xFF00) == 256) { - enemy_projectile_instr_list_ptr[v1] = addr_off_86B79F; - enemy_projectile_instr_timers[v1] = 1; + int32 amt = INT16_SHL8(eproj_x_vel[v1]); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], amt); + uint16 v7 = fx_y_pos - eproj_y_pos[v1]; + amt = INT16_SHL8(eproj_y_vel[v1]); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], amt); + if (((v7 ^ (fx_y_pos - eproj_y_pos[v1])) & 0x8000) != 0) + SpawnEprojWithRoomGfx(addr_stru_86BA5C, k); + if ((eproj_y_pos[v1] & 0xFF00) == 256) { + eproj_instr_list_ptr[v1] = addr_off_86B79F; + eproj_instr_timers[v1] = 1; } else { - enemy_projectile_y_vel[v1] += 16; + eproj_y_vel[v1] += 16; } } void EprojPreInstr_TourianStatueSoul(uint16 k) { // 0x86B9FD int v1 = k >> 1; - int32 amt = INT16_SHL8(enemy_projectile_y_vel[v1]); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], amt); - if ((enemy_projectile_y_pos[v1] & 0x100) != 0) { - enemy_projectile_instr_list_ptr[v1] = addr_off_86B79F; - enemy_projectile_instr_timers[v1] = 1; + int32 amt = INT16_SHL8(eproj_y_vel[v1]); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], amt); + if ((eproj_y_pos[v1] & 0x100) != 0) { + eproj_instr_list_ptr[v1] = addr_off_86B79F; + eproj_instr_timers[v1] = 1; } - enemy_projectile_y_vel[v1] -= 128; + eproj_y_vel[v1] -= 128; } static void EprojPreInstr_BA42(uint16 k) { // 0x86BA42 int v1 = k >> 1; - enemy_projectile_x_pos[v1] = enemy_projectile_E[v1]; - enemy_projectile_y_pos[v1] = enemy_projectile_F[v1] + layer1_y_pos - *(uint16 *)&hdma_window_1_left_pos[0].field_0; + eproj_x_pos[v1] = eproj_E[v1]; + eproj_y_pos[v1] = eproj_F[v1] + layer1_y_pos - *(uint16 *)&hdma_window_1_left_pos[0].field_0; } void EprojPreInstr_TourianStatueStuff(uint16 k) { // 0x86BA37 @@ -2752,41 +2752,41 @@ void EprojPreInstr_TourianStatueStuff(uint16 k) { // 0x86BA37 } const uint8 *EprojInstr_BB24(uint16 k, const uint8 *epjp) { // 0x86BB24 - enemy_projectile_instr_list_ptr[stru_86BB50.init_code_ptr >> 1] = 0; + eproj_instr_list_ptr[stru_86BB50.init_code_ptr >> 1] = 0; return epjp; } void sub_86BB30(uint16 j) { // 0x86BB30 ExtraEnemyRam8000 *v1 = gExtraEnemyRam8000(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_x_pos[v2] = *(uint16 *)&v1->pad[34]; - enemy_projectile_y_pos[v2] = *(uint16 *)&v1->pad[36]; - enemy_projectile_instr_list_ptr[v2] = off_86BB1E[enemy_projectile_init_param_1]; + eproj_x_pos[v2] = *(uint16 *)&v1->pad[34]; + eproj_y_pos[v2] = *(uint16 *)&v1->pad[36]; + eproj_instr_list_ptr[v2] = off_86BB1E[eproj_init_param_1]; } static void EprojInit_NuclearWaffleBody(uint16 j) { // 0x86BB92 EnemyData *v2 = gEnemyData(cur_enemy_index); int v3 = j >> 1; - enemy_projectile_x_pos[v3] = v2->x_pos; - enemy_projectile_x_subpos[v3] = v2->x_subpos; - enemy_projectile_y_pos[v3] = v2->y_pos; - enemy_projectile_y_subpos[v3] = v2->y_subpos; + eproj_x_pos[v3] = v2->x_pos; + eproj_x_subpos[v3] = v2->x_subpos; + eproj_y_pos[v3] = v2->y_pos; + eproj_y_subpos[v3] = v2->y_subpos; ExtraEnemyRam8000 *v4 = gExtraEnemyRam8000(cur_enemy_index); gExtraEnemyRam7800(cur_enemy_index + *(uint16 *)&v4->pad[20])->kraid.kraid_next = j; - enemy_projectile_flags[v3] = 1; + eproj_flags[v3] = 1; } static void EprojInit_NorfairLavaquakeRocks(uint16 j) { // 0x86BBDB int v1 = j >> 1; - enemy_projectile_instr_list_ptr[v1] = addr_word_86BBD5; - enemy_projectile_E[v1] = FUNC16(Eproj_NorfairLavaquakeRocks_Func1); - enemy_projectile_y_vel[v1] = enemy_projectile_init_param_1; - enemy_projectile_x_vel[v1] = enemy_projectile_unk1995; + eproj_instr_list_ptr[v1] = addr_word_86BBD5; + eproj_E[v1] = FUNC16(Eproj_NorfairLavaquakeRocks_Func1); + eproj_y_vel[v1] = eproj_init_param_1; + eproj_x_vel[v1] = eproj_unk1995; EnemyData *v2 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v1] = v2->x_pos; - enemy_projectile_x_subpos[v1] = v2->x_subpos; - enemy_projectile_y_pos[v1] = v2->y_pos; - enemy_projectile_y_subpos[v1] = v2->y_subpos; + eproj_x_pos[v1] = v2->x_pos; + eproj_x_subpos[v1] = v2->x_subpos; + eproj_y_pos[v1] = v2->y_pos; + eproj_y_subpos[v1] = v2->y_subpos; } void CallNorfairLavaquakeRocksFunc(uint32 ea, uint16 k) { @@ -2799,19 +2799,19 @@ void CallNorfairLavaquakeRocksFunc(uint32 ea, uint16 k) { uint16 EprojPreInstr_NorfairLavaquakeRocks_Inner2(uint16 k) { // 0x86BD2A int v1 = k >> 1; - return (int16)(enemy_projectile_x_pos[v1] - layer1_x_pos) < 0 - || (int16)(layer1_x_pos + 256 - enemy_projectile_x_pos[v1]) < 0 - || (int16)(enemy_projectile_y_pos[v1] - layer1_y_pos) < 0 - || (int16)(layer1_y_pos + 256 - enemy_projectile_y_pos[v1]) < 0; + return (int16)(eproj_x_pos[v1] - layer1_x_pos) < 0 + || (int16)(layer1_x_pos + 256 - eproj_x_pos[v1]) < 0 + || (int16)(eproj_y_pos[v1] - layer1_y_pos) < 0 + || (int16)(layer1_y_pos + 256 - eproj_y_pos[v1]) < 0; } void EprojPreInstr_NorfairLavaquakeRocks_Inner(uint16 k) { // 0x86BD1E if (EprojPreInstr_NorfairLavaquakeRocks_Inner2(k)) - enemy_projectile_id[k >> 1] = 0; + eproj_id[k >> 1] = 0; } void EprojPreInstr_NorfairLavaquakeRocks(uint16 k) { // 0x86BC0F - CallNorfairLavaquakeRocksFunc(enemy_projectile_E[k >> 1] | 0x860000, k); + CallNorfairLavaquakeRocksFunc(eproj_E[k >> 1] | 0x860000, k); EprojPreInstr_NorfairLavaquakeRocks_Inner(k); } @@ -2820,43 +2820,43 @@ void Eproj_NorfairLavaquakeRocks_Func1(uint16 k) { // 0x86BC16 int16 v3; int v1 = k >> 1; - v2 = enemy_projectile_y_vel[v1] - 2; - enemy_projectile_y_vel[v1] = v2; + v2 = eproj_y_vel[v1] - 2; + eproj_y_vel[v1] = v2; if (v2 >= 0) { int n = 2; do { - v3 = n + enemy_projectile_y_vel[v1] - 1; + v3 = n + eproj_y_vel[v1] - 1; if (v3 < 0) v3 = 0; int t = (8 * v3 + 4) >> 1; - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], kCommonEnemySpeeds_Quadratic32[t >> 1]); - enemy_projectile_F[v1] = kCommonEnemySpeeds_Quadratic_Copy[t + 1]; // junk + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], kCommonEnemySpeeds_Quadratic32[t >> 1]); + eproj_F[v1] = kCommonEnemySpeeds_Quadratic_Copy[t + 1]; // junk } while (--n); Eproj_NorfairLavaquakeRocks_Func3(k); } else { - enemy_projectile_y_vel[v1] = 0; - enemy_projectile_E[v1] = FUNC16(Eproj_NorfairLavaquakeRocks_Func2); + eproj_y_vel[v1] = 0; + eproj_E[v1] = FUNC16(Eproj_NorfairLavaquakeRocks_Func2); } } void Eproj_NorfairLavaquakeRocks_Func2(uint16 k) { // 0x86BC8F int v1 = k >> 1; - uint16 v2 = enemy_projectile_y_vel[v1] + 2; - enemy_projectile_y_vel[v1] = v2; + uint16 v2 = eproj_y_vel[v1] + 2; + eproj_y_vel[v1] = v2; if (!sign16(v2 - 64)) - enemy_projectile_y_vel[v1] = 64; + eproj_y_vel[v1] = 64; int n = 2; do { - int t = (8 * (enemy_projectile_y_vel[v1] - n + 1)) >> 1; - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], kCommonEnemySpeeds_Quadratic32[t >> 1]); - enemy_projectile_F[v1] = kCommonEnemySpeeds_Quadratic_Copy[t + 1]; // junk + int t = (8 * (eproj_y_vel[v1] - n + 1)) >> 1; + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], kCommonEnemySpeeds_Quadratic32[t >> 1]); + eproj_F[v1] = kCommonEnemySpeeds_Quadratic_Copy[t + 1]; // junk } while (--n); Eproj_NorfairLavaquakeRocks_Func3(k); } void Eproj_NorfairLavaquakeRocks_Func3(uint16 k) { // 0x86BCF4 int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_x_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_x_vel[v1])); } @@ -2866,34 +2866,34 @@ static const int16 kEprojInit_ShaktoolAttackMiddleBackCircle_Y[8] = { -16, -12, static void EprojInit_BDA2(uint16 j) { // 0x86BDA2 int v1 = j >> 1; EnemyData *v2 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v1] = v2->x_pos; - enemy_projectile_y_pos[v1] = v2->y_pos; + eproj_x_pos[v1] = v2->x_pos; + eproj_y_pos[v1] = v2->y_pos; uint16 v3 = 2 * LOBYTE(v2->ai_var_D); int v4 = v3 >> 1; - enemy_projectile_x_vel[v1] = kSinCosTable8bit_Sext[v4 + 64]; - enemy_projectile_y_vel[v1] = kSinCosTable8bit_Sext[v4]; + eproj_x_vel[v1] = kSinCosTable8bit_Sext[v4 + 64]; + eproj_y_vel[v1] = kSinCosTable8bit_Sext[v4]; int v5 = (uint16)(v3 >> 5) >> 1; - enemy_projectile_x_pos[v1] += kEprojInit_ShaktoolAttackMiddleBackCircle_X[v5]; - enemy_projectile_y_pos[v1] += kEprojInit_ShaktoolAttackMiddleBackCircle_Y[v5]; + eproj_x_pos[v1] += kEprojInit_ShaktoolAttackMiddleBackCircle_X[v5]; + eproj_y_pos[v1] += kEprojInit_ShaktoolAttackMiddleBackCircle_Y[v5]; } static void EprojInit_ShaktoolAttackMiddleBackCircle(uint16 j) { // 0x86BD9C - enemy_projectile_E[j >> 1] = enemy_projectile_init_param_1; + eproj_E[j >> 1] = eproj_init_param_1; EprojInit_BDA2(j); } static void EprojInit_ShaktoolAttackFrontCircle(uint16 v1) { // 0x86BE03 - if (EnemyProjectileBlockCollisition_Horiz(v1) & 1 || EnemyProjectileBlockCollisition_Vertical(v1) & 1) - enemy_projectile_id[v1 >> 1] = 0; + if (EprojBlockCollisition_Horiz(v1) & 1 || EprojBlockCollisition_Vertical(v1) & 1) + eproj_id[v1 >> 1] = 0; } void EprojPreInstr_BE12(uint16 k) { // 0x86BE12 int v1 = k >> 1; - if (enemy_projectile_id[enemy_projectile_E[v1] >> 1]) { - EnemyProjectileBlockCollisition_Horiz(k); - EnemyProjectileBlockCollisition_Vertical(k); + if (eproj_id[eproj_E[v1] >> 1]) { + EprojBlockCollisition_Horiz(k); + EprojBlockCollisition_Vertical(k); } else { - enemy_projectile_id[v1] = 0; + eproj_id[v1] = 0; } } @@ -2902,16 +2902,16 @@ static const int16 EprojInit_MotherBrainRoomTurrets_Y[12] = { 0x30, 0x40, 0x40, static void EprojInit_MotherBrainRoomTurrets(uint16 j) { // 0x86BE4F int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 1024; - uint16 v2 = 2 * enemy_projectile_init_param_1; - uint16 v3 = kEproj_MotherBrainRoomTurrets_DirectionIndexes[enemy_projectile_init_param_1] | 0x100; - enemy_projectile_y_subpos[v1] = v3; - enemy_projectile_instr_list_ptr[v1] = kEproj_MotherBrainRoomTurrets_InstrLists[(uint16)(2 + eproj_gfx_idx[v1] = 1024; + uint16 v2 = 2 * eproj_init_param_1; + uint16 v3 = kEproj_MotherBrainRoomTurrets_DirectionIndexes[eproj_init_param_1] | 0x100; + eproj_y_subpos[v1] = v3; + eproj_instr_list_ptr[v1] = kEproj_MotherBrainRoomTurrets_InstrLists[(uint16)(2 * (uint8)v3) >> 1]; int v4 = v2 >> 1; - enemy_projectile_x_pos[v1] = kEprojInit_MotherBrainRoomTurrets_X[v4]; - enemy_projectile_y_pos[v1] = EprojInit_MotherBrainRoomTurrets_Y[v4]; - enemy_projectile_x_subpos[v1] = kEproj_MotherBrainRoomTurrets_AllowedRotations[v4]; + eproj_x_pos[v1] = kEprojInit_MotherBrainRoomTurrets_X[v4]; + eproj_y_pos[v1] = EprojInit_MotherBrainRoomTurrets_Y[v4]; + eproj_x_subpos[v1] = kEproj_MotherBrainRoomTurrets_AllowedRotations[v4]; Eproj_SetXvelRandom(j); Eproj_SetYvelRandom(j); } @@ -2923,56 +2923,56 @@ static const int16 kEproj_MotherBrainRoomTurretBullets_Yvel[8] = { 0, 498, 704, static void EprojInit_MotherBrainRoomTurretBullets(uint16 j) { // 0x86BF59 int v1 = j >> 1; - enemy_projectile_F[v1] = 0; - enemy_projectile_gfx_idx[v1] = 1024; - uint16 v2 = 2 * LOBYTE(enemy_projectile_y_subpos[enemy_projectile_init_param_1 >> 1]); - enemy_projectile_E[v1] = v2; + eproj_F[v1] = 0; + eproj_gfx_idx[v1] = 1024; + uint16 v2 = 2 * LOBYTE(eproj_y_subpos[eproj_init_param_1 >> 1]); + eproj_E[v1] = v2; int v3 = v2 >> 1; Point16U pt = { kEproj_MotherBrainRoomTurretBullets_X[v3], kEproj_MotherBrainRoomTurretBullets_Y[v3] }; - enemy_projectile_x_vel[v1] = kEproj_MotherBrainRoomTurretBullets_Xvel[v3]; - enemy_projectile_y_vel[v1] = kEproj_MotherBrainRoomTurretBullets_Yvel[v3]; - int v4 = enemy_projectile_init_param_1 >> 1; - enemy_projectile_x_pos[v1] = pt.x + enemy_projectile_x_pos[v4]; - enemy_projectile_y_pos[v1] = pt.y + enemy_projectile_y_pos[v4]; + eproj_x_vel[v1] = kEproj_MotherBrainRoomTurretBullets_Xvel[v3]; + eproj_y_vel[v1] = kEproj_MotherBrainRoomTurretBullets_Yvel[v3]; + int v4 = eproj_init_param_1 >> 1; + eproj_x_pos[v1] = pt.x + eproj_x_pos[v4]; + eproj_y_pos[v1] = pt.y + eproj_y_pos[v4]; } void EprojPreInstr_MotherBrainRoomTurrets(uint16 k) { // 0x86BFDF if (Eproj_MotherBrainRoomTurretBullets_CheckIfTurretOnScreen(k) & 1) { if (gRam7800_Default(0)->var_1D) - *(uint16 *)((uint8 *)enemy_projectile_id + k) = 0; + *(uint16 *)((uint8 *)eproj_id + k) = 0; } else if (gRam7800_Default(0)->var_1D) { - *(uint16 *)((uint8 *)enemy_projectile_id + k) = 0; + *(uint16 *)((uint8 *)eproj_id + k) = 0; int v5 = k >> 1; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v5], enemy_projectile_y_pos[v5] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xC); + eproj_spawn_pt = (Point16U){ eproj_x_pos[v5], eproj_y_pos[v5] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xC); } else { int v1 = k >> 1; - bool v2 = enemy_projectile_x_vel[v1]-- == 1; + bool v2 = eproj_x_vel[v1]-- == 1; if (v2) { Eproj_SetXvelRandom(k); Eproj_MotherBrainRoomTurretBullets_Func2(k); int v3 = k >> 1; - enemy_projectile_instr_list_ptr[v3] = g_off_86C040[LOBYTE(enemy_projectile_y_subpos[v3])]; - enemy_projectile_instr_timers[v3] = 1; + eproj_instr_list_ptr[v3] = g_off_86C040[LOBYTE(eproj_y_subpos[v3])]; + eproj_instr_timers[v3] = 1; } int v4 = k >> 1; - v2 = enemy_projectile_y_vel[v4]-- == 1; + v2 = eproj_y_vel[v4]-- == 1; if (v2) { Eproj_SetYvelRandom(k); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainRoomTurretBullets, k); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainRoomTurretBullets, k); } } } void Eproj_MotherBrainRoomTurretBullets_Func2(uint16 v0) { // 0x86C050 - uint8 r20 = (*((uint8 *)enemy_projectile_y_subpos + v0 + 1) + *((uint8 *)enemy_projectile_y_subpos + v0)) & 7; - uint16 r18 = enemy_projectile_x_subpos[v0 >> 1]; + uint8 r20 = (*((uint8 *)eproj_y_subpos + v0 + 1) + *((uint8 *)eproj_y_subpos + v0)) & 7; + uint16 r18 = eproj_x_subpos[v0 >> 1]; if (RomPtr_86(r18)[r20 & 7]) { - *((uint8 *)enemy_projectile_y_subpos + v0) = r20; + *((uint8 *)eproj_y_subpos + v0) = r20; } else { - int8 v1 = -*((uint8 *)enemy_projectile_y_subpos + v0 + 1); - *((uint8 *)enemy_projectile_y_subpos + v0 + 1) = v1; - *((uint8 *)enemy_projectile_y_subpos + v0) += v1; + int8 v1 = -*((uint8 *)eproj_y_subpos + v0 + 1); + *((uint8 *)eproj_y_subpos + v0 + 1) = v1; + *((uint8 *)eproj_y_subpos + v0) += v1; } } @@ -2980,14 +2980,14 @@ void Eproj_SetXvelRandom(uint16 v0) { // 0x86C08E uint16 Random = (uint8)NextRandom(); if (sign16((uint8)Random - 32)) Random = 32; - enemy_projectile_x_vel[v0 >> 1] = Random; + eproj_x_vel[v0 >> 1] = Random; } void Eproj_SetYvelRandom(uint16 v0) { // 0x86C0A1 uint16 Random = (uint8)NextRandom(); if (sign16((uint8)Random - 128)) Random = 128; - enemy_projectile_y_vel[v0 >> 1] = Random; + eproj_y_vel[v0 >> 1] = Random; } uint8 Eproj_MotherBrainRoomTurretBullets_CheckIfTurretOnScreen(uint16 k) { // 0x86C0B4 @@ -2997,13 +2997,13 @@ uint8 Eproj_MotherBrainRoomTurretBullets_CheckIfTurretOnScreen(uint16 k) { // 0 int16 v5; int v1 = k >> 1; - v2 = enemy_projectile_y_pos[v1]; + v2 = eproj_y_pos[v1]; uint8 result = 1; if (v2 >= 0) { v3 = v2 + 16 - layer1_y_pos; if (v3 >= 0) { if (sign16(v3 - 256)) { - v4 = enemy_projectile_x_pos[v1]; + v4 = eproj_x_pos[v1]; if (v4 >= 0) { v5 = v4 + 4 - layer1_x_pos; if (v5 >= 0) { @@ -3019,10 +3019,10 @@ uint8 Eproj_MotherBrainRoomTurretBullets_CheckIfTurretOnScreen(uint16 k) { // 0 void EprojPreInstr_MotherBrainRoomTurretBullets(uint16 k) { // 0x86C0E0 int v1 = k >> 1; - enemy_projectile_properties[v1] ^= 0x8000; + eproj_properties[v1] ^= 0x8000; MoveEprojWithVelocity(k); - if (Ridley_Func_103(enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1]) & 1) - enemy_projectile_id[enemy_projectile_index >> 1] = 0; + if (Ridley_Func_103(eproj_x_pos[v1], eproj_y_pos[v1]) & 1) + eproj_id[eproj_index >> 1] = 0; } static const int16 kMotherBrainsBomb_Yaccel[10] = { 7, 0x10, 0x20, 0x40, 0x70, 0xb0, 0xf0, 0x130, 0x170, 0 }; @@ -3033,42 +3033,42 @@ void EprojPreInstr_MotherBrainBomb(uint16 k) { // 0x86C4C8 if (MotherBrainBomb_Bomb_CollDetect_DoubleRet(k)) return; int v1 = k >> 1; - if (enemy_projectile_F[v1]) { + if (eproj_F[v1]) { int v4 = k >> 1; - uint16 v5 = kMotherBrainsBomb_Yaccel[enemy_projectile_F[v4] >> 1]; + uint16 v5 = kMotherBrainsBomb_Yaccel[eproj_F[v4] >> 1]; if (!v5) { - enemy_projectile_x_vel[v4] = 0; - enemy_projectile_y_vel[v4] = 0; + eproj_x_vel[v4] = 0; + eproj_y_vel[v4] = 0; --enemy_ram7800[1].kraid.kraid_mouth_flags; - enemy_projectile_id[v4] = 0; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v4], enemy_projectile_y_pos[v4] }; - SpawnEnemyProjectileWithRoomGfx(addr_stru_869650, LOBYTE(enemy_projectile_x_subpos[v4])); - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v4], enemy_projectile_y_pos[v4] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); + eproj_id[v4] = 0; + eproj_spawn_pt = (Point16U){ eproj_x_pos[v4], eproj_y_pos[v4] }; + SpawnEprojWithRoomGfx(addr_stru_869650, LOBYTE(eproj_x_subpos[v4])); + eproj_spawn_pt = (Point16U){ eproj_x_pos[v4], eproj_y_pos[v4] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); QueueSfx3_Max6(0x13); return; } if (MoveMotherBrainBomb(k, v5) & 1) goto LABEL_5; } else { - v2 = abs16(enemy_projectile_x_vel[v1]) - 2; + v2 = abs16(eproj_x_vel[v1]) - 2; if (v2 < 0) v2 = 0; - enemy_projectile_x_vel[v1] = sign16(enemy_projectile_x_vel[v1]) ? -v2 : v2; + eproj_x_vel[v1] = sign16(eproj_x_vel[v1]) ? -v2 : v2; if (MoveMotherBrainBomb(k, 7) & 1) { LABEL_5:; int v3 = k >> 1; - enemy_projectile_F[v3] += 2; + eproj_F[v3] += 2; } } } const uint8 *EprojInstr_SwitchJump(uint16 k, const uint8 *epjp) { // 0x86C173 - return INSTRB_RETURN_ADDR(GET_WORD(epjp + enemy_projectile_E[k >> 1])); + return INSTRB_RETURN_ADDR(GET_WORD(epjp + eproj_E[k >> 1])); } const uint8 *EprojInstr_UserPalette0(uint16 k, const uint8 *epjp) { // 0x86C1B4 - enemy_projectile_gfx_idx[k >> 1] = 0; + eproj_gfx_idx[k >> 1] = 0; return epjp; } @@ -3127,29 +3127,29 @@ uint16 Math_MultBySinCos(uint16 r38, uint16 a) { // 0x86C27A void Eproj_MotherBrainsBlueRingLasers(uint16 j) { // 0x86C2F3 int v1 = j >> 1; - enemy_projectile_E[v1] = 8; - enemy_projectile_F[v1] = 0; - enemy_projectile_gfx_idx[v1] = 1024; - uint16 r18 = enemy_projectile_init_param_1; - enemy_projectile_x_vel[v1] = Math_MultBySin(0x450, r18); - enemy_projectile_y_vel[v1] = Math_MultByCos(0x450, r18); - enemy_projectile_x_pos[v1] = enemy_data[1].x_pos + 10; - enemy_projectile_y_pos[v1] = enemy_data[1].y_pos + 16; + eproj_E[v1] = 8; + eproj_F[v1] = 0; + eproj_gfx_idx[v1] = 1024; + uint16 r18 = eproj_init_param_1; + eproj_x_vel[v1] = Math_MultBySin(0x450, r18); + eproj_y_vel[v1] = Math_MultByCos(0x450, r18); + eproj_x_pos[v1] = enemy_data[1].x_pos + 10; + eproj_y_pos[v1] = enemy_data[1].y_pos + 16; sub_86C320(j); } void sub_86C320(uint16 k) { // 0x86C320 int v1 = k >> 1; - enemy_projectile_x_pos[v1] = enemy_data[1].x_pos + 10; - enemy_projectile_y_pos[v1] = enemy_data[1].y_pos + 16; + eproj_x_pos[v1] = enemy_data[1].x_pos + 10; + eproj_y_pos[v1] = enemy_data[1].y_pos + 16; } void Eproj_MoveToBlueRingSpawnPosition(uint16 k) { // 0x86C335 int16 v5; int v1 = k >> 1; - if (enemy_projectile_E[v1]) { - --enemy_projectile_E[v1]; + if (eproj_E[v1]) { + --eproj_E[v1]; sub_86C320(k); } else { MoveEprojWithVelocity(k); @@ -3171,7 +3171,7 @@ void Eproj_MoveToBlueRingSpawnPosition(uint16 k) { // 0x86C335 Samus_DealDamage(SuitDamageDivision(0x50)); samus_invincibility_timer = 96; samus_knockback_timer = 5; - knockback_x_dir = (int16)(samus_x_pos - enemy_projectile_x_pos[k >> 1]) >= 0; + knockback_x_dir = (int16)(samus_x_pos - eproj_x_pos[k >> 1]) >= 0; } else if (CheckForBlueRingCollisionWithRoom(k) & 1) { Eproj_Earthqhake5(k); } @@ -3185,7 +3185,7 @@ uint8 CheckForCollisionWithShitroid_DoubleRet(uint16 v0) { // 0x86C3A9 Rect16U rect = Eproj_GetCollDetectRect(v0); return Eproj_CheckForEnemyCollisionWithRect(enemy_ram7800[1].kraid.kraid_healths_8ths[4], rect); } - enemy_projectile_id[v0 >> 1] = 0; + eproj_id[v0 >> 1] = 0; return 0xff; } @@ -3195,8 +3195,8 @@ uint8 CheckForBlueRingCollisionWithRoom(uint16 k) { // 0x86C3C9 int v1 = k >> 1; uint8 result = 1; - if (!sign16(enemy_projectile_y_pos[v1] - 32) && enemy_projectile_y_pos[v1] < 0xD8) { - v2 = enemy_projectile_x_pos[v1]; + if (!sign16(eproj_y_pos[v1] - 32) && eproj_y_pos[v1] < 0xD8) { + v2 = eproj_x_pos[v1]; if (v2 >= 0) { v3 = v2 - layer1_x_pos; if (v3 >= 0) { @@ -3211,8 +3211,8 @@ uint8 CheckForBlueRingCollisionWithRoom(uint16 k) { // 0x86C3C9 Rect16U Eproj_GetCollDetectRect(uint16 k) { // 0x86C3E9 int v1 = k >> 1; Rect16U rect = { - enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1], - LOBYTE(enemy_projectile_radius[v1]), HIBYTE(enemy_projectile_radius[v1]) + eproj_x_pos[v1], eproj_y_pos[v1], + LOBYTE(eproj_radius[v1]), HIBYTE(eproj_radius[v1]) }; return rect; } @@ -3225,79 +3225,79 @@ void Eproj_Earthqhake5(uint16 k) { // 0x86C404 void BlueRingContactExplosion(uint16 k) { // 0x86C410 int v1 = k >> 1; - enemy_projectile_id[v1] = 0; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); + eproj_id[v1] = 0; + eproj_spawn_pt = (Point16U){ eproj_x_pos[v1], eproj_y_pos[v1] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); QueueSfx3_Max6(0x13); sub_86C42E(k); } void sub_86C42E(uint16 k) { // 0x86C42E - enemy_projectile_gfx_idx[k >> 1] = 0; + eproj_gfx_idx[k >> 1] = 0; } static void EprojInit_MotherBrainBomb(uint16 j) { // 0x86C482 - *((uint8 *)enemy_projectile_x_subpos + j) = enemy_projectile_init_param_1; + *((uint8 *)eproj_x_subpos + j) = eproj_init_param_1; int v1 = j >> 1; - enemy_projectile_y_vel[v1] = 256; - enemy_projectile_x_vel[v1] = 224; - enemy_projectile_x_pos[v1] = enemy_data[1].x_pos + 12; - enemy_projectile_y_pos[v1] = enemy_data[1].y_pos + 16; - enemy_projectile_gfx_idx[v1] = 1024; - enemy_projectile_E[v1] = 112; - enemy_projectile_F[v1] = 0; + eproj_y_vel[v1] = 256; + eproj_x_vel[v1] = 224; + eproj_x_pos[v1] = enemy_data[1].x_pos + 12; + eproj_y_pos[v1] = enemy_data[1].y_pos + 16; + eproj_gfx_idx[v1] = 1024; + eproj_E[v1] = 112; + eproj_F[v1] = 0; ++enemy_ram7800[1].kraid.kraid_mouth_flags; } uint8 MotherBrainBomb_Bomb_CollDetect_DoubleRet(uint16 k) { // 0x86C564 int v1 = k >> 1; Rect16U rect = { - enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1], - LOBYTE(enemy_projectile_radius[v1]), HIBYTE(enemy_projectile_radius[v1]) + eproj_x_pos[v1], eproj_y_pos[v1], + LOBYTE(eproj_radius[v1]), HIBYTE(eproj_radius[v1]) }; if (!Eproj_CheckForBombCollisionWithRect(rect)) return 0; --enemy_ram7800[1].kraid.kraid_mouth_flags; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - enemy_projectile_id[v1] = 0; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + eproj_id[v1] = 0; + eproj_spawn_pt = (Point16U){ eproj_x_pos[v1], eproj_y_pos[v1] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + eproj_spawn_pt = (Point16U){ eproj_x_pos[v1], eproj_y_pos[v1] }; SpawnEnemyDrops(addr_kEnemyDef_EC3F, k, 0); return 1; // double return } uint8 MoveMotherBrainBomb(uint16 k, uint16 a) { // 0x86C5C2 int v2 = k >> 1; - enemy_projectile_y_vel[v2] += a; + eproj_y_vel[v2] += a; MoveEprojWithVelocity(k); - if (!sign16(enemy_projectile_x_pos[v2] - 240)) - enemy_projectile_x_vel[v2] = -enemy_projectile_x_vel[v2]; - if (sign16(enemy_projectile_y_pos[v2] - 208)) + if (!sign16(eproj_x_pos[v2] - 240)) + eproj_x_vel[v2] = -eproj_x_vel[v2]; + if (sign16(eproj_y_pos[v2] - 208)) return 0; - enemy_projectile_y_pos[v2] = 208; - enemy_projectile_x_vel[v2] = sign16(enemy_projectile_x_vel[v2]) ? -enemy_projectile_E[v2] : enemy_projectile_E[v2]; - enemy_projectile_y_vel[v2] = -512; + eproj_y_pos[v2] = 208; + eproj_x_vel[v2] = sign16(eproj_x_vel[v2]) ? -eproj_E[v2] : eproj_E[v2]; + eproj_y_vel[v2] = -512; return 1; } void sub_86C605(uint16 j) { // 0x86C605 int v1 = j >> 1; - enemy_projectile_E[v1] = 0; - enemy_projectile_F[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_y_subpos[v1] = 0; + eproj_E[v1] = 0; + eproj_F[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + eproj_x_subpos[v1] = 0; + eproj_y_subpos[v1] = 0; Enemy_MotherBrain *E = Get_MotherBrain(0); E->mbn_var_23 = 0; E->mbn_var_25 = 0; - enemy_projectile_gfx_idx[v1] = 1024; - E->mbn_var_24 = enemy_projectile_x_pos[v1] = E->base.x_pos + 64; + eproj_gfx_idx[v1] = 1024; + E->mbn_var_24 = eproj_x_pos[v1] = E->base.x_pos + 64; uint16 x = samus_x_pos - E->mbn_var_24; - E->mbn_var_26 = enemy_projectile_y_pos[v1] = E->base.y_pos - 48; + E->mbn_var_26 = eproj_y_pos[v1] = E->base.y_pos - 48; uint16 y = samus_y_pos - E->mbn_var_26; int r18 = (uint8)-(CalculateAngleFromXY(x, y) + 0x80); E->mbn_var_29 = r18; @@ -3309,55 +3309,55 @@ static void EprojInit_MotherBrainDeathBeemFired(uint16 j) { // 0x86C684 int v1 = j >> 1; Enemy_MotherBrain *E = Get_MotherBrain(0); - enemy_projectile_x_pos[v1] = E->mbn_var_24; - enemy_projectile_x_subpos[v1] = E->mbn_var_23; - enemy_projectile_y_pos[v1] = E->mbn_var_26; - enemy_projectile_y_subpos[v1] = E->mbn_var_25; - enemy_projectile_x_vel[v1] = E->mbn_var_27; - enemy_projectile_y_vel[v1] = E->mbn_var_28; + eproj_x_pos[v1] = E->mbn_var_24; + eproj_x_subpos[v1] = E->mbn_var_23; + eproj_y_pos[v1] = E->mbn_var_26; + eproj_y_subpos[v1] = E->mbn_var_25; + eproj_x_vel[v1] = E->mbn_var_27; + eproj_y_vel[v1] = E->mbn_var_28; MoveEprojWithVelocity(j); - E->mbn_var_24 = enemy_projectile_x_pos[v1]; - E->mbn_var_23 = enemy_projectile_x_subpos[v1]; - E->mbn_var_26 = enemy_projectile_y_pos[v1]; - E->mbn_var_25 = enemy_projectile_y_subpos[v1]; + E->mbn_var_24 = eproj_x_pos[v1]; + E->mbn_var_23 = eproj_x_subpos[v1]; + E->mbn_var_26 = eproj_y_pos[v1]; + E->mbn_var_25 = eproj_y_subpos[v1]; uint16 r18 = (uint8)(LOBYTE(E->mbn_var_29) + NextRandom()); uint16 rv = NextRandom(); - enemy_projectile_x_vel[v1] = Math_MultBySin(rv & 0x700, r18); - enemy_projectile_y_vel[v1] = Math_MultByCos(random_number & 0x700, r18); + eproj_x_vel[v1] = Math_MultBySin(rv & 0x700, r18); + eproj_y_vel[v1] = Math_MultByCos(random_number & 0x700, r18); MoveEprojWithVelocity(j); - if (sign16(enemy_projectile_y_pos[v1] - 34) - || !sign16(enemy_projectile_y_pos[v1] - 206) - || sign16(enemy_projectile_x_pos[v1] - 2) - || !sign16(enemy_projectile_x_pos[v1] - 238)) { - enemy_projectile_id[v1] = 0; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x1D); + if (sign16(eproj_y_pos[v1] - 34) + || !sign16(eproj_y_pos[v1] - 206) + || sign16(eproj_x_pos[v1] - 2) + || !sign16(eproj_x_pos[v1] - 238)) { + eproj_id[v1] = 0; + eproj_spawn_pt = (Point16U){ eproj_x_pos[v1], eproj_y_pos[v1] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x1D); QueueSfx3_Max6(0x13); earthquake_timer = 10; earthquake_type = 5; } else { - enemy_projectile_E[v1] = (enemy_projectile_E[v1] + 1) & 3; - enemy_projectile_F[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; + eproj_E[v1] = (eproj_E[v1] + 1) & 3; + eproj_F[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; } } void SpawnMotherBrainDeathBeam(uint16 x) { // 0x86C7FB - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainDeathBeamFired, enemy_projectile_E[x >> 1]); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainDeathBeamFired, eproj_E[x >> 1]); } void EprojPreInstr_MotherBrainRainbowBeam(uint16 k) { // 0x86C814 int v2 = k >> 1; - enemy_projectile_x_pos[v2] = enemy_data[1].x_pos; - enemy_projectile_y_pos[v2] = enemy_data[1].y_pos; + eproj_x_pos[v2] = enemy_data[1].x_pos; + eproj_y_pos[v2] = enemy_data[1].y_pos; } static void EprojInit_MotherBrainRainbowBeam(uint16 j) { // 0x86C80A int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; + eproj_gfx_idx[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; EprojPreInstr_MotherBrainRainbowBeam(j); } @@ -3365,64 +3365,64 @@ static const int16 kEprojInit_MotherBrainsDrool[12] = { 6, 0x14, 0xe, 0x12, 8, 0 void EprojPreInstr_C84D(uint16 k) { // 0x86C84D int v1 = k >> 1; - int v2 = (uint16)(4 * enemy_projectile_E[v1]) >> 1; - enemy_projectile_x_pos[v1] = enemy_data[1].x_pos + kEprojInit_MotherBrainsDrool[v2]; - enemy_projectile_y_pos[v1] = enemy_data[1].y_pos + kEprojInit_MotherBrainsDrool[v2 + 1]; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; + int v2 = (uint16)(4 * eproj_E[v1]) >> 1; + eproj_x_pos[v1] = enemy_data[1].x_pos + kEprojInit_MotherBrainsDrool[v2]; + eproj_y_pos[v1] = enemy_data[1].y_pos + kEprojInit_MotherBrainsDrool[v2 + 1]; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; } static void EprojInit_MotherBrainsDrool(uint16 j) { // 0x86C843 int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; - enemy_projectile_E[v1] = enemy_projectile_init_param_1; + eproj_gfx_idx[v1] = 0; + eproj_E[v1] = eproj_init_param_1; EprojPreInstr_C84D(j); } static void EprojInit_MotherBrainsDrool_Falling(uint16 k) { // 0x86C886 int v1 = k >> 1; - enemy_projectile_y_vel[v1] += 12; + eproj_y_vel[v1] += 12; if (MoveEprojWithVelocityY(k) >= 0xD7) { - enemy_projectile_y_pos[v1] -= 4; - enemy_projectile_instr_list_ptr[v1] = addr_off_86C8E1; - enemy_projectile_instr_timers[v1] = 1; + eproj_y_pos[v1] -= 4; + eproj_instr_list_ptr[v1] = addr_off_86C8E1; + eproj_instr_timers[v1] = 1; } } const uint8 *EprojInstr_Add12ToY(uint16 k, const uint8 *epjp) { // 0x86C8D0 - enemy_projectile_y_pos[k >> 1] += 12; + eproj_y_pos[k >> 1] += 12; return epjp; } void EprojPreInit_MotherBrainsDeathExplosion_0(uint16 k) { // 0x86C914 int v2 = k >> 1; - enemy_projectile_x_pos[v2] = enemy_data[0].x_pos + enemy_projectile_x_vel[v2]; - enemy_projectile_y_pos[v2] = enemy_data[0].y_pos + enemy_projectile_y_vel[v2]; + eproj_x_pos[v2] = enemy_data[0].x_pos + eproj_x_vel[v2]; + eproj_y_pos[v2] = enemy_data[0].y_pos + eproj_y_vel[v2]; } static void EprojInit_MotherBrainsDeathExplosion(uint16 j) { // 0x86C8F5 int v1 = j >> 1; - enemy_projectile_instr_list_ptr[v1] = off_86C929[enemy_projectile_init_param_1]; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_gfx_idx[v1] = 0; - enemy_projectile_x_vel[v1] = eproj_spawn_pt.x; - enemy_projectile_y_vel[v1] = eproj_spawn_pt.y; + eproj_instr_list_ptr[v1] = off_86C929[eproj_init_param_1]; + eproj_instr_timers[v1] = 1; + eproj_gfx_idx[v1] = 0; + eproj_x_vel[v1] = eproj_spawn_pt.x; + eproj_y_vel[v1] = eproj_spawn_pt.y; EprojPreInit_MotherBrainsDeathExplosion_0(j); } static void EprojInit_MotherBrainsRainbowBeamExplosion(uint16 j) { // 0x86C92F int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; - enemy_projectile_x_vel[v1] = eproj_spawn_pt.x; - enemy_projectile_x_pos[v1] = samus_x_pos + eproj_spawn_pt.x; - enemy_projectile_y_vel[v1] = eproj_spawn_pt.y; - enemy_projectile_y_pos[v1] = samus_y_pos + eproj_spawn_pt.y; + eproj_gfx_idx[v1] = 0; + eproj_x_vel[v1] = eproj_spawn_pt.x; + eproj_x_pos[v1] = samus_x_pos + eproj_spawn_pt.x; + eproj_y_vel[v1] = eproj_spawn_pt.y; + eproj_y_pos[v1] = samus_y_pos + eproj_spawn_pt.y; } void EprojPreInstr_MotherBrainsRainbowBeamExplosion(uint16 k) { // 0x86C94C int v1 = k >> 1; - enemy_projectile_x_pos[v1] = samus_x_pos + enemy_projectile_x_vel[v1]; - enemy_projectile_y_pos[v1] = samus_y_pos + enemy_projectile_y_vel[v1]; + eproj_x_pos[v1] = samus_x_pos + eproj_x_vel[v1]; + eproj_y_pos[v1] = samus_y_pos + eproj_y_vel[v1]; } static void EprojInit_MotherBrainEscapeDoorParticles(uint16 j) { // 0x86C961 @@ -3437,43 +3437,43 @@ static void EprojInit_MotherBrainEscapeDoorParticles(uint16 j) { // 0x86C961 }; int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; - int v2 = (4 * enemy_projectile_init_param_1) >> 1; - enemy_projectile_x_pos[v1] = kEprojInit_MotherBrainEscapeDoorParticles_X[v2] + 16; - enemy_projectile_y_pos[v1] = kEprojInit_MotherBrainEscapeDoorParticles_X[v2 + 1] + 128; - enemy_projectile_x_vel[v1] = kEprojInit_MotherBrainEscapeDoorParticles_Xvel[v2]; - enemy_projectile_y_vel[v1] = kEprojInit_MotherBrainEscapeDoorParticles_Xvel[v2 + 1]; - enemy_projectile_E[v1] = 32; + eproj_gfx_idx[v1] = 0; + int v2 = (4 * eproj_init_param_1) >> 1; + eproj_x_pos[v1] = kEprojInit_MotherBrainEscapeDoorParticles_X[v2] + 16; + eproj_y_pos[v1] = kEprojInit_MotherBrainEscapeDoorParticles_X[v2 + 1] + 128; + eproj_x_vel[v1] = kEprojInit_MotherBrainEscapeDoorParticles_Xvel[v2]; + eproj_y_vel[v1] = kEprojInit_MotherBrainEscapeDoorParticles_Xvel[v2 + 1]; + eproj_E[v1] = 32; } void EprojPreInstr_MotherBrainsExplodedDoorParticles(uint16 k) { // 0x86C9D2 int v1 = k >> 1; - int16 v2 = abs16(enemy_projectile_x_vel[v1]) - 16; + int16 v2 = abs16(eproj_x_vel[v1]) - 16; if (v2 < 0) v2 = 0; - enemy_projectile_x_vel[v1] = sign16(enemy_projectile_x_vel[v1]) ? -v2 : v2; - enemy_projectile_y_vel[v1] += 32; + eproj_x_vel[v1] = sign16(eproj_x_vel[v1]) ? -v2 : v2; + eproj_y_vel[v1] += 32; MoveEprojWithVelocity(k); - if ((--enemy_projectile_E[v1] & 0x8000) != 0) { - enemy_projectile_id[v1] = 0; - enemy_projectile_y_pos[v1] -= 4; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + if ((--eproj_E[v1] & 0x8000) != 0) { + eproj_id[v1] = 0; + eproj_y_pos[v1] -= 4; + eproj_spawn_pt = (Point16U){ eproj_x_pos[v1], eproj_y_pos[v1] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); } } static void EprojInit_MotherBrainPurpleBreathBig(uint16 j) { // 0x86CA6A int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; - enemy_projectile_x_pos[v1] = enemy_data[1].x_pos + 6; - enemy_projectile_y_pos[v1] = enemy_data[1].y_pos + 16; + eproj_gfx_idx[v1] = 0; + eproj_x_pos[v1] = enemy_data[1].x_pos + 6; + eproj_y_pos[v1] = enemy_data[1].y_pos + 16; } static void EprojInit_MotherBrainPurpleBreathSmall(uint16 j) { // 0x86CA83 int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 0; - enemy_projectile_x_pos[v1] = enemy_data[1].x_pos + 6; - enemy_projectile_y_pos[v1] = enemy_data[1].y_pos + 16; + eproj_gfx_idx[v1] = 0; + eproj_x_pos[v1] = enemy_data[1].x_pos + 6; + eproj_y_pos[v1] = enemy_data[1].y_pos + 16; enemy_ram7800[1].kraid.kraid_hurt_frame = 1; } @@ -3484,25 +3484,25 @@ const uint8 *EprojInstr_MotherBrainPurpleBreathIsActive(uint16 k, const uint8 *e void EprojPreInstr_TimeBombSetJapaneseText(uint16 k) { // 0x86CAFA int v1 = k >> 1; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - enemy_projectile_x_pos[v1] = 128; - enemy_projectile_y_pos[v1] = 192; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + eproj_x_pos[v1] = 128; + eproj_y_pos[v1] = 192; } static void EprojInit_TimeBombSetJapaneseText(uint16 j) { // 0x86CAF6 - enemy_projectile_gfx_idx[j >> 1] = 0; + eproj_gfx_idx[j >> 1] = 0; EprojPreInstr_TimeBombSetJapaneseText(j); } static void EprojInit_MotherBrainTubeFalling(uint16 j) { // 0x86CBC9 int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] = 3584; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; - enemy_projectile_x_pos[v1] = eproj_spawn_pt.x; - enemy_projectile_y_pos[v1] = eproj_spawn_pt.y; - enemy_projectile_E[v1] = FUNC16(MotherBrainTubeFallingFunc_GenerateExplosion); + eproj_gfx_idx[v1] = 3584; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; + eproj_x_pos[v1] = eproj_spawn_pt.x; + eproj_y_pos[v1] = eproj_spawn_pt.y; + eproj_E[v1] = FUNC16(MotherBrainTubeFallingFunc_GenerateExplosion); } void CallMotherBrainTubeFallingFunc(uint32 ea, uint16 k) { @@ -3514,14 +3514,14 @@ void CallMotherBrainTubeFallingFunc(uint32 ea, uint16 k) { } void EprojPreInstr_MotherBrainTubeFalling(uint16 k) { // 0x86CBE7 - CallMotherBrainTubeFallingFunc(enemy_projectile_E[k >> 1] | 0x860000, k); + CallMotherBrainTubeFallingFunc(eproj_E[k >> 1] | 0x860000, k); } void MotherBrainTubeFallingFunc_GenerateExplosion(uint16 k) { // 0x86CBEA int v1 = k >> 1; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] + 8 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); - enemy_projectile_E[v1] = FUNC16(MotherBrainTubeFallingFunc_Falling); + eproj_spawn_pt = (Point16U){ eproj_x_pos[v1], eproj_y_pos[v1] + 8 }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + eproj_E[v1] = FUNC16(MotherBrainTubeFallingFunc_Falling); MotherBrainTubeFallingFunc_Falling(k); } @@ -3529,12 +3529,12 @@ void MotherBrainTubeFallingFunc_Falling(uint16 k) { // 0x86CC08 int16 v2; int v1 = k >> 1; - enemy_projectile_y_vel[v1] += 6; + eproj_y_vel[v1] += 6; v2 = MoveEprojWithVelocityY(k); if (!sign16(v2 - 208)) { - enemy_projectile_id[v1] = 0; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xC); + eproj_id[v1] = 0; + eproj_spawn_pt = (Point16U){ eproj_x_pos[v1], eproj_y_pos[v1] }; + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xC); } } @@ -3544,112 +3544,112 @@ static const int16 kEprojInit_MotherBrainGlassShatteringShard_Y[3] = { 32, 32, 3 static void EprojInit_MotherBrainGlassShatteringShard(uint16 j) { // 0x86CDC5 uint16 v1 = (2 * NextRandom()) & 0x1FE; int v2 = j >> 1; - enemy_projectile_E[v2] = v1; + eproj_E[v2] = v1; int v3 = v1 >> 1; - enemy_projectile_x_vel[v2] = kSinCosTable8bit_Sext[v3 + 64]; - enemy_projectile_y_vel[v2] = 4 * kSinCosTable8bit_Sext[v3]; - enemy_projectile_instr_list_ptr[v2] = kEprojInit_MotherBrainGlassShatteringShard_InstrPtrs[(uint16)((v1 >> 4) & 0x1E) >> 1]; - enemy_projectile_gfx_idx[v2] = 1600; + eproj_x_vel[v2] = kSinCosTable8bit_Sext[v3 + 64]; + eproj_y_vel[v2] = 4 * kSinCosTable8bit_Sext[v3]; + eproj_instr_list_ptr[v2] = kEprojInit_MotherBrainGlassShatteringShard_InstrPtrs[(uint16)((v1 >> 4) & 0x1E) >> 1]; + eproj_gfx_idx[v2] = 1600; CalculatePlmBlockCoords(plm_id); - int v4 = enemy_projectile_init_param_1 >> 1; - enemy_projectile_x_pos[v2] = kEprojInit_MotherBrainGlassShatteringShard_X[v4] + 16 * plm_x_block; - enemy_projectile_y_pos[v2] = kEprojInit_MotherBrainGlassShatteringShard_Y[v4] + 16 * plm_y_block; - enemy_projectile_x_pos[v2] += (NextRandom() & 0xF) - 8; - enemy_projectile_y_pos[v2] += (NextRandom() & 0xF) - 8; + int v4 = eproj_init_param_1 >> 1; + eproj_x_pos[v2] = kEprojInit_MotherBrainGlassShatteringShard_X[v4] + 16 * plm_x_block; + eproj_y_pos[v2] = kEprojInit_MotherBrainGlassShatteringShard_Y[v4] + 16 * plm_y_block; + eproj_x_pos[v2] += (NextRandom() & 0xF) - 8; + eproj_y_pos[v2] += (NextRandom() & 0xF) - 8; } static void EprojInit_MotherBrainGlassShatteringSparkle(uint16 j) { // 0x86CE6D - int v1 = enemy_projectile_init_param_1 >> 1; + int v1 = eproj_init_param_1 >> 1; int v2 = j >> 1; - enemy_projectile_x_pos[v2] = enemy_projectile_x_pos[v1] + (NextRandom() & 0x1F) - 16; - enemy_projectile_y_pos[v2] = enemy_projectile_y_pos[v1] + (NextRandom() & 0x1F) - 16; - enemy_projectile_gfx_idx[v2] = 1600; + eproj_x_pos[v2] = eproj_x_pos[v1] + (NextRandom() & 0x1F) - 16; + eproj_y_pos[v2] = eproj_y_pos[v1] + (NextRandom() & 0x1F) - 16; + eproj_gfx_idx[v2] = 1600; } void EprojPreInstr_MotherBrainGlassShatteringShard(uint16 k) { // 0x86CE9B int v1 = k >> 1; - int32 amt = INT16_SHL8(enemy_projectile_x_vel[v1]); - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], amt); - amt = INT16_SHL8(enemy_projectile_y_vel[v1]); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], amt); - uint16 v6 = enemy_projectile_y_subpos[v1]; - if ((enemy_projectile_y_pos[v1] & 0xFF00) != 0) { - enemy_projectile_id[v1] = 0; + int32 amt = INT16_SHL8(eproj_x_vel[v1]); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], amt); + amt = INT16_SHL8(eproj_y_vel[v1]); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], amt); + uint16 v6 = eproj_y_subpos[v1]; + if ((eproj_y_pos[v1] & 0xFF00) != 0) { + eproj_id[v1] = 0; } else { - enemy_projectile_y_vel[v1] += 32; + eproj_y_vel[v1] += 32; if ((NextRandom() & 0x420) == 0) - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainGlassShatteringSparkle, k); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainGlassShatteringSparkle, k); } } static void EprojInit_KiHunterAcidSpitCommon(uint16 k, uint16 j) { // 0x86CFBA int v2 = j >> 1; - enemy_projectile_y_vel[v2] = 0; - enemy_projectile_y_pos[v2] = gEnemyData(k)->y_pos - 16; - enemy_projectile_y_subpos[v2] = 0; - enemy_projectile_x_subpos[v2] = 0; + eproj_y_vel[v2] = 0; + eproj_y_pos[v2] = gEnemyData(k)->y_pos - 16; + eproj_y_subpos[v2] = 0; + eproj_x_subpos[v2] = 0; } static void EprojInit_KiHunterAcidSpitLeft(uint16 j) { // 0x86CF90 int v2 = j >> 1; - enemy_projectile_x_vel[v2] = -768; - enemy_projectile_x_pos[v2] = gEnemyData(cur_enemy_index)->x_pos - 22; + eproj_x_vel[v2] = -768; + eproj_x_pos[v2] = gEnemyData(cur_enemy_index)->x_pos - 22; EprojInit_KiHunterAcidSpitCommon(cur_enemy_index, j); } static void EprojInit_KiHunterAcidSpitRight(uint16 j) { // 0x86CFA6 int v2 = j >> 1; - enemy_projectile_x_vel[v2] = 768; - enemy_projectile_x_pos[v2] = gEnemyData(cur_enemy_index)->x_pos + 22; + eproj_x_vel[v2] = 768; + eproj_x_pos[v2] = gEnemyData(cur_enemy_index)->x_pos + 22; EprojInit_KiHunterAcidSpitCommon(cur_enemy_index, j); } void sub_86CFD5(uint16 k) { // 0x86CFD5 int v1 = k >> 1; - enemy_projectile_pre_instr[v1] = FUNC16(sub_86CFF8); - enemy_projectile_x_pos[v1] -= 19; + eproj_pre_instr[v1] = FUNC16(sub_86CFF8); + eproj_x_pos[v1] -= 19; } void sub_86CFE6(uint16 k) { // 0x86CFE6 int v1 = k >> 1; - enemy_projectile_pre_instr[v1] = FUNC16(sub_86CFF8); - enemy_projectile_x_pos[v1] += 19; + eproj_pre_instr[v1] = FUNC16(sub_86CFF8); + eproj_x_pos[v1] += 19; } void sub_86CFF8(uint16 k) { // 0x86CFF8 int v1 = k >> 1; - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { - enemy_projectile_instr_list_ptr[v1] = addr_off_86CF56; - enemy_projectile_instr_timers[v1] = 1; - } else if (EnemyProjectileBlockCollisition_Horiz(k) & 1) { - enemy_projectile_x_vel[k >> 1] = 0; + if (EprojBlockCollisition_Vertical(k) & 1) { + eproj_instr_list_ptr[v1] = addr_off_86CF56; + eproj_instr_timers[v1] = 1; + } else if (EprojBlockCollisition_Horiz(k) & 1) { + eproj_x_vel[k >> 1] = 0; } else { - uint16 v2 = enemy_projectile_y_vel[v1] + 16; - enemy_projectile_y_vel[v1] = v2; + uint16 v2 = eproj_y_vel[v1] + 16; + eproj_y_vel[v1] = v2; if (!sign16(v2 - 512)) v2 = 512; - enemy_projectile_y_vel[v1] = v2; + eproj_y_vel[v1] = v2; } } static void EprojInit_KagosBugs(uint16 j) { // 0x86D088 int v2 = j >> 1; - enemy_projectile_F[v2] = cur_enemy_index; + eproj_F[v2] = cur_enemy_index; EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v2] = v3->x_pos; - enemy_projectile_y_pos[v2] = v3->y_pos; + eproj_x_pos[v2] = v3->x_pos; + eproj_y_pos[v2] = v3->y_pos; uint16 v4 = (random_number & 7) + 1; - enemy_projectile_G[v2] = v4; - enemy_projectile_E[v2] = v4 + 4; - enemy_projectile_pre_instr[v2] = FUNC16(EprojPreInstr_KagosBugs); + eproj_G[v2] = v4; + eproj_E[v2] = v4 + 4; + eproj_pre_instr[v2] = FUNC16(EprojPreInstr_KagosBugs); } void EprojPreInstr_KagosBugs_Func1(uint16 k) { // 0x86D0B3 int v1 = k >> 1; - uint16 v2 = enemy_projectile_E[v1]; + uint16 v2 = eproj_E[v1]; if (v2) { uint16 v3 = v2 - 1; - enemy_projectile_E[v1] = v3; + eproj_E[v1] = v3; if (!v3) QueueSfx2_Max6(0x6C); } @@ -3657,22 +3657,22 @@ void EprojPreInstr_KagosBugs_Func1(uint16 k) { // 0x86D0B3 void EprojPreInstr_KagosBugs_Func2(uint16 k) { // 0x86D1E4 int v1 = k >> 1; - EnemyData *v2 = gEnemyData(enemy_projectile_F[v1]); - uint16 v3 = abs16(v2->x_pos - enemy_projectile_x_pos[v1]); + EnemyData *v2 = gEnemyData(eproj_F[v1]); + uint16 v3 = abs16(v2->x_pos - eproj_x_pos[v1]); if (!sign16(v3 - 23)) - enemy_projectile_properties[v1] |= 0x8000; + eproj_properties[v1] |= 0x8000; } void EprojPreInstr_KagosBugs(uint16 k) { // 0x86D0CA EprojPreInstr_KagosBugs_Func1(k); EprojPreInstr_KagosBugs_Func2(k); int v1 = k >> 1; - if (enemy_projectile_G[v1]) { - --enemy_projectile_G[v1]; + if (eproj_G[v1]) { + --eproj_G[v1]; } else { - enemy_projectile_instr_list_ptr[v1] = addr_word_86D052; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_pre_instr[v1] = FUNC16(nullsub_302); + eproj_instr_list_ptr[v1] = addr_word_86D052; + eproj_instr_timers[v1] = 1; + eproj_pre_instr[v1] = FUNC16(nullsub_302); } } @@ -3681,22 +3681,22 @@ static const uint16 word_86D082 = 0xe0; void EprojPreInstr_D0EC(uint16 k) { // 0x86D0EC EprojPreInstr_KagosBugs_Func1(k); EprojPreInstr_KagosBugs_Func2(k); - if (EnemyProjectileBlockCollisition_Horiz(k)) { - enemy_projectile_x_vel[k >> 1] = 0; + if (EprojBlockCollisition_Horiz(k)) { + eproj_x_vel[k >> 1] = 0; goto LABEL_6; } - if (EnemyProjectileBlockCollisition_Vertical(k)) { + if (EprojBlockCollisition_Vertical(k)) { LABEL_6: - enemy_projectile_y_vel[k >> 1] = 256; + eproj_y_vel[k >> 1] = 256; LABEL_7:; - enemy_projectile_pre_instr[k >> 1] = FUNC16(EprojPreInstr_D128); - enemy_projectile_instr_list_ptr[k >> 1] = addr_word_86D04A; - enemy_projectile_instr_timers[k >> 1] = 1; + eproj_pre_instr[k >> 1] = FUNC16(EprojPreInstr_D128); + eproj_instr_list_ptr[k >> 1] = addr_word_86D04A; + eproj_instr_timers[k >> 1] = 1; return; } - uint16 v2 = enemy_projectile_y_vel[k >> 1]; + uint16 v2 = eproj_y_vel[k >> 1]; bool v3 = (int16)(word_86D082 + v2) < 0; - enemy_projectile_y_vel[k >> 1] = word_86D082 + v2; + eproj_y_vel[k >> 1] = word_86D082 + v2; if (!v3) { goto LABEL_7; } @@ -3705,15 +3705,15 @@ LABEL_7:; void EprojPreInstr_D128(uint16 v0) { // 0x86D128 EprojPreInstr_KagosBugs_Func1(v0); EprojPreInstr_KagosBugs_Func2(v0); - if (EnemyProjectileBlockCollisition_Horiz(v0) & 1) { - enemy_projectile_x_vel[v0 >> 1] = 0; - } else if (EnemyProjectileBlockCollisition_Vertical(v0) & 1) { + if (EprojBlockCollisition_Horiz(v0) & 1) { + eproj_x_vel[v0 >> 1] = 0; + } else if (EprojBlockCollisition_Vertical(v0) & 1) { int v1 = v0 >> 1; - enemy_projectile_pre_instr[v1] = FUNC16(nullsub_302); - enemy_projectile_instr_list_ptr[v1] = addr_word_86D03C; - enemy_projectile_instr_timers[v1] = 1; + eproj_pre_instr[v1] = FUNC16(nullsub_302); + eproj_instr_list_ptr[v1] = addr_word_86D03C; + eproj_instr_timers[v1] = 1; } else { - enemy_projectile_y_vel[v0 >> 1] += word_86D082; + eproj_y_vel[v0 >> 1] += word_86D082; } } @@ -3726,9 +3726,9 @@ const uint8 *EprojInstr_D15C(uint16 k, const uint8 *epjp) { // 0x86D15C int v2 = k >> 1; uint16 t = (random_number & 0x300) + 2048; - enemy_projectile_y_vel[v2] = -t; - EnemyData *v3 = gEnemyData(enemy_projectile_F[v2]); - uint16 t2 = v3->x_pos - enemy_projectile_x_pos[v2]; + eproj_y_vel[v2] = -t; + EnemyData *v3 = gEnemyData(eproj_F[v2]); + uint16 t2 = v3->x_pos - eproj_x_pos[v2]; if ((int16)(abs16(t2) - g_word_86D084) >= 0) t = sign16(t2) ? -1 : 0; @@ -3736,39 +3736,39 @@ const uint8 *EprojInstr_D15C(uint16 k, const uint8 *epjp) { // 0x86D15C uint16 v4 = g_word_86D086; if (t & 0x100) v4 = -v4; - enemy_projectile_x_vel[v2] = v4; - enemy_projectile_pre_instr[v2] = FUNC16(EprojPreInstr_D0EC); + eproj_x_vel[v2] = v4; + eproj_pre_instr[v2] = FUNC16(EprojPreInstr_D0EC); return epjp; } const uint8 *EprojInstr_D1B6(uint16 k, const uint8 *epjp) { // 0x86D1B6 int v1 = k >> 1; - enemy_projectile_G[v1] = (random_number & 0x1F) + 1; - enemy_projectile_pre_instr[v1] = FUNC16(EprojPreInstr_KagosBugs); + eproj_G[v1] = (random_number & 0x1F) + 1; + eproj_pre_instr[v1] = FUNC16(EprojPreInstr_KagosBugs); return epjp; } const uint8 *EprojInstr_D1C7(uint16 k, const uint8 *epjp) { // 0x86D1C7 - enemy_projectile_gfx_idx[k >> 1] = 0; + eproj_gfx_idx[k >> 1] = 0; return epjp; } const uint8 *EprojInstr_D1CE(uint16 k, const uint8 *epjp) { // 0x86D1CE - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[k >> 1], enemy_projectile_y_pos[k >> 1] }; + eproj_spawn_pt = (Point16U){ eproj_x_pos[k >> 1], eproj_y_pos[k >> 1] }; SpawnEnemyDrops(addr_kEnemyDef_E7FF, k, 0); return epjp; } static void EprojInit_MaridiaFloatersSpikes(uint16 j) { // 0x86D23A int v1 = j >> 1; - enemy_projectile_x_subpos[v1] = 0; - enemy_projectile_y_subpos[v1] = 0; - enemy_projectile_x_vel[v1] = 0; - enemy_projectile_y_vel[v1] = 0; + eproj_x_subpos[v1] = 0; + eproj_y_subpos[v1] = 0; + eproj_x_vel[v1] = 0; + eproj_y_vel[v1] = 0; EnemyData *v2 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v1] = v2->x_pos; - enemy_projectile_y_pos[v1] = v2->y_pos; - enemy_projectile_E[v1] = enemy_projectile_init_param_1; + eproj_x_pos[v1] = v2->x_pos; + eproj_y_pos[v1] = v2->y_pos; + eproj_E[v1] = eproj_init_param_1; } static const int16 word_86D21A[8] = { 0, 32, 32, 32, 0, -32, -32, -32 }; @@ -3776,21 +3776,21 @@ static const int16 word_86D22A[8] = { -32, -32, 0, 32, 32, 32, 0, -32 }; void EprojPreInstr_MaridiaFloatersSpikes(uint16 k) { // 0x86D263 int v1 = k >> 1; - enemy_projectile_x_vel[v1] += word_86D21A[enemy_projectile_E[v1]]; - if (EnemyProjectileBlockCollisition_Horiz(k) & 1 - || (enemy_projectile_y_vel[v1] += word_86D22A[enemy_projectile_E[v1]], EnemyProjectileBlockCollisition_Vertical(k) & 1)) { - enemy_projectile_instr_list_ptr[v1] = addr_off_86D218; - enemy_projectile_instr_timers[v1] = 1; + eproj_x_vel[v1] += word_86D21A[eproj_E[v1]]; + if (EprojBlockCollisition_Horiz(k) & 1 + || (eproj_y_vel[v1] += word_86D22A[eproj_E[v1]], EprojBlockCollisition_Vertical(k) & 1)) { + eproj_instr_list_ptr[v1] = addr_off_86D218; + eproj_instr_timers[v1] = 1; } } static void EprojInit_WreckedShipRobotLaserCommon(uint16 k, uint16 j) { // 0x86D35B EnemyData *v2 = gEnemyData(k); int v3 = j >> 1; - enemy_projectile_y_pos[v3] = v2->y_pos - 16; - enemy_projectile_x_pos[v3] = v2->x_pos + (sign16(enemy_projectile_x_vel[v3]) ? -4 : 4); - enemy_projectile_y_subpos[v3] = 0; - enemy_projectile_x_subpos[v3] = 0; + eproj_y_pos[v3] = v2->y_pos - 16; + eproj_x_pos[v3] = v2->x_pos + (sign16(eproj_x_vel[v3]) ? -4 : 4); + eproj_y_subpos[v3] = 0; + eproj_x_subpos[v3] = 0; if ((int16)(v2->x_width + v2->x_pos - layer1_x_pos) >= 0 && (int16)(v2->x_pos - v2->x_width - 257 - layer1_x_pos) < 0 && (int16)(v2->y_height + v2->y_pos - layer1_y_pos) >= 0 @@ -3801,78 +3801,78 @@ static void EprojInit_WreckedShipRobotLaserCommon(uint16 k, uint16 j) { // 0x86 static void EprojInit_WreckedShipRobotLaserDown(uint16 j) { // 0x86D30C int v2 = j >> 1; - enemy_projectile_x_vel[v2] = gEnemyData(cur_enemy_index)->ai_var_A; - enemy_projectile_y_vel[v2] = 128; - enemy_projectile_gfx_idx[v2] = 0; + eproj_x_vel[v2] = gEnemyData(cur_enemy_index)->ai_var_A; + eproj_y_vel[v2] = 128; + eproj_gfx_idx[v2] = 0; EprojInit_WreckedShipRobotLaserCommon(cur_enemy_index, j); } static void EprojInit_WreckedShipRobotLaserHorizontal(uint16 j) { // 0x86D32E int v2 = j >> 1; - enemy_projectile_x_vel[v2] = gEnemyData(cur_enemy_index)->ai_var_A; - enemy_projectile_y_vel[v2] = 0; + eproj_x_vel[v2] = gEnemyData(cur_enemy_index)->ai_var_A; + eproj_y_vel[v2] = 0; EprojInit_WreckedShipRobotLaserCommon(cur_enemy_index, j); } static void EprojInit_WreckedShipRobotLaserUp(uint16 j) { // 0x86D341 int v2 = j >> 1; - enemy_projectile_x_vel[v2] = gEnemyData(cur_enemy_index)->ai_var_A; - enemy_projectile_y_vel[v2] = -128; + eproj_x_vel[v2] = gEnemyData(cur_enemy_index)->ai_var_A; + eproj_y_vel[v2] = -128; EprojInit_WreckedShipRobotLaserCommon(cur_enemy_index, j); } void EprojPreInstr_WreckedShipRobotLaser(uint16 k) { // 0x86D3BF int v1 = k >> 1; - enemy_projectile_gfx_idx[v1] = 0; - if (EnemyProjectileBlockCollisition_Horiz(k) & 1 || EnemyProjectileBlockCollisition_Vertical(k) & 1) - enemy_projectile_id[v1] = 0; + eproj_gfx_idx[v1] = 0; + if (EprojBlockCollisition_Horiz(k) & 1 || EprojBlockCollisition_Vertical(k) & 1) + eproj_id[v1] = 0; } const uint8 *EprojInstr_AssignNewN00bTubeShardVelocity(uint16 k, const uint8 *epjp) { // 0x86D5E1 NextRandom(); int v2 = k >> 1; - enemy_projectile_x_vel[v2] = *(uint16 *)((uint8 *)&random_number + 1); - enemy_projectile_y_vel[v2] = 192; + eproj_x_vel[v2] = *(uint16 *)((uint8 *)&random_number + 1); + eproj_y_vel[v2] = 192; return epjp; } const uint8 *EprojInstr_SetN00bTubeShardX(uint16 k, const uint8 *epjp) { // 0x86D5F2 int v2 = k >> 1; if (nmi_frame_counter_word & 1) { - enemy_projectile_x_pos[v2] = enemy_projectile_F[v2]; - enemy_projectile_spritemap_ptr[v2] = GET_WORD(epjp); + eproj_x_pos[v2] = eproj_F[v2]; + eproj_spritemap_ptr[v2] = GET_WORD(epjp); } else { - enemy_projectile_x_pos[v2] = 128 - enemy_projectile_F[v2] + 128; - enemy_projectile_spritemap_ptr[v2] = GET_WORD(epjp + 2); + eproj_x_pos[v2] = 128 - eproj_F[v2] + 128; + eproj_spritemap_ptr[v2] = GET_WORD(epjp + 2); } - enemy_projectile_instr_list_ptr[v2] = epjp - RomBankBase(0x86) + 4; - enemy_projectile_instr_timers[v2] = 1; + eproj_instr_list_ptr[v2] = epjp - RomBankBase(0x86) + 4; + eproj_instr_timers[v2] = 1; return 0; } const uint8 *EprojInstr_D62A(uint16 k, const uint8 *epjp) { // 0x86D62A if (nmi_frame_counter_word & 1) - enemy_projectile_x_pos[k >> 1] = enemy_projectile_F[k >> 1]; + eproj_x_pos[k >> 1] = eproj_F[k >> 1]; else - enemy_projectile_x_pos[k >> 1] = -4608; + eproj_x_pos[k >> 1] = -4608; int v2 = k >> 1; - enemy_projectile_spritemap_ptr[v2] = GET_WORD(epjp); - enemy_projectile_instr_list_ptr[v2] = epjp - RomBankBase(0x86) + 2; - enemy_projectile_instr_timers[v2] = 1; + eproj_spritemap_ptr[v2] = GET_WORD(epjp); + eproj_instr_list_ptr[v2] = epjp - RomBankBase(0x86) + 2; + eproj_instr_timers[v2] = 1; return 0; } const uint8 *EprojInstr_SetXvelRandom(uint16 k, const uint8 *epjp) { // 0x86D69A NextRandom(); - enemy_projectile_x_vel[k >> 1] = *(uint16 *)((uint8 *)&random_number + 1); + eproj_x_vel[k >> 1] = *(uint16 *)((uint8 *)&random_number + 1); return epjp; } static void EprojInit_N00bTubeCrack(uint16 j) { // 0x86D6A5 CalculatePlmBlockCoords(plm_id); int v1 = j >> 1; - enemy_projectile_x_pos[v1] = 16 * plm_x_block + 96; - enemy_projectile_y_pos[v1] = 16 * plm_y_block + 48; + eproj_x_pos[v1] = 16 * plm_x_block + 96; + eproj_y_pos[v1] = 16 * plm_y_block + 48; } static const int16 kEprojInit_N00bTubeShards_X[10] = { -56, -64, -20, -40, -64, -48, -24, -40, 0, -8 }; @@ -3882,14 +3882,14 @@ static const int16 kEprojInit_N00bTubeShards_Yvel[10] = { 320, -256, -416, -288, static void EprojInit_N00bTubeShards(uint16 j) { // 0x86D6C9 CalculatePlmBlockCoords(plm_id); - int v1 = enemy_projectile_init_param_1 >> 1; + int v1 = eproj_init_param_1 >> 1; int v2 = j >> 1; - enemy_projectile_F[v2] = kEprojInit_N00bTubeShards_X[v1] + 16 * plm_x_block + 96; - enemy_projectile_E[v2] = 0; - enemy_projectile_y_pos[v2] = kEprojInit_N00bTubeShards_Y[v1] + 16 * plm_y_block + 48; - enemy_projectile_instr_list_ptr[v2] = kEprojInit_N00bTubeShards_InstrPtrs[v1]; - enemy_projectile_x_vel[v2] = kEprojInit_N00bTubeShards_Xvel[v1]; - enemy_projectile_y_vel[v2] = kEprojInit_N00bTubeShards_Yvel[v1]; + eproj_F[v2] = kEprojInit_N00bTubeShards_X[v1] + 16 * plm_x_block + 96; + eproj_E[v2] = 0; + eproj_y_pos[v2] = kEprojInit_N00bTubeShards_Y[v1] + 16 * plm_y_block + 48; + eproj_instr_list_ptr[v2] = kEprojInit_N00bTubeShards_InstrPtrs[v1]; + eproj_x_vel[v2] = kEprojInit_N00bTubeShards_Xvel[v1]; + eproj_y_vel[v2] = kEprojInit_N00bTubeShards_Yvel[v1]; } static const uint16 kEprojInit_N00bTubeReleasedAirBubbles_X[6] = { 40, 80, 104, 120, 152, 184 }; @@ -3897,103 +3897,103 @@ static const uint16 kEprojInit_N00bTubeReleasedAirBubbles_Y[6] = { 80, 72, 84, 3 static void EprojInit_N00bTubeReleasedAirBubbles(uint16 j) { // 0x86D774 CalculatePlmBlockCoords(plm_id); - int v1 = enemy_projectile_init_param_1 >> 1; + int v1 = eproj_init_param_1 >> 1; int v2 = j >> 1; - enemy_projectile_F[v2] = kEprojInit_N00bTubeReleasedAirBubbles_X[v1] + 16 * plm_x_block; - enemy_projectile_E[v2] = 0; - enemy_projectile_y_pos[v2] = kEprojInit_N00bTubeReleasedAirBubbles_Y[v1] + 16 * plm_y_block; - enemy_projectile_y_vel[v2] = -1280; + eproj_F[v2] = kEprojInit_N00bTubeReleasedAirBubbles_X[v1] + 16 * plm_x_block; + eproj_E[v2] = 0; + eproj_y_pos[v2] = kEprojInit_N00bTubeReleasedAirBubbles_Y[v1] + 16 * plm_y_block; + eproj_y_vel[v2] = -1280; } void sub_86D7BF(uint16 k) { // 0x86D7BF int v1 = k >> 1; - if (enemy_projectile_x_pos[v1] != 0xEE00) - enemy_projectile_E[v1] = enemy_projectile_x_pos[v1]; + if (eproj_x_pos[v1] != 0xEE00) + eproj_E[v1] = eproj_x_pos[v1]; if (nmi_frame_counter_word & 1) - enemy_projectile_x_pos[v1] = -4608; + eproj_x_pos[v1] = -4608; else - enemy_projectile_x_pos[v1] = enemy_projectile_E[v1]; + eproj_x_pos[v1] = eproj_E[v1]; } void sub_86D7DE(uint16 k) { // 0x86D7DE int v1 = k >> 1; int32 amt = INT16_SHL8(192); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], amt); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], amt); } void EprojPreInstr_N00bTubeShards(uint16 k) { // 0x86D7FD int v1 = k >> 1; - int32 amt = INT16_SHL8(enemy_projectile_x_vel[v1]); - AddToHiLo(&enemy_projectile_F[v1], &enemy_projectile_E[v1], amt); - amt = INT16_SHL8(enemy_projectile_y_vel[v1]); - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], amt); + int32 amt = INT16_SHL8(eproj_x_vel[v1]); + AddToHiLo(&eproj_F[v1], &eproj_E[v1], amt); + amt = INT16_SHL8(eproj_y_vel[v1]); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], amt); Eproj_DeleteIfYposOutside(k); } void sub_86D83D(uint16 k) { // 0x86D83D - int v2 = (enemy_projectile_x_vel[k >> 1] & 0x17E | 0x80) >> 1; - int v6 = enemy_projectile_index >> 1; + int v2 = (eproj_x_vel[k >> 1] & 0x17E | 0x80) >> 1; + int v6 = eproj_index >> 1; int32 amt = INT16_SHL8((int16)kSinCosTable8bit_Sext[v2 + 64] >> 2); - AddToHiLo(&enemy_projectile_F[v6], &enemy_projectile_E[v6], amt); - enemy_projectile_x_vel[v6] += 2; - amt = INT16_SHL8(enemy_projectile_y_vel[v6]); - AddToHiLo(&enemy_projectile_y_pos[v6], &enemy_projectile_y_subpos[v6], amt); - Eproj_DeleteIfYposOutside(enemy_projectile_index); + AddToHiLo(&eproj_F[v6], &eproj_E[v6], amt); + eproj_x_vel[v6] += 2; + amt = INT16_SHL8(eproj_y_vel[v6]); + AddToHiLo(&eproj_y_pos[v6], &eproj_y_subpos[v6], amt); + Eproj_DeleteIfYposOutside(eproj_index); } void sub_86D89F(uint16 k) { // 0x86D89F - uint16 v1 = enemy_projectile_x_vel[k >> 1] & 0x17E | 0x80; + uint16 v1 = eproj_x_vel[k >> 1] & 0x17E | 0x80; int v2 = v1 >> 1; int32 amt = INT16_SHL8((int16)kSinCosTable8bit_Sext[v2 + 64] >> 2); - int v5 = enemy_projectile_index >> 1; - AddToHiLo(&enemy_projectile_F[v5], &enemy_projectile_E[v5], amt); - enemy_projectile_x_vel[v5] += 4; - sub_86D8DF(enemy_projectile_index); + int v5 = eproj_index >> 1; + AddToHiLo(&eproj_F[v5], &eproj_E[v5], amt); + eproj_x_vel[v5] += 4; + sub_86D8DF(eproj_index); } void sub_86D8DF(uint16 k) { // 0x86D8DF int v5 = k >> 1; - int32 amt = INT16_SHL8(enemy_projectile_y_vel[v5]); - AddToHiLo(&enemy_projectile_y_pos[v5], &enemy_projectile_y_subpos[v5], amt); - enemy_projectile_x_pos[v5] = enemy_projectile_F[v5]; + int32 amt = INT16_SHL8(eproj_y_vel[v5]); + AddToHiLo(&eproj_y_pos[v5], &eproj_y_subpos[v5], amt); + eproj_x_pos[v5] = eproj_F[v5]; } void sub_86D992(uint16 v0) { // 0x86D992 - uint16 v1 = enemy_projectile_init_param_1; + uint16 v1 = eproj_init_param_1; int v2 = v0 >> 1; - enemy_projectile_E[v2] = enemy_projectile_init_param_1; - enemy_projectile_instr_list_ptr[v2] = off_86D96A[v1 >> 1]; + eproj_E[v2] = eproj_init_param_1; + eproj_instr_list_ptr[v2] = off_86D96A[v1 >> 1]; EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v2] = v3->x_pos; - enemy_projectile_x_subpos[v2] = v3->x_subpos; - enemy_projectile_y_pos[v2] = v3->y_pos; - enemy_projectile_y_subpos[v2] = v3->y_subpos; - enemy_projectile_y_vel[v2] = -512; - enemy_projectile_x_vel[v2] = 512; - if (!sign16(enemy_projectile_init_param_1 - 12)) { - enemy_projectile_y_vel[v2] = -384; - enemy_projectile_x_vel[v2] = 384; + eproj_x_pos[v2] = v3->x_pos; + eproj_x_subpos[v2] = v3->x_subpos; + eproj_y_pos[v2] = v3->y_pos; + eproj_y_subpos[v2] = v3->y_subpos; + eproj_y_vel[v2] = -512; + eproj_x_vel[v2] = 512; + if (!sign16(eproj_init_param_1 - 12)) { + eproj_y_vel[v2] = -384; + eproj_x_vel[v2] = 384; } } void EprojPreInstr_SpikeShootingPlantSpikes_MoveY1(uint16 k) { // 0x86D9E6 int v1 = k >> 1; - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], INT16_SHL8(enemy_projectile_y_vel[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], INT16_SHL8(eproj_y_vel[v1])); } void EprojPreInstr_SpikeShootingPlantSpikes_MoveY2(uint16 k) { // 0x86DA10 int v1 = k >> 1; - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], INT16_SHL8(enemy_projectile_x_vel[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], INT16_SHL8(eproj_x_vel[v1])); } void EprojPreInstr_SpikeShootingPlantSpikes_MoveX1(uint16 k) { // 0x86DA3A int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_y_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_y_vel[v1])); } void EprojPreInstr_SpikeShootingPlantSpikes_MoveX2(uint16 k) { // 0x86DA64 int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_x_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_x_vel[v1])); } void EprojPreInstr_SpikeShootingPlantSpikes_0_MoveX1(uint16 k) { // 0x86DA8E @@ -4047,168 +4047,168 @@ static Func_Y_V *const kEprojPreInstr_SpikeShootingPlantSpikes[10] = { // 0x86D void EprojPreInstrHelper_SpikeShootingPlantSpikes_Func1(uint16 k) { // 0x86DAC2 if (EprojPreInstrHelper_SpikeShootingPlantSpikes_Func2(k)) - enemy_projectile_id[k >> 1] = 0; + eproj_id[k >> 1] = 0; } void EprojPreInstr_SpikeShootingPlantSpikes(uint16 k) { - kEprojPreInstr_SpikeShootingPlantSpikes[enemy_projectile_E[k >> 1] >> 1](k); + kEprojPreInstr_SpikeShootingPlantSpikes[eproj_E[k >> 1] >> 1](k); EprojPreInstrHelper_SpikeShootingPlantSpikes_Func1(k); } uint16 EprojPreInstrHelper_SpikeShootingPlantSpikes_Func2(uint16 k) { // 0x86DACE int v1 = k >> 1; - return (int16)(enemy_projectile_x_pos[v1] - layer1_x_pos) < 0 - || (int16)(layer1_x_pos + 256 - enemy_projectile_x_pos[v1]) < 0 - || (int16)(enemy_projectile_y_pos[v1] - layer1_y_pos) < 0 - || (int16)(layer1_y_pos + 256 - enemy_projectile_y_pos[v1]) < 0; + return (int16)(eproj_x_pos[v1] - layer1_x_pos) < 0 + || (int16)(layer1_x_pos + 256 - eproj_x_pos[v1]) < 0 + || (int16)(eproj_y_pos[v1] - layer1_y_pos) < 0 + || (int16)(layer1_y_pos + 256 - eproj_y_pos[v1]) < 0; } static void EprojInit_DBF2(uint16 j) { // 0x86DB18 int v2 = j >> 1; - enemy_projectile_instr_list_ptr[v2] = addr_word_86DB0C; - enemy_projectile_E[v2] = FUNC16(EprojPreInstr_DBF2_MoveX1); - if (enemy_projectile_init_param_1) - enemy_projectile_E[v2] = FUNC16(EprojPreInstr_DBF2_MoveX2); + eproj_instr_list_ptr[v2] = addr_word_86DB0C; + eproj_E[v2] = FUNC16(EprojPreInstr_DBF2_MoveX1); + if (eproj_init_param_1) + eproj_E[v2] = FUNC16(EprojPreInstr_DBF2_MoveX2); EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v2] = v3->x_pos; - enemy_projectile_x_subpos[v2] = v3->x_subpos; - enemy_projectile_y_pos[v2] = v3->y_pos + 2; - enemy_projectile_y_subpos[v2] = v3->y_subpos; - enemy_projectile_y_vel[v2] = -256; - enemy_projectile_x_vel[v2] = 256; + eproj_x_pos[v2] = v3->x_pos; + eproj_x_subpos[v2] = v3->x_subpos; + eproj_y_pos[v2] = v3->y_pos + 2; + eproj_y_subpos[v2] = v3->y_subpos; + eproj_y_vel[v2] = -256; + eproj_x_vel[v2] = 256; } void EprojPreInstr_DBF2_Func1(uint16 k) { // 0x86DBB6 if (EprojPreInstrHelper_DBF2_Func2(k)) - enemy_projectile_id[k >> 1] = 0; + eproj_id[k >> 1] = 0; } void EprojPreInstr_DBF2(uint16 k) { // 0x86DB5B - CallEprojPreInstr(enemy_projectile_E[k >> 1] | 0x860000, k); + CallEprojPreInstr(eproj_E[k >> 1] | 0x860000, k); EprojPreInstr_DBF2_Func1(k); } void EprojPreInstr_DBF2_MoveX1(uint16 k) { // 0x86DB62 int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_y_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_y_vel[v1])); } void EprojPreInstr_DBF2_MoveX2(uint16 k) { // 0x86DB8C int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_x_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_x_vel[v1])); } uint16 EprojPreInstrHelper_DBF2_Func2(uint16 k) { // 0x86DBC2 int v1 = k >> 1; - return (int16)(enemy_projectile_x_pos[v1] - layer1_x_pos) < 0 - || (int16)(layer1_x_pos + 256 - enemy_projectile_x_pos[v1]) < 0 - || (int16)(enemy_projectile_y_pos[v1] - layer1_y_pos) < 0 - || (int16)(layer1_y_pos + 256 - enemy_projectile_y_pos[v1]) < 0; + return (int16)(eproj_x_pos[v1] - layer1_x_pos) < 0 + || (int16)(layer1_x_pos + 256 - eproj_x_pos[v1]) < 0 + || (int16)(eproj_y_pos[v1] - layer1_y_pos) < 0 + || (int16)(layer1_y_pos + 256 - eproj_y_pos[v1]) < 0; } const uint8 *EprojInstr_DC5A(uint16 k, const uint8 *epjp) { // 0x86DC5A - enemy_projectile_properties[k >> 1] = 12288; + eproj_properties[k >> 1] = 12288; return epjp; } const uint8 *EprojInstr_SpawnEnemyDrops_0(uint16 k, const uint8 *epjp) { // 0x86DC61 int v2 = k >> 1; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v2], enemy_projectile_y_pos[v2] }; + eproj_spawn_pt = (Point16U){ eproj_x_pos[v2], eproj_y_pos[v2] }; SpawnEnemyDrops(addr_kEnemyDef_DF7F, k, 0); return epjp; } const uint8 *EprojInstr_SpawnSporesEproj(uint16 k, const uint8 *epjp) { // 0x86DC77 int v2 = k >> 1; - eproj_spawn_pt = (Point16U) { enemy_projectile_x_pos[v2], enemy_projectile_y_pos[v2] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_Spores, 0); + eproj_spawn_pt = (Point16U) { eproj_x_pos[v2], eproj_y_pos[v2] }; + SpawnEprojWithRoomGfx(addr_kEproj_Spores, 0); return epjp; } static void EprojInit_Spores(uint16 j) { // 0x86DC8D int v2 = j >> 1; - enemy_projectile_F[v2] = enemy_projectile_x_pos[v2] = eproj_spawn_pt.x; - enemy_projectile_y_pos[v2] = eproj_spawn_pt.y; - enemy_projectile_gfx_idx[v2] = 512; + eproj_F[v2] = eproj_x_pos[v2] = eproj_spawn_pt.x; + eproj_y_pos[v2] = eproj_spawn_pt.y; + eproj_gfx_idx[v2] = 512; } static const int16 word_86DCB9[5] = { -64, -56, -48, -40, -32 }; static void EprojInit_SporeSpawnStalk(uint16 j) { // 0x86DCA3 int v1 = j >> 1; - enemy_projectile_y_pos[v1] = enemy_data[0].y_pos + word_86DCB9[enemy_projectile_init_param_1]; - enemy_projectile_x_pos[v1] = enemy_data[0].x_pos; + eproj_y_pos[v1] = enemy_data[0].y_pos + word_86DCB9[eproj_init_param_1]; + eproj_x_pos[v1] = enemy_data[0].x_pos; } void sub_86DCC3(uint16 v0) { // 0x86DCC3 int v1 = v0 >> 1; - enemy_projectile_y_pos[v1] = enemy_data[0].y_pos - 96; - enemy_projectile_x_pos[v1] = enemy_data[0].x_pos; + eproj_y_pos[v1] = enemy_data[0].y_pos - 96; + eproj_x_pos[v1] = enemy_data[0].x_pos; } static const int16 kEprojInit_SporeSpawners_X[4] = { 0x20, 0x60, 0xa0, 0xe0 }; static void EprojInit_SporeSpawners(uint16 j) { // 0x86DCD4 int v1 = j >> 1; - enemy_projectile_x_pos[v1] = kEprojInit_SporeSpawners_X[enemy_projectile_init_param_1]; - enemy_projectile_y_pos[v1] = 520; + eproj_x_pos[v1] = kEprojInit_SporeSpawners_X[eproj_init_param_1]; + eproj_y_pos[v1] = 520; } void EprojPreInstr_Spores(uint16 k) { // 0x86DCEE int v1 = k >> 1; - uint16 v2 = LOBYTE(enemy_projectile_E[v1]); - uint16 r18 = SignExtend8(kSporeMovementData[LOBYTE(enemy_projectile_E[v1])]); - if ((enemy_projectile_F[v1] & 0x80) != 0) + uint16 v2 = LOBYTE(eproj_E[v1]); + uint16 r18 = SignExtend8(kSporeMovementData[LOBYTE(eproj_E[v1])]); + if ((eproj_F[v1] & 0x80) != 0) r18 = -r18; - enemy_projectile_x_pos[v1] += r18; + eproj_x_pos[v1] += r18; r18 = SignExtend8(kSporeMovementData[v2 + 1]); - uint16 v3 = r18 + enemy_projectile_y_pos[v1] + r18; - enemy_projectile_y_pos[v1] = v3; + uint16 v3 = r18 + eproj_y_pos[v1] + r18; + eproj_y_pos[v1] = v3; if (!sign16(v3 - 768)) - enemy_projectile_id[v1] = 0; - enemy_projectile_E[v1] = (uint8)(LOBYTE(enemy_projectile_E[v1]) + 2); + eproj_id[v1] = 0; + eproj_E[v1] = (uint8)(LOBYTE(eproj_E[v1]) + 2); } void EprojPreInstr_SporeSpawners(uint16 k) { // 0x86DD46 if (!kraid_unk9000) { int v1 = k >> 1; - if (!enemy_projectile_F[v1]) { - enemy_projectile_instr_list_ptr[v1] = addr_word_86DC06; - enemy_projectile_instr_timers[v1] = 1; - enemy_projectile_F[v1] = NextRandom() & 0x1FF; + if (!eproj_F[v1]) { + eproj_instr_list_ptr[v1] = addr_word_86DC06; + eproj_instr_timers[v1] = 1; + eproj_F[v1] = NextRandom() & 0x1FF; } - --enemy_projectile_F[v1]; + --eproj_F[v1]; } } static void EprojInit_NamiFuneFireball(uint16 j) { // 0x86DED6 int v2 = j >> 1; - enemy_projectile_instr_list_ptr[v2] = addr_word_86DE96; - enemy_projectile_E[v2] = FUNC16(EprojInit_NamiFuneFireball_MoveX1); - if (enemy_projectile_init_param_1) { - enemy_projectile_instr_list_ptr[v2] = addr_word_86DEA6; - enemy_projectile_E[v2] = FUNC16(EprojInit_NamiFuneFireball_MoveX2); + eproj_instr_list_ptr[v2] = addr_word_86DE96; + eproj_E[v2] = FUNC16(EprojInit_NamiFuneFireball_MoveX1); + if (eproj_init_param_1) { + eproj_instr_list_ptr[v2] = addr_word_86DEA6; + eproj_E[v2] = FUNC16(EprojInit_NamiFuneFireball_MoveX2); } EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v2] = v3->x_pos; - enemy_projectile_x_subpos[v2] = v3->x_subpos; - enemy_projectile_y_pos[v2] = v3->y_pos; - enemy_projectile_y_subpos[v2] = v3->y_subpos; + eproj_x_pos[v2] = v3->x_pos; + eproj_x_subpos[v2] = v3->x_subpos; + eproj_y_pos[v2] = v3->y_pos; + eproj_y_subpos[v2] = v3->y_subpos; if ((v3->parameter_1 & 0xF) != 0) - enemy_projectile_y_pos[v2] += 4; + eproj_y_pos[v2] += 4; int v4 = (uint16)(4 * LOBYTE(v3->parameter_2)) >> 1; - enemy_projectile_y_vel[v2] = word_86DEB6[v4]; - enemy_projectile_x_vel[v2] = word_86DEB6[v4 + 1]; + eproj_y_vel[v2] = word_86DEB6[v4]; + eproj_x_vel[v2] = word_86DEB6[v4 + 1]; } static void EprojInit_NamiFuneFireball_MoveX1(uint16 k) { // 0x86DF40 int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_y_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_y_vel[v1])); } static void EprojInit_NamiFuneFireball_MoveX2(uint16 k) { // 0x86DF6A int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_x_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_x_vel[v1])); } void CallNamiFuneFireballFunc(uint32 ea, uint16 k) { @@ -4220,43 +4220,43 @@ void CallNamiFuneFireballFunc(uint32 ea, uint16 k) { } void EprojPreInstr_NamiFuneFireball(uint16 v0) { // 0x86DF39 - CallNamiFuneFireballFunc(enemy_projectile_E[v0 >> 1] | 0x860000, v0); + CallNamiFuneFireballFunc(eproj_E[v0 >> 1] | 0x860000, v0); Eproj_NamiFuneFireball_After(v0); } void Eproj_NamiFuneFireball_After(uint16 v0) { // 0x86DF94 if (EprojPreInstrHelper_DBF2_Func2(v0)) - enemy_projectile_id[v0 >> 1] = 0; + eproj_id[v0 >> 1] = 0; } uint16 sub_86DFA0(uint16 k) { // 0x86DFA0 int v1 = k >> 1; - return (int16)(enemy_projectile_x_pos[v1] - layer1_x_pos) < 0 - || (int16)(layer1_x_pos + 256 - enemy_projectile_x_pos[v1]) < 0; + return (int16)(eproj_x_pos[v1] - layer1_x_pos) < 0 + || (int16)(layer1_x_pos + 256 - eproj_x_pos[v1]) < 0; } const uint8 *EprojInstr_DFEA(uint16 k, const uint8 *epjp) { // 0x86DFEA int v1 = k >> 1; - eproj_spawn_pt = (Point16U){ enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1] }; + eproj_spawn_pt = (Point16U){ eproj_x_pos[v1], eproj_y_pos[v1] }; SpawnEnemyDrops(addr_kEnemyDef_E83F, k, 0); return epjp; } static void EprojInit_LavaThrownByLavaman(uint16 j) { // 0x86E000 int v2 = j >> 1; - enemy_projectile_instr_list_ptr[v2] = addr_word_86DFD8; - enemy_projectile_E[v2] = FUNC16(Eproj_LavaThrownByLavaman_MoveX1); - if (enemy_projectile_init_param_1) { - enemy_projectile_instr_list_ptr[v2] = addr_word_86DFDE; - enemy_projectile_E[v2] = FUNC16(Eproj_LavaThrownByLavaman_MoveX2); + eproj_instr_list_ptr[v2] = addr_word_86DFD8; + eproj_E[v2] = FUNC16(Eproj_LavaThrownByLavaman_MoveX1); + if (eproj_init_param_1) { + eproj_instr_list_ptr[v2] = addr_word_86DFDE; + eproj_E[v2] = FUNC16(Eproj_LavaThrownByLavaman_MoveX2); } EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v2] = v3->x_pos; - enemy_projectile_x_subpos[v2] = v3->x_subpos; - enemy_projectile_y_pos[v2] = v3->y_pos + 2; - enemy_projectile_y_subpos[v2] = v3->y_subpos; - enemy_projectile_y_vel[v2] = -768; - enemy_projectile_x_vel[v2] = 768; + eproj_x_pos[v2] = v3->x_pos; + eproj_x_subpos[v2] = v3->x_subpos; + eproj_y_pos[v2] = v3->y_pos + 2; + eproj_y_subpos[v2] = v3->y_subpos; + eproj_y_vel[v2] = -768; + eproj_x_vel[v2] = 768; } void CallLavamanFunc(uint32 ea, uint16 k) { @@ -4268,60 +4268,60 @@ void CallLavamanFunc(uint32 ea, uint16 k) { } void sub_86E049(uint16 v0) { // 0x86E049 - CallLavamanFunc(enemy_projectile_E[v0 >> 1] | 0x860000, v0); + CallLavamanFunc(eproj_E[v0 >> 1] | 0x860000, v0); sub_86E0A4(v0); } void Eproj_LavaThrownByLavaman_MoveX1(uint16 k) { // 0x86E050 int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_y_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_y_vel[v1])); } void Eproj_LavaThrownByLavaman_MoveX2(uint16 k) { // 0x86E07A int v1 = k >> 1; - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], INT16_SHL8(enemy_projectile_x_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], INT16_SHL8(eproj_x_vel[v1])); } void sub_86E0A4(uint16 v0) { // 0x86E0A4 if (sub_86E0B0(v0)) - enemy_projectile_id[v0 >> 1] = 0; + eproj_id[v0 >> 1] = 0; } uint16 sub_86E0B0(uint16 k) { // 0x86E0B0 int v1 = k >> 1; - return (int16)(enemy_projectile_x_pos[v1] - layer1_x_pos) < 0 - || (int16)(layer1_x_pos + 256 - enemy_projectile_x_pos[v1]) < 0 - || (int16)(enemy_projectile_y_pos[v1] - layer1_y_pos) < 0 - || (int16)(layer1_y_pos + 256 - enemy_projectile_y_pos[v1]) < 0; + return (int16)(eproj_x_pos[v1] - layer1_x_pos) < 0 + || (int16)(layer1_x_pos + 256 - eproj_x_pos[v1]) < 0 + || (int16)(eproj_y_pos[v1] - layer1_y_pos) < 0 + || (int16)(layer1_y_pos + 256 - eproj_y_pos[v1]) < 0; } static void EprojInit_DustCloudOrExplosion(uint16 v0) { // 0x86E468 int v1 = v0 >> 1; - enemy_projectile_instr_list_ptr[v1] = off_86E42C[enemy_projectile_init_param_1]; - enemy_projectile_x_pos[v1] = eproj_spawn_pt.x; - enemy_projectile_y_pos[v1] = eproj_spawn_pt.y; + eproj_instr_list_ptr[v1] = off_86E42C[eproj_init_param_1]; + eproj_x_pos[v1] = eproj_spawn_pt.x; + eproj_y_pos[v1] = eproj_spawn_pt.y; } static void EprojInit_EyeDoorSmoke(uint16 j) { // 0x86E4A6 int v1 = j >> 1; - enemy_projectile_instr_list_ptr[v1] = off_86E42C[(uint8)enemy_projectile_init_param_1]; - int v2 = (8 * HIBYTE(enemy_projectile_init_param_1)) >> 1; + eproj_instr_list_ptr[v1] = off_86E42C[(uint8)eproj_init_param_1]; + int v2 = (8 * HIBYTE(eproj_init_param_1)) >> 1; uint16 x = word_86E47E[v2 + 2] + (word_86E47E[v2] & random_number); uint16 y = word_86E47E[v2 + 3] + (word_86E47E[v2 + 1] & (random_number >> 8)); CalculatePlmBlockCoords(plm_id); - enemy_projectile_x_pos[v1] = x + 8 * (2 * plm_x_block + 1); - enemy_projectile_y_pos[v1] = y + 8 * (2 * plm_y_block + 1); + eproj_x_pos[v1] = x + 8 * (2 * plm_x_block + 1); + eproj_y_pos[v1] = y + 8 * (2 * plm_y_block + 1); NextRandom(); } void EprojPreInstr_DustCloudOrExplosion(uint16 k) { // 0x86E4FE - if (CheckIfEnemyProjectileIsOffScreen(k)) - enemy_projectile_id[k >> 1] = 0; + if (CheckIfEprojIsOffScreen(k)) + eproj_id[k >> 1] = 0; } const uint8 *EprojInstr_SetYVel(uint16 k, const uint8 *epjp) { // 0x86E533 - enemy_projectile_y_vel[k >> 1] = GET_WORD(epjp); + eproj_y_vel[k >> 1] = GET_WORD(epjp); return epjp + 2; } @@ -4329,9 +4329,9 @@ static void EprojInit_SpawnedGate_Common(uint16 j, uint16 v1) { // 0x86E5DD uint16 v2 = plm_id; CalculatePlmBlockCoords(plm_id); int v3 = j >> 1; - enemy_projectile_E[v3] = plm_block_indices[v2 >> 1]; - enemy_projectile_x_pos[v3] = 16 * plm_x_block; - enemy_projectile_y_pos[v3] = v1 + 16 * plm_y_block; + eproj_E[v3] = plm_block_indices[v2 >> 1]; + eproj_x_pos[v3] = 16 * plm_x_block; + eproj_y_pos[v3] = v1 + 16 * plm_y_block; } static void EprojInit_SpawnedShotGate(uint16 j) { // 0x86E5D0 @@ -4348,31 +4348,31 @@ static void EprojInit_ClosedUpwardsShotGate(uint16 j) { // 0x86E5DA void EprojPreInstr_E605(uint16 k) { // 0x86E605 int v1 = k >> 1; - uint16 v2 = enemy_projectile_timers[v1] + abs16(enemy_projectile_y_vel[v1]); + uint16 v2 = eproj_timers[v1] + abs16(eproj_y_vel[v1]); if (v2 >= 0x1000) { - enemy_projectile_instr_timers[v1] = 1; - ++enemy_projectile_instr_list_ptr[v1]; - ++enemy_projectile_instr_list_ptr[v1]; + eproj_instr_timers[v1] = 1; + ++eproj_instr_list_ptr[v1]; + ++eproj_instr_list_ptr[v1]; v2 = 0; } - enemy_projectile_timers[v1] = v2; - enemy_projectile_y_subpos[v1] += LOBYTE(enemy_projectile_y_vel[v1]) << 8; - enemy_projectile_y_pos[v1] += (int8)HIBYTE(enemy_projectile_y_vel[v1]); + eproj_timers[v1] = v2; + eproj_y_subpos[v1] += LOBYTE(eproj_y_vel[v1]) << 8; + eproj_y_pos[v1] += (int8)HIBYTE(eproj_y_vel[v1]); } static void EprojInit_SaveStationElectricity(uint16 j) { // 0x86E6AD CalculatePlmBlockCoords(plm_id); int v1 = j >> 1; - enemy_projectile_x_pos[v1] = 16 * (plm_x_block + 1); - enemy_projectile_y_pos[v1] = 16 * (plm_y_block - 2); + eproj_x_pos[v1] = 16 * (plm_x_block + 1); + eproj_y_pos[v1] = 16 * (plm_y_block - 2); } -static uint16 CheckIfEnemyProjectileIsOffScreen(uint16 k) { // 0x86E6E0 +static uint16 CheckIfEprojIsOffScreen(uint16 k) { // 0x86E6E0 int v1 = k >> 1; - if ((int16)(enemy_projectile_x_pos[v1] - layer1_x_pos) >= 0) { - if ((int16)(enemy_projectile_x_pos[v1] - (layer1_x_pos + 256)) < 0 - && (int16)(enemy_projectile_y_pos[v1] - layer1_y_pos) >= 0) { - if ((int16)(enemy_projectile_y_pos[v1] - (layer1_y_pos + 256)) < 0) + if ((int16)(eproj_x_pos[v1] - layer1_x_pos) >= 0) { + if ((int16)(eproj_x_pos[v1] - (layer1_x_pos + 256)) < 0 + && (int16)(eproj_y_pos[v1] - layer1_y_pos) >= 0) { + if ((int16)(eproj_y_pos[v1] - (layer1_y_pos + 256)) < 0) return 0; } } @@ -4384,11 +4384,11 @@ uint16 Eproj_FuncE722(uint16 k) { // 0x86E722 int16 v3; int v1 = k >> 1; - v2 = enemy_projectile_x_pos[v1]; + v2 = eproj_x_pos[v1]; uint16 result = 1; if (v2 >= 0) { if (sign16(v2 - 512)) { - v3 = enemy_projectile_y_pos[v1]; + v3 = eproj_y_pos[v1]; if (v3 >= 0) { if (sign16(v3 - 512)) return 0; @@ -4401,45 +4401,45 @@ uint16 Eproj_FuncE722(uint16 k) { // 0x86E722 void Eproj_FuncE73E_MoveXY(uint16 k) { // 0x86E73E int v1 = k >> 1; if (((g_word_7E97DC[v1] + 64) & 0x80) != 0) { - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], -IPAIR32(enemy_projectile_x_vel[v1], enemy_projectile_E[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], -IPAIR32(eproj_x_vel[v1], eproj_E[v1])); } else { - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], __PAIR32__(enemy_projectile_x_vel[v1], enemy_projectile_E[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], __PAIR32__(eproj_x_vel[v1], eproj_E[v1])); } if (((g_word_7E97DC[v1] + 128) & 0x80) != 0) { - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], -IPAIR32(enemy_projectile_y_vel[v1], enemy_projectile_F[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], -IPAIR32(eproj_y_vel[v1], eproj_F[v1])); } else { - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], __PAIR32__(enemy_projectile_y_vel[v1], enemy_projectile_F[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], __PAIR32__(eproj_y_vel[v1], eproj_F[v1])); } } void Eproj_AngleToSamus(uint16 j, uint16 r18, uint16 r20) { // 0x86E7AB int v1 = j >> 1; - enemy_projectile_x_pos[v1] = r18; - enemy_projectile_y_pos[v1] = r20; - uint16 v2 = (uint8)(64 - CalculateAngleFromXY(samus_x_pos - enemy_projectile_x_pos[v1], samus_y_pos - enemy_projectile_y_pos[v1])); + eproj_x_pos[v1] = r18; + eproj_y_pos[v1] = r20; + uint16 v2 = (uint8)(64 - CalculateAngleFromXY(samus_x_pos - eproj_x_pos[v1], samus_y_pos - eproj_y_pos[v1])); g_word_7E97DC[v1] = v2; - Point32 pt = ConvertAngleToXy(v2, enemy_projectile_init_param_1); - enemy_projectile_x_vel[v1] = pt.x >> 16; - enemy_projectile_E[v1] = pt.x; - enemy_projectile_y_vel[v1] = pt.y >> 16; - enemy_projectile_F[v1] = pt.y; + Point32 pt = ConvertAngleToXy(v2, eproj_init_param_1); + eproj_x_vel[v1] = pt.x >> 16; + eproj_E[v1] = pt.x; + eproj_y_vel[v1] = pt.y >> 16; + eproj_F[v1] = pt.y; } static void EprojInit_BotwoonsBody(uint16 j) { // 0x86EA31 int v1 = j >> 1; - enemy_projectile_x_pos[v1] = enemy_data[0].x_pos; - enemy_projectile_y_pos[v1] = enemy_data[0].y_pos; - enemy_projectile_y_vel[v1] = 0; + eproj_x_pos[v1] = enemy_data[0].x_pos; + eproj_y_pos[v1] = enemy_data[0].y_pos; + eproj_y_vel[v1] = 0; uint16 v2 = enemy_data[0].ai_var_A ? 16 : 48; uint16 v3 = kEprojInit_BotwoonsBody_InstrLists[v2 >> 1]; - enemy_projectile_instr_list_ptr[v1] = v3; - enemy_projectile_F[v1] = v3; - enemy_projectile_E[v1] = v2; - enemy_projectile_x_vel[v1] = FUNC16(Eproj_BotwoonsBody_Main); + eproj_instr_list_ptr[v1] = v3; + eproj_F[v1] = v3; + eproj_E[v1] = v2; + eproj_x_vel[v1] = FUNC16(Eproj_BotwoonsBody_Main); ExtraEnemyRam7800 *Ex = gExtraEnemyRam7800(enemy_data[0].ai_var_A); Ex->kraid.kraid_next = j; - enemy_projectile_flags[v1] = 2; + eproj_flags[v1] = 2; Ex->kraid.kraid_healths_4ths[0] = 1; } @@ -4457,72 +4457,72 @@ void CallBotwoonEprojFunc(uint32 ea, uint16 k) { void EprojPreInstr_BotwoonsBody(uint16 k) { // 0x86EA80 if (*(uint16 *)&extra_enemy_ram8000[0].pad[32]) { int v1 = k >> 1; - if (enemy_projectile_x_vel[v1] == FUNC16(Eproj_BotwoonsBody_Main)) - enemy_projectile_x_vel[v1] = FUNC16(Eproj_BotwonsBodyFunction_Dying); + if (eproj_x_vel[v1] == FUNC16(Eproj_BotwoonsBody_Main)) + eproj_x_vel[v1] = FUNC16(Eproj_BotwonsBodyFunction_Dying); } - CallBotwoonEprojFunc(enemy_projectile_x_vel[k >> 1] | 0x860000, k); + CallBotwoonEprojFunc(eproj_x_vel[k >> 1] | 0x860000, k); } void Eproj_BotwoonsBody_Main(uint16 k) { // 0x86EA98 int v1 = k >> 1; - uint16 v2 = kEprojInit_BotwoonsBody_InstrLists[enemy_projectile_E[v1] >> 1]; - if (v2 != enemy_projectile_F[v1]) { - enemy_projectile_instr_list_ptr[v1] = v2; - enemy_projectile_F[v1] = v2; - enemy_projectile_instr_timers[v1] = 1; + uint16 v2 = kEprojInit_BotwoonsBody_InstrLists[eproj_E[v1] >> 1]; + if (v2 != eproj_F[v1]) { + eproj_instr_list_ptr[v1] = v2; + eproj_F[v1] = v2; + eproj_instr_timers[v1] = 1; } Eproj_BotwoonsBodyHurtFlashHandling1(k); } void Eproj_BotwoonsBodyHurtFlashHandling1(uint16 k) { // 0x86EAB4 int v1 = k >> 1; - enemy_projectile_gfx_idx[v1] |= 0xE00; + eproj_gfx_idx[v1] |= 0xE00; if (enemy_data[0].flash_timer) { if ((random_enemy_counter & 2) != 0) - enemy_projectile_gfx_idx[v1] &= 0xF1FF; + eproj_gfx_idx[v1] &= 0xF1FF; } } void Eproj_BotwoonsBodyHurtFlashHandling2(uint16 j) { // 0x86EAD4 int v1 = j >> 1; - enemy_projectile_gfx_idx[v1] |= 0xE00; + eproj_gfx_idx[v1] |= 0xE00; if (enemy_data[0].flash_timer) { if ((random_enemy_counter & 2) != 0) - enemy_projectile_gfx_idx[v1] &= 0xF1FF; + eproj_gfx_idx[v1] &= 0xF1FF; } } void Eproj_BotwonsBodyFunction_Dying(uint16 v0) { // 0x86EAF4 int v1 = v0 >> 1; - enemy_projectile_E[v1] = 4 * v0 + 96; - enemy_projectile_x_vel[v1] = 0xEB04; + eproj_E[v1] = 4 * v0 + 96; + eproj_x_vel[v1] = 0xEB04; Eproj_BotwonsBodyFunction_Dying2(v0); } void Eproj_BotwonsBodyFunction_Dying2(uint16 v0) { // 0x86EB04 int v1 = v0 >> 1; - if (!sign16(++enemy_projectile_E[v1] - 256)) - enemy_projectile_x_vel[v1] = FUNC16(Eproj_BotwonsBodyFunction_DyingFalling); - enemy_projectile_instr_timers[v1] = 0; + if (!sign16(++eproj_E[v1] - 256)) + eproj_x_vel[v1] = FUNC16(Eproj_BotwonsBodyFunction_DyingFalling); + eproj_instr_timers[v1] = 0; Eproj_BotwoonsBodyHurtFlashHandling1(v0); } void Eproj_BotwonsBodyFunction_DyingFalling(uint16 v0) { // 0x86EB1F int v1 = v0 >> 1; - int v3 = (8 * ((enemy_projectile_y_vel[v1] & 0xFF00) >> 8)) >> 1; - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], kCommonEnemySpeeds_Quadratic32[v3 >> 1]); + int v3 = (8 * ((eproj_y_vel[v1] & 0xFF00) >> 8)) >> 1; + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], kCommonEnemySpeeds_Quadratic32[v3 >> 1]); - if (sign16(enemy_projectile_y_pos[v1] - 200)) { + if (sign16(eproj_y_pos[v1] - 200)) { int v7 = v0 >> 1; - enemy_projectile_y_vel[v7] += 192; - enemy_projectile_instr_timers[v7] = 0; + eproj_y_vel[v7] += 192; + eproj_instr_timers[v7] = 0; Eproj_BotwoonsBodyHurtFlashHandling2(v0); } else { - enemy_projectile_y_pos[v1] = 200; - enemy_projectile_x_vel[v1] = FUNC16(nullsub_101); - enemy_projectile_instr_list_ptr[v1] = addr_word_86E208; - enemy_projectile_gfx_idx[v1] = 2560; - enemy_projectile_instr_timers[v1] = 1; + eproj_y_pos[v1] = 200; + eproj_x_vel[v1] = FUNC16(nullsub_101); + eproj_instr_list_ptr[v1] = addr_word_86E208; + eproj_gfx_idx[v1] = 2560; + eproj_instr_timers[v1] = 1; QueueSmallExplosionSfx(); if (v0 == 10) *(uint16 *)&extra_enemy_ram8800[0].pad[62] = 1; @@ -4536,15 +4536,15 @@ void QueueSmallExplosionSfx(void) { // 0x86EB94 static void EprojInit_BotwoonsSpit(uint16 j) { // 0x86EBC6 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_x_pos[v2] = v1->x_pos; - enemy_projectile_y_pos[v2] = v1->y_pos; - enemy_projectile_instr_list_ptr[v2] = addr_word_86EBAE; - g_word_7E97DC[v2] = enemy_projectile_init_param_3; - Point32 pt = ConvertAngleToXy(enemy_projectile_init_param_3, enemy_projectile_init_param_1); - enemy_projectile_x_vel[v2] = pt.x >> 16; - enemy_projectile_E[v2] = pt.x; - enemy_projectile_y_vel[v2] = pt.y >> 16; - enemy_projectile_F[v2] = pt.y; + eproj_x_pos[v2] = v1->x_pos; + eproj_y_pos[v2] = v1->y_pos; + eproj_instr_list_ptr[v2] = addr_word_86EBAE; + g_word_7E97DC[v2] = eproj_init_param_3; + Point32 pt = ConvertAngleToXy(eproj_init_param_3, eproj_init_param_1); + eproj_x_vel[v2] = pt.x >> 16; + eproj_E[v2] = pt.x; + eproj_y_vel[v2] = pt.y >> 16; + eproj_F[v2] = pt.y; } void EprojPreInstr_BotwoonsSpit(uint16 k) { // 0x86EC05 @@ -4554,41 +4554,41 @@ void EprojPreInstr_BotwoonsSpit(uint16 k) { // 0x86EC05 void sub_86EC0C(uint16 k) { // 0x86EC0C if (sub_86EC18(k)) - enemy_projectile_id[k >> 1] = 0; + eproj_id[k >> 1] = 0; } uint16 sub_86EC18(uint16 k) { // 0x86EC18 int v1 = k >> 1; - return (int16)(enemy_projectile_x_pos[v1] - layer1_x_pos) < 0 - || (int16)(layer1_x_pos + 256 - enemy_projectile_x_pos[v1]) < 0 - || (int16)(enemy_projectile_y_pos[v1] - layer1_y_pos) < 0 - || (int16)(layer1_y_pos + 256 - enemy_projectile_y_pos[v1]) < 0; + return (int16)(eproj_x_pos[v1] - layer1_x_pos) < 0 + || (int16)(layer1_x_pos + 256 - eproj_x_pos[v1]) < 0 + || (int16)(eproj_y_pos[v1] - layer1_y_pos) < 0 + || (int16)(layer1_y_pos + 256 - eproj_y_pos[v1]) < 0; } static void EprojInit_YappingMawsBody(uint16 j) { // 0x86EC62 EnemyData *v2 = gEnemyData(cur_enemy_index); int v3 = j >> 1; - enemy_projectile_x_pos[v3] = v2->x_pos; - enemy_projectile_y_pos[v3] = v2->y_pos; - enemy_projectile_instr_list_ptr[v3] = addr_word_86EC5C; + eproj_x_pos[v3] = v2->x_pos; + eproj_y_pos[v3] = v2->y_pos; + eproj_instr_list_ptr[v3] = addr_word_86EC5C; if (!v2->parameter_2) - enemy_projectile_instr_list_ptr[v3] = addr_word_86EC56; + eproj_instr_list_ptr[v3] = addr_word_86EC56; *(uint16 *)&extra_enemy_ram8800[0].pad[(uint16)(cur_enemy_index + 2 * *(uint16 *)&extra_enemy_ram8800[0].pad[cur_enemy_index + 8])] = j; } const uint8 *EprojInstr_ECE3(uint16 k, const uint8 *epjp) { // 0x86ECE3 int v2 = k >> 1; - uint16 x = enemy_projectile_x_pos[v2] + (NextRandom() & 0x3F) - 32; - uint16 y = enemy_projectile_y_pos[v2] + ((uint16)(random_number & 0x3F00) >> 8) - 32; + uint16 x = eproj_x_pos[v2] + (NextRandom() & 0x3F) - 32; + uint16 y = eproj_y_pos[v2] + ((uint16)(random_number & 0x3F00) >> 8) - 32; CreateSpriteAtPos(x, y, GET_WORD(epjp), 0); return epjp + 2; } const uint8 *EprojInstr_ED17(uint16 k, const uint8 *epjp) { // 0x86ED17 int v2 = k >> 1; - uint16 x = enemy_projectile_x_pos[v2] + (NextRandom() & 0x1F) - 16; - uint16 y = enemy_projectile_y_pos[v2] + ((uint16)(random_number & 0x1F00) >> 8) - 16; + uint16 x = eproj_x_pos[v2] + (NextRandom() & 0x1F) - 16; + uint16 y = eproj_y_pos[v2] + ((uint16)(random_number & 0x1F00) >> 8) - 16; CreateSpriteAtPos(x, y, GET_WORD(epjp), 0); return epjp + 2; } @@ -4613,49 +4613,49 @@ const uint8 *EprojInstr_EEAF(uint16 k, const uint8 *epjp) { // 0x86EEAF if (k != 0 && sign16(v2 - 6)) { uint16 v3 = 2 * v2; int v4 = k >> 1; - enemy_projectile_E[v4] = v3; - enemy_projectile_instr_list_ptr[v4] = off_86EF04[v3 >> 1]; - enemy_projectile_instr_timers[v4] = 1; - enemy_projectile_F[v4] = 400; - enemy_projectile_pre_instr[v4] = FUNC16(EprojPreInstr_Pickup); - enemy_projectile_properties[v4] &= ~0x4000; - return INSTRB_RETURN_ADDR(enemy_projectile_instr_list_ptr[v4]); + eproj_E[v4] = v3; + eproj_instr_list_ptr[v4] = off_86EF04[v3 >> 1]; + eproj_instr_timers[v4] = 1; + eproj_F[v4] = 400; + eproj_pre_instr[v4] = FUNC16(EprojPreInstr_Pickup); + eproj_properties[v4] &= ~0x4000; + return INSTRB_RETURN_ADDR(eproj_instr_list_ptr[v4]); } else { int v6 = k >> 1; - enemy_projectile_instr_timers[v6] = 1; - enemy_projectile_properties[v6] = 12288; - enemy_projectile_pre_instr[v6] = FUNC16(EprojPreInstr_Empty); - enemy_projectile_instr_list_ptr[v6] = 0xECA3; + eproj_instr_timers[v6] = 1; + eproj_properties[v6] = 12288; + eproj_pre_instr[v6] = FUNC16(EprojPreInstr_Empty); + eproj_instr_list_ptr[v6] = 0xECA3; return INSTRB_RETURN_ADDR(0xECA3); } } const uint8 *EprojInstr_HandleRespawningEnemy(uint16 k, const uint8 *epjp) { // 0x86EF10 - if ((int16)enemy_projectile_killed_enemy_index[k >> 1] <= -2) - RespawnEnemy(enemy_projectile_killed_enemy_index[k >> 1] & 0x7fff); + if ((int16)eproj_killed_enemy_index[k >> 1] <= -2) + RespawnEnemy(eproj_killed_enemy_index[k >> 1] & 0x7fff); return epjp; } static void EprojInit_F337(uint16 j) { // 0x86EF29 int v2 = j >> 1; - enemy_projectile_x_pos[v2] = eproj_spawn_pt.x; - enemy_projectile_y_pos[v2] = eproj_spawn_pt.y; - enemy_projectile_gfx_idx[v2] = 0; - enemy_projectile_enemy_header_ptr[v2] = eproj_spawn_varE24; // this is X?! + eproj_x_pos[v2] = eproj_spawn_pt.x; + eproj_y_pos[v2] = eproj_spawn_pt.y; + eproj_gfx_idx[v2] = 0; + eproj_enemy_header_ptr[v2] = eproj_spawn_varE24; // this is X?! uint16 v3 = RandomDropRoutine(j); if (v3 != 0 && sign16(v3 - 6)) { // bug, why does it compare x here. uint16 v4 = 2 * v3; - enemy_projectile_E[v2] = v4; - enemy_projectile_instr_list_ptr[v2] = off_86EF04[v4 >> 1]; - enemy_projectile_instr_timers[v2] = 1; - enemy_projectile_F[v2] = 400; - enemy_projectile_killed_enemy_index[j >> 1] = -1; + eproj_E[v2] = v4; + eproj_instr_list_ptr[v2] = off_86EF04[v4 >> 1]; + eproj_instr_timers[v2] = 1; + eproj_F[v2] = 400; + eproj_killed_enemy_index[j >> 1] = -1; } else { int v5 = j >> 1; - enemy_projectile_instr_list_ptr[v5] = addr_word_86ECA3; - enemy_projectile_instr_timers[v5] = 1; - enemy_projectile_properties[v5] = 12288; - enemy_projectile_pre_instr[v5] = FUNC16(EprojPreInstr_Empty); + eproj_instr_list_ptr[v5] = addr_word_86ECA3; + eproj_instr_timers[v5] = 1; + eproj_properties[v5] = 12288; + eproj_pre_instr[v5] = FUNC16(EprojPreInstr_Empty); } } @@ -4663,15 +4663,15 @@ static void EprojInit_F337(uint16 j) { // 0x86EF29 static void EprojInit_EnemyDeathExplosion(uint16 j) { // 0x86EF89 EnemyData *v1 = gEnemyData(cur_enemy_index); int v2 = j >> 1; - enemy_projectile_x_pos[v2] = v1->x_pos; - enemy_projectile_y_pos[v2] = v1->y_pos; - enemy_projectile_killed_enemy_index[v2] = cur_enemy_index; + eproj_x_pos[v2] = v1->x_pos; + eproj_y_pos[v2] = v1->y_pos; + eproj_killed_enemy_index[v2] = cur_enemy_index; if ((v1->properties & 0x4000) != 0) - enemy_projectile_killed_enemy_index[v2] = cur_enemy_index | 0x8000; - enemy_projectile_enemy_header_ptr[v2] = v1->enemy_ptr; - enemy_projectile_gfx_idx[v2] = 0; - enemy_projectile_instr_list_ptr[v2] = off_86EFD5[enemy_projectile_init_param_1]; - enemy_projectile_instr_timers[v2] = 1; + eproj_killed_enemy_index[v2] = cur_enemy_index | 0x8000; + eproj_enemy_header_ptr[v2] = v1->enemy_ptr; + eproj_gfx_idx[v2] = 0; + eproj_instr_list_ptr[v2] = off_86EFD5[eproj_init_param_1]; + eproj_instr_timers[v2] = 1; } static Func_V *const off_86F0AD[7] = { // 0x86EFE0 @@ -4686,44 +4686,44 @@ static Func_V *const off_86F0AD[7] = { // 0x86EFE0 void EprojPreInstr_Pickup(uint16 k) { int v1 = k >> 1; - if (!--enemy_projectile_F[v1]) + if (!--eproj_F[v1]) goto LABEL_7; if (CallSomeSamusCode(0xD)) { - if (sign16(enemy_projectile_F[v1] - 384)) { + if (sign16(eproj_F[v1] - 384)) { uint16 v2, v3; - v2 = abs16(enemy_projectile_x_pos[v1] - grapple_beam_end_x_pos); + v2 = abs16(eproj_x_pos[v1] - grapple_beam_end_x_pos); if (sign16(v2 - 16)) { - v3 = abs16(enemy_projectile_y_pos[v1] - grapple_beam_end_y_pos); + v3 = abs16(eproj_y_pos[v1] - grapple_beam_end_y_pos); if (sign16(v3 - 16)) { - off_86F0AD[enemy_projectile_E[v1] >> 1](); + off_86F0AD[eproj_E[v1] >> 1](); LABEL_7:; int v4 = k >> 1; - enemy_projectile_instr_list_ptr[v4] = addr_word_86ECA3; - enemy_projectile_instr_timers[v4] = 1; - enemy_projectile_properties[v4] = 12288; - enemy_projectile_pre_instr[v4] = FUNC16(EprojPreInstr_Empty); + eproj_instr_list_ptr[v4] = addr_word_86ECA3; + eproj_instr_timers[v4] = 1; + eproj_properties[v4] = 12288; + eproj_pre_instr[v4] = FUNC16(EprojPreInstr_Empty); return; } } } } int v5 = k >> 1; - uint16 varE20 = LOBYTE(enemy_projectile_radius[v5]); - uint16 varE22 = HIBYTE(enemy_projectile_radius[v5]); - uint16 v6 = abs16(samus_x_pos - enemy_projectile_x_pos[v5]); + uint16 varE20 = LOBYTE(eproj_radius[v5]); + uint16 varE22 = HIBYTE(eproj_radius[v5]); + uint16 v6 = abs16(samus_x_pos - eproj_x_pos[v5]); bool v7 = v6 < samus_x_radius; uint16 v8 = v6 - samus_x_radius; if (v7 || v8 < varE20) { - uint16 v9 = abs16(samus_y_pos - enemy_projectile_y_pos[v5]); + uint16 v9 = abs16(samus_y_pos - eproj_y_pos[v5]); v7 = v9 < samus_y_radius; uint16 v10 = v9 - samus_y_radius; if (v7 || v10 < varE22) { - off_86F0AD[enemy_projectile_E[v5] >> 1](); + off_86F0AD[eproj_E[v5] >> 1](); int v11 = k >> 1; - enemy_projectile_instr_list_ptr[v11] = addr_word_86ECA3; - enemy_projectile_instr_timers[v11] = 1; - enemy_projectile_properties[v11] = 12288; - enemy_projectile_pre_instr[v11] = FUNC16(EprojPreInstr_Empty); + eproj_instr_list_ptr[v11] = addr_word_86ECA3; + eproj_instr_timers[v11] = 1; + eproj_properties[v11] = 12288; + eproj_pre_instr[v11] = FUNC16(EprojPreInstr_Empty); } } } @@ -4761,8 +4761,8 @@ uint16 RandomDropRoutine(uint16 k) { // 0x86F106 uint16 r24; int v1 = k >> 1; - //varE2A = enemy_projectile_killed_enemy_index[v1] & 0x7FFF; - uint16 varE28 = enemy_projectile_enemy_header_ptr[v1]; + //varE2A = eproj_killed_enemy_index[v1] & 0x7FFF; + uint16 varE28 = eproj_enemy_header_ptr[v1]; if (varE28 == 0) goto LABEL_30; uint16 v2; @@ -4888,56 +4888,56 @@ void RespawnEnemy(uint16 v0) { // 0x86F264 static void EprojInit_Sparks(uint16 j) { // 0x86F391 static const uint16 word_86F3D4[14] = { 0xffff, 0xb800, 0xffff, 0xc000, 0xffff, 0xe000, 0xffff, 0xff00, 0, 0x100, 0, 0x2000, 0, 0x4000 }; int v2 = j >> 1; - enemy_projectile_instr_list_ptr[v2] = addr_kEnemyDef_F353; + eproj_instr_list_ptr[v2] = addr_kEnemyDef_F353; EnemyData *v3 = gEnemyData(cur_enemy_index); - enemy_projectile_x_pos[v2] = v3->x_pos; - enemy_projectile_x_subpos[v2] = v3->x_subpos; - enemy_projectile_y_pos[v2] = v3->y_pos + 8; - enemy_projectile_y_subpos[v2] = v3->y_subpos; - enemy_projectile_x_vel[v2] = 0; - enemy_projectile_y_vel[v2] = 0; + eproj_x_pos[v2] = v3->x_pos; + eproj_x_subpos[v2] = v3->x_subpos; + eproj_y_pos[v2] = v3->y_pos + 8; + eproj_y_subpos[v2] = v3->y_subpos; + eproj_x_vel[v2] = 0; + eproj_y_vel[v2] = 0; uint16 v4 = (NextRandom() & 0x1C) >> 1; - enemy_projectile_F[v2] = g_word_86F3D4[v4 + 0]; - enemy_projectile_E[v2] = g_word_86F3D4[v4 + 1]; + eproj_F[v2] = g_word_86F3D4[v4 + 0]; + eproj_E[v2] = g_word_86F3D4[v4 + 1]; } void EprojPreInstr_Sparks(uint16 k) { // 0x86F3F0 int v1 = k >> 1; - if ((enemy_projectile_y_vel[v1] & 0x8000) == 0) { - if (EnemyProjectileBlockCollisition_Vertical(k) & 1) { - enemy_projectile_instr_list_ptr[v1] = 0xF363; - enemy_projectile_instr_timers[v1] = 1; + if ((eproj_y_vel[v1] & 0x8000) == 0) { + if (EprojBlockCollisition_Vertical(k) & 1) { + eproj_instr_list_ptr[v1] = 0xF363; + eproj_instr_timers[v1] = 1; - enemy_projectile_F[v1] = enemy_projectile_F[v1] * 2 + (enemy_projectile_E[v1] >> 15); - enemy_projectile_E[v1] *= 2; + eproj_F[v1] = eproj_F[v1] * 2 + (eproj_E[v1] >> 15); + eproj_E[v1] *= 2; - enemy_projectile_F[v1] = enemy_projectile_F[v1] * 2 + (enemy_projectile_E[v1] >> 15); - enemy_projectile_E[v1] *= 2; + eproj_F[v1] = eproj_F[v1] * 2 + (eproj_E[v1] >> 15); + eproj_E[v1] *= 2; - enemy_projectile_x_vel[v1] = 0x8000; - enemy_projectile_y_vel[v1] = -1; - enemy_projectile_y_pos[v1] -= 2; + eproj_x_vel[v1] = 0x8000; + eproj_y_vel[v1] = -1; + eproj_y_pos[v1] -= 2; return; } - uint16 v2 = enemy_projectile_x_vel[v1]; - enemy_projectile_x_vel[v1] = v2 + 0x4000; - uint16 v3 = __CFADD__uint16(v2, 0x4000) + enemy_projectile_y_vel[v1]; + uint16 v2 = eproj_x_vel[v1]; + eproj_x_vel[v1] = v2 + 0x4000; + uint16 v3 = __CFADD__uint16(v2, 0x4000) + eproj_y_vel[v1]; if (v3 < 4) - enemy_projectile_y_vel[v1] = v3; + eproj_y_vel[v1] = v3; } - AddToHiLo(&enemy_projectile_y_pos[v1], &enemy_projectile_y_subpos[v1], __PAIR32__(enemy_projectile_y_vel[v1], enemy_projectile_x_vel[v1])); - AddToHiLo(&enemy_projectile_x_pos[v1], &enemy_projectile_x_subpos[v1], __PAIR32__(enemy_projectile_F[v1], enemy_projectile_E[v1])); + AddToHiLo(&eproj_y_pos[v1], &eproj_y_subpos[v1], __PAIR32__(eproj_y_vel[v1], eproj_x_vel[v1])); + AddToHiLo(&eproj_x_pos[v1], &eproj_x_subpos[v1], __PAIR32__(eproj_F[v1], eproj_E[v1])); if ((nmi_frame_counter_byte & 3) == 0) - CreateSpriteAtPos(enemy_projectile_x_pos[v1], enemy_projectile_y_pos[v1], 48, enemy_projectile_gfx_idx[v1]); + CreateSpriteAtPos(eproj_x_pos[v1], eproj_y_pos[v1], 48, eproj_gfx_idx[v1]); } -static void CallEnemyProjectileInit(uint32 ea, uint16 j) { +static void CallEprojInit(uint32 ea, uint16 j) { switch (ea) { - case fnEnemyProj_Init_0x8aaf: EnemyProj_Init_0x8aaf(j); return; - case fnEnemyProj_Init_0x8bc2_SkreeDownRight: EnemyProj_Init_0x8bc2_SkreeDownRight(j); return; - case fnEnemyProj_Init_0x8bd0_SkreeUpRight: EnemyProj_Init_0x8bd0_SkreeUpRight(j); return; - case fnEnemyProj_Init_0x8bde_SkreeDownLeft: EnemyProj_Init_0x8bde_SkreeDownLeft(j); return; - case fnEnemyProj_Init_0x8bec_SkreeUpLeft: EnemyProj_Init_0x8bec_SkreeUpLeft(j); return; + case fnEproj_Init_0x8aaf: Eproj_Init_0x8aaf(j); return; + case fnEproj_Init_0x8bc2_SkreeDownRight: Eproj_Init_0x8bc2_SkreeDownRight(j); return; + case fnEproj_Init_0x8bd0_SkreeUpRight: Eproj_Init_0x8bd0_SkreeUpRight(j); return; + case fnEproj_Init_0x8bde_SkreeDownLeft: Eproj_Init_0x8bde_SkreeDownLeft(j); return; + case fnEproj_Init_0x8bec_SkreeUpLeft: Eproj_Init_0x8bec_SkreeUpLeft(j); return; case fnEprojInit_DraygonsGunk: EprojInit_DraygonsGunk(j); return; case fnEprojInit_DraygonsWallTurretProjs: EprojInit_DraygonsWallTurretProjs(j); return; case fnEprojInit_CrocomireProjectile: EprojInit_CrocomireProjectile(j); return; @@ -5056,8 +5056,8 @@ static void CallEprojPreInstr(uint32 ea, uint16 k) { case fnnullsub_352: return; case fnEprojPreInstr_nullsub_297: return; case fnEprojPreInstr_nullsub_83: return; - case fnEnemyProj_PreInit_0x8aaf: EnemyProj_PreInit_0x8aaf(k); return; - case fnEnemyProj_PreInstr_SkreeParticle: EnemyProj_PreInstr_SkreeParticle(k); return; + case fnEproj_PreInit_0x8aaf: Eproj_PreInit_0x8aaf(k); return; + case fnEproj_PreInstr_SkreeParticle: Eproj_PreInstr_SkreeParticle(k); return; case fnnullsub_84: return; case fnEprojPreInstr_8DCA: EprojPreInstr_8DCA(k); return; case fnEprojPreInstr_DraygonsTurret_8DFF: EprojPreInstr_DraygonsTurret_8DFF(k); return; diff --git a/src/sm_87.c b/src/sm_87.c index 9c2f087..ddff71b 100644 --- a/src/sm_87.c +++ b/src/sm_87.c @@ -220,13 +220,13 @@ uint16 AnimtilesInstr_GotoIfBossBitSetInArea(uint16 k, uint16 j) { // 0x878303 uint16 AnimtilesInstr_SpawnTourianStatueEyeGlow(uint16 k, uint16 j) { // 0x878320 const uint16 *v2 = (const uint16 *)RomPtr_87(j); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueEyeGlow, *v2); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueEyeGlow, *v2); return j + 2; } uint16 AnimtilesInstr_SpawnTourianStatueSoul(uint16 k, uint16 j) { // 0x87832F const uint16 *v2 = (const uint16 *)RomPtr_87(j); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueSoul, *v2); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueSoul, *v2); return j + 2; } diff --git a/src/sm_88.c b/src/sm_88.c index 33305e1..f81b1bb 100644 --- a/src/sm_88.c +++ b/src/sm_88.c @@ -2361,10 +2361,10 @@ void HdmaobjPreInstr_DC23(uint16 k) { // 0x88DC23 earthquake_timer |= 0x20; int v1 = (uint8)v0 >> 1; if ((--hdma_object_C[v1] & 0x8000) != 0) { - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueDustClouds, 0); // ? - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueDustClouds, 0); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueDustClouds, 0); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueDustClouds, 0); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueDustClouds, 0); // ? + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueDustClouds, 0); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueDustClouds, 0); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueDustClouds, 0); hdma_object_instruction_timers[v1] = 1; hdma_object_instruction_list_pointers[v1] += 2; } @@ -3153,7 +3153,7 @@ void SpawnIntroCutsceneCrossfadeHdma(void) { // 0x88EBF0 } void HdmaobjPreInstr_IntroCutsceneCrossfade(uint16 k) { // 0x88EC1D - if (enemy_projectile_x_pos[0] == 1) { + if (eproj_x_pos[0] == 1) { int v1 = hdma_object_index >> 1; hdma_object_instruction_list_pointers[v1] += 2; hdma_object_instruction_timers[v1] = 1; diff --git a/src/sm_8b.c b/src/sm_8b.c index 65f0396..59dec23 100644 --- a/src/sm_8b.c +++ b/src/sm_8b.c @@ -1438,9 +1438,9 @@ void SpawnTextGlowObject(uint16 j, uint16 r18) { // 0x8B97F7 } *(uint16 *)((uint8 *)&cinematic_var21 + v1) = j; int v2 = v1 >> 1; - enemy_projectile_pre_instr[v2 + 2] = 1; - enemy_projectile_pre_instr[v2 + 10] = (uint8)r18; - *(uint16 *)((uint8 *)enemy_projectile_x_subpos + v1) = HIBYTE(r18); + eproj_pre_instr[v2 + 2] = 1; + eproj_pre_instr[v2 + 10] = (uint8)r18; + *(uint16 *)((uint8 *)eproj_x_subpos + v1) = HIBYTE(r18); *(uint16 *)((uint8 *)&cinematic_var20 + v1) = 0; } @@ -1457,10 +1457,10 @@ void HandleTextGlowObjects(void) { // 0x8B9828 void ProcessTextGlowObject(void) { // 0x8B9849 uint16 v0 = cinematic_var19; int v1 = cinematic_var19 >> 1; - if (enemy_projectile_pre_instr[v1 + 2]-- == 1) { + if (eproj_pre_instr[v1 + 2]-- == 1) { uint16 R28 = *(uint16 *)((uint8 *)&cinematic_var20 + v0); uint16 v3 = *(uint16 *)((uint8 *)&cinematic_var21 + v0); - uint16 r22 = 2 * LOBYTE(enemy_projectile_pre_instr[v1 + 10]) + Mult8x8(*((uint8 *)enemy_projectile_x_subpos + v0), 0x40); + uint16 r22 = 2 * LOBYTE(eproj_pre_instr[v1 + 10]) + Mult8x8(*((uint8 *)eproj_x_subpos + v0), 0x40); uint16 v4 = r22; const uint8 *v5 = RomPtr_8C(v3); int n = v5[2]; @@ -1484,7 +1484,7 @@ void ProcessTextGlowObject(void) { // 0x8B9849 *(uint16 *)((uint8 *)&cinematic_var21 + cinematic_var19) = 0; } else { *(uint16 *)((uint8 *)&cinematic_var20 + cinematic_var19) += 1024; - enemy_projectile_pre_instr[(v6 >> 1) + 2] = 5; + eproj_pre_instr[(v6 >> 1) + 2] = 5; } } } @@ -1506,7 +1506,7 @@ void CinematicFunction_Intro_Func128(uint16 a) { // 0x8B98F9 cinematic_var23 = 0; cinematic_var24 = 0; cinematicbg_var3 = 18432; - enemy_projectile_pre_instr[0] = 0; + eproj_pre_instr[0] = 0; cinematic_var7 = 0; cinematic_var8 = 0; cinematic_var9 = 0; @@ -1535,8 +1535,8 @@ void CreditsObject_ProcessOne(void) { // 0x8B996A CallCreditsObjectFunc(cinematic_var24 | 0x8B0000, 0); AddToHiLo(&cinematic_var10, &cinematic_var9, 0x8000); - if (!sign16(cinematic_var10 - enemy_projectile_pre_instr[0] - 8)) { - enemy_projectile_pre_instr[0] = cinematic_var10; + if (!sign16(cinematic_var10 - eproj_pre_instr[0] - 8)) { + eproj_pre_instr[0] = cinematic_var10; for (i = cinematic_var21; ; ) { const uint16 *v2 = (const uint16 *)RomPtr_8C(i); uint16 v3 = *v2; @@ -4381,7 +4381,7 @@ void CinematicFunctionEscapeFromCebes(void) { // 0x8BD480 ClearPaletteFXObjects(); EnablePaletteFx(); EnableNMI(); - enemy_projectile_pre_instr[1] = 0; + eproj_pre_instr[1] = 0; reg_TM = 17; reg_TS = 1; reg_CGWSEL = 2; @@ -5321,7 +5321,7 @@ void CinematicFunction_Intro_Func149(void) { // 0x8BE812 int16 v20; int16 v22; - if (enemy_projectile_pre_instr[1]) { + if (eproj_pre_instr[1]) { int n = 40; uint16 v0 = 0xe0c; do { @@ -5986,7 +5986,7 @@ uint16 CinematicFunction_Intro_Func219(uint16 k, uint16 j) { // 0x8BF6FE screen_fade_counter = 0; cinematic_var9 = 0; cinematic_var10 = 0; - enemy_projectile_pre_instr[1] = 1; + eproj_pre_instr[1] = 1; cinematic_function = FUNC16(CinematicFunction_Intro_Func129); cinematic_var4 = 60; return j; diff --git a/src/sm_8f.c b/src/sm_8f.c index ff8d94c..a1f621e 100644 --- a/src/sm_8f.c +++ b/src/sm_8f.c @@ -382,7 +382,7 @@ void RoomCode_ScrollRightDachora(void) { // 0x8FC1E6 } void RoomCode_8FC8C8(void) { // 0x8FC8C8 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_PrePhantomRoom, 0); + SpawnEprojWithRoomGfx(addr_kEproj_PrePhantomRoom, 0); } void RoomCode_SetupShaktoolRoomPlm(void) { // 0x8FC8D3 @@ -637,7 +637,7 @@ void RoomCode_SpawnCeresFallingDebris(void) { room_main_asm_variables[0] = 8; room_main_asm_variables[1] = 0; uint16 v0 = (random_number & 0x8000) ? addr_stru_869742 : addr_stru_869734; - SpawnEnemyProjectileWithRoomGfx(v0, kRoomCode_SpawnCeresFallingDebris_Tab[random_number & 0xF]); + SpawnEprojWithRoomGfx(v0, kRoomCode_SpawnCeresFallingDebris_Tab[random_number & 0xF]); } } diff --git a/src/sm_90.c b/src/sm_90.c index 2d192d0..896a50d 100644 --- a/src/sm_90.c +++ b/src/sm_90.c @@ -6023,7 +6023,7 @@ void Samus_FrameHandlerBeta_Func17(void) { // 0x90E725 void HandleDemoRecorder_1(void) { // 0x90E786 if ((joypad2_new_keys & 0x8000) == 0) { if (!debug_flag && (joypad2_new_keys & 0x80) != 0) { - DisableEnemyProjectiles(); + DisableEprojs(); time_is_frozen_flag = 1; frame_handler_alfa = FUNC16(EmptyFunction); frame_handler_beta = FUNC16(HandleDemoRecorder_3); @@ -6041,7 +6041,7 @@ void HandleDemoRecorder_3(void) { // 0x90E7D2 if ((joypad2_new_keys & 0x80) != 0) { frame_handler_alfa = FUNC16(Samus_FrameHandlerAlfa_Func11); frame_handler_beta = FUNC16(Samus_FrameHandlerBeta_Func17); - EnableEnemyProjectiles(); + EnableEprojs(); time_is_frozen_flag = 0; } } @@ -6775,8 +6775,8 @@ uint8 SamusCode_08_SetupForCeresStart(void) { // 0x90F1E9 *(uint16 *)&samus_prev_pose_x_dir = *(uint16 *)&samus_pose_x_dir; *(uint16 *)&samus_last_different_pose_x_dir = *(uint16 *)&samus_pose_x_dir; samus_y_pos = 0; - SpawnEnemyProjectileWithGfx(0, 0, addr_kEproj_CeresElevatorPad); - SpawnEnemyProjectileWithGfx(0, 0, addr_kEproj_CeresElevatorPlatform); + SpawnEprojWithGfx(0, 0, addr_kEproj_CeresElevatorPad); + SpawnEprojWithGfx(0, 0, addr_kEproj_CeresElevatorPlatform); debug_disable_minimap = 0; PlayRoomMusicTrackAfterAFrames(0x20); return 1; diff --git a/src/sm_91.c b/src/sm_91.c index f265907..65b03c9 100644 --- a/src/sm_91.c +++ b/src/sm_91.c @@ -451,7 +451,7 @@ void DemoPreInstr_864F(void) { // 0x91864F } void DemoPreInstr_866A(void) { // 0x91866A - if (!enemy_projectile_x_pos[0]) { + if (!eproj_x_pos[0]) { demo_input_pre_instr = FUNC16(DemoPreInstr_nullsub_162); demo_input_instr_ptr = addr_off_91864B; demo_input_instr_timer = 1; @@ -1950,7 +1950,7 @@ uint8 Xray_Initialize(void) { // 0x91E16D samus_special_transgfx_index = 5; for (int i = 510; i >= 0; i -= 2) hdma_table_1[i >> 1] = 255; - DisableEnemyProjectiles(); + DisableEprojs(); DisablePLMs(); DisableAnimtiles(); DisablePaletteFx(); @@ -1996,7 +1996,7 @@ void ResponsibleForXrayStandupGlitch(void) { // 0x91E2AD samus_y_pos -= r18; samus_prev_y_pos = samus_y_pos; } - EnableEnemyProjectiles(); + EnableEprojs(); EnablePLMs(); EnableAnimtiles(); EnablePaletteFx(); diff --git a/src/sm_a0.c b/src/sm_a0.c index f07e62b..0b561e5 100644 --- a/src/sm_a0.c +++ b/src/sm_a0.c @@ -286,12 +286,12 @@ void CallEnemyGfxDrawHook(uint32 ea) { void DrawSamusEnemiesAndProjectiles(void) { // 0xA0884D DrawSpriteObjects(); DrawBombAndProjectileExplosions(); - DrawLowPriorityEnemyProjectiles(); + DrawLowPriorityEprojs(); for (uint16 phase_varE32 = 0; phase_varE32 != 8; ++phase_varE32) { if (phase_varE32 == 3) { DrawSamusAndProjectiles(); } else if (phase_varE32 == 6) { - DrawHighPriorityEnemyProjectiles(); + DrawHighPriorityEprojs(); } if (enemy_drawing_queue_sizes[phase_varE32]) { uint16 varE36 = enemy_drawing_queue_sizes[phase_varE32]; @@ -373,9 +373,9 @@ void InitializeEnemies(void) { // 0xA08A9E num_enemies_killed_in_room = 0; flag_process_all_enemies = 0; for (int i = 286; i >= 0; i -= 2) - enemy_projectile_flags[i >> 1] = 0; + eproj_flags[i >> 1] = 0; for (int j = 34; j >= 0; j -= 2) - enemy_projectile_killed_enemy_index[j >> 1] = -1; + eproj_killed_enemy_index[j >> 1] = -1; uint16 v4 = room_enemy_population_ptr; if (get_EnemyPopulation(0xa1, room_enemy_population_ptr)->enemy_ptr == 0xFFFF) return; @@ -1814,7 +1814,7 @@ void DecrementSamusTimers(void) { // 0xA09169 void SpawnEnemyDrops(uint16 a, uint16 k, uint16 varE20) { // 0xA0920E eproj_spawn_varE24 = a; - SpawnEnemyProjectileWithGfx(varE20, k, addr_kEproj_Pickup); + SpawnEprojWithGfx(varE20, k, addr_kEproj_Pickup); } void DeleteEnemyAndConnectedEnemies(void) { // 0xA0922B @@ -2006,11 +2006,11 @@ void QueueEnemyBG2TilemapTransfers(void) { // 0xA09726 void EnemyCollisionHandler(void) { // 0xA09758 if ((gEnemyData(cur_enemy_index)->extra_properties & 4) != 0) { - EnemyProjectileCollHandler_Multibox(); + EprojCollHandler_Multibox(); EnemyBombCollHandler_Multibox(); EnemySamusCollHandler_Multibox(); } else { - EnemyProjectileCollHandler(); + EprojCollHandler(); EnemyBombCollHandler(); EnemySamusCollHandler(); } @@ -2047,7 +2047,7 @@ void SamusProjectileInteractionHandler(void) { // 0xA09785 samus_knockback_timer = 5; assert(0); uint16 v0 = 0; - knockback_x_dir = (int16)(samus_x_pos - enemy_projectile_x_pos[v0 >> 1]) >= 0; + knockback_x_dir = (int16)(samus_x_pos - eproj_x_pos[v0 >> 1]) >= 0; return; } if (projectile_variables[pidx] == 8) { @@ -2063,11 +2063,11 @@ void EprojSamusCollDetect(void) { // 0xA09894 if (samus_invincibility_timer || samus_contact_damage_index) return; for(int i = 17; i >= 0; i--) { - if (enemy_projectile_id[i] && (enemy_projectile_properties[i] & 0x2000) == 0 && enemy_projectile_radius[i]) { - uint16 varE20 = LOBYTE(enemy_projectile_radius[i]); - uint16 varE22 = HIBYTE(enemy_projectile_radius[i]); - if (abs16(samus_x_pos - enemy_projectile_x_pos[i]) - samus_x_radius < varE20 && - abs16(samus_y_pos - enemy_projectile_y_pos[i]) - samus_y_radius < varE22) { + if (eproj_id[i] && (eproj_properties[i] & 0x2000) == 0 && eproj_radius[i]) { + uint16 varE20 = LOBYTE(eproj_radius[i]); + uint16 varE22 = HIBYTE(eproj_radius[i]); + if (abs16(samus_x_pos - eproj_x_pos[i]) - samus_x_radius < varE20 && + abs16(samus_y_pos - eproj_y_pos[i]) - samus_y_radius < varE22) { collision_detection_index = i * 2; HandleEprojCollWithSamus(i * 2); } @@ -2078,17 +2078,17 @@ void EprojSamusCollDetect(void) { // 0xA09894 void HandleEprojCollWithSamus(uint16 k) { // 0xA09923 samus_invincibility_timer = 96; samus_knockback_timer = 5; - uint16 v1 = *((uint16 *)RomPtr_86(*(uint16 *)((uint8 *)enemy_projectile_id + k)) + 5); + uint16 v1 = *((uint16 *)RomPtr_86(*(uint16 *)((uint8 *)eproj_id + k)) + 5); if (v1) { int v2 = k >> 1; - enemy_projectile_instr_list_ptr[v2] = v1; - enemy_projectile_instr_timers[v2] = 1; + eproj_instr_list_ptr[v2] = v1; + eproj_instr_timers[v2] = 1; } int v3 = k >> 1; - if ((enemy_projectile_properties[v3] & 0x4000) == 0) - *(uint16 *)((uint8 *)enemy_projectile_id + k) = 0; - Samus_DealDamage(SuitDamageDivision(enemy_projectile_properties[v3] & 0xFFF)); - knockback_x_dir = (int16)(samus_x_pos - enemy_projectile_x_pos[v3]) >= 0; + if ((eproj_properties[v3] & 0x4000) == 0) + *(uint16 *)((uint8 *)eproj_id + k) = 0; + Samus_DealDamage(SuitDamageDivision(eproj_properties[v3] & 0xFFF)); + knockback_x_dir = (int16)(samus_x_pos - eproj_x_pos[v3]) >= 0; } void EprojProjCollDet(void) { // 0xA0996C @@ -2096,15 +2096,15 @@ void EprojProjCollDet(void) { // 0xA0996C if (!projectile_counter) return; for(int i = 17; i >= 0; i--) { - if (!enemy_projectile_id[i] || (enemy_projectile_properties[i] & 0x8000) == 0) + if (!eproj_id[i] || (eproj_properties[i] & 0x8000) == 0) continue; for(int j = 0; j < 5; j++) { - if (enemy_projectile_flags[i] == 2) + if (eproj_flags[i] == 2) break; uint16 v4 = projectile_type[j]; if (v4 && (v4 & 0xF00) != 768 && (v4 & 0xF00) != 1280 && sign16((v4 & 0xF00) - 1792)) { - if ((enemy_projectile_x_pos[i] & 0xFFE0) == (projectile_x_pos[j] & 0xFFE0) && - (enemy_projectile_y_pos[i] & 0xFFE0) == (projectile_y_pos[j] & 0xFFE0)) { + if ((eproj_x_pos[i] & 0xFFE0) == (projectile_x_pos[j] & 0xFFE0) && + (eproj_y_pos[i] & 0xFFE0) == (projectile_y_pos[j] & 0xFFE0)) { HandleEprojCollWithProj(i * 2, j * 2); } } @@ -2116,17 +2116,17 @@ void HandleEprojCollWithProj(uint16 k, uint16 j) { // 0xA099F9 int i = j >> 1; if ((projectile_type[i] & 8) == 0) projectile_dir[i] |= 0x10; - if (enemy_projectile_flags[k >> 1] == 1) { + if (eproj_flags[k >> 1] == 1) { int v4 = k >> 1; CreateSpriteAtPos(projectile_x_pos[v4], projectile_y_pos[v4], 6, 0); QueueSfx1_Max6(0x3D); } else { int j = k >> 1; - enemy_projectile_G[j] = projectile_type[i]; - enemy_projectile_instr_list_ptr[j] = get_EnemyProjectileDef(enemy_projectile_id[j])->shot_instruction_list; - enemy_projectile_instr_timers[j] = 1; - enemy_projectile_pre_instr[j] = FUNC16(EprojPreInstr_nullsub_83); - enemy_projectile_properties[j] &= 0xFFF; + eproj_G[j] = projectile_type[i]; + eproj_instr_list_ptr[j] = get_EprojDef(eproj_id[j])->shot_instruction_list; + eproj_instr_timers[j] = 1; + eproj_pre_instr[j] = FUNC16(EprojPreInstr_nullsub_83); + eproj_properties[j] &= 0xFFF; } } @@ -2230,7 +2230,7 @@ void EnemySamusCollHandler_Multibox(void) { // 0xA09A5A } while (--n); } -void EnemyProjectileCollHandler_Multibox(void) { // 0xA09B7F +void EprojCollHandler_Multibox(void) { // 0xA09B7F EnemyData *E = gEnemyData(cur_enemy_index); enemy_processing_stage = 3; if (!projectile_counter || !E->spritemap_pointer || E->spritemap_pointer == addr_kExtendedSpritemap_Nothing_A0) @@ -2445,7 +2445,7 @@ void EnemySamusCollHandler(void) { // 0xA0A07A } } -void EnemyProjectileCollHandler(void) { // 0xA0A143 +void EprojCollHandler(void) { // 0xA0A143 EnemyData *E = gEnemyData(cur_enemy_index); enemy_processing_stage = 7; if (!projectile_counter) @@ -2522,7 +2522,7 @@ void EnemyDeathAnimation(uint16 k, uint16 a) { // 0xA0A3AF if (!sign16(a - 5)) a = 0; // varE20 = a; - SpawnEnemyProjectileWithGfx(a, cur_enemy_index, addr_kEproj_EnemyDeathExplosion); + SpawnEprojWithGfx(a, cur_enemy_index, addr_kEproj_EnemyDeathExplosion); uint16 r18 = E->properties & 0x4000; memset(E, 0, 64); if (r18) { @@ -2537,7 +2537,7 @@ void RinkasDeathAnimation(uint16 a) { // 0xA0A410 if (!sign16(a - 3)) a = 0; // varE20 = a; - SpawnEnemyProjectileWithGfx(a, cur_enemy_index, addr_kEproj_EnemyDeathExplosion); + SpawnEprojWithGfx(a, cur_enemy_index, addr_kEproj_EnemyDeathExplosion); uint16 r18 = E->properties & 0x4000; memset(E, 0, 64); if (r18) { @@ -3310,7 +3310,7 @@ uint8 EnemyFunc_BF8A(uint16 k, uint16 a, int32 amt) { // 0xA0BF8A uint16 CalculateAngleOfSamusFromEproj(uint16 k) { // 0xA0C04E int j = k >> 1; - return CalculateAngleFromXY(samus_x_pos - enemy_projectile_x_pos[j], samus_y_pos - enemy_projectile_y_pos[j]); + return CalculateAngleFromXY(samus_x_pos - eproj_x_pos[j], samus_y_pos - eproj_y_pos[j]); } uint16 CalculateAngleOfSamusFromEnemy(uint16 k) { // 0xA0C066 diff --git a/src/sm_a2.c b/src/sm_a2.c index 0adf217..3a51484 100644 --- a/src/sm_a2.c +++ b/src/sm_a2.c @@ -219,7 +219,7 @@ const uint16 *BouncingGoofball_Instr_88C6(uint16 k, const uint16 *jp) { // 0xA2 } const uint16 *MiniCrocomire_Instr_897E(uint16 k, const uint16 *jp) { // 0xA2897E - SpawnEnemyProjectileWithGfx(*jp, cur_enemy_index, addr_Eproj_DBF2); + SpawnEprojWithGfx(*jp, cur_enemy_index, addr_Eproj_DBF2); return jp + 1; } @@ -1189,7 +1189,7 @@ const uint16 *SpikeShootingPlant_Instr_A095(uint16 k, const uint16 *jp) { // 0x } const uint16 *SpikeShootingPlant_Instr_A0A7(uint16 k, const uint16 *jp) { // 0xA2A0A7 - SpawnEnemyProjectileWithGfx(*jp, cur_enemy_index, addr_kEproj_SpikeShootingPlantSpikes); + SpawnEprojWithGfx(*jp, cur_enemy_index, addr_kEproj_SpikeShootingPlantSpikes); return jp + 1; } @@ -1686,12 +1686,12 @@ void GunshipTop_18(uint16 k) { // 0xA2AC1B E1->gtp_var_E = v7; if (sign16(v7 - 128)) { if (v7 == 64) { - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A379, 0); - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A379, 2); - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A379, 4); - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A379, 6); - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A379, 8); - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A379, 0xA); + SpawnEprojWithRoomGfx(addr_stru_86A379, 0); + SpawnEprojWithRoomGfx(addr_stru_86A379, 2); + SpawnEprojWithRoomGfx(addr_stru_86A379, 4); + SpawnEprojWithRoomGfx(addr_stru_86A379, 6); + SpawnEprojWithRoomGfx(addr_stru_86A379, 8); + SpawnEprojWithRoomGfx(addr_stru_86A379, 0xA); } } else { E0->gtp_var_F = FUNC16(GunshipTop_19); @@ -1912,9 +1912,9 @@ void LavaquakeRocks_1(void) { // 0xA2B596 } void LavaquakeRocks_2(void) { // 0xA2B5B2 - enemy_projectile_unk1995 = g_word_A2B550[(NextRandom() & 0x1E) >> 1]; + eproj_unk1995 = g_word_A2B550[(NextRandom() & 0x1E) >> 1]; int v1 = (NextRandom() & 0x1E) >> 1; - SpawnEnemyProjectileWithGfx(g_word_A2B530[v1], cur_enemy_index, addr_stru_86BD5A); + SpawnEprojWithGfx(g_word_A2B530[v1], cur_enemy_index, addr_stru_86BD5A); Enemy_LavaquakeRocks *E = Get_LavaquakeRocks(cur_enemy_index); E->lrs_var_A = FUNC16(LavaquakeRocks_3); E->lrs_var_B = g_word_A2B520[(uint16)(NextRandom() & 0xE) >> 1]; @@ -2206,7 +2206,7 @@ void Rinka_B960(uint16 k) { // 0xA2B960 if (E->rinka_parameter_1) { E->base.properties |= kEnemyProps_Tangible | kEnemyProps_Invisible; eproj_spawn_pt = (Point16U){ E->base.x_pos, E->base.y_pos }; - SpawnEnemyProjectileWithRoomGfx(0xE509, 3); + SpawnEprojWithRoomGfx(0xE509, 3); E->rinka_var_A = FUNC16(Rinka_4); E->rinka_var_F = 1; } else { @@ -3377,7 +3377,7 @@ void LavaSeahorse_Func_3(uint16 k) { // 0xA2E6F1 if (E->lse_var_02) { E->lse_var_02 = 0; E->lse_var_01 = -1; - SpawnEnemyProjectileWithGfx(0xFFFF, k, addr_kEproj_LavaSeahorseFireball); + SpawnEprojWithGfx(0xFFFF, k, addr_kEproj_LavaSeahorseFireball); QueueSfx2_Max6(0x61); if (E->lse_var_D-- == 1) { E->lse_var_00 -= 4; diff --git a/src/sm_a3.c b/src/sm_a3.c index 23f8a92..6100bc2 100644 --- a/src/sm_a3.c +++ b/src/sm_a3.c @@ -235,10 +235,10 @@ void Metalee_Func_5(void) { // 0xA38A5C } else { if (E->metalee_var_A == 8) { uint16 v2 = cur_enemy_index; - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868BFA); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868C08); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868C16); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868C24); + SpawnEprojWithGfx(0, v2, addr_stru_868BFA); + SpawnEprojWithGfx(0, v2, addr_stru_868C08); + SpawnEprojWithGfx(0, v2, addr_stru_868C16); + SpawnEprojWithGfx(0, v2, addr_stru_868C24); } ++E->base.y_pos; } @@ -264,10 +264,10 @@ void Metalee_Shot(void) { // 0xA38B0F E->base.vram_tiles_index = varE2A; E->base.palette_index = varE2C; uint16 v2 = cur_enemy_index; - SpawnEnemyProjectileWithGfx(E->metalee_var_A, cur_enemy_index, addr_stru_868BFA); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868C08); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868C16); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868C24); + SpawnEprojWithGfx(E->metalee_var_A, cur_enemy_index, addr_stru_868BFA); + SpawnEprojWithGfx(0, v2, addr_stru_868C08); + SpawnEprojWithGfx(0, v2, addr_stru_868C16); + SpawnEprojWithGfx(0, v2, addr_stru_868C24); E->base.vram_tiles_index = 0; E->base.palette_index = 0; } @@ -1919,10 +1919,10 @@ void Skree_Func_4(void) { // 0xA3C77F } else { if (E->skree_var_A == 8) { uint16 v2 = cur_enemy_index; - SpawnEnemyProjectileWithGfx(8, cur_enemy_index, addr_stru_868BC2); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868BD0); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868BDE); - SpawnEnemyProjectileWithGfx(0, v2, addr_stru_868BEC); + SpawnEprojWithGfx(8, cur_enemy_index, addr_stru_868BC2); + SpawnEprojWithGfx(0, v2, addr_stru_868BD0); + SpawnEprojWithGfx(0, v2, addr_stru_868BDE); + SpawnEprojWithGfx(0, v2, addr_stru_868BEC); } ++E->base.y_pos; } @@ -1944,10 +1944,10 @@ void Skree_Shot(void) { // 0xA3C7F5 Enemy_Skree *E = Get_Skree(cur_enemy_index); if (!E->base.health) { uint16 v1 = cur_enemy_index; - SpawnEnemyProjectileWithGfx(E->skree_var_A, cur_enemy_index, addr_stru_868BC2); - SpawnEnemyProjectileWithGfx(0, v1, addr_stru_868BD0); - SpawnEnemyProjectileWithGfx(0, v1, addr_stru_868BDE); - SpawnEnemyProjectileWithGfx(0, v1, addr_stru_868BEC); + SpawnEprojWithGfx(E->skree_var_A, cur_enemy_index, addr_stru_868BC2); + SpawnEprojWithGfx(0, v1, addr_stru_868BD0); + SpawnEprojWithGfx(0, v1, addr_stru_868BDE); + SpawnEprojWithGfx(0, v1, addr_stru_868BEC); uint16 v5 = 2; if ((projectile_type[collision_detection_index] & 0xF00) != 512) v5 = 0; diff --git a/src/sm_a4.c b/src/sm_a4.c index b89a5e1..b908283 100644 --- a/src/sm_a4.c +++ b/src/sm_a4.c @@ -130,7 +130,7 @@ const uint16 *Crocomire_Func_7(uint16 k, const uint16 *jp) { // 0xA4876C uint16 crocom_var_F = E->crocom_var_F; if (sign16(crocom_var_F - 18)) { E->crocom_var_F += 2; - SpawnEnemyProjectileWithGfx(crocom_var_F, cur_enemy_index, addr_stru_868F8F); + SpawnEprojWithGfx(crocom_var_F, cur_enemy_index, addr_stru_868F8F); QueueSfx3_Max6(0x1C); } else { jp = INSTR_RETURN_ADDR(addr_kCrocomire_Ilist_BBCA); @@ -585,7 +585,7 @@ void Crocomire_Func_37(void) { // 0xA48D5E if (!kraid_unk9000) { kraid_unk9000 = 1; eproj_spawn_pt = (Point16U){ 1536, 176 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); } } else if (sign16(E0->base.x_pos - 1552)) { g_word_7E9002 = 0; @@ -596,7 +596,7 @@ void Crocomire_Func_37(void) { // 0xA48D5E g_word_7E9002 = 1; SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x61, 0x0b, 0xb74b }); eproj_spawn_pt = (Point16U){ 1568, 176 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); } } else { uint16 x_pos = E0->base.x_pos; @@ -609,7 +609,7 @@ void Crocomire_Func_37(void) { // 0xA48D5E SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x62, 0x0b, 0xb74b }); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x63, 0x0b, 0xb74b }); eproj_spawn_pt = (Point16U){ 1584, 176 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); } } else if ((int16)(x_pos - g_word_A486A4) >= 0) { Crocomire_8EE5(); @@ -660,19 +660,19 @@ void Crocomire_8EE5(void) { // 0xA48EE5 SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x69, 0x0b, 0xb74f }); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x6a, 0x0b, 0xb74f }); eproj_spawn_pt = (Point16U){ 1536, 176 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); eproj_spawn_pt = (Point16U){ 1552, 192 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); eproj_spawn_pt = (Point16U){ 1568, 176 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); eproj_spawn_pt = (Point16U){ 1584, 192 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); eproj_spawn_pt = (Point16U){ 1600, 192 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); eproj_spawn_pt = (Point16U){ 1616, 192 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); eproj_spawn_pt = (Point16U){ 1632, 192 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); } const uint16 *Crocomire_Instr_2(uint16 k, const uint16 *jp) { // 0xA48FC7 @@ -796,7 +796,7 @@ void Crocomire_Func_52(void) { // 0xA49136 if (sign16(*(uint16 *)((uint8 *)&g_word_7E9015 + 1) - 22)) { uint16 v1 = *(uint16 *)((uint8 *)&g_word_7E9015 + 1); *(uint16 *)((uint8 *)&g_word_7E9015 + 1) += 2; - SpawnEnemyProjectileWithGfx(g_word_A49156[v0 >> 1], v1, addr_stru_868F9D); + SpawnEprojWithGfx(g_word_A49156[v0 >> 1], v1, addr_stru_868F9D); } Crocomire_Func_54(); } @@ -1355,11 +1355,11 @@ void Crocomire_Func_71(void) { // 0xA4990A E->base.palette_index = 0; for (int i = 30; i >= 0; i -= 2) palette_buffer[(i >> 1) + 144] = g_word_A4B8FD[i >> 1]; - ClearEnemyProjectiles(); + ClearEprojs(); uint16 v8 = 8; int n = 8; do { - SpawnEnemyProjectileWithGfx(v8, cur_enemy_index, addr_kEproj_CrocomireSpikeWallPieces); + SpawnEprojWithGfx(v8, cur_enemy_index, addr_kEproj_CrocomireSpikeWallPieces); } while (--n); QueueSfx2_Max6(0x30); Crocomire_9BB3(); @@ -1456,7 +1456,7 @@ const uint16 *Crocomire_Instr_27(uint16 k, const uint16 *jp) { // 0xA49AD7 const uint16 *Crocomire_Func_87(const uint16 *jp, uint16 a) { // 0xA49ADA Enemy_Crocomire *E = Get_Crocomire(0); eproj_spawn_pt = (Point16U){ a + E->base.x_pos + (random_number & 7), E->base.y_height + E->base.y_pos - 16 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x15); return jp; } @@ -1536,7 +1536,7 @@ void Crocomire_Func_94(void) { // 0xA4B968 int v0 = collision_detection_index; eproj_spawn_pt = (Point16U){ projectile_x_pos[v0], projectile_y_pos[v0] }; uint16 v1 = ((projectile_type[v0] & 0x200) == 0) ? 6 : 29; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, v1); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, v1); } void Crocomire_Powerbomb(void) { // 0xA4B992 @@ -1625,7 +1625,7 @@ void Crocomire_Func_1(void) { // 0xA4BAB4 int v0 = collision_detection_index; eproj_spawn_pt = (Point16U){ projectile_x_pos[v0], projectile_y_pos[v0] }; uint16 v1 = ((projectile_type[v0] & 0x200) == 0) ? 6 : 29; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, v1); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, v1); } void CrocomireTongue_Init(void) { // 0xA4F67A diff --git a/src/sm_a5.c b/src/sm_a5.c index d26ea3f..550321e 100644 --- a/src/sm_a5.c +++ b/src/sm_a5.c @@ -182,7 +182,7 @@ void Draygon_Func_3(void) { // 0xA587AA if (!Get_Draygon(result)->draygon_var_40) { int v2 = (uint16)(4 * ((Random & 3) + 2)) >> 1; eproj_spawn_pt = (Point16U){ g_word_A587DC[v2], g_word_A587DC[v2 + 1] }; - SpawnEnemyProjectileWithGfx(3, result, addr_stru_868E5E); + SpawnEprojWithGfx(3, result, addr_stru_868E5E); } } } @@ -1075,16 +1075,16 @@ const uint16 *Draygon_Instr_4(uint16 k, const uint16 *jp) { // 0xA59F6E const uint16 *Draygon_Instr_12(uint16 k, const uint16 *jp) { // 0xA59F7C Enemy_Draygon *E = Get_Draygon(0); eproj_spawn_pt = (Point16U){ E->base.x_pos - 28, E->base.y_pos - 16 }; - enemy_projectile_unk1995 = (NextRandom() & 0x3F) + 128; - SpawnEnemyProjectileWithGfx(2, cur_enemy_index, addr_stru_868E50); + eproj_unk1995 = (NextRandom() & 0x3F) + 128; + SpawnEprojWithGfx(2, cur_enemy_index, addr_stru_868E50); return jp; } const uint16 *Draygon_Instr_18(uint16 k, const uint16 *jp) { // 0xA59FAE Enemy_Draygon *E = Get_Draygon(0); eproj_spawn_pt = (Point16U){ E->base.x_pos + 24, E->base.y_pos - 16 }; - enemy_projectile_unk1995 = (NextRandom() & 0x3F) + 192; - SpawnEnemyProjectileWithGfx(2, cur_enemy_index, addr_stru_868E50); + eproj_unk1995 = (NextRandom() & 0x3F) + 192; + SpawnEprojWithGfx(2, cur_enemy_index, addr_stru_868E50); return jp; } @@ -1178,7 +1178,7 @@ void Draygon_Func_48(uint16 k) { // 0xA5C48D if ((Get_Draygon(k)->base.frame_counter & 0x7F) == 0) { Enemy_Draygon *E1 = Get_Draygon(0x40); eproj_spawn_pt = (Point16U){ E1->base.x_pos - 24, E1->base.y_pos - 32 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x18); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x18); } Enemy_Draygon *E0 = Get_Draygon(0); uint16 v4 = CalculateAngleFromXY(samus_x_pos - (E0->base.x_pos - 24), samus_y_pos - (E0->base.y_pos - 32)); @@ -1208,7 +1208,7 @@ void Draygon_Func_49(uint16 k) { // 0xA5C513 if ((Get_Draygon(k)->base.frame_counter & 0x7F) == 0) { eproj_spawn_pt = (Point16U){ E0->base.x_pos + 24, E0->base.y_pos - 32 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x18); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x18); } uint16 v4 = CalculateAngleFromXY(samus_x_pos - (E0->base.x_pos + 24), samus_y_pos - (E0->base.y_pos - 32)); @@ -1347,7 +1347,7 @@ const uint16 *Draygon_Instr_28(uint16 k, const uint16 *jp) { // 0xA5E96E uint16 r20 = ((uint16)(random_number & 0x7F00) >> 8) - 64; r20 += E->base.y_pos; eproj_spawn_pt = (Point16U){ r18, r20 }; - SpawnEnemyProjectileWithRoomGfx(0xE509, 0x15); + SpawnEprojWithRoomGfx(0xE509, 0x15); QueueSfx2_Max6(0x29); return jp; } @@ -1377,10 +1377,10 @@ void SporeSpawn_Init(void) { // 0xA5EA2A target_palettes[(i >> 1) + 240] = kSporeSpawn_Palette[v0 >> 1]; v0 += 2; } - SpawnEnemyProjectileWithGfx(0, cur_enemy_index, addr_kEproj_SporeSpawnsStalk); - SpawnEnemyProjectileWithGfx(1, cur_enemy_index, addr_kEproj_SporeSpawnsStalk); - SpawnEnemyProjectileWithGfx(2, cur_enemy_index, addr_kEproj_SporeSpawnsStalk); - SpawnEnemyProjectileWithGfx(3, cur_enemy_index, addr_kEproj_SporeSpawnsStalk); + SpawnEprojWithGfx(0, cur_enemy_index, addr_kEproj_SporeSpawnsStalk); + SpawnEprojWithGfx(1, cur_enemy_index, addr_kEproj_SporeSpawnsStalk); + SpawnEprojWithGfx(2, cur_enemy_index, addr_kEproj_SporeSpawnsStalk); + SpawnEprojWithGfx(3, cur_enemy_index, addr_kEproj_SporeSpawnsStalk); Enemy_SporeSpawn *E = Get_SporeSpawn(cur_enemy_index); Enemy_SporeSpawn *E0 = Get_SporeSpawn(0); E->ssn_var_04 = E->base.x_pos; @@ -1402,10 +1402,10 @@ void SporeSpawn_Init(void) { // 0xA5EA2A E->ssn_var_A = FUNC16(nullsub_223); scrolling_finished_hook = FUNC16(Samus_ScrollFinishedHook_SporeSpawnFight); E->base.y_pos -= 128; - SpawnEnemyProjectileWithGfx(0, v5, addr_kEproj_SporeSpawners); - SpawnEnemyProjectileWithGfx(1, v5, addr_kEproj_SporeSpawners); - SpawnEnemyProjectileWithGfx(2, v5, addr_kEproj_SporeSpawners); - SpawnEnemyProjectileWithGfx(3, v5, addr_kEproj_SporeSpawners); + SpawnEprojWithGfx(0, v5, addr_kEproj_SporeSpawners); + SpawnEprojWithGfx(1, v5, addr_kEproj_SporeSpawners); + SpawnEprojWithGfx(2, v5, addr_kEproj_SporeSpawners); + SpawnEprojWithGfx(3, v5, addr_kEproj_SporeSpawners); SporeSpawn_Func_5(); } } @@ -1483,47 +1483,47 @@ void SporeSpawn_Func_5(void) { // 0xA5EC49 if ((v1 & 0x8000) == 0) { r18 = v1 >> 1, r20 = v1 >> 2; r22 = (v1 >> 1) + (v1 >> 2); - enemy_projectile_x_pos[14] = 128; - enemy_projectile_x_pos[15] = E->ssn_var_04 + (v1 >> 2); - E->ssn_var_20 = enemy_projectile_x_pos[15]; - enemy_projectile_x_pos[16] = E->ssn_var_04 + r18; - E->ssn_var_21 = enemy_projectile_x_pos[16]; + eproj_x_pos[14] = 128; + eproj_x_pos[15] = E->ssn_var_04 + (v1 >> 2); + E->ssn_var_20 = eproj_x_pos[15]; + eproj_x_pos[16] = E->ssn_var_04 + r18; + E->ssn_var_21 = eproj_x_pos[16]; v2 = E->ssn_var_04 + r22; } else { r18 = (uint16)(E->ssn_var_04 - E->base.x_pos) >> 1; r20 = (uint16)-v1 >> 2; r22 = r18 + r20; - enemy_projectile_x_pos[14] = 128; - enemy_projectile_x_pos[15] = E->ssn_var_04 - r20; - E->ssn_var_20 = enemy_projectile_x_pos[15]; - enemy_projectile_x_pos[16] = E->ssn_var_04 - r18; - E->ssn_var_21 = enemy_projectile_x_pos[16]; + eproj_x_pos[14] = 128; + eproj_x_pos[15] = E->ssn_var_04 - r20; + E->ssn_var_20 = eproj_x_pos[15]; + eproj_x_pos[16] = E->ssn_var_04 - r18; + E->ssn_var_21 = eproj_x_pos[16]; v2 = E->ssn_var_04 - r22; } - enemy_projectile_x_pos[17] = v2; + eproj_x_pos[17] = v2; E->ssn_var_22 = v2; uint16 v3 = E->base.y_pos - 40 - E->ssn_var_05, v4; if ((v3 & 0x8000) == 0) { r18 = v3 >> 1, r20 = v3 >> 2; r22 = (v3 >> 1) + (v3 >> 2); - enemy_projectile_y_pos[14] = 560; - enemy_projectile_y_pos[15] = E->ssn_var_05 + (v3 >> 2); - E->ssn_var_23 = enemy_projectile_y_pos[15]; - enemy_projectile_y_pos[16] = E->ssn_var_05 + r18; - E->ssn_var_24 = enemy_projectile_y_pos[16]; + eproj_y_pos[14] = 560; + eproj_y_pos[15] = E->ssn_var_05 + (v3 >> 2); + E->ssn_var_23 = eproj_y_pos[15]; + eproj_y_pos[16] = E->ssn_var_05 + r18; + E->ssn_var_24 = eproj_y_pos[16]; v4 = E->ssn_var_05 + r22; } else { r18 = (uint16)(E->ssn_var_05 - (E->base.y_pos - 40)) >> 1; r20 = (uint16)-v3 >> 2; r22 = r18 + r20; - enemy_projectile_y_pos[14] = 560; - enemy_projectile_y_pos[15] = E->ssn_var_05 - r20; - E->ssn_var_23 = enemy_projectile_y_pos[15]; - enemy_projectile_y_pos[16] = E->ssn_var_05 - r18; - E->ssn_var_24 = enemy_projectile_y_pos[16]; + eproj_y_pos[14] = 560; + eproj_y_pos[15] = E->ssn_var_05 - r20; + E->ssn_var_23 = eproj_y_pos[15]; + eproj_y_pos[16] = E->ssn_var_05 - r18; + E->ssn_var_24 = eproj_y_pos[16]; v4 = E->ssn_var_05 - r22; } - enemy_projectile_y_pos[17] = v4; + eproj_y_pos[17] = v4; E->ssn_var_25 = v4; } @@ -1585,7 +1585,7 @@ void SporeSpawn_Func_6(void) { // 0xA5EDF3 E->base.ai_handler_bits = 0; E->base.properties |= kEnemyProps_Tangible; for (int i = 26; i >= 0; i -= 2) - *(uint16 *)((uint8 *)enemy_projectile_id + (uint16)i) = 0; + *(uint16 *)((uint8 *)eproj_id + (uint16)i) = 0; E0->base.current_instruction = addr_kDraygon_Ilist_E77D; E0->base.instruction_timer = 1; *(uint16 *)&boss_bits_for_area[area_index] |= 2; diff --git a/src/sm_a6.c b/src/sm_a6.c index cb81c81..8ab058a 100644 --- a/src/sm_a6.c +++ b/src/sm_a6.c @@ -270,7 +270,7 @@ void Boulder_Func_4(void) { // 0xA6888B if (E->boulder_var_E == 2) { E->base.properties |= kEnemyProps_Deleted; eproj_spawn_pt = (Point16U){ E->base.x_pos, E->base.y_pos }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x11); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x11); QueueSfx2_Max6(0x43); } else { E->boulder_var_A = FUNC16(Boulder_Func_3); @@ -308,7 +308,7 @@ void Boulder_Func_5(void) { // 0xA68942 E->boulder_var_A = FUNC16(Boulder_Func_6); QueueSfx2_Max6(0x42); eproj_spawn_pt = (Point16U){ E->base.x_pos, E->base.y_pos }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x11); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x11); QueueSfx2_Max6(0x43); } else { uint16 v5 = E->boulder_var_B + 64; @@ -733,7 +733,7 @@ void NuclearWaffle_Init(void) { // 0xA694C4 uint16 v8 = 8; E->nwe_var_2A = 8; do { - SpawnEnemyProjectileWithGfx(v8, cur_enemy_index, addr_kEproj_NuclearWaffleBody); + SpawnEprojWithGfx(v8, cur_enemy_index, addr_kEproj_NuclearWaffleBody); v8 = E->nwe_var_2A - 2; E->nwe_var_2A = v8; } while (v8); @@ -824,16 +824,16 @@ void NuclearWaffle_Func_3(uint16 varE32) { // 0xA69721 uint16 v13 = pair.j; if (pair.j != ET->nwe_var_08) { int v5 = nwe_var_00 >> 1; - CreateSpriteAtPos(enemy_projectile_x_pos[v5], enemy_projectile_y_pos[v5], 46, E->nwe_var_34); - CreateSpriteAtPos(enemy_projectile_x_pos[v5], enemy_projectile_y_pos[v5], pair.k + 44, E->nwe_var_34); + CreateSpriteAtPos(eproj_x_pos[v5], eproj_y_pos[v5], 46, E->nwe_var_34); + CreateSpriteAtPos(eproj_x_pos[v5], eproj_y_pos[v5], pair.k + 44, E->nwe_var_34); NuclearWaffle_Func_7(pair.j); } ET->nwe_var_08 = v13; uint16 v7 = NuclearWaffle_Func_5(R36, &r28); int v10 = nwe_var_00 >> 1; - enemy_projectile_x_pos[v10] = E->nwe_var_26 + CosineMult8bit(v7, varE32); + eproj_x_pos[v10] = E->nwe_var_26 + CosineMult8bit(v7, varE32); uint16 v11 = NuclearWaffle_Func_5(R36, &r28); - enemy_projectile_y_pos[v10] = E->nwe_var_27 + SineMult8bit(v11, varE32); + eproj_y_pos[v10] = E->nwe_var_27 + SineMult8bit(v11, varE32); v12 = E->nwe_var_2A - 2; E->nwe_var_2A = v12; } while (v12); @@ -967,7 +967,7 @@ void FakeKraid_Func_1(uint16 k, uint16 j) { // 0xA69ADC int16 fkd_var_C = E->fkd_var_C; if (fkd_var_C >= 0) v6 = addr_kEproj_MiniKraidSpikesRight; - SpawnEnemyProjectileWithGfx(0, k, v6); + SpawnEprojWithGfx(0, k, v6); if (!CheckIfEnemyIsOnScreen()) QueueSfx2_Max6(0x3F); } @@ -1030,11 +1030,11 @@ void FakeKraid_InstrHelper_45(uint16 k, uint16 j, uint16 a) { // 0xA69BCB E->fkd_var_00 = g_word_A69A48[v5]; uint16 v6 = g_word_A69A48[v5 + 1]; E->fkd_var_01 = v6; - SpawnEnemyProjectileWithGfx(v6, cur_enemy_index, addr_kEproj_MiniKraidSpit); + SpawnEprojWithGfx(v6, cur_enemy_index, addr_kEproj_MiniKraidSpit); E->fkd_var_00 = g_word_A69A48[v5 + 2]; uint16 v8 = g_word_A69A48[v5 + 3]; E->fkd_var_01 = v8; - SpawnEnemyProjectileWithGfx(v8, ka, addr_kEproj_MiniKraidSpit); + SpawnEprojWithGfx(v8, ka, addr_kEproj_MiniKraidSpit); } const uint16 *FakeKraid_Instr_5(uint16 k, const uint16 *jp) { // 0xA69C02 @@ -2058,7 +2058,7 @@ void Ridley_Func_21(void) { // 0xA6B70E E->ridley_var_C = v1; if (Ridley_Func_23() & 1) { eproj_spawn_pt = (Point16U) { tilemap_stuff[82], tilemap_stuff[83] + 12 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); QueueSfx2_Max6(0x76); earthquake_type = 13; earthquake_timer = 4; @@ -2925,7 +2925,7 @@ void Ridley_Func_69(void) { // 0xA6C623 E->ridley_var_28 = v2; int v3 = (uint16)(4 * v2) >> 1; eproj_spawn_pt = (Point16U){ E->base.x_pos + g_word_A6C66E[v3], E->base.y_pos + g_word_A6C66E[v3 + 1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); QueueSfx2_Max3(0x24); } else { E->ridley_var_27 = v1; @@ -4364,7 +4364,7 @@ void Ridley_Func_129(void) { // 0xA6E088 QueueSfx1_Max6(0x3D); v2 = 6; } - SpawnEnemyProjectileWithRoomGfx(0xE509, v2); + SpawnEprojWithRoomGfx(0xE509, v2); } } @@ -4447,7 +4447,7 @@ void Ridley_Func_131(uint16 k) { // 0xA6E828 void Ridley_Func_132(uint16 k, uint16 a) { // 0xA6E840 Get_Ridley(0)->ridley_parameter_1 = a; - SpawnEnemyProjectileWithGfx(a, k, addr_stru_869634); + SpawnEprojWithGfx(a, k, addr_stru_869634); } const uint16 *Ridley_Instr_11(uint16 k, const uint16 *jp) { // 0xA6E84D @@ -4496,9 +4496,9 @@ const uint16 *Ridley_Instr_13(uint16 k, const uint16 *jp) { // 0xA6E909 } const uint16 *Ridley_E90C(uint16 k, const uint16 *jp, uint16 a) { // 0xA6E90C - enemy_projectile_unk1995 = a; + eproj_unk1995 = a; Enemy_Ridley *E = Get_Ridley(0); - SpawnEnemyProjectileWithRoomGfx(0x9642, E->ridley_var_10); + SpawnEprojWithRoomGfx(0x9642, E->ridley_var_10); return jp; } @@ -4761,7 +4761,7 @@ void CeresDoor_Func_6(uint16 k) { // 0xA6F7DC uint16 v6 = 3; if (NextRandom() < 0x4000) v6 = 12; - SpawnEnemyProjectileWithRoomGfx(0xE509, v6); + SpawnEprojWithRoomGfx(0xE509, v6); QueueSfx2_Max6(0x25); } } diff --git a/src/sm_a7.c b/src/sm_a7.c index c81ad66..65b0721 100644 --- a/src/sm_a7.c +++ b/src/sm_a7.c @@ -394,7 +394,7 @@ void Kraid_GetsBig_BreakCeilingPlatforms(void) { // 0xA7AC4D if ((E->base.y_pos & 3) != 0 || (kraid_var_F = E->kraid_var_F, (int16)(kraid_var_F - 18) >= 0)) { } else { - SpawnEnemyProjectileWithGfx(g_word_A7ACB3[kraid_var_F >> 1], cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); + SpawnEprojWithGfx(g_word_A7ACB3[kraid_var_F >> 1], cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); switch (E->kraid_var_F >> 1) { case 0: SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x06, 0x12, 0xb7b3 }); @@ -726,7 +726,7 @@ void Kraid_SpawnExplosionEproj(uint16 k) { // 0xA7B0CB int v1 = k >> 1; eproj_spawn_pt = (Point16U){ projectile_x_pos[v1], projectile_y_pos[v1] }; uint16 v2 = ((projectile_type[v1] & 0x200) == 0) ? 6 : 29; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, v2); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, v2); QueueSfx1_Max6(0x3D); } @@ -1290,7 +1290,7 @@ void Kraid_Main_AttackWithMouthOpen(void) { // 0xA7BBEA } } else { if (*((uint16 *)RomPtr_A7(E->kraid_var_B - 8) + 1) == addr_kKraidTilemaps_3 && (E->kraid_var_C & 0xF) == 0) { - SpawnEnemyProjectileWithGfx(g_word_A7BC65[(random_number & 0xE) >> 1], random_number & 0xE, addr_kEproj_RocksKraidSpits); + SpawnEprojWithGfx(g_word_A7BC65[(random_number & 0xE) >> 1], random_number & 0xE, addr_kEproj_RocksKraidSpits); QueueSfx3_Max6(0x1E); } } @@ -1775,32 +1775,32 @@ void Kraid_Death_SinkThroughFloor(void) { // 0xA7C537 } void Kraid_CrumbleLeftPlatform_Left(void) { // 0xA7C691 - SpawnEnemyProjectileWithGfx(0x70, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); + SpawnEprojWithGfx(0x70, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x07, 0x12, 0xb7a7 }); } void Kraid_CrumbleRightPlatform_Middle(void) { // 0xA7C6A7 - SpawnEnemyProjectileWithGfx(0xF0, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); + SpawnEprojWithGfx(0xF0, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x0f, 0x12, 0xb7a7 }); } void Kraid_CrumbleRightPlatform_Left(void) { // 0xA7C6BD - SpawnEnemyProjectileWithGfx(0xE0, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); + SpawnEprojWithGfx(0xE0, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x0e, 0x12, 0xb7af }); } void Kraid_CrumbleLeftPlatform_Right(void) { // 0xA7C6D3 - SpawnEnemyProjectileWithGfx(0x90, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); + SpawnEprojWithGfx(0x90, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x09, 0x12, 0xb7a7 }); } void Kraid_CrumbleLeftPlatform_Middle(void) { // 0xA7C6E9 - SpawnEnemyProjectileWithGfx(0x80, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); + SpawnEprojWithGfx(0x80, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x08, 0x12, 0xb7af }); } void Kraid_CrumbleRightPlatform_Right(void) { // 0xA7C6FF - SpawnEnemyProjectileWithGfx(0x100, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); + SpawnEprojWithGfx(0x100, cur_enemy_index, addr_kEproj_RocksFallingKraidCeiling); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x10, 0x12, 0xb7af }); } @@ -2027,7 +2027,7 @@ void Kraid_SpawnRandomQuakeProjs(void) { // 0xA7C995 uint16 y = 448 - ((uint16)(random_number & 0x3F00) >> 8); CreateSpriteAtPos(x, y, 21, 0); uint16 v1 = ((random_number & 0x10) != 0) ? addr_kEproj_RocksWhenKraidRisesRight : addr_kEproj_RocksWhenKraidRisesLeft; - SpawnEnemyProjectileWithGfx(random_number & 0x3F0, cur_enemy_index, v1); + SpawnEprojWithGfx(random_number & 0x3F0, cur_enemy_index, v1); } void Kraid_RestrictSamusXtoFirstScreen_2(void) { // 0xA7C9EE @@ -2202,13 +2202,13 @@ uint8 Phantoon_Func_3(int32 amt) { // 0xA7CF27 } void Phantoon_Func_4(uint16 k) { // 0xA7CF5E - SpawnEnemyProjectileWithGfx(0, k, addr_kEproj_DestroyableFireballs); + SpawnEprojWithGfx(0, k, addr_kEproj_DestroyableFireballs); QueueSfx3_Max6(0x1D); } void Phantoon_Func_5(uint16 k) { // 0xA7CF70 for (int i = 7; i >= 0; --i) - SpawnEnemyProjectileWithGfx(i | 0x600, k, addr_kEproj_DestroyableFireballs); + SpawnEprojWithGfx(i | 0x600, k, addr_kEproj_DestroyableFireballs); QueueSfx3_Max6(0x28); } @@ -2221,7 +2221,7 @@ void Phantoon_Func_6(uint16 k, uint16 a) { // 0xA7CF8B int r20 = 16; do { v3 = v2; - SpawnEnemyProjectileWithGfx(r20 | v2++ | 0x400, k, addr_kEproj_DestroyableFireballs); + SpawnEprojWithGfx(r20 | v2++ | 0x400, k, addr_kEproj_DestroyableFireballs); if ((int16)(v3 - 8) >= 0) v2 = 0; r20 += 16; @@ -2524,7 +2524,7 @@ void Phantoon_Spawn8FireballsInCircleAtStart(uint16 k) { // 0xA7D4A9 bool v3 = (--EK->phant_var_E & 0x8000) != 0; if (v2 || v3) { Enemy_Phantoon *E0 = Get_Phantoon(0); - SpawnEnemyProjectileWithGfx(E0->phant_var_A, k, addr_kEproj_StartingFireballs); + SpawnEprojWithGfx(E0->phant_var_A, k, addr_kEproj_StartingFireballs); QueueSfx3_Max6(0x1D); EK->phant_var_E = 30; uint16 v5 = E0->phant_var_A + 1; @@ -2861,11 +2861,11 @@ void Phantoon_Enraged(uint16 k) { // 0xA7D8AC v5 = 15; do { v8 = v5; - SpawnEnemyProjectileWithGfx(v5-- | 0x200, k, addr_kEproj_DestroyableFireballs); + SpawnEprojWithGfx(v5-- | 0x200, k, addr_kEproj_DestroyableFireballs); } while ((int16)(v8 - 9) >= 0); } else { for (int i = 6; i >= 0; --i) - SpawnEnemyProjectileWithGfx(i | 0x200, k, addr_kEproj_DestroyableFireballs); + SpawnEprojWithGfx(i | 0x200, k, addr_kEproj_DestroyableFireballs); } QueueSfx3_Max6(0x29); Enemy_Phantoon *E1 = Get_Phantoon(0x40); @@ -2934,7 +2934,7 @@ void Phantoon_DyingPhantoonExplosions(uint16 k) { // 0xA7D98B Enemy_Phantoon *E0 = Get_Phantoon(0); eproj_spawn_pt = (Point16U){ (int8)g_byte_A7DA1D[v5] + E0->base.x_pos, (int8)g_byte_A7DA1D[v5 + 1] + E0->base.y_pos }; uint16 v11 = g_byte_A7DA1D[v5 + 2]; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, v11); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, v11); if (v11 == 29) QueueSfx2_Max6(0x24); else diff --git a/src/sm_a8.c b/src/sm_a8.c index 1d8cef7..044d980 100644 --- a/src/sm_a8.c +++ b/src/sm_a8.c @@ -487,26 +487,26 @@ const uint16 *Fune_Instr_2(uint16 k, const uint16 *jp) { // 0xA89625 } const uint16 *Fune_Instr_6(uint16 k, const uint16 *jp) { // 0xA89631 - enemy_projectile_unk1995 = LOBYTE(Get_Fune(cur_enemy_index)->fune_parameter_2); - SpawnEnemyProjectileWithGfx(0, cur_enemy_index, addr_stru_86DFBC); + eproj_unk1995 = LOBYTE(Get_Fune(cur_enemy_index)->fune_parameter_2); + SpawnEprojWithGfx(0, cur_enemy_index, addr_stru_86DFBC); return jp; } const uint16 *Fune_Instr_7(uint16 k, const uint16 *jp) { // 0xA8964A - enemy_projectile_unk1995 = LOBYTE(Get_Fune(cur_enemy_index)->fune_parameter_2); - SpawnEnemyProjectileWithGfx(1, cur_enemy_index, addr_stru_86DFBC); + eproj_unk1995 = LOBYTE(Get_Fune(cur_enemy_index)->fune_parameter_2); + SpawnEprojWithGfx(1, cur_enemy_index, addr_stru_86DFBC); return jp; } const uint16 *Fune_Instr_1(uint16 k, const uint16 *jp) { // 0xA89663 - enemy_projectile_unk1995 = LOBYTE(Get_Fune(cur_enemy_index)->fune_parameter_2); - SpawnEnemyProjectileWithGfx(0, cur_enemy_index, addr_stru_86DFCA); + eproj_unk1995 = LOBYTE(Get_Fune(cur_enemy_index)->fune_parameter_2); + SpawnEprojWithGfx(0, cur_enemy_index, addr_stru_86DFCA); return jp; } const uint16 *Fune_Instr_4(uint16 k, const uint16 *jp) { // 0xA8967C - enemy_projectile_unk1995 = LOBYTE(Get_Fune(cur_enemy_index)->fune_parameter_2); - SpawnEnemyProjectileWithGfx(1, cur_enemy_index, addr_stru_86DFCA); + eproj_unk1995 = LOBYTE(Get_Fune(cur_enemy_index)->fune_parameter_2); + SpawnEprojWithGfx(1, cur_enemy_index, addr_stru_86DFCA); return jp; } @@ -949,7 +949,7 @@ void YappingMaw_Init(void) { // 0xA8A148 v1 = 3; E->ymw_var_44 = 3; do { - SpawnEnemyProjectileWithGfx(v1, cur_enemy_index, addr_kEproj_YappingMawsBody); + SpawnEprojWithGfx(v1, cur_enemy_index, addr_kEproj_YappingMawsBody); v1 = E->ymw_var_44 - 1; E->ymw_var_44 = v1; } while (v1 >= 0); @@ -1163,29 +1163,29 @@ void YappingMaw_Func_11(void) { // 0xA8A68A void YappingMaw_Func_12(void) { // 0xA8A6C4 Enemy_YappingMaw *E = Get_YappingMaw(cur_enemy_index); int v1 = E->ymw_var_40 >> 1; - enemy_projectile_x_pos[v1] = E->ymw_var_0C; - enemy_projectile_y_pos[v1] = E->ymw_var_0D; + eproj_x_pos[v1] = E->ymw_var_0C; + eproj_y_pos[v1] = E->ymw_var_0D; } void YappingMaw_Func_13(void) { // 0xA8A6DB Enemy_YappingMaw *E = Get_YappingMaw(cur_enemy_index); int v1 = E->ymw_var_41 >> 1; - enemy_projectile_x_pos[v1] = E->ymw_var_00 + E->ymw_var_0C; - enemy_projectile_y_pos[v1] = E->ymw_var_01 + E->ymw_var_0D; + eproj_x_pos[v1] = E->ymw_var_00 + E->ymw_var_0C; + eproj_y_pos[v1] = E->ymw_var_01 + E->ymw_var_0D; } void YappingMaw_Func_14(void) { // 0xA8A6FC Enemy_YappingMaw *E = Get_YappingMaw(cur_enemy_index); int v1 = E->ymw_var_42 >> 1; - enemy_projectile_x_pos[v1] = E->ymw_var_02 + E->ymw_var_0C; - enemy_projectile_y_pos[v1] = E->ymw_var_03 + E->ymw_var_0D; + eproj_x_pos[v1] = E->ymw_var_02 + E->ymw_var_0C; + eproj_y_pos[v1] = E->ymw_var_03 + E->ymw_var_0D; } void YappingMaw_Func_15(void) { // 0xA8A71D Enemy_YappingMaw *E = Get_YappingMaw(cur_enemy_index); int v1 = E->ymw_var_43 >> 1; - enemy_projectile_x_pos[v1] = E->ymw_var_04 + E->ymw_var_0C; - enemy_projectile_y_pos[v1] = E->ymw_var_05 + E->ymw_var_0D; + eproj_x_pos[v1] = E->ymw_var_04 + E->ymw_var_0C; + eproj_y_pos[v1] = E->ymw_var_05 + E->ymw_var_0D; } uint16 YappingMaw_Func_16(uint16 a, uint16 varE32) { // 0xA8A73E @@ -1231,10 +1231,10 @@ void YappingMaw_Shot(void) { // 0xA8A7BD E->ymw_var_30 = 0; } } else { - *(uint16 *)((uint8 *)enemy_projectile_id + E->ymw_var_40) = 0; - *(uint16 *)((uint8 *)enemy_projectile_id + E->ymw_var_41) = 0; - *(uint16 *)((uint8 *)enemy_projectile_id + E->ymw_var_42) = 0; - *(uint16 *)((uint8 *)enemy_projectile_id + E->ymw_var_43) = 0; + *(uint16 *)((uint8 *)eproj_id + E->ymw_var_40) = 0; + *(uint16 *)((uint8 *)eproj_id + E->ymw_var_41) = 0; + *(uint16 *)((uint8 *)eproj_id + E->ymw_var_42) = 0; + *(uint16 *)((uint8 *)eproj_id + E->ymw_var_43) = 0; sprite_instr_list_ptrs[E->ymw_var_46 >> 1] = 0; if (samus_input_handler != FUNC16(Samus_InputHandler_E91D)) samus_input_handler = FUNC16(Samus_InputHandler_E913); @@ -1255,13 +1255,13 @@ void YappingMaw_Frozen(void) { // 0xA8A835 void YappingMaw_Func_18(uint16 j) { // 0xA8A85D int v1 = j >> 1; Enemy_YappingMaw *E = Get_YappingMaw(cur_enemy_index); - enemy_projectile_gfx_idx[v1] = E->ymw_var_45 | enemy_projectile_gfx_idx[v1] & 0xF1FF; + eproj_gfx_idx[v1] = E->ymw_var_45 | eproj_gfx_idx[v1] & 0xF1FF; if (E->base.frozen_timer) { - enemy_projectile_gfx_idx[v1] = enemy_projectile_gfx_idx[v1] & 0xF1FF | 0xC00; + eproj_gfx_idx[v1] = eproj_gfx_idx[v1] & 0xF1FF | 0xC00; uint16 frozen_timer = E->base.frozen_timer; if (sign16(frozen_timer - 90)) { if ((frozen_timer & 2) == 0) - enemy_projectile_gfx_idx[v1] = E->ymw_var_45 | enemy_projectile_gfx_idx[v1] & 0xF1FF; + eproj_gfx_idx[v1] = E->ymw_var_45 | eproj_gfx_idx[v1] & 0xF1FF; } } } @@ -1328,7 +1328,7 @@ void Kago_Shot(void) { // 0xA8AB83 EnemyDeathAnimation(cur_enemy_index, 4); E->kago_var_F = 1; } - SpawnEnemyProjectileWithGfx(E->base.y_pos, cur_enemy_index, addr_loc_A8D02E); + SpawnEprojWithGfx(E->base.y_pos, cur_enemy_index, addr_loc_A8D02E); } const uint16 *NorfairLavaMan_Instr_1(uint16 k, const uint16 *jp) { // 0xA8AE12 @@ -1412,7 +1412,7 @@ const uint16 *NorfairLavaMan_Instr_13(uint16 k, const uint16 *jp) { // 0xA8AE96 const uint16 *NorfairLavaMan_Instr_5(uint16 k, const uint16 *jp) { // 0xA8AEBA Enemy_NorfairLavaMan *E = Get_NorfairLavaMan(cur_enemy_index); - SpawnEnemyProjectileWithGfx(E->nlmn_var_B, cur_enemy_index, addr_kEproj_LavaThrownByLavaman); + SpawnEprojWithGfx(E->nlmn_var_B, cur_enemy_index, addr_kEproj_LavaThrownByLavaman); return jp; } @@ -2302,7 +2302,7 @@ void MaridiaFloater_Main(void) { // 0xA8C21C void MaridiaFloater_Func_1(uint16 k) { // 0xA8C223 for (int i = 7; i >= 0; --i) - SpawnEnemyProjectileWithGfx(i, k, addr_kEproj_MaridiaFloatersSpikes); + SpawnEprojWithGfx(i, k, addr_kEproj_MaridiaFloatersSpikes); } void MaridiaFloater_Func_2(uint16 k) { // 0xA8C234 @@ -2898,7 +2898,7 @@ const uint16 *WreckedShipRobot_CommonInstr(uint16 k, const uint16 *jp, uint16 r5 } else { uint16 v3 = (random_number & 0x1F) + 16; E->wsrt_var_B = v3; - SpawnEnemyProjectileWithGfx(v3, cur_enemy_index, r48); + SpawnEprojWithGfx(v3, cur_enemy_index, r48); return INSTR_RETURN_ADDR(r50); } return jp; @@ -2919,7 +2919,7 @@ const uint16 *WreckedShipRobot_D10C(uint16 k, const uint16 *jp, uint16 r50) { / } else { uint16 v3 = (random_number & 0x1F) + 16; E->wsrt_var_B = v3; - SpawnEnemyProjectileWithGfx(v3, cur_enemy_index, addr_kEproj_WreckedShipRobotLaserHorizontal); + SpawnEprojWithGfx(v3, cur_enemy_index, addr_kEproj_WreckedShipRobotLaserHorizontal); return INSTR_RETURN_ADDR(r50); } return jp; @@ -2942,7 +2942,7 @@ const uint16 *WreckedShipRobot_D147(uint16 k, const uint16 *jp, uint16 r48, uint } else { uint16 v3 = (random_number & 0x1F) + 16; E->wsrt_var_B = v3; - SpawnEnemyProjectileWithGfx(v3, cur_enemy_index, r48); + SpawnEprojWithGfx(v3, cur_enemy_index, r48); return INSTR_RETURN_ADDR(r50); } return jp; @@ -3315,7 +3315,7 @@ const uint16 *WalkingLavaSeahorse_Instr_4(uint16 k, const uint16 *jp) { // 0xA8 } void WalkingLavaSeahorse_DF20(uint16 a) { // 0xA8DF20 - SpawnEnemyProjectileWithGfx(a, cur_enemy_index, addr_loc_A89E90); + SpawnEprojWithGfx(a, cur_enemy_index, addr_loc_A89E90); QueueSfx2_Max6(0x3F); } @@ -3520,7 +3520,7 @@ void WreckedShipSpark_Func_3(uint16 k) { // 0xA8E6DC Enemy_WreckedShipSpark *E = Get_WreckedShipSpark(k); if (E->wssk_var_F == 1) { uint16 v2 = cur_enemy_index; - SpawnEnemyProjectileWithGfx(0, cur_enemy_index, addr_kEproj_Sparks); + SpawnEprojWithGfx(0, cur_enemy_index, addr_kEproj_Sparks); WreckedShipSpark_Func_4(v2, 0); } else { --E->wssk_var_F; @@ -3911,7 +3911,7 @@ const uint16 *KiHunter_Instr_5(uint16 k, const uint16 *jp) { // 0xA8F6D8 void sub_A8F6DC(uint16 k, uint16 j) { // 0xA8F6DC QueueSfx2_Max6(0x4C); - SpawnEnemyProjectileWithGfx(0, cur_enemy_index, j); + SpawnEprojWithGfx(0, cur_enemy_index, j); Get_KiHunter(cur_enemy_index)->khr_var_0F = 24; } diff --git a/src/sm_a9.c b/src/sm_a9.c index a644232..b45c686 100644 --- a/src/sm_a9.c +++ b/src/sm_a9.c @@ -289,7 +289,7 @@ void MotherBrainsBody_Init(void) { // 0xA98687 uint16 v3 = 0, v4; do { v4 = v3; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainRoomTurrets, v3); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainRoomTurrets, v3); v3 = v4 + 1; } while ((uint16)(v4 + 1) < 0xC); } @@ -474,7 +474,7 @@ void MotherBrain_HandleFakeDeathExplosions(void) { // 0xA988DD int v3 = (uint16)(4 * v2) >> 1; eproj_spawn_pt = (Point16U){ g_word_A98929[v3], g_word_A98929[v3 + 1] }; uint16 v4 = (random_number < 0x4000) ? 12 : 3; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, v4); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, v4); QueueSfx2_Max3(0x24); } else { E->mbn_var_38 = v1; @@ -487,7 +487,7 @@ void MotherBrainBody_0_Wait(void) { // 0xA98949 uint16 v0 = 0; v1 = 0; do { - if (!*(uint16 *)((uint8 *)enemy_projectile_id + v0)) + if (!*(uint16 *)((uint8 *)eproj_id + v0)) ++v1; v0 += 2; } while ((int16)(v0 - 36) < 0); @@ -508,7 +508,7 @@ void MotherBrainBody_2_SpawnTopRightTubeFalling(void) { // 0xA98983 Enemy_MotherBrainBody *E = Get_MotherBrainBody(0x40); if ((--E->mbby_var_F & 0x8000) != 0) { eproj_spawn_pt = (Point16U){ 152, 47 }; - SpawnEnemyProjectileWithRoomGfx(0xCC5B, 0x2F); + SpawnEprojWithRoomGfx(0xCC5B, 0x2F); E->mbby_var_E = -30304; } } @@ -524,7 +524,7 @@ void MotherBrainBody_4_SpawnTopLeftTubeFalling(void) { // 0xA989B5 Enemy_MotherBrainBody *E = Get_MotherBrainBody(0x40); if ((--E->mbby_var_F & 0x8000) != 0) { eproj_spawn_pt = (Point16U){ 104, 47 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainTubeFalling_TopLeft, 0x2F); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainTubeFalling_TopLeft, 0x2F); E->mbby_var_E = FUNC16(MotherBrainBody_4_ClearCeilingBlock6); } } @@ -570,7 +570,7 @@ void MotherBrainBody_9_SpawnTopMiddleLeftFalling(void) { // 0xA98A37 Enemy_MotherBrainBody *E = Get_MotherBrainBody(0x40); if ((--E->mbby_var_F & 0x8000) != 0) { eproj_spawn_pt = (Point16U){ 120, 59 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainTubeFalling_TopMiddleLeft, 0x3B); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainTubeFalling_TopMiddleLeft, 0x3B); E->mbby_var_E = FUNC16(MotherBrainBody_10_ClearCeilingTubeColumn7); } } @@ -586,7 +586,7 @@ void MotherBrainBody_11_SpawnTopMiddleRightFalling(void) { // 0xA98A69 Enemy_MotherBrainBody *E = Get_MotherBrainBody(0x40); if ((--E->mbby_var_F & 0x8000) != 0) { eproj_spawn_pt = (Point16U){ 136, 59 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainTubeFalling_TopMiddleRight, 0x3B); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainTubeFalling_TopMiddleRight, 0x3B); E->mbby_var_E = FUNC16(MotherBrainBody_12_ClearCeilingTubeColumn8); } } @@ -601,7 +601,7 @@ void MotherBrainBody_12_ClearCeilingTubeColumn8(void) { // 0xA98A86 void MotherBrainBody_13_SpawnTubeFallingEnemy3(void) { // 0xA98A9B Enemy_MotherBrainBody *E = Get_MotherBrainBody(0x40); if ((--E->mbby_var_F & 0x8000) != 0) { - SpawnEnemy(0xA9, FUNC16(EnemyProj_Init_0x8bde_SkreeDownLeft)); + SpawnEnemy(0xA9, FUNC16(Eproj_Init_0x8bde_SkreeDownLeft)); E->mbby_var_E = FUNC16(MotherBrainBody_14_ClearBottomMiddleRightTube); } } @@ -673,7 +673,7 @@ void MotherBrainsTubesFalling_Explode(uint16 k) { // 0xA98BA6 Enemy_MotherBrainsTubesFalling *E = Get_MotherBrainsTubesFalling(k); E->base.properties |= kEnemyProps_Deleted; eproj_spawn_pt = (Point16U){ E->base.x_pos, E->base.y_pos }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); QueueSfx2_Max3(0x24); } @@ -720,7 +720,7 @@ void MotherBrainsTubesFalling_SpawnSmoke(uint16 k) { // 0xA98C36 uint16 v2 = (E->mbtfg_var_E + 1) & 3; E->mbtfg_var_E = v2; eproj_spawn_pt = (Point16U){ E->base.x_pos + g_word_A98C61[v2], 208 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); } void MotherBrainBody_FakeDeath_Ascent_0_DrawBG1Row23(void) { // 0xA98C87 @@ -928,7 +928,7 @@ void MotherBrain_SpawnDustCloudsForAscent(void) { // 0xA98F46 if ((--E->mbn_var_F & 0x8000) != 0) E->mbn_var_F = 7; eproj_spawn_pt = (Point16U){ g_word_A98F7F[E->mbn_var_F], 212 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, g_byte_A98F7D[(uint16)(random_number & 0x100) >> 8]); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, g_byte_A98F7D[(uint16)(random_number & 0x100) >> 8]); QueueSfx2_Max3(0x29); } @@ -1182,7 +1182,7 @@ void MotherBrain_DrawNeck(void) { // 0xA99303 void MotherBrain_DrawBrain(void) { // 0xA99357 Enemy_MotherBrain *E = Get_MotherBrain(0x40); if (E->mbn_var_14 && !E->mbn_var_15 && (random_number & 0x8000) == 0) - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainPurpleBreathSmall, random_number); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainPurpleBreathSmall, random_number); int tt = MotherBrain_Func_1_DoubleRet(); if (tt < 0) return; @@ -1437,13 +1437,13 @@ const uint16 *MotherBrain_Instr_SetPose_LeaningDown(uint16 k, const uint16 *jp) const uint16 *MotherBrain_Instr_SpawnEprojToOffset(uint16 k, const uint16 *jp) { // 0xA99AC8 Enemy_MotherBrain *E = Get_MotherBrain(0); eproj_spawn_pt = (Point16U){ E->base.x_pos + jp[0], E->base.y_pos + jp[1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, jp[2]); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, jp[2]); return jp + 3; } const uint16 *MotherBrain_Instr_SpawnDeathBeamEproj(uint16 k, const uint16 *jp) { // 0xA99AEF QueueSfx2_Max6(0x63); - SpawnEnemyProjectileWithGfx(0, 0x40, addr_kEproj_MotherBrainDeathBeamCharging); + SpawnEprojWithGfx(0, 0x40, addr_kEproj_MotherBrainDeathBeamCharging); return jp; } @@ -1487,13 +1487,13 @@ uint16 MotherBrain_Instr_SpawnDroolEproj(uint16 k) { // 0xA99B3C v2 = 0; E->mbn_var_13 = v2; uint16 v3 = sign16(E->mbn_var_34 - 128) ? addr_kEproj_MotherBrainDrool : addr_kEproj_MotherBrainDyingDrool; - SpawnEnemyProjectileWithRoomGfx(v3, E->mbn_var_13); + SpawnEprojWithRoomGfx(v3, E->mbn_var_13); } return k; } uint16 MotherBrain_Instr_SpawnPurpleBreath(uint16 k) { // 0xA99B6D - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainPurpleBreathBig, 0); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainPurpleBreathBig, 0); return k; } @@ -1533,7 +1533,7 @@ uint16 MotherBrain_Instr_Goto2(uint16 k) { // 0xA99D21 uint16 MotherBrain_Instr_SpawnBlueRingEproj(uint16 k) { // 0xA99E29 Enemy_MotherBrain *E = Get_MotherBrain(0); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainBlueRingLasers, E->mbn_var_1A); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainBlueRingLasers, E->mbn_var_1A); return k; } @@ -1584,7 +1584,7 @@ uint16 MotherBrain_Instr_SetShitroidAttackCtr0(uint16 k) { // 0xA99EB5 uint16 MotherBrain_Instr_SpawnBombEproj(uint16 k) { // 0xA99EBD const uint16 *v2 = (const uint16 *)RomPtr_A9(k); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainBomb, *v2); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainBomb, *v2); return k + 2; } @@ -1593,12 +1593,12 @@ uint16 MotherBrain_Instr_SpawnLaserEproj(uint16 k) { // 0xA99F46 E->mbn_var_31 = 0; eproj_spawn_r22 = 1; eproj_spawn_pt = (Point16U){ E->base.x_pos + 16, E->base.y_pos + 4 }; - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A17B, 1); + SpawnEprojWithRoomGfx(addr_stru_86A17B, 1); return k; } uint16 MotherBrain_Instr_SpawnRainbowEproj(uint16 k) { // 0xA99F84 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainRainbowBeamCharging, 0); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainRainbowBeamCharging, 0); return k; } @@ -1735,7 +1735,7 @@ void MotherBrain_GenerateExplosions(uint16 a, uint16 r22, uint16 r24) { // 0xA9 if (Random >= 0xE000) v7 = v6[2]; } - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainDeathExplosion, v7); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainDeathExplosion, v7); v3 += 4; v4 = v9 - 1; } while (v9 != 1); @@ -1841,7 +1841,7 @@ void MotherBrain_Phase3_Death_14_20framedelay(void) { // 0xA9B211 void MotherBrain_CorpseRottingFinished(void) { // 0xA9B223 Enemy_MotherBrain *E1 = Get_MotherBrain(0x40); eproj_spawn_pt = (Point16U){ E1->base.x_pos + (random_number & 0x1F) - 16, E1->base.y_pos + 16 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xA); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xA); if ((random_enemy_counter & 7) == 0) QueueSfx2_Max3(0x10); } @@ -1878,7 +1878,7 @@ void MotherBrain_Phase3_Death_17_SpawnTimeBomb(void) { // 0xA9B2D1 Enemy_MotherBrain *E = Get_MotherBrain(0); if ((--E->mbn_var_F & 0x8000) != 0) { E->mbn_var_A = FUNC16(MotherBrain_Phase3_Death_18_TypesZebesText); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TimeBombSetJapaneseText, FUNC16(MotherBrain_Phase3_Death_18_TypesZebesText)); + SpawnEprojWithRoomGfx(addr_kEproj_TimeBombSetJapaneseText, FUNC16(MotherBrain_Phase3_Death_18_TypesZebesText)); } MotherBrain_Phase3_Death_18_TypesZebesText(); } @@ -1935,7 +1935,7 @@ void MotherBrain_GenerateEscapeDoorExploding(void) { // 0xA9B346 uint16 v4 = 3; if (NextRandom() < 0x4000) v4 = 12; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, v4); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, v4); QueueSfx2_Max3(0x24); } } @@ -1944,7 +1944,7 @@ void MotherBrain_ExplodeEscapeDoor(void) { // 0xA9B3A3 uint16 v0 = 0, v1; do { v1 = v0; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainExplodedEscapeDoor, v0); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainExplodedEscapeDoor, v0); v0 = v1 + 1; } while ((uint16)(v1 + 1) < 8); } @@ -2683,7 +2683,7 @@ void MotherBrain_HandleRainbowBeamExplosions(void) { // 0xA9BC76 ++E->mbn_parameter_1; int v2 = E->mbn_parameter_1 & 7; eproj_spawn_pt = (Point16U){ g_word_A9BCA6[v2], g_word_A9BCB6[v2] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_MotherBrainRainbowBeamExplosion, 0); + SpawnEprojWithRoomGfx(addr_kEproj_MotherBrainRainbowBeamExplosion, 0); QueueSfx2_Max6(0x24); } } @@ -3733,7 +3733,7 @@ void ShitroidInCutscene_MoveUpToCeiling(uint16 k) { // 0xA9C959 void ShitroidInCutscene_SpawnOneDustCloudAt(uint16 xd, uint16 yd) { // 0xA9C9AA Enemy_ShitroidInCutscene *E = Get_ShitroidInCutscene(0x40); eproj_spawn_pt = (Point16U){ E->base.x_pos + xd, E->base.y_pos + yd }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); } void ShitroidInCutscene_SpawnThreeDustClouds(void) { // 0xA9C98C @@ -4017,7 +4017,7 @@ void ShitroidInCutscene_HandleShitroidDeathExplosions(uint16 k) { // 0xA9CDB1 E->sice_var_07 = v3; int v4 = (uint16)(4 * v3) >> 1; eproj_spawn_pt = (Point16U){ E->base.x_pos + g_word_A9CDFC[v4], E->base.y_pos + g_word_A9CDFC[v4 + 1] }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 3); QueueSfx3_Max3(0x13); } else { E->sice_var_08 = v2; @@ -4444,7 +4444,7 @@ void DeadTorizo_Func_1(void) { // 0xA9D4CF void DeadTorizo_CorpseRottingFinished(void) { // 0xA9D5BD eproj_spawn_pt = (Point16U){ (random_number & 0x1F) + 272, 188 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xA); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xA); if ((random_enemy_counter & 7) == 0) QueueSfx2_Max6(0x10); } @@ -4829,7 +4829,7 @@ void CopyMoveCorpseRottingRotEntry(const uint16 *r20, uint16 a, uint16 r18) { / void CorpseRottingRotEntryFinishedHook(void) { // 0xA9DC08 EnemyData *v0 = gEnemyData(cur_enemy_index); eproj_spawn_pt = (Point16U){ v0->x_pos + (random_number & 0x1A) - 14, v0->y_pos + 16 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xA); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0xA); if ((random_enemy_counter & 7) == 0) QueueSfx2_Max3(0x10); } diff --git a/src/sm_aa.c b/src/sm_aa.c index 8c009cf..3a6d75b 100644 --- a/src/sm_aa.c +++ b/src/sm_aa.c @@ -108,12 +108,12 @@ const uint16 *Torizo_Instr_3(uint16 k, const uint16 *jp) { // 0xAAB09C const uint16 *Torizo_Instr_31(uint16 k, const uint16 *jp) { // 0xAAB11D Enemy_Torizo *E = Get_Torizo(k); E->toriz_parameter_2 = E->toriz_parameter_2 | 0x8000; - SpawnEnemyProjectileWithGfx(0, k, addr_stru_86A95B); - SpawnEnemyProjectileWithGfx(0, k, addr_stru_86A95B); - SpawnEnemyProjectileWithGfx(0, k, addr_stru_86A95B); - SpawnEnemyProjectileWithGfx(0, k, addr_stru_86A95B); - SpawnEnemyProjectileWithGfx(0, k, addr_stru_86A95B); - SpawnEnemyProjectileWithGfx(0, k, addr_stru_86A95B); + SpawnEprojWithGfx(0, k, addr_stru_86A95B); + SpawnEprojWithGfx(0, k, addr_stru_86A95B); + SpawnEprojWithGfx(0, k, addr_stru_86A95B); + SpawnEprojWithGfx(0, k, addr_stru_86A95B); + SpawnEprojWithGfx(0, k, addr_stru_86A95B); + SpawnEprojWithGfx(0, k, addr_stru_86A95B); return jp; } @@ -277,7 +277,7 @@ const uint16 *Torizo_Instr_32(uint16 k, const uint16 *jp) { // 0xAAC2FD const uint16 *Torizo_Instr_30(uint16 k, const uint16 *jp) { // 0xAAC303 uint16 a = jp[0]; for (int i = 5; i >= 0; --i) - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_BombTorizoLowHealthExplode, a); + SpawnEprojWithRoomGfx(addr_kEproj_BombTorizoLowHealthExplode, a); Enemy_Torizo *E = Get_Torizo(k); E->base.current_instruction = INSTR_ADDR_TO_PTR(k, jp + 1); E->base.flash_timer = 40; @@ -286,7 +286,7 @@ const uint16 *Torizo_Instr_30(uint16 k, const uint16 *jp) { // 0xAAC303 } const uint16 *Torizo_Instr_34(uint16 k, const uint16 *jp) { // 0xAAC32F - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_BombTorizoDeathExplosion, 0); + SpawnEprojWithRoomGfx(addr_kEproj_BombTorizoDeathExplosion, 0); Enemy_Torizo *E = Get_Torizo(k); E->base.current_instruction = INSTR_ADDR_TO_PTR(k, jp); E->base.flash_timer = 1; @@ -295,15 +295,15 @@ const uint16 *Torizo_Instr_34(uint16 k, const uint16 *jp) { // 0xAAC32F } const uint16 *Torizo_Instr_24(uint16 k, const uint16 *jp) { // 0xAAC34A - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianLandingDustCloudsRightFoot, 0); - SpawnEnemyProjectileWithRoomGfx(addr_stru_86AFF3, 0); + SpawnEprojWithRoomGfx(addr_kEproj_TourianLandingDustCloudsRightFoot, 0); + SpawnEprojWithRoomGfx(addr_stru_86AFF3, 0); return jp; } const uint16 *Torizo_Instr_12(uint16 k, const uint16 *jp) { // 0xAAC35B uint16 health = Get_Torizo(k)->base.health; if (health < 0x15E) - SpawnEnemyProjectileWithGfx(health, k, addr_kEproj_BombTorizoLowHealthInitialDrool); + SpawnEprojWithGfx(health, k, addr_kEproj_BombTorizoLowHealthInitialDrool); return jp; } @@ -433,24 +433,24 @@ const uint16 *Torizo_Instr_26(uint16 k, const uint16 *jp) { // 0xAAC5A4 } const uint16 *Torizo_Instr_18(uint16 k, const uint16 *jp) { // 0xAAC5CB - SpawnEnemyProjectileWithGfx(0, k, addr_kEproj_BombTorizosChozoOrbs); - SpawnEnemyProjectileWithGfx(0, k, addr_kEproj_BombTorizosChozoOrbs); - SpawnEnemyProjectileWithGfx(0, k, addr_kEproj_BombTorizosChozoOrbs); + SpawnEprojWithGfx(0, k, addr_kEproj_BombTorizosChozoOrbs); + SpawnEprojWithGfx(0, k, addr_kEproj_BombTorizosChozoOrbs); + SpawnEprojWithGfx(0, k, addr_kEproj_BombTorizosChozoOrbs); return jp; } const uint16 *Torizo_Instr_20(uint16 k, const uint16 *jp) { // 0xAAC5E3 - SpawnEnemyProjectileWithGfx(jp[0], k, addr_kEproj_BombTorizoSonicBoom); + SpawnEprojWithGfx(jp[0], k, addr_kEproj_BombTorizoSonicBoom); return jp + 1; } const uint16 *Torizo_Instr_44(uint16 k, const uint16 *jp) { // 0xAAC5F2 - SpawnEnemyProjectileWithGfx(jp[0], k, addr_kEproj_GoldenTorizoSonicBoom); + SpawnEprojWithGfx(jp[0], k, addr_kEproj_GoldenTorizoSonicBoom); return jp + 1; } const uint16 *Torizo_Instr_21(uint16 k, const uint16 *jp) { // 0xAAC601 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_BombTorizoExplosiveSwipe, jp[0]); + SpawnEprojWithRoomGfx(addr_kEproj_BombTorizoExplosiveSwipe, jp[0]); return jp + 1; } @@ -468,7 +468,7 @@ void Torizo_C620(uint16 k) { // 0xAAC620 if (!area_index && (random_number & 0x8142) == 0) { uint16 health = Get_Torizo(k)->base.health; if (health && health < 0x15E) - SpawnEnemyProjectileWithGfx(health, k, addr_kEproj_BombTorizoLowHealthInitialDrool); + SpawnEprojWithGfx(health, k, addr_kEproj_BombTorizoLowHealthInitialDrool); } } @@ -756,7 +756,7 @@ const uint16 *Torizo_Instr_48(uint16 k, const uint16 *jp) { // 0xAACDD7 } const uint16 *Torizo_Instr_57(uint16 k, const uint16 *jp) { // 0xAAD0E9 - SpawnEnemyProjectileWithRoomGfx(addr_stru_86B1C0, 0); + SpawnEprojWithRoomGfx(addr_stru_86B1C0, 0); return jp; } @@ -764,7 +764,7 @@ const uint16 *Torizo_Instr_58(uint16 k, const uint16 *jp) { // 0xAAD0F3 int16 v2; v2 = 34; - while (*(uint16 *)((uint8 *)enemy_projectile_id + (uint16)v2) != 0xB1C0) { + while (*(uint16 *)((uint8 *)eproj_id + (uint16)v2) != 0xB1C0) { v2 -= 2; if (v2 < 0) return jp + 1; @@ -841,7 +841,7 @@ void GoldTorizo_Hurt(void) { // 0xAAD3BA } const uint16 *Torizo_Instr_47(uint16 k, const uint16 *jp) { // 0xAAD3E0 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_GoldenTorizoSuperMissile, 0); + SpawnEprojWithRoomGfx(addr_kEproj_GoldenTorizoSuperMissile, 0); return jp; } @@ -863,7 +863,7 @@ const uint16 *Torizo_Instr_49(uint16 k, const uint16 *jp) { // 0xAAD3EA } const uint16 *Torizo_Instr_61(uint16 k, const uint16 *jp) { // 0xAAD436 - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_GoldenTorizoEyeBeam, jp[0]); + SpawnEprojWithRoomGfx(addr_kEproj_GoldenTorizoEyeBeam, jp[0]); return jp + 1; } @@ -909,7 +909,7 @@ const uint16 *Torizo_Instr_50(uint16 k, const uint16 *jp) { // 0xAAD4BA } const uint16 *Torizo_Instr_43(uint16 k, const uint16 *jp) { // 0xAAD4F3 - SpawnEnemyProjectileWithGfx(0, k, addr_kEproj_GoldenTorizosChozoOrbs); + SpawnEprojWithGfx(0, k, addr_kEproj_GoldenTorizosChozoOrbs); return jp; } @@ -1099,9 +1099,9 @@ void TourianEntranceStatue_Init(void) { // 0xAAD7C8 uint16 v1 = g_off_AAD810[v0->parameter_1 >> 1]; v0->current_instruction = v1; if (!v0->parameter_1) { - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueBaseDecoration, 0); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatueRidley, 0); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_TourianStatuePhantoon, 0); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueBaseDecoration, 0); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatueRidley, 0); + SpawnEprojWithRoomGfx(addr_kEproj_TourianStatuePhantoon, 0); } for (int i = 30; i >= 0; i -= 2) { int v5 = i >> 1; @@ -1145,9 +1145,9 @@ const uint16 *Shaktool_Instr_6(uint16 k, const uint16 *jp) { // 0xAAD99F } void Shaktool_Func_2(uint16 k) { // 0xAAD9A0 - SpawnEnemyProjectileWithGfx(0, k, addr_kEproj_ShaktoolAttackFrontCircle); - SpawnEnemyProjectileWithGfx(0, k, addr_kEproj_ShaktoolAttackMiddleCircle); - SpawnEnemyProjectileWithGfx(0, k, addr_kEproj_ShaktoolAttackBackCircle); + SpawnEprojWithGfx(0, k, addr_kEproj_ShaktoolAttackFrontCircle); + SpawnEprojWithGfx(0, k, addr_kEproj_ShaktoolAttackMiddleCircle); + SpawnEprojWithGfx(0, k, addr_kEproj_ShaktoolAttackBackCircle); } const uint16 *Shaktool_Instr_1(uint16 k, const uint16 *jp) { // 0xAAD9BA @@ -1463,7 +1463,7 @@ const uint16 *Shaktool_Instr_12(uint16 k, const uint16 *jp) { // 0xAAE58F CalculateBlockContainingPixelPos(e->base.x_pos + arg, e->base.y_pos + 28); if ((level_data[room_width_in_blocks + cur_block_index] & 0xF000) == 0xA000) { SpawnPLM(addr_kPlmHeader_D113); - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_WreckedShipChozoSpikeFootsteps_1, arg); + SpawnEprojWithRoomGfx(addr_kEproj_WreckedShipChozoSpikeFootsteps_1, arg); } return jp + 1; } diff --git a/src/sm_ad.c b/src/sm_ad.c index 2ed4c32..a40f6fa 100644 --- a/src/sm_ad.c +++ b/src/sm_ad.c @@ -320,9 +320,9 @@ void MotherBrain_CalcHdma_Down_DownLeft(uint16 r22, uint16 r24) { // 0xADE314 void MotherBrain_SealWall(void) { // 0xADE396 eproj_spawn_pt = (Point16U){ 248, 72 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); eproj_spawn_pt = (Point16U){ 248, 152 }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 9); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x0f, 0x04, 0xb673 }); SpawnHardcodedPlm((SpawnHardcodedPlmArgs) { 0x0f, 0x09, 0xb673 }); Get_MotherBrain(0)->mbn_var_A = FUNC16(MotherBrainBody_FakeDeath_Descent_0_Pause); diff --git a/src/sm_b2.c b/src/sm_b2.c index c02a431..6a45aaa 100644 --- a/src/sm_b2.c +++ b/src/sm_b2.c @@ -174,10 +174,10 @@ const uint16 *SpacePirates_Instr_PrepareWallJumpL(uint16 k, const uint16 *jp) { const uint16 *SpacePirates_Instr_FireLaserL(uint16 k, const uint16 *jp) { // 0xB2EF2A Enemy_SpacePirates *E = Get_SpacePirates(cur_enemy_index); - enemy_projectile_init_param_1 = *((uint16 *)RomPtr_A0(E->base.enemy_ptr) + 3); + eproj_init_param_1 = *((uint16 *)RomPtr_A0(E->base.enemy_ptr) + 3); eproj_spawn_pt = (Point16U){ E->base.x_pos - 24, E->base.y_pos - 16 }; eproj_spawn_r22 = 0; - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A17B, 0); + SpawnEprojWithRoomGfx(addr_stru_86A17B, 0); return jp; } @@ -185,7 +185,7 @@ const uint16 *SpacePirates_Instr_FireLaserR(uint16 k, const uint16 *jp) { // 0x Enemy_SpacePirates *E = Get_SpacePirates(cur_enemy_index); eproj_spawn_pt = (Point16U){ E->base.x_pos + 24, E->base.y_pos - 16 }; eproj_spawn_r22 = 1; - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A17B, 1); + SpawnEprojWithRoomGfx(addr_stru_86A17B, 1); return jp; } @@ -328,7 +328,7 @@ void sub_B2F554(void) { // 0xB2F554 const uint16 *SpacePirates_Instr_15(uint16 k, const uint16 *jp) { // 0xB2F564 Enemy_SpacePirates *E = Get_SpacePirates(cur_enemy_index); eproj_spawn_rect = (Rect16U){ E->base.x_pos, E->base.y_pos, jp[1], jp[2] }; - SpawnEnemyProjectileWithGfx(jp[0], cur_enemy_index, addr_kEproj_PirateClaw); + SpawnEprojWithGfx(jp[0], cur_enemy_index, addr_kEproj_PirateClaw); return jp + 3; } @@ -655,7 +655,7 @@ const uint16 *SpacePirates_Instr_12(uint16 k, const uint16 *jp) { // 0xB2FC68 Enemy_SpacePirates *E = Get_SpacePirates(cur_enemy_index); eproj_spawn_pt = (Point16U){ E->base.x_pos - 24, E->base.y_pos - jp[0] }; eproj_spawn_r22 = 0; - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A17B, 0); + SpawnEprojWithRoomGfx(addr_stru_86A17B, 0); return jp + 1; } @@ -663,7 +663,7 @@ const uint16 *SpacePirates_Instr_14(uint16 k, const uint16 *jp) { // 0xB2FC90 Enemy_SpacePirates *E = Get_SpacePirates(cur_enemy_index); eproj_spawn_pt = (Point16U){ E->base.x_pos + 24, E->base.y_pos - jp[0] }; eproj_spawn_r22 = 1; - SpawnEnemyProjectileWithRoomGfx(addr_stru_86A17B, 1); + SpawnEprojWithRoomGfx(addr_stru_86A17B, 1); return jp + 1; } diff --git a/src/sm_b3.c b/src/sm_b3.c index 74e0360..5096c85 100644 --- a/src/sm_b3.c +++ b/src/sm_b3.c @@ -695,7 +695,7 @@ void Botwoon_Init(void) { // 0xB39583 E->botwoon_var_A = 24; bool v5; do { - SpawnEnemyProjectileWithGfx(v3, cur_enemy_index, addr_kEproj_BotwoonsBody); + SpawnEprojWithGfx(v3, cur_enemy_index, addr_kEproj_BotwoonsBody); v5 = (int16)(--E->botwoon_var_A - 1) < 0; --E->botwoon_var_A; } while (!v5); @@ -797,8 +797,8 @@ void Botwoon_Func_4(void) { // 0xB396F5 void Botwoon_Func_5(void) { // 0xB396FF uint16 v0 = 34; do { - enemy_projectile_properties[v0 >> 1] |= 0x2000; - enemy_projectile_flags[v0 >> 1] = 2; + eproj_properties[v0 >> 1] |= 0x2000; + eproj_flags[v0 >> 1] = 2; v0 -= 2; } while ((int16)(v0 - 10) >= 0); } @@ -956,7 +956,7 @@ void Botwoon_Func_15(void) { // 0xB39A5E E->base.y_pos = 200; E->botwoon_var_D = FUNC16(Botwoon_Func_16); eproj_spawn_pt = (Point16U){ E->base.x_pos, E->base.y_pos }; - SpawnEnemyProjectileWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x1D); + SpawnEprojWithRoomGfx(addr_kEproj_DustCloudExplosion, 0x1D); Botwoon_QueueExplosionSfx(); E->base.properties |= 0x500; } @@ -1073,11 +1073,11 @@ void Botwoon_Func_23(void) { // 0xB39C90 bool v4 = ET->botwoon_var_10 == 1; ET->botwoon_var_10 ^= 1; if (v4) { - enemy_projectile_properties[botwoo_var_00 >> 1] &= ~0x2000; - enemy_projectile_flags[botwoo_var_00 >> 1] = 1; + eproj_properties[botwoo_var_00 >> 1] &= ~0x2000; + eproj_flags[botwoo_var_00 >> 1] = 1; } else { - enemy_projectile_properties[botwoo_var_00 >> 1] |= 0x2000; - enemy_projectile_flags[botwoo_var_00 >> 1] = 2; + eproj_properties[botwoo_var_00 >> 1] |= 0x2000; + eproj_flags[botwoo_var_00 >> 1] = 2; } if (!v2) { E->botwoon_var_35 = 0; @@ -1088,8 +1088,8 @@ void Botwoon_Func_23(void) { // 0xB39C90 } } int v7 = botwoo_var_00 >> 1; - enemy_projectile_x_pos[v7] = *(uint16 *)((uint8 *)&kraid_unk9000 + r18); - enemy_projectile_y_pos[v7] = *(uint16 *)((uint8 *)&g_word_7E9002 + r18); + eproj_x_pos[v7] = *(uint16 *)((uint8 *)&kraid_unk9000 + r18); + eproj_y_pos[v7] = *(uint16 *)((uint8 *)&g_word_7E9002 + r18); r18 = (r18 - E->botwoon_var_C) & 0x3FF; n -= 2; } while ((n & 0x8000) == 0); @@ -1112,16 +1112,16 @@ void Botwoon_Func_25(void) { // 0xB39D4D uint16 x, y; if (n == 24) { int v4 = botwoo_var_00 >> 1; - x = E->base.x_pos - enemy_projectile_x_pos[v4]; - y = E->base.y_pos - enemy_projectile_y_pos[v4]; + x = E->base.x_pos - eproj_x_pos[v4]; + y = E->base.y_pos - eproj_y_pos[v4]; } else { if (!n) r24 += 512; int v2 = botwoo_var_00 >> 1; - x = enemy_projectile_x_pos[v2 + 1] - enemy_projectile_x_pos[v2]; - y = enemy_projectile_y_pos[v2 + 1] - enemy_projectile_y_pos[v2]; + x = eproj_x_pos[v2 + 1] - eproj_x_pos[v2]; + y = eproj_y_pos[v2 + 1] - eproj_y_pos[v2]; } - enemy_projectile_E[botwoo_var_00 >> 1] = 2 * ((uint16)(r24 + CalculateAngleFromXY(x, y)) >> 5); + eproj_E[botwoo_var_00 >> 1] = 2 * ((uint16)(r24 + CalculateAngleFromXY(x, y)) >> 5); n -= 2; } while (n >= 0); } @@ -1182,12 +1182,12 @@ void Botwoon_Func_27(uint16 k) { // 0xB39E7D void Botwoon_Func_28(uint16 k) { // 0xB39EE0 Enemy_Botwoon *E = Get_Botwoon(cur_enemy_index); if (E->botwoon_var_5A) { - enemy_projectile_init_param_3 = E->botwoon_var_3D - 32; + eproj_init_param_3 = E->botwoon_var_3D - 32; int n = 5; uint16 varE32 = g_word_B39E77[E->botwoon_var_3F]; do { - SpawnEnemyProjectileWithGfx(varE32, cur_enemy_index, addr_kEproj_BotwoonsSpit); - enemy_projectile_init_param_3 += 16; + SpawnEprojWithGfx(varE32, cur_enemy_index, addr_kEproj_BotwoonsSpit); + eproj_init_param_3 += 16; } while (--n); E->botwoon_var_5A = 0; E->botwoon_var_F = FUNC16(Botwoon_Func_30); @@ -1196,12 +1196,12 @@ void Botwoon_Func_28(uint16 k) { // 0xB39EE0 void Botwoon_Func_29(uint16 k) { // 0xB39F34 Enemy_Botwoon *E = Get_Botwoon(cur_enemy_index); - enemy_projectile_init_param_3 = E->botwoon_var_3D - 16; + eproj_init_param_3 = E->botwoon_var_3D - 16; int n = 3; uint16 varE32 = g_word_B39E77[E->botwoon_var_3F]; do { - SpawnEnemyProjectileWithGfx(varE32, cur_enemy_index, addr_kEproj_BotwoonsSpit); - enemy_projectile_init_param_3 += 16; + SpawnEprojWithGfx(varE32, cur_enemy_index, addr_kEproj_BotwoonsSpit); + eproj_init_param_3 += 16; } while (--n); Get_Botwoon(cur_enemy_index)->botwoon_var_F = FUNC16(Botwoon_Func_30); } diff --git a/src/sm_cpu_infra.c b/src/sm_cpu_infra.c index b8c46bd..30a25f6 100644 --- a/src/sm_cpu_infra.c +++ b/src/sm_cpu_infra.c @@ -473,7 +473,7 @@ static void VerifySnapshotsEq(Snapshot *b, Snapshot *a, Snapshot *prev) { memcpy(&b->ram[0x5e7], &a->ram[0x5e7], 14); // bitmask, mult_tmp, mult_product_lo etc memcpy(&b->ram[0x5BC], &a->ram[0x5BC], 9); // door_transition_vram_update etc - memcpy(&a->ram[0x60B], &b->ram[0x60B], 6); // enemy_projectile_init_param_2, remaining_enemy_hitbox_entries, REMOVED_num_projectiles_to_check_enemy_coll + memcpy(&a->ram[0x60B], &b->ram[0x60B], 6); // eproj_init_param_2, remaining_enemy_hitbox_entries, REMOVED_num_projectiles_to_check_enemy_coll memcpy(&a->ram[0x611], &b->ram[0x611], 6); // coroutine_state (copy from mine to theirs) memcpy(&b->ram[0x641], &a->ram[0x641], 2); // apu_attempts_countdown memcpy(&a->ram[0x77e], &b->ram[0x77e], 5); // my counter @@ -503,7 +503,7 @@ static void VerifySnapshotsEq(Snapshot *b, Snapshot *a, Snapshot *prev) { memcpy(&a->ram[0x18A6], &b->ram[0x18A6], 2); // collision_detection_index memcpy(&a->ram[0x189A], &b->ram[0x189A], 12); // samus_target_x_pos etc - memcpy(&b->ram[0x1993], &a->ram[0x1993], 2); // enemy_projectile_init_param + memcpy(&b->ram[0x1993], &a->ram[0x1993], 2); // eproj_init_param memcpy(&b->ram[0x19b3], &a->ram[0x19b3], 2); // mode7_spawn_param memcpy(&b->ram[0x1a93], &a->ram[0x1a93], 2); // cinematic_spawn_param memcpy(&b->ram[0x1B9D], &a->ram[0x1B9D], 2); // cinematic_spawn_param diff --git a/src/variables.h b/src/variables.h index 1636113..b753e72 100644 --- a/src/variables.h +++ b/src/variables.h @@ -175,7 +175,7 @@ extern int32 *cur_coll_amt32; #define unpause_hook (*(LongPtr*)(g_ram+0x604)) #define earthquake_sfx_index (*(uint16*)(g_ram+0x607)) #define earthquake_sfx_timer (*(uint16*)(g_ram+0x609)) -#define enemy_projectile_init_param_3 (*(uint8*)(g_ram+0x60B)) +#define eproj_init_param_3 (*(uint8*)(g_ram+0x60B)) #define REMOVED_remaining_enemy_hitbox_entries (*(uint16*)(g_ram+0x60D)) #define REMOVED_num_projectiles_to_check_enemy_coll (*(uint16*)(g_ram+0x60F)) #define is_uploading_apu (*(uint16*)(g_ram+0x617)) @@ -884,29 +884,29 @@ extern int32 *cur_coll_amt32; #define fx_layer_blending_config_b (*(uint16*)(g_ram+0x1984)) #define fx_layer_blending_config_c (*(uint16*)(g_ram+0x1986)) #define phantom_related_layer_flag (*(uint16*)(g_ram+0x1988)) -#define enemy_projectile_enable_flag (*(uint16*)(g_ram+0x198D)) -#define enemy_projectile_unk198F (*(uint16*)(g_ram+0x198F)) -#define enemy_projectile_index (*(uint16*)(g_ram+0x1991)) -#define enemy_projectile_init_param_1 (*(uint16*)(g_ram+0x1993)) -#define enemy_projectile_unk1995 (*(uint16*)(g_ram+0x1995)) -#define enemy_projectile_id ((uint16*)(g_ram+0x1997)) -#define enemy_projectile_gfx_idx ((uint16*)(g_ram+0x19BB)) -#define enemy_projectile_timers ((uint16*)(g_ram+0x19DF)) -#define enemy_projectile_pre_instr ((uint16*)(g_ram+0x1A03)) -#define enemy_projectile_x_subpos ((uint16*)(g_ram+0x1A27)) -#define enemy_projectile_x_pos ((uint16*)(g_ram+0x1A4B)) -#define enemy_projectile_y_subpos ((uint16*)(g_ram+0x1A6F)) -#define enemy_projectile_y_pos ((uint16*)(g_ram+0x1A93)) -#define enemy_projectile_x_vel ((uint16*)(g_ram+0x1AB7)) -#define enemy_projectile_y_vel ((uint16*)(g_ram+0x1ADB)) -#define enemy_projectile_E ((uint16*)(g_ram+0x1AFF)) -#define enemy_projectile_F ((uint16*)(g_ram+0x1B23)) -#define enemy_projectile_instr_list_ptr ((uint16*)(g_ram+0x1B47)) -#define enemy_projectile_spritemap_ptr ((uint16*)(g_ram+0x1B6B)) -#define enemy_projectile_instr_timers ((uint16*)(g_ram+0x1B8F)) -#define enemy_projectile_radius ((uint16*)(g_ram+0x1BB3)) -#define enemy_projectile_properties ((uint16*)(g_ram+0x1BD7)) -#define enemy_projectile_G ((uint16*)(g_ram+0x1BFB)) +#define eproj_enable_flag (*(uint16*)(g_ram+0x198D)) +#define eproj_unk198F (*(uint16*)(g_ram+0x198F)) +#define eproj_index (*(uint16*)(g_ram+0x1991)) +#define eproj_init_param_1 (*(uint16*)(g_ram+0x1993)) +#define eproj_unk1995 (*(uint16*)(g_ram+0x1995)) +#define eproj_id ((uint16*)(g_ram+0x1997)) +#define eproj_gfx_idx ((uint16*)(g_ram+0x19BB)) +#define eproj_timers ((uint16*)(g_ram+0x19DF)) +#define eproj_pre_instr ((uint16*)(g_ram+0x1A03)) +#define eproj_x_subpos ((uint16*)(g_ram+0x1A27)) +#define eproj_x_pos ((uint16*)(g_ram+0x1A4B)) +#define eproj_y_subpos ((uint16*)(g_ram+0x1A6F)) +#define eproj_y_pos ((uint16*)(g_ram+0x1A93)) +#define eproj_x_vel ((uint16*)(g_ram+0x1AB7)) +#define eproj_y_vel ((uint16*)(g_ram+0x1ADB)) +#define eproj_E ((uint16*)(g_ram+0x1AFF)) +#define eproj_F ((uint16*)(g_ram+0x1B23)) +#define eproj_instr_list_ptr ((uint16*)(g_ram+0x1B47)) +#define eproj_spritemap_ptr ((uint16*)(g_ram+0x1B6B)) +#define eproj_instr_timers ((uint16*)(g_ram+0x1B8F)) +#define eproj_radius ((uint16*)(g_ram+0x1BB3)) +#define eproj_properties ((uint16*)(g_ram+0x1BD7)) +#define eproj_G ((uint16*)(g_ram+0x1BFB)) #define message_box_index (*(uint16*)(g_ram+0x1C1F)) #define plm_flag (*(uint16*)(g_ram+0x1C23)) #define plm_draw_tilemap_index (*(uint16*)(g_ram+0x1C25)) @@ -1126,9 +1126,9 @@ extern int32 *cur_coll_amt32; #define sprite_y_subpos ((uint16*)(g_ram+0xF278)) #define sprite_disable_flag ((uint16*)(g_ram+0xF2F8)) #define enemy_processing_stage (*(uint16*)(g_ram+0xF378)) -#define enemy_projectile_flags ((uint16*)(g_ram+0xF380)) -#define enemy_projectile_enemy_header_ptr ((uint16*)(g_ram+0xF3C8)) -#define enemy_projectile_killed_enemy_index ((uint16*)(g_ram+0xF410)) +#define eproj_flags ((uint16*)(g_ram+0xF380)) +#define eproj_enemy_header_ptr ((uint16*)(g_ram+0xF3C8)) +#define eproj_killed_enemy_index ((uint16*)(g_ram+0xF410)) #define special_death_item_drop_x_origin_pos (*(uint16*)(g_ram+0xF434)) #define special_death_item_drop_y_origin_pos (*(uint16*)(g_ram+0xF436)) #define ram7F_start (*(uint16*)(g_ram+0x10000)) diff --git a/src/variables_extra.h b/src/variables_extra.h index 9e706eb..5a2c045 100644 --- a/src/variables_extra.h +++ b/src/variables_extra.h @@ -32,7 +32,7 @@ #define cinematic_var24 (*(uint16*)(g_ram+0x19FD)) #define cinematic_var25 (*(uint16*)(g_ram+0x19FF)) #define cinematic_var26 (*(uint16*)(g_ram+0x1A01)) -#define enemy_projectile_pre_instr ((uint16*)(g_ram+0x1A03)) +#define eproj_pre_instr ((uint16*)(g_ram+0x1A03)) #define cinematic_var20 (*(uint16*)(g_ram+0x1A37)) #define cinematic_var19 (*(uint16*)(g_ram+0x1A47)) #define cinematic_var4 (*(uint16*)(g_ram+0x1A49))