From adc7e01fcd5fe608fcb8d60266da7a536298539a Mon Sep 17 00:00:00 2001 From: "y.demaisonregne" Date: Tue, 11 Jul 2023 16:27:10 +0200 Subject: [PATCH] More cleanup --- asm/disasm_0x080010c4.s | 4 +- asm/disasm_0x08005368.s | 36 +- asm/disasm_0x0800c4b4.s | 16 +- asm/disasm_0x080183d8.s | 4 +- asm/disasm_0x08024a10.s | 8 +- asm/disasm_0x0804ed08.s | 16 +- asm/disasm_0x08055f7c.s | 136 +- asm/disasm_0x080582c4.s | 272 ++-- asm/disasm_0x0805e760.s | 4 +- asm/disasm_0x08060e28.s | 2 +- asm/disasm_0x08068168.s | 4 +- asm/disasm_0x0806e460.s | 12 +- asm/disasm_0x0807329c.s | 64 +- asm/disasm_0x08078228.s | 4 +- asm/disasm_0x0808117c.s | 282 ++-- asm/disasm_0x08084c34.s | 250 +-- asm/disasm_0x08088ea0.s | 2 +- asm/intr_main.s | 4 +- include/data/intro_data.h | 4 +- include/data/sprites/ridley.h | 118 +- include/data/sprites/ruins_test.h | 244 +-- include/data/sprites/zebetite_and_cannon.h | 152 +- include/funcs.h | 2 - include/gba/display.h | 25 +- include/gba/keys.h | 2 + include/globals.h | 3 +- include/init_helpers.h | 2 +- include/interrupts.h | 2 +- include/macros.h | 45 +- include/oam.h | 6 +- include/sprites_AI/item_banner.h | 2 +- include/sprites_AI/ridley.h | 2 +- include/sprites_AI/ruins_test.h | 4 + include/sprites_AI/skree.h | 6 +- include/sprites_AI/zebetite_and_cannon.h | 7 +- include/structs/bg_clip.h | 16 +- include/structs/demo.h | 2 +- include/structs/menu.h | 2 - linker.ld | 18 +- src/bg_clip.c | 8 +- src/block.c | 12 +- src/chozodia_escape.c | 56 +- src/clipdata.c | 2 +- src/color_fading.c | 6 +- src/connection.c | 2 +- src/cutscenes/cutscene_utils.c | 8 +- src/cutscenes/enter_tourian.c | 2 +- src/cutscenes/getting_fully_powered_suit.c | 2 +- src/cutscenes/kraid_rising.c | 2 +- src/cutscenes/mecha_sees_samus.c | 2 +- src/cutscenes/mother_brain_close_up.c | 5 +- src/cutscenes/ridley_in_space.c | 2 +- src/cutscenes/ridley_landing.c | 5 +- src/cutscenes/ridley_spawn.c | 2 +- src/cutscenes/samus_in_blue_ship.c | 2 +- src/cutscenes/statue_opening.c | 5 +- src/data/frame_data_pointers.c | 42 +- src/data/intro_data.c | 4 +- src/data/samus_sprites_pointers.c | 2 +- src/data/sprites/ridley.c | 298 ++-- src/data/sprites/ruins_test.c | 560 +++---- src/data/sprites/zebetite_and_cannon.c | 268 +-- src/demo.c | 16 +- src/ending_and_gallery.c | 164 +- src/fixed_point.c | 13 +- src/fusion_gallery.c | 45 +- src/haze.c | 12 +- src/in_game.c | 4 +- src/in_game_cutscene.c | 8 +- src/init_game.c | 10 +- src/init_helpers.c | 55 +- src/intro.c | 153 +- src/location_text.c | 174 +- src/menus/erase_sram.c | 7 +- src/menus/file_select.c | 4 +- src/menus/game_over.c | 6 +- src/menus/pause_screen.c | 4 +- src/menus/title_screen.c | 7 +- src/particle.c | 8 +- src/power_bomb_explosion.c | 184 ++- src/projectile.c | 8 +- src/room.c | 68 +- src/room_cutscene.c | 12 +- src/samus.c | 24 +- src/save_file.c | 32 +- src/scroll.c | 108 +- src/softreset.c | 2 +- src/softreset_input.c | 4 +- src/sprite.c | 8 +- src/sprite_debris.c | 8 +- src/sprites_AI/acid_worm.c | 4 +- src/sprites_AI/black_space_pirate.c | 2 +- src/sprites_AI/boss_statues.c | 12 +- src/sprites_AI/deorem.c | 2 +- src/sprites_AI/dragon.c | 4 +- src/sprites_AI/escape_ship_pirate.c | 2 +- src/sprites_AI/explosion_zebes_escape.c | 4 +- src/sprites_AI/hive.c | 4 +- src/sprites_AI/imago_cocoon.c | 8 +- src/sprites_AI/item_banner.c | 280 ++-- src/sprites_AI/kraid.c | 4 +- src/sprites_AI/mecha_ridley.c | 4 +- src/sprites_AI/mella.c | 187 ++- src/sprites_AI/metroid.c | 743 +++++---- src/sprites_AI/ridley.c | 1033 ++++++------ src/sprites_AI/ruins_test.c | 1721 ++++++++++---------- src/sprites_AI/skree.c | 245 +-- src/sprites_AI/space_pirate.c | 2 +- src/sprites_AI/zebetite_and_cannon.c | 354 ++-- src/sprites_AI/zeela.c | 2 +- src/sprites_AI/zipline_generator.c | 2 +- src/tourian_escape.c | 156 +- src/update_input.c | 4 +- 113 files changed, 4688 insertions(+), 4320 deletions(-) diff --git a/asm/disasm_0x080010c4.s b/asm/disasm_0x080010c4.s index a0d80ddd..9aa2fb98 100644 --- a/asm/disasm_0x080010c4.s +++ b/asm/disasm_0x080010c4.s @@ -2910,8 +2910,8 @@ lbl_0800255a: .align 2, 0 lbl_08002560: .4byte 0x04000079 - thumb_func_start init_sound -init_sound: @ 0x08002564 + thumb_func_start InitializeAudio +InitializeAudio: @ 0x08002564 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} diff --git a/asm/disasm_0x08005368.s b/asm/disasm_0x08005368.s index e262e734..2868c7df 100644 --- a/asm/disasm_0x08005368.s +++ b/asm/disasm_0x08005368.s @@ -3576,7 +3576,7 @@ lbl_08006fe0: strb r1, [r0] movs r0, #0x33 strb r0, [r4] - ldr r1, lbl_0800703c @ =gBG1XPosition + ldr r1, lbl_0800703c @ =gBg1XPosition movs r2, #0xf0 lsls r2, r2, #1 adds r0, r2, #0 @@ -3587,7 +3587,7 @@ lbl_08006fe0: lsls r0, r0, #0x10 asrs r0, r0, #0x11 strh r0, [r4, #0x16] - ldr r1, lbl_08007040 @ =gBG1YPosition + ldr r1, lbl_08007040 @ =gBg1YPosition subs r2, #0x50 adds r0, r2, #0 ldrh r1, [r1] @@ -3615,8 +3615,8 @@ lbl_0800701e: .align 2, 0 lbl_08007034: .4byte gDisableScrolling lbl_08007038: .4byte gMonochromeBgFading -lbl_0800703c: .4byte gBG1XPosition -lbl_08007040: .4byte gBG1YPosition +lbl_0800703c: .4byte gBg1XPosition +lbl_08007040: .4byte gBg1YPosition lbl_08007044: .4byte gGameModeSub1 thumb_func_start SamusChangeToKnockbackPose @@ -10027,12 +10027,12 @@ lbl_0800a100: cmp r0, #0 beq lbl_0800a172 lbl_0800a116: - ldr r0, lbl_0800a138 @ =gBG1XPosition + ldr r0, lbl_0800a138 @ =gBg1XPosition ldrh r0, [r0] movs r3, #0xf0 lsls r3, r3, #1 adds r2, r0, r3 - ldr r0, lbl_0800a13c @ =gBG1YPosition + ldr r0, lbl_0800a13c @ =gBg1YPosition ldrh r0, [r0] movs r6, #0xc8 lsls r6, r6, #1 @@ -10044,8 +10044,8 @@ lbl_0800a116: blo lbl_0800a14c b lbl_0800a14a .align 2, 0 -lbl_0800a138: .4byte gBG1XPosition -lbl_0800a13c: .4byte gBG1YPosition +lbl_0800a138: .4byte gBg1XPosition +lbl_0800a13c: .4byte gBg1YPosition lbl_0800a140: cmp r1, #0 bge lbl_0800a14c @@ -13658,14 +13658,14 @@ lbl_0800be58: lsrs r7, r0, #0x10 ldrh r1, [r3, #4] lsrs r1, r1, #2 - ldr r2, lbl_0800c1c8 @ =gBG1XPosition + ldr r2, lbl_0800c1c8 @ =gBg1XPosition ldrh r0, [r2] lsrs r0, r0, #2 subs r0, r1, r0 mov sb, r0 ldrh r1, [r3, #6] lsrs r1, r1, #2 - ldr r3, lbl_0800c1cc @ =gBG1YPosition + ldr r3, lbl_0800c1cc @ =gBg1YPosition ldrh r0, [r3] lsrs r0, r0, #2 subs r1, r1, r0 @@ -13728,14 +13728,14 @@ lbl_0800befe: ldr r3, lbl_0800c1d8 @ =gSamusData ldrh r1, [r3, #0x12] lsrs r1, r1, #2 - ldr r2, lbl_0800c1c8 @ =gBG1XPosition + ldr r2, lbl_0800c1c8 @ =gBg1XPosition ldrh r0, [r2] lsrs r0, r0, #2 subs r0, r1, r0 mov sb, r0 ldrh r0, [r3, #0x14] lsrs r0, r0, #2 - ldr r3, lbl_0800c1cc @ =gBG1YPosition + ldr r3, lbl_0800c1cc @ =gBg1YPosition ldrh r1, [r3] lsrs r1, r1, #2 subs r0, r0, r1 @@ -14086,8 +14086,8 @@ lbl_0800c1b8: .4byte gSamusOnTopOfBackgrounds lbl_0800c1bc: .4byte gOamData lbl_0800c1c0: .4byte gNextOamSlot lbl_0800c1c4: .4byte gSamusEnvironmentalEffects -lbl_0800c1c8: .4byte gBG1XPosition -lbl_0800c1cc: .4byte gBG1YPosition +lbl_0800c1c8: .4byte gBg1XPosition +lbl_0800c1cc: .4byte gBg1YPosition lbl_0800c1d0: .4byte 0x000001ff lbl_0800c1d4: .4byte 0xfffffe00 lbl_0800c1d8: .4byte gSamusData @@ -14122,7 +14122,7 @@ lbl_0800c208: adds r0, r2, r0 ldrh r1, [r0] lsrs r1, r1, #2 - ldr r3, lbl_0800c2c0 @ =gBG1XPosition + ldr r3, lbl_0800c2c0 @ =gBg1XPosition ldrh r0, [r3] lsrs r0, r0, #2 subs r0, r1, r0 @@ -14132,7 +14132,7 @@ lbl_0800c208: adds r2, r2, r0 ldrh r0, [r2] lsrs r0, r0, #2 - ldr r2, lbl_0800c2c4 @ =gBG1YPosition + ldr r2, lbl_0800c2c4 @ =gBg1YPosition ldrh r1, [r2] lsrs r1, r1, #2 subs r0, r0, r1 @@ -14208,8 +14208,8 @@ lbl_0800c2ae: pop {r0} bx r0 .align 2, 0 -lbl_0800c2c0: .4byte gBG1XPosition -lbl_0800c2c4: .4byte gBG1YPosition +lbl_0800c2c0: .4byte gBg1XPosition +lbl_0800c2c4: .4byte gBg1YPosition lbl_0800c2c8: .4byte gOamData lbl_0800c2cc: .4byte 0x000001ff lbl_0800c2d0: .4byte 0xfffffe00 diff --git a/asm/disasm_0x0800c4b4.s b/asm/disasm_0x0800c4b4.s index 011610cc..663b787b 100644 --- a/asm/disasm_0x0800c4b4.s +++ b/asm/disasm_0x0800c4b4.s @@ -823,7 +823,7 @@ lbl_0800d576: mov r8, r1 ldrh r1, [r7, #2] lsrs r1, r1, #2 - ldr r0, lbl_0800d75c @ =gBG1YPosition + ldr r0, lbl_0800d75c @ =gBg1YPosition ldrh r0, [r0] lsrs r0, r0, #2 subs r1, r1, r0 @@ -832,7 +832,7 @@ lbl_0800d576: str r1, [sp, #0x38] ldrh r1, [r7, #4] lsrs r1, r1, #2 - ldr r0, lbl_0800d760 @ =gBG1XPosition + ldr r0, lbl_0800d760 @ =gBg1XPosition ldrh r0, [r0] lsrs r0, r0, #2 subs r1, r1, r0 @@ -1065,8 +1065,8 @@ lbl_0800d73e: .align 2, 0 lbl_0800d754: .4byte gNextOamSlot lbl_0800d758: .4byte gOamData -lbl_0800d75c: .4byte gBG1YPosition -lbl_0800d760: .4byte gBG1XPosition +lbl_0800d75c: .4byte gBg1YPosition +lbl_0800d760: .4byte gBg1XPosition lbl_0800d764: .4byte gSamusOnTopOfBackgrounds lbl_0800d768: .4byte 0x000001ff lbl_0800d76c: .4byte 0xfffffe00 @@ -1862,10 +1862,10 @@ check_sprite_is_on_screen: @ 0x0800ddd4 beq lbl_0800ddf0 b lbl_0800df0c lbl_0800ddf0: - ldr r0, lbl_0800de88 @ =gBG1YPosition + ldr r0, lbl_0800de88 @ =gBg1YPosition ldrh r0, [r0] mov r8, r0 - ldr r0, lbl_0800de8c @ =gBG1XPosition + ldr r0, lbl_0800de8c @ =gBg1XPosition ldrh r0, [r0] mov sl, r0 mov r0, ip @@ -1939,8 +1939,8 @@ lbl_0800ddf0: strh r0, [r2] b lbl_0800df0c .align 2, 0 -lbl_0800de88: .4byte gBG1YPosition -lbl_0800de8c: .4byte gBG1XPosition +lbl_0800de88: .4byte gBg1YPosition +lbl_0800de8c: .4byte gBg1XPosition lbl_0800de90: mov r3, ip ldrh r1, [r3] diff --git a/asm/disasm_0x080183d8.s b/asm/disasm_0x080183d8.s index 7fc25314..a5daba16 100644 --- a/asm/disasm_0x080183d8.s +++ b/asm/disasm_0x080183d8.s @@ -883,7 +883,7 @@ lbl_08018a84: .4byte gSubSpriteData1 lbl_08018a88: .4byte gSamusData lbl_08018a8c: .4byte 0xfffffe40 lbl_08018a90: - ldr r0, lbl_08018ae8 @ =gBG1YPosition + ldr r0, lbl_08018ae8 @ =gBg1YPosition ldrh r0, [r0] subs r0, #0x3c lsls r0, r0, #0x10 @@ -927,7 +927,7 @@ lbl_08018aa2: lsls r6, r0, #4 b lbl_08018b22 .align 2, 0 -lbl_08018ae8: .4byte gBG1YPosition +lbl_08018ae8: .4byte gBg1YPosition lbl_08018aec: .4byte gSpriteRng lbl_08018af0: .4byte gFrameCounter8Bit lbl_08018af4: .4byte 0xfffffed4 diff --git a/asm/disasm_0x08024a10.s b/asm/disasm_0x08024a10.s index 141eeed6..a5111697 100644 --- a/asm/disasm_0x08024a10.s +++ b/asm/disasm_0x08024a10.s @@ -1836,7 +1836,7 @@ lbl_080257e8: ldr r0, lbl_08025864 @ =gSamusData ldrh r1, [r0, #0x12] lsrs r1, r1, #2 - ldr r0, lbl_08025868 @ =gBG1XPosition + ldr r0, lbl_08025868 @ =gBg1XPosition ldrh r0, [r0] lsrs r0, r0, #2 subs r1, r1, r0 @@ -1867,7 +1867,7 @@ lbl_08025858: .4byte 0x00008004 lbl_0802585c: .4byte 0x0000fffc lbl_08025860: .4byte 0x082da88c lbl_08025864: .4byte gSamusData -lbl_08025868: .4byte gBG1XPosition +lbl_08025868: .4byte gBg1XPosition lbl_0802586c: .4byte gEquipment lbl_08025870: .4byte 0x0000018f lbl_08025874: @@ -2008,7 +2008,7 @@ lbl_08025960: beq lbl_0802596c movs r5, #0 lbl_0802596c: - ldr r1, lbl_0802599c @ =gBG1YPosition + ldr r1, lbl_0802599c @ =gBg1YPosition ldrb r0, [r2] lsls r0, r0, #1 adds r0, #0x10 @@ -2031,4 +2031,4 @@ lbl_0802598c: .align 2, 0 lbl_08025994: .4byte gSamusData lbl_08025998: .4byte gSpriteRng -lbl_0802599c: .4byte gBG1YPosition +lbl_0802599c: .4byte gBg1YPosition diff --git a/asm/disasm_0x0804ed08.s b/asm/disasm_0x0804ed08.s index 838be4c8..e842044a 100644 --- a/asm/disasm_0x0804ed08.s +++ b/asm/disasm_0x0804ed08.s @@ -900,7 +900,7 @@ lbl_0804f3f2: adds r4, r0, r2 ldrh r1, [r3, #8] lsrs r1, r1, #2 - ldr r0, lbl_0804f450 @ =gBG1YPosition + ldr r0, lbl_0804f450 @ =gBg1YPosition ldrh r0, [r0] lsrs r0, r0, #2 subs r1, r1, r0 @@ -909,7 +909,7 @@ lbl_0804f3f2: str r1, [sp] ldrh r1, [r3, #0xa] lsrs r1, r1, #2 - ldr r0, lbl_0804f454 @ =gBG1XPosition + ldr r0, lbl_0804f454 @ =gBg1XPosition ldrh r0, [r0] lsrs r0, r0, #2 subs r1, r1, r0 @@ -940,8 +940,8 @@ lbl_0804f3f2: .align 2, 0 lbl_0804f448: .4byte gNextOamSlot lbl_0804f44c: .4byte gOamData -lbl_0804f450: .4byte gBG1YPosition -lbl_0804f454: .4byte gBG1XPosition +lbl_0804f450: .4byte gBg1YPosition +lbl_0804f454: .4byte gBg1XPosition lbl_0804f458: .4byte gIoRegistersBackup lbl_0804f45c: adds r3, #1 @@ -1104,7 +1104,7 @@ check_despawn_projectile: @ 0x0804f578 ands r0, r1 cmp r0, #0 beq lbl_0804f65e - ldr r0, lbl_0804f604 @ =gBG1YPosition + ldr r0, lbl_0804f604 @ =gBg1YPosition ldrh r7, [r6, #8] ldrh r4, [r6, #0xa] mov ip, r4 @@ -1130,7 +1130,7 @@ check_despawn_projectile: @ 0x0804f578 lsls r1, r1, #0x10 lsrs r1, r1, #0x10 mov r8, r1 - ldr r1, lbl_0804f608 @ =gBG1XPosition + ldr r1, lbl_0804f608 @ =gBg1XPosition ldrh r1, [r1] adds r0, r2, r1 lsls r0, r0, #0x10 @@ -1161,8 +1161,8 @@ check_despawn_projectile: @ 0x0804f578 orrs r0, r4 b lbl_0804f65c .align 2, 0 -lbl_0804f604: .4byte gBG1YPosition -lbl_0804f608: .4byte gBG1XPosition +lbl_0804f604: .4byte gBg1YPosition +lbl_0804f608: .4byte gBg1XPosition lbl_0804f60c: ldrb r0, [r6] movs r1, #0xfd diff --git a/asm/disasm_0x08055f7c.s b/asm/disasm_0x08055f7c.s index e017fbb0..d2888d46 100644 --- a/asm/disasm_0x08055f7c.s +++ b/asm/disasm_0x08055f7c.s @@ -135,11 +135,11 @@ lbl_08056074: cmp r0, #0 bne lbl_080560c8 bl ScrollProcessGeneral - ldr r1, lbl_0805614c @ =gBG1YPosition + ldr r1, lbl_0805614c @ =gBg1YPosition ldr r2, lbl_08056150 @ =gCamera ldrh r0, [r2, #2] strh r0, [r1] - ldr r1, lbl_08056154 @ =gBG1XPosition + ldr r1, lbl_08056154 @ =gBg1XPosition ldrh r0, [r2] strh r0, [r1] bl sub_08058ec4 @@ -195,9 +195,9 @@ lbl_0805613c: .4byte gSamusData lbl_08056140: .4byte gPreviousYPosition lbl_08056144: .4byte gPauseScreenFlag lbl_08056148: .4byte gIsLoadingFile -lbl_0805614c: .4byte gBG1YPosition +lbl_0805614c: .4byte gBg1YPosition lbl_08056150: .4byte gCamera -lbl_08056154: .4byte gBG1XPosition +lbl_08056154: .4byte gBg1XPosition lbl_08056158: .4byte gGameModeSub3 lbl_0805615c: ldrh r0, [r2, #0x14] @@ -1263,14 +1263,14 @@ lbl_08056a84: movs r0, #2 strb r0, [r2, #1] lbl_08056a8e: - ldr r0, lbl_08056ab8 @ =gBG1YPosition + ldr r0, lbl_08056ab8 @ =gBg1YPosition movs r1, #0 strh r1, [r0] - ldr r0, lbl_08056abc @ =gBG1XPosition + ldr r0, lbl_08056abc @ =gBg1XPosition strh r1, [r0] - ldr r0, lbl_08056ac0 @ =gBG0XPosition + ldr r0, lbl_08056ac0 @ =gBg0XPosition strh r1, [r0] - ldr r0, lbl_08056ac4 @ =gBG0YPosition + ldr r0, lbl_08056ac4 @ =gBg0YPosition strh r1, [r0] lbl_08056aa0: pop {r3, r4, r5} @@ -1283,10 +1283,10 @@ lbl_08056aa0: .align 2, 0 lbl_08056ab0: .4byte gSamusPhysics lbl_08056ab4: .4byte gSamusData -lbl_08056ab8: .4byte gBG1YPosition -lbl_08056abc: .4byte gBG1XPosition -lbl_08056ac0: .4byte gBG0XPosition -lbl_08056ac4: .4byte gBG0YPosition +lbl_08056ab8: .4byte gBg1YPosition +lbl_08056abc: .4byte gBg1XPosition +lbl_08056ac0: .4byte gBg0XPosition +lbl_08056ac4: .4byte gBg0YPosition thumb_func_start set_automatic_bg_scrolling set_automatic_bg_scrolling: @ 0x08056ac8 @@ -1355,37 +1355,37 @@ RoomSetInitialTilemap: @ 0x08056b28 bne lbl_08056b58 ldr r1, lbl_08056b4c @ =gCurrentRoomEntry ldrb r2, [r1, #1] - ldr r0, lbl_08056b50 @ =gBG0YPosition + ldr r0, lbl_08056b50 @ =gBg0YPosition ldrh r0, [r0] lsrs r6, r0, #6 - ldr r0, lbl_08056b54 @ =gBG0XPosition + ldr r0, lbl_08056b54 @ =gBg0XPosition b lbl_08056b84 .align 2, 0 lbl_08056b4c: .4byte gCurrentRoomEntry -lbl_08056b50: .4byte gBG0YPosition -lbl_08056b54: .4byte gBG0XPosition +lbl_08056b50: .4byte gBg0YPosition +lbl_08056b54: .4byte gBg0XPosition lbl_08056b58: mov r0, sb cmp r0, #1 bne lbl_08056b78 ldr r1, lbl_08056b6c @ =gCurrentRoomEntry ldrb r2, [r1, #2] - ldr r0, lbl_08056b70 @ =gBG1YPosition + ldr r0, lbl_08056b70 @ =gBg1YPosition ldrh r0, [r0] lsrs r6, r0, #6 - ldr r0, lbl_08056b74 @ =gBG1XPosition + ldr r0, lbl_08056b74 @ =gBg1XPosition b lbl_08056b84 .align 2, 0 lbl_08056b6c: .4byte gCurrentRoomEntry -lbl_08056b70: .4byte gBG1YPosition -lbl_08056b74: .4byte gBG1XPosition +lbl_08056b70: .4byte gBg1YPosition +lbl_08056b74: .4byte gBg1XPosition lbl_08056b78: ldr r1, lbl_08056c94 @ =gCurrentRoomEntry ldrb r2, [r1, #3] - ldr r0, lbl_08056c98 @ =gBG2YPosition + ldr r0, lbl_08056c98 @ =gBg2YPosition ldrh r0, [r0] lsrs r6, r0, #6 - ldr r0, lbl_08056c9c @ =gBG2XPosition + ldr r0, lbl_08056c9c @ =gBg2XPosition lbl_08056b84: ldrh r0, [r0] lsrs r3, r0, #6 @@ -1534,8 +1534,8 @@ lbl_08056c82: b lbl_08056d02 .align 2, 0 lbl_08056c94: .4byte gCurrentRoomEntry -lbl_08056c98: .4byte gBG2YPosition -lbl_08056c9c: .4byte gBG2XPosition +lbl_08056c98: .4byte gBg2YPosition +lbl_08056c9c: .4byte gBg2XPosition lbl_08056ca0: .4byte gBgPointersAndDimensions lbl_08056ca4: .4byte 0x06000800 lbl_08056ca8: .4byte gTilemapAndClipPointers @@ -2073,13 +2073,13 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac adds r5, r0, #0 bl update_horizontal_screen_shake adds r4, r0, #0 - ldr r0, lbl_0805711c @ =gBG1XPosition + ldr r0, lbl_0805711c @ =gBg1XPosition ldrh r1, [r0] lsrs r1, r1, #2 ldr r0, lbl_08057120 @ =0x000001ff adds r3, r0, #0 ands r1, r3 - ldr r0, lbl_08057124 @ =gBG1YPosition + ldr r0, lbl_08057124 @ =gBg1YPosition ldrh r0, [r0] lsrs r0, r0, #2 ands r0, r3 @@ -2088,13 +2088,13 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac strh r1, [r2, #4] adds r0, r0, r5 strh r0, [r2, #6] - ldr r0, lbl_0805712c @ =gBG2XPosition + ldr r0, lbl_0805712c @ =gBg2XPosition ldrh r0, [r0] lsrs r0, r0, #2 ands r0, r3 adds r0, r0, r4 strh r0, [r2, #8] - ldr r0, lbl_08057130 @ =gBG2YPosition + ldr r0, lbl_08057130 @ =gBg2YPosition ldrh r0, [r0] lsrs r0, r0, #2 ands r0, r3 @@ -2107,7 +2107,7 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac ands r0, r1 cmp r0, #0 beq lbl_08057144 - ldr r0, lbl_08057138 @ =gBG0XPosition + ldr r0, lbl_08057138 @ =gBg0XPosition ldrh r0, [r0] ldr r1, lbl_0805713c @ =gBG0Movement lsrs r0, r0, #2 @@ -2115,7 +2115,7 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac adds r0, r0, r6 ands r0, r3 strh r0, [r2] - ldr r0, lbl_08057140 @ =gBG0YPosition + ldr r0, lbl_08057140 @ =gBg0YPosition ldrh r0, [r0] lsrs r0, r0, #2 ldrh r1, [r1, #6] @@ -2123,18 +2123,18 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac ands r0, r3 b lbl_08057164 .align 2, 0 -lbl_0805711c: .4byte gBG1XPosition +lbl_0805711c: .4byte gBg1XPosition lbl_08057120: .4byte 0x000001ff -lbl_08057124: .4byte gBG1YPosition +lbl_08057124: .4byte gBg1YPosition lbl_08057128: .4byte gBackgroundPositions -lbl_0805712c: .4byte gBG2XPosition -lbl_08057130: .4byte gBG2YPosition +lbl_0805712c: .4byte gBg2XPosition +lbl_08057130: .4byte gBg2YPosition lbl_08057134: .4byte gScreenShakeRelated -lbl_08057138: .4byte gBG0XPosition +lbl_08057138: .4byte gBg0XPosition lbl_0805713c: .4byte gBG0Movement -lbl_08057140: .4byte gBG0YPosition +lbl_08057140: .4byte gBg0YPosition lbl_08057144: - ldr r0, lbl_08057198 @ =gBG0XPosition + ldr r0, lbl_08057198 @ =gBg0XPosition ldrh r0, [r0] ldr r1, lbl_0805719c @ =gBG0Movement lsrs r0, r0, #2 @@ -2143,7 +2143,7 @@ lbl_08057144: ands r0, r3 adds r0, r0, r4 strh r0, [r2] - ldr r0, lbl_080571a0 @ =gBG0YPosition + ldr r0, lbl_080571a0 @ =gBg0YPosition ldrh r0, [r0] lsrs r0, r0, #2 ldrh r1, [r1, #6] @@ -2152,7 +2152,7 @@ lbl_08057144: adds r0, r0, r5 lbl_08057164: strh r0, [r2, #2] - ldr r0, lbl_080571a4 @ =gBG3XPosition + ldr r0, lbl_080571a4 @ =gBg3XPosition ldrh r0, [r0] ldr r1, lbl_080571a8 @ =gBG3Movement lsrs r0, r0, #2 @@ -2161,7 +2161,7 @@ lbl_08057164: ldr r0, lbl_080571ac @ =0x000001ff adds r1, r0, #0 ands r3, r1 - ldr r0, lbl_080571b0 @ =gBG3YPosition + ldr r0, lbl_080571b0 @ =gBg3YPosition ldrh r0, [r0] lsrs r2, r0, #2 ands r2, r1 @@ -2177,13 +2177,13 @@ lbl_08057164: strh r2, [r0, #0xe] b lbl_080571ca .align 2, 0 -lbl_08057198: .4byte gBG0XPosition +lbl_08057198: .4byte gBg0XPosition lbl_0805719c: .4byte gBG0Movement -lbl_080571a0: .4byte gBG0YPosition -lbl_080571a4: .4byte gBG3XPosition +lbl_080571a0: .4byte gBg0YPosition +lbl_080571a4: .4byte gBg3XPosition lbl_080571a8: .4byte gBG3Movement lbl_080571ac: .4byte 0x000001ff -lbl_080571b0: .4byte gBG3YPosition +lbl_080571b0: .4byte gBg3YPosition lbl_080571b4: .4byte gScreenShakeRelated lbl_080571b8: .4byte gBackgroundPositions lbl_080571bc: @@ -2219,35 +2219,35 @@ lbl_080571ea: bne lbl_08057208 mov r1, sb ldrb r4, [r1, #1] - ldr r0, lbl_08057200 @ =gBG0YPosition + ldr r0, lbl_08057200 @ =gBg0YPosition ldrh r0, [r0] lsrs r2, r0, #6 - ldr r0, lbl_08057204 @ =gBG0XPosition + ldr r0, lbl_08057204 @ =gBg0XPosition b lbl_08057230 .align 2, 0 lbl_080571fc: .4byte gCurrentRoomEntry -lbl_08057200: .4byte gBG0YPosition -lbl_08057204: .4byte gBG0XPosition +lbl_08057200: .4byte gBg0YPosition +lbl_08057204: .4byte gBg0XPosition lbl_08057208: cmp r7, #1 bne lbl_08057224 mov r2, sb ldrb r4, [r2, #2] - ldr r0, lbl_0805721c @ =gBG1YPosition + ldr r0, lbl_0805721c @ =gBg1YPosition ldrh r0, [r0] lsrs r2, r0, #6 - ldr r0, lbl_08057220 @ =gBG1XPosition + ldr r0, lbl_08057220 @ =gBg1XPosition b lbl_08057230 .align 2, 0 -lbl_0805721c: .4byte gBG1YPosition -lbl_08057220: .4byte gBG1XPosition +lbl_0805721c: .4byte gBg1YPosition +lbl_08057220: .4byte gBg1XPosition lbl_08057224: mov r0, sb ldrb r4, [r0, #3] - ldr r0, lbl_080572e8 @ =gBG2YPosition + ldr r0, lbl_080572e8 @ =gBg2YPosition ldrh r0, [r0] lsrs r2, r0, #6 - ldr r0, lbl_080572ec @ =gBG2XPosition + ldr r0, lbl_080572ec @ =gBg2XPosition lbl_08057230: ldrh r0, [r0] lsrs r5, r0, #6 @@ -2347,8 +2347,8 @@ lbl_080572d4: pop {r0} bx r0 .align 2, 0 -lbl_080572e8: .4byte gBG2YPosition -lbl_080572ec: .4byte gBG2XPosition +lbl_080572e8: .4byte gBg2YPosition +lbl_080572ec: .4byte gBg2XPosition lbl_080572f0: .4byte gBgPointersAndDimensions lbl_080572f4: .4byte gTilemapAndClipPointers @@ -2369,36 +2369,36 @@ lbl_0805730c: bne lbl_0805732c ldr r0, lbl_08057320 @ =gCurrentRoomEntry ldrb r4, [r0, #1] - ldr r0, lbl_08057324 @ =gBG0YPosition + ldr r0, lbl_08057324 @ =gBg0YPosition ldrh r0, [r0] lsrs r5, r0, #6 - ldr r0, lbl_08057328 @ =gBG0XPosition + ldr r0, lbl_08057328 @ =gBg0XPosition b lbl_08057358 .align 2, 0 lbl_08057320: .4byte gCurrentRoomEntry -lbl_08057324: .4byte gBG0YPosition -lbl_08057328: .4byte gBG0XPosition +lbl_08057324: .4byte gBg0YPosition +lbl_08057328: .4byte gBg0XPosition lbl_0805732c: cmp r6, #1 bne lbl_0805734c ldr r1, lbl_08057340 @ =gCurrentRoomEntry ldrb r4, [r1, #2] - ldr r0, lbl_08057344 @ =gBG1YPosition + ldr r0, lbl_08057344 @ =gBg1YPosition ldrh r0, [r0] lsrs r5, r0, #6 - ldr r0, lbl_08057348 @ =gBG1XPosition + ldr r0, lbl_08057348 @ =gBg1XPosition b lbl_08057358 .align 2, 0 lbl_08057340: .4byte gCurrentRoomEntry -lbl_08057344: .4byte gBG1YPosition -lbl_08057348: .4byte gBG1XPosition +lbl_08057344: .4byte gBg1YPosition +lbl_08057348: .4byte gBg1XPosition lbl_0805734c: ldr r7, lbl_08057424 @ =gCurrentRoomEntry ldrb r4, [r7, #3] - ldr r0, lbl_08057428 @ =gBG2YPosition + ldr r0, lbl_08057428 @ =gBg2YPosition ldrh r0, [r0] lsrs r5, r0, #6 - ldr r0, lbl_0805742c @ =gBG2XPosition + ldr r0, lbl_0805742c @ =gBg2XPosition lbl_08057358: ldrh r0, [r0] lsrs r1, r0, #6 @@ -2509,8 +2509,8 @@ lbl_08057412: bx r0 .align 2, 0 lbl_08057424: .4byte gCurrentRoomEntry -lbl_08057428: .4byte gBG2YPosition -lbl_0805742c: .4byte gBG2XPosition +lbl_08057428: .4byte gBg2YPosition +lbl_0805742c: .4byte gBg2XPosition lbl_08057430: .4byte gBgPointersAndDimensions lbl_08057434: .4byte 0x06000800 lbl_08057438: .4byte gTilemapAndClipPointers diff --git a/asm/disasm_0x080582c4.s b/asm/disasm_0x080582c4.s index 3f1d1e52..1b9012e9 100644 --- a/asm/disasm_0x080582c4.s +++ b/asm/disasm_0x080582c4.s @@ -66,7 +66,7 @@ ScrollScreen: @ 0x08058328 adds r5, r1, #0 cmp r0, #0 beq lbl_080583dc - ldr r0, lbl_0805836c @ =gBG1YPosition + ldr r0, lbl_0805836c @ =gBg1YPosition adds r3, r0, #0 ldrh r0, [r3] cmp r2, r0 @@ -84,7 +84,7 @@ ScrollScreen: @ 0x08058328 .align 2, 0 lbl_08058364: .4byte gCamera lbl_08058368: .4byte gGameModeSub1 -lbl_0805836c: .4byte gBG1YPosition +lbl_0805836c: .4byte gBg1YPosition lbl_08058370: .4byte gUnk_3005714 lbl_08058374: ldr r0, lbl_0805838c @ =gUnk_3005714 @@ -106,7 +106,7 @@ lbl_08058390: movs r0, #0 strb r0, [r5, #5] lbl_08058394: - ldr r0, lbl_080583b4 @ =gBG1XPosition + ldr r0, lbl_080583b4 @ =gBg1XPosition adds r2, r0, #0 ldrh r3, [r2] cmp r4, r3 @@ -122,7 +122,7 @@ lbl_08058394: bge lbl_080583c8 b lbl_080583c6 .align 2, 0 -lbl_080583b4: .4byte gBG1XPosition +lbl_080583b4: .4byte gBg1XPosition lbl_080583b8: .4byte gUnk_3005714 lbl_080583bc: ldr r0, lbl_080583d4 @ =gUnk_3005714 @@ -833,7 +833,7 @@ lbl_080588fc: lbl_080588fe: ldr r2, lbl_0805891c @ =gCamera strh r3, [r2, #2] - ldr r1, lbl_08058920 @ =gBG1YPosition + ldr r1, lbl_08058920 @ =gBg1YPosition ldrh r0, [r1] subs r3, r3, r0 cmp r3, #0 @@ -847,7 +847,7 @@ lbl_080588fe: .align 2, 0 lbl_08058918: .4byte 0xfffffe80 lbl_0805891c: .4byte gCamera -lbl_08058920: .4byte gBG1YPosition +lbl_08058920: .4byte gBg1YPosition lbl_08058924: .4byte gUnk_3005714 lbl_08058928: ldr r0, lbl_08058944 @ =gUnk_3005714 @@ -940,7 +940,7 @@ lbl_080589cc: lbl_080589ce: ldr r2, lbl_080589ec @ =gCamera strh r3, [r2] - ldr r1, lbl_080589f0 @ =gBG1XPosition + ldr r1, lbl_080589f0 @ =gBg1XPosition ldrh r0, [r1] subs r3, r3, r0 cmp r3, #0 @@ -954,7 +954,7 @@ lbl_080589ce: .align 2, 0 lbl_080589e8: .4byte 0xfffffe20 lbl_080589ec: .4byte gCamera -lbl_080589f0: .4byte gBG1XPosition +lbl_080589f0: .4byte gBg1XPosition lbl_080589f4: .4byte gUnk_3005714 lbl_080589f8: ldr r0, lbl_08058a14 @ =gUnk_3005714 @@ -993,23 +993,23 @@ update_effect_and_haze_pos: @ 0x08058a18 beq lbl_08058a36 b lbl_08058c4e lbl_08058a36: - ldr r1, lbl_08058a50 @ =gBG0XPosition - ldr r0, lbl_08058a54 @ =gBG1XPosition + ldr r1, lbl_08058a50 @ =gBg0XPosition + ldr r0, lbl_08058a54 @ =gBg1XPosition ldrh r0, [r0] lsrs r0, r0, #1 strh r0, [r1] - ldr r1, lbl_08058a58 @ =gBG0YPosition - ldr r0, lbl_08058a5c @ =gBG1YPosition + ldr r1, lbl_08058a58 @ =gBg0YPosition + ldr r0, lbl_08058a5c @ =gBg1YPosition ldrh r0, [r0] strh r0, [r1] ldr r6, lbl_08058a60 @ =gEffectYPositionOffset b lbl_08058c64 .align 2, 0 lbl_08058a4c: .4byte gCurrentRoomEntry -lbl_08058a50: .4byte gBG0XPosition -lbl_08058a54: .4byte gBG1XPosition -lbl_08058a58: .4byte gBG0YPosition -lbl_08058a5c: .4byte gBG1YPosition +lbl_08058a50: .4byte gBg0XPosition +lbl_08058a54: .4byte gBg1XPosition +lbl_08058a58: .4byte gBg0YPosition +lbl_08058a5c: .4byte gBg1YPosition lbl_08058a60: .4byte gEffectYPositionOffset lbl_08058a64: mov r0, ip @@ -1019,8 +1019,8 @@ lbl_08058a64: bne lbl_08058a70 b lbl_08058b80 lbl_08058a70: - ldr r1, lbl_08058ab4 @ =gBG0XPosition - ldr r0, lbl_08058ab8 @ =gBG1XPosition + ldr r1, lbl_08058ab4 @ =gBg0XPosition + ldr r0, lbl_08058ab8 @ =gBg1XPosition ldrh r0, [r0] strh r0, [r1] ldr r2, lbl_08058abc @ =gEffectYPositionOffset @@ -1029,7 +1029,7 @@ lbl_08058a70: mov r3, ip ldrh r3, [r3, #0x12] adds r0, r0, r3 - ldr r1, lbl_08058ac0 @ =gBG1YPosition + ldr r1, lbl_08058ac0 @ =gBg1YPosition ldrh r1, [r1] subs r0, r0, r1 asrs r5, r0, #2 @@ -1053,10 +1053,10 @@ lbl_08058a70: b lbl_08058aea .align 2, 0 lbl_08058ab0: .4byte 0x0000ffff -lbl_08058ab4: .4byte gBG0XPosition -lbl_08058ab8: .4byte gBG1XPosition +lbl_08058ab4: .4byte gBg0XPosition +lbl_08058ab8: .4byte gBg1XPosition lbl_08058abc: .4byte gEffectYPositionOffset -lbl_08058ac0: .4byte gBG1YPosition +lbl_08058ac0: .4byte gBg1YPosition lbl_08058ac4: .4byte gWaterMovement lbl_08058ac8: .4byte gPreventMovementTimer lbl_08058acc: .4byte 0x0875fd54 @@ -1144,14 +1144,14 @@ lbl_08058b62: ble lbl_08058b6c adds r5, r0, #0 lbl_08058b6c: - ldr r1, lbl_08058b7c @ =gBG0YPosition + ldr r1, lbl_08058b7c @ =gBg0YPosition rsbs r0, r5, #0 lsls r0, r0, #2 b lbl_08058c62 .align 2, 0 lbl_08058b74: .4byte gIoRegistersBackup lbl_08058b78: .4byte 0x04000008 -lbl_08058b7c: .4byte gBG0YPosition +lbl_08058b7c: .4byte gBg0YPosition lbl_08058b80: movs r7, #1 mov r1, ip @@ -1170,23 +1170,23 @@ lbl_08058b94: beq lbl_08058bb0 b lbl_08058c4c lbl_08058b9e: - ldr r0, lbl_08058ba8 @ =gBG0XPosition + ldr r0, lbl_08058ba8 @ =gBg0XPosition strh r3, [r0] - ldr r0, lbl_08058bac @ =gBG0YPosition + ldr r0, lbl_08058bac @ =gBg0YPosition strh r3, [r0] b lbl_08058c4e .align 2, 0 -lbl_08058ba8: .4byte gBG0XPosition -lbl_08058bac: .4byte gBG0YPosition +lbl_08058ba8: .4byte gBg0XPosition +lbl_08058bac: .4byte gBg0YPosition lbl_08058bb0: - ldr r2, lbl_08058bcc @ =gBG0XPosition - ldr r0, lbl_08058bd0 @ =gBG1XPosition + ldr r2, lbl_08058bcc @ =gBg0XPosition + ldr r0, lbl_08058bd0 @ =gBg1XPosition ldrh r0, [r0] ldrh r1, [r4] subs r0, r0, r1 strh r0, [r2] - ldr r2, lbl_08058bd4 @ =gBG0YPosition - ldr r0, lbl_08058bd8 @ =gBG1YPosition + ldr r2, lbl_08058bd4 @ =gBg0YPosition + ldr r0, lbl_08058bd8 @ =gBg1YPosition ldrh r0, [r0] ldrh r1, [r4, #2] subs r0, r0, r1 @@ -1194,14 +1194,14 @@ lbl_08058bb0: strh r0, [r2] b lbl_08058c4e .align 2, 0 -lbl_08058bcc: .4byte gBG0XPosition -lbl_08058bd0: .4byte gBG1XPosition -lbl_08058bd4: .4byte gBG0YPosition -lbl_08058bd8: .4byte gBG1YPosition +lbl_08058bcc: .4byte gBg0XPosition +lbl_08058bd0: .4byte gBg1XPosition +lbl_08058bd4: .4byte gBg0YPosition +lbl_08058bd8: .4byte gBg1YPosition lbl_08058bdc: movs r5, #0 - ldr r6, lbl_08058c38 @ =gBG0XPosition - ldr r0, lbl_08058c3c @ =gBG1XPosition + ldr r6, lbl_08058c38 @ =gBg0XPosition + ldr r0, lbl_08058c3c @ =gBg1XPosition ldr r3, lbl_08058c40 @ =gWaitingSpacePiratesPosition ldrh r1, [r0] ldrh r0, [r3] @@ -1210,8 +1210,8 @@ lbl_08058bdc: lsls r2, r2, #4 adds r0, r1, r2 strh r0, [r6] - ldr r4, lbl_08058c44 @ =gBG0YPosition - ldr r0, lbl_08058c48 @ =gBG1YPosition + ldr r4, lbl_08058c44 @ =gBg0YPosition + ldr r0, lbl_08058c48 @ =gBg1YPosition ldrh r2, [r0] ldrh r0, [r3, #2] subs r2, r2, r0 @@ -1247,23 +1247,23 @@ lbl_08058c28: strh r0, [r6] b lbl_08058c4e .align 2, 0 -lbl_08058c38: .4byte gBG0XPosition -lbl_08058c3c: .4byte gBG1XPosition +lbl_08058c38: .4byte gBg0XPosition +lbl_08058c3c: .4byte gBg1XPosition lbl_08058c40: .4byte gWaitingSpacePiratesPosition -lbl_08058c44: .4byte gBG0YPosition -lbl_08058c48: .4byte gBG1YPosition +lbl_08058c44: .4byte gBg0YPosition +lbl_08058c48: .4byte gBg1YPosition lbl_08058c4c: movs r7, #0 lbl_08058c4e: ldr r6, lbl_08058c78 @ =gEffectYPositionOffset cmp r7, #0 bne lbl_08058c64 - ldr r1, lbl_08058c7c @ =gBG0YPosition - ldr r0, lbl_08058c80 @ =gBG1YPosition + ldr r1, lbl_08058c7c @ =gBg0YPosition + ldr r0, lbl_08058c80 @ =gBg1YPosition ldrh r0, [r0] strh r0, [r1] - ldr r1, lbl_08058c84 @ =gBG0XPosition - ldr r0, lbl_08058c88 @ =gBG1XPosition + ldr r1, lbl_08058c84 @ =gBg0XPosition + ldr r0, lbl_08058c88 @ =gBg1XPosition ldrh r0, [r0] lbl_08058c62: strh r0, [r1] @@ -1280,10 +1280,10 @@ lbl_08058c64: b lbl_08058cb2 .align 2, 0 lbl_08058c78: .4byte gEffectYPositionOffset -lbl_08058c7c: .4byte gBG0YPosition -lbl_08058c80: .4byte gBG1YPosition -lbl_08058c84: .4byte gBG0XPosition -lbl_08058c88: .4byte gBG1XPosition +lbl_08058c7c: .4byte gBg0YPosition +lbl_08058c80: .4byte gBg1YPosition +lbl_08058c84: .4byte gBg0XPosition +lbl_08058c88: .4byte gBg1XPosition lbl_08058c8c: .4byte 0x0000ffff lbl_08058c90: .4byte gEffectYPosition lbl_08058c94: @@ -1445,31 +1445,31 @@ ScrollBG3: @ 0x08058da0 beq lbl_08058df0 cmp r0, #1 bne lbl_08058dc8 - ldr r1, lbl_08058dc0 @ =gBG3XPosition - ldr r0, lbl_08058dc4 @ =gBG1XPosition + ldr r1, lbl_08058dc0 @ =gBg3XPosition + ldr r0, lbl_08058dc4 @ =gBg1XPosition ldrh r0, [r0] subs r0, #0x80 b lbl_08058dee .align 2, 0 -lbl_08058dc0: .4byte gBG3XPosition -lbl_08058dc4: .4byte gBG1XPosition +lbl_08058dc0: .4byte gBg3XPosition +lbl_08058dc4: .4byte gBg1XPosition lbl_08058dc8: cmp r0, #2 bne lbl_08058de0 - ldr r1, lbl_08058dd8 @ =gBG3XPosition - ldr r0, lbl_08058ddc @ =gBG1XPosition + ldr r1, lbl_08058dd8 @ =gBg3XPosition + ldr r0, lbl_08058ddc @ =gBg1XPosition ldrh r0, [r0] subs r0, #0x80 asrs r0, r0, #1 b lbl_08058dee .align 2, 0 -lbl_08058dd8: .4byte gBG3XPosition -lbl_08058ddc: .4byte gBG1XPosition +lbl_08058dd8: .4byte gBg3XPosition +lbl_08058ddc: .4byte gBg1XPosition lbl_08058de0: cmp r0, #3 bne lbl_08058df0 - ldr r1, lbl_08058e20 @ =gBG3XPosition - ldr r0, lbl_08058e24 @ =gBG1XPosition + ldr r1, lbl_08058e20 @ =gBg3XPosition + ldr r0, lbl_08058e24 @ =gBg1XPosition ldrh r0, [r0] subs r0, #0x80 asrs r0, r0, #2 @@ -1502,22 +1502,22 @@ lbl_08058e12: movs r2, #0 b lbl_08058e4c .align 2, 0 -lbl_08058e20: .4byte gBG3XPosition -lbl_08058e24: .4byte gBG1XPosition +lbl_08058e20: .4byte gBg3XPosition +lbl_08058e24: .4byte gBg1XPosition lbl_08058e28: .4byte gCurrentRoomEntry lbl_08058e2c: .4byte gBgPointersAndDimensions lbl_08058e30: .4byte 0xfffffd80 lbl_08058e34: cmp r3, #1 bne lbl_08058e44 - ldr r0, lbl_08058e40 @ =gBG1YPosition + ldr r0, lbl_08058e40 @ =gBg1YPosition ldrh r0, [r0] subs r2, r2, r0 b lbl_08058e4c .align 2, 0 -lbl_08058e40: .4byte gBG1YPosition +lbl_08058e40: .4byte gBg1YPosition lbl_08058e44: - ldr r0, lbl_08058e58 @ =gBG1YPosition + ldr r0, lbl_08058e58 @ =gBg1YPosition ldrh r0, [r0] subs r0, r2, r0 asrs r2, r0, #2 @@ -1525,52 +1525,52 @@ lbl_08058e4c: subs r1, r1, r2 cmp r1, #0 ble lbl_08058e60 - ldr r0, lbl_08058e5c @ =gBG3YPosition + ldr r0, lbl_08058e5c @ =gBg3YPosition strh r1, [r0] b lbl_08058eb8 .align 2, 0 -lbl_08058e58: .4byte gBG1YPosition -lbl_08058e5c: .4byte gBG3YPosition +lbl_08058e58: .4byte gBg1YPosition +lbl_08058e5c: .4byte gBg3YPosition lbl_08058e60: - ldr r1, lbl_08058e68 @ =gBG3YPosition + ldr r1, lbl_08058e68 @ =gBg3YPosition movs r0, #0 b lbl_08058eb6 .align 2, 0 -lbl_08058e68: .4byte gBG3YPosition +lbl_08058e68: .4byte gBg3YPosition lbl_08058e6c: cmp r3, #0 bne lbl_08058e7c - ldr r0, lbl_08058e78 @ =gBG3YPosition + ldr r0, lbl_08058e78 @ =gBg3YPosition strh r3, [r0] b lbl_08058eb8 .align 2, 0 -lbl_08058e78: .4byte gBG3YPosition +lbl_08058e78: .4byte gBg3YPosition lbl_08058e7c: cmp r3, #1 bne lbl_08058e94 - ldr r1, lbl_08058e8c @ =gBG3YPosition - ldr r0, lbl_08058e90 @ =gBG1YPosition + ldr r1, lbl_08058e8c @ =gBg3YPosition + ldr r0, lbl_08058e90 @ =gBg1YPosition ldrh r0, [r0] subs r0, #0x80 b lbl_08058eb6 .align 2, 0 -lbl_08058e8c: .4byte gBG3YPosition -lbl_08058e90: .4byte gBG1YPosition +lbl_08058e8c: .4byte gBg3YPosition +lbl_08058e90: .4byte gBg1YPosition lbl_08058e94: cmp r3, #2 bne lbl_08058eac - ldr r1, lbl_08058ea4 @ =gBG3YPosition - ldr r0, lbl_08058ea8 @ =gBG1YPosition + ldr r1, lbl_08058ea4 @ =gBg3YPosition + ldr r0, lbl_08058ea8 @ =gBg1YPosition ldrh r0, [r0] subs r0, #0x80 asrs r0, r0, #1 b lbl_08058eb6 .align 2, 0 -lbl_08058ea4: .4byte gBG3YPosition -lbl_08058ea8: .4byte gBG1YPosition +lbl_08058ea4: .4byte gBg3YPosition +lbl_08058ea8: .4byte gBg1YPosition lbl_08058eac: - ldr r1, lbl_08058ebc @ =gBG3YPosition - ldr r0, lbl_08058ec0 @ =gBG1YPosition + ldr r1, lbl_08058ebc @ =gBg3YPosition + ldr r0, lbl_08058ec0 @ =gBg1YPosition ldrh r0, [r0] subs r0, #0x80 asrs r0, r0, #2 @@ -1580,8 +1580,8 @@ lbl_08058eb8: pop {r0} bx r0 .align 2, 0 -lbl_08058ebc: .4byte gBG3YPosition -lbl_08058ec0: .4byte gBG1YPosition +lbl_08058ebc: .4byte gBg3YPosition +lbl_08058ec0: .4byte gBg1YPosition thumb_func_start sub_08058ec4 sub_08058ec4: @ 0x08058ec4 @@ -1592,28 +1592,28 @@ sub_08058ec4: @ 0x08058ec4 ands r1, r0 cmp r1, #0 bne lbl_08058ee0 - ldr r0, lbl_08058edc @ =gBG3XPosition + ldr r0, lbl_08058edc @ =gBg3XPosition strh r1, [r0] b lbl_08058f08 .align 2, 0 -lbl_08058edc: .4byte gBG3XPosition +lbl_08058edc: .4byte gBg3XPosition lbl_08058ee0: cmp r1, #2 bne lbl_08058ef8 - ldr r1, lbl_08058ef0 @ =gBG3XPosition - ldr r0, lbl_08058ef4 @ =gBG1XPosition + ldr r1, lbl_08058ef0 @ =gBg3XPosition + ldr r0, lbl_08058ef4 @ =gBg1XPosition ldrh r0, [r0] subs r0, #0x80 asrs r0, r0, #1 b lbl_08058f06 .align 2, 0 -lbl_08058ef0: .4byte gBG3XPosition -lbl_08058ef4: .4byte gBG1XPosition +lbl_08058ef0: .4byte gBg3XPosition +lbl_08058ef4: .4byte gBg1XPosition lbl_08058ef8: cmp r1, #3 bne lbl_08058f08 - ldr r1, lbl_08058f0c @ =gBG3XPosition - ldr r0, lbl_08058f10 @ =gBG1XPosition + ldr r1, lbl_08058f0c @ =gBg3XPosition + ldr r0, lbl_08058f10 @ =gBg1XPosition ldrh r0, [r0] subs r0, #0x80 asrs r0, r0, #2 @@ -1623,8 +1623,8 @@ lbl_08058f08: pop {r0} bx r0 .align 2, 0 -lbl_08058f0c: .4byte gBG3XPosition -lbl_08058f10: .4byte gBG1XPosition +lbl_08058f0c: .4byte gBg3XPosition +lbl_08058f10: .4byte gBg1XPosition thumb_func_start automatic_scroll_bg3 automatic_scroll_bg3: @ 0x08058f14 @@ -1670,7 +1670,7 @@ ScrollBG2: @ 0x08058f40 lsrs r0, r0, #0x18 cmp r0, #0x31 bne lbl_08058fd0 - ldr r2, lbl_08058f7c @ =gBG1XPosition + ldr r2, lbl_08058f7c @ =gBg1XPosition ldr r1, lbl_08058f80 @ =gBG2Movement movs r3, #0 ldrsh r0, [r1, r3] @@ -1683,7 +1683,7 @@ ScrollBG2: @ 0x08058f40 b lbl_08058f92 .align 2, 0 lbl_08058f78: .4byte gCurrentRoomEntry -lbl_08058f7c: .4byte gBG1XPosition +lbl_08058f7c: .4byte gBg1XPosition lbl_08058f80: .4byte gBG2Movement lbl_08058f84: ldr r0, lbl_08058fa8 @ =gBgPointersAndDimensions @@ -1694,9 +1694,9 @@ lbl_08058f84: bge lbl_08058f92 adds r2, r0, #0 lbl_08058f92: - ldr r0, lbl_08058fac @ =gBG2XPosition + ldr r0, lbl_08058fac @ =gBg2XPosition strh r2, [r0] - ldr r1, lbl_08058fb0 @ =gBG1YPosition + ldr r1, lbl_08058fb0 @ =gBg1YPosition movs r2, #2 ldrsh r0, [r3, r2] ldrh r1, [r1] @@ -1707,8 +1707,8 @@ lbl_08058f92: b lbl_08058fc2 .align 2, 0 lbl_08058fa8: .4byte gBgPointersAndDimensions -lbl_08058fac: .4byte gBG2XPosition -lbl_08058fb0: .4byte gBG1YPosition +lbl_08058fac: .4byte gBg2XPosition +lbl_08058fb0: .4byte gBg1YPosition lbl_08058fb4: ldr r0, lbl_08058fc8 @ =gBgPointersAndDimensions ldrh r0, [r0, #0x16] @@ -1718,38 +1718,38 @@ lbl_08058fb4: bge lbl_08058fc2 adds r2, r0, #0 lbl_08058fc2: - ldr r0, lbl_08058fcc @ =gBG2YPosition + ldr r0, lbl_08058fcc @ =gBg2YPosition strh r2, [r0] b lbl_08058ffc .align 2, 0 lbl_08058fc8: .4byte gBgPointersAndDimensions -lbl_08058fcc: .4byte gBG2YPosition +lbl_08058fcc: .4byte gBg2YPosition lbl_08058fd0: - ldr r1, lbl_08058fe4 @ =gBG2XPosition - ldr r0, lbl_08058fe8 @ =gBG1XPosition + ldr r1, lbl_08058fe4 @ =gBg2XPosition + ldr r0, lbl_08058fe8 @ =gBg1XPosition ldrh r0, [r0] strh r0, [r1] - ldr r1, lbl_08058fec @ =gBG2YPosition - ldr r0, lbl_08058ff0 @ =gBG1YPosition + ldr r1, lbl_08058fec @ =gBg2YPosition + ldr r0, lbl_08058ff0 @ =gBg1YPosition ldrh r0, [r0] strh r0, [r1] b lbl_08058ffc .align 2, 0 -lbl_08058fe4: .4byte gBG2XPosition -lbl_08058fe8: .4byte gBG1XPosition -lbl_08058fec: .4byte gBG2YPosition -lbl_08058ff0: .4byte gBG1YPosition +lbl_08058fe4: .4byte gBg2XPosition +lbl_08058fe8: .4byte gBg1XPosition +lbl_08058fec: .4byte gBg2YPosition +lbl_08058ff0: .4byte gBg1YPosition lbl_08058ff4: - ldr r0, lbl_08059000 @ =gBG2XPosition + ldr r0, lbl_08059000 @ =gBg2XPosition strh r1, [r0] - ldr r0, lbl_08059004 @ =gBG2YPosition + ldr r0, lbl_08059004 @ =gBg2YPosition strh r1, [r0] lbl_08058ffc: pop {r0} bx r0 .align 2, 0 -lbl_08059000: .4byte gBG2XPosition -lbl_08059004: .4byte gBG2YPosition +lbl_08059000: .4byte gBg2XPosition +lbl_08059004: .4byte gBg2YPosition thumb_func_start sub_08059008 sub_08059008: @ 0x08059008 @@ -1759,12 +1759,12 @@ sub_08059008: @ 0x08059008 ldr r0, lbl_0805901c @ =0x000001df cmp r1, r0 bhi lbl_08059024 - ldr r1, lbl_08059020 @ =gBG1XPosition + ldr r1, lbl_08059020 @ =gBg1XPosition movs r0, #0 b lbl_08059052 .align 2, 0 lbl_0805901c: .4byte 0x000001df -lbl_08059020: .4byte gBG1XPosition +lbl_08059020: .4byte gBg1XPosition lbl_08059024: ldrh r3, [r4] ldr r0, lbl_0805903c @ =gBgPointersAndDimensions @@ -1774,17 +1774,17 @@ lbl_08059024: adds r0, r2, r1 cmp r3, r0 ble lbl_0805904c - ldr r1, lbl_08059044 @ =gBG1XPosition + ldr r1, lbl_08059044 @ =gBg1XPosition ldr r3, lbl_08059048 @ =0xfffffc40 adds r0, r2, r3 b lbl_08059052 .align 2, 0 lbl_0805903c: .4byte gBgPointersAndDimensions lbl_08059040: .4byte 0xfffffe20 -lbl_08059044: .4byte gBG1XPosition +lbl_08059044: .4byte gBg1XPosition lbl_08059048: .4byte 0xfffffc40 lbl_0805904c: - ldr r1, lbl_08059064 @ =gBG1XPosition + ldr r1, lbl_08059064 @ =gBg1XPosition ldr r2, lbl_08059068 @ =0xfffffe20 adds r0, r3, r2 lbl_08059052: @@ -1793,14 +1793,14 @@ lbl_08059052: ldr r0, lbl_0805906c @ =0x0000017f cmp r1, r0 bhi lbl_08059074 - ldr r1, lbl_08059070 @ =gBG1YPosition + ldr r1, lbl_08059070 @ =gBg1YPosition movs r0, #0 b lbl_0805909e .align 2, 0 -lbl_08059064: .4byte gBG1XPosition +lbl_08059064: .4byte gBg1XPosition lbl_08059068: .4byte 0xfffffe20 lbl_0805906c: .4byte 0x0000017f -lbl_08059070: .4byte gBG1YPosition +lbl_08059070: .4byte gBg1YPosition lbl_08059074: ldrh r3, [r4, #2] ldr r0, lbl_0805908c @ =gBgPointersAndDimensions @@ -1810,16 +1810,16 @@ lbl_08059074: subs r0, #0xc0 cmp r3, r0 ble lbl_08059098 - ldr r1, lbl_08059090 @ =gBG1YPosition + ldr r1, lbl_08059090 @ =gBg1YPosition ldr r3, lbl_08059094 @ =0xfffffdc0 adds r0, r2, r3 b lbl_0805909e .align 2, 0 lbl_0805908c: .4byte gBgPointersAndDimensions -lbl_08059090: .4byte gBG1YPosition +lbl_08059090: .4byte gBg1YPosition lbl_08059094: .4byte 0xfffffdc0 lbl_08059098: - ldr r1, lbl_080590a8 @ =gBG1YPosition + ldr r1, lbl_080590a8 @ =gBg1YPosition ldr r2, lbl_080590ac @ =0xfffffe80 adds r0, r3, r2 lbl_0805909e: @@ -1828,7 +1828,7 @@ lbl_0805909e: pop {r0} bx r0 .align 2, 0 -lbl_080590a8: .4byte gBG1YPosition +lbl_080590a8: .4byte gBg1YPosition lbl_080590ac: .4byte 0xfffffe80 thumb_func_start sub_080590b0 @@ -3422,7 +3422,7 @@ lbl_08059d00: lsls r0, r0, #1 adds r0, r0, r1 strh r5, [r0] - ldr r0, lbl_08059d94 @ =gBG1YPosition + ldr r0, lbl_08059d94 @ =gBg1YPosition ldrh r0, [r0] lsrs r3, r0, #6 subs r0, r3, #4 @@ -3432,7 +3432,7 @@ lbl_08059d00: adds r0, #0x11 cmp r2, r0 bgt lbl_08059d8a - ldr r0, lbl_08059d98 @ =gBG1XPosition + ldr r0, lbl_08059d98 @ =gBg1XPosition ldrh r0, [r0] lsrs r3, r0, #6 subs r0, r3, #4 @@ -3488,8 +3488,8 @@ lbl_08059d8a: bx r0 .align 2, 0 lbl_08059d90: .4byte gBgPointersAndDimensions -lbl_08059d94: .4byte gBG1YPosition -lbl_08059d98: .4byte gBG1XPosition +lbl_08059d94: .4byte gBg1YPosition +lbl_08059d98: .4byte gBg1XPosition lbl_08059d9c: .4byte 0x06001000 lbl_08059da0: .4byte 0x06001800 lbl_08059da4: .4byte gTilemapAndClipPointers @@ -4344,7 +4344,7 @@ sub_0805a3e0: @ 0x0805a3e0 ldr r1, [r2, #8] adds r0, r0, r1 strh r3, [r0] - ldr r0, lbl_0805a470 @ =gBG1YPosition + ldr r0, lbl_0805a470 @ =gBg1YPosition ldrh r0, [r0] lsrs r1, r0, #6 subs r0, r1, #4 @@ -4353,7 +4353,7 @@ sub_0805a3e0: @ 0x0805a3e0 adds r0, #0x11 cmp r4, r0 bgt lbl_0805a466 - ldr r0, lbl_0805a474 @ =gBG1XPosition + ldr r0, lbl_0805a474 @ =gBg1XPosition ldrh r0, [r0] lsrs r1, r0, #6 subs r0, r1, #4 @@ -4396,8 +4396,8 @@ lbl_0805a466: bx r0 .align 2, 0 lbl_0805a46c: .4byte gBgPointersAndDimensions -lbl_0805a470: .4byte gBG1YPosition -lbl_0805a474: .4byte gBG1XPosition +lbl_0805a470: .4byte gBg1YPosition +lbl_0805a474: .4byte gBg1XPosition lbl_0805a478: .4byte 0x06001000 lbl_0805a47c: .4byte 0x06001800 lbl_0805a480: .4byte gTilemapAndClipPointers diff --git a/asm/disasm_0x0805e760.s b/asm/disasm_0x0805e760.s index c2043391..834a2c98 100644 --- a/asm/disasm_0x0805e760.s +++ b/asm/disasm_0x0805e760.s @@ -702,7 +702,7 @@ lbl_0805ecc2: cmp r0, #2 bls lbl_0805ece4 ldrb r1, [r4, #2] - ldr r0, lbl_0805ed54 @ =gBG1XPosition + ldr r0, lbl_0805ed54 @ =gBg1XPosition ldrh r0, [r0] lsrs r0, r0, #6 adds r0, #8 @@ -769,7 +769,7 @@ lbl_0805ed20: movs r5, #1 b lbl_0805ed82 .align 2, 0 -lbl_0805ed54: .4byte gBG1XPosition +lbl_0805ed54: .4byte gBg1XPosition lbl_0805ed58: .4byte gDoorPositionStart lbl_0805ed5c: .4byte gSamusDoorPositionOffset lbl_0805ed60: .4byte gSamusData diff --git a/asm/disasm_0x08060e28.s b/asm/disasm_0x08060e28.s index 9d0979a1..94b5546d 100644 --- a/asm/disasm_0x08060e28.s +++ b/asm/disasm_0x08060e28.s @@ -595,7 +595,7 @@ sub_080612e0: @ 0x080612e0 strb r0, [r2] ldr r1, lbl_080613d0 @ =gNextOamSlot strb r0, [r1] - bl ResetFreeOAM + bl ResetFreeOam ldr r1, lbl_080613d4 @ =0x04000050 ldr r0, lbl_080613d8 @ =sNonGameplayRamPointer ldr r3, [r0] diff --git a/asm/disasm_0x08068168.s b/asm/disasm_0x08068168.s index 84931f35..1cea733b 100644 --- a/asm/disasm_0x08068168.s +++ b/asm/disasm_0x08068168.s @@ -2730,7 +2730,7 @@ lbl_08069664: movs r0, #1 bl process_menu_oam lbl_08069684: - bl ResetFreeOAM + bl ResetFreeOam pop {r4} pop {r0} bx r0 @@ -4509,7 +4509,7 @@ map_screen_init: @ 0x0806a434 movs r0, #3 movs r1, #0 bl BitFill - bl ResetFreeOAM + bl ResetFreeOam ldr r1, lbl_0806a508 @ =0x040000d4 ldr r0, lbl_0806a50c @ =gOamData str r0, [r1] diff --git a/asm/disasm_0x0806e460.s b/asm/disasm_0x0806e460.s index 6e8b626c..d4ec5e7b 100644 --- a/asm/disasm_0x0806e460.s +++ b/asm/disasm_0x0806e460.s @@ -1581,8 +1581,8 @@ lbl_0806f00a: pop {r0} bx r0 - thumb_func_start draw_location_text -draw_location_text: @ 0x0806f018 + thumb_func_start TextDrawLocationText +TextDrawLocationText: @ 0x0806f018 push {r4, r5, r6, lr} sub sp, #8 adds r4, r0, #0 @@ -1864,8 +1864,8 @@ lbl_0806f24e: bx r1 .align 2, 0 - thumb_func_start start_message -start_message: @ 0x0806f258 + thumb_func_start TextStartMessage +TextStartMessage: @ 0x0806f258 push {r4, r5, r6, r7, lr} lsls r0, r0, #0x18 lsrs r0, r0, #0x18 @@ -1892,8 +1892,8 @@ lbl_0806f278: lbl_0806f284: .4byte gCurrentMessage lbl_0806f288: .4byte 0x0840dc50 - thumb_func_start process_item_banner_text -process_item_banner_text: @ 0x0806f28c + thumb_func_start TextProcessItemBanner +TextProcessItemBanner: @ 0x0806f28c push {r4, r5, r6, r7, lr} sub sp, #4 ldr r0, lbl_0806f2a8 @ =gCurrentMessage diff --git a/asm/disasm_0x0807329c.s b/asm/disasm_0x0807329c.s index fded12ac..eb11a2b2 100644 --- a/asm/disasm_0x0807329c.s +++ b/asm/disasm_0x0807329c.s @@ -1351,28 +1351,28 @@ write_sram: @ 0x08073ce4 ldr r0, [r0] str r0, [r4, #0x24] str r1, [r4, #0x28] - ldr r0, lbl_08073fc4 @ =gBG0XPosition + ldr r0, lbl_08073fc4 @ =gBg0XPosition ldrh r0, [r0] strh r0, [r4, #0x2c] - ldr r0, lbl_08073fc8 @ =gBG0YPosition + ldr r0, lbl_08073fc8 @ =gBg0YPosition ldrh r0, [r0] strh r0, [r4, #0x2e] - ldr r0, lbl_08073fcc @ =gBG1XPosition + ldr r0, lbl_08073fcc @ =gBg1XPosition ldrh r0, [r0] strh r0, [r4, #0x30] - ldr r0, lbl_08073fd0 @ =gBG1YPosition + ldr r0, lbl_08073fd0 @ =gBg1YPosition ldrh r0, [r0] strh r0, [r4, #0x32] - ldr r0, lbl_08073fd4 @ =gBG2XPosition + ldr r0, lbl_08073fd4 @ =gBg2XPosition ldrh r0, [r0] strh r0, [r4, #0x34] - ldr r0, lbl_08073fd8 @ =gBG2YPosition + ldr r0, lbl_08073fd8 @ =gBg2YPosition ldrh r0, [r0] strh r0, [r4, #0x36] - ldr r0, lbl_08073fdc @ =gBG3XPosition + ldr r0, lbl_08073fdc @ =gBg3XPosition ldrh r0, [r0] strh r0, [r4, #0x38] - ldr r0, lbl_08073fe0 @ =gBG3YPosition + ldr r0, lbl_08073fe0 @ =gBg3YPosition ldrh r0, [r0] strh r0, [r4, #0x3a] ldr r0, lbl_08073fe4 @ =gDifficulty @@ -1621,14 +1621,14 @@ lbl_08073fb4: .4byte gLastDoorUsed lbl_08073fb8: .4byte gMinimapX lbl_08073fbc: .4byte gMinimapY lbl_08073fc0: .4byte gCamera -lbl_08073fc4: .4byte gBG0XPosition -lbl_08073fc8: .4byte gBG0YPosition -lbl_08073fcc: .4byte gBG1XPosition -lbl_08073fd0: .4byte gBG1YPosition -lbl_08073fd4: .4byte gBG2XPosition -lbl_08073fd8: .4byte gBG2YPosition -lbl_08073fdc: .4byte gBG3XPosition -lbl_08073fe0: .4byte gBG3YPosition +lbl_08073fc4: .4byte gBg0XPosition +lbl_08073fc8: .4byte gBg0YPosition +lbl_08073fcc: .4byte gBg1XPosition +lbl_08073fd0: .4byte gBg1YPosition +lbl_08073fd4: .4byte gBg2XPosition +lbl_08073fd8: .4byte gBg2YPosition +lbl_08073fdc: .4byte gBg3XPosition +lbl_08073fe0: .4byte gBg3YPosition lbl_08073fe4: .4byte gDifficulty lbl_08073fe8: .4byte gUseMotherShipDoors lbl_08073fec: .4byte gTimeAttackFlag @@ -1699,28 +1699,28 @@ load_sram_data: @ 0x08074034 ldr r1, [r4, #0x28] str r0, [r2] str r1, [r2, #4] - ldr r1, lbl_08074270 @ =gBG0XPosition + ldr r1, lbl_08074270 @ =gBg0XPosition ldrh r0, [r4, #0x2c] strh r0, [r1] - ldr r1, lbl_08074274 @ =gBG0YPosition + ldr r1, lbl_08074274 @ =gBg0YPosition ldrh r0, [r4, #0x2e] strh r0, [r1] - ldr r1, lbl_08074278 @ =gBG1XPosition + ldr r1, lbl_08074278 @ =gBg1XPosition ldrh r0, [r4, #0x30] strh r0, [r1] - ldr r1, lbl_0807427c @ =gBG1YPosition + ldr r1, lbl_0807427c @ =gBg1YPosition ldrh r0, [r4, #0x32] strh r0, [r1] - ldr r1, lbl_08074280 @ =gBG2XPosition + ldr r1, lbl_08074280 @ =gBg2XPosition ldrh r0, [r4, #0x34] strh r0, [r1] - ldr r1, lbl_08074284 @ =gBG2YPosition + ldr r1, lbl_08074284 @ =gBg2YPosition ldrh r0, [r4, #0x36] strh r0, [r1] - ldr r1, lbl_08074288 @ =gBG3XPosition + ldr r1, lbl_08074288 @ =gBg3XPosition ldrh r0, [r4, #0x38] strh r0, [r1] - ldr r1, lbl_0807428c @ =gBG3YPosition + ldr r1, lbl_0807428c @ =gBg3YPosition ldrh r0, [r4, #0x3a] strh r0, [r1] ldr r1, lbl_08074290 @ =gDifficulty @@ -1932,14 +1932,14 @@ lbl_08074260: .4byte gLastDoorUsed lbl_08074264: .4byte gMinimapX lbl_08074268: .4byte gMinimapY lbl_0807426c: .4byte gCamera -lbl_08074270: .4byte gBG0XPosition -lbl_08074274: .4byte gBG0YPosition -lbl_08074278: .4byte gBG1XPosition -lbl_0807427c: .4byte gBG1YPosition -lbl_08074280: .4byte gBG2XPosition -lbl_08074284: .4byte gBG2YPosition -lbl_08074288: .4byte gBG3XPosition -lbl_0807428c: .4byte gBG3YPosition +lbl_08074270: .4byte gBg0XPosition +lbl_08074274: .4byte gBg0YPosition +lbl_08074278: .4byte gBg1XPosition +lbl_0807427c: .4byte gBg1YPosition +lbl_08074280: .4byte gBg2XPosition +lbl_08074284: .4byte gBg2YPosition +lbl_08074288: .4byte gBg3XPosition +lbl_0807428c: .4byte gBg3YPosition lbl_08074290: .4byte gDifficulty lbl_08074294: .4byte gUseMotherShipDoors lbl_08074298: .4byte gTimeAttackFlag diff --git a/asm/disasm_0x08078228.s b/asm/disasm_0x08078228.s index 718fb5dc..2d0748e2 100644 --- a/asm/disasm_0x08078228.s +++ b/asm/disasm_0x08078228.s @@ -61,7 +61,7 @@ lbl_08078288: movs r0, #0xb bl process_menu_oam lbl_0807829a: - bl ResetFreeOAM + bl ResetFreeOam pop {r0} bx r0 .align 2, 0 @@ -8562,7 +8562,7 @@ file_select_menu_init: @ 0x0807c5e0 ldr r0, lbl_0807c7b0 @ =gNextOamSlot strb r4, [r0] bl ClearGfxRam - bl ResetFreeOAM + bl ResetFreeOam ldr r1, lbl_0807c7b4 @ =gOamXOffset_NonGameplay ldr r0, lbl_0807c7b8 @ =gOamYOffset_NonGameplay strb r4, [r0] diff --git a/asm/disasm_0x0808117c.s b/asm/disasm_0x0808117c.s index bf5b28c5..53d5cbfb 100644 --- a/asm/disasm_0x0808117c.s +++ b/asm/disasm_0x0808117c.s @@ -38,42 +38,42 @@ vblank_code_during_intro: @ 0x08081248 ldrh r0, [r0] strh r0, [r1] subs r1, #0x44 - ldr r0, lbl_08081300 @ =gBG0XPosition + ldr r0, lbl_08081300 @ =gBg0XPosition ldrh r0, [r0] lsrs r0, r0, #2 strh r0, [r1] adds r1, #2 - ldr r0, lbl_08081304 @ =gBG0YPosition + ldr r0, lbl_08081304 @ =gBg0YPosition ldrh r0, [r0] lsrs r0, r0, #2 strh r0, [r1] adds r1, #2 - ldr r0, lbl_08081308 @ =gBG1XPosition + ldr r0, lbl_08081308 @ =gBg1XPosition ldrh r0, [r0] lsrs r0, r0, #2 strh r0, [r1] adds r1, #2 - ldr r0, lbl_0808130c @ =gBG1YPosition + ldr r0, lbl_0808130c @ =gBg1YPosition ldrh r0, [r0] lsrs r0, r0, #2 strh r0, [r1] adds r1, #2 - ldr r0, lbl_08081310 @ =gBG2XPosition + ldr r0, lbl_08081310 @ =gBg2XPosition ldrh r0, [r0] lsrs r0, r0, #2 strh r0, [r1] adds r1, #2 - ldr r0, lbl_08081314 @ =gBG2YPosition + ldr r0, lbl_08081314 @ =gBg2YPosition ldrh r0, [r0] lsrs r0, r0, #2 strh r0, [r1] adds r1, #2 - ldr r0, lbl_08081318 @ =gBG3XPosition + ldr r0, lbl_08081318 @ =gBg3XPosition ldrh r0, [r0] lsrs r0, r0, #2 strh r0, [r1] adds r1, #2 - ldr r0, lbl_0808131c @ =gBG3YPosition + ldr r0, lbl_0808131c @ =gBg3YPosition ldrh r0, [r0] lsrs r0, r0, #2 strh r0, [r1] @@ -88,14 +88,14 @@ lbl_080812f0: .4byte sNonGameplayRamPointer lbl_080812f4: .4byte gIoRegistersBackup lbl_080812f8: .4byte 0x04000054 lbl_080812fc: .4byte gWrittenToBLDY_NonGameplay -lbl_08081300: .4byte gBG0XPosition -lbl_08081304: .4byte gBG0YPosition -lbl_08081308: .4byte gBG1XPosition -lbl_0808130c: .4byte gBG1YPosition -lbl_08081310: .4byte gBG2XPosition -lbl_08081314: .4byte gBG2YPosition -lbl_08081318: .4byte gBG3XPosition -lbl_0808131c: .4byte gBG3YPosition +lbl_08081300: .4byte gBg0XPosition +lbl_08081304: .4byte gBg0YPosition +lbl_08081308: .4byte gBg1XPosition +lbl_0808130c: .4byte gBg1YPosition +lbl_08081310: .4byte gBg2XPosition +lbl_08081314: .4byte gBg2YPosition +lbl_08081318: .4byte gBg3XPosition +lbl_0808131c: .4byte gBg3YPosition thumb_func_start sub_08081320 sub_08081320: @ 0x08081320 @@ -133,33 +133,33 @@ sub_08081320: @ 0x08081320 ldrh r0, [r0] strh r0, [r1] ldr r3, lbl_080813ec @ =0x04000010 - ldr r0, lbl_080813f0 @ =gBG0XPosition + ldr r0, lbl_080813f0 @ =gBg0XPosition ldrh r2, [r0] ldr r1, lbl_080813f4 @ =0x000001ff adds r0, r1, #0 ands r0, r2 strh r0, [r3] ldr r2, lbl_080813f8 @ =0x04000012 - ldr r0, lbl_080813fc @ =gBG0YPosition + ldr r0, lbl_080813fc @ =gBg0YPosition ldrb r0, [r0] strh r0, [r2] adds r3, #4 - ldr r0, lbl_08081400 @ =gBG1XPosition + ldr r0, lbl_08081400 @ =gBg1XPosition ldrh r2, [r0] adds r0, r1, #0 ands r0, r2 strh r0, [r3] ldr r2, lbl_08081404 @ =0x04000016 - ldr r0, lbl_08081408 @ =gBG1YPosition + ldr r0, lbl_08081408 @ =gBg1YPosition ldrb r0, [r0] strh r0, [r2] adds r2, #2 - ldr r0, lbl_0808140c @ =gBG2XPosition + ldr r0, lbl_0808140c @ =gBg2XPosition ldrh r0, [r0] ands r1, r0 strh r1, [r2] ldr r1, lbl_08081410 @ =0x0400001a - ldr r0, lbl_08081414 @ =gBG2YPosition + ldr r0, lbl_08081414 @ =gBg2YPosition ldrb r0, [r0] strh r0, [r1] adds r2, #0x28 @@ -194,16 +194,16 @@ lbl_080813e0: .4byte gWrittenToBLDALPHA_L lbl_080813e4: .4byte 0x04000054 lbl_080813e8: .4byte gWrittenToBLDY_NonGameplay lbl_080813ec: .4byte 0x04000010 -lbl_080813f0: .4byte gBG0XPosition +lbl_080813f0: .4byte gBg0XPosition lbl_080813f4: .4byte 0x000001ff lbl_080813f8: .4byte 0x04000012 -lbl_080813fc: .4byte gBG0YPosition -lbl_08081400: .4byte gBG1XPosition +lbl_080813fc: .4byte gBg0YPosition +lbl_08081400: .4byte gBg1XPosition lbl_08081404: .4byte 0x04000016 -lbl_08081408: .4byte gBG1YPosition -lbl_0808140c: .4byte gBG2XPosition +lbl_08081408: .4byte gBg1YPosition +lbl_0808140c: .4byte gBg2XPosition lbl_08081410: .4byte 0x0400001a -lbl_08081414: .4byte gBG2YPosition +lbl_08081414: .4byte gBg2YPosition thumb_func_start sub_08081418 sub_08081418: @ 0x08081418 @@ -261,33 +261,33 @@ sub_08081418: @ 0x08081418 asrs r0, r0, #0x10 strh r0, [r1] ldr r3, lbl_080814ec @ =0x04000010 - ldr r0, lbl_080814f0 @ =gBG0XPosition + ldr r0, lbl_080814f0 @ =gBg0XPosition ldrh r2, [r0] ldr r1, lbl_080814f4 @ =0x000001ff adds r0, r1, #0 ands r0, r2 strh r0, [r3] ldr r2, lbl_080814f8 @ =0x04000012 - ldr r0, lbl_080814fc @ =gBG0YPosition + ldr r0, lbl_080814fc @ =gBg0YPosition ldrb r0, [r0] strh r0, [r2] adds r3, #4 - ldr r0, lbl_08081500 @ =gBG1XPosition + ldr r0, lbl_08081500 @ =gBg1XPosition ldrh r2, [r0] adds r0, r1, #0 ands r0, r2 strh r0, [r3] ldr r2, lbl_08081504 @ =0x04000016 - ldr r0, lbl_08081508 @ =gBG1YPosition + ldr r0, lbl_08081508 @ =gBg1YPosition ldrb r0, [r0] strh r0, [r2] adds r2, #2 - ldr r0, lbl_0808150c @ =gBG2XPosition + ldr r0, lbl_0808150c @ =gBg2XPosition ldrh r0, [r0] ands r1, r0 strh r1, [r2] ldr r1, lbl_08081510 @ =0x0400001a - ldr r0, lbl_08081514 @ =gBG2YPosition + ldr r0, lbl_08081514 @ =gBg2YPosition ldrb r0, [r0] strh r0, [r1] bx lr @@ -304,16 +304,16 @@ lbl_080814e0: .4byte gWrittenToBG2X lbl_080814e4: .4byte 0x0fff0000 lbl_080814e8: .4byte gWrittenToBG2Y lbl_080814ec: .4byte 0x04000010 -lbl_080814f0: .4byte gBG0XPosition +lbl_080814f0: .4byte gBg0XPosition lbl_080814f4: .4byte 0x000001ff lbl_080814f8: .4byte 0x04000012 -lbl_080814fc: .4byte gBG0YPosition -lbl_08081500: .4byte gBG1XPosition +lbl_080814fc: .4byte gBg0YPosition +lbl_08081500: .4byte gBg1XPosition lbl_08081504: .4byte 0x04000016 -lbl_08081508: .4byte gBG1YPosition -lbl_0808150c: .4byte gBG2XPosition +lbl_08081508: .4byte gBg1YPosition +lbl_0808150c: .4byte gBg2XPosition lbl_08081510: .4byte 0x0400001a -lbl_08081514: .4byte gBG2YPosition +lbl_08081514: .4byte gBg2YPosition thumb_func_start tourian_escape_process_oam tourian_escape_process_oam: @ 0x08081518 @@ -1416,7 +1416,7 @@ tourian_escape_init: @ 0x08081d04 strh r0, [r6] ldr r0, lbl_08081e28 @ =gNextOamSlot strb r5, [r0] - bl ResetFreeOAM + bl ResetFreeOam ldr r0, lbl_08081e2c @ =sNonGameplayRamPointer ldr r0, [r0] adds r0, #0xc0 @@ -1875,18 +1875,18 @@ lbl_0808213c: lsrs r4, r0, #0x10 cmp r4, #8 bls lbl_0808213c - ldr r0, lbl_0808218c @ =gBG0XPosition + ldr r0, lbl_0808218c @ =gBg0XPosition movs r1, #0 strh r1, [r0] - ldr r0, lbl_08082190 @ =gBG0YPosition + ldr r0, lbl_08082190 @ =gBg0YPosition strh r1, [r0] - ldr r0, lbl_08082194 @ =gBG1XPosition + ldr r0, lbl_08082194 @ =gBg1XPosition strh r1, [r0] - ldr r0, lbl_08082198 @ =gBG1YPosition + ldr r0, lbl_08082198 @ =gBg1YPosition strh r1, [r0] - ldr r0, lbl_0808219c @ =gBG2XPosition + ldr r0, lbl_0808219c @ =gBg2XPosition strh r1, [r0] - ldr r0, lbl_080821a0 @ =gBG2YPosition + ldr r0, lbl_080821a0 @ =gBg2YPosition strh r1, [r0] movs r0, #0 movs r1, #0x14 @@ -1896,12 +1896,12 @@ lbl_0808213c: .align 2, 0 lbl_08082184: .4byte 0x0848e048 lbl_08082188: .4byte 0x06010000 -lbl_0808218c: .4byte gBG0XPosition -lbl_08082190: .4byte gBG0YPosition -lbl_08082194: .4byte gBG1XPosition -lbl_08082198: .4byte gBG1YPosition -lbl_0808219c: .4byte gBG2XPosition -lbl_080821a0: .4byte gBG2YPosition +lbl_0808218c: .4byte gBg0XPosition +lbl_08082190: .4byte gBg0YPosition +lbl_08082194: .4byte gBg1XPosition +lbl_08082198: .4byte gBg1YPosition +lbl_0808219c: .4byte gBg2XPosition +lbl_080821a0: .4byte gBg2YPosition lbl_080821a4: ldr r0, lbl_080821f8 @ =0x0848d744 ldr r1, lbl_080821fc @ =0x0600f000 @@ -1953,10 +1953,10 @@ lbl_08082210: .4byte 0x04000008 lbl_08082214: .4byte gWrittenToBLDALPHA_L lbl_08082218: .4byte gWrittenToBLDALPHA_H lbl_0808221c: - ldr r0, lbl_08082284 @ =gBG0XPosition + ldr r0, lbl_08082284 @ =gBg0XPosition mov r1, sb strh r1, [r0] - ldr r0, lbl_08082288 @ =gBG0YPosition + ldr r0, lbl_08082288 @ =gBg0YPosition strh r1, [r0] movs r2, #1 mov sb, r2 @@ -2009,8 +2009,8 @@ lbl_0808227c: strb r0, [r1, #5] b lbl_080822ae .align 2, 0 -lbl_08082284: .4byte gBG0XPosition -lbl_08082288: .4byte gBG0YPosition +lbl_08082284: .4byte gBg0XPosition +lbl_08082288: .4byte gBg0YPosition lbl_0808228c: .4byte sNonGameplayRamPointer lbl_08082290: .4byte gWrittenToBLDY_NonGameplay lbl_08082294: @@ -2071,7 +2071,7 @@ lbl_080822f2: ldrb r0, [r1] cmp r0, #0xb bls lbl_08082324 - ldr r1, lbl_08082320 @ =gBG0XPosition + ldr r1, lbl_08082320 @ =gBg0XPosition ldrh r0, [r1] adds r0, #1 strh r0, [r1] @@ -2085,7 +2085,7 @@ lbl_080822f2: b lbl_08082610 .align 2, 0 lbl_0808231c: .4byte 0x0847a540 -lbl_08082320: .4byte gBG0XPosition +lbl_08082320: .4byte gBg0XPosition lbl_08082324: adds r0, #1 mov r1, ip @@ -2398,76 +2398,76 @@ lbl_08082544: ands r4, r0 cmp r4, #1 bne lbl_080825b4 - ldr r1, lbl_08082644 @ =gBG0XPosition + ldr r1, lbl_08082644 @ =gBg0XPosition ldrh r0, [r1] adds r0, #8 strh r0, [r1] - ldr r1, lbl_08082648 @ =gBG0YPosition + ldr r1, lbl_08082648 @ =gBg0YPosition ldrh r0, [r1] subs r0, #8 strh r0, [r1] - ldr r1, lbl_0808264c @ =gBG1XPosition + ldr r1, lbl_0808264c @ =gBg1XPosition ldrh r0, [r1] adds r0, #8 strh r0, [r1] - ldr r1, lbl_08082650 @ =gBG1YPosition + ldr r1, lbl_08082650 @ =gBg1YPosition ldrh r0, [r1] subs r0, #8 strh r0, [r1] - ldr r1, lbl_08082654 @ =gBG2XPosition + ldr r1, lbl_08082654 @ =gBg2XPosition ldrh r0, [r1] adds r0, #8 strh r0, [r1] - ldr r1, lbl_08082658 @ =gBG2YPosition + ldr r1, lbl_08082658 @ =gBg2YPosition ldrh r0, [r1] subs r0, #8 strh r0, [r1] lbl_080825b4: cmp r4, #3 bne lbl_080825c8 - ldr r1, lbl_0808265c @ =gBG3XPosition + ldr r1, lbl_0808265c @ =gBg3XPosition ldrh r0, [r1] adds r0, #8 strh r0, [r1] - ldr r1, lbl_08082660 @ =gBG3YPosition + ldr r1, lbl_08082660 @ =gBg3YPosition ldrh r0, [r1] subs r0, #8 strh r0, [r1] lbl_080825c8: cmp r4, #4 bne lbl_080825fc - ldr r1, lbl_08082644 @ =gBG0XPosition + ldr r1, lbl_08082644 @ =gBg0XPosition ldrh r0, [r1] subs r0, #8 strh r0, [r1] - ldr r1, lbl_08082648 @ =gBG0YPosition + ldr r1, lbl_08082648 @ =gBg0YPosition ldrh r0, [r1] adds r0, #8 strh r0, [r1] - ldr r1, lbl_0808264c @ =gBG1XPosition + ldr r1, lbl_0808264c @ =gBg1XPosition ldrh r0, [r1] subs r0, #8 strh r0, [r1] - ldr r1, lbl_08082650 @ =gBG1YPosition + ldr r1, lbl_08082650 @ =gBg1YPosition ldrh r0, [r1] adds r0, #8 strh r0, [r1] - ldr r1, lbl_08082654 @ =gBG2XPosition + ldr r1, lbl_08082654 @ =gBg2XPosition ldrh r0, [r1] subs r0, #8 strh r0, [r1] - ldr r1, lbl_08082658 @ =gBG2YPosition + ldr r1, lbl_08082658 @ =gBg2YPosition ldrh r0, [r1] adds r0, #8 strh r0, [r1] lbl_080825fc: cmp r4, #6 bne lbl_08082610 - ldr r1, lbl_0808265c @ =gBG3XPosition + ldr r1, lbl_0808265c @ =gBg3XPosition ldrh r0, [r1] subs r0, #8 strh r0, [r1] - ldr r1, lbl_08082660 @ =gBG3YPosition + ldr r1, lbl_08082660 @ =gBg3YPosition ldrh r0, [r1] adds r0, #8 strh r0, [r1] @@ -2489,14 +2489,14 @@ lbl_08082634: .4byte 0x0847ccbc lbl_08082638: .4byte 0x0847cf10 lbl_0808263c: .4byte 0x0847cf30 lbl_08082640: .4byte 0x0847cec0 -lbl_08082644: .4byte gBG0XPosition -lbl_08082648: .4byte gBG0YPosition -lbl_0808264c: .4byte gBG1XPosition -lbl_08082650: .4byte gBG1YPosition -lbl_08082654: .4byte gBG2XPosition -lbl_08082658: .4byte gBG2YPosition -lbl_0808265c: .4byte gBG3XPosition -lbl_08082660: .4byte gBG3YPosition +lbl_08082644: .4byte gBg0XPosition +lbl_08082648: .4byte gBg0YPosition +lbl_0808264c: .4byte gBg1XPosition +lbl_08082650: .4byte gBg1YPosition +lbl_08082654: .4byte gBg2XPosition +lbl_08082658: .4byte gBg2YPosition +lbl_0808265c: .4byte gBg3XPosition +lbl_08082660: .4byte gBg3YPosition thumb_func_start TourianEscapeSamusInHerShip TourianEscapeSamusInHerShip: @ 0x08082664 @@ -3252,9 +3252,9 @@ lbl_08082cbc: ldr r0, lbl_08082d0c @ =0x80000100 str r0, [r1, #8] ldr r0, [r1, #8] - ldr r0, lbl_08082d10 @ =gBG0XPosition + ldr r0, lbl_08082d10 @ =gBg0XPosition strh r5, [r0] - ldr r0, lbl_08082d14 @ =gBG0YPosition + ldr r0, lbl_08082d14 @ =gBg0YPosition strh r5, [r0] ldr r1, lbl_08082d18 @ =gWrittenToBLDALPHA_L movs r0, #0x10 @@ -3270,8 +3270,8 @@ lbl_08082d00: .4byte 0x06007800 lbl_08082d04: .4byte 0x040000d4 lbl_08082d08: .4byte 0x08479ac0 lbl_08082d0c: .4byte 0x80000100 -lbl_08082d10: .4byte gBG0XPosition -lbl_08082d14: .4byte gBG0YPosition +lbl_08082d10: .4byte gBg0XPosition +lbl_08082d14: .4byte gBg0YPosition lbl_08082d18: .4byte gWrittenToBLDALPHA_L lbl_08082d1c: .4byte gWrittenToBLDALPHA_H lbl_08082d20: @@ -3880,10 +3880,10 @@ lbl_08083160: lsrs r5, r0, #0x18 cmp r5, #9 bls lbl_08083160 - ldr r0, lbl_080831fc @ =gBG0XPosition + ldr r0, lbl_080831fc @ =gBg0XPosition movs r1, #0 strh r1, [r0] - ldr r0, lbl_08083200 @ =gBG0YPosition + ldr r0, lbl_08083200 @ =gBg0YPosition strh r1, [r0] b lbl_080832fc .align 2, 0 @@ -3901,8 +3901,8 @@ lbl_080831ec: .4byte 0x0847a642 lbl_080831f0: .4byte 0x0847a662 lbl_080831f4: .4byte 0x0847ce20 lbl_080831f8: .4byte sNonGameplayRamPointer -lbl_080831fc: .4byte gBG0XPosition -lbl_08083200: .4byte gBG0YPosition +lbl_080831fc: .4byte gBg0XPosition +lbl_08083200: .4byte gBg0YPosition lbl_08083204: ldr r1, lbl_0808321c @ =0x04000008 movs r3, #0xe0 @@ -4043,7 +4043,7 @@ lbl_080832fc: adds r4, r2, #0 cmp r0, #0 bne lbl_08083314 - ldr r1, lbl_08083344 @ =gBG0XPosition + ldr r1, lbl_08083344 @ =gBg0XPosition ldrh r0, [r1] subs r0, #1 strh r0, [r1] @@ -4072,7 +4072,7 @@ lbl_08083316: b lbl_08083364 .align 2, 0 lbl_08083340: .4byte sNonGameplayRamPointer -lbl_08083344: .4byte gBG0XPosition +lbl_08083344: .4byte gBg0XPosition lbl_08083348: cmp r0, #2 bne lbl_08083366 @@ -4305,10 +4305,10 @@ lbl_0808343c: adds r0, r2, #0 adds r0, #0xb0 strh r1, [r0] - ldr r1, lbl_08083528 @ =gBG0XPosition + ldr r1, lbl_08083528 @ =gBg0XPosition movs r0, #0x30 strh r0, [r1] - ldr r1, lbl_0808352c @ =gBG0YPosition + ldr r1, lbl_0808352c @ =gBg0YPosition movs r0, #0x50 strh r0, [r1] b lbl_0808358a @@ -4321,8 +4321,8 @@ lbl_08083518: .4byte 0x0847cfa4 lbl_0808351c: .4byte 0x0847cfb4 lbl_08083520: .4byte 0x0847cfc4 lbl_08083524: .4byte 0x0847cfd4 -lbl_08083528: .4byte gBG0XPosition -lbl_0808352c: .4byte gBG0YPosition +lbl_08083528: .4byte gBg0XPosition +lbl_0808352c: .4byte gBg0YPosition lbl_08083530: adds r1, r2, #0 adds r1, #0xc0 @@ -4380,7 +4380,7 @@ lbl_0808358a: adds r5, r2, #0 cmp r0, #0 bne lbl_080835a2 - ldr r1, lbl_08083640 @ =gBG0YPosition + ldr r1, lbl_08083640 @ =gBg0YPosition ldrh r0, [r1] subs r0, #1 strh r0, [r1] @@ -4469,7 +4469,7 @@ lbl_080835f6: b lbl_08083684 .align 2, 0 lbl_0808363c: .4byte sNonGameplayRamPointer -lbl_08083640: .4byte gBG0YPosition +lbl_08083640: .4byte gBg0YPosition lbl_08083644: cmp r0, #2 beq lbl_08083678 @@ -4852,10 +4852,10 @@ lbl_080838f8: ldr r0, lbl_0808393c @ =0x80000050 str r0, [r1, #8] ldr r0, [r1, #8] - ldr r1, lbl_08083940 @ =gBG0XPosition + ldr r1, lbl_08083940 @ =gBg0XPosition movs r0, #0x60 strh r0, [r1] - ldr r1, lbl_08083944 @ =gBG0YPosition + ldr r1, lbl_08083944 @ =gBg0YPosition movs r0, #0x30 strh r0, [r1] ldr r1, [r4] @@ -4870,8 +4870,8 @@ lbl_08083930: .4byte 0x040000d4 lbl_08083934: .4byte 0x08479a20 lbl_08083938: .4byte 0x05000200 lbl_0808393c: .4byte 0x80000050 -lbl_08083940: .4byte gBG0XPosition -lbl_08083944: .4byte gBG0YPosition +lbl_08083940: .4byte gBg0XPosition +lbl_08083944: .4byte gBg0YPosition lbl_08083948: ldr r1, lbl_08083978 @ =0x04000008 movs r2, #0xe0 @@ -5027,7 +5027,7 @@ lbl_08083a72: ands r0, r1 cmp r0, #0 bne lbl_08083a86 - ldr r1, lbl_08083afc @ =gBG0XPosition + ldr r1, lbl_08083afc @ =gBg0XPosition ldrh r0, [r1] subs r0, #1 strh r0, [r1] @@ -5093,7 +5093,7 @@ lbl_08083abe: strh r0, [r1] b lbl_08083d04 .align 2, 0 -lbl_08083afc: .4byte gBG0XPosition +lbl_08083afc: .4byte gBg0XPosition lbl_08083b00: .4byte sNonGameplayRamPointer lbl_08083b04: cmp r2, #3 @@ -5422,10 +5422,10 @@ lbl_08083d68: ldr r0, lbl_08083d88 @ =0x084ad56c ldr r1, lbl_08083d8c @ =0x06010000 bl LZ77UncompVRAM - ldr r1, lbl_08083d90 @ =gBG0XPosition + ldr r1, lbl_08083d90 @ =gBg0XPosition movs r0, #0x10 strh r0, [r1] - ldr r0, lbl_08083d94 @ =gBG0YPosition + ldr r0, lbl_08083d94 @ =gBg0YPosition strh r5, [r0] ldr r1, lbl_08083d98 @ =gWrittenToBLDALPHA_L movs r0, #9 @@ -5437,8 +5437,8 @@ lbl_08083d68: .align 2, 0 lbl_08083d88: .4byte 0x084ad56c lbl_08083d8c: .4byte 0x06010000 -lbl_08083d90: .4byte gBG0XPosition -lbl_08083d94: .4byte gBG0YPosition +lbl_08083d90: .4byte gBg0XPosition +lbl_08083d94: .4byte gBg0YPosition lbl_08083d98: .4byte gWrittenToBLDALPHA_L lbl_08083d9c: .4byte gWrittenToBLDALPHA_H lbl_08083da0: @@ -5554,7 +5554,7 @@ lbl_08083e74: ldr r1, [r3] movs r0, #0 strb r0, [r1, #5] - ldr r1, lbl_08083ea4 @ =gBG0XPosition + ldr r1, lbl_08083ea4 @ =gBg0XPosition ldrh r0, [r1] subs r0, #1 strh r0, [r1] @@ -5566,7 +5566,7 @@ lbl_08083e94: bx r1 .align 2, 0 lbl_08083ea0: .4byte sNonGameplayRamPointer -lbl_08083ea4: .4byte gBG0XPosition +lbl_08083ea4: .4byte gBg0XPosition thumb_func_start TourianEscapeSamusCrashing TourianEscapeSamusCrashing: @ 0x08083ea8 @@ -5699,9 +5699,9 @@ lbl_08083f80: adds r1, #0x79 movs r0, #2 strb r0, [r1] - ldr r0, lbl_08083fd4 @ =gBG0XPosition + ldr r0, lbl_08083fd4 @ =gBg0XPosition strh r5, [r0] - ldr r0, lbl_08083fd8 @ =gBG0YPosition + ldr r0, lbl_08083fd8 @ =gBg0YPosition strh r5, [r0] ldr r0, lbl_08083fdc @ =0x00000249 bl SoundPlay @@ -5712,8 +5712,8 @@ lbl_08083fc4: .4byte 0x0847a060 lbl_08083fc8: .4byte 0x05000200 lbl_08083fcc: .4byte 0x80000100 lbl_08083fd0: .4byte 0x0847aa96 -lbl_08083fd4: .4byte gBG0XPosition -lbl_08083fd8: .4byte gBG0YPosition +lbl_08083fd4: .4byte gBg0XPosition +lbl_08083fd8: .4byte gBg0YPosition lbl_08083fdc: .4byte 0x00000249 lbl_08083fe0: ldr r1, lbl_08084000 @ =0x04000008 @@ -5968,11 +5968,11 @@ lbl_080841a4: str r1, [r0, #4] str r2, [r0, #8] ldr r0, [r0, #8] - ldr r0, lbl_08084210 @ =gBG0YPosition + ldr r0, lbl_08084210 @ =gBg0YPosition strh r5, [r0] - ldr r0, lbl_08084214 @ =gBG1YPosition + ldr r0, lbl_08084214 @ =gBg1YPosition strh r5, [r0] - ldr r1, lbl_08084218 @ =gBG2YPosition + ldr r1, lbl_08084218 @ =gBg2YPosition movs r0, #0x60 strh r0, [r1] b lbl_080842ce @@ -5987,9 +5987,9 @@ lbl_08084200: .4byte 0x040000d4 lbl_08084204: .4byte 0x0847a260 lbl_08084208: .4byte 0x800000a0 lbl_0808420c: .4byte 0x05000200 -lbl_08084210: .4byte gBG0YPosition -lbl_08084214: .4byte gBG1YPosition -lbl_08084218: .4byte gBG2YPosition +lbl_08084210: .4byte gBg0YPosition +lbl_08084214: .4byte gBg1YPosition +lbl_08084218: .4byte gBg2YPosition lbl_0808421c: ldr r1, lbl_0808424c @ =0x04000008 ldr r3, lbl_08084250 @ =0x00001c0a @@ -6074,9 +6074,9 @@ lbl_080842b8: adds r0, r2, #0 adds r0, #0xc0 strh r5, [r0] - ldr r0, lbl_080842f0 @ =gBG0YPosition + ldr r0, lbl_080842f0 @ =gBg0YPosition strh r5, [r0] - ldr r0, lbl_080842f4 @ =gBG1YPosition + ldr r0, lbl_080842f4 @ =gBg1YPosition strh r5, [r0] movs r5, #1 lbl_080842ce: @@ -6098,8 +6098,8 @@ lbl_080842ce: strh r0, [r3] b lbl_08084338 .align 2, 0 -lbl_080842f0: .4byte gBG0YPosition -lbl_080842f4: .4byte gBG1YPosition +lbl_080842f0: .4byte gBg0YPosition +lbl_080842f4: .4byte gBg1YPosition lbl_080842f8: .4byte sNonGameplayRamPointer lbl_080842fc: .4byte gWrittenToBLDY_NonGameplay lbl_08084300: @@ -6110,17 +6110,17 @@ lbl_08084300: lbl_08084308: cmp r1, #2 bne lbl_08084338 - ldr r0, lbl_0808437c @ =gBG0YPosition + ldr r0, lbl_0808437c @ =gBg0YPosition ldrh r1, [r0] adds r1, #1 strh r1, [r0] - ldr r2, lbl_08084380 @ =gBG1YPosition + ldr r2, lbl_08084380 @ =gBg1YPosition ldrh r0, [r2] adds r0, #1 strh r0, [r2] lsls r1, r1, #0x10 lsrs r1, r1, #0x10 - ldr r2, lbl_08084384 @ =gBG2YPosition + ldr r2, lbl_08084384 @ =gBg2YPosition cmp r1, #0x5f bls lbl_0808432c ldrh r0, [r2] @@ -6169,9 +6169,9 @@ lbl_08084364: pop {r1} bx r1 .align 2, 0 -lbl_0808437c: .4byte gBG0YPosition -lbl_08084380: .4byte gBG1YPosition -lbl_08084384: .4byte gBG2YPosition +lbl_0808437c: .4byte gBg0YPosition +lbl_08084380: .4byte gBg1YPosition +lbl_08084384: .4byte gBg2YPosition lbl_08084388: .4byte sNonGameplayRamPointer thumb_func_start TourianEscapeSamusLookingAtMotherShip @@ -6271,10 +6271,10 @@ lbl_0808441c: ldr r0, lbl_08084464 @ =0x800000a0 str r0, [r1, #8] ldr r0, [r1, #8] - ldr r1, lbl_08084468 @ =gBG0XPosition + ldr r1, lbl_08084468 @ =gBg0XPosition movs r0, #0x10 strh r0, [r1] - ldr r0, lbl_0808446c @ =gBG1XPosition + ldr r0, lbl_0808446c @ =gBg1XPosition strh r7, [r0] b lbl_0808459a .align 2, 0 @@ -6285,8 +6285,8 @@ lbl_08084458: .4byte 0x0600f000 lbl_0808445c: .4byte 0x040000d4 lbl_08084460: .4byte 0x0847a3a0 lbl_08084464: .4byte 0x800000a0 -lbl_08084468: .4byte gBG0XPosition -lbl_0808446c: .4byte gBG1XPosition +lbl_08084468: .4byte gBg0XPosition +lbl_0808446c: .4byte gBg1XPosition lbl_08084470: ldr r4, lbl_08084508 @ =0x06010000 movs r3, #0x80 @@ -6491,18 +6491,18 @@ lbl_0808460a: ands r5, r1 cmp r5, #0 bne lbl_08084634 - ldr r1, lbl_08084690 @ =gBG0XPosition + ldr r1, lbl_08084690 @ =gBg0XPosition ldrh r0, [r1] subs r0, #1 strh r0, [r1] - ldr r1, lbl_08084694 @ =gBG1XPosition + ldr r1, lbl_08084694 @ =gBg1XPosition ldrh r0, [r1] adds r0, #1 strh r0, [r1] lbl_08084634: cmp r5, #8 bne lbl_08084640 - ldr r1, lbl_08084694 @ =gBG1XPosition + ldr r1, lbl_08084694 @ =gBg1XPosition ldrh r0, [r1] adds r0, #1 strh r0, [r1] @@ -6546,8 +6546,8 @@ lbl_08084662: lbl_08084684: .4byte gWrittenToBLDALPHA_L lbl_08084688: .4byte gWrittenToBLDALPHA_H lbl_0808468c: .4byte sNonGameplayRamPointer -lbl_08084690: .4byte gBG0XPosition -lbl_08084694: .4byte gBG1XPosition +lbl_08084690: .4byte gBg0XPosition +lbl_08084694: .4byte gBg1XPosition lbl_08084698: .4byte gWrittenToBLDY_NonGameplay lbl_0808469c: lsls r3, r5, #1 @@ -6725,7 +6725,7 @@ lbl_080847dc: adds r0, #1 strh r0, [r5] lbl_080847e6: - bl ResetFreeOAM + bl ResetFreeOam b lbl_080847ee lbl_080847ec: movs r6, #1 diff --git a/asm/disasm_0x08084c34.s b/asm/disasm_0x08084c34.s index ed67d975..0dbd322a 100644 --- a/asm/disasm_0x08084c34.s +++ b/asm/disasm_0x08084c34.s @@ -845,7 +845,7 @@ lbl_08085284: ldrh r0, [r0] strh r0, [r1] subs r1, #0x42 - ldr r0, lbl_0808530c @ =gBG0YPosition + ldr r0, lbl_0808530c @ =gBg0YPosition ldrh r0, [r0] lsrs r0, r0, #4 subs r3, #0xc1 @@ -855,13 +855,13 @@ lbl_08085284: adds r1, #4 strh r0, [r1] adds r1, #4 - ldr r0, lbl_08085310 @ =gBG2YPosition + ldr r0, lbl_08085310 @ =gBg2YPosition ldrh r0, [r0] lsrs r0, r0, #4 ands r0, r2 strh r0, [r1] adds r1, #4 - ldr r0, lbl_08085314 @ =gBG3YPosition + ldr r0, lbl_08085314 @ =gBg3YPosition ldrh r0, [r0] lsrs r0, r0, #4 ands r0, r2 @@ -879,9 +879,9 @@ lbl_080852fc: .4byte gWrittenToBLDALPHA_H lbl_08085300: .4byte gWrittenToBLDALPHA_L lbl_08085304: .4byte 0x04000054 lbl_08085308: .4byte gWrittenToBLDY_NonGameplay -lbl_0808530c: .4byte gBG0YPosition -lbl_08085310: .4byte gBG2YPosition -lbl_08085314: .4byte gBG3YPosition +lbl_0808530c: .4byte gBg0YPosition +lbl_08085310: .4byte gBg2YPosition +lbl_08085314: .4byte gBg3YPosition thumb_func_start vblank_code_during_end_screen vblank_code_during_end_screen: @ 0x08085318 @@ -921,20 +921,20 @@ vblank_code_during_end_screen: @ 0x08085318 ldrh r0, [r0] strh r0, [r1] ldr r3, lbl_080853a8 @ =0x04000014 - ldr r0, lbl_080853ac @ =gBG1XPosition + ldr r0, lbl_080853ac @ =gBg1XPosition ldrh r2, [r0] ldr r1, lbl_080853b0 @ =0x000001ff adds r0, r1, #0 ands r0, r2 strh r0, [r3] adds r3, #4 - ldr r0, lbl_080853b4 @ =gBG2XPosition + ldr r0, lbl_080853b4 @ =gBg2XPosition ldrh r2, [r0] adds r0, r1, #0 ands r0, r2 strh r0, [r3] ldr r2, lbl_080853b8 @ =0x0400001c - ldr r0, lbl_080853bc @ =gBG3XPosition + ldr r0, lbl_080853bc @ =gBg3XPosition ldrh r0, [r0] ands r1, r0 strh r1, [r2] @@ -950,11 +950,11 @@ lbl_0808539c: .4byte gWrittenToBLDALPHA_L lbl_080853a0: .4byte 0x04000054 lbl_080853a4: .4byte gWrittenToBLDY_NonGameplay lbl_080853a8: .4byte 0x04000014 -lbl_080853ac: .4byte gBG1XPosition +lbl_080853ac: .4byte gBg1XPosition lbl_080853b0: .4byte 0x000001ff -lbl_080853b4: .4byte gBG2XPosition +lbl_080853b4: .4byte gBg2XPosition lbl_080853b8: .4byte 0x0400001c -lbl_080853bc: .4byte gBG3XPosition +lbl_080853bc: .4byte gBg3XPosition thumb_func_start vblank_code_during_unlocked_options vblank_code_during_unlocked_options: @ 0x080853c0 @@ -1120,25 +1120,25 @@ credits_init: @ 0x08085464 strh r0, [r1] ldr r0, lbl_08085618 @ =gNextOamSlot strb r6, [r0] - bl ResetFreeOAM - ldr r0, lbl_0808561c @ =gBG0XPosition + bl ResetFreeOam + ldr r0, lbl_0808561c @ =gBg0XPosition strh r5, [r0] - ldr r0, lbl_08085620 @ =gBG0YPosition + ldr r0, lbl_08085620 @ =gBg0YPosition movs r1, #0x80 lsls r1, r1, #5 adds r2, r1, #0 strh r2, [r0] - ldr r0, lbl_08085624 @ =gBG1XPosition + ldr r0, lbl_08085624 @ =gBg1XPosition strh r5, [r0] - ldr r0, lbl_08085628 @ =gBG1YPosition + ldr r0, lbl_08085628 @ =gBg1YPosition strh r2, [r0] - ldr r0, lbl_0808562c @ =gBG2XPosition + ldr r0, lbl_0808562c @ =gBg2XPosition strh r5, [r0] - ldr r0, lbl_08085630 @ =gBG2YPosition + ldr r0, lbl_08085630 @ =gBg2YPosition strh r5, [r0] - ldr r0, lbl_08085634 @ =gBG3XPosition + ldr r0, lbl_08085634 @ =gBg3XPosition strh r5, [r0] - ldr r0, lbl_08085638 @ =gBG3YPosition + ldr r0, lbl_08085638 @ =gBg3YPosition strh r5, [r0] ldr r0, lbl_0808563c @ =0x04000010 strh r5, [r0] @@ -1217,14 +1217,14 @@ lbl_0808560c: .4byte 0x00001f09 lbl_08085610: .4byte 0x00009c02 lbl_08085614: .4byte 0x00009a0b lbl_08085618: .4byte gNextOamSlot -lbl_0808561c: .4byte gBG0XPosition -lbl_08085620: .4byte gBG0YPosition -lbl_08085624: .4byte gBG1XPosition -lbl_08085628: .4byte gBG1YPosition -lbl_0808562c: .4byte gBG2XPosition -lbl_08085630: .4byte gBG2YPosition -lbl_08085634: .4byte gBG3XPosition -lbl_08085638: .4byte gBG3YPosition +lbl_0808561c: .4byte gBg0XPosition +lbl_08085620: .4byte gBg0YPosition +lbl_08085624: .4byte gBg1XPosition +lbl_08085628: .4byte gBg1YPosition +lbl_0808562c: .4byte gBg2XPosition +lbl_08085630: .4byte gBg2YPosition +lbl_08085634: .4byte gBg3XPosition +lbl_08085638: .4byte gBg3YPosition lbl_0808563c: .4byte 0x04000010 lbl_08085640: .4byte 0x04000014 lbl_08085644: .4byte 0x04000016 @@ -1908,7 +1908,7 @@ lbl_08085b60: ldrh r0, [r1, #0xe] adds r0, #7 strh r0, [r1, #0xe] - ldr r1, lbl_08085b7c @ =gBG0YPosition + ldr r1, lbl_08085b7c @ =gBg0YPosition ldrh r0, [r1] adds r0, #7 strh r0, [r1] @@ -1919,7 +1919,7 @@ lbl_08085b72: bx r1 .align 2, 0 lbl_08085b78: .4byte 0x000007ff -lbl_08085b7c: .4byte gBG0YPosition +lbl_08085b7c: .4byte gBg0YPosition thumb_func_start CreditsChozoWallMovement CreditsChozoWallMovement: @ 0x08085b80 @@ -1970,11 +1970,11 @@ lbl_08085bce: ldrb r0, [r3, #1] cmp r0, #0 beq lbl_08085bf6 - ldr r0, lbl_08085c08 @ =gBG2YPosition + ldr r0, lbl_08085c08 @ =gBg2YPosition ldrh r1, [r0] adds r1, #8 strh r1, [r0] - ldr r2, lbl_08085c0c @ =gBG3YPosition + ldr r2, lbl_08085c0c @ =gBg3YPosition ldrh r0, [r2] adds r0, #8 strh r0, [r2] @@ -1993,8 +1993,8 @@ lbl_08085bf6: .align 2, 0 lbl_08085c00: .4byte 0x04000014 lbl_08085c04: .4byte sNonGameplayRamPointer -lbl_08085c08: .4byte gBG2YPosition -lbl_08085c0c: .4byte gBG3YPosition +lbl_08085c08: .4byte gBg2YPosition +lbl_08085c0c: .4byte gBg3YPosition thumb_func_start CreditsChozoWallZoom CreditsChozoWallZoom: @ 0x08085c10 @@ -2060,7 +2060,7 @@ lbl_08085c66: ldr r0, lbl_08085ca0 @ =0x800000f0 str r0, [r1, #8] ldr r0, [r1, #8] - ldr r0, lbl_08085ca4 @ =gBG0YPosition + ldr r0, lbl_08085ca4 @ =gBg0YPosition strh r5, [r0] ldr r0, lbl_08085ca8 @ =gWrittenToBLDALPHA_L strh r5, [r0] @@ -2073,7 +2073,7 @@ lbl_08085c94: .4byte 0x085bed94 lbl_08085c98: .4byte 0x040000d4 lbl_08085c9c: .4byte 0x0854a734 lbl_08085ca0: .4byte 0x800000f0 -lbl_08085ca4: .4byte gBG0YPosition +lbl_08085ca4: .4byte gBg0YPosition lbl_08085ca8: .4byte gWrittenToBLDALPHA_L lbl_08085cac: .4byte gWrittenToBLDALPHA_H lbl_08085cb0: @@ -2115,7 +2115,7 @@ lbl_08085cec: ldrb r0, [r2, #1] adds r0, #1 strb r0, [r2, #1] - ldr r0, lbl_08085d18 @ =gBG1YPosition + ldr r0, lbl_08085d18 @ =gBg1YPosition strh r5, [r0] ldr r1, lbl_08085d1c @ =gWrittenToBLDALPHA_L movs r0, #0x10 @@ -2125,7 +2125,7 @@ lbl_08085cec: b lbl_08085d80 .align 2, 0 lbl_08085d14: .4byte 0x000002c2 -lbl_08085d18: .4byte gBG1YPosition +lbl_08085d18: .4byte gBg1YPosition lbl_08085d1c: .4byte gWrittenToBLDALPHA_L lbl_08085d20: .4byte gWrittenToBLDALPHA_H lbl_08085d24: @@ -2345,7 +2345,7 @@ end_screen_init: @ 0x08085e08 strh r0, [r1] ldr r0, lbl_08086008 @ =gNextOamSlot strb r5, [r0] - bl ResetFreeOAM + bl ResetFreeOam ldr r0, lbl_0808600c @ =gOamData str r0, [r4] movs r0, #0xe0 @@ -2354,24 +2354,24 @@ end_screen_init: @ 0x08085e08 ldr r0, lbl_08086010 @ =0x84000100 str r0, [r4, #8] ldr r0, [r4, #8] - ldr r0, lbl_08086014 @ =gBG0XPosition + ldr r0, lbl_08086014 @ =gBg0XPosition strh r5, [r0] - ldr r0, lbl_08086018 @ =gBG0YPosition + ldr r0, lbl_08086018 @ =gBg0YPosition strh r5, [r0] - ldr r0, lbl_0808601c @ =gBG1XPosition + ldr r0, lbl_0808601c @ =gBg1XPosition movs r2, #0x80 lsls r2, r2, #1 adds r1, r2, #0 strh r1, [r0] - ldr r0, lbl_08086020 @ =gBG1YPosition + ldr r0, lbl_08086020 @ =gBg1YPosition strh r5, [r0] - ldr r0, lbl_08086024 @ =gBG2XPosition + ldr r0, lbl_08086024 @ =gBg2XPosition strh r1, [r0] - ldr r0, lbl_08086028 @ =gBG2YPosition + ldr r0, lbl_08086028 @ =gBg2YPosition strh r5, [r0] - ldr r0, lbl_0808602c @ =gBG3XPosition + ldr r0, lbl_0808602c @ =gBg3XPosition strh r5, [r0] - ldr r0, lbl_08086030 @ =gBG3YPosition + ldr r0, lbl_08086030 @ =gBg3YPosition strh r5, [r0] ldr r0, lbl_08086034 @ =0x04000010 strh r5, [r0] @@ -2462,14 +2462,14 @@ lbl_08086004: .4byte 0x00001f03 lbl_08086008: .4byte gNextOamSlot lbl_0808600c: .4byte gOamData lbl_08086010: .4byte 0x84000100 -lbl_08086014: .4byte gBG0XPosition -lbl_08086018: .4byte gBG0YPosition -lbl_0808601c: .4byte gBG1XPosition -lbl_08086020: .4byte gBG1YPosition -lbl_08086024: .4byte gBG2XPosition -lbl_08086028: .4byte gBG2YPosition -lbl_0808602c: .4byte gBG3XPosition -lbl_08086030: .4byte gBG3YPosition +lbl_08086014: .4byte gBg0XPosition +lbl_08086018: .4byte gBg0YPosition +lbl_0808601c: .4byte gBg1XPosition +lbl_08086020: .4byte gBg1YPosition +lbl_08086024: .4byte gBg2XPosition +lbl_08086028: .4byte gBg2YPosition +lbl_0808602c: .4byte gBg3XPosition +lbl_08086030: .4byte gBg3YPosition lbl_08086034: .4byte 0x04000010 lbl_08086038: .4byte gNonGameplayRAM lbl_0808603c: .4byte 0x8500018a @@ -2525,7 +2525,7 @@ lbl_080860a8: bhi lbl_080860ba b lbl_0808622a lbl_080860ba: - ldr r2, lbl_080860e0 @ =gBG1XPosition + ldr r2, lbl_080860e0 @ =gBg1XPosition ldrh r0, [r2] adds r0, #8 strh r0, [r2] @@ -2546,7 +2546,7 @@ lbl_080860cc: strh r3, [r1, #4] b lbl_08086200 .align 2, 0 -lbl_080860e0: .4byte gBG1XPosition +lbl_080860e0: .4byte gBg1XPosition lbl_080860e4: .4byte 0x01ff0000 lbl_080860e8: .4byte 0x000002c2 lbl_080860ec: .4byte 0x00000c42 @@ -2581,7 +2581,7 @@ lbl_08086114: bhi lbl_08086126 b lbl_0808622a lbl_08086126: - ldr r2, lbl_08086154 @ =gBG2XPosition + ldr r2, lbl_08086154 @ =gBg2XPosition ldrh r0, [r2] adds r0, #8 strh r0, [r2] @@ -2604,7 +2604,7 @@ lbl_08086126: strb r0, [r3, #1] b lbl_0808622a .align 2, 0 -lbl_08086154: .4byte gBG2XPosition +lbl_08086154: .4byte gBg2XPosition lbl_08086158: .4byte 0x01ff0000 lbl_0808615c: .4byte 0x000002c2 lbl_08086160: .4byte 0x00000a44 @@ -2635,7 +2635,7 @@ lbl_08086186: lsrs r0, r0, #0x10 cmp r0, #0x17 bls lbl_0808622a - ldr r1, lbl_080861a4 @ =gBG1XPosition + ldr r1, lbl_080861a4 @ =gBg1XPosition ldrh r0, [r1] cmp r0, #9 bls lbl_080861a8 @@ -2643,7 +2643,7 @@ lbl_08086186: strh r0, [r1] b lbl_0808622a .align 2, 0 -lbl_080861a4: .4byte gBG1XPosition +lbl_080861a4: .4byte gBg1XPosition lbl_080861a8: movs r0, #0 strh r0, [r1] @@ -2969,7 +2969,7 @@ lbl_0808642c: strh r0, [r1] ldr r0, lbl_08086498 @ =gWrittenToBLDALPHA_H strh r2, [r0] - ldr r1, lbl_0808649c @ =gBG1XPosition + ldr r1, lbl_0808649c @ =gBg1XPosition movs r2, #0x80 lsls r2, r2, #1 adds r0, r2, #0 @@ -2988,7 +2988,7 @@ lbl_0808648c: .4byte sNonGameplayRamPointer lbl_08086490: .4byte 0x000002c2 lbl_08086494: .4byte gWrittenToBLDALPHA_L lbl_08086498: .4byte gWrittenToBLDALPHA_H -lbl_0808649c: .4byte gBG1XPosition +lbl_0808649c: .4byte gBg1XPosition lbl_080864a0: .4byte 0x00000125 lbl_080864a4: ldr r1, lbl_080864ec @ =0x0400000a @@ -3016,7 +3016,7 @@ lbl_080864a4: strh r0, [r1] ldr r0, lbl_08086514 @ =gWrittenToBLDALPHA_H strh r2, [r0] - ldr r1, lbl_08086518 @ =gBG2XPosition + ldr r1, lbl_08086518 @ =gBg2XPosition movs r2, #0x80 lsls r2, r2, #1 adds r0, r2, #0 @@ -3036,7 +3036,7 @@ lbl_08086508: .4byte sNonGameplayRamPointer lbl_0808650c: .4byte 0x000002c2 lbl_08086510: .4byte gWrittenToBLDALPHA_L lbl_08086514: .4byte gWrittenToBLDALPHA_H -lbl_08086518: .4byte gBG2XPosition +lbl_08086518: .4byte gBg2XPosition lbl_0808651c: .4byte 0x00000125 lbl_08086520: ldr r1, lbl_08086568 @ =0x0400000a @@ -3065,7 +3065,7 @@ lbl_08086520: strh r0, [r1] ldr r0, lbl_0808658c @ =gWrittenToBLDALPHA_H strh r2, [r0] - ldr r1, lbl_08086590 @ =gBG1XPosition + ldr r1, lbl_08086590 @ =gBg1XPosition movs r2, #0x80 lsls r2, r2, #1 adds r0, r2, #0 @@ -3084,7 +3084,7 @@ lbl_08086580: .4byte sNonGameplayRamPointer lbl_08086584: .4byte 0x000002c2 lbl_08086588: .4byte gWrittenToBLDALPHA_L lbl_0808658c: .4byte gWrittenToBLDALPHA_H -lbl_08086590: .4byte gBG1XPosition +lbl_08086590: .4byte gBg1XPosition lbl_08086594: .4byte 0x00000125 lbl_08086598: ldr r1, lbl_080865c0 @ =0x0400000a @@ -3155,7 +3155,7 @@ lbl_08086614: strh r0, [r1] ldr r0, lbl_0808665c @ =gWrittenToBLDALPHA_H strh r2, [r0] - ldr r0, lbl_08086660 @ =gBG2XPosition + ldr r0, lbl_08086660 @ =gBg2XPosition strh r2, [r0] ldr r2, lbl_08086664 @ =0x00000125 adds r1, r3, r2 @@ -3169,7 +3169,7 @@ lbl_08086650: .4byte sNonGameplayRamPointer lbl_08086654: .4byte 0x000002c2 lbl_08086658: .4byte gWrittenToBLDALPHA_L lbl_0808665c: .4byte gWrittenToBLDALPHA_H -lbl_08086660: .4byte gBG2XPosition +lbl_08086660: .4byte gBg2XPosition lbl_08086664: .4byte 0x00000125 lbl_08086668: ldr r4, lbl_0808669c @ =sNonGameplayRamPointer @@ -3313,7 +3313,7 @@ lbl_08086782: ands r0, r1 cmp r0, #0 bne lbl_08086798 - ldr r1, lbl_080867b0 @ =gBG3XPosition + ldr r1, lbl_080867b0 @ =gBg3XPosition ldrh r0, [r1] adds r0, #1 strh r0, [r1] @@ -3327,7 +3327,7 @@ lbl_080867a0: .4byte sNonGameplayRamPointer lbl_080867a4: .4byte 0x000002c2 lbl_080867a8: .4byte gWrittenToBLDALPHA_L lbl_080867ac: .4byte gWrittenToBLDALPHA_H -lbl_080867b0: .4byte gBG3XPosition +lbl_080867b0: .4byte gBg3XPosition thumb_func_start ending_image_init ending_image_init: @ 0x080867b4 @@ -3517,26 +3517,26 @@ lbl_08086940: ldr r1, lbl_08086a14 @ =gNextOamSlot movs r0, #0 strb r0, [r1] - bl ResetFreeOAM - ldr r0, lbl_08086a18 @ =gBG0XPosition + bl ResetFreeOam + ldr r0, lbl_08086a18 @ =gBg0XPosition movs r1, #0 strh r1, [r0] - ldr r0, lbl_08086a1c @ =gBG0YPosition + ldr r0, lbl_08086a1c @ =gBg0YPosition movs r3, #0x80 lsls r3, r3, #5 adds r2, r3, #0 strh r2, [r0] - ldr r0, lbl_08086a20 @ =gBG1XPosition + ldr r0, lbl_08086a20 @ =gBg1XPosition strh r1, [r0] - ldr r0, lbl_08086a24 @ =gBG1YPosition + ldr r0, lbl_08086a24 @ =gBg1YPosition strh r2, [r0] - ldr r0, lbl_08086a28 @ =gBG2XPosition + ldr r0, lbl_08086a28 @ =gBg2XPosition strh r1, [r0] - ldr r0, lbl_08086a2c @ =gBG2YPosition + ldr r0, lbl_08086a2c @ =gBg2YPosition strh r1, [r0] - ldr r0, lbl_08086a30 @ =gBG3XPosition + ldr r0, lbl_08086a30 @ =gBg3XPosition strh r1, [r0] - ldr r0, lbl_08086a34 @ =gBG3YPosition + ldr r0, lbl_08086a34 @ =gBg3YPosition strh r1, [r0] ldr r0, lbl_08086a38 @ =0x04000010 strh r1, [r0] @@ -3593,14 +3593,14 @@ lbl_08086a08: .4byte 0x800000e0 lbl_08086a0c: .4byte 0x04000008 lbl_08086a10: .4byte 0x00009e09 lbl_08086a14: .4byte gNextOamSlot -lbl_08086a18: .4byte gBG0XPosition -lbl_08086a1c: .4byte gBG0YPosition -lbl_08086a20: .4byte gBG1XPosition -lbl_08086a24: .4byte gBG1YPosition -lbl_08086a28: .4byte gBG2XPosition -lbl_08086a2c: .4byte gBG2YPosition -lbl_08086a30: .4byte gBG3XPosition -lbl_08086a34: .4byte gBG3YPosition +lbl_08086a18: .4byte gBg0XPosition +lbl_08086a1c: .4byte gBg0YPosition +lbl_08086a20: .4byte gBg1XPosition +lbl_08086a24: .4byte gBg1YPosition +lbl_08086a28: .4byte gBg2XPosition +lbl_08086a2c: .4byte gBg2YPosition +lbl_08086a30: .4byte gBg3XPosition +lbl_08086a34: .4byte gBg3YPosition lbl_08086a38: .4byte 0x04000010 lbl_08086a3c: .4byte sNonGameplayRamPointer lbl_08086a40: .4byte 0x000002c2 @@ -4076,25 +4076,25 @@ lbl_08086dd6: adds r3, r0, #0 cmp r1, #0 beq lbl_08086e10 - ldr r1, lbl_08086dfc @ =gBG0YPosition + ldr r1, lbl_08086dfc @ =gBg0YPosition ldrh r0, [r1] cmp r0, #6 bls lbl_08086e04 subs r0, #6 strh r0, [r1] - ldr r1, lbl_08086e00 @ =gBG1YPosition + ldr r1, lbl_08086e00 @ =gBg1YPosition ldrh r0, [r1] subs r0, #6 strh r0, [r1] b lbl_08086e10 .align 2, 0 lbl_08086df8: .4byte sNonGameplayRamPointer -lbl_08086dfc: .4byte gBG0YPosition -lbl_08086e00: .4byte gBG1YPosition +lbl_08086dfc: .4byte gBg0YPosition +lbl_08086e00: .4byte gBg1YPosition lbl_08086e04: movs r0, #0 strh r0, [r1] - ldr r1, lbl_08086e68 @ =gBG1YPosition + ldr r1, lbl_08086e68 @ =gBg1YPosition strh r0, [r1] movs r0, #0 strh r0, [r2, #8] @@ -4145,7 +4145,7 @@ lbl_08086e5e: pop {r1} bx r1 .align 2, 0 -lbl_08086e68: .4byte gBG1YPosition +lbl_08086e68: .4byte gBg1YPosition lbl_08086e6c: .4byte 0x00000564 lbl_08086e70: .4byte 0x00000329 lbl_08086e74: .4byte gButtonInput @@ -4234,7 +4234,7 @@ unlocked_options_init: @ 0x08086e78 ldr r0, lbl_08086fb4 @ =gNextOamSlot mov r1, r8 strb r1, [r0] - bl ResetFreeOAM + bl ResetFreeOam ldr r0, lbl_08086fb8 @ =0x04000010 strh r6, [r0] adds r0, #2 @@ -4730,7 +4730,7 @@ lbl_08087344: strb r1, [r0] adds r5, #1 lbl_0808734a: - bl ResetFreeOAM + bl ResetFreeOam b lbl_080873d0 .align 2, 0 lbl_08087350: .4byte gDisableSoftreset @@ -4799,7 +4799,7 @@ lbl_0808738c: adds r0, #1 strh r0, [r1] lbl_080873cc: - bl ResetFreeOAM + bl ResetFreeOam lbl_080873d0: adds r0, r5, #0 pop {r4, r5} @@ -4978,25 +4978,25 @@ lbl_080874d0: strh r0, [r1] ldr r0, lbl_080875f0 @ =gNextOamSlot strb r5, [r0] - bl ResetFreeOAM - ldr r0, lbl_080875f4 @ =gBG0XPosition + bl ResetFreeOam + ldr r0, lbl_080875f4 @ =gBg0XPosition strh r5, [r0] - ldr r0, lbl_080875f8 @ =gBG0YPosition + ldr r0, lbl_080875f8 @ =gBg0YPosition movs r2, #0x80 lsls r2, r2, #5 adds r1, r2, #0 strh r1, [r0] - ldr r0, lbl_080875fc @ =gBG1XPosition + ldr r0, lbl_080875fc @ =gBg1XPosition strh r5, [r0] - ldr r0, lbl_08087600 @ =gBG1YPosition + ldr r0, lbl_08087600 @ =gBg1YPosition strh r1, [r0] - ldr r0, lbl_08087604 @ =gBG2XPosition + ldr r0, lbl_08087604 @ =gBg2XPosition strh r5, [r0] - ldr r0, lbl_08087608 @ =gBG2YPosition + ldr r0, lbl_08087608 @ =gBg2YPosition strh r5, [r0] - ldr r0, lbl_0808760c @ =gBG3XPosition + ldr r0, lbl_0808760c @ =gBg3XPosition strh r5, [r0] - ldr r0, lbl_08087610 @ =gBG3YPosition + ldr r0, lbl_08087610 @ =gBg3YPosition strh r5, [r0] ldr r0, lbl_08087614 @ =0x04000010 strh r5, [r0] @@ -5048,14 +5048,14 @@ lbl_080875e4: .4byte 0x0854c0ec lbl_080875e8: .4byte 0x80000100 lbl_080875ec: .4byte 0x00009e09 lbl_080875f0: .4byte gNextOamSlot -lbl_080875f4: .4byte gBG0XPosition -lbl_080875f8: .4byte gBG0YPosition -lbl_080875fc: .4byte gBG1XPosition -lbl_08087600: .4byte gBG1YPosition -lbl_08087604: .4byte gBG2XPosition -lbl_08087608: .4byte gBG2YPosition -lbl_0808760c: .4byte gBG3XPosition -lbl_08087610: .4byte gBG3YPosition +lbl_080875f4: .4byte gBg0XPosition +lbl_080875f8: .4byte gBg0YPosition +lbl_080875fc: .4byte gBg1XPosition +lbl_08087600: .4byte gBg1YPosition +lbl_08087604: .4byte gBg2XPosition +lbl_08087608: .4byte gBg2YPosition +lbl_0808760c: .4byte gBg3XPosition +lbl_08087610: .4byte gBg3YPosition lbl_08087614: .4byte 0x04000010 lbl_08087618: .4byte 0x000002c2 @@ -5178,13 +5178,13 @@ lbl_080876da: lbl_080876f8: cmp r4, #0 bne lbl_08087744 - ldr r1, lbl_08087728 @ =gBG0YPosition + ldr r1, lbl_08087728 @ =gBg0YPosition ldrh r0, [r1] cmp r0, r3 ble lbl_08087730 subs r0, r0, r3 strh r0, [r1] - ldr r1, lbl_0808772c @ =gBG1YPosition + ldr r1, lbl_0808772c @ =gBg1YPosition ldrh r0, [r1] subs r0, r0, r3 strh r0, [r1] @@ -5195,24 +5195,24 @@ lbl_08087718: .4byte 0x000002c2 lbl_0808771c: .4byte gWrittenToBLDY_NonGameplay lbl_08087720: .4byte gGameModeSub1 lbl_08087724: .4byte gButtonInput -lbl_08087728: .4byte gBG0YPosition -lbl_0808772c: .4byte gBG1YPosition +lbl_08087728: .4byte gBg0YPosition +lbl_0808772c: .4byte gBg1YPosition lbl_08087730: strh r4, [r1] - ldr r0, lbl_08087740 @ =gBG1YPosition + ldr r0, lbl_08087740 @ =gBg1YPosition strh r4, [r0] ldr r1, [r7] movs r0, #1 strh r0, [r1, #8] b lbl_08087764 .align 2, 0 -lbl_08087740: .4byte gBG1YPosition +lbl_08087740: .4byte gBg1YPosition lbl_08087744: - ldr r4, lbl_08087770 @ =gBG0YPosition + ldr r4, lbl_08087770 @ =gBg0YPosition ldrh r1, [r4] adds r1, r1, r3 strh r1, [r4] - ldr r2, lbl_08087774 @ =gBG1YPosition + ldr r2, lbl_08087774 @ =gBg1YPosition ldrh r0, [r2] adds r0, r0, r3 strh r0, [r2] @@ -5232,8 +5232,8 @@ lbl_08087764: pop {r1} bx r1 .align 2, 0 -lbl_08087770: .4byte gBG0YPosition -lbl_08087774: .4byte gBG1YPosition +lbl_08087770: .4byte gBg0YPosition +lbl_08087774: .4byte gBg1YPosition thumb_func_start GallerySubroutine GallerySubroutine: @ 0x08087778 diff --git a/asm/disasm_0x08088ea0.s b/asm/disasm_0x08088ea0.s index 9bc034bd..ece7dede 100644 --- a/asm/disasm_0x08088ea0.s +++ b/asm/disasm_0x08088ea0.s @@ -277,7 +277,7 @@ lbl_080890e4: movs r0, #2 strb r0, [r1, #8] lbl_080890ea: - bl init_sound + bl InitializeAudio bl sub_08078228 ldr r4, lbl_0808910c @ =gIoTransferInfo ldrh r0, [r4, #0x12] diff --git a/asm/intr_main.s b/asm/intr_main.s index c56dc4cb..e46636ef 100644 --- a/asm/intr_main.s +++ b/asm/intr_main.s @@ -3,8 +3,8 @@ .syntax unified - arm_func_start intr_main -intr_main: @ 0x08000104 + arm_func_start IntrMain +IntrMain: @ 0x08000104 mov r3, REG_BASE add r3, r3, REG_IE_OFFSET ldr r2, [r3] diff --git a/include/data/intro_data.h b/include/data/intro_data.h index 07105003..7516964c 100644 --- a/include/data/intro_data.h +++ b/include/data/intro_data.h @@ -10,8 +10,8 @@ extern const u16 sIntroExterminateAllTextOAM[163]; extern const u16 sIntroDefeatTheTextOAM[157]; extern const u16 sIntroTextMarkerOAM[10]; -extern const u16 sIntroShipFlyingTowardsCameraOAM_2[28]; -extern const u16 sIntroShipFlyingTowardsCameraOAM_1[19]; +extern const u16 sIntroShipFlyingTowardsCameraOam_2[28]; +extern const u16 sIntroShipFlyingTowardsCameraOam_1[19]; extern const u16 sIntroViewOfZebesShipOAM[13]; extern const u16 sIntroViewOfZebesHeatOAM_2[37]; diff --git a/include/data/sprites/ridley.h b/include/data/sprites/ridley.h index 709119b9..134f6d46 100644 --- a/include/data/sprites/ridley.h +++ b/include/data/sprites/ridley.h @@ -153,77 +153,77 @@ extern const u16 sRidleyOAM_TurningAround_Frame0[49]; extern const u16 sRidleyOAM_TurningAround_Frame1[49]; -extern const u16 sRidleyPartOAM_HeadIdle_Frame0[13]; +extern const u16 sRidleyPartOam_HeadIdle_Frame0[13]; -extern const u16 sRidleyPartOAM_HeadIdle_Frame1[13]; +extern const u16 sRidleyPartOam_HeadIdle_Frame1[13]; -extern const u16 sRidleyPartOAM_OpeningMouth_Frame0[13]; +extern const u16 sRidleyPartOam_OpeningMouth_Frame0[13]; -extern const u16 sRidleyPartOAM_MouthOpened_Frame0[13]; +extern const u16 sRidleyPartOam_MouthOpened_Frame0[13]; -extern const u16 sRidleyPartOAM_MouthOpened_Frame1[13]; +extern const u16 sRidleyPartOam_MouthOpened_Frame1[13]; -extern const u16 sRidleyPartOAM_HeadDying_Frame0[16]; +extern const u16 sRidleyPartOam_HeadDying_Frame0[16]; -extern const u16 sRidleyPartOAM_HeadDying_Frame1[16]; +extern const u16 sRidleyPartOam_HeadDying_Frame1[16]; -extern const u16 sRidleyPartOAM_HeadDying_Frame2[19]; +extern const u16 sRidleyPartOam_HeadDying_Frame2[19]; -extern const u16 sRidleyPartOAM_HeadDying_Frame3[16]; +extern const u16 sRidleyPartOam_HeadDying_Frame3[16]; -extern const u16 sRidleyPartOAM_HeadTurningAround_Frame0[10]; +extern const u16 sRidleyPartOam_HeadTurningAround_Frame0[10]; -extern const u16 sRidleyPartOAM_ClawIdle_Frame0[13]; +extern const u16 sRidleyPartOam_ClawIdle_Frame0[13]; -extern const u16 sRidleyPartOAM_ClawIdle_Frame1[13]; +extern const u16 sRidleyPartOam_ClawIdle_Frame1[13]; -extern const u16 sRidleyPartOAM_ClawIdle_Frame2[13]; +extern const u16 sRidleyPartOam_ClawIdle_Frame2[13]; -extern const u16 sRidleyPartOAM_ClawIdle_Frame3[22]; +extern const u16 sRidleyPartOam_ClawIdle_Frame3[22]; -extern const u16 sRidleyPartOAM_ClawSpittingFireballs_Frame1[13]; +extern const u16 sRidleyPartOam_ClawSpittingFireballs_Frame1[13]; -extern const u16 sRidleyPartOAM_ClawSpittingFireballs_Frame2[13]; +extern const u16 sRidleyPartOam_ClawSpittingFireballs_Frame2[13]; -extern const u16 sRidleyPartOAM_ClawTurningAround_Frame0[13]; +extern const u16 sRidleyPartOam_ClawTurningAround_Frame0[13]; -extern const u16 sRidleyPartOAM_ClawTurningAround_Frame1[13]; +extern const u16 sRidleyPartOam_ClawTurningAround_Frame1[13]; -extern const u16 sRidleyPartOAM_ClawLiftingSamus_Frame0[16]; +extern const u16 sRidleyPartOam_ClawLiftingSamus_Frame0[16]; -extern const u16 sRidleyPartOAM_ClawLiftingSamus_Frame1[16]; +extern const u16 sRidleyPartOam_ClawLiftingSamus_Frame1[16]; -extern const u16 sRidleyPartOAM_ClawLiftingSamus_Frame2[16]; +extern const u16 sRidleyPartOam_ClawLiftingSamus_Frame2[16]; -extern const u16 sRidleyPartOAM_ClawLiftingSamus_Frame3[13]; +extern const u16 sRidleyPartOam_ClawLiftingSamus_Frame3[13]; -extern const u16 sRidleyPartOAM_ClawLiftingSamus_Frame4[13]; +extern const u16 sRidleyPartOam_ClawLiftingSamus_Frame4[13]; -extern const u16 sRidleyPartOAM_SamusLifted_Frame0[13]; +extern const u16 sRidleyPartOam_SamusLifted_Frame0[13]; -extern const u16 sRidleyPartOAM_LeftWingIdle_Frame0[13]; +extern const u16 sRidleyPartOam_LeftWingIdle_Frame0[13]; -extern const u16 sRidleyPartOAM_LeftWingIdle_Frame1[19]; +extern const u16 sRidleyPartOam_LeftWingIdle_Frame1[19]; -extern const u16 sRidleyPartOAM_LeftWingIdle_Frame2[10]; +extern const u16 sRidleyPartOam_LeftWingIdle_Frame2[10]; -extern const u16 sRidleyPartOAM_LeftWingIdle_Frame3[7]; +extern const u16 sRidleyPartOam_LeftWingIdle_Frame3[7]; -extern const u16 sRidleyPartOAM_LeftWingIdle_Frame4[7]; +extern const u16 sRidleyPartOam_LeftWingIdle_Frame4[7]; -extern const u16 sRidleyPartOAM_LeftWingIdle_Frame5[10]; +extern const u16 sRidleyPartOam_LeftWingIdle_Frame5[10]; -extern const u16 sRidleyPartOAM_RightWingIdle_Frame0[16]; +extern const u16 sRidleyPartOam_RightWingIdle_Frame0[16]; -extern const u16 sRidleyPartOAM_RightWingIdle_Frame1[16]; +extern const u16 sRidleyPartOam_RightWingIdle_Frame1[16]; -extern const u16 sRidleyPartOAM_RightWingIdle_Frame2[25]; +extern const u16 sRidleyPartOam_RightWingIdle_Frame2[25]; -extern const u16 sRidleyPartOAM_RightWingIdle_Frame3[7]; +extern const u16 sRidleyPartOam_RightWingIdle_Frame3[7]; -extern const u16 sRidleyPartOAM_RightWingIdle_Frame4[7]; +extern const u16 sRidleyPartOam_RightWingIdle_Frame4[7]; -extern const u16 sRidleyPartOAM_RightWingIdle_Frame5[25]; +extern const u16 sRidleyPartOam_RightWingIdle_Frame5[25]; extern const u16 sRidleyTailOAM_Part_Frame0[4]; @@ -241,9 +241,9 @@ extern const u16 sRidleyTailOAM_TipPointingDiagonallyUpLeft_Frame0[4]; extern const u16 sRidleyOAM_Square_Frame0[4]; -extern const u16 sRidleyFireballOAM_Small_Frame0[4]; +extern const u16 sRidleyFireballOam_Small_Frame0[4]; -extern const u16 sRidleyFireballOAM_Big_Frame0[4]; +extern const u16 sRidleyFireballOam_Big_Frame0[4]; extern const struct FrameData sRidleyOAM_Idle[7]; @@ -253,43 +253,43 @@ extern const struct FrameData sRidleyOAM_TurningAroundFirstPart[3]; extern const struct FrameData sRidleyOAM_TurningAroundSecondPart[3]; -extern const struct FrameData sRidleyPartOAM_HeadIdle[3]; +extern const struct FrameData sRidleyPartOam_HeadIdle[3]; -extern const struct FrameData sRidleyPartOAM_OpeningMouth[2]; +extern const struct FrameData sRidleyPartOam_OpeningMouth[2]; -extern const struct FrameData sRidleyPartOAM_MouthOpened[3]; +extern const struct FrameData sRidleyPartOam_MouthOpened[3]; -extern const struct FrameData sRidleyPartOAM_HeadDying[5]; +extern const struct FrameData sRidleyPartOam_HeadDying[5]; -extern const struct FrameData sRidleyPartOAM_HeadTurningAround[2]; +extern const struct FrameData sRidleyPartOam_HeadTurningAround[2]; -extern const struct FrameData sRidleyPartOAM_ClawIdle[7]; +extern const struct FrameData sRidleyPartOam_ClawIdle[7]; -extern const struct FrameData sRidleyPartOAM_ClawSpittingFireballs[5]; +extern const struct FrameData sRidleyPartOam_ClawSpittingFireballs[5]; -extern const struct FrameData sRidleyPartOAM_ClawTurningAroundFirstPart[3]; +extern const struct FrameData sRidleyPartOam_ClawTurningAroundFirstPart[3]; -extern const struct FrameData sRidleyPartOAM_ClawTurningAroundSecondPart[3]; +extern const struct FrameData sRidleyPartOam_ClawTurningAroundSecondPart[3]; -extern const struct FrameData sRidleyPartOAM_ClawCarryingSamus[2]; +extern const struct FrameData sRidleyPartOam_ClawCarryingSamus[2]; -extern const struct FrameData sRidleyPartOAM_ClawLiftingSamus[6]; +extern const struct FrameData sRidleyPartOam_ClawLiftingSamus[6]; -extern const struct FrameData sRidleyPartOAM_ClawSamusLifted[2]; +extern const struct FrameData sRidleyPartOam_ClawSamusLifted[2]; -extern const struct FrameData sRidleyPartOAM_ClawReleasingSamus[6]; +extern const struct FrameData sRidleyPartOam_ClawReleasingSamus[6]; -extern const struct FrameData sRidleyPartOAM_LeftWingIdle[11]; +extern const struct FrameData sRidleyPartOam_LeftWingIdle[11]; -extern const struct FrameData sRidleyPartOAM_RightWingIdle[11]; +extern const struct FrameData sRidleyPartOam_RightWingIdle[11]; -extern const struct FrameData sRidleyPartOAM_LeftWing_Unused[11]; +extern const struct FrameData sRidleyPartOam_LeftWing_Unused[11]; -extern const struct FrameData sRidleyPartOAM_RightWing_Unused[11]; +extern const struct FrameData sRidleyPartOam_RightWing_Unused[11]; -extern const struct FrameData sRidleyPartOAM_LeftWingSpittingFireballs[7]; +extern const struct FrameData sRidleyPartOam_LeftWingSpittingFireballs[7]; -extern const struct FrameData sRidleyPartOAM_RightWingSpittingFireballs[7]; +extern const struct FrameData sRidleyPartOam_RightWingSpittingFireballs[7]; extern const struct FrameData sRidleyTailOAM_Part[2]; @@ -307,8 +307,8 @@ extern const struct FrameData sRidleyTailOAM_TipPointingDiagonallyUpLeft[2]; extern const struct FrameData sRidleyOAM_Square[2]; -extern const struct FrameData sRidleyFireballOAM_Small[2]; +extern const struct FrameData sRidleyFireballOam_Small[2]; -extern const struct FrameData sRidleyFireballOAM_Big[2]; +extern const struct FrameData sRidleyFireballOam_Big[2]; #endif \ No newline at end of file diff --git a/include/data/sprites/ruins_test.h b/include/data/sprites/ruins_test.h index 4d4008c3..f5200126 100644 --- a/include/data/sprites/ruins_test.h +++ b/include/data/sprites/ruins_test.h @@ -14,19 +14,19 @@ extern const u32 sRuinsTestGfx_SamusReflectionFullSuitTop[96]; extern const u32 sRuinsTestGfx_SamusReflectionFullSuitBottom[64]; extern const u32 sRuinsTestGfx_SamusReflectionSuitlessTop[96]; extern const u32 sRuinsTestGfx_SamusReflectionSuitlessBottom[64]; -extern const u16 sRuinsTestPAL[128]; -extern const u16 sRuinsTestPAL_SymbolShot_Frame1[8]; -extern const u16 sRuinsTestPAL_SymbolShot_Frame2[8]; -extern const u16 sRuinsTestPAL_SymbolShot_Frame3[8]; -extern const u16 sRuinsTestPAL_SymbolShot_Frame4[8]; -extern const u16 sRuinsTestPAL_SymbolShot_Frame5[8]; -extern const u16 sRuinsTestPAL_SymbolShot_Frame6[8]; -extern const u16 sRuinsTestPAL_SamusReflection[15 * 16]; -extern const u16 sRuinsTestPAL_SamusReflectionFullSuit[15 * 16]; +extern const u16 sRuinsTestPal[128]; +extern const u16 sRuinsTestPal_SymbolShot_Frame1[8]; +extern const u16 sRuinsTestPal_SymbolShot_Frame2[8]; +extern const u16 sRuinsTestPal_SymbolShot_Frame3[8]; +extern const u16 sRuinsTestPal_SymbolShot_Frame4[8]; +extern const u16 sRuinsTestPal_SymbolShot_Frame5[8]; +extern const u16 sRuinsTestPal_SymbolShot_Frame6[8]; +extern const u16 sRuinsTestPal_SamusReflection[15 * 16]; +extern const u16 sRuinsTestPal_SamusReflectionFullSuit[15 * 16]; extern const u16 sRuinsTestSamusReflectionOAM_Frame0[10]; -extern const u16 sRuinsTestGhostOAM_SymbolPlaced_Frame0[4]; +extern const u16 sRuinsTestGhostOam_SymbolPlaced_Frame0[4]; extern const u16 sRuinsTestGhostOutline_Spawning_Frame0[37]; @@ -38,236 +38,236 @@ extern const u16 sRuinsTestGhostOutline_Spawning_Frame3[37]; extern const u16 sRuinsTestGhostOutline_Spawning_Frame4[37]; -extern const u16 sRuinsTestGhostOAM_NotMoving_Frame0[76]; +extern const u16 sRuinsTestGhostOam_NotMoving_Frame0[76]; -extern const u16 sRuinsTestGhostOAM_Moving_Frame1[58]; +extern const u16 sRuinsTestGhostOam_Moving_Frame1[58]; -extern const u16 sRuinsTestGhostOAM_Moving_Frame2[76]; +extern const u16 sRuinsTestGhostOam_Moving_Frame2[76]; -extern const u16 sRuinsTestGhostOAM_Moving_Frame3[76]; +extern const u16 sRuinsTestGhostOam_Moving_Frame3[76]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame0[13]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame0[13]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame1[37]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame1[37]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame2[37]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame2[37]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame3[37]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame3[37]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame4[37]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame4[37]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame5[37]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame5[37]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame6[37]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame6[37]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame7[37]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame7[37]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame10[49]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame10[49]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame11[61]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame11[61]; -extern const u16 sRuinsTestSymbolOAM_FourSymbols_Frame12[73]; +extern const u16 sRuinsTestSymbolOam_FourSymbols_Frame12[73]; -extern const u16 sRuinsTestSymbolOAM_Merging_Frame0[85]; +extern const u16 sRuinsTestSymbolOam_Merging_Frame0[85]; -extern const u16 sRuinsTestSymbolOAM_Merging_Frame1[85]; +extern const u16 sRuinsTestSymbolOam_Merging_Frame1[85]; -extern const u16 sRuinsTestSymbolOAM_Disappearing_Frame0[73]; +extern const u16 sRuinsTestSymbolOam_Disappearing_Frame0[73]; -extern const u16 sRuinsTestSymbolOAM_Disappearing_Frame1[61]; +extern const u16 sRuinsTestSymbolOam_Disappearing_Frame1[61]; -extern const u16 sRuinsTestSymbolOAM_Disappearing_Frame2[49]; +extern const u16 sRuinsTestSymbolOam_Disappearing_Frame2[49]; -extern const u16 sRuinsTestSymbolOAM_Disappearing_Frame3[25]; +extern const u16 sRuinsTestSymbolOam_Disappearing_Frame3[25]; -extern const u16 sRuinsTestSymbolOAM_Disappearing_Frame4[25]; +extern const u16 sRuinsTestSymbolOam_Disappearing_Frame4[25]; -extern const u16 sRuinsTestSymbolOAM_Disappearing_Frame5[25]; +extern const u16 sRuinsTestSymbolOam_Disappearing_Frame5[25]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame0[19]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame0[19]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame1[19]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame1[19]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame2[19]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame2[19]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame3[19]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame3[19]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame4[19]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame4[19]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame5[40]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame5[40]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame6[40]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame6[40]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame7[13]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame7[13]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame8[13]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame8[13]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame9[13]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame9[13]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame10[13]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame10[13]; -extern const u16 sRuinsTestOAM_TurningIntoReflection_Frame11[13]; +extern const u16 sRuinsTestOam_TurningIntoReflection_Frame11[13]; extern const u16 sRuinsTestReflectionCoverOAM_Frame0[16]; extern const u16 sRuinsTestReflectionCoverOAM_Frame1[4]; -extern const u16 sRuinsTestOAM_Symbol_Frame0[13]; +extern const u16 sRuinsTestOam_Symbol_Frame0[13]; -extern const u16 sRuinsTestOAM_Symbol_Frame1[13]; +extern const u16 sRuinsTestOam_Symbol_Frame1[13]; -extern const u16 sRuinsTestOAM_Symbol_Frame2[13]; +extern const u16 sRuinsTestOam_Symbol_Frame2[13]; -extern const u16 sRuinsTestOAM_Symbol_Frame3[13]; +extern const u16 sRuinsTestOam_Symbol_Frame3[13]; -extern const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame0[25]; +extern const u16 sRuinsTestShootableSymbolOam_Spawning_Frame0[25]; -extern const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame1[25]; +extern const u16 sRuinsTestShootableSymbolOam_Spawning_Frame1[25]; -extern const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame2[25]; +extern const u16 sRuinsTestShootableSymbolOam_Spawning_Frame2[25]; -extern const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame3[25]; +extern const u16 sRuinsTestShootableSymbolOam_Spawning_Frame3[25]; -extern const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame4[25]; +extern const u16 sRuinsTestShootableSymbolOam_Spawning_Frame4[25]; -extern const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame5[25]; +extern const u16 sRuinsTestShootableSymbolOam_Spawning_Frame5[25]; -extern const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame6[25]; +extern const u16 sRuinsTestShootableSymbolOam_Spawning_Frame6[25]; -extern const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame3[13]; +extern const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame3[13]; -extern const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame4[13]; +extern const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame4[13]; -extern const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame5[10]; +extern const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame5[10]; -extern const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame6[10]; +extern const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame6[10]; -extern const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame7[10]; +extern const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame7[10]; -extern const u16 sRuinsTestGhostOAM_SymbolShot_Frame0[4]; +extern const u16 sRuinsTestGhostOam_SymbolShot_Frame0[4]; -extern const u16 sRuinsTestGhostOAM_SymbolPlacing_Frame3[10]; +extern const u16 sRuinsTestGhostOam_SymbolPlacing_Frame3[10]; -extern const u16 sRuinsTestGhostOAM_SymbolPlacing_Frame4[10]; +extern const u16 sRuinsTestGhostOam_SymbolPlacing_Frame4[10]; -extern const u16 sRuinsTestGhostOAM_SymbolPlacing_Frame5[10]; +extern const u16 sRuinsTestGhostOam_SymbolPlacing_Frame5[10]; -extern const u16 sRuinsTestGhostOAM_SymbolPlacing_Frame6[10]; +extern const u16 sRuinsTestGhostOam_SymbolPlacing_Frame6[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame0[10]; +extern const u16 sRuinsTestLightningOam_InAir_Frame0[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame2[10]; +extern const u16 sRuinsTestLightningOam_InAir_Frame2[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame3[10]; +extern const u16 sRuinsTestLightningOam_InAir_Frame3[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame4[10]; +extern const u16 sRuinsTestLightningOam_InAir_Frame4[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame6[10]; +extern const u16 sRuinsTestLightningOam_InAir_Frame6[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame7[10]; +extern const u16 sRuinsTestLightningOam_InAir_Frame7[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame8[10]; +extern const u16 sRuinsTestLightningOam_InAir_Frame8[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame10[10]; +extern const u16 sRuinsTestLightningOam_InAir_Frame10[10]; -extern const u16 sRuinsTestLightningOAM_InAir_Frame1[4]; +extern const u16 sRuinsTestLightningOam_InAir_Frame1[4]; -extern const u16 sRuinsTestLightningOAM_GoingOnGround_Frame0[13]; +extern const u16 sRuinsTestLightningOam_GoingOnGround_Frame0[13]; -extern const u16 sRuinsTestLightningOAM_GoingOnGround_Frame1[7]; +extern const u16 sRuinsTestLightningOam_GoingOnGround_Frame1[7]; -extern const u16 sRuinsTestLightningOAM_GoingOnGround_Frame2[13]; +extern const u16 sRuinsTestLightningOam_GoingOnGround_Frame2[13]; -extern const u16 sRuinsTestLightningOAM_GoingOnGround_Frame3[7]; +extern const u16 sRuinsTestLightningOam_GoingOnGround_Frame3[7]; -extern const u16 sRuinsTestLightningOAM_GoingOnGround_Frame4[10]; +extern const u16 sRuinsTestLightningOam_GoingOnGround_Frame4[10]; -extern const u16 sRuinsTestLightningOAM_GoingOnGround_Frame5[4]; +extern const u16 sRuinsTestLightningOam_GoingOnGround_Frame5[4]; -extern const u16 sRuinsTestLightningOAM_GoingOnGround_Frame6[10]; +extern const u16 sRuinsTestLightningOam_GoingOnGround_Frame6[10]; -extern const u16 sRuinsTestLightningOAM_GoingOnGround_Frame7[4]; +extern const u16 sRuinsTestLightningOam_GoingOnGround_Frame7[4]; -extern const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame0[7]; +extern const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame0[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame2[7]; +extern const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame2[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame4[7]; +extern const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame4[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame6[7]; +extern const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame6[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame8[7]; +extern const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame8[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame10[7]; +extern const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame10[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame12[7]; +extern const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame12[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame14[7]; +extern const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame14[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame0[7]; +extern const u16 sRuinsTestLightningOam_OnGroundVertical_Frame0[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame2[7]; +extern const u16 sRuinsTestLightningOam_OnGroundVertical_Frame2[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame4[7]; +extern const u16 sRuinsTestLightningOam_OnGroundVertical_Frame4[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame6[7]; +extern const u16 sRuinsTestLightningOam_OnGroundVertical_Frame6[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame8[7]; +extern const u16 sRuinsTestLightningOam_OnGroundVertical_Frame8[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame10[7]; +extern const u16 sRuinsTestLightningOam_OnGroundVertical_Frame10[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame12[7]; +extern const u16 sRuinsTestLightningOam_OnGroundVertical_Frame12[7]; -extern const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame14[7]; +extern const u16 sRuinsTestLightningOam_OnGroundVertical_Frame14[7]; extern const struct FrameData sRuinsTestSamusReflectionOAM[2]; -extern const struct FrameData sRuinsTestGhostOutlineOAM_Spawning[9]; +extern const struct FrameData sRuinsTestGhostOutlineOam_Spawning[9]; -extern const struct FrameData sRuinsTestGhostOAM_NotMoving[2]; +extern const struct FrameData sRuinsTestGhostOam_NotMoving[2]; -extern const struct FrameData sRuinsTestGhostOAM_Moving[7]; +extern const struct FrameData sRuinsTestGhostOam_Moving[7]; -extern const struct FrameData sRuinsTestGhostOAM_SymbolPlaced[2]; +extern const struct FrameData sRuinsTestGhostOam_SymbolPlaced[2]; -extern const struct FrameData sRuinsTestSymbolOAM_FourSymbols[14]; +extern const struct FrameData sRuinsTestSymbolOam_FourSymbols[14]; -extern const struct FrameData sRuinsTestSymbolOAM_Merging[3]; +extern const struct FrameData sRuinsTestSymbolOam_Merging[3]; -extern const struct FrameData sRuinsTestSymbolOAM_Disappearing[7]; +extern const struct FrameData sRuinsTestSymbolOam_Disappearing[7]; -extern const struct FrameData sRuinsTestOAM_TurningIntoReflection[13]; +extern const struct FrameData sRuinsTestOam_TurningIntoReflection[13]; extern const struct FrameData sRuinsTestReflectionCoverOAM[3]; -extern const struct FrameData sRuinsTestOAM_Symbol[5]; +extern const struct FrameData sRuinsTestOam_Symbol[5]; -extern const struct FrameData sRuinsTestShootableSymbolOAM_Spawning[10]; +extern const struct FrameData sRuinsTestShootableSymbolOam_Spawning[10]; -extern const struct FrameData sRuinsTestShootableSymbolOAM_Spawned[7]; +extern const struct FrameData sRuinsTestShootableSymbolOam_Spawned[7]; -extern const struct FrameData sRuinsTestShootableSymbolOAM_Despawning[5]; +extern const struct FrameData sRuinsTestShootableSymbolOam_Despawning[5]; -extern const struct FrameData sRuinsTestShootableSymbolOAM_TurningIntoSymbol[9]; +extern const struct FrameData sRuinsTestShootableSymbolOam_TurningIntoSymbol[9]; -extern const struct FrameData sRuinsTestGhostOAM_SymbolShot[2]; +extern const struct FrameData sRuinsTestGhostOam_SymbolShot[2]; -extern const struct FrameData sRuinsTestGhostOAM_SymbolPlacing[14]; +extern const struct FrameData sRuinsTestGhostOam_SymbolPlacing[14]; -extern const struct FrameData sRuinsTestOAM_Despawn[6]; +extern const struct FrameData sRuinsTestOam_Despawn[6]; -extern const struct FrameData sRuinsTestOAM_Unused[9]; +extern const struct FrameData sRuinsTestOam_Unused[9]; -extern const struct FrameData sRuinsTestOAM_Spawning[9]; +extern const struct FrameData sRuinsTestOam_Spawning[9]; -extern const struct FrameData sRuinsTestLightningOAM_InAir[12]; +extern const struct FrameData sRuinsTestLightningOam_InAir[12]; -extern const struct FrameData sRuinsTestLightningOAM_GoingOnGround[9]; +extern const struct FrameData sRuinsTestLightningOam_GoingOnGround[9]; -extern const struct FrameData sRuinsTestLightningOAM_OnGroundHorizontal[17]; +extern const struct FrameData sRuinsTestLightningOam_OnGroundHorizontal[17]; -extern const struct FrameData sRuinsTestLightningOAM_OnGroundVertical[17]; +extern const struct FrameData sRuinsTestLightningOam_OnGroundVertical[17]; -extern const struct FrameData sRuinsTestGhostOutlineOAM_ShootingGroundLightning[9]; +extern const struct FrameData sRuinsTestGhostOutlineOam_ShootingGroundLightning[9]; #endif diff --git a/include/data/sprites/zebetite_and_cannon.h b/include/data/sprites/zebetite_and_cannon.h index 02cbcbf2..4c609256 100644 --- a/include/data/sprites/zebetite_and_cannon.h +++ b/include/data/sprites/zebetite_and_cannon.h @@ -26,111 +26,111 @@ extern const u16 sRinkaMotherBrainOAM_Spawning_Frame4[19]; extern const u16 sRinkaMotherBrainOAM_Spawning_Frame5[19]; -extern const u16 sZebetiteOAM_Phase1_Frame0[19]; +extern const u16 sZebetiteOam_Phase1_Frame0[19]; -extern const u16 sZebetiteOAM_Phase1_Frame1[25]; +extern const u16 sZebetiteOam_Phase1_Frame1[25]; -extern const u16 sZebetiteOAM_Phase1_Frame2[22]; +extern const u16 sZebetiteOam_Phase1_Frame2[22]; -extern const u16 sZebetiteOAM_Phase1_Frame3[25]; +extern const u16 sZebetiteOam_Phase1_Frame3[25]; -extern const u16 sZebetiteOAM_Phase1_Frame4[19]; +extern const u16 sZebetiteOam_Phase1_Frame4[19]; -extern const u16 sZebetiteOAM_Phase1_Frame5[22]; +extern const u16 sZebetiteOam_Phase1_Frame5[22]; -extern const u16 sZebetiteOAM_Phase2_Frame0[19]; +extern const u16 sZebetiteOam_Phase2_Frame0[19]; -extern const u16 sZebetiteOAM_Phase2_Frame1[25]; +extern const u16 sZebetiteOam_Phase2_Frame1[25]; -extern const u16 sZebetiteOAM_Phase2_Frame2[22]; +extern const u16 sZebetiteOam_Phase2_Frame2[22]; -extern const u16 sZebetiteOAM_Phase2_Frame3[25]; +extern const u16 sZebetiteOam_Phase2_Frame3[25]; -extern const u16 sZebetiteOAM_Phase2_Frame4[19]; +extern const u16 sZebetiteOam_Phase2_Frame4[19]; -extern const u16 sZebetiteOAM_Phase2_Frame5[22]; +extern const u16 sZebetiteOam_Phase2_Frame5[22]; -extern const u16 sZebetiteOAM_Phase4_Frame0[19]; +extern const u16 sZebetiteOam_Phase4_Frame0[19]; -extern const u16 sZebetiteOAM_Phase4_Frame1[25]; +extern const u16 sZebetiteOam_Phase4_Frame1[25]; -extern const u16 sZebetiteOAM_Phase4_Frame2[22]; +extern const u16 sZebetiteOam_Phase4_Frame2[22]; -extern const u16 sZebetiteOAM_Phase4_Frame3[25]; +extern const u16 sZebetiteOam_Phase4_Frame3[25]; -extern const u16 sZebetiteOAM_Phase4_Frame4[19]; +extern const u16 sZebetiteOam_Phase4_Frame4[19]; -extern const u16 sZebetiteOAM_Phase4_Frame5[22]; +extern const u16 sZebetiteOam_Phase4_Frame5[22]; -extern const u16 sZebetiteOAM_Phase6_Frame0[19]; +extern const u16 sZebetiteOam_Phase6_Frame0[19]; -extern const u16 sZebetiteOAM_Phase6_Frame1[25]; +extern const u16 sZebetiteOam_Phase6_Frame1[25]; -extern const u16 sZebetiteOAM_Phase6_Frame2[22]; +extern const u16 sZebetiteOam_Phase6_Frame2[22]; -extern const u16 sZebetiteOAM_Phase6_Frame3[25]; +extern const u16 sZebetiteOam_Phase6_Frame3[25]; -extern const u16 sZebetiteOAM_Phase6_Frame4[19]; +extern const u16 sZebetiteOam_Phase6_Frame4[19]; -extern const u16 sZebetiteOAM_Phase6_Frame5[22]; +extern const u16 sZebetiteOam_Phase6_Frame5[22]; -extern const u16 sCannonOAM_AimingLeft_Frame0[7]; +extern const u16 sCannonOam_AimingLeft_Frame0[7]; -extern const u16 sCannonOAM_ShootingLeft_Frame1[7]; +extern const u16 sCannonOam_ShootingLeft_Frame1[7]; -extern const u16 sCannonOAM_ShootingLeft_Frame2[7]; +extern const u16 sCannonOam_ShootingLeft_Frame2[7]; -extern const u16 sCannonOAM_LeftToDownLeftTransition_Frame0[7]; +extern const u16 sCannonOam_LeftToDownLeftTransition_Frame0[7]; -extern const u16 sCannonOAM_AimingDownLeft_Frame0[7]; +extern const u16 sCannonOam_AimingDownLeft_Frame0[7]; -extern const u16 sCannonOAM_ShootingDownLeft_Frame1[7]; +extern const u16 sCannonOam_ShootingDownLeft_Frame1[7]; -extern const u16 sCannonOAM_ShootingDownLeft_Frame2[7]; +extern const u16 sCannonOam_ShootingDownLeft_Frame2[7]; -extern const u16 sCannonOAM_DownLeftToDownTransition_Frame0[7]; +extern const u16 sCannonOam_DownLeftToDownTransition_Frame0[7]; -extern const u16 sCannonOAM_AimingDown_Frame0[7]; +extern const u16 sCannonOam_AimingDown_Frame0[7]; -extern const u16 sCannonOAM_ShootingDown_Frame1[7]; +extern const u16 sCannonOam_ShootingDown_Frame1[7]; -extern const u16 sCannonOAM_ShootingDown_Frame2[7]; +extern const u16 sCannonOam_ShootingDown_Frame2[7]; -extern const u16 sCannonOAM_DownToDownRightTransition_Frame0[7]; +extern const u16 sCannonOam_DownToDownRightTransition_Frame0[7]; -extern const u16 sCannonOAM_AimingDownRight_Frame0[7]; +extern const u16 sCannonOam_AimingDownRight_Frame0[7]; -extern const u16 sCannonOAM_ShootingDownRight_Frame1[7]; +extern const u16 sCannonOam_ShootingDownRight_Frame1[7]; -extern const u16 sCannonOAM_ShootingDownRight_Frame2[7]; +extern const u16 sCannonOam_ShootingDownRight_Frame2[7]; -extern const u16 sCannonOAM_DownRightToRightTransition_Frame0[7]; +extern const u16 sCannonOam_DownRightToRightTransition_Frame0[7]; -extern const u16 sCannonOAM_AimingRight_Frame0[7]; +extern const u16 sCannonOam_AimingRight_Frame0[7]; -extern const u16 sCannonOAM_ShootingRight_Frame1[7]; +extern const u16 sCannonOam_ShootingRight_Frame1[7]; -extern const u16 sCannonOAM_ShootingRight_Frame2[7]; +extern const u16 sCannonOam_ShootingRight_Frame2[7]; -extern const u16 sCannonBulletOAM_Left_Frame0[4]; +extern const u16 sCannonBulletOam_Left_Frame0[4]; -extern const u16 sCannonBulletOAM_Left_Frame1[4]; +extern const u16 sCannonBulletOam_Left_Frame1[4]; -extern const u16 sCannonBulletOAM_DownLeft_Frame0[4]; +extern const u16 sCannonBulletOam_DownLeft_Frame0[4]; -extern const u16 sCannonBulletOAM_DownLeft_Frame1[4]; +extern const u16 sCannonBulletOam_DownLeft_Frame1[4]; -extern const u16 sCannonBulletOAM_Down_Frame0[4]; +extern const u16 sCannonBulletOam_Down_Frame0[4]; -extern const u16 sCannonBulletOAM_Down_Frame1[4]; +extern const u16 sCannonBulletOam_Down_Frame1[4]; -extern const u16 sCannonBulletOAM_DownRight_Frame0[4]; +extern const u16 sCannonBulletOam_DownRight_Frame0[4]; -extern const u16 sCannonBulletOAM_DownRight_Frame1[4]; +extern const u16 sCannonBulletOam_DownRight_Frame1[4]; -extern const u16 sCannonBulletOAM_Right_Frame0[4]; +extern const u16 sCannonBulletOam_Right_Frame0[4]; -extern const u16 sCannonBulletOAM_Right_Frame1[4]; +extern const u16 sCannonBulletOam_Right_Frame1[4]; extern const u16 sMotherBrainBlockOAM_Frame0[7]; @@ -146,51 +146,51 @@ extern const struct FrameData sRinkaMotherBrainOAM_Spawning[16]; extern const struct FrameData sRinkaMotherBrainOAM_Moving[5]; -extern const struct FrameData sZebetiteOAM_Phase1[7]; +extern const struct FrameData sZebetiteOam_Phase1[7]; -extern const struct FrameData sZebetiteOAM_Phase2[7]; +extern const struct FrameData sZebetiteOam_Phase2[7]; -extern const struct FrameData sZebetiteOAM_Phase4[7]; +extern const struct FrameData sZebetiteOam_Phase4[7]; -extern const struct FrameData sZebetiteOAM_Phase6[7]; +extern const struct FrameData sZebetiteOam_Phase6[7]; -extern const struct FrameData sCannonOAM_AimingLeft[2]; +extern const struct FrameData sCannonOam_AimingLeft[2]; -extern const struct FrameData sCannonOAM_ShootingLeft[4]; +extern const struct FrameData sCannonOam_ShootingLeft[4]; -extern const struct FrameData sCannonOAM_LeftToDownLeftTransition[2]; +extern const struct FrameData sCannonOam_LeftToDownLeftTransition[2]; -extern const struct FrameData sCannonOAM_AimingDownLeft[2]; +extern const struct FrameData sCannonOam_AimingDownLeft[2]; -extern const struct FrameData sCannonOAM_ShootingDownLeft[4]; +extern const struct FrameData sCannonOam_ShootingDownLeft[4]; -extern const struct FrameData sCannonOAM_DownLeftToDownTransition[2]; +extern const struct FrameData sCannonOam_DownLeftToDownTransition[2]; -extern const struct FrameData sCannonOAM_AimingDown[2]; +extern const struct FrameData sCannonOam_AimingDown[2]; -extern const struct FrameData sCannonOAM_ShootingDown[4]; +extern const struct FrameData sCannonOam_ShootingDown[4]; -extern const struct FrameData sCannonOAM_DownToDownRightTransition[2]; +extern const struct FrameData sCannonOam_DownToDownRightTransition[2]; -extern const struct FrameData sCannonOAM_AimingDownRight[2]; +extern const struct FrameData sCannonOam_AimingDownRight[2]; -extern const struct FrameData sCannonOAM_ShootingDownRight[4]; +extern const struct FrameData sCannonOam_ShootingDownRight[4]; -extern const struct FrameData sCannonOAM_DownRightToRightTransition[2]; +extern const struct FrameData sCannonOam_DownRightToRightTransition[2]; -extern const struct FrameData sCannonOAM_AimingRight[2]; +extern const struct FrameData sCannonOam_AimingRight[2]; -extern const struct FrameData sCannonOAM_ShootingRight[4]; +extern const struct FrameData sCannonOam_ShootingRight[4]; -extern const struct FrameData sCannonBulletOAM_Left[3]; +extern const struct FrameData sCannonBulletOam_Left[3]; -extern const struct FrameData sCannonBulletOAM_DownLeft[3]; +extern const struct FrameData sCannonBulletOam_DownLeft[3]; -extern const struct FrameData sCannonBulletOAM_Down[3]; +extern const struct FrameData sCannonBulletOam_Down[3]; -extern const struct FrameData sCannonBulletOAM_DownRight[3]; +extern const struct FrameData sCannonBulletOam_DownRight[3]; -extern const struct FrameData sCannonBulletOAM_Right[3]; +extern const struct FrameData sCannonBulletOam_Right[3]; extern const struct FrameData sMotherBrainBlockOAM[5]; diff --git a/include/funcs.h b/include/funcs.h index fcd16b7d..f35dcb8c 100644 --- a/include/funcs.h +++ b/include/funcs.h @@ -3,8 +3,6 @@ #include "types.h" -void init_sound(void); - void unk_33dc(void); void QueueSound(u16 id, u32 unk); /* TODO: unk type */ void StopOrFadeSound(u16 id, u32 unk); /* TODO: unk type */ diff --git a/include/gba/display.h b/include/gba/display.h index d8881f18..bc189c63 100644 --- a/include/gba/display.h +++ b/include/gba/display.h @@ -42,9 +42,6 @@ #define REG_BLDALPHA (REG_BASE + 0x052) #define REG_BLDY (REG_BASE + 0x054) -#define PLTT_BASE 0x05000000 -#define PLTT_BG ((vu16 *)(PLTT_BASE + 0x00)) - #define DCNT_MODE_1 1 #define DCNT_MODE_2 2 #define DCNT_MODE_3 3 @@ -73,6 +70,25 @@ #define DSTAT_IF_HBLANK (1 << 4) #define DSTAT_IF_VCOUNT (1 << 5) +#define BGCNT_HIGH_PRIORITY 0 +#define BGCNT_HIGH_MID_PRIORITY 1 +#define BGCNT_LOW_MID_PRIORITY 2 +#define BGCNT_LOW_PRIORITY 3 + +#define BGCNT_SIZE_256x256 0 +#define BGCNT_SIZE_512x256 1 +#define BGCNT_SIZE_256x512 2 +#define BGCNT_SIZE_512x512 3 + +#define BGCNT_MOSAIC 0x40 +#define BGCNT_SCREEN_OVERFLOW 0x2000 + +#define BGCNT_CHAR_BASE_BLOCK_SHIFT 2 +#define BGCNT_SCREEN_BASE_BLOCK_SHIFT 8 +#define BGCNT_SCREEN_SIZE_SHIFT 14 + +#define BGCNT_CREATE(charBase, screenBase, prio, size) ((size) << BGCNT_SCREEN_SIZE_SHIFT | (screenBase) << BGCNT_SCREEN_BASE_BLOCK_SHIFT | (charBase) << BGCNT_CHAR_BASE_BLOCK_SHIFT | (prio)) + #define BLDCNT_BG0_FIRST_TARGET_PIXEL 0x1 #define BLDCNT_BG1_FIRST_TARGET_PIXEL 0x2 #define BLDCNT_BG2_FIRST_TARGET_PIXEL 0x4 @@ -88,6 +104,9 @@ #define BLDCNT_OBJ_SECOND_TARGET_PIXEL 0x1000 #define BLDCNT_BACKDROP_SECOND_TARGET_PIXEL 0x2000 +#define BLDCNT_SCREEN_FIRST_TARGET (BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL) +#define BLDCNT_SCREEN_SECOND_TARGET (BLDCNT_BG0_SECOND_TARGET_PIXEL | BLDCNT_BG1_SECOND_TARGET_PIXEL | BLDCNT_BG2_SECOND_TARGET_PIXEL | BLDCNT_BG3_SECOND_TARGET_PIXEL | BLDCNT_OBJ_SECOND_TARGET_PIXEL | BLDCNT_BACKDROP_SECOND_TARGET_PIXEL) + #define WIN0_BG0 0x1 #define WIN0_BG1 0x2 #define WIN0_BG2 0x4 diff --git a/include/gba/keys.h b/include/gba/keys.h index 8fba1e89..52faad95 100644 --- a/include/gba/keys.h +++ b/include/gba/keys.h @@ -20,6 +20,8 @@ #define KEY_L (1 << 9) #define KEY_MASK 0x3ff +#define KEY_ALL_DIRECTIONS (KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN) + #define KEY_CONTROL_ENABLE (1 << 14) #define KEY_CONTROL_ANY_INPUT (0 << 15) #define KEY_CONTROL_ALL_INPUTS (1 << 15) diff --git a/include/globals.h b/include/globals.h index 6be4a647..40a768bd 100644 --- a/include/globals.h +++ b/include/globals.h @@ -34,8 +34,7 @@ extern u16 gInterruptCode[0x100]; extern void *sp_sys; extern void *sp_irq; extern Func_T intr_vector[13]; -extern u16 (*intr_code_ptr)[0x100]; -extern u16 (*intr_code_ptr)[0x100]; +extern u16 (*gIntrCodePointer)[0x100]; extern u16 gInterruptCheckFlag; diff --git a/include/init_helpers.h b/include/init_helpers.h index 9dba3af1..39ff3949 100644 --- a/include/init_helpers.h +++ b/include/init_helpers.h @@ -3,6 +3,6 @@ void ClearGfxRam(void); void LoadInterruptCode(void); -void ResetFreeOAM(void); +void ResetFreeOam(void); #endif /* INIT_HELPERS_H */ diff --git a/include/interrupts.h b/include/interrupts.h index 54dd2a06..7891791e 100644 --- a/include/interrupts.h +++ b/include/interrupts.h @@ -1,6 +1,6 @@ #ifndef INTERRUPTS_H #define INTERRUPTS_H -void intr_main(void); +void IntrMain(void); #endif /* INTERRUPTS_H */ diff --git a/include/macros.h b/include/macros.h index 00f9c4ec..65c12c51 100644 --- a/include/macros.h +++ b/include/macros.h @@ -10,7 +10,21 @@ #define LOW_BYTE(value) ((value) & UCHAR_MAX) #define HIGH_BYTE(value) (((value) & UCHAR_MAX << 8) >> 8) -#define CONSTRUCT_UINT_2_USHORTS(high, low) ((high) << 16 | (low)) +/** + * @brief Constructs an uint from 2 ushorts (high << 16 | low) + * + * @param high High + * @param low Low + */ +#define C_32_2_16(high, low) ((high) << 16 | (low)) + +/** + * @brief Constructs an ushort from 2 bytes (high << 8 | low) + * + * @param high High + * @param low Low + */ +#define C_16_2_8(high, low) ((high) << 8 | (low)) #define check_samus_turning() ((pData->direction ^ (KEY_RIGHT | KEY_LEFT)) & gButtonInput) #define ARRAY_SIZE(a) ((int)(sizeof((a)) / sizeof((a)[0]))) @@ -47,6 +61,30 @@ #define sin(a) (sSineTable[(a)]) #define cos(a) (sSineTable[(a) + PI / 2]) +// Converts a number to Q8.8 fixed-point format +#define Q_8_8(n) ((s16)((n) * 256)) + +// Converts a number to Q8.8 fixed-point format +#define Q_8_8_TO_SHORT(n) ((s16)((n) >> 8)) + +// Converts a number to Q4.12 fixed-point format +#define Q_4_12(n) ((s16)((n) * 4096)) + +// Converts a number to Q16.16 fixed-point format +#define Q_16_16(n) ((s32)((n) * 65536)) + +// Converts a number to Q24.8 fixed-point format +#define Q_24_8(n) ((s32)((n) << 8)) + +// Converts a Q8.8 fixed-point format number to a regular integer +#define Q_8_8_TO_INT(n) ((s32)((n) / 256)) + +// Converts a Q4.12 fixed-point format number to a regular integer +#define Q_4_12_TO_INT(n) ((s32)((n) / 4096)) + +// Converts a Q24.8 fixed-point format number to a regular integer +#define Q_24_8_TO_INT(n) ((s32)((n) >> 8)) + /** * @brief Performs a modulo (value % mod) operation on a value using the and operation (WARNING only use a value for mod that is divisble by 2) * @@ -56,16 +94,17 @@ #define MOD_AND(value, mod) ((value) & ((mod) - 1)) /** - * @brief Performs a division (value / div) operation on a value using the right shift operation (WARNING only use a value for div that is divisble by 2) + * @brief Performs a division (value / div) operation on a value using the right shift operation (WARNING only use a value for div that is divisble by 2 and <= 256) * * @param value Value * @param div Divisor */ -#define DIV_SHIFT(value, div) ((value) >> ((div) / 2)) +#define DIV_SHIFT(value, div) ((value) >> ((div) == 2 ? 1 : ((div) == 4 ? 2 : ((div) == 8 ? 3 : ((div) == 16 ? 4 : ((div) == 32 ? 5 : ((div) == 64 ? 6 : ((div) == 128 ? 7 : ((div) == 256 ? 8 : ((div) == 512 ? 9 : ((div) == 1024 ? 10 : 0))))))))))) #define GET_PSPRITE_HEALTH(id) sPrimarySpriteStats[(id)][0] #define GET_SSPRITE_HEALTH(id) sSecondarySpriteStats[(id)][0] + #define SUB_PIXEL_TO_PIXEL(pixel) ((pixel) / SUB_PIXEL_RATIO) #define PIXEL_TO_SUBPIXEL(pixel) ((pixel) * SUB_PIXEL_RATIO) diff --git a/include/oam.h b/include/oam.h index f0062faa..1164a450 100644 --- a/include/oam.h +++ b/include/oam.h @@ -71,6 +71,10 @@ union OamData { }; extern u8 gNextOamSlot; -extern union OamData gOamData[160]; + +#define OAM_BUFFER_DATA_SIZE 128 +#define OAM_BUFFER_AFFINE_SIZE 32 + +extern union OamData gOamData[OAM_BUFFER_DATA_SIZE + OAM_BUFFER_AFFINE_SIZE]; #endif /* OAM_H */ diff --git a/include/sprites_AI/item_banner.h b/include/sprites_AI/item_banner.h index d61dcf33..9a41e47e 100644 --- a/include/sprites_AI/item_banner.h +++ b/include/sprites_AI/item_banner.h @@ -5,7 +5,7 @@ // Item banner -#define ITEM_BANNER_POSE_Gfx_INIT 0x8 +#define ITEM_BANNER_POSE_GFX_INIT 0x8 #define ITEM_BANNER_POSE_POP_UP 0x9 #define ITEM_BANNER_POSE_STATIC 0x23 #define ITEM_BANNER_POSE_REMOVAL_INIT 0x24 diff --git a/include/sprites_AI/ridley.h b/include/sprites_AI/ridley.h index 6fe9970c..6996d63b 100644 --- a/include/sprites_AI/ridley.h +++ b/include/sprites_AI/ridley.h @@ -3,7 +3,7 @@ #include "types.h" -#define RIDLEY_GROUND_POSITION (BLOCK_SIZE * 18 - 1) +#define RIDLEY_GROUND_POSITION (BLOCK_SIZE * 18 - PIXEL_SIZE / PIXEL_SIZE) #define RIDLEY_POSE_CHECK_PLAY_CUTSCENE 0x1 #define RIDLEY_POSE_SPAWNING 0x2 diff --git a/include/sprites_AI/ruins_test.h b/include/sprites_AI/ruins_test.h index 61dac69e..808c2aad 100644 --- a/include/sprites_AI/ruins_test.h +++ b/include/sprites_AI/ruins_test.h @@ -94,6 +94,10 @@ #define RUINS_TEST_LIGHTNING_POSE_ON_GROUND_HORIZONTAL 0x25 #define RUINS_TEST_LIGHTNING_POSE_ON_GROUND_VERTICAL 0x27 + +#define RUINS_TEST_DYNAMIC_PAL_ADDR (PALRAM_BASE + (PALRAM_SIZE - 16 * 4)) +#define RUINS_TEST_TRANSFER_DYNAMIC_PAL(pal, size) DMA_SET(3, pal, RUINS_TEST_DYNAMIC_PAL_ADDR, C_32_2_16(DMA_ENABLE, size)) + void RuinsTestCalculateDelay(u8 delay); void RuinsTestChangeCCAA(u8 caa); void RuinsTestMoveToPosition(u16 yTarget, u16 xTarget, u16 yPosition, u16 xPosition, u16 speedMultiplier, u16 speed); diff --git a/include/sprites_AI/skree.h b/include/sprites_AI/skree.h index 2ec6c258..e3820f31 100644 --- a/include/sprites_AI/skree.h +++ b/include/sprites_AI/skree.h @@ -13,8 +13,10 @@ #define SKREE_EXPLOSION_PART_GOING_UP 0x0 #define SKREE_EXPLOSION_PART_GOING_DOWN 0x1 -#define SKREE_Y_RANGE (BLOCK_SIZE * 10 + 4) -#define SKREE_X_RANGE (BLOCK_SIZE * 2 + QUARTER_BLOCK_SIZE + 6) +#define SKREE_EXPLOSION_POSE_MOVING 0x9 + +#define SKREE_Y_RANGE (BLOCK_SIZE * 10 + PIXEL_SIZE) +#define SKREE_X_RANGE (BLOCK_SIZE * 2 + QUARTER_BLOCK_SIZE + PIXEL_SIZE + PIXEL_SIZE / 2) void SkreeInit(void); void SkreeIdleInit(void); diff --git a/include/sprites_AI/zebetite_and_cannon.h b/include/sprites_AI/zebetite_and_cannon.h index d0d764b3..f0b9393c 100644 --- a/include/sprites_AI/zebetite_and_cannon.h +++ b/include/sprites_AI/zebetite_and_cannon.h @@ -3,6 +3,9 @@ #include "types.h" +#define ZEBETITE_HEALTH_THRESHOLD 20 +#define ZEBETITE_HEAL_TIMER 30 + #define CANNON_AIM_LEFT 0 #define CANNON_AIM_LEFT_TO_DOWN_LEFT_TRANSITION 1 #define CANNON_AIM_DOWN_LEFT 2 @@ -17,7 +20,7 @@ #define CANNON_VIEW_RIGHT 1 #define CANNON_VIEW_LEFT 2 -#define CANNON_BULLET_SPEED 5 +#define CANNON_BULLET_SPEED (PIXEL_SIZE + PIXEL_SIZE / PIXEL_SIZE) #define CANNON_BULLET_SPEED_DIAG (CANNON_BULLET_SPEED - CANNON_BULLET_SPEED / 2) void Zebetite(void); @@ -26,4 +29,4 @@ void CannonCheckSurroundings(void); void Cannon(void); void CannonBullet(void); -#endif /* ZEBETITE_AND_CANNON_AI_H */ \ No newline at end of file +#endif /* ZEBETITE_AND_CANNON_AI_H */ diff --git a/include/structs/bg_clip.h b/include/structs/bg_clip.h index 1c85b3b0..6f97c92c 100644 --- a/include/structs/bg_clip.h +++ b/include/structs/bg_clip.h @@ -50,14 +50,14 @@ extern struct BG2Movement gBG2Movement; extern struct BG3Movement gBG3Movement; extern struct BG0Movement gBG0Movement; -extern u16 gBG0XPosition; -extern u16 gBG0YPosition; -extern u16 gBG1XPosition; -extern u16 gBG1YPosition; -extern u16 gBG2XPosition; -extern u16 gBG2YPosition; -extern u16 gBG3XPosition; -extern u16 gBG3YPosition; +extern u16 gBg0XPosition; +extern u16 gBg0YPosition; +extern u16 gBg1XPosition; +extern u16 gBg1YPosition; +extern u16 gBg2XPosition; +extern u16 gBg2YPosition; +extern u16 gBg3XPosition; +extern u16 gBg3YPosition; extern s8 gCollectingTank; extern u8 gDisableDoorAndTanks; diff --git a/include/structs/demo.h b/include/structs/demo.h index 65f1c13e..c4c31100 100644 --- a/include/structs/demo.h +++ b/include/structs/demo.h @@ -6,7 +6,7 @@ struct Demo { u8 number; u8 active; - u16 unk_2_0:4; + u16 hasBeenInit:4; u16 loading:4; u16 endedWithInput:4; u16 noDemoShuffle:4; diff --git a/include/structs/menu.h b/include/structs/menu.h index 38336c55..8601dd4b 100644 --- a/include/structs/menu.h +++ b/include/structs/menu.h @@ -27,8 +27,6 @@ struct MenuOamData { s16 unk_E; }; -#define MAINTAINED_INPUT_KEYS (KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN) - struct MaintainedInput { u8 delay; u8 set; diff --git a/linker.ld b/linker.ld index 01e2f2b6..2b1f130e 100644 --- a/linker.ld +++ b/linker.ld @@ -209,14 +209,14 @@ SECTIONS { . = 0x000013AE; gWrittenToBLDY_NonGameplay = .; . = 0x000013B0; gWrittenToBLDALPHA_L = .; . = 0x000013B2; gWrittenToBLDALPHA_H = .; - . = 0x000013B4; gBG0XPosition = .; - . = 0x000013B6; gBG0YPosition = .; - . = 0x000013B8; gBG1XPosition = .; - . = 0x000013BA; gBG1YPosition = .; - . = 0x000013BC; gBG2XPosition = .; - . = 0x000013BE; gBG2YPosition = .; - . = 0x000013C0; gBG3XPosition = .; - . = 0x000013C2; gBG3YPosition = .; + . = 0x000013B4; gBg0XPosition = .; + . = 0x000013B6; gBg0YPosition = .; + . = 0x000013B8; gBg1XPosition = .; + . = 0x000013BA; gBg1YPosition = .; + . = 0x000013BC; gBg2XPosition = .; + . = 0x000013BE; gBg2YPosition = .; + . = 0x000013C0; gBg3XPosition = .; + . = 0x000013C2; gBg3YPosition = .; . = 0x000013d2; gDemoState = .; . = 0x000013D4; gSamusData = .; . = 0x000013F4; gSamusDataCopy = .; @@ -380,7 +380,7 @@ SECTIONS { . = 0x00007e60; sp_sys = .; . = 0x00007fa0; sp_irq = .; . = 0x00007ff8; gInterruptCheckFlag = .; - . = 0x00007ffc; intr_code_ptr = .; + . = 0x00007ffc; gIntrCodePointer = .; . = 0x00007ffc; intr_vector = .; } >iwram diff --git a/src/bg_clip.c b/src/bg_clip.c index 79556ab9..377caf4c 100644 --- a/src/bg_clip.c +++ b/src/bg_clip.c @@ -39,14 +39,14 @@ void BgClipSetBgBlockValue(u8 bg, u16 value, u16 yPosition, u16 xPosition) gBgPointersAndDimensions.backgrounds[bg].pDecomp[yPosition * gBgPointersAndDimensions.backgrounds[bg].width + xPosition] = value; // Check is on screen, no need to update the tilemap if off screen, that can be delegated to the room tilemap update functions - offset = gBG1YPosition / BLOCK_SIZE; + offset = gBg1YPosition / BLOCK_SIZE; if (offset - 4 > yPosition) return; if (yPosition > offset + 13) return; - offset = gBG1XPosition / BLOCK_SIZE; + offset = gBg1XPosition / BLOCK_SIZE; if (offset - 4 > xPosition) return; @@ -84,14 +84,14 @@ void BgClipSetBg1BlockValue(u16 value, u16 yPosition, u16 xPosition) gBgPointersAndDimensions.backgrounds[1].pDecomp[yPosition * gBgPointersAndDimensions.backgrounds[1].width + xPosition] = value; // Check is on screen, no need to update the tilemap if off screen, that can be delegated to the room tilemap update functions - offset = gBG1YPosition / BLOCK_SIZE; + offset = gBg1YPosition / BLOCK_SIZE; if (offset - 4 > yPosition) return; if (yPosition > offset + 13) return; - offset = gBG1XPosition / BLOCK_SIZE; + offset = gBg1XPosition / BLOCK_SIZE; if (offset - 4 > xPosition) return; diff --git a/src/block.c b/src/block.c index 1c081d79..06bc734f 100644 --- a/src/block.c +++ b/src/block.c @@ -925,11 +925,11 @@ void BlockUpdateBrokenBlockAnimation(struct BrokenBlock* pBlock) pBlock->xPosition] = value; // Check is on screen, no need to update the tilemap if off screen, that can be delegated to the room tilemap update functions - offset = gBG1YPosition / BLOCK_SIZE; + offset = gBg1YPosition / BLOCK_SIZE; if (offset - 4 > pBlock->yPosition || pBlock->yPosition > offset + 13) return; - offset = gBG1XPosition / BLOCK_SIZE; + offset = gBg1XPosition / BLOCK_SIZE; if (offset - 4 > pBlock->xPosition || pBlock->xPosition > offset + 18) return; @@ -1404,16 +1404,16 @@ void BlockBrokenBlockRemoveCollision(u16 yPosition, u16 xPosition) gBgPointersAndDimensions.pClipDecomp[position] = 0; gBgPointersAndDimensions.backgrounds[1].pDecomp[position] = 0; - if (gBG1YPosition / BLOCK_SIZE - 4 > yPosition) + if (gBg1YPosition / BLOCK_SIZE - 4 > yPosition) return; - if (yPosition > gBG1YPosition / BLOCK_SIZE + 13) + if (yPosition > gBg1YPosition / BLOCK_SIZE + 13) return; - if (gBG1XPosition / BLOCK_SIZE - 4 > xPosition) + if (gBg1XPosition / BLOCK_SIZE - 4 > xPosition) return; - if (xPosition > gBG1XPosition / BLOCK_SIZE + 18) + if (xPosition > gBg1XPosition / BLOCK_SIZE + 18) return; dst = VRAM_BASE + 0x1000; diff --git a/src/chozodia_escape.c b/src/chozodia_escape.c index fe68db67..6cb2d1c9 100644 --- a/src/chozodia_escape.c +++ b/src/chozodia_escape.c @@ -33,12 +33,12 @@ void ChozodiaEscapeVBlank(void) write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L); write16(REG_BLDY, gWrittenToBLDY_NonGameplay); - write16(REG_BG0HOFS, gBG0XPosition & 0x1FF); - write16(REG_BG0VOFS, gBG0YPosition & 0xFF); - write16(REG_BG1HOFS, gBG1XPosition & 0x1FF); - write16(REG_BG1VOFS, gBG1YPosition & 0xFF); - write16(REG_BG2HOFS, gBG2XPosition & 0x1FF); - write16(REG_BG2VOFS, gBG2YPosition & 0xFF); + write16(REG_BG0HOFS, gBg0XPosition & 0x1FF); + write16(REG_BG0VOFS, gBg0YPosition & 0xFF); + write16(REG_BG1HOFS, gBg1XPosition & 0x1FF); + write16(REG_BG1VOFS, gBg1YPosition & 0xFF); + write16(REG_BG2HOFS, gBg2XPosition & 0x1FF); + write16(REG_BG2VOFS, gBg2YPosition & 0xFF); CHOZODIA_ESCAPE_DATA.unk_36f = CHOZODIA_ESCAPE_DATA.unk_36e; } @@ -422,14 +422,14 @@ void ChozodiaEscapeInit(void) write16(REG_BG1CNT, 0x1509); write16(REG_BG2CNT, 0x9602); - gBG0XPosition = 0; - gBG0YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; - gBG1XPosition = 0; - gBG1YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; - gBG2XPosition = 0; - gBG2YPosition = BLOCK_SIZE * 2 + HALF_BLOCK_SIZE + 8; - gBG3XPosition = 0; - gBG3YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; + gBg1XPosition = 0; + gBg1YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; + gBg2XPosition = 0; + gBg2YPosition = BLOCK_SIZE * 2 + HALF_BLOCK_SIZE + 8; + gBg3XPosition = 0; + gBg3YPosition = 0; write16(REG_BG0HOFS, 0); write16(REG_BG0VOFS, BLOCK_SIZE + HALF_BLOCK_SIZE); @@ -464,7 +464,7 @@ void ChozodiaEscapeInit(void) CHOZODIA_ESCAPE_DATA.oamYPositions[CHOZODIA_ESCAPE_OAM_SHIP_EXTERIOR] = 0x54; ChozodiaEscapeProcessOam_2(); - ResetFreeOAM(); + ResetFreeOam(); ApplyMonochromeToPalette(sChozodiaEscapeMissionAccomplishedPAL, CHOZODIA_ESCAPE_DATA.monochromePalette, 0); @@ -852,13 +852,13 @@ u8 ChozodiaEscapeShipBlowingUp(void) interval = CHOZODIA_ESCAPE_DATA.timer & 3; if (interval == 0) { - gBG1YPosition--; + gBg1YPosition--; CHOZODIA_ESCAPE_DATA.oamYPositions[3]++; } if (interval == 2) { - gBG1YPosition++; + gBg1YPosition++; CHOZODIA_ESCAPE_DATA.oamYPositions[3]--; } @@ -979,7 +979,7 @@ u8 ChozodiaEscapeShipLeavingPlanet(void) write16(REG_BG2CNT, 0x1E02); CHOZODIA_ESCAPE_DATA.dispcnt = DCNT_BG1 | DCNT_BG2 | DCNT_OBJ; - gBG1XPosition = QUARTER_BLOCK_SIZE; + gBg1XPosition = QUARTER_BLOCK_SIZE; break; case 224: @@ -1072,8 +1072,8 @@ u8 ChozodiaEscapeShipLeavingPlanet(void) // Slowly scroll background if (!(CHOZODIA_ESCAPE_DATA.timer & 0xF)) { - gBG1XPosition--; - gBG2XPosition--; + gBg1XPosition--; + gBg2XPosition--; } return ended; @@ -1155,7 +1155,7 @@ u8 ChozodiaEscapeMissionAccomplished(void) // Handle slowly scrolling the background if (!CHOZODIA_ESCAPE_DATA.unk_1 && !(CHOZODIA_ESCAPE_DATA.timer & 7)) - gBG2XPosition--; + gBg2XPosition--; return ended; } @@ -1219,12 +1219,12 @@ u32 ChozodiaEscapeSubroutine(void) // Reset backgrounds position if (CHOZODIA_ESCAPE_DATA.stage > 1) { - gBG0XPosition = 0; - gBG0YPosition = 0; - gBG1XPosition = 0; - gBG1YPosition = 0; - gBG2XPosition = 0; - gBG2YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; + gBg1XPosition = 0; + gBg1YPosition = 0; + gBg2XPosition = 0; + gBg2YPosition = 0; } } @@ -1235,7 +1235,7 @@ u32 ChozodiaEscapeSubroutine(void) gGameModeSub2 = 0; } - ResetFreeOAM(); + ResetFreeOam(); break; case 3: diff --git a/src/clipdata.c b/src/clipdata.c index 2eb23b9d..b10a9f81 100644 --- a/src/clipdata.c +++ b/src/clipdata.c @@ -363,7 +363,7 @@ u32 ClipdataUpdateCurrentAffecting(u16 yPosition, u16 tileY, u16 tileX, u8 dontC gCurrentAffectingClipdata.hazard = specialClip; // Return formatted clipdata - return CONSTRUCT_UINT_2_USHORTS(gCurrentAffectingClipdata.movement,gCurrentAffectingClipdata.hazard); + return C_32_2_16(gCurrentAffectingClipdata.movement,gCurrentAffectingClipdata.hazard); } /** diff --git a/src/color_fading.c b/src/color_fading.c index c527d754..c401e85c 100644 --- a/src/color_fading.c +++ b/src/color_fading.c @@ -530,7 +530,7 @@ u32 ColorFadingProcess(void) gNextOamSlot = 0; HudDraw(); ParticleProcessAll(); - ResetFreeOAM(); + ResetFreeOam(); gColorFading.stage = 0; return TRUE; @@ -592,7 +592,7 @@ u8 ColorFading_DoorTransition(void) gBackgroundPositions.doorTransition.x = BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE; gBackgroundPositions.doorTransition.y = ((BLOCK_SIZE * 16 - - (gDoorPositionStart.y * BLOCK_SIZE - gBG1YPosition)) >> 2); + (gDoorPositionStart.y * BLOCK_SIZE - gBg1YPosition)) >> 2); write16(REG_BG3HOFS, gBackgroundPositions.doorTransition.x); write16(REG_BG3VOFS, gBackgroundPositions.doorTransition.y); @@ -1145,7 +1145,7 @@ u8 ColorFading_UpdateDoorTransition(void) else gDoorPositionStart.x = BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE; - gDoorPositionStart.y = BLOCK_SIZE * 4 - ((gDoorPositionStart.y * BLOCK_SIZE - gBG1YPosition) >> 2); + gDoorPositionStart.y = BLOCK_SIZE * 4 - ((gDoorPositionStart.y * BLOCK_SIZE - gBg1YPosition) >> 2); if (gDoorUnlockTimer == 1) ConnectionLockHatchesWithTimer(); diff --git a/src/connection.c b/src/connection.c index 69f49a96..465d76f4 100644 --- a/src/connection.c +++ b/src/connection.c @@ -278,7 +278,7 @@ u32 ConnectionCheckEnterDoor(u16 yPosition, u16 xPosition) if ((pDoor->type & DOOR_TYPE_NO_FLAGS) > DOOR_TYPE_NO_HATCH) { - if (pDoor->xStart > (gBG1XPosition >> 0x6) + 8) + if (pDoor->xStart > (gBg1XPosition >> 0x6) + 8) gDoorPositionStart.x = 1; gDoorPositionStart.y = pDoor->yStart; } diff --git a/src/cutscenes/cutscene_utils.c b/src/cutscenes/cutscene_utils.c index 07594a58..55db0467 100644 --- a/src/cutscenes/cutscene_utils.c +++ b/src/cutscenes/cutscene_utils.c @@ -283,7 +283,7 @@ void CutsceneInit(void) gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); write16(REG_BLDCNT, CUTSCENE_DATA.bldcnt = 0xFF); @@ -991,8 +991,7 @@ void unk_61f0c(void) { CUTSCENE_DATA.dispcnt = 0; gWrittenToBLDY_NonGameplay = 0x10; - CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; } @@ -1004,8 +1003,7 @@ void unk_61f28(void) { CUTSCENE_DATA.dispcnt = 0; gWrittenToBLDY_NonGameplay = 0x10; - CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; } diff --git a/src/cutscenes/enter_tourian.c b/src/cutscenes/enter_tourian.c index 3e80cd07..32d68fc0 100644 --- a/src/cutscenes/enter_tourian.c +++ b/src/cutscenes/enter_tourian.c @@ -603,6 +603,6 @@ void EnterTourianProcessOAM(void) gNextOamSlot = 0; ProcessCutsceneOam(sEnterTourianSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sEnterTourianOam); - ResetFreeOAM(); + ResetFreeOam(); CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0); } diff --git a/src/cutscenes/getting_fully_powered_suit.c b/src/cutscenes/getting_fully_powered_suit.c index aaed1d18..530982c2 100644 --- a/src/cutscenes/getting_fully_powered_suit.c +++ b/src/cutscenes/getting_fully_powered_suit.c @@ -364,5 +364,5 @@ void GettingFullyPoweredSuitProcessOAM(void) { gNextOamSlot = 0; ProcessCutsceneOam(sGettingFullyPoweredSuitSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sGettingFullyPoweredSuitCutsceneOAM); - ResetFreeOAM(); + ResetFreeOam(); } diff --git a/src/cutscenes/kraid_rising.c b/src/cutscenes/kraid_rising.c index 7f75a6b2..ba60f7cb 100644 --- a/src/cutscenes/kraid_rising.c +++ b/src/cutscenes/kraid_rising.c @@ -327,5 +327,5 @@ void KraidRisingProcessOAM(void) gNextOamSlot = 0; ProcessCutsceneOam(sKraidRisingSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sKraidRisingCutsceneOAM); // Undefined - ResetFreeOAM(); + ResetFreeOam(); } diff --git a/src/cutscenes/mecha_sees_samus.c b/src/cutscenes/mecha_sees_samus.c index 33e526c9..df40617e 100644 --- a/src/cutscenes/mecha_sees_samus.c +++ b/src/cutscenes/mecha_sees_samus.c @@ -147,5 +147,5 @@ void MechaRidleySeesSamusProcessOAM(void) { gNextOamSlot = 0; ProcessCutsceneOam(sMechaSeesSamusSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sMechaSeesSamusCutsceneOAM); // Undefined - ResetFreeOAM(); + ResetFreeOam(); } diff --git a/src/cutscenes/mother_brain_close_up.c b/src/cutscenes/mother_brain_close_up.c index 511b5af7..fda5eb06 100644 --- a/src/cutscenes/mother_brain_close_up.c +++ b/src/cutscenes/mother_brain_close_up.c @@ -341,8 +341,7 @@ u8 MotherBrainCloseUpInit(void) CutsceneSetBGCNTPageData(sMotherBrainCloseUpPageData[0]); CutsceneReset(); - CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; gWrittenToBLDY_NonGameplay = 16; @@ -382,7 +381,7 @@ void MotherBrainCloseUpProcessOAM(void) { gNextOamSlot = 0; ProcessCutsceneOam(sMotherBrainCloseUpSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sMotherBrainCloseUpCutsceneOAM); - ResetFreeOAM(); + ResetFreeOam(); } /** diff --git a/src/cutscenes/ridley_in_space.c b/src/cutscenes/ridley_in_space.c index 58f91155..f480f851 100644 --- a/src/cutscenes/ridley_in_space.c +++ b/src/cutscenes/ridley_in_space.c @@ -607,7 +607,7 @@ void RidleyInSpaceProcessOAM(void) gNextOamSlot = 0; ProcessCutsceneOam(sRidleyInSpaceSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleyInSpaceCutsceneOAM); - ResetFreeOAM(); + ResetFreeOam(); CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0); } diff --git a/src/cutscenes/ridley_landing.c b/src/cutscenes/ridley_landing.c index 1bbee55e..69cf7c8a 100644 --- a/src/cutscenes/ridley_landing.c +++ b/src/cutscenes/ridley_landing.c @@ -420,8 +420,7 @@ u8 RidleyLandingInit(void) CutsceneSetBGCNTPageData(sRidleyLandingPageData[0]); CutsceneReset(); - CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; gWrittenToBLDY_NonGameplay = 16; @@ -469,6 +468,6 @@ void RidleyLandingProcessOAM(void) gNextOamSlot = 0; ProcessCutsceneOam(sRidleyLandingSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleyLandingCutsceneOAM); - ResetFreeOAM(); + ResetFreeOam(); CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0); } diff --git a/src/cutscenes/ridley_spawn.c b/src/cutscenes/ridley_spawn.c index 04e746a7..01171f3b 100644 --- a/src/cutscenes/ridley_spawn.c +++ b/src/cutscenes/ridley_spawn.c @@ -303,6 +303,6 @@ void RidleySpawnProcessOAM(void) { gNextOamSlot = 0; ProcessCutsceneOam(sRidleySpawnSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleySpawnOam); - ResetFreeOAM(); + ResetFreeOam(); CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0); } diff --git a/src/cutscenes/samus_in_blue_ship.c b/src/cutscenes/samus_in_blue_ship.c index 30ea89d8..ce1972a6 100644 --- a/src/cutscenes/samus_in_blue_ship.c +++ b/src/cutscenes/samus_in_blue_ship.c @@ -216,5 +216,5 @@ void SamusInBlueShipProcessOAM(void) { gNextOamSlot = 0; ProcessCutsceneOam(sSamusInBlueShipSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sSamusInBlueShipOam); - ResetFreeOAM(); + ResetFreeOam(); } diff --git a/src/cutscenes/statue_opening.c b/src/cutscenes/statue_opening.c index a69ac7af..4074112c 100644 --- a/src/cutscenes/statue_opening.c +++ b/src/cutscenes/statue_opening.c @@ -136,8 +136,7 @@ u8 StatueOpeningInit(void) CutsceneReset(); - CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; gWrittenToBLDY_NonGameplay = 16; @@ -222,5 +221,5 @@ void StatueOpeningProcessOAM(void) { gNextOamSlot = 0; ProcessCutsceneOam(sStatueOpeningSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sStatueOpeningOam); - ResetFreeOAM(); + ResetFreeOam(); } diff --git a/src/data/frame_data_pointers.c b/src/data/frame_data_pointers.c index 9113d5ce..df66db2f 100644 --- a/src/data/frame_data_pointers.c +++ b/src/data/frame_data_pointers.c @@ -146,25 +146,25 @@ const struct FrameData* const sRidleyFrameDataPointers[33] = { sRidleyOAM_SpittingFireballs, sRidleyOAM_TurningAroundFirstPart, sRidleyOAM_TurningAroundSecondPart, - sRidleyPartOAM_HeadIdle, - sRidleyPartOAM_OpeningMouth, - sRidleyPartOAM_MouthOpened, - sRidleyPartOAM_HeadDying, - sRidleyPartOAM_HeadTurningAround, - sRidleyPartOAM_ClawIdle, - sRidleyPartOAM_ClawSpittingFireballs, - sRidleyPartOAM_ClawTurningAroundFirstPart, - sRidleyPartOAM_ClawTurningAroundSecondPart, - sRidleyPartOAM_ClawCarryingSamus, - sRidleyPartOAM_ClawLiftingSamus, - sRidleyPartOAM_ClawSamusLifted, - sRidleyPartOAM_ClawReleasingSamus, - sRidleyPartOAM_LeftWingIdle, - sRidleyPartOAM_RightWingIdle, - sRidleyPartOAM_LeftWing_Unused, - sRidleyPartOAM_RightWing_Unused, - sRidleyPartOAM_LeftWingSpittingFireballs, - sRidleyPartOAM_RightWingSpittingFireballs, + sRidleyPartOam_HeadIdle, + sRidleyPartOam_OpeningMouth, + sRidleyPartOam_MouthOpened, + sRidleyPartOam_HeadDying, + sRidleyPartOam_HeadTurningAround, + sRidleyPartOam_ClawIdle, + sRidleyPartOam_ClawSpittingFireballs, + sRidleyPartOam_ClawTurningAroundFirstPart, + sRidleyPartOam_ClawTurningAroundSecondPart, + sRidleyPartOam_ClawCarryingSamus, + sRidleyPartOam_ClawLiftingSamus, + sRidleyPartOam_ClawSamusLifted, + sRidleyPartOam_ClawReleasingSamus, + sRidleyPartOam_LeftWingIdle, + sRidleyPartOam_RightWingIdle, + sRidleyPartOam_LeftWing_Unused, + sRidleyPartOam_RightWing_Unused, + sRidleyPartOam_LeftWingSpittingFireballs, + sRidleyPartOam_RightWingSpittingFireballs, sRidleyTailOAM_Part, sRidleyTailOAM_TipPointingDown, sRidleyTailOAM_TipPointingUp, @@ -173,8 +173,8 @@ const struct FrameData* const sRidleyFrameDataPointers[33] = { sRidleyTailOAM_TipPointingDiagonallyDownLeft, sRidleyTailOAM_TipPointingDiagonallyUpLeft, sRidleyOAM_Square, - sRidleyFireballOAM_Small, - sRidleyFireballOAM_Big + sRidleyFireballOam_Small, + sRidleyFireballOam_Big }; diff --git a/src/data/intro_data.c b/src/data/intro_data.c index 46d26de3..76271a65 100644 --- a/src/data/intro_data.c +++ b/src/data/intro_data.c @@ -146,7 +146,7 @@ const u16 sIntroTextMarkerOAM[10] = { 0xf8, 0x8, 0x1022 }; -const u16 sIntroShipFlyingTowardsCameraOAM_1[19] = { +const u16 sIntroShipFlyingTowardsCameraOam_1[19] = { 0x6, 0xd8, OBJ_SIZE_64x64 | 0x1c0, 0x3041, 0xd8, OBJ_SIZE_64x64 | 0x0, 0x3049, @@ -156,7 +156,7 @@ const u16 sIntroShipFlyingTowardsCameraOAM_1[19] = { OBJ_MODE_SEMI_TRANSPARENT | 0xd8, OBJ_X_FLIP | OBJ_SIZE_64x64 | 0x1f8, 0x4052 }; -const u16 sIntroShipFlyingTowardsCameraOAM_2[28] = { +const u16 sIntroShipFlyingTowardsCameraOam_2[28] = { 0x9, 0xd8, OBJ_SIZE_64x64 | 0x1c0, 0x3041, 0xd8, OBJ_SIZE_64x64 | 0x0, 0x3049, diff --git a/src/data/samus_sprites_pointers.c b/src/data/samus_sprites_pointers.c index 408b3a54..79ed5315 100644 --- a/src/data/samus_sprites_pointers.c +++ b/src/data/samus_sprites_pointers.c @@ -730,7 +730,7 @@ const u16* const sSpritesPalettePointers[190] = { [PSPRITE_GERON_NORFAIR - 0x10] = sGeronNorfairPAL, [PSPRITE_HOLTZ - 0x10] = sHoltzPAL, [PSPRITE_GEKITAI_MACHINE - 0x10] = sGekitaiMachinePAL, - [PSPRITE_RUINS_TEST - 0x10] = sRuinsTestPAL, + [PSPRITE_RUINS_TEST - 0x10] = sRuinsTestPal, [PSPRITE_SAVE_PLATFORM - 0x10] = sSavePlatformPAL, [PSPRITE_KRAID - 0x10] = sKraidPAL, [PSPRITE_IMAGO_COCOON_AFTER_FIGHT - 0x10] = sImagoCocoonPAL, diff --git a/src/data/sprites/ridley.c b/src/data/sprites/ridley.c index 7119ad66..0696ae94 100644 --- a/src/data/sprites/ridley.c +++ b/src/data/sprites/ridley.c @@ -1044,7 +1044,7 @@ const u16 sRidleyOAM_TurningAround_Frame1[49] = { OBJ_SHAPE_HORIZONTAL | 0x5, OBJ_SIZE_32x16 | 0x1e5, OBJ_SPRITE_OAM | 0x214 }; -const u16 sRidleyPartOAM_HeadIdle_Frame0[13] = { +const u16 sRidleyPartOam_HeadIdle_Frame0[13] = { 0x4, 0xe8, OBJ_SIZE_32x32 | 0x1f4, OBJ_SPRITE_OAM | 0x281, OBJ_SHAPE_VERTICAL | 0x8, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x300, @@ -1052,7 +1052,7 @@ const u16 sRidleyPartOAM_HeadIdle_Frame0[13] = { 0xff, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b }; -const u16 sRidleyPartOAM_HeadIdle_Frame1[13] = { +const u16 sRidleyPartOam_HeadIdle_Frame1[13] = { 0x4, 0xe9, OBJ_SIZE_32x32 | 0x1f4, OBJ_SPRITE_OAM | 0x281, OBJ_SHAPE_VERTICAL | 0x9, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x300, @@ -1060,7 +1060,7 @@ const u16 sRidleyPartOAM_HeadIdle_Frame1[13] = { 0xff, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x20b }; -const u16 sRidleyPartOAM_OpeningMouth_Frame0[13] = { +const u16 sRidleyPartOam_OpeningMouth_Frame0[13] = { 0x4, 0xf0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x32 | 0x1fc, OBJ_SPRITE_OAM | 0x2ee, 0xf8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x312, @@ -1068,7 +1068,7 @@ const u16 sRidleyPartOAM_OpeningMouth_Frame0[13] = { 0xff, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b }; -const u16 sRidleyPartOAM_MouthOpened_Frame0[13] = { +const u16 sRidleyPartOam_MouthOpened_Frame0[13] = { 0x4, 0xe1, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, OBJ_SHAPE_VERTICAL | 0xe1, OBJ_SIZE_16x32 | 0x1eb, OBJ_SPRITE_OAM | 0x296, @@ -1076,7 +1076,7 @@ const u16 sRidleyPartOAM_MouthOpened_Frame0[13] = { 0x0, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b }; -const u16 sRidleyPartOAM_MouthOpened_Frame1[13] = { +const u16 sRidleyPartOam_MouthOpened_Frame1[13] = { 0x4, 0xe2, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, OBJ_SHAPE_VERTICAL | 0xe2, OBJ_SIZE_16x32 | 0x1eb, OBJ_SPRITE_OAM | 0x296, @@ -1084,7 +1084,7 @@ const u16 sRidleyPartOAM_MouthOpened_Frame1[13] = { 0xff, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b }; -const u16 sRidleyPartOAM_HeadDying_Frame0[16] = { +const u16 sRidleyPartOam_HeadDying_Frame0[16] = { 0x5, 0xe3, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, OBJ_SHAPE_VERTICAL | 0xe3, OBJ_SIZE_16x32 | 0x1eb, OBJ_SPRITE_OAM | 0x296, @@ -1093,7 +1093,7 @@ const u16 sRidleyPartOAM_HeadDying_Frame0[16] = { OBJ_SHAPE_VERTICAL | 0xff, OBJ_SIZE_16x32 | 0x1ff, OBJ_SPRITE_OAM | 0x20d }; -const u16 sRidleyPartOAM_HeadDying_Frame1[16] = { +const u16 sRidleyPartOam_HeadDying_Frame1[16] = { 0x5, 0xed, 0x1fe, OBJ_SPRITE_OAM | 0x2d4, 0xe1, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, @@ -1102,7 +1102,7 @@ const u16 sRidleyPartOAM_HeadDying_Frame1[16] = { 0x0, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b }; -const u16 sRidleyPartOAM_HeadDying_Frame2[19] = { +const u16 sRidleyPartOam_HeadDying_Frame2[19] = { 0x6, 0xee, 0x1fe, OBJ_SPRITE_OAM | 0x2d5, 0xe3, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, @@ -1112,7 +1112,7 @@ const u16 sRidleyPartOAM_HeadDying_Frame2[19] = { OBJ_SHAPE_VERTICAL | 0xff, OBJ_SIZE_16x32 | 0x1ff, OBJ_SPRITE_OAM | 0x20d }; -const u16 sRidleyPartOAM_HeadDying_Frame3[16] = { +const u16 sRidleyPartOam_HeadDying_Frame3[16] = { 0x5, 0xed, 0x1fe, OBJ_SPRITE_OAM | 0x2f5, 0xe1, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, @@ -1121,14 +1121,14 @@ const u16 sRidleyPartOAM_HeadDying_Frame3[16] = { 0x0, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b }; -const u16 sRidleyPartOAM_HeadTurningAround_Frame0[10] = { +const u16 sRidleyPartOam_HeadTurningAround_Frame0[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1f5, OBJ_SPRITE_OAM | 0x393, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_8x32 | 0x5, OBJ_SPRITE_OAM | 0x395, OBJ_SHAPE_VERTICAL | 0x8, OBJ_SIZE_16x32 | 0x1f9, OBJ_SPRITE_OAM | 0x396 }; -const u16 sRidleyPartOAM_ClawIdle_Frame0[13] = { +const u16 sRidleyPartOam_ClawIdle_Frame0[13] = { 0x4, 0xc, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x21c, 0x6, OBJ_SIZE_16x16 | 0x1e3, OBJ_SPRITE_OAM | 0x250, @@ -1136,7 +1136,7 @@ const u16 sRidleyPartOAM_ClawIdle_Frame0[13] = { OBJ_SHAPE_VERTICAL | 0xef, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawIdle_Frame1[13] = { +const u16 sRidleyPartOam_ClawIdle_Frame1[13] = { 0x4, 0xd, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x29c, 0x7, OBJ_SIZE_16x16 | 0x1e3, OBJ_SPRITE_OAM | 0x250, @@ -1144,7 +1144,7 @@ const u16 sRidleyPartOAM_ClawIdle_Frame1[13] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawIdle_Frame2[13] = { +const u16 sRidleyPartOam_ClawIdle_Frame2[13] = { 0x4, 0xe, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c, 0x8, OBJ_SIZE_16x16 | 0x1e2, OBJ_SPRITE_OAM | 0x250, @@ -1152,7 +1152,7 @@ const u16 sRidleyPartOAM_ClawIdle_Frame2[13] = { OBJ_SHAPE_VERTICAL | 0xf1, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawIdle_Frame3[22] = { +const u16 sRidleyPartOam_ClawIdle_Frame3[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd, OBJ_SIZE_16x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c, OBJ_SHAPE_VERTICAL | 0xe, OBJ_SIZE_8x32 | 0x1d1, OBJ_SPRITE_OAM | 0x31e, @@ -1163,7 +1163,7 @@ const u16 sRidleyPartOAM_ClawIdle_Frame3[22] = { OBJ_SHAPE_VERTICAL | 0xf1, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawSpittingFireballs_Frame1[13] = { +const u16 sRidleyPartOam_ClawSpittingFireballs_Frame1[13] = { 0x4, 0xb, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x29c, 0x5, OBJ_SIZE_16x16 | 0x1e3, OBJ_SPRITE_OAM | 0x250, @@ -1171,7 +1171,7 @@ const u16 sRidleyPartOAM_ClawSpittingFireballs_Frame1[13] = { OBJ_SHAPE_VERTICAL | 0xee, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawSpittingFireballs_Frame2[13] = { +const u16 sRidleyPartOam_ClawSpittingFireballs_Frame2[13] = { 0x4, 0xc, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c, 0x6, OBJ_SIZE_16x16 | 0x1e3, OBJ_SPRITE_OAM | 0x250, @@ -1179,7 +1179,7 @@ const u16 sRidleyPartOAM_ClawSpittingFireballs_Frame2[13] = { OBJ_SHAPE_VERTICAL | 0xef, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawTurningAround_Frame0[13] = { +const u16 sRidleyPartOam_ClawTurningAround_Frame0[13] = { 0x4, 0xb, OBJ_SIZE_32x32 | 0x1bf, OBJ_SPRITE_OAM | 0x21c, 0x6, OBJ_SIZE_16x16 | 0x1df, OBJ_SPRITE_OAM | 0x250, @@ -1187,7 +1187,7 @@ const u16 sRidleyPartOAM_ClawTurningAround_Frame0[13] = { OBJ_SHAPE_VERTICAL | 0xef, OBJ_SIZE_16x32 | 0x1e8, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawTurningAround_Frame1[13] = { +const u16 sRidleyPartOam_ClawTurningAround_Frame1[13] = { 0x4, 0xe, OBJ_SIZE_32x32 | 0x1ca, OBJ_SPRITE_OAM | 0x218, 0x6, OBJ_SIZE_16x16 | 0x1e7, OBJ_SPRITE_OAM | 0x250, @@ -1195,7 +1195,7 @@ const u16 sRidleyPartOAM_ClawTurningAround_Frame1[13] = { OBJ_SHAPE_VERTICAL | 0xef, OBJ_SIZE_16x32 | 0x1f0, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawLiftingSamus_Frame0[16] = { +const u16 sRidleyPartOam_ClawLiftingSamus_Frame0[16] = { 0x5, 0x7, OBJ_SIZE_32x32 | 0x1bd, OBJ_SPRITE_OAM | 0x21c, 0x2, OBJ_SIZE_16x16 | 0x1e0, OBJ_SPRITE_OAM | 0x250, @@ -1204,7 +1204,7 @@ const u16 sRidleyPartOAM_ClawLiftingSamus_Frame0[16] = { 0xfd, OBJ_SIZE_16x16 | 0x1ea, OBJ_SPRITE_OAM | 0x3cf }; -const u16 sRidleyPartOAM_ClawLiftingSamus_Frame1[16] = { +const u16 sRidleyPartOam_ClawLiftingSamus_Frame1[16] = { 0x5, 0x1, OBJ_SIZE_32x32 | 0x1b7, OBJ_SPRITE_OAM | 0x21c, 0xfc, OBJ_SIZE_16x16 | 0x1dc, OBJ_SPRITE_OAM | 0x250, @@ -1213,7 +1213,7 @@ const u16 sRidleyPartOAM_ClawLiftingSamus_Frame1[16] = { 0xf8, OBJ_SIZE_16x16 | 0x1e6, OBJ_SPRITE_OAM | 0x3cf }; -const u16 sRidleyPartOAM_ClawLiftingSamus_Frame2[16] = { +const u16 sRidleyPartOam_ClawLiftingSamus_Frame2[16] = { 0x5, 0xfa, OBJ_SIZE_32x32 | 0x1b2, OBJ_SPRITE_OAM | 0x21c, 0xf5, OBJ_SIZE_16x16 | 0x1d5, OBJ_SPRITE_OAM | 0x250, @@ -1222,7 +1222,7 @@ const u16 sRidleyPartOAM_ClawLiftingSamus_Frame2[16] = { 0xed, OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawLiftingSamus_Frame3[13] = { +const u16 sRidleyPartOam_ClawLiftingSamus_Frame3[13] = { 0x4, 0xf1, OBJ_SIZE_32x32 | 0x1b0, OBJ_SPRITE_OAM | 0x21c, 0xeb, OBJ_SIZE_16x16 | 0x1d3, OBJ_SPRITE_OAM | 0x250, @@ -1230,7 +1230,7 @@ const u16 sRidleyPartOAM_ClawLiftingSamus_Frame3[13] = { 0xec, OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_ClawLiftingSamus_Frame4[13] = { +const u16 sRidleyPartOam_ClawLiftingSamus_Frame4[13] = { 0x4, 0xeb, OBJ_SIZE_32x32 | 0x1af, OBJ_SPRITE_OAM | 0x21c, 0xe5, OBJ_SIZE_16x16 | 0x1d2, OBJ_SPRITE_OAM | 0x250, @@ -1238,7 +1238,7 @@ const u16 sRidleyPartOAM_ClawLiftingSamus_Frame4[13] = { 0xeb, OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_SamusLifted_Frame0[13] = { +const u16 sRidleyPartOam_SamusLifted_Frame0[13] = { 0x4, 0xe2, OBJ_SIZE_32x32 | 0x1ad, OBJ_SPRITE_OAM | 0x21c, 0xdd, OBJ_SIZE_16x16 | 0x1d0, OBJ_SPRITE_OAM | 0x250, @@ -1246,7 +1246,7 @@ const u16 sRidleyPartOAM_SamusLifted_Frame0[13] = { 0xea, OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x38f }; -const u16 sRidleyPartOAM_LeftWingIdle_Frame0[13] = { +const u16 sRidleyPartOam_LeftWingIdle_Frame0[13] = { 0x4, 0xe0, OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x385, OBJ_SHAPE_HORIZONTAL | 0xd0, OBJ_SIZE_32x16 | 0x0, OBJ_SPRITE_OAM | 0x345, @@ -1254,7 +1254,7 @@ const u16 sRidleyPartOAM_LeftWingIdle_Frame0[13] = { OBJ_SHAPE_HORIZONTAL | 0xc8, 0x8, OBJ_SPRITE_OAM | 0x326 }; -const u16 sRidleyPartOAM_LeftWingIdle_Frame1[19] = { +const u16 sRidleyPartOam_LeftWingIdle_Frame1[19] = { 0x6, OBJ_SHAPE_HORIZONTAL | 0xe1, OBJ_SIZE_32x16 | 0x0, OBJ_SPRITE_OAM | 0x385, OBJ_SHAPE_HORIZONTAL | 0xf1, OBJ_SIZE_32x8 | 0x0, OBJ_SPRITE_OAM | 0x3c5, @@ -1264,33 +1264,33 @@ const u16 sRidleyPartOAM_LeftWingIdle_Frame1[19] = { OBJ_SHAPE_HORIZONTAL | 0xca, 0x9, OBJ_SPRITE_OAM | 0x326 }; -const u16 sRidleyPartOAM_LeftWingIdle_Frame2[10] = { +const u16 sRidleyPartOam_LeftWingIdle_Frame2[10] = { 0x3, 0xe1, OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x2a5, OBJ_SHAPE_HORIZONTAL | 0xd9, OBJ_SIZE_32x8 | 0x0, OBJ_SPRITE_OAM | 0x285, OBJ_SHAPE_VERTICAL | 0xd9, OBJ_SIZE_16x32 | 0x20, OBJ_SPRITE_OAM | 0x289 }; -const u16 sRidleyPartOAM_LeftWingIdle_Frame3[7] = { +const u16 sRidleyPartOam_LeftWingIdle_Frame3[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf0, OBJ_SIZE_32x16 | 0x1, OBJ_SPRITE_OAM | 0x245, 0xf0, OBJ_SIZE_16x16 | 0x21, OBJ_SPRITE_OAM | 0x249 }; -const u16 sRidleyPartOAM_LeftWingIdle_Frame4[7] = { +const u16 sRidleyPartOam_LeftWingIdle_Frame4[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xff, OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1, OBJ_SPRITE_OAM | 0x1245, 0xff, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x21, OBJ_SPRITE_OAM | 0x1249 }; -const u16 sRidleyPartOAM_LeftWingIdle_Frame5[10] = { +const u16 sRidleyPartOam_LeftWingIdle_Frame5[10] = { 0x3, 0xfe, OBJ_Y_FLIP | OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x12a5, OBJ_SHAPE_HORIZONTAL | 0x1e, OBJ_Y_FLIP | OBJ_SIZE_32x8 | 0x0, OBJ_SPRITE_OAM | 0x1285, OBJ_SHAPE_VERTICAL | 0x6, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x20, OBJ_SPRITE_OAM | 0x1289 }; -const u16 sRidleyPartOAM_RightWingIdle_Frame0[16] = { +const u16 sRidleyPartOam_RightWingIdle_Frame0[16] = { 0x5, OBJ_SHAPE_VERTICAL | 0xce, OBJ_SIZE_16x32 | 0x1f2, OBJ_SPRITE_OAM | 0x1345, 0xee, OBJ_SIZE_16x16 | 0x1f2, OBJ_SPRITE_OAM | 0x13c5, @@ -1299,7 +1299,7 @@ const u16 sRidleyPartOAM_RightWingIdle_Frame0[16] = { OBJ_SHAPE_VERTICAL | 0xd2, OBJ_SIZE_16x32 | 0x2, OBJ_SPRITE_OAM | 0x1369 }; -const u16 sRidleyPartOAM_RightWingIdle_Frame1[16] = { +const u16 sRidleyPartOam_RightWingIdle_Frame1[16] = { 0x5, OBJ_SHAPE_VERTICAL | 0xcf, OBJ_SIZE_16x32 | 0x1f3, OBJ_SPRITE_OAM | 0x1345, 0xef, OBJ_SIZE_16x16 | 0x1f2, OBJ_SPRITE_OAM | 0x13c5, @@ -1308,7 +1308,7 @@ const u16 sRidleyPartOAM_RightWingIdle_Frame1[16] = { OBJ_SHAPE_VERTICAL | 0xd3, OBJ_SIZE_16x32 | 0x2, OBJ_SPRITE_OAM | 0x1369 }; -const u16 sRidleyPartOAM_RightWingIdle_Frame2[25] = { +const u16 sRidleyPartOam_RightWingIdle_Frame2[25] = { 0x8, OBJ_SHAPE_HORIZONTAL | 0xd9, 0x1f0, OBJ_SPRITE_OAM | 0x1285, 0xe1, OBJ_SIZE_16x16 | 0x1f0, OBJ_SPRITE_OAM | 0x12a5, @@ -1320,19 +1320,19 @@ const u16 sRidleyPartOAM_RightWingIdle_Frame2[25] = { 0xe9, OBJ_SIZE_16x16 | 0x9, OBJ_SPRITE_OAM | 0x12c9 }; -const u16 sRidleyPartOAM_RightWingIdle_Frame3[7] = { +const u16 sRidleyPartOam_RightWingIdle_Frame3[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf1, OBJ_SIZE_32x16 | 0x1ef, OBJ_SPRITE_OAM | 0x1245, 0xf1, OBJ_SIZE_16x16 | 0xf, OBJ_SPRITE_OAM | 0x1249 }; -const u16 sRidleyPartOAM_RightWingIdle_Frame4[7] = { +const u16 sRidleyPartOam_RightWingIdle_Frame4[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xfd, OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1ec, OBJ_SPRITE_OAM | 0x1245, 0xfd, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0xc, OBJ_SPRITE_OAM | 0x1249 }; -const u16 sRidleyPartOAM_RightWingIdle_Frame5[25] = { +const u16 sRidleyPartOam_RightWingIdle_Frame5[25] = { 0x8, OBJ_SHAPE_HORIZONTAL | 0x20, OBJ_Y_FLIP | 0x1f0, OBJ_SPRITE_OAM | 0x285, 0x10, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f0, OBJ_SPRITE_OAM | 0x2a5, @@ -1384,12 +1384,12 @@ const u16 sRidleyOAM_Square_Frame0[4] = { 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x303 }; -const u16 sRidleyFireballOAM_Small_Frame0[4] = { +const u16 sRidleyFireballOam_Small_Frame0[4] = { 0x1, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x2209 }; -const u16 sRidleyFireballOAM_Big_Frame0[4] = { +const u16 sRidleyFireballOam_Big_Frame0[4] = { 0x1, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x239c }; @@ -1442,272 +1442,272 @@ const struct FrameData sRidleyOAM_TurningAroundSecondPart[3] = { 0x0 }; -const struct FrameData sRidleyPartOAM_HeadIdle[3] = { - sRidleyPartOAM_HeadIdle_Frame0, +const struct FrameData sRidleyPartOam_HeadIdle[3] = { + sRidleyPartOam_HeadIdle_Frame0, 0xE, - sRidleyPartOAM_HeadIdle_Frame1, + sRidleyPartOam_HeadIdle_Frame1, 0x40, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_OpeningMouth[2] = { - sRidleyPartOAM_OpeningMouth_Frame0, +const struct FrameData sRidleyPartOam_OpeningMouth[2] = { + sRidleyPartOam_OpeningMouth_Frame0, 0x5, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_MouthOpened[3] = { - sRidleyPartOAM_MouthOpened_Frame0, +const struct FrameData sRidleyPartOam_MouthOpened[3] = { + sRidleyPartOam_MouthOpened_Frame0, 0x3, - sRidleyPartOAM_MouthOpened_Frame1, + sRidleyPartOam_MouthOpened_Frame1, 0x3, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_HeadDying[5] = { - sRidleyPartOAM_HeadDying_Frame0, +const struct FrameData sRidleyPartOam_HeadDying[5] = { + sRidleyPartOam_HeadDying_Frame0, 0x3, - sRidleyPartOAM_HeadDying_Frame1, + sRidleyPartOam_HeadDying_Frame1, 0x3, - sRidleyPartOAM_HeadDying_Frame2, + sRidleyPartOam_HeadDying_Frame2, 0x3, - sRidleyPartOAM_HeadDying_Frame3, + sRidleyPartOam_HeadDying_Frame3, 0x3, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_HeadTurningAround[2] = { - sRidleyPartOAM_HeadTurningAround_Frame0, +const struct FrameData sRidleyPartOam_HeadTurningAround[2] = { + sRidleyPartOam_HeadTurningAround_Frame0, 0xFF, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_ClawIdle[7] = { - sRidleyPartOAM_ClawIdle_Frame0, +const struct FrameData sRidleyPartOam_ClawIdle[7] = { + sRidleyPartOam_ClawIdle_Frame0, 0xE, - sRidleyPartOAM_ClawIdle_Frame1, + sRidleyPartOam_ClawIdle_Frame1, 0xE, - sRidleyPartOAM_ClawIdle_Frame2, + sRidleyPartOam_ClawIdle_Frame2, 0xE, - sRidleyPartOAM_ClawIdle_Frame3, + sRidleyPartOam_ClawIdle_Frame3, 0x8, - sRidleyPartOAM_ClawIdle_Frame2, + sRidleyPartOam_ClawIdle_Frame2, 0xE, - sRidleyPartOAM_ClawIdle_Frame1, + sRidleyPartOam_ClawIdle_Frame1, 0xE, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_ClawSpittingFireballs[5] = { - sRidleyPartOAM_ClawIdle_Frame0, +const struct FrameData sRidleyPartOam_ClawSpittingFireballs[5] = { + sRidleyPartOam_ClawIdle_Frame0, 0x3, - sRidleyPartOAM_ClawSpittingFireballs_Frame1, + sRidleyPartOam_ClawSpittingFireballs_Frame1, 0x3, - sRidleyPartOAM_ClawSpittingFireballs_Frame2, + sRidleyPartOam_ClawSpittingFireballs_Frame2, 0x3, - sRidleyPartOAM_ClawSpittingFireballs_Frame1, + sRidleyPartOam_ClawSpittingFireballs_Frame1, 0x3, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_ClawTurningAroundFirstPart[3] = { - sRidleyPartOAM_ClawTurningAround_Frame0, +const struct FrameData sRidleyPartOam_ClawTurningAroundFirstPart[3] = { + sRidleyPartOam_ClawTurningAround_Frame0, 0x4, - sRidleyPartOAM_ClawTurningAround_Frame1, + sRidleyPartOam_ClawTurningAround_Frame1, 0x4, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_ClawTurningAroundSecondPart[3] = { - sRidleyPartOAM_ClawTurningAround_Frame1, +const struct FrameData sRidleyPartOam_ClawTurningAroundSecondPart[3] = { + sRidleyPartOam_ClawTurningAround_Frame1, 0x4, - sRidleyPartOAM_ClawTurningAround_Frame0, + sRidleyPartOam_ClawTurningAround_Frame0, 0x4, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_ClawCarryingSamus[2] = { - sRidleyPartOAM_ClawIdle_Frame0, +const struct FrameData sRidleyPartOam_ClawCarryingSamus[2] = { + sRidleyPartOam_ClawIdle_Frame0, 0xFF, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_ClawLiftingSamus[6] = { - sRidleyPartOAM_ClawLiftingSamus_Frame0, +const struct FrameData sRidleyPartOam_ClawLiftingSamus[6] = { + sRidleyPartOam_ClawLiftingSamus_Frame0, 0x6, - sRidleyPartOAM_ClawLiftingSamus_Frame1, + sRidleyPartOam_ClawLiftingSamus_Frame1, 0x6, - sRidleyPartOAM_ClawLiftingSamus_Frame2, + sRidleyPartOam_ClawLiftingSamus_Frame2, 0x6, - sRidleyPartOAM_ClawLiftingSamus_Frame3, + sRidleyPartOam_ClawLiftingSamus_Frame3, 0x6, - sRidleyPartOAM_ClawLiftingSamus_Frame4, + sRidleyPartOam_ClawLiftingSamus_Frame4, 0x6, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_ClawSamusLifted[2] = { - sRidleyPartOAM_SamusLifted_Frame0, +const struct FrameData sRidleyPartOam_ClawSamusLifted[2] = { + sRidleyPartOam_SamusLifted_Frame0, 0xFF, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_ClawReleasingSamus[6] = { - sRidleyPartOAM_ClawLiftingSamus_Frame4, +const struct FrameData sRidleyPartOam_ClawReleasingSamus[6] = { + sRidleyPartOam_ClawLiftingSamus_Frame4, 0x2, - sRidleyPartOAM_ClawLiftingSamus_Frame3, + sRidleyPartOam_ClawLiftingSamus_Frame3, 0x2, - sRidleyPartOAM_ClawLiftingSamus_Frame2, + sRidleyPartOam_ClawLiftingSamus_Frame2, 0x2, - sRidleyPartOAM_ClawLiftingSamus_Frame1, + sRidleyPartOam_ClawLiftingSamus_Frame1, 0x2, - sRidleyPartOAM_ClawLiftingSamus_Frame0, + sRidleyPartOam_ClawLiftingSamus_Frame0, 0x2, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_LeftWingIdle[11] = { - sRidleyPartOAM_LeftWingIdle_Frame0, +const struct FrameData sRidleyPartOam_LeftWingIdle[11] = { + sRidleyPartOam_LeftWingIdle_Frame0, 0x4, - sRidleyPartOAM_LeftWingIdle_Frame1, + sRidleyPartOam_LeftWingIdle_Frame1, 0x4, - sRidleyPartOAM_LeftWingIdle_Frame2, + sRidleyPartOam_LeftWingIdle_Frame2, 0x3, - sRidleyPartOAM_LeftWingIdle_Frame3, + sRidleyPartOam_LeftWingIdle_Frame3, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame4, + sRidleyPartOam_LeftWingIdle_Frame4, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame5, + sRidleyPartOam_LeftWingIdle_Frame5, 0x4, - sRidleyPartOAM_LeftWingIdle_Frame4, + sRidleyPartOam_LeftWingIdle_Frame4, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame3, + sRidleyPartOam_LeftWingIdle_Frame3, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame2, + sRidleyPartOam_LeftWingIdle_Frame2, 0x3, - sRidleyPartOAM_LeftWingIdle_Frame1, + sRidleyPartOam_LeftWingIdle_Frame1, 0x4, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_RightWingIdle[11] = { - sRidleyPartOAM_RightWingIdle_Frame0, +const struct FrameData sRidleyPartOam_RightWingIdle[11] = { + sRidleyPartOam_RightWingIdle_Frame0, 0x4, - sRidleyPartOAM_RightWingIdle_Frame1, + sRidleyPartOam_RightWingIdle_Frame1, 0x4, - sRidleyPartOAM_RightWingIdle_Frame2, + sRidleyPartOam_RightWingIdle_Frame2, 0x3, - sRidleyPartOAM_RightWingIdle_Frame3, + sRidleyPartOam_RightWingIdle_Frame3, 0x2, - sRidleyPartOAM_RightWingIdle_Frame4, + sRidleyPartOam_RightWingIdle_Frame4, 0x2, - sRidleyPartOAM_RightWingIdle_Frame5, + sRidleyPartOam_RightWingIdle_Frame5, 0x4, - sRidleyPartOAM_RightWingIdle_Frame4, + sRidleyPartOam_RightWingIdle_Frame4, 0x2, - sRidleyPartOAM_RightWingIdle_Frame3, + sRidleyPartOam_RightWingIdle_Frame3, 0x2, - sRidleyPartOAM_RightWingIdle_Frame2, + sRidleyPartOam_RightWingIdle_Frame2, 0x3, - sRidleyPartOAM_RightWingIdle_Frame1, + sRidleyPartOam_RightWingIdle_Frame1, 0x4, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_LeftWing_Unused[11] = { - sRidleyPartOAM_LeftWingIdle_Frame0, +const struct FrameData sRidleyPartOam_LeftWing_Unused[11] = { + sRidleyPartOam_LeftWingIdle_Frame0, 0x3, - sRidleyPartOAM_LeftWingIdle_Frame1, + sRidleyPartOam_LeftWingIdle_Frame1, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame2, + sRidleyPartOam_LeftWingIdle_Frame2, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame3, + sRidleyPartOam_LeftWingIdle_Frame3, 0x1, - sRidleyPartOAM_LeftWingIdle_Frame4, + sRidleyPartOam_LeftWingIdle_Frame4, 0x1, - sRidleyPartOAM_LeftWingIdle_Frame5, + sRidleyPartOam_LeftWingIdle_Frame5, 0x3, - sRidleyPartOAM_LeftWingIdle_Frame4, + sRidleyPartOam_LeftWingIdle_Frame4, 0x1, - sRidleyPartOAM_LeftWingIdle_Frame3, + sRidleyPartOam_LeftWingIdle_Frame3, 0x1, - sRidleyPartOAM_LeftWingIdle_Frame2, + sRidleyPartOam_LeftWingIdle_Frame2, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame1, + sRidleyPartOam_LeftWingIdle_Frame1, 0x2, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_RightWing_Unused[11] = { - sRidleyPartOAM_RightWingIdle_Frame0, +const struct FrameData sRidleyPartOam_RightWing_Unused[11] = { + sRidleyPartOam_RightWingIdle_Frame0, 0x3, - sRidleyPartOAM_RightWingIdle_Frame1, + sRidleyPartOam_RightWingIdle_Frame1, 0x2, - sRidleyPartOAM_RightWingIdle_Frame2, + sRidleyPartOam_RightWingIdle_Frame2, 0x2, - sRidleyPartOAM_RightWingIdle_Frame3, + sRidleyPartOam_RightWingIdle_Frame3, 0x1, - sRidleyPartOAM_RightWingIdle_Frame4, + sRidleyPartOam_RightWingIdle_Frame4, 0x1, - sRidleyPartOAM_RightWingIdle_Frame5, + sRidleyPartOam_RightWingIdle_Frame5, 0x3, - sRidleyPartOAM_RightWingIdle_Frame4, + sRidleyPartOam_RightWingIdle_Frame4, 0x1, - sRidleyPartOAM_RightWingIdle_Frame3, + sRidleyPartOam_RightWingIdle_Frame3, 0x1, - sRidleyPartOAM_RightWingIdle_Frame2, + sRidleyPartOam_RightWingIdle_Frame2, 0x2, - sRidleyPartOAM_RightWingIdle_Frame1, + sRidleyPartOam_RightWingIdle_Frame1, 0x2, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_LeftWingSpittingFireballs[7] = { - sRidleyPartOAM_LeftWingIdle_Frame0, +const struct FrameData sRidleyPartOam_LeftWingSpittingFireballs[7] = { + sRidleyPartOam_LeftWingIdle_Frame0, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame2, + sRidleyPartOam_LeftWingIdle_Frame2, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame3, + sRidleyPartOam_LeftWingIdle_Frame3, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame4, + sRidleyPartOam_LeftWingIdle_Frame4, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame3, + sRidleyPartOam_LeftWingIdle_Frame3, 0x2, - sRidleyPartOAM_LeftWingIdle_Frame2, + sRidleyPartOam_LeftWingIdle_Frame2, 0x2, NULL, 0x0 }; -const struct FrameData sRidleyPartOAM_RightWingSpittingFireballs[7] = { - sRidleyPartOAM_RightWingIdle_Frame0, +const struct FrameData sRidleyPartOam_RightWingSpittingFireballs[7] = { + sRidleyPartOam_RightWingIdle_Frame0, 0x2, - sRidleyPartOAM_RightWingIdle_Frame2, + sRidleyPartOam_RightWingIdle_Frame2, 0x2, - sRidleyPartOAM_RightWingIdle_Frame3, + sRidleyPartOam_RightWingIdle_Frame3, 0x2, - sRidleyPartOAM_RightWingIdle_Frame4, + sRidleyPartOam_RightWingIdle_Frame4, 0x2, - sRidleyPartOAM_RightWingIdle_Frame3, + sRidleyPartOam_RightWingIdle_Frame3, 0x2, - sRidleyPartOAM_RightWingIdle_Frame2, + sRidleyPartOam_RightWingIdle_Frame2, 0x2, NULL, 0x0 @@ -1769,15 +1769,15 @@ const struct FrameData sRidleyOAM_Square[2] = { 0x0 }; -const struct FrameData sRidleyFireballOAM_Small[2] = { - sRidleyFireballOAM_Small_Frame0, +const struct FrameData sRidleyFireballOam_Small[2] = { + sRidleyFireballOam_Small_Frame0, 0xFF, NULL, 0x0 }; -const struct FrameData sRidleyFireballOAM_Big[2] = { - sRidleyFireballOAM_Big_Frame0, +const struct FrameData sRidleyFireballOam_Big[2] = { + sRidleyFireballOam_Big_Frame0, 0xFF, NULL, 0x0 diff --git a/src/data/sprites/ruins_test.c b/src/data/sprites/ruins_test.c index 9f910e3f..76519a2b 100644 --- a/src/data/sprites/ruins_test.c +++ b/src/data/sprites/ruins_test.c @@ -10,15 +10,15 @@ const u32 sRuinsTestGfx_SamusReflectionFullSuitTop[96] = INCBIN_U32("data/sprite const u32 sRuinsTestGfx_SamusReflectionFullSuitBottom[64] = INCBIN_U32("data/sprites/RuinsTest_SamusReflectionFullSuitBottom.gfx"); const u32 sRuinsTestGfx_SamusReflectionSuitlessTop[96] = INCBIN_U32("data/sprites/RuinsTest_SamusReflectionSuitlessTop.gfx"); const u32 sRuinsTestGfx_SamusReflectionSuitlessBottom[64] = INCBIN_U32("data/sprites/RuinsTest_SamusReflectionSuitlessBottom.gfx"); -const u16 sRuinsTestPAL[128] = INCBIN_U16("data/sprites/RuinsTest.pal"); -const u16 sRuinsTestPAL_SymbolShot_Frame1[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame1.pal"); -const u16 sRuinsTestPAL_SymbolShot_Frame2[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame2.pal"); -const u16 sRuinsTestPAL_SymbolShot_Frame3[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame3.pal"); -const u16 sRuinsTestPAL_SymbolShot_Frame4[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame4.pal"); -const u16 sRuinsTestPAL_SymbolShot_Frame5[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame5.pal"); -const u16 sRuinsTestPAL_SymbolShot_Frame6[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame6.pal"); -const u16 sRuinsTestPAL_SamusReflection[15 * 16] = INCBIN_U16("data/sprites/RuinsTest_SamusReflection.pal"); -const u16 sRuinsTestPAL_SamusReflectionFullSuit[15 * 16] = INCBIN_U16("data/sprites/RuinsTest_SamusReflectionFullSuit.pal"); +const u16 sRuinsTestPal[128] = INCBIN_U16("data/sprites/RuinsTest.pal"); +const u16 sRuinsTestPal_SymbolShot_Frame1[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame1.pal"); +const u16 sRuinsTestPal_SymbolShot_Frame2[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame2.pal"); +const u16 sRuinsTestPal_SymbolShot_Frame3[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame3.pal"); +const u16 sRuinsTestPal_SymbolShot_Frame4[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame4.pal"); +const u16 sRuinsTestPal_SymbolShot_Frame5[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame5.pal"); +const u16 sRuinsTestPal_SymbolShot_Frame6[8] = INCBIN_U16("data/sprites/RuinsTest_SymbolShotFrame6.pal"); +const u16 sRuinsTestPal_SamusReflection[15 * 16] = INCBIN_U16("data/sprites/RuinsTest_SamusReflection.pal"); +const u16 sRuinsTestPal_SamusReflectionFullSuit[15 * 16] = INCBIN_U16("data/sprites/RuinsTest_SamusReflectionFullSuit.pal"); const u16 sRuinsTestSamusReflectionOAM_Frame0[10] = { 0x3, @@ -27,7 +27,7 @@ const u16 sRuinsTestSamusReflectionOAM_Frame0[10] = { OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_SIZE_32x8 | 0x1f0, OBJ_SPRITE_OAM | 0x721c }; -const u16 sRuinsTestGhostOAM_SymbolPlaced_Frame0[4] = { +const u16 sRuinsTestGhostOam_SymbolPlaced_Frame0[4] = { 0x1, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x220e }; @@ -112,7 +112,7 @@ const u16 sRuinsTestGhostOutline_Spawning_Frame4[37] = { OBJ_SHAPE_HORIZONTAL | 0x8, OBJ_X_FLIP | 0xd, OBJ_SPRITE_OAM | 0x525a }; -const u16 sRuinsTestGhostOAM_NotMoving_Frame0[76] = { +const u16 sRuinsTestGhostOam_NotMoving_Frame0[76] = { 0x19, OBJ_SHAPE_HORIZONTAL | 0xe8, OBJ_SIZE_32x16 | 0x1cb, OBJ_SPRITE_OAM | 0x204, 0xf8, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x246, @@ -141,7 +141,7 @@ const u16 sRuinsTestGhostOAM_NotMoving_Frame0[76] = { 0xdf, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x0, OBJ_SPRITE_OAM | 0x2a5 }; -const u16 sRuinsTestGhostOAM_Moving_Frame1[58] = { +const u16 sRuinsTestGhostOam_Moving_Frame1[58] = { 0x13, OBJ_SHAPE_HORIZONTAL | 0xe9, OBJ_SIZE_32x16 | 0x1cb, OBJ_SPRITE_OAM | 0x204, 0xf9, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x246, @@ -164,7 +164,7 @@ const u16 sRuinsTestGhostOAM_Moving_Frame1[58] = { 0xdf, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x0, OBJ_SPRITE_OAM | 0x2a5 }; -const u16 sRuinsTestGhostOAM_Moving_Frame2[76] = { +const u16 sRuinsTestGhostOam_Moving_Frame2[76] = { 0x19, OBJ_SHAPE_HORIZONTAL | 0xe9, OBJ_SIZE_32x16 | 0x1cc, OBJ_SPRITE_OAM | 0x204, 0xf9, OBJ_SIZE_16x16 | 0x1dc, OBJ_SPRITE_OAM | 0x246, @@ -193,7 +193,7 @@ const u16 sRuinsTestGhostOAM_Moving_Frame2[76] = { 0xdf, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x0, OBJ_SPRITE_OAM | 0x2a5 }; -const u16 sRuinsTestGhostOAM_Moving_Frame3[76] = { +const u16 sRuinsTestGhostOam_Moving_Frame3[76] = { 0x19, OBJ_SHAPE_HORIZONTAL | 0xe9, OBJ_SIZE_32x16 | 0x1cc, OBJ_SPRITE_OAM | 0x204, 0xf9, OBJ_SIZE_16x16 | 0x1dc, OBJ_SPRITE_OAM | 0x246, @@ -222,7 +222,7 @@ const u16 sRuinsTestGhostOAM_Moving_Frame3[76] = { 0xe0, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x0, OBJ_SPRITE_OAM | 0x2a5 }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame0[13] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame0[13] = { 0x4, 0xc4, OBJ_SIZE_32x32 | 0x198, OBJ_SPRITE_OAM | 0x620e, 0xc4, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e, @@ -230,7 +230,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame0[13] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame1[37] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame1[37] = { 0xc, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x1208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x1208, @@ -246,7 +246,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame1[37] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame2[37] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame2[37] = { 0xc, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x2208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x2208, @@ -262,7 +262,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame2[37] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame3[37] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame3[37] = { 0xc, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x3208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x3208, @@ -278,7 +278,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame3[37] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame4[37] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame4[37] = { 0xc, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x4208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x4208, @@ -294,7 +294,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame4[37] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame5[37] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame5[37] = { 0xc, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x5208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x5208, @@ -310,7 +310,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame5[37] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame6[37] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame6[37] = { 0xc, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x120a, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x120a, @@ -326,7 +326,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame6[37] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame7[37] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame7[37] = { 0xc, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x120c, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x120c, @@ -342,7 +342,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame7[37] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame10[49] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame10[49] = { 0x10, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x4208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x4208, @@ -362,7 +362,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame10[49] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame11[61] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame11[61] = { 0x14, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x4208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x4208, @@ -386,7 +386,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame11[61] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_FourSymbols_Frame12[73] = { +const u16 sRuinsTestSymbolOam_FourSymbols_Frame12[73] = { 0x18, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x4208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x4208, @@ -414,7 +414,7 @@ const u16 sRuinsTestSymbolOAM_FourSymbols_Frame12[73] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_Merging_Frame0[85] = { +const u16 sRuinsTestSymbolOam_Merging_Frame0[85] = { 0x1c, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x5208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x5208, @@ -446,7 +446,7 @@ const u16 sRuinsTestSymbolOAM_Merging_Frame0[85] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_Merging_Frame1[85] = { +const u16 sRuinsTestSymbolOam_Merging_Frame1[85] = { 0x1c, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x120c, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x120c, @@ -478,7 +478,7 @@ const u16 sRuinsTestSymbolOAM_Merging_Frame1[85] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_Disappearing_Frame0[73] = { +const u16 sRuinsTestSymbolOam_Disappearing_Frame0[73] = { 0x18, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x4208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x4208, @@ -506,7 +506,7 @@ const u16 sRuinsTestSymbolOAM_Disappearing_Frame0[73] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_Disappearing_Frame1[61] = { +const u16 sRuinsTestSymbolOam_Disappearing_Frame1[61] = { 0x14, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x4208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x4208, @@ -530,7 +530,7 @@ const u16 sRuinsTestSymbolOAM_Disappearing_Frame1[61] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_Disappearing_Frame2[49] = { +const u16 sRuinsTestSymbolOam_Disappearing_Frame2[49] = { 0x10, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x4208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x4208, @@ -550,7 +550,7 @@ const u16 sRuinsTestSymbolOAM_Disappearing_Frame2[49] = { 0x1c, OBJ_SIZE_32x32 | 0x48, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestSymbolOAM_Disappearing_Frame3[25] = { +const u16 sRuinsTestSymbolOam_Disappearing_Frame3[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x3208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x3208, @@ -562,7 +562,7 @@ const u16 sRuinsTestSymbolOAM_Disappearing_Frame3[25] = { OBJ_SHAPE_VERTICAL | 0x1c, OBJ_SIZE_16x32 | 0x48, OBJ_SPRITE_OAM | 0x3208 }; -const u16 sRuinsTestSymbolOAM_Disappearing_Frame4[25] = { +const u16 sRuinsTestSymbolOam_Disappearing_Frame4[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x2208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x2208, @@ -574,7 +574,7 @@ const u16 sRuinsTestSymbolOAM_Disappearing_Frame4[25] = { OBJ_SHAPE_VERTICAL | 0x1c, OBJ_SIZE_16x32 | 0x48, OBJ_SPRITE_OAM | 0x2208 }; -const u16 sRuinsTestSymbolOAM_Disappearing_Frame5[25] = { +const u16 sRuinsTestSymbolOam_Disappearing_Frame5[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_SIZE_16x32 | 0x198, OBJ_SPRITE_OAM | 0x1208, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1a8, OBJ_SPRITE_OAM | 0x1208, @@ -586,7 +586,7 @@ const u16 sRuinsTestSymbolOAM_Disappearing_Frame5[25] = { OBJ_SHAPE_VERTICAL | 0x1c, OBJ_SIZE_16x32 | 0x48, OBJ_SPRITE_OAM | 0x1208 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame0[19] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame0[19] = { 0x6, 0xec, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x128a, OBJ_SHAPE_HORIZONTAL | 0xc, OBJ_SIZE_32x8 | 0x1f0, OBJ_SPRITE_OAM | 0x130a, @@ -596,7 +596,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame0[19] = { 0x4, 0x10, OBJ_SPRITE_OAM | 0x1329 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame1[19] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame1[19] = { 0x6, 0xec, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x228a, OBJ_SHAPE_HORIZONTAL | 0xc, OBJ_SIZE_32x8 | 0x1f0, OBJ_SPRITE_OAM | 0x230a, @@ -606,7 +606,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame1[19] = { 0x4, 0x10, OBJ_SPRITE_OAM | 0x2329 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame2[19] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame2[19] = { 0x6, 0xec, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x328a, OBJ_SHAPE_HORIZONTAL | 0xc, OBJ_SIZE_32x8 | 0x1f0, OBJ_SPRITE_OAM | 0x330a, @@ -616,7 +616,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame2[19] = { 0x4, 0x10, OBJ_SPRITE_OAM | 0x3329 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame3[19] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame3[19] = { 0x6, 0xec, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x428a, OBJ_SHAPE_HORIZONTAL | 0xc, OBJ_SIZE_32x8 | 0x1f0, OBJ_SPRITE_OAM | 0x430a, @@ -626,7 +626,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame3[19] = { 0x4, 0x10, OBJ_SPRITE_OAM | 0x4329 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame4[19] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame4[19] = { 0x6, 0xec, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x528a, OBJ_SHAPE_HORIZONTAL | 0xc, OBJ_SIZE_32x8 | 0x1f0, OBJ_SPRITE_OAM | 0x530a, @@ -636,7 +636,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame4[19] = { 0x4, 0x10, OBJ_SPRITE_OAM | 0x5329 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame5[40] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame5[40] = { 0xd, 0xea, OBJ_SIZE_16x16 | 0x1ea, OBJ_SPRITE_OAM | 0x5380, OBJ_SHAPE_VERTICAL | 0xeb, 0x1f8, OBJ_SPRITE_OAM | 0x5382, @@ -653,7 +653,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame5[40] = { 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x53c2 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame6[40] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame6[40] = { 0xd, 0xe9, OBJ_SIZE_16x16 | 0x1e9, OBJ_SPRITE_OAM | 0x5380, OBJ_SHAPE_VERTICAL | 0xea, 0x1f8, OBJ_SPRITE_OAM | 0x5382, @@ -670,7 +670,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame6[40] = { 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x53c2 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame7[13] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame7[13] = { 0x4, 0xe8, OBJ_SIZE_32x32 | 0x1e8, OBJ_SPRITE_OAM | 0x5380, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x8, OBJ_SPRITE_OAM | 0x5380, @@ -678,7 +678,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame7[13] = { 0x8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x8, OBJ_SPRITE_OAM | 0x5380 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame8[13] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame8[13] = { 0x4, 0xe8, OBJ_SIZE_32x32 | 0x1e8, OBJ_SPRITE_OAM | 0x4380, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x8, OBJ_SPRITE_OAM | 0x4380, @@ -686,7 +686,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame8[13] = { 0x8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x8, OBJ_SPRITE_OAM | 0x4380 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame9[13] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame9[13] = { 0x4, 0xe8, OBJ_SIZE_32x32 | 0x1e8, OBJ_SPRITE_OAM | 0x3380, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x8, OBJ_SPRITE_OAM | 0x3380, @@ -694,7 +694,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame9[13] = { 0x8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x8, OBJ_SPRITE_OAM | 0x3380 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame10[13] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame10[13] = { 0x4, 0xe8, OBJ_SIZE_32x32 | 0x1e8, OBJ_SPRITE_OAM | 0x2380, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x8, OBJ_SPRITE_OAM | 0x2380, @@ -702,7 +702,7 @@ const u16 sRuinsTestOAM_TurningIntoReflection_Frame10[13] = { 0x8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x8, OBJ_SPRITE_OAM | 0x2380 }; -const u16 sRuinsTestOAM_TurningIntoReflection_Frame11[13] = { +const u16 sRuinsTestOam_TurningIntoReflection_Frame11[13] = { 0x4, 0xe8, OBJ_SIZE_32x32 | 0x1e8, OBJ_SPRITE_OAM | 0x1380, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x8, OBJ_SPRITE_OAM | 0x1380, @@ -724,7 +724,7 @@ const u16 sRuinsTestReflectionCoverOAM_Frame1[4] = { 0xf0, 0x1f0, OBJ_SPRITE_OAM | 0x1286, }; -const u16 sRuinsTestOAM_Symbol_Frame0[13] = { +const u16 sRuinsTestOam_Symbol_Frame0[13] = { 0x4, 0xe0, OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x1399, 0xe0, OBJ_X_FLIP | OBJ_SIZE_32x32 | 0x1e0, OBJ_SPRITE_OAM | 0x1399, @@ -732,7 +732,7 @@ const u16 sRuinsTestOAM_Symbol_Frame0[13] = { 0x0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x32 | 0x1e0, OBJ_SPRITE_OAM | 0x1399 }; -const u16 sRuinsTestOAM_Symbol_Frame1[13] = { +const u16 sRuinsTestOam_Symbol_Frame1[13] = { 0x4, 0xe0, OBJ_SIZE_32x32 | 0x1e0, OBJ_SPRITE_OAM | 0x139c, 0xe0, OBJ_X_FLIP | OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x139c, @@ -740,7 +740,7 @@ const u16 sRuinsTestOAM_Symbol_Frame1[13] = { 0x0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x139c }; -const u16 sRuinsTestOAM_Symbol_Frame2[13] = { +const u16 sRuinsTestOam_Symbol_Frame2[13] = { 0x4, 0x0, OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x1339, 0x0, OBJ_X_FLIP | OBJ_SIZE_32x32 | 0x1e0, OBJ_SPRITE_OAM | 0x1339, @@ -748,7 +748,7 @@ const u16 sRuinsTestOAM_Symbol_Frame2[13] = { 0xe0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x32 | 0x1e0, OBJ_SPRITE_OAM | 0x1339 }; -const u16 sRuinsTestOAM_Symbol_Frame3[13] = { +const u16 sRuinsTestOam_Symbol_Frame3[13] = { 0x4, 0x0, OBJ_SIZE_32x32 | 0x1e0, OBJ_SPRITE_OAM | 0x133c, 0x0, OBJ_X_FLIP | OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x133c, @@ -756,7 +756,7 @@ const u16 sRuinsTestOAM_Symbol_Frame3[13] = { 0xe0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x133c }; -const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame0[25] = { +const u16 sRuinsTestShootableSymbolOam_Spawning_Frame0[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1e8, OBJ_SPRITE_OAM | 0x1344, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_8x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1346, @@ -768,7 +768,7 @@ const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame0[25] = { OBJ_SHAPE_VERTICAL | 0x8, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x13c6 }; -const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame1[25] = { +const u16 sRuinsTestShootableSymbolOam_Spawning_Frame1[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1e8, OBJ_SPRITE_OAM | 0x2344, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_8x32 | 0x1f8, OBJ_SPRITE_OAM | 0x2346, @@ -780,7 +780,7 @@ const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame1[25] = { OBJ_SHAPE_VERTICAL | 0x8, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x23c6 }; -const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame2[25] = { +const u16 sRuinsTestShootableSymbolOam_Spawning_Frame2[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1e8, OBJ_SPRITE_OAM | 0x3344, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_8x32 | 0x1f8, OBJ_SPRITE_OAM | 0x3346, @@ -792,7 +792,7 @@ const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame2[25] = { OBJ_SHAPE_VERTICAL | 0x8, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x33c6 }; -const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame3[25] = { +const u16 sRuinsTestShootableSymbolOam_Spawning_Frame3[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1e8, OBJ_SPRITE_OAM | 0x4344, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_8x32 | 0x1f8, OBJ_SPRITE_OAM | 0x4346, @@ -804,7 +804,7 @@ const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame3[25] = { OBJ_SHAPE_VERTICAL | 0x8, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x43c6 }; -const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame4[25] = { +const u16 sRuinsTestShootableSymbolOam_Spawning_Frame4[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1e8, OBJ_SPRITE_OAM | 0x5344, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_8x32 | 0x1f8, OBJ_SPRITE_OAM | 0x5346, @@ -816,7 +816,7 @@ const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame4[25] = { OBJ_SHAPE_VERTICAL | 0x8, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x53c6 }; -const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame5[25] = { +const u16 sRuinsTestShootableSymbolOam_Spawning_Frame5[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1e8, OBJ_SPRITE_OAM | 0x1347, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_8x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1349, @@ -828,7 +828,7 @@ const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame5[25] = { OBJ_SHAPE_VERTICAL | 0x8, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x13c9 }; -const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame6[25] = { +const u16 sRuinsTestShootableSymbolOam_Spawning_Frame6[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1e8, OBJ_SPRITE_OAM | 0x134a, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_8x32 | 0x1f8, OBJ_SPRITE_OAM | 0x134c, @@ -840,7 +840,7 @@ const u16 sRuinsTestShootableSymbolOAM_Spawning_Frame6[25] = { OBJ_SHAPE_VERTICAL | 0x8, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x13cc }; -const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame3[13] = { +const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame3[13] = { 0x4, 0xec, OBJ_SIZE_32x32 | 0x1ec, OBJ_SPRITE_OAM | 0x538d, OBJ_SHAPE_VERTICAL | 0xec, OBJ_X_FLIP | OBJ_SIZE_8x32 | 0xc, OBJ_SPRITE_OAM | 0x538d, @@ -848,7 +848,7 @@ const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame3[13] = { 0xc, OBJ_X_FLIP | OBJ_Y_FLIP | 0xc, OBJ_SPRITE_OAM | 0x538d }; -const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame4[13] = { +const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame4[13] = { 0x4, 0xec, OBJ_SIZE_32x32 | 0x1ec, OBJ_SPRITE_OAM | 0x438d, OBJ_SHAPE_VERTICAL | 0xec, OBJ_X_FLIP | OBJ_SIZE_8x32 | 0xc, OBJ_SPRITE_OAM | 0x438d, @@ -856,122 +856,122 @@ const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame4[13] = { 0xc, OBJ_X_FLIP | OBJ_Y_FLIP | 0xc, OBJ_SPRITE_OAM | 0x438d }; -const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame5[10] = { +const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame5[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_SIZE_16x32 | 0x1f0, OBJ_SPRITE_OAM | 0x3208, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x0, OBJ_SPRITE_OAM | 0x3208, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame6[10] = { +const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame6[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_SIZE_16x32 | 0x1f0, OBJ_SPRITE_OAM | 0x2208, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x0, OBJ_SPRITE_OAM | 0x2208, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame7[10] = { +const u16 sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame7[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_SIZE_16x32 | 0x1f0, OBJ_SPRITE_OAM | 0x1208, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x0, OBJ_SPRITE_OAM | 0x1208, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestGhostOAM_SymbolShot_Frame0[4] = { +const u16 sRuinsTestGhostOam_SymbolShot_Frame0[4] = { 0x1, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestGhostOAM_SymbolPlacing_Frame3[10] = { +const u16 sRuinsTestGhostOam_SymbolPlacing_Frame3[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_SIZE_16x32 | 0x1f0, OBJ_SPRITE_OAM | 0x4208, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x0, OBJ_SPRITE_OAM | 0x4208, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestGhostOAM_SymbolPlacing_Frame4[10] = { +const u16 sRuinsTestGhostOam_SymbolPlacing_Frame4[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_SIZE_16x32 | 0x1f0, OBJ_SPRITE_OAM | 0x5208, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x0, OBJ_SPRITE_OAM | 0x5208, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestGhostOAM_SymbolPlacing_Frame5[10] = { +const u16 sRuinsTestGhostOam_SymbolPlacing_Frame5[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_SIZE_16x32 | 0x1f0, OBJ_SPRITE_OAM | 0x120a, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x0, OBJ_SPRITE_OAM | 0x120a, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestGhostOAM_SymbolPlacing_Frame6[10] = { +const u16 sRuinsTestGhostOam_SymbolPlacing_Frame6[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_SIZE_16x32 | 0x1f0, OBJ_SPRITE_OAM | 0x120c, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x0, OBJ_SPRITE_OAM | 0x120c, 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x620e }; -const u16 sRuinsTestLightningOAM_InAir_Frame0[10] = { +const u16 sRuinsTestLightningOam_InAir_Frame0[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xb0, OBJ_SIZE_16x32 | 0x1f4, OBJ_SPRITE_OAM | 0x1252, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f4, OBJ_SPRITE_OAM | 0x12d2, 0xf0, OBJ_SIZE_16x16 | 0x1f4, OBJ_SPRITE_OAM | 0x1352 }; -const u16 sRuinsTestLightningOAM_InAir_Frame2[10] = { +const u16 sRuinsTestLightningOam_InAir_Frame2[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xe4, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1254, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x12d4, 0xb4, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x1354 }; -const u16 sRuinsTestLightningOAM_InAir_Frame3[10] = { +const u16 sRuinsTestLightningOam_InAir_Frame3[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xe8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1fc, OBJ_SPRITE_OAM | 0x5252, OBJ_SHAPE_VERTICAL | 0xc8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1fc, OBJ_SPRITE_OAM | 0x52d2, 0xb8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1fc, OBJ_SPRITE_OAM | 0x5352 }; -const u16 sRuinsTestLightningOAM_InAir_Frame4[10] = { +const u16 sRuinsTestLightningOam_InAir_Frame4[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xb4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x5254, OBJ_SHAPE_VERTICAL | 0xd4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x52d4, 0xf4, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x5354 }; -const u16 sRuinsTestLightningOAM_InAir_Frame6[10] = { +const u16 sRuinsTestLightningOam_InAir_Frame6[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f4, OBJ_SPRITE_OAM | 0x1252, OBJ_SHAPE_VERTICAL | 0xc0, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f4, OBJ_SPRITE_OAM | 0x12d2, 0xb0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f4, OBJ_SPRITE_OAM | 0x1352 }; -const u16 sRuinsTestLightningOAM_InAir_Frame7[10] = { +const u16 sRuinsTestLightningOam_InAir_Frame7[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xe4, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x5254, OBJ_SHAPE_VERTICAL | 0xc4, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x52d4, 0xb4, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x5354 }; -const u16 sRuinsTestLightningOAM_InAir_Frame8[10] = { +const u16 sRuinsTestLightningOam_InAir_Frame8[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xb8, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1fc, OBJ_SPRITE_OAM | 0x1252, OBJ_SHAPE_VERTICAL | 0xd8, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1fc, OBJ_SPRITE_OAM | 0x12d2, 0xf8, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x1fc, OBJ_SPRITE_OAM | 0x1352 }; -const u16 sRuinsTestLightningOAM_InAir_Frame10[10] = { +const u16 sRuinsTestLightningOam_InAir_Frame10[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xb4, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1254, OBJ_SHAPE_VERTICAL | 0xd4, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x12d4, 0xf4, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x1354 }; -const u16 sRuinsTestLightningOAM_InAir_Frame1[4] = { +const u16 sRuinsTestLightningOam_InAir_Frame1[4] = { 0x1, 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x139c }; -const u16 sRuinsTestLightningOAM_GoingOnGround_Frame0[13] = { +const u16 sRuinsTestLightningOam_GoingOnGround_Frame0[13] = { 0x4, OBJ_SHAPE_VERTICAL | 0xc0, OBJ_SIZE_16x32 | 0x1f4, OBJ_SPRITE_OAM | 0x1252, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_SIZE_16x32 | 0x1f4, OBJ_SPRITE_OAM | 0x12d2, @@ -979,13 +979,13 @@ const u16 sRuinsTestLightningOAM_GoingOnGround_Frame0[13] = { 0xf8, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f0, OBJ_SPRITE_OAM | 0x13d1 }; -const u16 sRuinsTestLightningOAM_GoingOnGround_Frame1[7] = { +const u16 sRuinsTestLightningOam_GoingOnGround_Frame1[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0xc0, OBJ_SIZE_16x32 | 0x1f4, OBJ_SPRITE_OAM | 0x1252, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_SIZE_16x32 | 0x1f4, OBJ_SPRITE_OAM | 0x12d2 }; -const u16 sRuinsTestLightningOAM_GoingOnGround_Frame2[13] = { +const u16 sRuinsTestLightningOam_GoingOnGround_Frame2[13] = { 0x4, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x52d4, 0xd0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x5354, @@ -993,127 +993,127 @@ const u16 sRuinsTestLightningOAM_GoingOnGround_Frame2[13] = { OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1ec, OBJ_SPRITE_OAM | 0x1391 }; -const u16 sRuinsTestLightningOAM_GoingOnGround_Frame3[7] = { +const u16 sRuinsTestLightningOam_GoingOnGround_Frame3[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x52d4, 0xd0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x5354 }; -const u16 sRuinsTestLightningOAM_GoingOnGround_Frame4[10] = { +const u16 sRuinsTestLightningOam_GoingOnGround_Frame4[10] = { 0x3, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1fc, OBJ_SPRITE_OAM | 0x5312, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1f8, OBJ_SPRITE_OAM | 0x13d1, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_SIZE_32x16 | 0x1e8, OBJ_SPRITE_OAM | 0x13d1 }; -const u16 sRuinsTestLightningOAM_GoingOnGround_Frame5[4] = { +const u16 sRuinsTestLightningOam_GoingOnGround_Frame5[4] = { 0x1, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1fc, OBJ_SPRITE_OAM | 0x5312 }; -const u16 sRuinsTestLightningOAM_GoingOnGround_Frame6[10] = { +const u16 sRuinsTestLightningOam_GoingOnGround_Frame6[10] = { 0x3, 0xe8, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x1254, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1fc, OBJ_SPRITE_OAM | 0x1391, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_SIZE_32x16 | 0x1e4, OBJ_SPRITE_OAM | 0x1391 }; -const u16 sRuinsTestLightningOAM_GoingOnGround_Frame7[4] = { +const u16 sRuinsTestLightningOam_GoingOnGround_Frame7[4] = { 0x1, 0xf0, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x1254 }; -const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame0[7] = { +const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame0[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_SIZE_32x16 | 0x1e0, OBJ_SPRITE_OAM | 0x13d1, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_SIZE_32x16 | 0x0, OBJ_SPRITE_OAM | 0x13d5 }; -const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame2[7] = { +const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame2[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_SIZE_32x16 | 0x1ec, OBJ_SPRITE_OAM | 0x1391, 0xf8, OBJ_SIZE_16x16 | 0xc, OBJ_SPRITE_OAM | 0x1395 }; -const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame4[7] = { +const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame4[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1e8, OBJ_SPRITE_OAM | 0x53d1, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x8, OBJ_SPRITE_OAM | 0x53d5 }; -const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame6[7] = { +const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame6[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1ec, OBJ_SPRITE_OAM | 0x5391, 0xf8, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0xc, OBJ_SPRITE_OAM | 0x5395 }; -const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame8[7] = { +const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame8[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_X_FLIP | OBJ_SIZE_32x16 | 0x0, OBJ_SPRITE_OAM | 0x13d1, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_X_FLIP | OBJ_SIZE_32x16 | 0x1e0, OBJ_SPRITE_OAM | 0x13d5 }; -const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame10[7] = { +const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame10[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_X_FLIP | OBJ_SIZE_32x16 | 0x1fc, OBJ_SPRITE_OAM | 0x1391, 0xf8, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x1395 }; -const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame12[7] = { +const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame12[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x8, OBJ_SPRITE_OAM | 0x13d1, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1e8, OBJ_SPRITE_OAM | 0x13d5 }; -const u16 sRuinsTestLightningOAM_OnGroundHorizontal_Frame14[7] = { +const u16 sRuinsTestLightningOam_OnGroundHorizontal_Frame14[7] = { 0x2, OBJ_SHAPE_HORIZONTAL | 0xf8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1fc, OBJ_SPRITE_OAM | 0x1391, 0xf8, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x1395 }; -const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame0[7] = { +const u16 sRuinsTestLightningOam_OnGroundVertical_Frame0[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1256, OBJ_SHAPE_VERTICAL | 0x0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x12d6 }; -const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame2[7] = { +const u16 sRuinsTestLightningOam_OnGroundVertical_Frame2[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0xe4, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1258, 0x4, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x12d8 }; -const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame4[7] = { +const u16 sRuinsTestLightningOam_OnGroundVertical_Frame4[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0x0, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x5256, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x52d6 }; -const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame6[7] = { +const u16 sRuinsTestLightningOam_OnGroundVertical_Frame6[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0xf4, OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x5258, 0xe4, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x52d8 }; -const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame8[7] = { +const u16 sRuinsTestLightningOam_OnGroundVertical_Frame8[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1256, OBJ_SHAPE_VERTICAL | 0x0, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x12d6 }; -const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame10[7] = { +const u16 sRuinsTestLightningOam_OnGroundVertical_Frame10[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0xe4, OBJ_X_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1258, 0x4, OBJ_X_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x12d8 }; -const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame12[7] = { +const u16 sRuinsTestLightningOam_OnGroundVertical_Frame12[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0x0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1256, OBJ_SHAPE_VERTICAL | 0xe0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x12d6 }; -const u16 sRuinsTestLightningOAM_OnGroundVertical_Frame14[7] = { +const u16 sRuinsTestLightningOam_OnGroundVertical_Frame14[7] = { 0x2, OBJ_SHAPE_VERTICAL | 0xf4, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x1258, 0xe4, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x12d8 @@ -1126,7 +1126,7 @@ const struct FrameData sRuinsTestSamusReflectionOAM[2] = { 0x0 }; -const struct FrameData sRuinsTestGhostOutlineOAM_Spawning[9] = { +const struct FrameData sRuinsTestGhostOutlineOam_Spawning[9] = { sRuinsTestGhostOutline_Spawning_Frame0, 0x8, sRuinsTestGhostOutline_Spawning_Frame1, @@ -1147,118 +1147,118 @@ const struct FrameData sRuinsTestGhostOutlineOAM_Spawning[9] = { 0x0 }; -const struct FrameData sRuinsTestGhostOAM_NotMoving[2] = { - sRuinsTestGhostOAM_NotMoving_Frame0, +const struct FrameData sRuinsTestGhostOam_NotMoving[2] = { + sRuinsTestGhostOam_NotMoving_Frame0, 0xFF, NULL, 0x0 }; -const struct FrameData sRuinsTestGhostOAM_Moving[7] = { - sRuinsTestGhostOAM_NotMoving_Frame0, +const struct FrameData sRuinsTestGhostOam_Moving[7] = { + sRuinsTestGhostOam_NotMoving_Frame0, 0xA, - sRuinsTestGhostOAM_Moving_Frame1, + sRuinsTestGhostOam_Moving_Frame1, 0xA, - sRuinsTestGhostOAM_Moving_Frame2, + sRuinsTestGhostOam_Moving_Frame2, 0xA, - sRuinsTestGhostOAM_Moving_Frame3, + sRuinsTestGhostOam_Moving_Frame3, 0xA, - sRuinsTestGhostOAM_Moving_Frame2, + sRuinsTestGhostOam_Moving_Frame2, 0xA, - sRuinsTestGhostOAM_Moving_Frame1, + sRuinsTestGhostOam_Moving_Frame1, 0xA, NULL, 0x0 }; -const struct FrameData sRuinsTestGhostOAM_SymbolPlaced[2] = { - sRuinsTestGhostOAM_SymbolPlaced_Frame0, +const struct FrameData sRuinsTestGhostOam_SymbolPlaced[2] = { + sRuinsTestGhostOam_SymbolPlaced_Frame0, 0xFF, NULL, 0x0 }; -const struct FrameData sRuinsTestSymbolOAM_FourSymbols[14] = { - sRuinsTestSymbolOAM_FourSymbols_Frame0, +const struct FrameData sRuinsTestSymbolOam_FourSymbols[14] = { + sRuinsTestSymbolOam_FourSymbols_Frame0, 0xFF, - sRuinsTestSymbolOAM_FourSymbols_Frame1, + sRuinsTestSymbolOam_FourSymbols_Frame1, 0x6, - sRuinsTestSymbolOAM_FourSymbols_Frame2, + sRuinsTestSymbolOam_FourSymbols_Frame2, 0x6, - sRuinsTestSymbolOAM_FourSymbols_Frame3, + sRuinsTestSymbolOam_FourSymbols_Frame3, 0x4, - sRuinsTestSymbolOAM_FourSymbols_Frame4, + sRuinsTestSymbolOam_FourSymbols_Frame4, 0x4, - sRuinsTestSymbolOAM_FourSymbols_Frame5, + sRuinsTestSymbolOam_FourSymbols_Frame5, 0x4, - sRuinsTestSymbolOAM_FourSymbols_Frame6, + sRuinsTestSymbolOam_FourSymbols_Frame6, 0x6, - sRuinsTestSymbolOAM_FourSymbols_Frame7, + sRuinsTestSymbolOam_FourSymbols_Frame7, 0x6, - sRuinsTestSymbolOAM_FourSymbols_Frame6, + sRuinsTestSymbolOam_FourSymbols_Frame6, 0x6, - sRuinsTestSymbolOAM_FourSymbols_Frame5, + sRuinsTestSymbolOam_FourSymbols_Frame5, 0x6, - sRuinsTestSymbolOAM_FourSymbols_Frame10, + sRuinsTestSymbolOam_FourSymbols_Frame10, 0x2, - sRuinsTestSymbolOAM_FourSymbols_Frame11, + sRuinsTestSymbolOam_FourSymbols_Frame11, 0x2, - sRuinsTestSymbolOAM_FourSymbols_Frame12, + sRuinsTestSymbolOam_FourSymbols_Frame12, 0x2, NULL, 0x0 }; -const struct FrameData sRuinsTestSymbolOAM_Merging[3] = { - sRuinsTestSymbolOAM_Merging_Frame0, +const struct FrameData sRuinsTestSymbolOam_Merging[3] = { + sRuinsTestSymbolOam_Merging_Frame0, 0x3, - sRuinsTestSymbolOAM_Merging_Frame1, + sRuinsTestSymbolOam_Merging_Frame1, 0x3, NULL, 0x0 }; -const struct FrameData sRuinsTestSymbolOAM_Disappearing[7] = { - sRuinsTestSymbolOAM_Disappearing_Frame0, +const struct FrameData sRuinsTestSymbolOam_Disappearing[7] = { + sRuinsTestSymbolOam_Disappearing_Frame0, 0x2, - sRuinsTestSymbolOAM_Disappearing_Frame1, + sRuinsTestSymbolOam_Disappearing_Frame1, 0x2, - sRuinsTestSymbolOAM_Disappearing_Frame2, + sRuinsTestSymbolOam_Disappearing_Frame2, 0x2, - sRuinsTestSymbolOAM_Disappearing_Frame3, + sRuinsTestSymbolOam_Disappearing_Frame3, 0x6, - sRuinsTestSymbolOAM_Disappearing_Frame4, + sRuinsTestSymbolOam_Disappearing_Frame4, 0x6, - sRuinsTestSymbolOAM_Disappearing_Frame5, + sRuinsTestSymbolOam_Disappearing_Frame5, 0x6, NULL, 0x0 }; -const struct FrameData sRuinsTestOAM_TurningIntoReflection[13] = { - sRuinsTestOAM_TurningIntoReflection_Frame0, +const struct FrameData sRuinsTestOam_TurningIntoReflection[13] = { + sRuinsTestOam_TurningIntoReflection_Frame0, 0x1, - sRuinsTestOAM_TurningIntoReflection_Frame1, + sRuinsTestOam_TurningIntoReflection_Frame1, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame2, + sRuinsTestOam_TurningIntoReflection_Frame2, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame3, + sRuinsTestOam_TurningIntoReflection_Frame3, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame4, + sRuinsTestOam_TurningIntoReflection_Frame4, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame5, + sRuinsTestOam_TurningIntoReflection_Frame5, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame6, + sRuinsTestOam_TurningIntoReflection_Frame6, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame7, + sRuinsTestOam_TurningIntoReflection_Frame7, 0x13, - sRuinsTestOAM_TurningIntoReflection_Frame8, + sRuinsTestOam_TurningIntoReflection_Frame8, 0x3, - sRuinsTestOAM_TurningIntoReflection_Frame9, + sRuinsTestOam_TurningIntoReflection_Frame9, 0x3, - sRuinsTestOAM_TurningIntoReflection_Frame10, + sRuinsTestOam_TurningIntoReflection_Frame10, 0x3, - sRuinsTestOAM_TurningIntoReflection_Frame11, + sRuinsTestOam_TurningIntoReflection_Frame11, 0x3, NULL, 0x0 @@ -1273,311 +1273,311 @@ const struct FrameData sRuinsTestReflectionCoverOAM[3] = { 0x0 }; -const struct FrameData sRuinsTestOAM_Symbol[5] = { - sRuinsTestOAM_Symbol_Frame0, +const struct FrameData sRuinsTestOam_Symbol[5] = { + sRuinsTestOam_Symbol_Frame0, 0x8, - sRuinsTestOAM_Symbol_Frame1, + sRuinsTestOam_Symbol_Frame1, 0x8, - sRuinsTestOAM_Symbol_Frame2, + sRuinsTestOam_Symbol_Frame2, 0x8, - sRuinsTestOAM_Symbol_Frame3, + sRuinsTestOam_Symbol_Frame3, 0x8, NULL, 0x0 }; -const struct FrameData sRuinsTestShootableSymbolOAM_Spawning[10] = { - sRuinsTestShootableSymbolOAM_Spawning_Frame0, +const struct FrameData sRuinsTestShootableSymbolOam_Spawning[10] = { + sRuinsTestShootableSymbolOam_Spawning_Frame0, 0x6, - sRuinsTestShootableSymbolOAM_Spawning_Frame1, + sRuinsTestShootableSymbolOam_Spawning_Frame1, 0x6, - sRuinsTestShootableSymbolOAM_Spawning_Frame2, + sRuinsTestShootableSymbolOam_Spawning_Frame2, 0x4, - sRuinsTestShootableSymbolOAM_Spawning_Frame3, + sRuinsTestShootableSymbolOam_Spawning_Frame3, 0x4, - sRuinsTestShootableSymbolOAM_Spawning_Frame4, + sRuinsTestShootableSymbolOam_Spawning_Frame4, 0x4, - sRuinsTestShootableSymbolOAM_Spawning_Frame5, + sRuinsTestShootableSymbolOam_Spawning_Frame5, 0x6, - sRuinsTestShootableSymbolOAM_Spawning_Frame6, + sRuinsTestShootableSymbolOam_Spawning_Frame6, 0x6, - sRuinsTestShootableSymbolOAM_Spawning_Frame5, + sRuinsTestShootableSymbolOam_Spawning_Frame5, 0x2, - sRuinsTestShootableSymbolOAM_Spawning_Frame4, + sRuinsTestShootableSymbolOam_Spawning_Frame4, 0x2, NULL, 0x0 }; -const struct FrameData sRuinsTestShootableSymbolOAM_Spawned[7] = { - sRuinsTestShootableSymbolOAM_Spawning_Frame3, +const struct FrameData sRuinsTestShootableSymbolOam_Spawned[7] = { + sRuinsTestShootableSymbolOam_Spawning_Frame3, 0x2, - sRuinsTestShootableSymbolOAM_Spawning_Frame4, + sRuinsTestShootableSymbolOam_Spawning_Frame4, 0x2, - sRuinsTestShootableSymbolOAM_Spawning_Frame5, + sRuinsTestShootableSymbolOam_Spawning_Frame5, 0x2, - sRuinsTestShootableSymbolOAM_Spawning_Frame6, + sRuinsTestShootableSymbolOam_Spawning_Frame6, 0x2, - sRuinsTestShootableSymbolOAM_Spawning_Frame5, + sRuinsTestShootableSymbolOam_Spawning_Frame5, 0x2, - sRuinsTestShootableSymbolOAM_Spawning_Frame4, + sRuinsTestShootableSymbolOam_Spawning_Frame4, 0x2, NULL, 0x0 }; -const struct FrameData sRuinsTestShootableSymbolOAM_Despawning[5] = { - sRuinsTestShootableSymbolOAM_Spawning_Frame3, +const struct FrameData sRuinsTestShootableSymbolOam_Despawning[5] = { + sRuinsTestShootableSymbolOam_Spawning_Frame3, 0x4, - sRuinsTestShootableSymbolOAM_Spawning_Frame2, + sRuinsTestShootableSymbolOam_Spawning_Frame2, 0x4, - sRuinsTestShootableSymbolOAM_Spawning_Frame1, + sRuinsTestShootableSymbolOam_Spawning_Frame1, 0x6, - sRuinsTestShootableSymbolOAM_Spawning_Frame0, + sRuinsTestShootableSymbolOam_Spawning_Frame0, 0x6, NULL, 0x0 }; -const struct FrameData sRuinsTestShootableSymbolOAM_TurningIntoSymbol[9] = { - sRuinsTestShootableSymbolOAM_Spawning_Frame6, +const struct FrameData sRuinsTestShootableSymbolOam_TurningIntoSymbol[9] = { + sRuinsTestShootableSymbolOam_Spawning_Frame6, 0x8, - sRuinsTestShootableSymbolOAM_Spawning_Frame5, + sRuinsTestShootableSymbolOam_Spawning_Frame5, 0x6, - sRuinsTestShootableSymbolOAM_Spawning_Frame4, + sRuinsTestShootableSymbolOam_Spawning_Frame4, 0x3, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame3, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame3, 0x3, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame4, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame4, 0x3, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame5, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame5, 0x3, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame6, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame6, 0x3, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame7, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame7, 0x3, NULL, 0x0 }; -const struct FrameData sRuinsTestGhostOAM_SymbolShot[2] = { - sRuinsTestGhostOAM_SymbolShot_Frame0, +const struct FrameData sRuinsTestGhostOam_SymbolShot[2] = { + sRuinsTestGhostOam_SymbolShot_Frame0, 0x30, NULL, 0x0 }; -const struct FrameData sRuinsTestGhostOAM_SymbolPlacing[14] = { - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame7, +const struct FrameData sRuinsTestGhostOam_SymbolPlacing[14] = { + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame7, 0x6, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame6, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame6, 0x6, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame5, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame5, 0x4, - sRuinsTestGhostOAM_SymbolPlacing_Frame3, + sRuinsTestGhostOam_SymbolPlacing_Frame3, 0x4, - sRuinsTestGhostOAM_SymbolPlacing_Frame4, + sRuinsTestGhostOam_SymbolPlacing_Frame4, 0x4, - sRuinsTestGhostOAM_SymbolPlacing_Frame5, + sRuinsTestGhostOam_SymbolPlacing_Frame5, 0x6, - sRuinsTestGhostOAM_SymbolPlacing_Frame6, + sRuinsTestGhostOam_SymbolPlacing_Frame6, 0x6, - sRuinsTestGhostOAM_SymbolPlacing_Frame5, + sRuinsTestGhostOam_SymbolPlacing_Frame5, 0x6, - sRuinsTestGhostOAM_SymbolPlacing_Frame4, + sRuinsTestGhostOam_SymbolPlacing_Frame4, 0x6, - sRuinsTestGhostOAM_SymbolPlacing_Frame3, + sRuinsTestGhostOam_SymbolPlacing_Frame3, 0x4, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame5, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame5, 0x4, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame6, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame6, 0x6, - sRuinsTestShootableSymbolOAM_TurningIntoSymbol_Frame7, + sRuinsTestShootableSymbolOam_TurningIntoSymbol_Frame7, 0x6, NULL, 0x0 }; -const struct FrameData sRuinsTestOAM_Despawn[6] = { - sRuinsTestOAM_TurningIntoReflection_Frame11, +const struct FrameData sRuinsTestOam_Despawn[6] = { + sRuinsTestOam_TurningIntoReflection_Frame11, 0x6, - sRuinsTestOAM_TurningIntoReflection_Frame10, + sRuinsTestOam_TurningIntoReflection_Frame10, 0x6, - sRuinsTestOAM_TurningIntoReflection_Frame9, + sRuinsTestOam_TurningIntoReflection_Frame9, 0x6, - sRuinsTestOAM_TurningIntoReflection_Frame8, + sRuinsTestOam_TurningIntoReflection_Frame8, 0x6, - sRuinsTestOAM_TurningIntoReflection_Frame7, + sRuinsTestOam_TurningIntoReflection_Frame7, 0xFF, NULL, 0x0 }; -const struct FrameData sRuinsTestOAM_Unused[9] = { - sRuinsTestOAM_TurningIntoReflection_Frame7, +const struct FrameData sRuinsTestOam_Unused[9] = { + sRuinsTestOam_TurningIntoReflection_Frame7, 0xFF, - sRuinsTestOAM_TurningIntoReflection_Frame6, + sRuinsTestOam_TurningIntoReflection_Frame6, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame5, + sRuinsTestOam_TurningIntoReflection_Frame5, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame4, + sRuinsTestOam_TurningIntoReflection_Frame4, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame3, + sRuinsTestOam_TurningIntoReflection_Frame3, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame2, + sRuinsTestOam_TurningIntoReflection_Frame2, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame1, + sRuinsTestOam_TurningIntoReflection_Frame1, 0x4, - sRuinsTestOAM_TurningIntoReflection_Frame0, + sRuinsTestOam_TurningIntoReflection_Frame0, 0xFF, NULL, 0x0 }; -const struct FrameData sRuinsTestOAM_Spawning[9] = { - sRuinsTestOAM_TurningIntoReflection_Frame0, +const struct FrameData sRuinsTestOam_Spawning[9] = { + sRuinsTestOam_TurningIntoReflection_Frame0, 0x1, - sRuinsTestOAM_TurningIntoReflection_Frame1, + sRuinsTestOam_TurningIntoReflection_Frame1, 0x1, - sRuinsTestOAM_TurningIntoReflection_Frame2, + sRuinsTestOam_TurningIntoReflection_Frame2, 0x1, - sRuinsTestOAM_TurningIntoReflection_Frame3, + sRuinsTestOam_TurningIntoReflection_Frame3, 0x1, - sRuinsTestOAM_TurningIntoReflection_Frame4, + sRuinsTestOam_TurningIntoReflection_Frame4, 0x1, - sRuinsTestOAM_TurningIntoReflection_Frame3, + sRuinsTestOam_TurningIntoReflection_Frame3, 0x1, - sRuinsTestOAM_TurningIntoReflection_Frame2, + sRuinsTestOam_TurningIntoReflection_Frame2, 0x1, - sRuinsTestOAM_TurningIntoReflection_Frame1, + sRuinsTestOam_TurningIntoReflection_Frame1, 0x1, NULL, 0x0 }; -const struct FrameData sRuinsTestLightningOAM_InAir[12] = { - sRuinsTestLightningOAM_InAir_Frame0, +const struct FrameData sRuinsTestLightningOam_InAir[12] = { + sRuinsTestLightningOam_InAir_Frame0, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x2, - sRuinsTestLightningOAM_InAir_Frame2, + sRuinsTestLightningOam_InAir_Frame2, 0x2, - sRuinsTestLightningOAM_InAir_Frame3, + sRuinsTestLightningOam_InAir_Frame3, 0x2, - sRuinsTestLightningOAM_InAir_Frame4, + sRuinsTestLightningOam_InAir_Frame4, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x2, - sRuinsTestLightningOAM_InAir_Frame6, + sRuinsTestLightningOam_InAir_Frame6, 0x2, - sRuinsTestLightningOAM_InAir_Frame7, + sRuinsTestLightningOam_InAir_Frame7, 0x2, - sRuinsTestLightningOAM_InAir_Frame8, + sRuinsTestLightningOam_InAir_Frame8, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x2, - sRuinsTestLightningOAM_InAir_Frame10, + sRuinsTestLightningOam_InAir_Frame10, 0x2, NULL, 0x0 }; -const struct FrameData sRuinsTestLightningOAM_GoingOnGround[9] = { - sRuinsTestLightningOAM_GoingOnGround_Frame0, +const struct FrameData sRuinsTestLightningOam_GoingOnGround[9] = { + sRuinsTestLightningOam_GoingOnGround_Frame0, 0x2, - sRuinsTestLightningOAM_GoingOnGround_Frame1, + sRuinsTestLightningOam_GoingOnGround_Frame1, 0x1, - sRuinsTestLightningOAM_GoingOnGround_Frame2, + sRuinsTestLightningOam_GoingOnGround_Frame2, 0x2, - sRuinsTestLightningOAM_GoingOnGround_Frame3, + sRuinsTestLightningOam_GoingOnGround_Frame3, 0x1, - sRuinsTestLightningOAM_GoingOnGround_Frame4, + sRuinsTestLightningOam_GoingOnGround_Frame4, 0x2, - sRuinsTestLightningOAM_GoingOnGround_Frame5, + sRuinsTestLightningOam_GoingOnGround_Frame5, 0x1, - sRuinsTestLightningOAM_GoingOnGround_Frame6, + sRuinsTestLightningOam_GoingOnGround_Frame6, 0x2, - sRuinsTestLightningOAM_GoingOnGround_Frame7, + sRuinsTestLightningOam_GoingOnGround_Frame7, 0x1, NULL, 0x0 }; -const struct FrameData sRuinsTestLightningOAM_OnGroundHorizontal[17] = { - sRuinsTestLightningOAM_OnGroundHorizontal_Frame0, +const struct FrameData sRuinsTestLightningOam_OnGroundHorizontal[17] = { + sRuinsTestLightningOam_OnGroundHorizontal_Frame0, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundHorizontal_Frame2, + sRuinsTestLightningOam_OnGroundHorizontal_Frame2, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundHorizontal_Frame4, + sRuinsTestLightningOam_OnGroundHorizontal_Frame4, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundHorizontal_Frame6, + sRuinsTestLightningOam_OnGroundHorizontal_Frame6, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundHorizontal_Frame8, + sRuinsTestLightningOam_OnGroundHorizontal_Frame8, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundHorizontal_Frame10, + sRuinsTestLightningOam_OnGroundHorizontal_Frame10, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundHorizontal_Frame12, + sRuinsTestLightningOam_OnGroundHorizontal_Frame12, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundHorizontal_Frame14, + sRuinsTestLightningOam_OnGroundHorizontal_Frame14, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, NULL, 0x0 }; -const struct FrameData sRuinsTestLightningOAM_OnGroundVertical[17] = { - sRuinsTestLightningOAM_OnGroundVertical_Frame0, +const struct FrameData sRuinsTestLightningOam_OnGroundVertical[17] = { + sRuinsTestLightningOam_OnGroundVertical_Frame0, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundVertical_Frame2, + sRuinsTestLightningOam_OnGroundVertical_Frame2, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundVertical_Frame4, + sRuinsTestLightningOam_OnGroundVertical_Frame4, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundVertical_Frame6, + sRuinsTestLightningOam_OnGroundVertical_Frame6, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundVertical_Frame8, + sRuinsTestLightningOam_OnGroundVertical_Frame8, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundVertical_Frame10, + sRuinsTestLightningOam_OnGroundVertical_Frame10, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundVertical_Frame12, + sRuinsTestLightningOam_OnGroundVertical_Frame12, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, - sRuinsTestLightningOAM_OnGroundVertical_Frame14, + sRuinsTestLightningOam_OnGroundVertical_Frame14, 0x2, - sRuinsTestLightningOAM_InAir_Frame1, + sRuinsTestLightningOam_InAir_Frame1, 0x1, NULL, 0x0 }; -const struct FrameData sRuinsTestGhostOutlineOAM_ShootingGroundLightning[9] = { +const struct FrameData sRuinsTestGhostOutlineOam_ShootingGroundLightning[9] = { sRuinsTestGhostOutline_Spawning_Frame4, 0x8, sRuinsTestGhostOutline_Spawning_Frame0, diff --git a/src/data/sprites/zebetite_and_cannon.c b/src/data/sprites/zebetite_and_cannon.c index 6b2176c1..31b5633a 100644 --- a/src/data/sprites/zebetite_and_cannon.c +++ b/src/data/sprites/zebetite_and_cannon.c @@ -66,7 +66,7 @@ const u16 sRinkaMotherBrainOAM_Spawning_Frame5[19] = { 0xfc, OBJ_X_FLIP | 0x8, OBJ_SPRITE_OAM | 0x1263 }; -const u16 sZebetiteOAM_Phase1_Frame0[19] = { +const u16 sZebetiteOam_Phase1_Frame0[19] = { 0x6, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, @@ -76,7 +76,7 @@ const u16 sZebetiteOAM_Phase1_Frame0[19] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x209 }; -const u16 sZebetiteOAM_Phase1_Frame1[25] = { +const u16 sZebetiteOam_Phase1_Frame1[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x215, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x215, @@ -88,7 +88,7 @@ const u16 sZebetiteOAM_Phase1_Frame1[25] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20a }; -const u16 sZebetiteOAM_Phase1_Frame2[22] = { +const u16 sZebetiteOam_Phase1_Frame2[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, @@ -99,7 +99,7 @@ const u16 sZebetiteOAM_Phase1_Frame2[22] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20b }; -const u16 sZebetiteOAM_Phase1_Frame3[25] = { +const u16 sZebetiteOam_Phase1_Frame3[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x215, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x215, @@ -111,7 +111,7 @@ const u16 sZebetiteOAM_Phase1_Frame3[25] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x209 }; -const u16 sZebetiteOAM_Phase1_Frame4[19] = { +const u16 sZebetiteOam_Phase1_Frame4[19] = { 0x6, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, @@ -121,7 +121,7 @@ const u16 sZebetiteOAM_Phase1_Frame4[19] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20a }; -const u16 sZebetiteOAM_Phase1_Frame5[22] = { +const u16 sZebetiteOam_Phase1_Frame5[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, @@ -132,7 +132,7 @@ const u16 sZebetiteOAM_Phase1_Frame5[22] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20b }; -const u16 sZebetiteOAM_Phase2_Frame0[19] = { +const u16 sZebetiteOam_Phase2_Frame0[19] = { 0x6, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, @@ -142,7 +142,7 @@ const u16 sZebetiteOAM_Phase2_Frame0[19] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x209 }; -const u16 sZebetiteOAM_Phase2_Frame1[25] = { +const u16 sZebetiteOam_Phase2_Frame1[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x217, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x217, @@ -154,7 +154,7 @@ const u16 sZebetiteOAM_Phase2_Frame1[25] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20a }; -const u16 sZebetiteOAM_Phase2_Frame2[22] = { +const u16 sZebetiteOam_Phase2_Frame2[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, @@ -165,7 +165,7 @@ const u16 sZebetiteOAM_Phase2_Frame2[22] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20b }; -const u16 sZebetiteOAM_Phase2_Frame3[25] = { +const u16 sZebetiteOam_Phase2_Frame3[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, @@ -177,7 +177,7 @@ const u16 sZebetiteOAM_Phase2_Frame3[25] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x209 }; -const u16 sZebetiteOAM_Phase2_Frame4[19] = { +const u16 sZebetiteOam_Phase2_Frame4[19] = { 0x6, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x217, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x217, @@ -187,7 +187,7 @@ const u16 sZebetiteOAM_Phase2_Frame4[19] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20a }; -const u16 sZebetiteOAM_Phase2_Frame5[22] = { +const u16 sZebetiteOam_Phase2_Frame5[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, 0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, @@ -198,7 +198,7 @@ const u16 sZebetiteOAM_Phase2_Frame5[22] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20b }; -const u16 sZebetiteOAM_Phase4_Frame0[19] = { +const u16 sZebetiteOam_Phase4_Frame0[19] = { 0x6, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x210, @@ -208,7 +208,7 @@ const u16 sZebetiteOAM_Phase4_Frame0[19] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x209 }; -const u16 sZebetiteOAM_Phase4_Frame1[25] = { +const u16 sZebetiteOam_Phase4_Frame1[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x219, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x219, @@ -220,7 +220,7 @@ const u16 sZebetiteOAM_Phase4_Frame1[25] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20a }; -const u16 sZebetiteOAM_Phase4_Frame2[22] = { +const u16 sZebetiteOam_Phase4_Frame2[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x210, @@ -231,7 +231,7 @@ const u16 sZebetiteOAM_Phase4_Frame2[22] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20b }; -const u16 sZebetiteOAM_Phase4_Frame3[25] = { +const u16 sZebetiteOam_Phase4_Frame3[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x210, @@ -243,7 +243,7 @@ const u16 sZebetiteOAM_Phase4_Frame3[25] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x209 }; -const u16 sZebetiteOAM_Phase4_Frame4[19] = { +const u16 sZebetiteOam_Phase4_Frame4[19] = { 0x6, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x219, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x219, @@ -253,7 +253,7 @@ const u16 sZebetiteOAM_Phase4_Frame4[19] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20a }; -const u16 sZebetiteOAM_Phase4_Frame5[22] = { +const u16 sZebetiteOam_Phase4_Frame5[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x210, @@ -264,7 +264,7 @@ const u16 sZebetiteOAM_Phase4_Frame5[22] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20b }; -const u16 sZebetiteOAM_Phase6_Frame0[19] = { +const u16 sZebetiteOam_Phase6_Frame0[19] = { 0x6, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x211, @@ -274,7 +274,7 @@ const u16 sZebetiteOAM_Phase6_Frame0[19] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x209 }; -const u16 sZebetiteOAM_Phase6_Frame1[25] = { +const u16 sZebetiteOam_Phase6_Frame1[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x21a, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x21a, @@ -286,7 +286,7 @@ const u16 sZebetiteOAM_Phase6_Frame1[25] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20a }; -const u16 sZebetiteOAM_Phase6_Frame2[22] = { +const u16 sZebetiteOam_Phase6_Frame2[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x211, @@ -297,7 +297,7 @@ const u16 sZebetiteOAM_Phase6_Frame2[22] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20b }; -const u16 sZebetiteOAM_Phase6_Frame3[25] = { +const u16 sZebetiteOam_Phase6_Frame3[25] = { 0x8, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x211, @@ -309,7 +309,7 @@ const u16 sZebetiteOAM_Phase6_Frame3[25] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x209 }; -const u16 sZebetiteOAM_Phase6_Frame4[19] = { +const u16 sZebetiteOam_Phase6_Frame4[19] = { 0x6, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x21a, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x21a, @@ -319,7 +319,7 @@ const u16 sZebetiteOAM_Phase6_Frame4[19] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20a }; -const u16 sZebetiteOAM_Phase6_Frame5[22] = { +const u16 sZebetiteOam_Phase6_Frame5[22] = { 0x7, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211, OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x211, @@ -330,166 +330,166 @@ const u16 sZebetiteOAM_Phase6_Frame5[22] = { OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x20b }; -const u16 sCannonOAM_AimingLeft_Frame0[7] = { +const u16 sCannonOam_AimingLeft_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xfc, 0x1f0, OBJ_SPRITE_OAM | 0x207 }; -const u16 sCannonOAM_ShootingLeft_Frame1[7] = { +const u16 sCannonOam_ShootingLeft_Frame1[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0xfc, 0x1f1, OBJ_SPRITE_OAM | 0x25b }; -const u16 sCannonOAM_ShootingLeft_Frame2[7] = { +const u16 sCannonOam_ShootingLeft_Frame2[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0xfc, 0x1f2, OBJ_SPRITE_OAM | 0x25b }; -const u16 sCannonOAM_LeftToDownLeftTransition_Frame0[7] = { +const u16 sCannonOam_LeftToDownLeftTransition_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, OBJ_SHAPE_HORIZONTAL | 0x1, 0x1f0, OBJ_SPRITE_OAM | 0x267 }; -const u16 sCannonOAM_AimingDownLeft_Frame0[7] = { +const u16 sCannonOam_AimingDownLeft_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0x5, 0x1f3, OBJ_SPRITE_OAM | 0x228 }; -const u16 sCannonOAM_ShootingDownLeft_Frame1[7] = { +const u16 sCannonOam_ShootingDownLeft_Frame1[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0x4, 0x1f4, OBJ_SPRITE_OAM | 0x248 }; -const u16 sCannonOAM_ShootingDownLeft_Frame2[7] = { +const u16 sCannonOam_ShootingDownLeft_Frame2[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0x3, 0x1f5, OBJ_SPRITE_OAM | 0x248 }; -const u16 sCannonOAM_DownLeftToDownTransition_Frame0[7] = { +const u16 sCannonOam_DownLeftToDownTransition_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, OBJ_SHAPE_VERTICAL | 0x0, 0x1f9, OBJ_SPRITE_OAM | 0x227 }; -const u16 sCannonOAM_AimingDown_Frame0[7] = { +const u16 sCannonOam_AimingDown_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0x8, 0x1fc, OBJ_SPRITE_OAM | 0x208 }; -const u16 sCannonOAM_ShootingDown_Frame1[7] = { +const u16 sCannonOam_ShootingDown_Frame1[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0x7, 0x1fc, OBJ_SPRITE_OAM | 0x27b }; -const u16 sCannonOAM_ShootingDown_Frame2[7] = { +const u16 sCannonOam_ShootingDown_Frame2[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0x6, 0x1fc, OBJ_SPRITE_OAM | 0x27b }; -const u16 sCannonOAM_DownToDownRightTransition_Frame0[7] = { +const u16 sCannonOam_DownToDownRightTransition_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, OBJ_SHAPE_VERTICAL | 0x0, OBJ_X_FLIP | 0x1ff, OBJ_SPRITE_OAM | 0x227 }; -const u16 sCannonOAM_AimingDownRight_Frame0[7] = { +const u16 sCannonOam_AimingDownRight_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0x5, OBJ_X_FLIP | 0x5, OBJ_SPRITE_OAM | 0x228 }; -const u16 sCannonOAM_ShootingDownRight_Frame1[7] = { +const u16 sCannonOam_ShootingDownRight_Frame1[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0x4, OBJ_X_FLIP | 0x4, OBJ_SPRITE_OAM | 0x248 }; -const u16 sCannonOAM_ShootingDownRight_Frame2[7] = { +const u16 sCannonOam_ShootingDownRight_Frame2[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0x3, OBJ_X_FLIP | 0x3, OBJ_SPRITE_OAM | 0x248 }; -const u16 sCannonOAM_RightToRightTransition_Frame0[7] = { +const u16 sCannonOam_RightToRightTransition_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, OBJ_SHAPE_HORIZONTAL | 0x1, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x267 }; -const u16 sCannonOAM_AimingRight_Frame0[7] = { +const u16 sCannonOam_AimingRight_Frame0[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xfc, OBJ_X_FLIP | 0x8, OBJ_SPRITE_OAM | 0x207 }; -const u16 sCannonOAM_ShootingRight_Frame1[7] = { +const u16 sCannonOam_ShootingRight_Frame1[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0xfc, OBJ_X_FLIP | 0x7, OBJ_SPRITE_OAM | 0x25b }; -const u16 sCannonOAM_ShootingRight_Frame2[7] = { +const u16 sCannonOam_ShootingRight_Frame2[7] = { 0x2, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0xfc, OBJ_X_FLIP | 0x6, OBJ_SPRITE_OAM | 0x25b }; -const u16 sCannonBulletOAM_Left_Frame0[4] = { +const u16 sCannonBulletOam_Left_Frame0[4] = { 0x1, 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1244 }; -const u16 sCannonBulletOAM_Left_Frame1[4] = { +const u16 sCannonBulletOam_Left_Frame1[4] = { 0x1, 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1264 }; -const u16 sCannonBulletOAM_DownLeft_Frame0[4] = { +const u16 sCannonBulletOam_DownLeft_Frame0[4] = { 0x1, 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1245 }; -const u16 sCannonBulletOAM_DownLeft_Frame1[4] = { +const u16 sCannonBulletOam_DownLeft_Frame1[4] = { 0x1, 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1265 }; -const u16 sCannonBulletOAM_Down_Frame0[4] = { +const u16 sCannonBulletOam_Down_Frame0[4] = { 0x1, 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1246 }; -const u16 sCannonBulletOAM_Down_Frame1[4] = { +const u16 sCannonBulletOam_Down_Frame1[4] = { 0x1, 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1266 }; -const u16 sCannonBulletOAM_DownRight_Frame0[4] = { +const u16 sCannonBulletOam_DownRight_Frame0[4] = { 0x1, 0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1245 }; -const u16 sCannonBulletOAM_DownRight_Frame1[4] = { +const u16 sCannonBulletOam_DownRight_Frame1[4] = { 0x1, 0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1265 }; -const u16 sCannonBulletOAM_Right_Frame0[4] = { +const u16 sCannonBulletOam_Right_Frame0[4] = { 0x1, 0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1244 }; -const u16 sCannonBulletOAM_Right_Frame1[4] = { +const u16 sCannonBulletOam_Right_Frame1[4] = { 0x1, 0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1264 }; @@ -567,232 +567,232 @@ const struct FrameData sRinkaMotherBrainOAM_Moving[5] = { 0x0 }; -const struct FrameData sZebetiteOAM_Phase1[7] = { - sZebetiteOAM_Phase1_Frame0, +const struct FrameData sZebetiteOam_Phase1[7] = { + sZebetiteOam_Phase1_Frame0, 3, - sZebetiteOAM_Phase1_Frame1, + sZebetiteOam_Phase1_Frame1, 3, - sZebetiteOAM_Phase1_Frame2, + sZebetiteOam_Phase1_Frame2, 3, - sZebetiteOAM_Phase1_Frame3, + sZebetiteOam_Phase1_Frame3, 3, - sZebetiteOAM_Phase1_Frame4, + sZebetiteOam_Phase1_Frame4, 3, - sZebetiteOAM_Phase1_Frame5, + sZebetiteOam_Phase1_Frame5, 3, NULL, 0 }; -const struct FrameData sZebetiteOAM_Phase2[7] = { - sZebetiteOAM_Phase2_Frame0, +const struct FrameData sZebetiteOam_Phase2[7] = { + sZebetiteOam_Phase2_Frame0, 3, - sZebetiteOAM_Phase2_Frame1, + sZebetiteOam_Phase2_Frame1, 3, - sZebetiteOAM_Phase2_Frame2, + sZebetiteOam_Phase2_Frame2, 3, - sZebetiteOAM_Phase2_Frame3, + sZebetiteOam_Phase2_Frame3, 3, - sZebetiteOAM_Phase2_Frame4, + sZebetiteOam_Phase2_Frame4, 3, - sZebetiteOAM_Phase2_Frame5, + sZebetiteOam_Phase2_Frame5, 3, NULL, 0 }; -const struct FrameData sZebetiteOAM_Phase4[7] = { - sZebetiteOAM_Phase4_Frame0, +const struct FrameData sZebetiteOam_Phase4[7] = { + sZebetiteOam_Phase4_Frame0, 3, - sZebetiteOAM_Phase4_Frame1, + sZebetiteOam_Phase4_Frame1, 3, - sZebetiteOAM_Phase4_Frame2, + sZebetiteOam_Phase4_Frame2, 3, - sZebetiteOAM_Phase4_Frame3, + sZebetiteOam_Phase4_Frame3, 3, - sZebetiteOAM_Phase4_Frame4, + sZebetiteOam_Phase4_Frame4, 3, - sZebetiteOAM_Phase4_Frame5, + sZebetiteOam_Phase4_Frame5, 3, NULL, 0 }; -const struct FrameData sZebetiteOAM_Phase6[7] = { - sZebetiteOAM_Phase6_Frame0, +const struct FrameData sZebetiteOam_Phase6[7] = { + sZebetiteOam_Phase6_Frame0, 3, - sZebetiteOAM_Phase6_Frame1, + sZebetiteOam_Phase6_Frame1, 3, - sZebetiteOAM_Phase6_Frame2, + sZebetiteOam_Phase6_Frame2, 3, - sZebetiteOAM_Phase6_Frame3, + sZebetiteOam_Phase6_Frame3, 3, - sZebetiteOAM_Phase6_Frame4, + sZebetiteOam_Phase6_Frame4, 3, - sZebetiteOAM_Phase6_Frame5, + sZebetiteOam_Phase6_Frame5, 3, NULL, 0 }; -const struct FrameData sCannonOAM_AimingLeft[2] = { - sCannonOAM_AimingLeft_Frame0, +const struct FrameData sCannonOam_AimingLeft[2] = { + sCannonOam_AimingLeft_Frame0, UCHAR_MAX, NULL, 0 }; -const struct FrameData sCannonOAM_ShootingLeft[4] = { - sCannonOAM_AimingLeft_Frame0, +const struct FrameData sCannonOam_ShootingLeft[4] = { + sCannonOam_AimingLeft_Frame0, 16, - sCannonOAM_ShootingLeft_Frame1, + sCannonOam_ShootingLeft_Frame1, 2, - sCannonOAM_ShootingLeft_Frame2, + sCannonOam_ShootingLeft_Frame2, 2, NULL, 0 }; -const struct FrameData sCannonOAM_LeftToDownLeftTransition[2] = { - sCannonOAM_LeftToDownLeftTransition_Frame0, +const struct FrameData sCannonOam_LeftToDownLeftTransition[2] = { + sCannonOam_LeftToDownLeftTransition_Frame0, 3, NULL, 0 }; -const struct FrameData sCannonOAM_AimingDownLeft[2] = { - sCannonOAM_AimingDownLeft_Frame0, +const struct FrameData sCannonOam_AimingDownLeft[2] = { + sCannonOam_AimingDownLeft_Frame0, UCHAR_MAX, NULL, 0 }; -const struct FrameData sCannonOAM_ShootingDownLeft[4] = { - sCannonOAM_AimingDownLeft_Frame0, +const struct FrameData sCannonOam_ShootingDownLeft[4] = { + sCannonOam_AimingDownLeft_Frame0, 16, - sCannonOAM_ShootingDownLeft_Frame1, + sCannonOam_ShootingDownLeft_Frame1, 2, - sCannonOAM_ShootingDownLeft_Frame2, + sCannonOam_ShootingDownLeft_Frame2, 2, NULL, 0 }; -const struct FrameData sCannonOAM_DownLeftToDownTransition[2] = { - sCannonOAM_DownLeftToDownTransition_Frame0, +const struct FrameData sCannonOam_DownLeftToDownTransition[2] = { + sCannonOam_DownLeftToDownTransition_Frame0, 3, NULL, 0 }; -const struct FrameData sCannonOAM_AimingDown[2] = { - sCannonOAM_AimingDown_Frame0, +const struct FrameData sCannonOam_AimingDown[2] = { + sCannonOam_AimingDown_Frame0, UCHAR_MAX, NULL, 0 }; -const struct FrameData sCannonOAM_ShootingDown[4] = { - sCannonOAM_AimingDown_Frame0, +const struct FrameData sCannonOam_ShootingDown[4] = { + sCannonOam_AimingDown_Frame0, 16, - sCannonOAM_ShootingDown_Frame1, + sCannonOam_ShootingDown_Frame1, 2, - sCannonOAM_ShootingDown_Frame2, + sCannonOam_ShootingDown_Frame2, 2, NULL, 0 }; -const struct FrameData sCannonOAM_DownToDownRightTransition[2] = { - sCannonOAM_DownToDownRightTransition_Frame0, +const struct FrameData sCannonOam_DownToDownRightTransition[2] = { + sCannonOam_DownToDownRightTransition_Frame0, 3, NULL, 0 }; -const struct FrameData sCannonOAM_AimingDownRight[2] = { - sCannonOAM_AimingDownRight_Frame0, +const struct FrameData sCannonOam_AimingDownRight[2] = { + sCannonOam_AimingDownRight_Frame0, UCHAR_MAX, NULL, 0 }; -const struct FrameData sCannonOAM_ShootingDownRight[4] = { - sCannonOAM_AimingDownRight_Frame0, +const struct FrameData sCannonOam_ShootingDownRight[4] = { + sCannonOam_AimingDownRight_Frame0, 16, - sCannonOAM_ShootingDownRight_Frame1, + sCannonOam_ShootingDownRight_Frame1, 2, - sCannonOAM_ShootingDownRight_Frame2, + sCannonOam_ShootingDownRight_Frame2, 2, NULL, 0 }; -const struct FrameData sCannonOAM_DownRightToRightTransition[2] = { - sCannonOAM_RightToRightTransition_Frame0, +const struct FrameData sCannonOam_DownRightToRightTransition[2] = { + sCannonOam_RightToRightTransition_Frame0, 3, NULL, 0 }; -const struct FrameData sCannonOAM_AimingRight[2] = { - sCannonOAM_AimingRight_Frame0, +const struct FrameData sCannonOam_AimingRight[2] = { + sCannonOam_AimingRight_Frame0, UCHAR_MAX, NULL, 0 }; -const struct FrameData sCannonOAM_ShootingRight[4] = { - sCannonOAM_AimingRight_Frame0, +const struct FrameData sCannonOam_ShootingRight[4] = { + sCannonOam_AimingRight_Frame0, 16, - sCannonOAM_ShootingRight_Frame1, + sCannonOam_ShootingRight_Frame1, 2, - sCannonOAM_ShootingRight_Frame2, + sCannonOam_ShootingRight_Frame2, 2, NULL, 0 }; -const struct FrameData sCannonBulletOAM_Left[3] = { - sCannonBulletOAM_Left_Frame0, +const struct FrameData sCannonBulletOam_Left[3] = { + sCannonBulletOam_Left_Frame0, 3, - sCannonBulletOAM_Left_Frame1, + sCannonBulletOam_Left_Frame1, 3, NULL, 0 }; -const struct FrameData sCannonBulletOAM_DownLeft[3] = { - sCannonBulletOAM_DownLeft_Frame0, +const struct FrameData sCannonBulletOam_DownLeft[3] = { + sCannonBulletOam_DownLeft_Frame0, 3, - sCannonBulletOAM_DownLeft_Frame1, + sCannonBulletOam_DownLeft_Frame1, 3, NULL, 0 }; -const struct FrameData sCannonBulletOAM_Down[3] = { - sCannonBulletOAM_Down_Frame0, +const struct FrameData sCannonBulletOam_Down[3] = { + sCannonBulletOam_Down_Frame0, 3, - sCannonBulletOAM_Down_Frame1, + sCannonBulletOam_Down_Frame1, 3, NULL, 0 }; -const struct FrameData sCannonBulletOAM_DownRight[3] = { - sCannonBulletOAM_DownRight_Frame0, +const struct FrameData sCannonBulletOam_DownRight[3] = { + sCannonBulletOam_DownRight_Frame0, 3, - sCannonBulletOAM_DownRight_Frame1, + sCannonBulletOam_DownRight_Frame1, 3, NULL, 0 }; -const struct FrameData sCannonBulletOAM_Right[3] = { - sCannonBulletOAM_Right_Frame0, +const struct FrameData sCannonBulletOam_Right[3] = { + sCannonBulletOam_Right_Frame0, 3, - sCannonBulletOAM_Right_Frame1, + sCannonBulletOam_Right_Frame1, 3, NULL, 0 diff --git a/src/demo.c b/src/demo.c index 8b54b5f3..c8df699c 100644 --- a/src/demo.c +++ b/src/demo.c @@ -32,14 +32,15 @@ void DemoStart(void) gCurrentDemo.noDemoShuffle = FALSE; - if (!gCurrentDemo.unk_2_0) + if (!gCurrentDemo.hasBeenInit) { - gCurrentDemo.unk_2_0 = TRUE; + gCurrentDemo.hasBeenInit = TRUE; fc8 = gFrameCounter8Bit; - demoNbr = (gFrameCounter16Bit >> 8) + gFrameCounter8Bit; + demoNbr = (gFrameCounter16Bit / 256) + gFrameCounter8Bit; - gCurrentDemo.number = demoNbr & 1 ? 8 : 0; + // Randomly choose to start at either the first or middle demo + gCurrentDemo.number = MOD_AND(demoNbr, 2) ? MAX_AMOUNT_OF_DEMOS / 2 : 0; } gDemoState = DEMO_STATE_STARTING; @@ -58,7 +59,9 @@ void DemoInit(void) // Get demo number if (gCurrentDemo.noDemoShuffle) + { demoNbr = gCurrentDemo.number; + } else { if (gCurrentDemo.number >= MAX_AMOUNT_OF_DEMOS) @@ -99,7 +102,6 @@ void DemoInit(void) break; case 11: - // FIXME, another way to write this maybe? write32(&gMinimapTilesWithObtainedItems[AREA_BRINSTAR * MINIMAP_SIZE + 15], 1); break; } @@ -212,8 +214,8 @@ void DemoEnd(void) } else { - // Check end naturally after 8 demos played - if (gCurrentDemo.number == 8) + // Check end naturally after half of the demo played + if (gCurrentDemo.number == MAX_AMOUNT_OF_DEMOS / 2) { // End, go back to intro gDemoState = DEMO_STATE_NONE; diff --git a/src/ending_and_gallery.c b/src/ending_and_gallery.c index 3147d442..fce8b4d9 100644 --- a/src/ending_and_gallery.c +++ b/src/ending_and_gallery.c @@ -316,10 +316,10 @@ void GalleryVBlank(void) write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L); write16(REG_BLDY, gWrittenToBLDY_NonGameplay); - write16(REG_BG0VOFS, bgPos = gBG0YPosition / 16 & 0x1FF); + write16(REG_BG0VOFS, bgPos = gBg0YPosition / 16 & 0x1FF); write16(REG_BG1VOFS, bgPos); - write16(REG_BG2VOFS, gBG2YPosition / 16 & 0x1FF); - write16(REG_BG3VOFS, gBG3YPosition / 16 & 0x1FF); + write16(REG_BG2VOFS, gBg2YPosition / 16 & 0x1FF); + write16(REG_BG3VOFS, gBg3YPosition / 16 & 0x1FF); } /** @@ -336,9 +336,9 @@ void EndScreenVBlank(void) write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L); write16(REG_BLDY, gWrittenToBLDY_NonGameplay); - write16(REG_BG1HOFS, gBG1XPosition & 0x1FF); - write16(REG_BG2HOFS, gBG2XPosition & 0x1FF); - write16(REG_BG3HOFS, gBG3XPosition & 0x1FF); + write16(REG_BG1HOFS, gBg1XPosition & 0x1FF); + write16(REG_BG2HOFS, gBg2XPosition & 0x1FF); + write16(REG_BG3HOFS, gBg3XPosition & 0x1FF); } /** @@ -398,16 +398,16 @@ void CreditsInit(void) write16(REG_BG3CNT, 0x9A0B); gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); - gBG0XPosition = 0; - gBG0YPosition = 0x1000; - gBG1XPosition = 0; - gBG1YPosition = 0x1000; - gBG2XPosition = 0; - gBG2YPosition = 0; - gBG3XPosition = 0; - gBG3YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0x1000; + gBg1XPosition = 0; + gBg1YPosition = 0x1000; + gBg2XPosition = 0; + gBg2YPosition = 0; + gBg3XPosition = 0; + gBg3YPosition = 0; write16(REG_BG0HOFS, 0); write16(REG_BG0VOFS, 0x1000); @@ -709,7 +709,7 @@ u8 CreditsDisplay(void) } ENDING_DATA.unk_E += 7; - gBG0YPosition += 7; + gBg0YPosition += 7; return FALSE; } @@ -744,11 +744,11 @@ u8 CreditsChozoWallMovement(void) if (ENDING_DATA.unk_1) { - gBG2YPosition += 8; - gBG3YPosition += 8; + gBg2YPosition += 8; + gBg3YPosition += 8; // Check end scrolling - if (gBG2YPosition == BLOCK_SIZE * 56) + if (gBg2YPosition == BLOCK_SIZE * 56) ENDING_DATA.unk_1 = FALSE; // Disable background scrolling } @@ -771,7 +771,7 @@ u8 CreditsChozoWallZoom(void) case 0: LZ77UncompVRAM(sCreditsChozoWallBottomZoomedGfx, VRAM_BASE); DMA_SET(3, sCreditsChozoWallPAL, PALRAM_BASE, DMA_ENABLE << 16 | ARRAY_SIZE(sCreditsChozoWallPAL)); - gBG0YPosition = 0; + gBg0YPosition = 0; gWrittenToBLDALPHA_L = 0; gWrittenToBLDALPHA_H = 16; break; @@ -790,7 +790,7 @@ u8 CreditsChozoWallZoom(void) ENDING_DATA.dispcnt = DCNT_BG0; ENDING_DATA.bldcnt = 0; ENDING_DATA.unk_1++; - gBG1YPosition = 0; + gBg1YPosition = 0; gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_H = 0; break; @@ -896,17 +896,17 @@ void EndScreenInit(void) write16(REG_BG3CNT, 0x1F03); gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); DMA_SET(3, gOamData, OAM_BASE, (DMA_ENABLE | DMA_32BIT) << 16 | OAM_SIZE / 4); - gBG0XPosition = 0; - gBG0YPosition = 0; - gBG1XPosition = 0x100; - gBG1YPosition = 0; - gBG2XPosition = 0x100; - gBG2YPosition = 0; - gBG3XPosition = 0; - gBG3YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; + gBg1XPosition = 0x100; + gBg1YPosition = 0; + gBg2XPosition = 0x100; + gBg2YPosition = 0; + gBg3XPosition = 0; + gBg3YPosition = 0; write16(REG_BG0HOFS, 0); write16(REG_BG0VOFS, 0); @@ -951,10 +951,10 @@ u8 EndScreenSamusPosing(void) break; case 0: - gBG1XPosition += 8; - if (gBG1XPosition >= BLOCK_SIZE * 8) + gBg1XPosition += 8; + if (gBg1XPosition >= BLOCK_SIZE * 8) { - gBG1XPosition = 0; + gBg1XPosition = 0; ENDING_DATA.bldcnt = BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BG2_SECOND_TARGET_PIXEL | BLDCNT_BG3_SECOND_TARGET_PIXEL; ENDING_DATA.timer = 0; @@ -977,10 +977,10 @@ u8 EndScreenSamusPosing(void) case 6: if (ENDING_DATA.timer++ > 7) { - gBG2XPosition += 8; - if (gBG2XPosition >= BLOCK_SIZE * 8) + gBg2XPosition += 8; + if (gBg2XPosition >= BLOCK_SIZE * 8) { - gBG2XPosition = BLOCK_SIZE * 8; + gBg2XPosition = BLOCK_SIZE * 8; ENDING_DATA.bldcnt = BLDCNT_BG2_FIRST_TARGET_PIXEL | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BG1_SECOND_TARGET_PIXEL | BLDCNT_BG3_SECOND_TARGET_PIXEL; ENDING_DATA.timer = 0; @@ -1001,13 +1001,13 @@ u8 EndScreenSamusPosing(void) case 8: if (ENDING_DATA.timer++ > 23) { - if (gBG1XPosition >= 10) + if (gBg1XPosition >= 10) { - gBG1XPosition -= 10; + gBg1XPosition -= 10; } else { - gBG1XPosition = 0; + gBg1XPosition = 0; ENDING_DATA.timer = 0; ENDING_DATA.unk_1++; } @@ -1120,7 +1120,7 @@ u8 EndScreenSamusPosing(void) ENDING_DATA.bldcnt = 0; gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_H = 0; - gBG1XPosition = BLOCK_SIZE * 4; + gBg1XPosition = BLOCK_SIZE * 4; ENDING_DATA.unk_124[1]++; break; @@ -1134,7 +1134,7 @@ u8 EndScreenSamusPosing(void) ENDING_DATA.bldcnt = 0; gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_H = 0; - gBG2XPosition = BLOCK_SIZE * 4; + gBg2XPosition = BLOCK_SIZE * 4; ENDING_DATA.unk_124[1]++; break; @@ -1148,7 +1148,7 @@ u8 EndScreenSamusPosing(void) ENDING_DATA.bldcnt = 0; gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_H = 0; - gBG1XPosition = BLOCK_SIZE * 4; + gBg1XPosition = BLOCK_SIZE * 4; ENDING_DATA.unk_124[1]++; break; @@ -1176,7 +1176,7 @@ u8 EndScreenSamusPosing(void) ENDING_DATA.bldcnt = 0; gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_H = 0; - gBG2XPosition = 0; + gBg2XPosition = 0; ENDING_DATA.unk_124[1]++; break; @@ -1230,7 +1230,7 @@ u8 EndScreenSamusPosing(void) } if (!(ENDING_DATA.endScreenTimer & 7)) - gBG3XPosition++; + gBg3XPosition++; return ended; } @@ -1305,16 +1305,16 @@ void EndingImageInit(void) write16(REG_BG1CNT, 0x9E09); gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); - gBG0XPosition = 0; - gBG0YPosition = 0x1000; - gBG1XPosition = 0; - gBG1YPosition = 0x1000; - gBG2XPosition = 0; - gBG2YPosition = 0; - gBG3XPosition = 0; - gBG3YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0x1000; + gBg1XPosition = 0; + gBg1YPosition = 0x1000; + gBg2XPosition = 0; + gBg2YPosition = 0; + gBg3XPosition = 0; + gBg3YPosition = 0; write16(REG_BG0HOFS, 0); write16(REG_BG0VOFS, 0); @@ -1326,8 +1326,7 @@ void EndingImageInit(void) write16(REG_BG3VOFS, 0); ENDING_DATA.dispcnt = DCNT_OBJ | DCNT_BG0 | DCNT_BG1; - ENDING_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + ENDING_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; gWrittenToBLDALPHA_L = 16; @@ -1510,15 +1509,15 @@ u8 EndingImageDisplay(void) if (ENDING_DATA.unk_8) { - if (gBG0YPosition > 6) + if (gBg0YPosition > 6) { - gBG0YPosition -= 6; - gBG1YPosition -= 6; + gBg0YPosition -= 6; + gBg1YPosition -= 6; } else { - gBG0YPosition = 0; - gBG1YPosition = 0; + gBg0YPosition = 0; + gBg1YPosition = 0; ENDING_DATA.unk_8 = FALSE; } } @@ -1574,7 +1573,7 @@ void UnlockedOptionsInit(void) write16(REG_BG1CNT, 0x1101); gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); write16(REG_BG0HOFS, 0); write16(REG_BG0VOFS, 0); @@ -1726,7 +1725,7 @@ u32 CreditsSubroutine(void) gGameModeSub1++; } - ResetFreeOAM(); + ResetFreeOam(); break; case 7: @@ -1784,7 +1783,7 @@ u32 CreditsSubroutine(void) } } - ResetFreeOAM(); + ResetFreeOam(); break; case 1: @@ -1823,7 +1822,7 @@ u32 CreditsSubroutine(void) gGameModeSub1++; } - ResetFreeOAM(); + ResetFreeOam(); break; } @@ -1900,16 +1899,16 @@ void GalleryInit(void) write16(REG_BG1CNT, 0x9E09); gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); - gBG0XPosition = 0; - gBG0YPosition = 0x1000; - gBG1XPosition = 0; - gBG1YPosition = 0x1000; - gBG2XPosition = 0; - gBG2YPosition = 0; - gBG3XPosition = 0; - gBG3YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0x1000; + gBg1XPosition = 0; + gBg1YPosition = 0x1000; + gBg2XPosition = 0; + gBg2YPosition = 0; + gBg3XPosition = 0; + gBg3YPosition = 0; write16(REG_BG0HOFS, 0); write16(REG_BG0VOFS, 0x1000); @@ -1923,8 +1922,7 @@ void GalleryInit(void) ENDING_DATA.unk_8 = 0; ENDING_DATA.dispcnt = DCNT_BG0 | DCNT_BG1 | DCNT_OBJ; - ENDING_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + ENDING_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; GalleryVBlank(); @@ -2008,10 +2006,10 @@ u32 GalleryDisplay(void) if (!change) { - if (gBG0YPosition > velocity) + if (gBg0YPosition > velocity) { - gBG0YPosition -= velocity; - gBG1YPosition -= velocity; + gBg0YPosition -= velocity; + gBg1YPosition -= velocity; } else { @@ -2021,13 +2019,13 @@ u32 GalleryDisplay(void) } else { - gBG0YPosition += velocity; - gBG1YPosition += velocity; + gBg0YPosition += velocity; + gBg1YPosition += velocity; - if (gBG0YPosition > BLOCK_SIZE * 64) + if (gBg0YPosition > BLOCK_SIZE * 64) { - gBG0YPosition = BLOCK_SIZE * 64; - gBG1YPosition = BLOCK_SIZE * 64; + gBg0YPosition = BLOCK_SIZE * 64; + gBg1YPosition = BLOCK_SIZE * 64; } } diff --git a/src/fixed_point.c b/src/fixed_point.c index 6931783a..25851388 100644 --- a/src/fixed_point.c +++ b/src/fixed_point.c @@ -1,4 +1,5 @@ #include "fixed_point.h" +#include "macros.h" /** * @brief a4c | 1c | Fixed point multiplication @@ -11,9 +12,13 @@ s16 FixedMultiplication(s16 a, s16 b) { s32 x = a; s32 y = b; - s32 res = x; + s32 res; + + res = x; res *= y; - res /= 0x100; + + res = Q_8_8_TO_INT(res); + return res; } @@ -29,7 +34,7 @@ s16 FixedDivision(s16 a, s16 b) s32 x = a; s32 y = b; - return (x << 8) / y; + return Q_24_8(x) / y; } /** @@ -40,5 +45,5 @@ s16 FixedDivision(s16 a, s16 b) */ s16 FixedInverse(s16 a) { - return 0x10000 / a; + return Q_16_16(1.f) / a; } diff --git a/src/fusion_gallery.c b/src/fusion_gallery.c index b458c40f..038ce4cd 100644 --- a/src/fusion_gallery.c +++ b/src/fusion_gallery.c @@ -15,8 +15,8 @@ #define GALLERY_RESET_BG_POS()\ do { \ -gBG0YPosition = 0; \ -gBG1YPosition = 0; \ +gBg0YPosition = 0; \ +gBg1YPosition = 0; \ } while(0); /** @@ -32,8 +32,8 @@ void FusionGalleryVBlank(void) write16(REG_BLDY, gWrittenToBLDY_NonGameplay); - write16(REG_BG0VOFS, (gBG0YPosition / 16) & 0x1FF); - write16(REG_BG1VOFS, (gBG1YPosition / 16) & 0x1FF); + write16(REG_BG0VOFS, (gBg0YPosition / 16) & 0x1FF); + write16(REG_BG1VOFS, (gBg1YPosition / 16) & 0x1FF); } void FusionGalleryInit(void) @@ -73,16 +73,16 @@ void FusionGalleryInit(void) write16(REG_BG1CNT, 0x9E09); gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); - gBG0XPosition = 0; - gBG0YPosition = 0x1000; - gBG1XPosition = 0; - gBG1YPosition = 0x1000; - gBG2XPosition = 0; - gBG2YPosition = 0; - gBG3XPosition = 0; - gBG3YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0x1000; + gBg1XPosition = 0; + gBg1YPosition = 0x1000; + gBg2XPosition = 0; + gBg2YPosition = 0; + gBg3XPosition = 0; + gBg3YPosition = 0; write16(REG_BG0HOFS, 0); write16(REG_BG0VOFS, 0x1000); @@ -95,8 +95,7 @@ void FusionGalleryInit(void) FUSION_GALLERY_DATA.unk_2 = 0; FUSION_GALLERY_DATA.dispcnt = DCNT_BG0 | DCNT_BG1 | DCNT_OBJ; - ENDING_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + ENDING_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; FusionGalleryVBlank(); @@ -175,10 +174,10 @@ u32 FusionGalleryDisplay(void) if (!change) { - if (gBG0YPosition > velocity) + if (gBg0YPosition > velocity) { - gBG0YPosition -= velocity; - gBG1YPosition -= velocity; + gBg0YPosition -= velocity; + gBg1YPosition -= velocity; } else { @@ -188,13 +187,13 @@ u32 FusionGalleryDisplay(void) } else { - gBG0YPosition += velocity; - gBG1YPosition += velocity; + gBg0YPosition += velocity; + gBg1YPosition += velocity; - if (gBG0YPosition > BLOCK_SIZE * 64) + if (gBg0YPosition > BLOCK_SIZE * 64) { - gBG0YPosition = BLOCK_SIZE * 64; - gBG1YPosition = BLOCK_SIZE * 64; + gBg0YPosition = BLOCK_SIZE * 64; + gBg1YPosition = BLOCK_SIZE * 64; } } diff --git a/src/haze.c b/src/haze.c index 9d48332a..7ecfa086 100644 --- a/src/haze.c +++ b/src/haze.c @@ -428,7 +428,7 @@ void Haze_Bg3(void) gUnk_3005728 += gHazeLoops[0].unk_3; - position = (gEffectYPosition / 4) - (gBG1YPosition / 4) - 1; + position = (gEffectYPosition / 4) - (gBg1YPosition / 4) - 1; CLAMP(position, 0, 0xA0); @@ -497,7 +497,7 @@ void Haze_Bg3StrongWeak(void) gUnk_3005728 += gHazeLoops[0].unk_3; gUnk_3005729 += gHazeLoops[1].unk_3; - position = (gEffectYPosition / 4) - (gBG1YPosition / 4) - 1; + position = (gEffectYPosition / 4) - (gBg1YPosition / 4) - 1; CLAMP(position, 0, 0xA0); @@ -680,8 +680,8 @@ u32 Haze_PowerBombExpanding(void) src = sHaze_PowerBomb_WindowValuesPointers[gCurrentPowerBomb.semiMinorAxis]; size = gCurrentPowerBomb.semiMinorAxis; - xPosition = (gCurrentPowerBomb.xPosition - gBG1XPosition) >> 2; - yPosition = (gCurrentPowerBomb.yPosition - gBG1YPosition) >> 2; + xPosition = (gCurrentPowerBomb.xPosition - gBg1XPosition) >> 2; + yPosition = (gCurrentPowerBomb.yPosition - gBg1YPosition) >> 2; dst = (u16*)0x2026d00; for (i = 0; i <= 53 * 3; i++, dst++) @@ -755,8 +755,8 @@ u32 Haze_PowerBombRetracting(void) src = sHaze_PowerBomb_WindowValuesPointers[gCurrentPowerBomb.semiMinorAxis]; size = gCurrentPowerBomb.semiMinorAxis; - xPosition = (gCurrentPowerBomb.xPosition - gBG1XPosition) >> 2; - yPosition = (gCurrentPowerBomb.yPosition - gBG1YPosition) >> 2; + xPosition = (gCurrentPowerBomb.xPosition - gBg1XPosition) >> 2; + yPosition = (gCurrentPowerBomb.yPosition - gBg1YPosition) >> 2; dst = (u16*)0x2026d00; for (i = 0; i <= 53 * 3; i++, dst++) diff --git a/src/in_game.c b/src/in_game.c index ad44c9cd..0d786e42 100644 --- a/src/in_game.c +++ b/src/in_game.c @@ -115,7 +115,7 @@ u32 InGameMainLoop(void) { SamusCallGfxFunctions(); SamusDraw(); - ResetFreeOAM(); + ResetFreeOam(); RoomUpdate(); } else if (gGameModeSub1 != 0) @@ -147,7 +147,7 @@ u32 InGameMainLoop(void) SpriteDrawAll_Upper(); ProjectileDrawAllStatusTrue(); - ResetFreeOAM(); + ResetFreeOam(); RoomUpdate(); if (gGameModeSub1 == SUB_GAME_MODE_PLAYING) diff --git a/src/in_game_cutscene.c b/src/in_game_cutscene.c index 68b6b80c..40f1b7e7 100644 --- a/src/in_game_cutscene.c +++ b/src/in_game_cutscene.c @@ -236,7 +236,7 @@ u32 InGameCutsceneUpgradingSuit(u8 cutsceneNumber, u8 cutsceneNumberNoFlag) ended = FALSE; changeStage = FALSE; - temp = gSamusData.xPosition - gBG1XPosition; + temp = gSamusData.xPosition - gBg1XPosition; if (temp < 0) left = 0; else @@ -249,7 +249,7 @@ u32 InGameCutsceneUpgradingSuit(u8 cutsceneNumber, u8 cutsceneNumberNoFlag) right = left + 2; bottom = gSamusData.yPosition - 0x60; - temp = bottom - gBG1YPosition; + temp = bottom - gBg1YPosition; if (temp < 0) top = 0; else @@ -801,8 +801,8 @@ void InGameCutsceneCheckPlayOnTransition(void) gCurrentRoomEntry.BG0Prop = BG_PROP_CLOSE_UP; gCurrentRoomEntry.BG0Size = 0; - gBG0XPosition = 0; - gBG0YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; // Setup fade and blending gIoRegistersBackup.BLDALPHA_NonGameplay_EVA = gDefaultTransparency.evaCoef = 4; diff --git a/src/init_game.c b/src/init_game.c index a560eef2..f7537770 100644 --- a/src/init_game.c +++ b/src/init_game.c @@ -17,14 +17,14 @@ void InitializeGame(void) write16(REG_IME, FALSE); write16(REG_DISPSTAT, 0); - dma_fill32(3, 0, EWRAM_BASE, 0x40000); - dma_fill32(3, 0, IWRAM_BASE, 0x7e00); + dma_fill32(3, 0, EWRAM_BASE, EWRAM_SIZE); + dma_fill32(3, 0, IWRAM_BASE, IWRAM_SIZE - 0x200); ClearGfxRam(); LoadInterruptCode(); CallbackSetVBlank(SoftresetVBlankCallback); SramRead_All(); - init_sound(); + InitializeAudio(); write16(REG_IE, IF_VBLANK | IF_DMA2 | IF_GAMEPAK); write16(REG_DISPSTAT, DSTAT_IF_VBLANK); @@ -54,8 +54,8 @@ void InitializeGame(void) gChangedInput = 0; gDisableSoftreset = FALSE; - gStereoFlag = 0; + gStereoFlag = FALSE; - write16(REG_IF, 0xffff); + write16(REG_IF, USHORT_MAX); write16(REG_IME, TRUE); } diff --git a/src/init_helpers.c b/src/init_helpers.c index ed9cd2fe..99a64cc5 100644 --- a/src/init_helpers.c +++ b/src/init_helpers.c @@ -5,27 +5,58 @@ #include "memory.h" #include "types.h" +/** + * @brief 9a0 | 48 | Clears all the graphics ram (VRAM, OAM, PALRAM) + * + */ void ClearGfxRam(void) { - BitFill(3, 0x00, VRAM_BASE, VRAM_SIZE, 0x10); - BitFill(3, 0xff, OAM_BASE, OAM_SIZE, 0x20); - BitFill(3, 0x00, PALRAM_BASE, PALRAM_SIZE, 0x10); + // Clear VRAM + BitFill(3, 0, VRAM_BASE, VRAM_SIZE, 16); + + // Clear OAM + BitFill(3, UCHAR_MAX, OAM_BASE, OAM_SIZE, 32); + + // Clear PALRAM + BitFill(3, 0, PALRAM_BASE, PALRAM_SIZE, 16); } +/** + * @brief 9e8 | 30 | Loads the interrupt code in RAM + * + */ void LoadInterruptCode(void) { - DmaTransfer(3, intr_main, &gInterruptCode, sizeof(gInterruptCode), 0x10); - intr_code_ptr = &gInterruptCode; + // Transfer code + DmaTransfer(3, IntrMain, &gInterruptCode, sizeof(gInterruptCode), 16); + + // Set pointer + gIntrCodePointer = &gInterruptCode; } -void ResetFreeOAM(void) +/** + * @brief a18 | 34 | Clears the oam buffer past the next oam slot + * + */ +void ResetFreeOam(void) { s32 i; - u16 *oam = (u16*)gOamData; - oam += gNextOamSlot * 4; - for (i = gNextOamSlot; i < 0x80; ++oam, ++i) { - *oam++ = 0xff; - *oam++ = 0xff; - *oam++ = 0x0; + u16* oam; + + // Start at the next oam slot + oam = (u16*)&gOamData; + oam += gNextOamSlot * sizeof(union OamData) / sizeof(*oam); + + // Write until the end of the + for (i = gNextOamSlot; i < OAM_BUFFER_DATA_SIZE; oam++, i++) + { + // Part 1 + *oam++ = UCHAR_MAX; + + // Part 2 + *oam++ = UCHAR_MAX; + + // Part 3 + *oam++ = 0; } } diff --git a/src/intro.c b/src/intro.c index 65ab824e..25d190a5 100644 --- a/src/intro.c +++ b/src/intro.c @@ -22,15 +22,15 @@ */ void IntroVBlank(void) { - DMA_SET(3, gOamData, OAM_BASE, (DMA_ENABLE | DMA_32BIT) << 16 | OAM_SIZE / 4); + DMA_SET(3, gOamData, OAM_BASE, C_32_2_16(DMA_ENABLE | DMA_32BIT, OAM_SIZE / 4)); write16(REG_DISPCNT, INTRO_DATA.dispcnt); write16(REG_BLDCNT, INTRO_DATA.bldcnt); - write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L); + write16(REG_BLDALPHA, C_16_2_8(gWrittenToBLDALPHA_H, gWrittenToBLDALPHA_L)); write16(REG_BLDY, gWrittenToBLDY_NonGameplay); - write16(REG_BG0HOFS, gBG0XPosition & 0x1FF); - write16(REG_BG0VOFS, gBG0YPosition & 0x1FF); + write16(REG_BG0HOFS, MOD_AND(gBg0XPosition, 512)); + write16(REG_BG0VOFS, MOD_AND(gBg0YPosition, 512)); } /** @@ -39,12 +39,12 @@ void IntroVBlank(void) */ void IntroFuzzVBlank(void) { - DMA_SET(3, gOamData, OAM_BASE, (DMA_ENABLE | DMA_32BIT) << 16 | OAM_SIZE / 4); + DMA_SET(3, gOamData, OAM_BASE, C_32_2_16(DMA_ENABLE | DMA_32BIT, OAM_SIZE / 4)); write16(REG_DISPCNT, INTRO_DATA.dispcnt); write16(REG_BLDCNT, INTRO_DATA.bldcnt); - DMA_SET(3, INTRO_DATA.fuzzPalette, PALRAM_OBJ, DMA_ENABLE << 16 | sizeof(INTRO_DATA.fuzzPalette) / 2); + DMA_SET(3, INTRO_DATA.fuzzPalette, PALRAM_OBJ, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(INTRO_DATA.fuzzPalette))); } /** @@ -69,9 +69,9 @@ void IntroInit(void) write16(REG_IME, TRUE); zero = 0; - DMA_SET(3, &zero, &gNonGameplayRAM, (DMA_ENABLE | DMA_SRC_FIXED | DMA_32BIT) << 16 | sizeof(gNonGameplayRAM) / 4); + DMA_SET(3, &zero, &gNonGameplayRAM, C_32_2_16(DMA_ENABLE | DMA_SRC_FIXED | DMA_32BIT, sizeof(gNonGameplayRAM) / 4)); - INTRO_DATA.scaling = 0x20; + INTRO_DATA.scaling = Q_8_8(.125f); INTRO_DATA.charDrawerX = 0x38; INTRO_DATA.charDrawerY = 0x60; @@ -82,41 +82,40 @@ void IntroInit(void) LZ77UncompVRAM(sIntroSpaceBackgroundTileTable, VRAM_BASE + 0x8000); LZ77UncompVRAM(sIntro_47920c, VRAM_BASE + 0x9000); - DMA_SET(3, sIntroTextAndShipPAL, PALRAM_OBJ, DMA_ENABLE << 16 | sizeof(sIntroTextAndShipPAL) / 2); - DMA_SET(3, sIntroTextAndShipPAL, PALRAM_BASE, DMA_ENABLE << 16 | sizeof(sIntroTextAndShipPAL) / 2); - DMA_SET(3, sIntroPAL_45f9d4, PALRAM_BASE + 0x1E0, DMA_ENABLE << 16 | sizeof(sIntroPAL_45f9d4) / 2); + DMA_SET(3, sIntroTextAndShipPAL, PALRAM_OBJ, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroTextAndShipPAL))); + DMA_SET(3, sIntroTextAndShipPAL, PALRAM_BASE, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroTextAndShipPAL))); + DMA_SET(3, sIntroPAL_45f9d4, PALRAM_BASE + 0x1E0, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroPAL_45f9d4))); - write16(REG_BG0CNT, 0x1000); - write16(REG_BG1CNT, 0x1201); + write16(REG_BG0CNT, BGCNT_CREATE(0, 16, BGCNT_HIGH_PRIORITY, BGCNT_SIZE_256x256)); + write16(REG_BG1CNT, BGCNT_CREATE(0, 18, BGCNT_HIGH_MID_PRIORITY, BGCNT_SIZE_256x256)); gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); - gBG0XPosition = 0; - gBG0YPosition = 0; - gBG1XPosition = 0; - gBG1YPosition = 0; - gBG2XPosition = 0; - gBG2YPosition = 0; - gBG3XPosition = 0; - gBG3YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; + gBg1XPosition = 0; + gBg1YPosition = 0; + gBg2XPosition = 0; + gBg2YPosition = 0; + gBg3XPosition = 0; + gBg3YPosition = 0; - write16(REG_BG0HOFS, gBG0XPosition); - write16(REG_BG0VOFS, gBG0YPosition); - write16(REG_BG1HOFS, gBG1XPosition); - write16(REG_BG1VOFS, gBG1YPosition); - write16(REG_BG2HOFS, gBG2XPosition); - write16(REG_BG2VOFS, gBG2YPosition); - write16(REG_BG3HOFS, gBG3XPosition); - write16(REG_BG3VOFS, gBG3YPosition); + write16(REG_BG0HOFS, gBg0XPosition); + write16(REG_BG0VOFS, gBg0YPosition); + write16(REG_BG1HOFS, gBg1XPosition); + write16(REG_BG1VOFS, gBg1YPosition); + write16(REG_BG2HOFS, gBg2XPosition); + write16(REG_BG2VOFS, gBg2YPosition); + write16(REG_BG3HOFS, gBg3XPosition); + write16(REG_BG3VOFS, gBg3YPosition); UpdateMusicPriority(1); INTRO_DATA.dispcnt = DCNT_OBJ; - INTRO_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | - BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; - gWrittenToBLDY_NonGameplay = 0x10; + INTRO_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; + + gWrittenToBLDY_NonGameplay = 16; IntroVBlank(); } @@ -151,7 +150,7 @@ void IntroTextProcessOAM(void) dst = (u16*)gOamData; i = 0; yPosition = BLOCK_SIZE * 2; - xPosition = 0x78; + xPosition = BLOCK_SIZE + QUARTER_BLOCK_SIZE * 3 + PIXEL_SIZE * 2; if (INTRO_DATA.nextCharacter != 0) { @@ -173,7 +172,7 @@ void IntroTextProcessOAM(void) part = *src++; *dst++ = part; - gOamData[i].split.x = (part + xPosition) & 0x1FF; + gOamData[i].split.x = MOD_AND(part + xPosition, 512); *dst++ = *src++; if (i == INTRO_DATA.nextCharacter - 1) @@ -201,7 +200,7 @@ void IntroTextProcessOAM(void) part = *src++; *dst++ = part; - gOamData[i].split.x = (part + xPosition) & 0x1FF; + gOamData[i].split.x = MOD_AND(part + xPosition, 512); *dst++ = *src++; gOamData[i].split.paletteNum = INTRO_DATA.charDrawerPalette; @@ -404,17 +403,17 @@ void IntroShipFlyingTowardsCameraProcessOAM(void) else if (INTRO_DATA.timer < 28) INTRO_DATA.shipFlyingTowardsCameraY -= 1; - if (INTRO_DATA.scaling < 0x80) - INTRO_DATA.scaling += 8; - else if (INTRO_DATA.scaling < 0x140) - INTRO_DATA.scaling += 16; - else if (INTRO_DATA.scaling < 0x1E0) - INTRO_DATA.scaling += 32; + if (INTRO_DATA.scaling < Q_8_8(.5f)) + INTRO_DATA.scaling += Q_8_8(.035f); + else if (INTRO_DATA.scaling < Q_8_8(1.25f)) + INTRO_DATA.scaling += Q_8_8(.065f); + else if (INTRO_DATA.scaling < Q_8_8(1.875f)) + INTRO_DATA.scaling += Q_8_8(.125f); - if ((INTRO_DATA.timer & 7) < 4) - src = sIntroShipFlyingTowardsCameraOAM_1; + if (MOD_AND(INTRO_DATA.timer, 8) < 4) + src = sIntroShipFlyingTowardsCameraOam_1; else - src = sIntroShipFlyingTowardsCameraOAM_2; + src = sIntroShipFlyingTowardsCameraOam_2; partCount = *src++; yPosition = INTRO_DATA.shipFlyingTowardsCameraY; @@ -424,8 +423,10 @@ void IntroShipFlyingTowardsCameraProcessOAM(void) { part = *src++; *dst++ = part; + part = *src++; *dst++ = part; + *dst++ = *src++; dst++; @@ -499,7 +500,7 @@ u8 IntroSamusInHerShip(void) break; case 2: - DMA_SET(3, sIntroSamusInHerShipPAL, PALRAM_BASE, DMA_ENABLE << 16 | sizeof(sIntroSamusInHerShipPAL) / 2); + DMA_SET(3, sIntroSamusInHerShipPAL, PALRAM_BASE, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroSamusInHerShipPAL))); break; case 3: @@ -514,15 +515,15 @@ u8 IntroSamusInHerShip(void) ended = TRUE; } - if ((INTRO_DATA.unk_A & 3) < 2) + if (MOD_AND(INTRO_DATA.unk_A, 4) < 2) { - gBG0XPosition = 0; - gBG0YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; } else { - gBG0XPosition--; - gBG0YPosition--; + gBg0XPosition--; + gBg0YPosition--; } INTRO_DATA.unk_A++; @@ -562,7 +563,7 @@ u8 IntroExterminate(void) if (INTRO_DATA.unk_42 == 0 && gLanguage != LANGUAGE_ENGLISH) INTRO_DATA.unk_42 = TextProcessStory(); - textResult = IntroProcessText(sIntroExterminateAllActions[INTRO_DATA.currentCharacter], 0x8); + textResult = IntroProcessText(sIntroExterminateAllActions[INTRO_DATA.currentCharacter], PIXEL_SIZE * 2); if (textResult == 2) { INTRO_DATA.stage++; @@ -604,7 +605,7 @@ void IntroViewOfZebesProcessOAM(void) dst = (u16*)gOamData; - if ((INTRO_DATA.unk_3d & 3) < 2) + if (MOD_AND(INTRO_DATA.unk_3d, 4) < 2) { yPosition = BLOCK_SIZE + HALF_BLOCK_SIZE - 1; xPosition = BLOCK_SIZE * 2; @@ -628,7 +629,7 @@ void IntroViewOfZebesProcessOAM(void) part = *src++; *dst++ = part; - gOamData[i].split.x = (part + xPosition) & 0x1FF; + gOamData[i].split.x = MOD_AND(part + xPosition, 512); *dst++ = *src++; dst++; @@ -654,7 +655,7 @@ void IntroViewOfZebesProcessOAM(void) part = *src++; *dst++ = part; - gOamData[i].split.x = (part + xPosition) & 0x1FF; + gOamData[i].split.x = MOD_AND(part + xPosition, 512); *dst++ = *src++; dst++; @@ -687,19 +688,19 @@ u8 IntroViewOfZebes(void) case 2: LZ77UncompVRAM(sIntroViewOfZebesTileTable, VRAM_BASE + 0x8000); - DMA_SET(3, sIntroViewOfZebesPAL, PALRAM_BASE, DMA_ENABLE << 16 | sizeof(sIntroViewOfZebesPAL) / 2); - DMA_SET(3, sIntroViewOfZebesPAL, PALRAM_OBJ, DMA_ENABLE << 16 | sizeof(sIntroViewOfZebesPAL) / 2); - gBG0XPosition = 0x10; + DMA_SET(3, sIntroViewOfZebesPAL, PALRAM_BASE, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroViewOfZebesPAL))); + DMA_SET(3, sIntroViewOfZebesPAL, PALRAM_OBJ, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroViewOfZebesPAL))); + gBg0XPosition = QUARTER_BLOCK_SIZE; break; case 3: - write16(REG_BLDALPHA, 7 << 8 | 9); + write16(REG_BLDALPHA, C_16_2_8(7, 9)); INTRO_DATA.dispcnt = DCNT_BG0 | DCNT_OBJ; INTRO_DATA.bldcnt = BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BG0_SECOND_TARGET_PIXEL | BLDCNT_OBJ_SECOND_TARGET_PIXEL; SoundPlay(0x229); break; - case 0x50: + case 80: INTRO_DATA.dispcnt = 0; INTRO_DATA.bldcnt = 0; SoundFade(0x229, 0); @@ -710,7 +711,7 @@ u8 IntroViewOfZebes(void) if (INTRO_DATA.unk_A++ > 4) { INTRO_DATA.unk_A = 0; - gBG0XPosition--; + gBg0XPosition--; } if (ended) @@ -755,7 +756,7 @@ u8 IntroDefeat(void) if (INTRO_DATA.unk_42 == 0 && gLanguage != LANGUAGE_ENGLISH) INTRO_DATA.unk_42 = TextProcessStory(); - textResult = IntroProcessText(sIntroDefeatTheActions[INTRO_DATA.currentCharacter], 0x20); + textResult = IntroProcessText(sIntroDefeatTheActions[INTRO_DATA.currentCharacter], HALF_BLOCK_SIZE); if (textResult == 2) { INTRO_DATA.stage++; @@ -802,12 +803,12 @@ u8 IntroMotherBrain(void) case 2: LZ77UncompVRAM(sIntroMotherBrainTileTable, VRAM_BASE + 0x8000); - gBG0XPosition = 0x0; - gBG0YPosition = 0x60; + gBg0XPosition = 0; + gBg0YPosition = 0x60; break; case 3: - DMA_SET(3, sIntroMotherBrainPAL, PALRAM_BASE, DMA_ENABLE << 16 | sizeof(sIntroMotherBrainPAL) / 2); + DMA_SET(3, sIntroMotherBrainPAL, PALRAM_BASE, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroMotherBrainPAL))); INTRO_DATA.dispcnt = DCNT_BG0; SoundPlay(0x22A); SoundPlay(0x39); @@ -824,8 +825,8 @@ u8 IntroMotherBrain(void) ended = TRUE; } - if (INTRO_DATA.timer > 0x28 && gBG0YPosition != 0) - gBG0YPosition--; + if (INTRO_DATA.timer > 40 && gBg0YPosition != 0) + gBg0YPosition--; if (ended) INTRO_DATA.timer = 0; @@ -862,7 +863,7 @@ void IntroFuzzProcessOAM(void) part = *src++; *dst++ = part; - gOamData[i].split.x = (part + offset) & 0x1FF; + gOamData[i].split.x = MOD_AND(part + offset, 512); *dst++ = *src++; dst++; @@ -880,11 +881,11 @@ u8 IntroFuzz(void) { switch (INTRO_DATA.timer++) { - case 0x20: + case 32: INTRO_DATA.dispcnt = 0; break; - case 0x60: + case 96: return TRUE; case 0: @@ -898,19 +899,19 @@ u8 IntroFuzz(void) switch (INTRO_DATA.unk_A & 7) { case 0: - DMA_SET(3, sIntroFuzzRandomValues_1, INTRO_DATA.fuzzPalette, DMA_ENABLE << 16 | ARRAY_SIZE(INTRO_DATA.fuzzPalette)); + DMA_SET(3, sIntroFuzzRandomValues_1, INTRO_DATA.fuzzPalette, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(INTRO_DATA.fuzzPalette))); break; case 2: - DMA_SET(3, sIntroFuzzRandomValues_2, INTRO_DATA.fuzzPalette, DMA_ENABLE << 16 | ARRAY_SIZE(INTRO_DATA.fuzzPalette)); + DMA_SET(3, sIntroFuzzRandomValues_2, INTRO_DATA.fuzzPalette, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(INTRO_DATA.fuzzPalette))); break; case 4: - DMA_SET(3, sTimeAttackPasswordCharacters, INTRO_DATA.fuzzPalette, DMA_ENABLE << 16 | ARRAY_SIZE(INTRO_DATA.fuzzPalette)); + DMA_SET(3, sTimeAttackPasswordCharacters, INTRO_DATA.fuzzPalette, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(INTRO_DATA.fuzzPalette))); break; case 6: - DMA_SET(3, sArray_45fd30[1], INTRO_DATA.fuzzPalette, DMA_ENABLE << 16 | ARRAY_SIZE(INTRO_DATA.fuzzPalette)); + DMA_SET(3, sArray_45fd30[1], INTRO_DATA.fuzzPalette, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(INTRO_DATA.fuzzPalette))); break; } @@ -963,7 +964,7 @@ u32 IntroSubroutine(void) gGameModeSub2 = 0; } - ResetFreeOAM(); + ResetFreeOam(); break; case 3: diff --git a/src/location_text.c b/src/location_text.c index 702761b8..9cf333bd 100644 --- a/src/location_text.c +++ b/src/location_text.c @@ -1,5 +1,6 @@ -#include "gba.h" #include "location_text.h" +#include "gba.h" +#include "macros.h" #include "data/sprites/area_banner.h" @@ -22,19 +23,21 @@ u8 LocationTextGetBrinstar(void) lt = LT_INVALID; switch (gCurrentRoom) { - case 0x0: // Spawn room - case 0x8: // Elevator to kraid room - case 0xB: // Elevator to tourian room - case 0x1A: // Elevator to norfair room + case 0: // Spawn room + case 8: // Elevator to kraid room + case 11: // Elevator to tourian room + case 26: // Elevator to norfair room // Useless cases, since the spriteset is checked before and those rooms have a spriteset that result in the save room text // Thus this function isn't even called - case 0x21: // Save room 1 - case 0x22: // Save room 2 + case 33: // Save room 1 + case 34: // Save room 2 lt = LT_BRINSTAR; break; - case 0x20: // Map room + + case 32: // Map room lt = LT_MAP_ROOM; } + return lt; } @@ -50,19 +53,22 @@ u8 LocationTextGetKraid(void) lt = LT_INVALID; switch (gCurrentRoom) { - case 0x0: // Main shaft/elevator to brinstar room + case 0: // Main shaft/elevator to brinstar room lt = LT_KRAID; break; - case 0x14: // Save room 1 - case 0x1F: // Save room 2 - case 0x20: // Save room 3 - case 0x24: // Save room 4 - case 0x27: // Save room 5 + + case 20: // Save room 1 + case 31: // Save room 2 + case 32: // Save room 3 + case 36: // Save room 4 + case 39: // Save room 5 lt = LT_SAVE_ROOM; break; - case 0x23: // Map room + + case 35: // Map room lt = LT_MAP_ROOM; } + return lt; } @@ -78,28 +84,29 @@ u8 LocationTextGetCrateria(void) lt = LT_INVALID; switch (gCurrentRoom) { - case 0x3: // Elevator to brinstar room - case 0x4: // Elevator to tourian (escape) room - case 0x6: // Elevator to norfair room - case 0xA: - case 0xB: - case 0xC: - case 0xD: - case 0x12: // Elevator to tourian room + case 3: // Elevator to brinstar room + case 4: // Elevator to tourian (escape) room + case 6: // Elevator to norfair room + case 10: + case 11: + case 12: + case 13: + case 18: // Elevator to tourian room lt = LT_CRATERIA; break; - case 0x8: // Chozo pillar (non extended) room - case 0x9: // Surface after water cavern room - case 0xF: // Surface after plasma beam room - case 0x10: // Chozo pillar (going to extend) room - case 0x11: // Chozo pillar (extended) room + case 8: // Chozo pillar (non extended) room + case 9: // Surface after water cavern room + case 15: // Surface after plasma beam room + case 16: // Chozo pillar (going to extend) room + case 17: // Chozo pillar (extended) room lt = LT_CHOZO_RUINS; break; - case 0x0: // Surface (with ship) room + case 0: // Surface (with ship) room lt = LT_PLANET_ZEBES; } + return lt; } @@ -115,22 +122,25 @@ u8 LocationTextGetNorfair(void) lt = LT_INVALID; switch (gCurrentRoom) { - case 0x24: // Save room 1 - case 0x27: // Save room 2 - case 0x29: // Save room 3 - case 0x2C: // Save room 4 - case 0x2D: // Save room 5 + case 36: // Save room 1 + case 39: // Save room 2 + case 41: // Save room 3 + case 44: // Save room 4 + case 45: // Save room 5 lt = LT_SAVE_ROOM; break; - case 0x0: // Elevator to brinstar room - case 0x2: // Elevator to crateria room - case 0x23: // Elevator to ridley room - case 0x2B: // Imago cocoon (with tunnel) room + + case 0: // Elevator to brinstar room + case 2: // Elevator to crateria room + case 35: // Elevator to ridley room + case 43: // Imago cocoon (with tunnel) room lt = LT_NORFAIR; break; - case 0x28: // Map room + + case 40: // Map room lt = LT_MAP_ROOM; } + return lt; } @@ -146,19 +156,22 @@ u8 LocationTextGetRidley(void) lt = LT_INVALID; switch (gCurrentRoom) { - case 0x1: // Save room 1 - case 0x14: // Save room 2 - case 0x18: // Save room 3 - case 0x19: // Save room 4 + case 1: // Save room 1 + case 20: // Save room 2 + case 24: // Save room 3 + case 25: // Save room 4 lt = LT_SAVE_ROOM; break; - case 0x15: // Map room + + case 21: // Map room lt = LT_MAP_ROOM; break; - case 0x0: // Elevator to norfair room - case 0x2: // Imago cocoon tunnel room + + case 0: // Elevator to norfair room + case 2: // Imago cocoon tunnel room lt = LT_RIDLEY; } + return lt; } @@ -174,23 +187,26 @@ u8 LocationTextGetChozodia(void) lt = LT_INVALID; switch (gCurrentRoom) { - case 0x0: // Suitless spawn room - case 0x22: // Crateria passage with missile tank room - case 0x44: // Crateria passage without missile tank room + case 0: // Suitless spawn room + case 34: // Crateria passage with missile tank room + case 68: // Crateria passage without missile tank room lt = LT_CHOZODIA; break; - case 0xA: // Entry of mothership from crash room - case 0x14: // Entry of mothership from glass tube room (no pirates) - case 0x32: // Entry of mothership from hidden passage room - case 0x4E: // Entry of mothership from shinespark puzzle room - case 0x5D: // Entry of mothership from glass tube room (with pirates) + + case 10: // Entry of mothership from crash room + case 20: // Entry of mothership from glass tube room (no pirates) + case 50: // Entry of mothership from hidden passage room + case 78: // Entry of mothership from shinespark puzzle room + case 93: // Entry of mothership from glass tube room (with pirates) lt = LT_MOTHERSHIP; break; - case 0x19: // Entry of chozo ruins from glass tube room (during suitless) - case 0x39: // Entry of chozo ruins from shinespark puzzle room - case 0x43: // Entry of chozo ruins from glass tube room (after suitless) + + case 25: // Entry of chozo ruins from glass tube room (during suitless) + case 57: // Entry of chozo ruins from shinespark puzzle room + case 67: // Entry of chozo ruins from glass tube room (after suitless) lt = LT_CHOZO_RUINS; } + return lt; } @@ -206,16 +222,18 @@ u8 LocationTextGetTourian(void) lt = LT_INVALID; switch (gCurrentRoom) { - case 0x6: // Save room 1 - case 0xB: // Save room 2 - case 0x14: // This room doesn't exists, very likely it's just a removed save room + case 6: // Save room 1 + case 11: // Save room 2 + case 20: // This room doesn't exists, very likely it's just a removed save room lt = LT_SAVE_ROOM; break; - case 0x0: // Elevator to brinstar room - case 0x5: // Elevator to crateria (escape) room - case 0x8: // Elevator to crateria (destroyed) room + + case 0: // Elevator to brinstar room + case 5: // Elevator to crateria (escape) room + case 8: // Elevator to crateria (destroyed) room lt = LT_TOURIAN; } + return lt; } @@ -232,7 +250,7 @@ u8 LocationTextLoadAreaBannerGfx(void) gfxSlot = 0x80; // Default // Loop through sprites to try and find if an area banner is in the spriteset - for (count = 0x0; count < 0xF; count++) + for (count = 0; count < 0xF; count++) { if (gSpritesetSpritesID[count] == PSPRITE_AREA_BANNER) { @@ -246,9 +264,9 @@ u8 LocationTextLoadAreaBannerGfx(void) if (gfxSlot > 0x7) { // Use 7 as default and load Gfx/PAL - gfxSlot = 0x7; - SpriteLoadGfx(PSPRITE_AREA_BANNER, 0x7); - SpriteLoadPAL(PSPRITE_AREA_BANNER, 0x7, 0x1); + gfxSlot = 7; + SpriteLoadGfx(PSPRITE_AREA_BANNER, 7); + SpriteLoadPAL(PSPRITE_AREA_BANNER, 7, 1); } return gfxSlot; @@ -266,18 +284,18 @@ u8 LocationTextGetGfxSlot(void) u8 lt; lt = LT_INVALID; - gfxSlot = 0xFF; + gfxSlot = UCHAR_MAX; switch (gSpriteset) { - case 0x21: // Normal save platform spriteset - case 0x3B: // Chozodia save platform spriteset - case 0x58: // Chozodia save platform with pirates spriteset + case 33: // Normal save platform spriteset + case 59: // Chozodia save platform spriteset + case 88: // Chozodia save platform with pirates spriteset lt = LT_SAVE_ROOM; break; - case 0x1B: // Map station spriteset - case 0x67: // Map station with pirates spriteset + case 27: // Map station spriteset + case 103: // Map station with pirates spriteset lt = LT_MAP_ROOM; } @@ -287,7 +305,7 @@ u8 LocationTextGetGfxSlot(void) gSpriteData[0].roomSlot = lt; gfxSlot = LocationTextLoadAreaBannerGfx(); // Draw location text - draw_location_text(lt, gfxSlot); + TextDrawLocationText(lt, gfxSlot); } else { @@ -330,14 +348,16 @@ u8 LocationTextGetGfxSlot(void) // If found gSpriteData[0].roomSlot = lt; gfxSlot = LocationTextLoadAreaBannerGfx(); + // Draw location text - draw_location_text(lt, gfxSlot); + TextDrawLocationText(lt, gfxSlot); + // Load different palette for some reason if (lt < LT_SAVE_ROOM) - DMA_SET(3, sAreaBannerLocationTextPAL, (PALRAM_BASE + 0x300) + (gfxSlot * 0x20), DMA_ENABLE << 16 | 0x10); + DMA_SET(3, sAreaBannerLocationTextPAL, (PALRAM_BASE + 0x300) + (gfxSlot * 0x20), C_32_2_16(DMA_ENABLE, 16)); } } } return gfxSlot; -} \ No newline at end of file +} diff --git a/src/menus/erase_sram.c b/src/menus/erase_sram.c index 6dead7cd..20ca90db 100644 --- a/src/menus/erase_sram.c +++ b/src/menus/erase_sram.c @@ -308,8 +308,7 @@ void EraseSramInit(void) CallbackSetVBlank(EraseSramVBlank_Empty); - write16(REG_BLDCNT, BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + write16(REG_BLDCNT, BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_BRIGHTNESS_INCREASE_EFFECT); write16(REG_BLDY, gWrittenToBLDY_NonGameplay = 16); @@ -319,7 +318,7 @@ void EraseSramInit(void) ClearGfxRam(); gNextOamSlot = 0; - ResetFreeOAM(); + ResetFreeOam(); ERASE_SRAM_DATA.language = gLanguage; if ((u8)(ERASE_SRAM_DATA.language - 2) > LANGUAGE_SPANISH - 2) @@ -450,6 +449,6 @@ void EraseSramProcessOAM(void) { gNextOamSlot = 0; process_menu_oam(ARRAY_SIZE(ERASE_SRAM_DATA.oam), ERASE_SRAM_DATA.oam, sEraseSramMenuOam); - ResetFreeOAM(); + ResetFreeOam(); } diff --git a/src/menus/file_select.c b/src/menus/file_select.c index 71db9c9e..1560e361 100644 --- a/src/menus/file_select.c +++ b/src/menus/file_select.c @@ -70,7 +70,7 @@ void FileSelectProcessOAM(void) process_menu_oam(ARRAY_SIZE(FILE_SELECT_DATA.optionsOam), FILE_SELECT_DATA.optionsOam, sOptionsOam); } - ResetFreeOAM(); + ResetFreeOam(); } /** @@ -3531,7 +3531,7 @@ void FileSelectInit(void) gNextOamSlot = 0; ClearGfxRam(); - ResetFreeOAM(); + ResetFreeOam(); gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; diff --git a/src/menus/game_over.c b/src/menus/game_over.c index 6a310c91..b8ae61fb 100644 --- a/src/menus/game_over.c +++ b/src/menus/game_over.c @@ -264,7 +264,7 @@ void GameOverInit(void) gNextOamSlot = 0; ClearGfxRam(); - ResetFreeOAM(); + ResetFreeOam(); gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; @@ -332,7 +332,7 @@ void GameOverInit_Unused(void) gNextOamSlot = 0; ClearGfxRam(); - ResetFreeOAM(); + ResetFreeOam(); gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; @@ -536,5 +536,5 @@ void GameOverProcessOAM(void) { gNextOamSlot = 0; ProcessComplexMenuOam(ARRAY_SIZE(GAME_OVER_DATA.oam), GAME_OVER_DATA.oam, sGameOverOam); - ResetFreeOAM(); + ResetFreeOam(); } diff --git a/src/menus/pause_screen.c b/src/menus/pause_screen.c index 21a7dcb6..d42e4de8 100644 --- a/src/menus/pause_screen.c +++ b/src/menus/pause_screen.c @@ -3391,7 +3391,7 @@ void CheckForMaintainedInput(void) { gUnk_3005804 = gChangedInput; - if (gButtonInput & MAINTAINED_INPUT_KEYS) + if (gButtonInput & KEY_ALL_DIRECTIONS) { // Pressing any concerned key gMaintainedInputData.delay++; @@ -3407,7 +3407,7 @@ void CheckForMaintainedInput(void) if (gMaintainedInputData.delay >= sMaintainedInputDelays[gMaintainedInputData.set]) { // Apply to changed input - gChangedInput |= gButtonInput & MAINTAINED_INPUT_KEYS; + gChangedInput |= gButtonInput & KEY_ALL_DIRECTIONS; // Reset delay gMaintainedInputData.delay = 0; diff --git a/src/menus/title_screen.c b/src/menus/title_screen.c index 4ac6dc9d..3d8a0e53 100644 --- a/src/menus/title_screen.c +++ b/src/menus/title_screen.c @@ -79,7 +79,7 @@ void TitleScreenCallProcessOAM(void) { gNextOamSlot = 0; process_menu_oam(ARRAY_SIZE(TITLE_SCREEN_DATA.oam), TITLE_SCREEN_DATA.oam, sTitleScreenOam); - ResetFreeOAM(); + ResetFreeOam(); } /** @@ -1093,8 +1093,7 @@ void TitleScreenInit(void) zero = 0; DMA_SET(3, &zero, &gNonGameplayRAM, (DMA_ENABLE | DMA_32BIT | DMA_SRC_FIXED) << 16 | sizeof(gNonGameplayRAM) / 4); - TITLE_SCREEN_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | - BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL | + TITLE_SCREEN_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; write16(REG_BLDCNT, TITLE_SCREEN_DATA.bldcnt); @@ -1106,7 +1105,7 @@ void TitleScreenInit(void) gNextOamSlot = 0; ClearGfxRam(); - ResetFreeOAM(); + ResetFreeOam(); gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; diff --git a/src/particle.c b/src/particle.c index 01e95334..d8b97cb9 100644 --- a/src/particle.c +++ b/src/particle.c @@ -39,12 +39,12 @@ void ParticleCheckOnScreen(struct ParticleEffect* pParticle) pParticle->status |= PARTICLE_STATUS_ONSCREEN; else { - bgBaseY = gBG1YPosition + BLOCK_SIZE * 8; + bgBaseY = gBg1YPosition + BLOCK_SIZE * 8; particleY = pParticle->yPosition + BLOCK_SIZE * 8; bgBottomBoundry = bgBaseY - BLOCK_SIZE * 2; bgTopBoundry = bgBaseY + BLOCK_SIZE * 12; - bgBaseX = gBG1XPosition + BLOCK_SIZE * 8; + bgBaseX = gBg1XPosition + BLOCK_SIZE * 8; particleX = pParticle->xPosition + BLOCK_SIZE * 8; bgLeftBoundry = bgBaseX - BLOCK_SIZE * 2; bgRightBoundry = bgBaseX + (BLOCK_SIZE * 17); @@ -103,8 +103,8 @@ void ParticleDraw(struct ParticleEffect* pParticle) } else { - yPosition = (pParticle->yPosition / 4) - gBG1YPosition / 4; - xPosition = (pParticle->xPosition / 4) - gBG1XPosition / 4; + yPosition = (pParticle->yPosition / 4) - gBg1YPosition / 4; + xPosition = (pParticle->xPosition / 4) - gBg1XPosition / 4; } if (pParticle->status & PARTICLE_STATUS_LOW_PRIORITY) diff --git a/src/power_bomb_explosion.c b/src/power_bomb_explosion.c index 69c3815c..1b4f285b 100644 --- a/src/power_bomb_explosion.c +++ b/src/power_bomb_explosion.c @@ -22,14 +22,14 @@ */ void PowerBombExplosionProcess(void) { - if (gCurrentPowerBomb.animationState > 0x1) + if (gCurrentPowerBomb.animationState > 1) { PowerBombExplosionSet0x12To0(); - if (gCurrentPowerBomb.unk_12 == 0x0) // Most likely a cancelled feature + if (gCurrentPowerBomb.unk_12 == 0) // Most likely a cancelled feature { - if (gCurrentPowerBomb.animationState == 0x2) + if (gCurrentPowerBomb.animationState == 2) PowerBombExplosionBegin(); - else if (gCurrentPowerBomb.animationState == 0x5) + else if (gCurrentPowerBomb.animationState == 5) PowerBombExplosionEnd(); else if (gGameModeSub1 == SUB_GAME_MODE_PLAYING) PowerBombExplosion(); @@ -51,15 +51,14 @@ void PowerBombExplosion(void) s32 hitboxRight; s32 xLoop; s32 yLoop; - u32 xPositionLeft; - u32 xPositionRight; - u32 yPositionTop; - u32 yPositionBottom; + s32 xPositionLeft; + s32 xPositionRight; + s32 yPositionTop; + s32 yPositionBottom; u16 clipdata; - s32 loopTemp; - verticalAxis = gCurrentPowerBomb.semiMinorAxis * 0x4; - horizontalAxis = gCurrentPowerBomb.semiMinorAxis * 0x8; + verticalAxis = gCurrentPowerBomb.semiMinorAxis * 4; + horizontalAxis = gCurrentPowerBomb.semiMinorAxis * 8; verticalAxis *= 0.95; horizontalAxis *= 0.95; @@ -69,59 +68,57 @@ void PowerBombExplosion(void) hitboxBottom = (s16)verticalAxis; horizontalAxis = hitboxLeft; - if ((s32)(gCurrentPowerBomb.xPosition + horizontalAxis) < 0x0) + if (gCurrentPowerBomb.xPosition + horizontalAxis < 0) hitboxLeft = (s16)-gCurrentPowerBomb.xPosition; verticalAxis = hitboxTop; - if ((s32)(gCurrentPowerBomb.yPosition + verticalAxis) < 0x0) + if (gCurrentPowerBomb.yPosition + verticalAxis < 0) hitboxTop = (s16)-gCurrentPowerBomb.yPosition; horizontalAxis = hitboxRight; - if ((s32)(gBgPointersAndDimensions.clipdataWidth * BLOCK_SIZE) < (gCurrentPowerBomb.xPosition + horizontalAxis)) - hitboxRight = (s16)((gBgPointersAndDimensions.clipdataWidth * BLOCK_SIZE) - gCurrentPowerBomb.xPosition); + if (gBgPointersAndDimensions.clipdataWidth * BLOCK_SIZE < (gCurrentPowerBomb.xPosition + horizontalAxis)) + hitboxRight = (s16)(gBgPointersAndDimensions.clipdataWidth * BLOCK_SIZE - gCurrentPowerBomb.xPosition); verticalAxis = hitboxBottom; - if ((s32)(gBgPointersAndDimensions.clipdataHeight * BLOCK_SIZE) < (gCurrentPowerBomb.yPosition + verticalAxis)) - hitboxBottom = (s16)((gBgPointersAndDimensions.clipdataHeight * BLOCK_SIZE) - gCurrentPowerBomb.yPosition); + if (gBgPointersAndDimensions.clipdataHeight * BLOCK_SIZE < (gCurrentPowerBomb.yPosition + verticalAxis)) + hitboxBottom = (s16)(gBgPointersAndDimensions.clipdataHeight * BLOCK_SIZE - gCurrentPowerBomb.yPosition); gCurrentPowerBomb.hitboxLeftOffset = hitboxLeft; gCurrentPowerBomb.hitboxRightOffset = hitboxRight; gCurrentPowerBomb.hitboxTopOffset = hitboxTop; gCurrentPowerBomb.hitboxBottomOffset = hitboxBottom; - if (gCurrentPowerBomb.animationState < 0x4) + if (gCurrentPowerBomb.animationState < 4) { - hitboxLeft = (hitboxLeft + gCurrentPowerBomb.xPosition) >> 0x6; - hitboxRight = (hitboxRight + gCurrentPowerBomb.xPosition) >> 0x6; - hitboxTop = (hitboxTop + gCurrentPowerBomb.yPosition) >> 0x6; - hitboxBottom = (hitboxBottom + gCurrentPowerBomb.yPosition) >> 0x6; + hitboxLeft = DIV_SHIFT(hitboxLeft + gCurrentPowerBomb.xPosition, BLOCK_SIZE); + hitboxRight = DIV_SHIFT(hitboxRight + gCurrentPowerBomb.xPosition, BLOCK_SIZE); + hitboxTop = DIV_SHIFT(hitboxTop + gCurrentPowerBomb.yPosition, BLOCK_SIZE); + hitboxBottom = DIV_SHIFT(hitboxBottom + gCurrentPowerBomb.yPosition, BLOCK_SIZE); - if (!(gFrameCounter8Bit & 0x1)) + if (MOD_AND(gFrameCounter8Bit, 2) == 0) { gCurrentClipdataAffectingAction = CAA_POWER_BOMB; - for (xLoop = 0x0; xLoop < 0x2;) + for (xLoop = 0; xLoop < 2; xLoop++) { - if (xLoop == 0x0) + if (xLoop == 0) horizontalAxis = hitboxLeft; else horizontalAxis = hitboxRight; yPositionTop = gCurrentPowerBomb.yPosition / BLOCK_SIZE; yPositionBottom = yPositionTop; - xLoop++; - loopTemp = xLoop; - for (yLoop = 0x0; yLoop != 0x2;) + for (yLoop = 0; yLoop != 2;) { - yLoop = 0x0; - if ((s32)yPositionTop >= hitboxTop) + yLoop = 0; + if (yPositionTop >= hitboxTop) { clipdata = gBgPointersAndDimensions.pClipDecomp[yPositionTop * gBgPointersAndDimensions.clipdataWidth + horizontalAxis]; - if (clipdata != 0x0) + if (clipdata != 0) BlockApplyCCAA(yPositionTop, horizontalAxis, clipdata); - yPositionTop = (s16)(yPositionTop - 0x1); + yPositionTop = (s16)(yPositionTop - 1); } else yLoop = 0x1; @@ -129,62 +126,55 @@ void PowerBombExplosion(void) if ((s32)yPositionBottom <= hitboxBottom) { clipdata = gBgPointersAndDimensions.pClipDecomp[yPositionBottom * gBgPointersAndDimensions.clipdataWidth + horizontalAxis]; - if (clipdata != 0x0) + if (clipdata != 0) BlockApplyCCAA(yPositionBottom, horizontalAxis, clipdata); - yPositionBottom = (s16)(yPositionBottom + 0x1); + yPositionBottom = (s16)(yPositionBottom + 1); } else yLoop++; } - - xLoop = loopTemp; } } else { gCurrentClipdataAffectingAction = CAA_POWER_BOMB; - - for (xLoop = 0x0; xLoop < 0x2;) + for (xLoop = 0; xLoop < 2; xLoop++) { - if (xLoop == 0x0) + if (xLoop == 0) verticalAxis = hitboxTop; else verticalAxis = hitboxBottom; xPositionRight = gCurrentPowerBomb.xPosition / BLOCK_SIZE; xPositionLeft = xPositionRight; - xLoop++; - loopTemp = xLoop; - for (yLoop = 0x0; yLoop != 0x2;) + for (yLoop = 0; yLoop != 2; ) { - yLoop = 0x0; - if ((s32)xPositionLeft >= hitboxLeft) + yLoop = 0; + if (xPositionLeft >= hitboxLeft) { clipdata = gBgPointersAndDimensions.pClipDecomp[verticalAxis * gBgPointersAndDimensions.clipdataWidth + xPositionLeft]; - if (clipdata != 0x0) + if (clipdata != 0) BlockApplyCCAA(verticalAxis, xPositionLeft, clipdata); - xPositionLeft = (s16)(xPositionLeft - 0x1); + xPositionLeft = (s16)(xPositionLeft - 1); } else yLoop++; - if ((s32)xPositionRight <= hitboxRight) + if (xPositionRight <= hitboxRight) { clipdata = gBgPointersAndDimensions.pClipDecomp[verticalAxis * gBgPointersAndDimensions.clipdataWidth + xPositionRight]; - if (clipdata != 0x0) + if (clipdata != 0) BlockApplyCCAA(verticalAxis, xPositionRight, clipdata); - xPositionRight = (s16)(xPositionRight + 0x1); + xPositionRight = (s16)(xPositionRight + 1); } else yLoop++; } - - xLoop = loopTemp; } } gCurrentClipdataAffectingAction = CAA_NONE; @@ -200,19 +190,20 @@ void PowerBombExplosion(void) */ void PowerBombExplosionStart(u16 xPosition, u16 yPosition, u8 owner) { - if (gGameModeSub1 == SUB_GAME_MODE_PLAYING) + if (gGameModeSub1 != SUB_GAME_MODE_PLAYING) + return; + + PowerBombExplosionSet0x12To0(); + if (gCurrentPowerBomb.animationState == 0) // Check if there isn't already an explosion { - PowerBombExplosionSet0x12To0(); - if (gCurrentPowerBomb.animationState == 0x0) // Check if there isn't already an explosion - { - gCurrentPowerBomb.xPosition = xPosition; - gCurrentPowerBomb.yPosition = yPosition; - gCurrentPowerBomb.owner = owner; - if (gCurrentPowerBomb.unk_12 != 0x0) - gCurrentPowerBomb.animationState = 0x2; - else - PowerBombExplosionBegin(); - } + gCurrentPowerBomb.xPosition = xPosition; + gCurrentPowerBomb.yPosition = yPosition; + gCurrentPowerBomb.owner = owner; + + if (gCurrentPowerBomb.unk_12 != 0) + gCurrentPowerBomb.animationState = 2; + else + PowerBombExplosionBegin(); } } @@ -222,7 +213,7 @@ void PowerBombExplosionStart(u16 xPosition, u16 yPosition, u8 owner) */ void PowerBombExplosionSet0x12To0(void) { - gCurrentPowerBomb.unk_12 = 0x0; + gCurrentPowerBomb.unk_12 = 0; } /** @@ -231,24 +222,31 @@ void PowerBombExplosionSet0x12To0(void) */ void PowerBombExplosionBegin(void) { - if (gGameModeSub1 == SUB_GAME_MODE_PLAYING) - { - gCurrentPowerBomb.animationState = 0x3; - gCurrentPowerBomb.powerBombPlaced = FALSE; - DMA_SET(3, PALRAM_BASE, EWRAM_BASE + (0x9000), DMA_ENABLE << 0x10 | 0x100); - unk_02035400 = 0x0; - HazeSetupCode(HAZE_VALUE_POWER_BOMB_EXPANDING); - gCurrentPowerBomb.stage = 0x0; - gCurrentPowerBomb.semiMinorAxis = 0x4; - gCurrentPowerBomb.hitboxLeftOffset = 0x0; - gCurrentPowerBomb.hitboxRightOffset = 0x0; - gCurrentPowerBomb.hitboxTopOffset = 0x0; - gCurrentPowerBomb.hitboxBottomOffset = 0x0; - gCurrentPowerBomb.unk_12 = 0x0; - gCurrentPowerBomb.unk_3 = 0x0; - ScreenShakeStartHorizontal(0x78, 0x80); - SoundPlay(0x101); // Power bomb explosion - } + if (gGameModeSub1 != SUB_GAME_MODE_PLAYING) + return; + + gCurrentPowerBomb.animationState = 3; + gCurrentPowerBomb.powerBombPlaced = FALSE; + + DMA_SET(3, PALRAM_BASE, EWRAM_BASE + 0x9000, C_32_2_16(DMA_ENABLE, PALRAM_SIZE / 4)); + unk_02035400 = 0; + + HazeSetupCode(HAZE_VALUE_POWER_BOMB_EXPANDING); + + gCurrentPowerBomb.stage = 0; + gCurrentPowerBomb.semiMinorAxis = 0x4; + + gCurrentPowerBomb.hitboxLeftOffset = 0; + gCurrentPowerBomb.hitboxRightOffset = 0; + gCurrentPowerBomb.hitboxTopOffset = 0; + gCurrentPowerBomb.hitboxBottomOffset = 0; + + gCurrentPowerBomb.unk_12 = 0; + gCurrentPowerBomb.unk_3 = 0; + + ScreenShakeStartHorizontal(120, 0x80); + + SoundPlay(0x101); // Power bomb explosion } /** @@ -260,7 +258,6 @@ void PowerBombExplosionEnd(void) u8 eva; u8 evb; u8 done; - u16* pDispcnt; if (gCurrentPowerBomb.stage == 0) { @@ -268,16 +265,14 @@ void PowerBombExplosionEnd(void) gWrittenToBLDCNT = gIoRegistersBackup.BLDCNT_NonGameplay; if (sHazeData[gCurrentRoomEntry.visualEffect][3] == 2) - gWrittenToBLDALPHA = 0x10; + gWrittenToBLDALPHA = C_16_2_8(0, 16); else - gWrittenToBLDALPHA = 0x1000; + gWrittenToBLDALPHA = C_16_2_8(16, 0); - pDispcnt = &gWrittenToDISPCNT; - write16(REG_DISPCNT, read16(REG_DISPCNT) | DCNT_WIN1); - write16(pDispcnt, read16(REG_DISPCNT)); + gWrittenToDISPCNT = write16(REG_DISPCNT, read16(REG_DISPCNT) | DCNT_WIN1); - gWrittenToWIN1H = gSuitFlashEffect.left << 8 | gSuitFlashEffect.right; - gWrittenToWIN1V = gSuitFlashEffect.top << 8 | gSuitFlashEffect.bottom; + gWrittenToWIN1H = C_16_2_8(gSuitFlashEffect.left, gSuitFlashEffect.right); + gWrittenToWIN1V = C_16_2_8(gSuitFlashEffect.top, gSuitFlashEffect.bottom); // Set transparent color write16(PALRAM_BASE, 0); @@ -297,8 +292,8 @@ void PowerBombExplosionEnd(void) else if (gCurrentPowerBomb.stage == 1) { // Fade BLDALPHA until it was the same as before the power bomb - eva = read16(REG_BLDALPHA); - evb = read16(REG_BLDALPHA) >> 8; + eva = LOW_BYTE(read16(REG_BLDALPHA)); + evb = HIGH_BYTE(read16(REG_BLDALPHA)); done = TRUE; if (gIoRegistersBackup.BLDALPHA_NonGameplay_EVB != evb) @@ -307,6 +302,7 @@ void PowerBombExplosionEnd(void) evb--; else evb++; + done = FALSE; } @@ -316,10 +312,12 @@ void PowerBombExplosionEnd(void) eva--; else eva++; + done = FALSE; } - gWrittenToBLDALPHA = evb << 8 | eva; + gWrittenToBLDALPHA = C_16_2_8(evb, eva); + if (done) gCurrentPowerBomb.stage = 2; } diff --git a/src/projectile.c b/src/projectile.c index dac625d7..0b3e4731 100644 --- a/src/projectile.c +++ b/src/projectile.c @@ -550,8 +550,8 @@ void ProjectileDraw(struct ProjectileData* pProj) { dst = (u16*)(gOamData + prevSlot); - yPosition = (pProj->yPosition >> 2) - gBG1YPosition / 4; - xPosition = (pProj->xPosition >> 2) - gBG1XPosition / 4; + yPosition = (pProj->yPosition >> 2) - gBg1YPosition / 4; + xPosition = (pProj->xPosition >> 2) - gBg1XPosition / 4; xFlip = pProj->status & PROJ_STATUS_XFLIP; yFlip = pProj->status & PROJ_STATUS_YFLIP; @@ -631,8 +631,8 @@ void ProjectileCheckDespawn(struct ProjectileData* pProj) if (!(pProj->status & PROJ_STATUS_EXISTS)) return; - bgY = gBG1YPosition; - bgX = gBG1XPosition; + bgY = gBg1YPosition; + bgX = gBg1XPosition; yPosition = pProj->yPosition; xPosition = pProj->xPosition; diff --git a/src/room.c b/src/room.c index 5deecfb6..e24f63d5 100644 --- a/src/room.c +++ b/src/room.c @@ -106,8 +106,8 @@ void RoomLoad(void) if (gPauseScreenFlag == PAUSE_SCREEN_NONE && !gIsLoadingFile) { ScrollProcessGeneral(); - gBG1YPosition = gCamera.yPosition; - gBG1XPosition = gCamera.xPosition; + gBg1YPosition = gCamera.yPosition; + gBg1XPosition = gCamera.xPosition; ScrollBG3Related(); ScrollProcessGeneral(); } @@ -537,10 +537,10 @@ void RoomReset(void) if (gSamusData.standingStatus == STANDING_ENEMY) gSamusData.standingStatus = STANDING_MIDAIR; - gBG1XPosition = 0; - gBG1YPosition = 0; - gBG0XPosition = 0; - gBG0YPosition = 0; + gBg1XPosition = 0; + gBg1YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; } /** @@ -598,20 +598,20 @@ void RoomSetInitialTilemap(u8 bgNumber) if (bgNumber == 0) { properties = gCurrentRoomEntry.BG0Prop; - yPosition = gBG0YPosition / BLOCK_SIZE; - xPosition = gBG0XPosition / BLOCK_SIZE; + yPosition = gBg0YPosition / BLOCK_SIZE; + xPosition = gBg0XPosition / BLOCK_SIZE; } else if (bgNumber == 1) { properties = gCurrentRoomEntry.BG1Prop; - yPosition = gBG1YPosition / BLOCK_SIZE; - xPosition = gBG1XPosition / BLOCK_SIZE; + yPosition = gBg1YPosition / BLOCK_SIZE; + xPosition = gBg1XPosition / BLOCK_SIZE; } else { properties = gCurrentRoomEntry.BG2Prop; - yPosition = gBG2YPosition / BLOCK_SIZE; - xPosition = gBG2XPosition / BLOCK_SIZE; + yPosition = gBg2YPosition / BLOCK_SIZE; + xPosition = gBg2XPosition / BLOCK_SIZE; } if (properties & BG_PROP_RLE_COMPRESSED) @@ -1000,28 +1000,28 @@ void RoomUpdateBackgroundsPosition(void) yOffset = ScreenShakeUpdateVertical(); xOffset = ScreenShakeUpdateHorizontal(); - xPosition = gBG1XPosition >> 0x2 & 0x1FF; - yPosition = gBG1YPosition >> 0x2 & 0x1FF; + xPosition = gBg1XPosition >> 0x2 & 0x1FF; + yPosition = gBg1YPosition >> 0x2 & 0x1FF; gBackgroundPositions.bg[1].x = xPosition + xOffset; gBackgroundPositions.bg[1].y = yPosition + yOffset; - xPosition = gBG2XPosition >> 0x2 & 0x1FF; + xPosition = gBg2XPosition >> 0x2 & 0x1FF; gBackgroundPositions.bg[2].x = xPosition + xOffset; - yPosition = gBG2YPosition >> 0x2 & 0x1FF; + yPosition = gBg2YPosition >> 0x2 & 0x1FF; gBackgroundPositions.bg[2].y = yPosition + yOffset; if (gScreenShakeRelated & 0x100) { - gBackgroundPositions.bg[0].x = (gBG0XPosition >> 0x2) + gBG0Movement.yOffset & 0x1FF; - gBackgroundPositions.bg[0].y = (gBG0YPosition >> 0x2) + gBG0Movement.snowflakesRelated & 0x1FF; + gBackgroundPositions.bg[0].x = (gBg0XPosition >> 0x2) + gBG0Movement.yOffset & 0x1FF; + gBackgroundPositions.bg[0].y = (gBg0YPosition >> 0x2) + gBG0Movement.snowflakesRelated & 0x1FF; } else { - gBackgroundPositions.bg[0].x = ((gBG0XPosition >> 0x2) + gBG0Movement.yOffset & 0x1FF) + xOffset; - gBackgroundPositions.bg[0].y = ((gBG0YPosition >> 0x2) + gBG0Movement.snowflakesRelated & 0x1FF) + xOffset; + gBackgroundPositions.bg[0].x = ((gBg0XPosition >> 0x2) + gBG0Movement.yOffset & 0x1FF) + xOffset; + gBackgroundPositions.bg[0].y = ((gBg0YPosition >> 0x2) + gBG0Movement.snowflakesRelated & 0x1FF) + xOffset; } - bg3X = (gBG3XPosition >> 0x2) + gBG3Movement.xOffset & 0x1FF; - bbg3Y = gBG3YPosition >> 0x2 & 0x1FF; + bg3X = (gBg3XPosition >> 0x2) + gBG3Movement.xOffset & 0x1FF; + bbg3Y = gBg3YPosition >> 0x2 & 0x1FF; if (gScreenShakeRelated & 0x800) { @@ -1059,20 +1059,20 @@ void RoomUpdateVerticalTilemap(s32 offset) if (i == 0) { properties = gCurrentRoomEntry.BG0Prop; - yPosition = gBG0YPosition / BLOCK_SIZE; - xPosition = gBG0XPosition / BLOCK_SIZE; + yPosition = gBg0YPosition / BLOCK_SIZE; + xPosition = gBg0XPosition / BLOCK_SIZE; } else if (i == 1) { properties = gCurrentRoomEntry.BG1Prop; - yPosition = gBG1YPosition / BLOCK_SIZE; - xPosition = gBG1XPosition / BLOCK_SIZE; + yPosition = gBg1YPosition / BLOCK_SIZE; + xPosition = gBg1XPosition / BLOCK_SIZE; } else { properties = gCurrentRoomEntry.BG2Prop; - yPosition = gBG2YPosition / BLOCK_SIZE; - xPosition = gBG2XPosition / BLOCK_SIZE; + yPosition = gBg2YPosition / BLOCK_SIZE; + xPosition = gBg2XPosition / BLOCK_SIZE; } if (!(properties & BG_PROP_RLE_COMPRESSED)) @@ -1140,20 +1140,20 @@ void RoomUpdateHorizontalTilemap(s32 offset) if (i == 0) { properties = gCurrentRoomEntry.BG0Prop; - yPosition = gBG0YPosition / BLOCK_SIZE; - xPosition = gBG0XPosition / BLOCK_SIZE; + yPosition = gBg0YPosition / BLOCK_SIZE; + xPosition = gBg0XPosition / BLOCK_SIZE; } else if (i == 1) { properties = gCurrentRoomEntry.BG1Prop; - yPosition = gBG1YPosition / BLOCK_SIZE; - xPosition = gBG1XPosition / BLOCK_SIZE; + yPosition = gBg1YPosition / BLOCK_SIZE; + xPosition = gBg1XPosition / BLOCK_SIZE; } else { properties = gCurrentRoomEntry.BG2Prop; - yPosition = gBG2YPosition / BLOCK_SIZE; - xPosition = gBG2XPosition / BLOCK_SIZE; + yPosition = gBg2YPosition / BLOCK_SIZE; + xPosition = gBg2XPosition / BLOCK_SIZE; } if (!(properties & BG_PROP_RLE_COMPRESSED)) diff --git a/src/room_cutscene.c b/src/room_cutscene.c index 7b9fac2a..b9420fdb 100644 --- a/src/room_cutscene.c +++ b/src/room_cutscene.c @@ -11,12 +11,12 @@ void LoadRoomCutscene(u8 area, u8 room, u16 bgX, u16 bgY) { - gBG0XPosition = bgX; - gBG0YPosition = bgY; - gBG1XPosition = bgX; - gBG1YPosition = bgY; - gBG2XPosition = bgX; - gBG2YPosition = bgY; + gBg0XPosition = bgX; + gBg0YPosition = bgY; + gBg1XPosition = bgX; + gBg1YPosition = bgY; + gBg2XPosition = bgX; + gBg2YPosition = bgY; gCurrentArea = area; gCurrentRoom = room - 1; diff --git a/src/samus.c b/src/samus.c index ca342ec2..036c9a58 100644 --- a/src/samus.c +++ b/src/samus.c @@ -1832,10 +1832,10 @@ void SamusChangeToHurtPose(struct SamusData* pData, struct SamusData* pCopy, str gDisableScrolling = 0x1; gMonochromeBgFading = 0x1; pData->pose = SPOSE_DYING; - new_x_velo = ((gBG1XPosition + 0x1E0) - pData->xPosition); + new_x_velo = ((gBg1XPosition + 0x1E0) - pData->xPosition); new_x_velo >>= 0x1; pData->xVelocity = new_x_velo; - new_y_velo = ((gBG1YPosition + 0x190) - pData->yPosition); + new_y_velo = ((gBg1YPosition + 0x190) - pData->yPosition); new_y_velo >>= 0x4; pData->yVelocity = new_y_velo; gGameModeSub1 = 0x5; @@ -3700,7 +3700,7 @@ u8 SamusSkidding(struct SamusData* pData) return SPOSE_RUNNING; else { - if ((gButtonInput & (KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN)) == KEY_DOWN) + if ((gButtonInput & KEY_ALL_DIRECTIONS) == KEY_DOWN) { pData->shinesparkTimer = 0xB4; gScrewSpeedAnimation.flag = 0x8; @@ -4178,7 +4178,7 @@ u8 SamusMorphball(struct SamusData* pData) if (pData->timer != 0) { pData->timer--; - if ((gButtonInput & (KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN)) == KEY_DOWN) + if ((gButtonInput & KEY_ALL_DIRECTIONS) == KEY_DOWN) { pData->shinesparkTimer = 0xB4; pData->timer = 0; @@ -5166,8 +5166,8 @@ u8 SamusDying(struct SamusData* pData) if (pData->xVelocity != 0 || pData->yVelocity != 0) { - bgX = gBG1XPosition + BLOCK_SIZE * 7 + HALF_BLOCK_SIZE; - bgY = gBG1YPosition + BLOCK_SIZE * 6 + QUARTER_BLOCK_SIZE; + bgX = gBg1XPosition + BLOCK_SIZE * 7 + HALF_BLOCK_SIZE; + bgY = gBg1YPosition + BLOCK_SIZE * 6 + QUARTER_BLOCK_SIZE; if (pData->xVelocity > 0) { @@ -6813,8 +6813,8 @@ void SamusDraw(void) part1 = *src++; nextSlot += part1 & 0xFF; - xPosition = (s16)(gSamusEnvironmentalEffects[j].xPosition / 4 - gBG1XPosition / 4); - yPosition = (s16)(gSamusEnvironmentalEffects[j].yPosition / 4 - gBG1YPosition / 4 + 2); + xPosition = (s16)(gSamusEnvironmentalEffects[j].xPosition / 4 - gBg1XPosition / 4); + yPosition = (s16)(gSamusEnvironmentalEffects[j].yPosition / 4 - gBg1YPosition / 4 + 2); for (; currSlot < nextSlot; currSlot++) { @@ -6836,8 +6836,8 @@ void SamusDraw(void) } } - xPosition = (s16)(gSamusData.xPosition / 4 - gBG1XPosition / 4); - yPosition = (s16)(gSamusData.yPosition / 4 - gBG1YPosition / 4 + 2); + xPosition = (s16)(gSamusData.xPosition / 4 - gBg1XPosition / 4); + yPosition = (s16)(gSamusData.yPosition / 4 - gBg1YPosition / 4 + 2); if (gSamusPhysics.unk_36 & 0x20) { @@ -6994,8 +6994,8 @@ void SamusDraw(void) ppc &= ARRAY_SIZE(gSamusEcho.previous64XPositions) - 1; - xPosition = (s16)(gSamusEcho.previous64XPositions[ppc] / 4 - gBG1XPosition / 4); - yPosition = (s16)(gSamusEcho.previous64YPositions[ppc] / 4 - gBG1YPosition / 4 + 2); + xPosition = (s16)(gSamusEcho.previous64XPositions[ppc] / 4 - gBg1XPosition / 4); + yPosition = (s16)(gSamusEcho.previous64YPositions[ppc] / 4 - gBg1YPosition / 4 + 2); for (; currSlot < nextSlot; currSlot++) { diff --git a/src/save_file.c b/src/save_file.c index 042103b0..c7f92a8f 100644 --- a/src/save_file.c +++ b/src/save_file.c @@ -689,14 +689,14 @@ void SramWrite_ToEwram(void) pFile->mapY = gMinimapY; pFile->camera = gCamera; - pFile->bg0XPosition = gBG0XPosition; - pFile->bg0YPosition = gBG0YPosition; - pFile->bg1XPosition = gBG1XPosition; - pFile->bg1YPosition = gBG1YPosition; - pFile->bg2XPosition = gBG2XPosition; - pFile->bg2YPosition = gBG2YPosition; - pFile->bg3XPosition = gBG3XPosition; - pFile->bg3YPosition = gBG3YPosition; + pFile->bg0XPosition = gBg0XPosition; + pFile->bg0YPosition = gBg0YPosition; + pFile->bg1XPosition = gBg1XPosition; + pFile->bg1YPosition = gBg1YPosition; + pFile->bg2XPosition = gBg2XPosition; + pFile->bg2YPosition = gBg2YPosition; + pFile->bg3XPosition = gBg3XPosition; + pFile->bg3YPosition = gBg3YPosition; pFile->difficulty = gDifficulty; pFile->useMotherShipDoor = gUseMotherShipDoors; @@ -778,14 +778,14 @@ void SramRead_FromEwram(void) gMinimapY = pFile->mapY; gCamera = pFile->camera; - gBG0XPosition = pFile->bg0XPosition; - gBG0YPosition = pFile->bg0YPosition; - gBG1XPosition = pFile->bg1XPosition; - gBG1YPosition = pFile->bg1YPosition; - gBG2XPosition = pFile->bg2XPosition; - gBG2YPosition = pFile->bg2YPosition; - gBG3XPosition = pFile->bg3XPosition; - gBG3YPosition = pFile->bg3YPosition; + gBg0XPosition = pFile->bg0XPosition; + gBg0YPosition = pFile->bg0YPosition; + gBg1XPosition = pFile->bg1XPosition; + gBg1YPosition = pFile->bg1YPosition; + gBg2XPosition = pFile->bg2XPosition; + gBg2YPosition = pFile->bg2YPosition; + gBg3XPosition = pFile->bg3XPosition; + gBg3YPosition = pFile->bg3YPosition; gDifficulty = pFile->difficulty; gUseMotherShipDoors = pFile->useMotherShipDoor; diff --git a/src/scroll.c b/src/scroll.c index ea110fd1..84ce8c36 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -66,9 +66,9 @@ void ScrollScreen(u16 screenX, u16 screenY) if (gGameModeSub1 == 0) return; - if (screenY != gBG1YPosition) + if (screenY != gBg1YPosition) { - velocity = screenY - gBG1YPosition; + velocity = screenY - gBg1YPosition; if (velocity > 0) { @@ -82,14 +82,14 @@ void ScrollScreen(u16 screenX, u16 screenY) } gCamera.yVelocity = velocity; - gBG1YPosition += velocity; + gBg1YPosition += velocity; } else gCamera.yVelocity = 0; - if (screenX != gBG1XPosition) + if (screenX != gBg1XPosition) { - velocity = screenX - gBG1XPosition; + velocity = screenX - gBg1XPosition; if (velocity > 0) { @@ -103,7 +103,7 @@ void ScrollScreen(u16 screenX, u16 screenY) } gCamera.xVelocity = velocity; - gBG1XPosition += velocity; + gBg1XPosition += velocity; } else gCamera.xVelocity = 0; @@ -465,7 +465,7 @@ void ScrollWithNoScrollsY(struct RawCoordsX* pCoords) gCamera.yPosition = yOffset; - yOffset -= gBG1YPosition; + yOffset -= gBg1YPosition; if (yOffset > 0) { if (gUnk_3005714.unk6 < yOffset) @@ -478,7 +478,7 @@ void ScrollWithNoScrollsY(struct RawCoordsX* pCoords) } gCamera.yVelocity = yOffset; - gBG1YPosition += yOffset; + gBg1YPosition += yOffset; } /** @@ -523,7 +523,7 @@ void ScrollWithNoScrollsX(struct RawCoordsX* pCoords) gCamera.xPosition = xOffset; - xOffset -= gBG1XPosition; + xOffset -= gBg1XPosition; if (xOffset > 0) { if (gUnk_3005714.unk2 < xOffset) @@ -536,7 +536,7 @@ void ScrollWithNoScrollsX(struct RawCoordsX* pCoords) } gCamera.xVelocity = xOffset; - gBG1XPosition += xOffset; + gBg1XPosition += xOffset; } /** @@ -556,8 +556,8 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords) { if (gCurrentRoomEntry.BG0Prop == 0x11) { - gBG0XPosition = gBG1XPosition / 2; - gBG0YPosition = gBG1YPosition; + gBg0XPosition = gBg1XPosition / 2; + gBg0YPosition = gBg1YPosition; var_0 = TRUE; } @@ -566,8 +566,8 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords) { if (gCurrentRoomEntry.effectY != USHORT_MAX) { - gBG0XPosition = gBG1XPosition; - position = (gCurrentRoomEntry.effectY + gEffectYPositionOffset - gBG1YPosition) >> 2; + gBg0XPosition = gBg1XPosition; + position = (gCurrentRoomEntry.effectY + gEffectYPositionOffset - gBg1YPosition) >> 2; if (gWaterMovement.moving == TRUE) { @@ -612,7 +612,7 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords) if (position > BLOCK_SIZE * 4) position = BLOCK_SIZE * 4; - gBG0YPosition = -position * 4; + gBg0YPosition = -position * 4; var_0 = TRUE; } else @@ -621,33 +621,33 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords) switch (gCurrentRoomEntry.BG0Prop) { case BG_PROP_CLOSE_UP: - gBG0XPosition = 0; - gBG0YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; break; case 0x43: case BG_PROP_DARK_ROOM: - gBG0XPosition = gBG1XPosition - pCoords->x; - gBG0YPosition = gBG1YPosition - pCoords->y + BLOCK_SIZE; + gBg0XPosition = gBg1XPosition - pCoords->x; + gBg0YPosition = gBg1YPosition - pCoords->y + BLOCK_SIZE; break; case 0x44: position = FALSE; - gBG0XPosition = (gBG1XPosition - gWaitingSpacePiratesPosition.x) + BLOCK_SIZE * 32; - gBG0YPosition = (gBG1YPosition - gWaitingSpacePiratesPosition.y) + BLOCK_SIZE * 17; + gBg0XPosition = (gBg1XPosition - gWaitingSpacePiratesPosition.x) + BLOCK_SIZE * 32; + gBg0YPosition = (gBg1YPosition - gWaitingSpacePiratesPosition.y) + BLOCK_SIZE * 17; - temp = (gBG1XPosition - gWaitingSpacePiratesPosition.x) + BLOCK_SIZE * 20; + temp = (gBg1XPosition - gWaitingSpacePiratesPosition.x) + BLOCK_SIZE * 20; if (temp > BLOCK_SIZE * 24) position = TRUE; - temp = (gBG1YPosition - gWaitingSpacePiratesPosition.y) + BLOCK_SIZE * 13; + temp = (gBg1YPosition - gWaitingSpacePiratesPosition.y) + BLOCK_SIZE * 13; if (temp > BLOCK_SIZE * 12) position = TRUE; if (position) { - gBG0XPosition = BLOCK_SIZE * 8; + gBg0XPosition = BLOCK_SIZE * 8; } break; @@ -659,8 +659,8 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords) if (!var_0) { - gBG0YPosition = gBG1YPosition; - gBG0XPosition = gBG1XPosition; + gBg0YPosition = gBg1YPosition; + gBg0XPosition = gBg1XPosition; } if (gCurrentRoomEntry.effectY == USHORT_MAX) @@ -789,11 +789,11 @@ void ScrollBG3(void) if (xScrolling != 0) { if (xScrolling == 1) - gBG3XPosition = gBG1XPosition - BLOCK_SIZE * 2; + gBg3XPosition = gBg1XPosition - BLOCK_SIZE * 2; else if (xScrolling == 2) - gBG3XPosition = (gBG1XPosition - BLOCK_SIZE * 2) >> 1; + gBg3XPosition = (gBg1XPosition - BLOCK_SIZE * 2) >> 1; else if (xScrolling == 3) - gBG3XPosition = (gBG1XPosition - BLOCK_SIZE * 2) >> 2; + gBg3XPosition = (gBg1XPosition - BLOCK_SIZE * 2) >> 2; } if (gCurrentRoomEntry.BG3FromBottomFlag) @@ -813,25 +813,25 @@ void ScrollBG3(void) size = 0; } else if (yScrolling == 1) - size -= gBG1YPosition; + size -= gBg1YPosition; else - size = (size - gBG1YPosition) >> 2; + size = (size - gBg1YPosition) >> 2; if (offset - size > 0) - gBG3YPosition = offset - size; + gBg3YPosition = offset - size; else - gBG3YPosition = 0; + gBg3YPosition = 0; } else { if (yScrolling == 0) - gBG3YPosition = 0; + gBg3YPosition = 0; else if (yScrolling == 1) - gBG3YPosition = gBG1YPosition - BLOCK_SIZE * 2; + gBg3YPosition = gBg1YPosition - BLOCK_SIZE * 2; else if (yScrolling == 2) - gBG3YPosition = (gBG1YPosition - BLOCK_SIZE * 2) >> 1; + gBg3YPosition = (gBg1YPosition - BLOCK_SIZE * 2) >> 1; else - gBG3YPosition = (gBG1YPosition - BLOCK_SIZE * 2) >> 2; + gBg3YPosition = (gBg1YPosition - BLOCK_SIZE * 2) >> 2; } } @@ -846,11 +846,11 @@ void ScrollBG3Related(void) xScroll = ScrollGetBG3Scroll(); xScroll &= 0xFF; if (xScroll == 0x0) - gBG3XPosition = 0x0; + gBg3XPosition = 0x0; else if (xScroll == 0x2) - gBG3XPosition = (gBG1XPosition - 0x80) >> 0x1; + gBg3XPosition = (gBg1XPosition - 0x80) >> 0x1; else if (xScroll == 0x3) - gBG3XPosition = (gBG1XPosition - 0x80) >> 0x2; + gBg3XPosition = (gBg1XPosition - 0x80) >> 0x2; } /** @@ -887,7 +887,7 @@ void ScrollBG2(struct RawCoordsX* pCoords) { if (gCurrentRoomEntry.BG2Prop == BG_PROP_MOVING) { - position = gBG1XPosition + gBG2Movement.xOffset; + position = gBg1XPosition + gBG2Movement.xOffset; if (position < 0) position = 0; else @@ -897,9 +897,9 @@ void ScrollBG2(struct RawCoordsX* pCoords) position = size; } - gBG2XPosition = position; + gBg2XPosition = position; - position = gBG1YPosition + gBG2Movement.yOffset; + position = gBg1YPosition + gBG2Movement.yOffset; if (position < 0) position = 0; else @@ -909,18 +909,18 @@ void ScrollBG2(struct RawCoordsX* pCoords) position = size; } - gBG2YPosition = position; + gBg2YPosition = position; return; } } - gBG2XPosition = gBG1XPosition; - gBG2YPosition = gBG1YPosition; + gBg2XPosition = gBg1XPosition; + gBg2YPosition = gBg1YPosition; } else { - gBG2XPosition = 0; - gBG2YPosition = 0; + gBg2XPosition = 0; + gBg2YPosition = 0; } } @@ -933,27 +933,27 @@ void ScrollMaybeScrollBG1Related(struct RawCoordsX* pCoords) { if (pCoords->x < BLOCK_SIZE * 7 + HALF_BLOCK_SIZE) { - gBG1XPosition = 0; + gBg1XPosition = 0; } else if (pCoords->x > gBgPointersAndDimensions.backgrounds[1].width * BLOCK_SIZE - (BLOCK_SIZE * 7 + HALF_BLOCK_SIZE)) { - gBG1XPosition = gBgPointersAndDimensions.backgrounds[1].width * BLOCK_SIZE - ((BLOCK_SIZE * 7 + HALF_BLOCK_SIZE) * 2); + gBg1XPosition = gBgPointersAndDimensions.backgrounds[1].width * BLOCK_SIZE - ((BLOCK_SIZE * 7 + HALF_BLOCK_SIZE) * 2); } else { - gBG1XPosition = pCoords->x - (BLOCK_SIZE * 7 + HALF_BLOCK_SIZE); + gBg1XPosition = pCoords->x - (BLOCK_SIZE * 7 + HALF_BLOCK_SIZE); } if (pCoords->y < BLOCK_SIZE * 6) { - gBG1YPosition = 0; + gBg1YPosition = 0; } else if (pCoords->y > gBgPointersAndDimensions.backgrounds[1].height * BLOCK_SIZE - (BLOCK_SIZE * 3)) { - gBG1YPosition = gBgPointersAndDimensions.backgrounds[1].height * BLOCK_SIZE - (BLOCK_SIZE * 9); + gBg1YPosition = gBgPointersAndDimensions.backgrounds[1].height * BLOCK_SIZE - (BLOCK_SIZE * 9); } else { - gBG1YPosition = pCoords->y - (BLOCK_SIZE * 6); + gBg1YPosition = pCoords->y - (BLOCK_SIZE * 6); } } diff --git a/src/softreset.c b/src/softreset.c index cc2b8dcd..72afd258 100644 --- a/src/softreset.c +++ b/src/softreset.c @@ -65,7 +65,7 @@ void SoftresetInit(void) gNextOamSlot = 0; ClearGfxRam(); - ResetFreeOAM(); + ResetFreeOam(); gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; write16(PALRAM_BASE, 0); diff --git a/src/softreset_input.c b/src/softreset_input.c index 7ac3722f..78802d90 100644 --- a/src/softreset_input.c +++ b/src/softreset_input.c @@ -33,7 +33,7 @@ void Softreset(void) write16(REG_IME, FALSE); write16(REG_IE, 0); write16(REG_DISPSTAT, 0); - PLTT_BG[0] = 0; + write16(PALRAM_BASE, 0); write16(REG_DISPCNT, 0); write16(REG_BLDY, 0x10); write16(REG_BLDCNT, 0xff); @@ -45,7 +45,7 @@ void Softreset(void) LoadInterruptCode(); CallbackSetVBlank(SoftresetVBlankCallback); SramRead_All(); - init_sound(); + InitializeAudio(); write16(REG_IE, IF_VBLANK | IF_DMA2 | IF_GAMEPAK); write16(REG_DISPSTAT, DSTAT_IF_VBLANK); diff --git a/src/sprite.c b/src/sprite.c index b1eb2c4a..67e2d3d8 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -367,8 +367,8 @@ void SpriteDraw(struct SpriteData* pSprite, s32 slot) return; dst = (u16*)(gOamData + prevSlot); - yPosition = (pSprite->yPosition >> 2) - (gBG1YPosition / 4); - xPosition = (pSprite->xPosition >> 2) - (gBG1XPosition / 4); + yPosition = (pSprite->yPosition >> 2) - (gBg1YPosition / 4); + xPosition = (pSprite->xPosition >> 2) - (gBg1XPosition / 4); // Shortcuts for status xFlip = pSprite->status & SPRITE_STATUS_XFLIP; @@ -684,8 +684,8 @@ void SpriteCheckOnScreen(struct SpriteData* pSprite) if (!(pSprite->properties & SP_ABSOLUTE_POSITION)) { - bgBaseY = gBG1YPosition; - bgBaseX = gBG1XPosition; + bgBaseY = gBg1YPosition; + bgBaseX = gBg1XPosition; spriteY = pSprite->yPosition; spriteX = pSprite->xPosition; diff --git a/src/sprite_debris.c b/src/sprite_debris.c index 3c710c76..e4f8e13f 100644 --- a/src/sprite_debris.c +++ b/src/sprite_debris.c @@ -289,8 +289,8 @@ void SpriteDebrisDraw(struct SpriteDebris* pDebris) u16 part2; u32 currSlot; - if (gBG1YPosition + BLOCK_SIZE * 3 > (pDebris->yPosition + BLOCK_SIZE * 4) || - gBG1YPosition + BLOCK_SIZE * 15 < (pDebris->yPosition + BLOCK_SIZE * 4)) + if (gBg1YPosition + BLOCK_SIZE * 3 > (pDebris->yPosition + BLOCK_SIZE * 4) || + gBg1YPosition + BLOCK_SIZE * 15 < (pDebris->yPosition + BLOCK_SIZE * 4)) { pDebris->exists = FALSE; return; @@ -304,8 +304,8 @@ void SpriteDebrisDraw(struct SpriteDebris* pDebris) { dst = (u16*)(gOamData + prevSlot); - xPosition = (pDebris->xPosition >> 2) - (gBG1XPosition >> 2); - yPosition = (pDebris->yPosition >> 2) - (gBG1YPosition >> 2); + xPosition = (pDebris->xPosition >> 2) - (gBg1XPosition >> 2); + yPosition = (pDebris->yPosition >> 2) - (gBg1YPosition >> 2); if (gSamusOnTopOfBackgrounds) bgPriority = 0x1; diff --git a/src/sprites_AI/acid_worm.c b/src/sprites_AI/acid_worm.c index 19fb3f55..984a8958 100644 --- a/src/sprites_AI/acid_worm.c +++ b/src/sprites_AI/acid_worm.c @@ -437,7 +437,7 @@ void AcidWormSpawnRetracting(void) // Enable rotation/scaling gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING; // 0x100 = No scaling - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.oamRotation = 0x0; gCurrentSprite.timer = 0x3C; } @@ -1177,7 +1177,7 @@ void AcidWormBodyMove(void) { { gCurrentSprite.pose = 0x9; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.oamRotation = 0x0; } if (0x42 < gSpriteData[slot].pose) diff --git a/src/sprites_AI/black_space_pirate.c b/src/sprites_AI/black_space_pirate.c index a3bd343b..d89765d3 100644 --- a/src/sprites_AI/black_space_pirate.c +++ b/src/sprites_AI/black_space_pirate.c @@ -277,7 +277,7 @@ void BlackSpacePirateInit(void) gCurrentSprite.health = health; gCurrentSprite.yPositionSpawn = health; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.workVariable2 = 0; gCurrentSprite.oamRotation = 0; gCurrentSprite.samusCollision = SSC_SPACE_PIRATE; diff --git a/src/sprites_AI/boss_statues.c b/src/sprites_AI/boss_statues.c index 2a950307..83e01e06 100644 --- a/src/sprites_AI/boss_statues.c +++ b/src/sprites_AI/boss_statues.c @@ -172,7 +172,7 @@ void KraidStatueCheckBackgroundLocked(void) spriteX = gCurrentSprite.xPosition + 0x20; spriteX /= 4; - bgX = gBG1XPosition / 4; + bgX = gBg1XPosition / 4; if ((u16)(spriteX - bgX) == 0x78) // Sprite is 0x78 pixels from lock screen center { @@ -229,8 +229,8 @@ void KraidStatueOpening(void) rngParam1 = gCurrentSprite.workVariable; rngParam2 = gCurrentSprite.workVariable2; - yPosition = gBG1YPosition - BLOCK_SIZE; - xPosition = gBG1XPosition + (BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE); + yPosition = gBg1YPosition - BLOCK_SIZE; + xPosition = gBg1XPosition + (BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE); rngParam3 = gSpriteRng; @@ -380,7 +380,7 @@ void RidleyStatueCheckBackgroundLocked(void) spriteX = gCurrentSprite.xPosition + 0x20; spriteX /= 4; - bgX = gBG1XPosition / 4; + bgX = gBg1XPosition / 4; if ((u16)(spriteX - bgX) == 0x78) // Sprite is 0x78 pixels from lock screen center { @@ -448,8 +448,8 @@ void RidleyStatueOpening(void) rngParam1 = gCurrentSprite.workVariable; rngParam2 = gCurrentSprite.workVariable2; - yPosition = gBG1YPosition - BLOCK_SIZE; - xPosition = gBG1XPosition + 0x190; + yPosition = gBg1YPosition - BLOCK_SIZE; + xPosition = gBg1XPosition + 0x190; rngParam3 = gSpriteRng; diff --git a/src/sprites_AI/deorem.c b/src/sprites_AI/deorem.c index ffcf40d2..b4c5e646 100644 --- a/src/sprites_AI/deorem.c +++ b/src/sprites_AI/deorem.c @@ -2339,7 +2339,7 @@ void DeoremThornInit(void) { gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.oamRotation = 0; gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; diff --git a/src/sprites_AI/dragon.c b/src/sprites_AI/dragon.c index 651b524a..fe02724d 100644 --- a/src/sprites_AI/dragon.c +++ b/src/sprites_AI/dragon.c @@ -27,7 +27,7 @@ void DragonYMovement(void) if (gCurrentSprite.status & SPRITE_STATUS_UNKNOWN2) { - if (ySpawn - (BLOCK_SIZE * 2 - PIXEL_SIZE / 4) < gCurrentSprite.yPosition) + if (ySpawn - (BLOCK_SIZE * 2 - PIXEL_SIZE / SUB_PIXEL_RATIO) < gCurrentSprite.yPosition) gCurrentSprite.yPosition -= PIXEL_SIZE / 2; SpriteUtilCheckOutOfRoomEffect(oldY, gCurrentSprite.yPosition, gCurrentSprite.xPosition, SPLASH_SMALL); @@ -289,7 +289,7 @@ void DragonFireballInit(void) gCurrentSprite.oamRotation = 0; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; - gCurrentSprite.oamScaling = PI * 2; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.arrayOffset = 0; SoundPlay(0x14C); diff --git a/src/sprites_AI/escape_ship_pirate.c b/src/sprites_AI/escape_ship_pirate.c index ce37f3ac..91fd5a01 100644 --- a/src/sprites_AI/escape_ship_pirate.c +++ b/src/sprites_AI/escape_ship_pirate.c @@ -26,7 +26,7 @@ void EscapeShipSpacePirateInit(void) gCurrentSprite.hitboxBottomOffset = 0x0; gCurrentSprite.health = 0x0; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.workVariable2 = 0x0; gCurrentSprite.oamRotation = 0x0; gCurrentSprite.samusCollision = SSC_NONE; diff --git a/src/sprites_AI/explosion_zebes_escape.c b/src/sprites_AI/explosion_zebes_escape.c index 88985d66..ae21715c 100644 --- a/src/sprites_AI/explosion_zebes_escape.c +++ b/src/sprites_AI/explosion_zebes_escape.c @@ -52,7 +52,7 @@ void ExplosionZebesEscape(void) } yPosition = gCurrentSprite.yPositionSpawn; - xPosition = gBG1XPosition + BLOCK_SIZE * 7 + HALF_BLOCK_SIZE; + xPosition = gBg1XPosition + BLOCK_SIZE * 7 + HALF_BLOCK_SIZE; rngParam1 = gSpriteRng; rngParam2 = rngParam1 & 3; @@ -136,7 +136,7 @@ void ExplosionZebesEscape(void) } } - yPosition = gBG1YPosition - BLOCK_SIZE; + yPosition = gBg1YPosition - BLOCK_SIZE; if (debrisTimer % 32 == 0) { diff --git a/src/sprites_AI/hive.c b/src/sprites_AI/hive.c index 412a80b4..9db0fb97 100644 --- a/src/sprites_AI/hive.c +++ b/src/sprites_AI/hive.c @@ -859,7 +859,7 @@ void MellowSwarm(void) gCurrentSprite.currentAnimationFrame = 0x0; gCurrentSprite.animationDurationCounter = 0x0; gCurrentSprite.pose = 0x9; - if (0x78 < (gSamusData.xPosition >> 0x2) -(gBG1XPosition >> 0x2)) + if (0x78 < (gSamusData.xPosition >> 0x2) -(gBg1XPosition >> 0x2)) gCurrentSprite.status |= SPRITE_STATUS_XFLIP; gCurrentSprite.yPositionSpawn = 0xF0; @@ -926,7 +926,7 @@ void MellowSwarm(void) x_pos = gSamusData.xPosition + (gSpriteRng * -0x20); if (x_pos & 0x8000) x_pos = 0x0; - y_pos = (u16)(gBG1YPosition - ((gSpriteRng * 0x2) + 0x10)); + y_pos = (u16)(gBg1YPosition - ((gSpriteRng * 0x2) + 0x10)); SpriteSpawnPrimary(PSPRITE_MELLOW, 0x88, gCurrentSprite.spritesetGfxSlot, y_pos, x_pos, 0x0); } } diff --git a/src/sprites_AI/imago_cocoon.c b/src/sprites_AI/imago_cocoon.c index 8311f3cf..92b59e08 100644 --- a/src/sprites_AI/imago_cocoon.c +++ b/src/sprites_AI/imago_cocoon.c @@ -200,7 +200,7 @@ void ImagoCocoonInit(void) gCurrentSprite.drawOrder = 0x4; gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.oamRotation = 0x0; gCurrentSprite.roomSlot = IMAGO_COCOON_PART_IMAGO_COCOON; @@ -236,7 +236,7 @@ void ImagoCocoonInit(void) gCurrentSprite.health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.oamRotation = 0x0; gCurrentSprite.workVariable2 = FALSE; @@ -411,7 +411,7 @@ void ImagoCocoonFallingBeforeBlocks(void) gCurrentSprite.primarySpriteRamSlot, gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, 0x0); } - yPosition = gBG1YPosition - BLOCK_SIZE; + yPosition = gBg1YPosition - BLOCK_SIZE; xPosition = gSubSpriteData1.xPosition; rng = gSpriteRng; @@ -489,7 +489,7 @@ void ImagoCocoonFallingAfterBlocks(void) ScreenShakeStartVertical(0x28, 0x81); SoundPlay(0x1A5); - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.workVariable2 = FALSE; FadeMusic(0x55); diff --git a/src/sprites_AI/item_banner.c b/src/sprites_AI/item_banner.c index 7752d332..ea5afeaa 100644 --- a/src/sprites_AI/item_banner.c +++ b/src/sprites_AI/item_banner.c @@ -1,12 +1,14 @@ #include "gba.h" #include "sprites_AI/item_banner.h" #include "sprites_AI/ruins_test.h" +#include "macros.h" #include "data/sprites/item_banner.h" #include "constants/audio.h" #include "constants/game_state.h" #include "constants/sprite.h" +#include "constants/samus.h" #include "constants/text.h" #include "structs/bg_clip.h" @@ -25,36 +27,38 @@ void ItemBannerInit(void) u8 gfxSlot; u8 count; - gPreventMovementTimer = 0x3E8; + gPreventMovementTimer = SAMUS_ITEM_PMT; if (!(gCurrentSprite.status & SPRITE_STATUS_ONSCREEN)) { gCurrentSprite.status |= SPRITE_STATUS_ONSCREEN; - gCurrentSprite.roomSlot = 0xFF; + gCurrentSprite.roomSlot = UCHAR_MAX; } message = gCurrentSprite.roomSlot; + gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN; - gCurrentSprite.bgPriority = 0x0; // On top of everything + gCurrentSprite.bgPriority = 0; // On top of everything + gCurrentSprite.samusCollision = SSC_NONE; gCurrentSprite.properties |= (SP_ALWAYS_ACTIVE | SP_ABSOLUTE_POSITION); - gCurrentSprite.drawDistanceTopOffset = 0x10; - gCurrentSprite.drawDistanceBottomOffset = 0x10; - gCurrentSprite.drawDistanceHorizontalOffset = 0x80; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 8); - gCurrentSprite.hitboxTopOffset = -0x4; - gCurrentSprite.hitboxBottomOffset = 0x4; - gCurrentSprite.hitboxLeftOffset = -0x4; - gCurrentSprite.hitboxRightOffset = 0x4; + gCurrentSprite.hitboxTopOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxBottomOffset = PIXEL_SIZE; + gCurrentSprite.hitboxLeftOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxRightOffset = PIXEL_SIZE; gCurrentSprite.pOam = sItemBannerOAM_TwoLinesSpawn; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; - gCurrentSprite.yPositionSpawn = 0x9; - gCurrentSprite.timer = 0x1; - gCurrentSprite.workVariable2 = 0x0; + gCurrentSprite.yPositionSpawn = 9; + gCurrentSprite.timer = 1; + gCurrentSprite.workVariable2 = FALSE; // Flag if the message is the save prompt if (message == MESSAGE_SAVE_PROMPT) @@ -65,7 +69,7 @@ void ItemBannerInit(void) gfxSlot = 0x80; // Default // Loop through sprites to try and find if an item banner is in the spriteset - for (count = 0x0; count < 0xF; count++) + for (count = 0; count < 0xF; count++) { if (gSpritesetSpritesID[count] == PSPRITE_ITEM_BANNER) { @@ -75,20 +79,20 @@ void ItemBannerInit(void) } } - if (gfxSlot < 0x8) + if (gfxSlot < 8) { // Found in the spriteset, skip gfx init gCurrentSprite.pose = ITEM_BANNER_POSE_POP_UP; gCurrentSprite.spritesetGfxSlot = gfxSlot; } else - gCurrentSprite.pose = ITEM_BANNER_POSE_Gfx_INIT; + gCurrentSprite.pose = ITEM_BANNER_POSE_GFX_INIT; // Middle of the screen - gCurrentSprite.yPosition = 0x36; - gCurrentSprite.xPosition = 0x78; + gCurrentSprite.yPosition = QUARTER_BLOCK_SIZE * 3 + PIXEL_SIZE + PIXEL_SIZE / 2; + gCurrentSprite.xPosition = BLOCK_SIZE + QUARTER_BLOCK_SIZE * 3 + PIXEL_SIZE * 2; - start_message(message, gCurrentSprite.spritesetGfxSlot); // Undefined + TextStartMessage(message, gCurrentSprite.spritesetGfxSlot); } /** @@ -97,20 +101,20 @@ void ItemBannerInit(void) */ void ItemBannerGfxInit(void) { - gPreventMovementTimer = 0x3E8; + gPreventMovementTimer = SAMUS_ITEM_PMT; gCurrentSprite.yPositionSpawn--; // Timer (started at 0x9) - if (gCurrentSprite.yPositionSpawn == 0x7) + if (gCurrentSprite.yPositionSpawn == 7) SpriteLoadGfx(PSPRITE_ITEM_BANNER, gCurrentSprite.spritesetGfxSlot); // Load Gfx - else if (gCurrentSprite.yPositionSpawn == 0x8) - SpriteLoadPAL(PSPRITE_ITEM_BANNER, gCurrentSprite.spritesetGfxSlot, 0x1); // Load PAL + else if (gCurrentSprite.yPositionSpawn == 8) + SpriteLoadPAL(PSPRITE_ITEM_BANNER, gCurrentSprite.spritesetGfxSlot, 1); // Load PAL - if (gCurrentSprite.yPositionSpawn == 0x0) + if (gCurrentSprite.yPositionSpawn == 0) { // Loading done, set pop up behavior gCurrentSprite.pose = ITEM_BANNER_POSE_POP_UP; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; } } @@ -121,95 +125,109 @@ void ItemBannerGfxInit(void) void ItemBannerPopUp(void) { u16 music; - u8 message; + u8 msg; u8 timer; // Work Variable 2 is used as a bool, 1 if getting new item (leading to status screen), 0 otherwise - gPreventMovementTimer = 0x3E8; - message = gCurrentSprite.roomSlot; - if (gCurrentSprite.timer != 0x0) + gPreventMovementTimer = SAMUS_ITEM_PMT; + + msg = gCurrentSprite.roomSlot; + if (gCurrentSprite.timer != 0) { gCurrentSprite.animationDurationCounter--; - if (process_item_banner_text()) // Process text + if (TextProcessItemBanner()) // Process text { // If done processing - gCurrentSprite.timer = 0x0; + gCurrentSprite.timer = 0; gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - if ((u8)(message - 0x8) < 0xe) + if (msg == MESSAGE_LONG_BEAM || msg == MESSAGE_CHARGE_BEAM || msg == MESSAGE_ICE_BEAM || + msg == MESSAGE_WAVE_BEAM || msg == MESSAGE_UKNOWN_ITEM_PLASMA || msg == MESSAGE_BOMB || + msg == MESSAGE_VARIA_SUIT || msg == MESSAGE_UNKNOWN_ITEM_GRAVITY || msg == MESSAGE_MORPH_BALL || + msg == MESSAGE_SPEED_BOOSTER || msg == MESSAGE_HIGH_JUMP || msg == MESSAGE_SCREW_ATTACK || + msg == MESSAGE_UNKNOWN_ITEM_SPACE_JUMP || msg == MESSAGE_POWER_GRIP) { // New item gCurrentSprite.workVariable2 = TRUE; BackupTrackData2SoundChannels(); - if (message == MESSAGE_UKNOWN_ITEM_PLASMA || message == MESSAGE_UNKNOWN_ITEM_GRAVITY - || message == MESSAGE_UNKNOWN_ITEM_SPACE_JUMP) - InsertMusicAndQueueCurrent(MUSIC_GETTING_UNKNOWN_ITEM_JINGLE, 0x0); // Unknown item + + // Play item jingle + if (msg == MESSAGE_UKNOWN_ITEM_PLASMA || msg == MESSAGE_UNKNOWN_ITEM_GRAVITY || msg == MESSAGE_UNKNOWN_ITEM_SPACE_JUMP) + InsertMusicAndQueueCurrent(MUSIC_GETTING_UNKNOWN_ITEM_JINGLE, 0); // Unknown item else - InsertMusicAndQueueCurrent(MUSIC_GETTING_ITEM_JINGLE, 0x0); + InsertMusicAndQueueCurrent(MUSIC_GETTING_ITEM_JINGLE, 0); // Normal item } - else if (message == MESSAGE_FIRST_MISSILE_TANK || message == MESSAGE_FIRST_SUPER_MISSILE_TANK - || message == MESSAGE_FIRST_POWER_BOMB_TANK) + else if (msg == MESSAGE_FIRST_MISSILE_TANK || msg == MESSAGE_FIRST_SUPER_MISSILE_TANK || msg == MESSAGE_FIRST_POWER_BOMB_TANK) { // New tank gCurrentSprite.workVariable2 = TRUE; BackupTrackData2SoundChannels(); - InsertMusicAndQueueCurrent(MUSIC_GETTING_ITEM_JINGLE, 0x0); + InsertMusicAndQueueCurrent(MUSIC_GETTING_ITEM_JINGLE, 0); } - else if (message == MESSAGE_FULLY_POWERED_SUIT) + else if (msg == MESSAGE_FULLY_POWERED_SUIT) { - PlayMusic(MUSIC_BRINSTAR_REMIX, 0x0); - InsertMusicAndQueueCurrent(MUSIC_GETTING_FULLY_POWERED_SUIT_JINGLE, 0x0); + PlayMusic(MUSIC_BRINSTAR_REMIX, 0); + InsertMusicAndQueueCurrent(MUSIC_GETTING_FULLY_POWERED_SUIT_JINGLE, 0); } - else if (message != MESSAGE_SAVE_PROMPT) + else if (msg != MESSAGE_SAVE_PROMPT) { - if ((u8)(message - 0x1) <= 0x1 || message == MESSAGE_SUPER_MISSILE_TANK_ACQUIRED - || message == MESSAGE_POWER_BOMB_TANK_ACQUIRED) + if (msg == MESSAGE_ENERGY_TANK_ACQUIRED || msg == MESSAGE_MISSILE_TANK_ACQUIRED || + msg == MESSAGE_SUPER_MISSILE_TANK_ACQUIRED || msg == MESSAGE_POWER_BOMB_TANK_ACQUIRED) + { BackupTrackData2SoundChannels(); - SoundPlay(0x3A); + } + + SoundPlay(MUSIC_GETTING_TANK_JINGLE); } // Check is one line message (new item/ability, save complete, map text) - if (gCurrentSprite.workVariable2 || message == MESSAGE_SAVE_COMPLETE - || (u8)(message - 0x1B) < 0x6) + if (gCurrentSprite.workVariable2 || msg == MESSAGE_SAVE_COMPLETE || + (msg == MESSAGE_BRINSTAR_MAP_ACQUIRED || msg == MESSAGE_KRAID_MAP_ACQUIRED || + msg == MESSAGE_NORFAIR_MAP_ACQUIRED || msg == MESSAGE_RIDLEY_MAP_ACQUIRED || + msg == MESSAGE_MOTHER_SHIP_MAP_ACQUIRED || msg == MESSAGE_FULLY_POWERED_SUIT)) { gCurrentSprite.pOam = sItemBannerOAM_OneLineSpawn; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; } } + + return; + } + + // Text not done + if (SpriteUtilCheckEndCurrentSpriteAnim()) + { + // Spawning animation ended + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.pose = ITEM_BANNER_POSE_STATIC; + + // Set static OAM and timer for how long the banner stays + if (gCurrentSprite.pOam == sItemBannerOAM_OneLineSpawn) + { + gCurrentSprite.pOam = sItemBannerOAM_OneLineStatic; + + if (msg == MESSAGE_FULLY_POWERED_SUIT) + gCurrentSprite.yPositionSpawn = 340; // Long because jingle is long + else + gCurrentSprite.yPositionSpawn = 100; + } + else + { + gCurrentSprite.pOam = sItemBannerOAM_TwoLinesStatic; + gCurrentSprite.yPositionSpawn = 100; + + if (msg == MESSAGE_SAVE_PROMPT) + { + SpriteSpawnSecondary(SSPRITE_SAVE_YES_NO_CURSOR, 0, gCurrentSprite.spritesetGfxSlot, + gCurrentSprite.primarySpriteRamSlot, BLOCK_SIZE - PIXEL_SIZE / SUB_PIXEL_RATIO, + BLOCK_SIZE * 2 + QUARTER_BLOCK_SIZE + PIXEL_SIZE + PIXEL_SIZE / 2, 0); // Spawn cursor + } + else if (msg == MESSAGE_ZEBES_ESCAPE || msg == MESSAGE_CHOZODIA_ESCAPE) // Escape message + EscapeStart(); + } } - else - { - // Text not done - if (SpriteUtilCheckEndCurrentSpriteAnim()) - { - // Spawning animation ended - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.pose = ITEM_BANNER_POSE_STATIC; - // Set static OAM and timer for how long the banner stays - if (gCurrentSprite.pOam == sItemBannerOAM_OneLineSpawn) - { - gCurrentSprite.pOam = sItemBannerOAM_OneLineStatic; - if (message == MESSAGE_FULLY_POWERED_SUIT) - gCurrentSprite.yPositionSpawn = 0x154; // Long because jingle is long - else - gCurrentSprite.yPositionSpawn = 0x64; - } - else - { - gCurrentSprite.pOam = sItemBannerOAM_TwoLinesStatic; - gCurrentSprite.yPositionSpawn = 0x64; - if (message == MESSAGE_SAVE_PROMPT) - { - SpriteSpawnSecondary(SSPRITE_SAVE_YES_NO_CURSOR, 0x0, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, 0x3F, 0x96, 0x0); // Spawn cursor - } - else if (0x1 >= (u8)(message - 0x21)) // Escape message - EscapeStart(); - } - } - } } /** @@ -222,16 +240,16 @@ void ItemBannerStatic(void) message = gCurrentSprite.roomSlot; if (message == MESSAGE_FULLY_POWERED_SUIT) - gPreventMovementTimer = 0x0; + gPreventMovementTimer = 0; else - gPreventMovementTimer = 0x3E8; + gPreventMovementTimer = SAMUS_ITEM_PMT; // Timer - if (gCurrentSprite.yPositionSpawn != 0x0) + if (gCurrentSprite.yPositionSpawn != 0) gCurrentSprite.yPositionSpawn--; + // Check if should remove (input or demo active, ignore for save prompt) - else if (message != MESSAGE_SAVE_PROMPT && - (gButtonInput & (KEY_A | KEY_B | KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN) || gDemoState != 0x0)) + else if (message != MESSAGE_SAVE_PROMPT && (gButtonInput & (KEY_A | KEY_B | KEY_ALL_DIRECTIONS) || gDemoState != 0)) gCurrentSprite.pose = ITEM_BANNER_POSE_REMOVAL_INIT; } @@ -243,13 +261,16 @@ void ItemBannerRemovalInit(void) { if (gCollectingTank) BgClipFinishCollectingTank(); + if (gCurrentSprite.pOam == sItemBannerOAM_OneLineStatic) gCurrentSprite.pOam = sItemBannerOAM_OneLineRemoving; else gCurrentSprite.pOam = sItemBannerOAM_TwoLinesRemoving; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.pose = 0x25; + + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + + gCurrentSprite.pose = ITEM_BANNER_POSE_REMOVAL_ANIMATION; } /** @@ -258,28 +279,35 @@ void ItemBannerRemovalInit(void) */ void ItemBannerRemovalAnimation(void) { - u8 message; + u8 msg; + + msg = gCurrentSprite.roomSlot; - message = gCurrentSprite.roomSlot; if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.status = 0x0; - if (message == MESSAGE_SAVE_COMPLETE) + gCurrentSprite.status = 0; + if (msg == MESSAGE_SAVE_COMPLETE) gDisablePause = FALSE; // Re-enable pause - else if (message == MESSAGE_FULLY_POWERED_SUIT) + else if (msg == MESSAGE_FULLY_POWERED_SUIT) { // Start suit animation gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_STARTING_SUIT_ANIM; + // Spawn chozo pillar - SpriteLoadGfx(PSPRITE_FALLING_CHOZO_PILLAR, 0x7); - SpriteLoadPAL(PSPRITE_FALLING_CHOZO_PILLAR, 0x7, 0x1); - SpriteSpawnPrimary(PSPRITE_FALLING_CHOZO_PILLAR, 0x0, 0x7, gBossWork.work1 - 0x100, gBossWork.work2 + 0x300, 0x0); + SpriteLoadGfx(PSPRITE_FALLING_CHOZO_PILLAR, 7); + SpriteLoadPAL(PSPRITE_FALLING_CHOZO_PILLAR, 7, 1); + SpriteSpawnPrimary(PSPRITE_FALLING_CHOZO_PILLAR, 0, 7, gBossWork.work1 - BLOCK_SIZE * 4, + gBossWork.work2 + BLOCK_SIZE * 12, 0); } // Check replay sounds - else if ((u8)(message - 0x1) < MESSAGE_MISSILE_TANK_ACQUIRED || message == MESSAGE_SUPER_MISSILE_TANK_ACQUIRED || message == MESSAGE_POWER_BOMB_TANK_ACQUIRED) + else if (msg == MESSAGE_ENERGY_TANK_ACQUIRED || msg == MESSAGE_MISSILE_TANK_ACQUIRED || + msg == MESSAGE_SUPER_MISSILE_TANK_ACQUIRED || msg == MESSAGE_POWER_BOMB_TANK_ACQUIRED) + { RetrieveTrackData2SoundChannels(); + } + + gPreventMovementTimer = 0; - gPreventMovementTimer = 0x0; if (gCurrentSprite.workVariable2) gPauseScreenFlag = PAUSE_SCREEN_ITEM_ACQUISITION; } @@ -291,14 +319,15 @@ void ItemBannerRemovalAnimation(void) */ void ItemBanner(void) { - gCurrentSprite.ignoreSamusCollisionTimer = 0x1; + gCurrentSprite.ignoreSamusCollisionTimer = 1; + switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: ItemBannerInit(); break; - case ITEM_BANNER_POSE_Gfx_INIT: + case ITEM_BANNER_POSE_GFX_INIT: ItemBannerGfxInit(); break; @@ -328,35 +357,35 @@ void SaveYesNoCursor(void) { u8 ramSlot; - gCurrentSprite.ignoreSamusCollisionTimer = 0x1; + gCurrentSprite.ignoreSamusCollisionTimer = 1; ramSlot = gCurrentSprite.primarySpriteRamSlot; switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN; gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - gCurrentSprite.bgPriority = 0x0; - gCurrentSprite.drawOrder = 0x3; + gCurrentSprite.bgPriority = 0; + gCurrentSprite.drawOrder = 3; gCurrentSprite.samusCollision = SSC_NONE; gCurrentSprite.properties |= (SP_ALWAYS_ACTIVE | SP_ABSOLUTE_POSITION); - gCurrentSprite.drawDistanceTopOffset = 0x10; - gCurrentSprite.drawDistanceBottomOffset = 0x10; - gCurrentSprite.drawDistanceHorizontalOffset = 0x10; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -0x4; - gCurrentSprite.hitboxBottomOffset = 0x4; - gCurrentSprite.hitboxLeftOffset = -0x4; - gCurrentSprite.hitboxRightOffset = 0x4; + gCurrentSprite.hitboxTopOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxBottomOffset = PIXEL_SIZE; + gCurrentSprite.hitboxLeftOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxRightOffset = PIXEL_SIZE; gCurrentSprite.pOam = sSaveYesNoCursorOAM_Idle; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; - gCurrentSprite.pose = 0x9; - gCurrentSprite.yPosition = 0x3F; + gCurrentSprite.pose = SAVE_YES_NO_CURSOR_POSE_INPUT; + gCurrentSprite.yPosition = BLOCK_SIZE - PIXEL_SIZE / SUB_PIXEL_RATIO; if (gSpriteData[ramSlot].roomSlot == MESSAGE_SAVE_PROMPT) gCurrentSprite.xPosition = SAVE_YES_NO_CURSOR_LEFT_POSITION; @@ -390,7 +419,7 @@ void SaveYesNoCursor(void) { // On left, "yes" option selected SoundPlay(0x208); - gSpriteData[ramSlot].workVariable = 0x1; + gSpriteData[ramSlot].workVariable = TRUE; if (gSpriteData[ramSlot].roomSlot == MESSAGE_SAVE_PROMPT) { gCurrentSprite.pose = SAVE_YES_NO_CURSOR_POSE_SAVING; @@ -403,15 +432,16 @@ void SaveYesNoCursor(void) { // On right, "no" option selected SoundPlay(0x209); - gSpriteData[ramSlot].workVariable = 0x0; + gSpriteData[ramSlot].workVariable = FALSE; } - gCurrentSprite.status = 0x0; + + gCurrentSprite.status = 0; } break; case SAVE_YES_NO_CURSOR_POSE_SAVING: if (SramSaveFile()) - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; break; } } diff --git a/src/sprites_AI/kraid.c b/src/sprites_AI/kraid.c index 4728d79b..f586a110 100644 --- a/src/sprites_AI/kraid.c +++ b/src/sprites_AI/kraid.c @@ -484,7 +484,7 @@ void KraidRandomSpriteDebrisOnCeiling(u8 timer) } else { - yPosition = gBG1YPosition - 0x3C; + yPosition = gBg1YPosition - 0x3C; xPosition = gSubSpriteData1.xPosition + BLOCK_SIZE * 3; } @@ -2885,7 +2885,7 @@ void KraidNail(void) gCurrentSprite.drawOrder = 0x3; gCurrentSprite.bgPriority = 0x1; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.workVariable = 0x0; gCurrentSprite.arrayOffset = gCurrentSprite.yPosition >> 0x6; diff --git a/src/sprites_AI/mecha_ridley.c b/src/sprites_AI/mecha_ridley.c index ca9bc6ac..f87adc6b 100644 --- a/src/sprites_AI/mecha_ridley.c +++ b/src/sprites_AI/mecha_ridley.c @@ -2811,7 +2811,7 @@ void MechaRidleyMissile(void) gCurrentSprite.health = GET_SSPRITE_HEALTH(gCurrentSprite.spriteID); gCurrentSprite.oamRotation = 0xA0; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.timer = 30; gCurrentSprite.pose = 9; @@ -2921,7 +2921,7 @@ void MechaRidleyFireball(void) gCurrentSprite.samusCollision = SSC_HURTS_SAMUS_STOP_DIES_WHEN_HIT; gCurrentSprite.drawOrder = 2; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); if (gCurrentSprite.roomSlot != FIREBALL_LOW) gCurrentSprite.oamRotation = 0x28; diff --git a/src/sprites_AI/mella.c b/src/sprites_AI/mella.c index 1a49c134..7f4627d8 100644 --- a/src/sprites_AI/mella.c +++ b/src/sprites_AI/mella.c @@ -26,11 +26,11 @@ u8 MellaYMovement(u16 movement) if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + BLOCK_SIZE, gCurrentSprite.xPosition - 0x30); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + BLOCK_SIZE, gCurrentSprite.xPosition - (QUARTER_BLOCK_SIZE * 3)); if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + BLOCK_SIZE, gCurrentSprite.xPosition + 0x30); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + BLOCK_SIZE, gCurrentSprite.xPosition + (QUARTER_BLOCK_SIZE * 3)); if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; @@ -38,24 +38,33 @@ u8 MellaYMovement(u16 movement) } else { - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - (HALF_BLOCK_SIZE), gCurrentSprite.xPosition - 0x30); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - HALF_BLOCK_SIZE, + gCurrentSprite.xPosition - (QUARTER_BLOCK_SIZE * 3)); + if (gPreviousCollisionCheck == COLLISION_SOLID) { - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - (HALF_BLOCK_SIZE), gCurrentSprite.xPosition - 0x70); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - HALF_BLOCK_SIZE, + gCurrentSprite.xPosition - (BLOCK_SIZE + QUARTER_BLOCK_SIZE * 3)); + if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; } - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - (HALF_BLOCK_SIZE), gCurrentSprite.xPosition + 0x30); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - HALF_BLOCK_SIZE, + gCurrentSprite.xPosition + (QUARTER_BLOCK_SIZE * 3)); + if (gPreviousCollisionCheck == COLLISION_SOLID) { - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - (HALF_BLOCK_SIZE), gCurrentSprite.xPosition + 0x70); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - HALF_BLOCK_SIZE, + gCurrentSprite.xPosition + (BLOCK_SIZE + QUARTER_BLOCK_SIZE * 3)); + if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; } gCurrentSprite.yPosition -= movement; } + return FALSE; } @@ -69,11 +78,11 @@ u8 MellaXMovement(u16 movement) { if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - (HALF_BLOCK_SIZE), gCurrentSprite.xPosition + BLOCK_SIZE); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - HALF_BLOCK_SIZE, gCurrentSprite.xPosition + BLOCK_SIZE); if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + (HALF_BLOCK_SIZE), gCurrentSprite.xPosition + BLOCK_SIZE); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + HALF_BLOCK_SIZE, gCurrentSprite.xPosition + BLOCK_SIZE); if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; @@ -81,11 +90,11 @@ u8 MellaXMovement(u16 movement) } else { - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - (HALF_BLOCK_SIZE), gCurrentSprite.xPosition - BLOCK_SIZE); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition - HALF_BLOCK_SIZE, gCurrentSprite.xPosition - BLOCK_SIZE); if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + (HALF_BLOCK_SIZE), gCurrentSprite.xPosition - BLOCK_SIZE); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + HALF_BLOCK_SIZE, gCurrentSprite.xPosition - BLOCK_SIZE); if (gPreviousCollisionCheck == COLLISION_SOLID) return TRUE; @@ -101,18 +110,18 @@ u8 MellaXMovement(u16 movement) */ void MellaInit(void) { - gCurrentSprite.drawDistanceTopOffset = 0x8; - gCurrentSprite.drawDistanceBottomOffset = 0x8; - gCurrentSprite.drawDistanceHorizontalOffset = 0x10; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -0x10; - gCurrentSprite.hitboxBottomOffset = 0x10; - gCurrentSprite.hitboxLeftOffset = -0x20; - gCurrentSprite.hitboxRightOffset = 0x20; + gCurrentSprite.hitboxTopOffset = -QUARTER_BLOCK_SIZE; + gCurrentSprite.hitboxBottomOffset = QUARTER_BLOCK_SIZE; + gCurrentSprite.hitboxLeftOffset = -HALF_BLOCK_SIZE; + gCurrentSprite.hitboxRightOffset = HALF_BLOCK_SIZE; gCurrentSprite.pOam = sMellaOAM_Idle; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; gCurrentSprite.health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; @@ -129,8 +138,8 @@ void MellaIdleInit(void) gCurrentSprite.pose = MELLA_POSE_IDLE; gCurrentSprite.pOam = sMellaOAM_Idle; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; rng = gSpriteRng; gCurrentSprite.arrayOffset = rng * 4; @@ -153,9 +162,10 @@ void MellaIdle(void) if (movement == SHORT_MAX) { movement = sMellaIdleYMovement[0]; // 0 - offset = 0x0; + offset = 0; } - gCurrentSprite.arrayOffset = offset + 0x1; + + gCurrentSprite.arrayOffset = offset + 1; gCurrentSprite.yPosition += movement; // X movement @@ -164,12 +174,13 @@ void MellaIdle(void) if (movement == SHORT_MAX) { movement = sMellaIdleXMovement[0]; // 0 - offset = 0x0; + offset = 0; } - gCurrentSprite.workVariable2 = offset + 0x1; + + gCurrentSprite.workVariable2 = offset + 1; gCurrentSprite.xPosition += movement; - if (gSamusData.yPosition - 0x48 >= gCurrentSprite.yPosition) + if (gSamusData.yPosition - (BLOCK_SIZE + PIXEL_SIZE * 2) >= gCurrentSprite.yPosition) { // Detect samus nslr = SpriteUtilCheckSamusNearSpriteLeftRight(BLOCK_SIZE * 8, BLOCK_SIZE * 3); @@ -185,10 +196,12 @@ void MellaIdle(void) void MellaMovingInit(void) { gCurrentSprite.pose = MELLA_POSE_DELAY_BEOFRE_GOING_DOWN; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; gCurrentSprite.pOam = sMelloOAM_Moving; - gCurrentSprite.timer = 0x7; + + gCurrentSprite.timer = 7; } /** @@ -198,18 +211,20 @@ void MellaMovingInit(void) void MellaDelayBeforeGoingDown(void) { if (gCurrentSprite.status & SPRITE_STATUS_ONSCREEN && - gCurrentSprite.currentAnimationFrame == 0x0 && gCurrentSprite.animationDurationCounter == 0x1) + gCurrentSprite.currentAnimationFrame == 0 && gCurrentSprite.animationDurationCounter == 1) SoundPlayNotAlreadyPlaying(0x189); gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { // Set going down behavior gCurrentSprite.pose = MELLA_POSE_GOING_DOWN; gCurrentSprite.status |= SPRITE_STATUS_SAMUS_COLLIDING; + SpriteUtilMakeSpriteFaceSamusDirection(); - gCurrentSprite.workVariable2 = 0x0; - gCurrentSprite.arrayOffset = 0x0; + + gCurrentSprite.workVariable2 = 0; + gCurrentSprite.arrayOffset = 0; } } @@ -220,27 +235,31 @@ void MellaDelayBeforeGoingDown(void) void MellaGoingDown(void) { u16 yMovement; + u16 xMovement; if (gCurrentSprite.status & SPRITE_STATUS_ONSCREEN && - gCurrentSprite.currentAnimationFrame == 0x0 && gCurrentSprite.animationDurationCounter == 0x1) + gCurrentSprite.currentAnimationFrame == 0 && gCurrentSprite.animationDurationCounter == 1) SoundPlayNotAlreadyPlaying(0x189); // Check increase offsets - if (gCurrentSprite.arrayOffset < 0x2F) + if (gCurrentSprite.arrayOffset < ARRAY_SIZE(sMellaGoingDownYMovement) * 8 - 1) gCurrentSprite.arrayOffset++; - if (gCurrentSprite.workVariable2 < 0x37) + if (gCurrentSprite.workVariable2 < ARRAY_SIZE(sMellaMovingXMovement) * 8 - 1) gCurrentSprite.workVariable2++; // Move yMovement = sMellaGoingDownYMovement[gCurrentSprite.arrayOffset / 8]; - MellaXMovement(sMellaMovingXMovement[gCurrentSprite.workVariable2 / 8]); + xMovement = sMellaMovingXMovement[gCurrentSprite.workVariable2 / 8]; + + MellaXMovement(xMovement); + if (MellaYMovement(yMovement)) { // Touched floor, set going up behavior gCurrentSprite.pose = MELLA_POSE_GOING_UP; gCurrentSprite.status &= ~SPRITE_STATUS_SAMUS_COLLIDING; - gCurrentSprite.arrayOffset = 0x0; + gCurrentSprite.arrayOffset = 0; } } @@ -251,25 +270,30 @@ void MellaGoingDown(void) void MellaGoingUp(void) { u16 yMovement; + u16 xMovement; if (gCurrentSprite.status & SPRITE_STATUS_ONSCREEN && - gCurrentSprite.currentAnimationFrame == 0x0 && gCurrentSprite.animationDurationCounter == 0x1) + gCurrentSprite.currentAnimationFrame == 0 && gCurrentSprite.animationDurationCounter == 1) SoundPlayNotAlreadyPlaying(0x189); // Check increase offsets - if (gCurrentSprite.arrayOffset < 0x37) + if (gCurrentSprite.arrayOffset < ARRAY_SIZE(sMellaGoingUpYMovement) * 8 - 1) gCurrentSprite.arrayOffset++; + // Odd arbitrary number if (gCurrentSprite.workVariable2 > 0x18) gCurrentSprite.workVariable2--; // Move yMovement = sMellaGoingUpYMovement[gCurrentSprite.arrayOffset / 8]; - MellaXMovement(sMellaMovingXMovement[gCurrentSprite.workVariable2 / 8]); + xMovement = sMellaMovingXMovement[gCurrentSprite.workVariable2 / 8]; + + MellaXMovement(xMovement); + if (MellaYMovement(yMovement)) { // Touched ceiling, set idle behavior - gCurrentSprite.yPosition = (gCurrentSprite.yPosition & BLOCK_POSITION_FLAG) + (HALF_BLOCK_SIZE); + gCurrentSprite.yPosition = (gCurrentSprite.yPosition & BLOCK_POSITION_FLAG) + HALF_BLOCK_SIZE; gCurrentSprite.pose = MELLA_POSE_IDLE_INIT; } } @@ -287,44 +311,45 @@ void Mella(void) SoundPlayNotAlreadyPlaying(0x18B); } - if (gCurrentSprite.freezeTimer != 0x0) - SpriteUtilUpdateFreezeTimer(); - else + if (gCurrentSprite.freezeTimer != 0) { - if (SpriteUtilIsSpriteStunned()) - return; - - switch (gCurrentSprite.pose) - { - case 0x0: - MellaInit(); - break; - - case MELLA_POSE_IDLE_INIT: - MellaIdleInit(); - break; - - case MELLA_POSE_IDLE: - MellaIdle(); - break; - - case MELLA_POSE_MOVING_INIT: - MellaMovingInit(); - - case MELLA_POSE_DELAY_BEOFRE_GOING_DOWN: - MellaDelayBeforeGoingDown(); - break; - - case MELLA_POSE_GOING_DOWN: - MellaGoingDown(); - break; - - case MELLA_POSE_GOING_UP: - MellaGoingUp(); - break; - - default: - SpriteUtilSpriteDeath(DEATH_NORMAL, gCurrentSprite.yPosition, gCurrentSprite.xPosition, TRUE, PE_SPRITE_EXPLOSION_SMALL); - } + SpriteUtilUpdateFreezeTimer(); + return; } -} \ No newline at end of file + + if (SpriteUtilIsSpriteStunned()) + return; + + switch (gCurrentSprite.pose) + { + case SPRITE_POSE_UNINITIALIZED: + MellaInit(); + break; + + case MELLA_POSE_IDLE_INIT: + MellaIdleInit(); + break; + + case MELLA_POSE_IDLE: + MellaIdle(); + break; + + case MELLA_POSE_MOVING_INIT: + MellaMovingInit(); + + case MELLA_POSE_DELAY_BEOFRE_GOING_DOWN: + MellaDelayBeforeGoingDown(); + break; + + case MELLA_POSE_GOING_DOWN: + MellaGoingDown(); + break; + + case MELLA_POSE_GOING_UP: + MellaGoingUp(); + break; + + default: + SpriteUtilSpriteDeath(DEATH_NORMAL, gCurrentSprite.yPosition, gCurrentSprite.xPosition, TRUE, PE_SPRITE_EXPLOSION_SMALL); + } +} diff --git a/src/sprites_AI/metroid.c b/src/sprites_AI/metroid.c index d0426d4e..267d226b 100644 --- a/src/sprites_AI/metroid.c +++ b/src/sprites_AI/metroid.c @@ -22,7 +22,7 @@ #include "structs/projectile.h" /** - * @brief 35360 | 7c | Checks if colliding with air, used when samus is gabbed for the movement + * @brief 35360 | 7c | Checks if colliding with air, used when samus is grabbed for the movement * * @param yPosition Y position * @param xPosition X position @@ -35,24 +35,24 @@ u8 MetroidCheckAirCollision(u16 yPosition, u16 xPosition) colliding = FALSE; if (gSamusPhysics.horizontalMovingDirection == HDMOVING_RIGHT) { - SpriteUtilCheckCollisionAtPosition(yPosition - 0x30, xPosition + 0x3C); + SpriteUtilCheckCollisionAtPosition(yPosition - (QUARTER_BLOCK_SIZE * 3), xPosition + (BLOCK_SIZE - PIXEL_SIZE)); if (gPreviousCollisionCheck != COLLISION_AIR) colliding = TRUE; else { - SpriteUtilCheckCollisionAtPosition(yPosition + 0x10, xPosition + 0x3C); + SpriteUtilCheckCollisionAtPosition(yPosition + QUARTER_BLOCK_SIZE, xPosition + (BLOCK_SIZE - PIXEL_SIZE)); if (gPreviousCollisionCheck != COLLISION_AIR) colliding = TRUE; } } else if (gSamusPhysics.horizontalMovingDirection == HDMOVING_LEFT) { - SpriteUtilCheckCollisionAtPosition(yPosition - 0x30, xPosition - 0x3C); + SpriteUtilCheckCollisionAtPosition(yPosition - (QUARTER_BLOCK_SIZE * 3), xPosition - (BLOCK_SIZE - PIXEL_SIZE)); if (gPreviousCollisionCheck != COLLISION_AIR) colliding = TRUE; else { - SpriteUtilCheckCollisionAtPosition(yPosition + 0x10, xPosition - 0x3C); + SpriteUtilCheckCollisionAtPosition(yPosition + QUARTER_BLOCK_SIZE, xPosition - (BLOCK_SIZE - PIXEL_SIZE)); if (gPreviousCollisionCheck != COLLISION_AIR) colliding = TRUE; } @@ -86,24 +86,24 @@ void MetroidMove(u16 dstY, u16 dstX, u8 ySpeedCap, u8 xSpeedCap, u8 speedDivisor // Check for X collision if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { - SpriteUtilCheckCollisionAtPosition(yPosition - 0x30, xPosition + 0x3C); + SpriteUtilCheckCollisionAtPosition(yPosition - (QUARTER_BLOCK_SIZE * 3), xPosition + (BLOCK_SIZE - PIXEL_SIZE)); if (gPreviousCollisionCheck != COLLISION_AIR) hittingSolidX = TRUE; else { - SpriteUtilCheckCollisionAtPosition(yPosition + 0x10, xPosition + 0x3C); + SpriteUtilCheckCollisionAtPosition(yPosition + QUARTER_BLOCK_SIZE, xPosition + (BLOCK_SIZE - PIXEL_SIZE)); if (gPreviousCollisionCheck != COLLISION_AIR) hittingSolidX = TRUE; } } else { - SpriteUtilCheckCollisionAtPosition(yPosition - 0x30, xPosition - 0x3C); + SpriteUtilCheckCollisionAtPosition(yPosition - (QUARTER_BLOCK_SIZE * 3), xPosition - (BLOCK_SIZE - PIXEL_SIZE)); if (gPreviousCollisionCheck != COLLISION_AIR) hittingSolidX = TRUE; else { - SpriteUtilCheckCollisionAtPosition(yPosition + 0x10, xPosition - 0x3C); + SpriteUtilCheckCollisionAtPosition(yPosition + QUARTER_BLOCK_SIZE, xPosition - (BLOCK_SIZE - PIXEL_SIZE)); if (gPreviousCollisionCheck != COLLISION_AIR) hittingSolidX = TRUE; } @@ -112,38 +112,38 @@ void MetroidMove(u16 dstY, u16 dstX, u8 ySpeedCap, u8 xSpeedCap, u8 speedDivisor // Check for Y collision if (gCurrentSprite.status & SPRITE_STATUS_UNKNOWN2) { - SpriteUtilCheckCollisionAtPosition(yPosition + 0x18, xPosition - 0x20); + SpriteUtilCheckCollisionAtPosition(yPosition + (QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2), xPosition - HALF_BLOCK_SIZE); if (gPreviousCollisionCheck != COLLISION_AIR) hittingSolidY++; else { - SpriteUtilCheckCollisionAtPosition(yPosition + 0x18, xPosition + 0x20); + SpriteUtilCheckCollisionAtPosition(yPosition + (QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2), xPosition + HALF_BLOCK_SIZE); if (gPreviousCollisionCheck != COLLISION_AIR) hittingSolidY++; } } else { - SpriteUtilCheckCollisionAtPosition(yPosition - 0x30, xPosition - 0x20); + SpriteUtilCheckCollisionAtPosition(yPosition - (QUARTER_BLOCK_SIZE * 3), xPosition - HALF_BLOCK_SIZE); if (gPreviousCollisionCheck != COLLISION_AIR) hittingSolidY++; else { - SpriteUtilCheckCollisionAtPosition(yPosition - 0x30, xPosition + 0x20); + SpriteUtilCheckCollisionAtPosition(yPosition - (QUARTER_BLOCK_SIZE * 3), xPosition + HALF_BLOCK_SIZE); if (gPreviousCollisionCheck != COLLISION_AIR) hittingSolidY++; } } - bouncing = 0x0; + bouncing = 0; if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { if (!hittingSolidX) { // Not hitting anything, move to right - if (gCurrentSprite.workVariable == 0x0) + if (gCurrentSprite.workVariable == 0) { - if (gCurrentSprite.xPosition <= (s32)(dstX - 0x4)) + if (gCurrentSprite.xPosition <= dstX - PIXEL_SIZE) { // Increase speed if below cap if (gCurrentSprite.workVariable2 < xSpeedCap) @@ -157,26 +157,26 @@ void MetroidMove(u16 dstY, u16 dstX, u8 ySpeedCap, u8 xSpeedCap, u8 speedDivisor } else { - if (!(gFrameCounter8Bit & 0x1)) + if (MOD_AND(gFrameCounter8Bit, 2) == 0) gCurrentSprite.workVariable--; - if (gCurrentSprite.workVariable != 0x0) + if (gCurrentSprite.workVariable != 0) gCurrentSprite.xPosition += (gCurrentSprite.workVariable >> speedDivisor); else - bouncing = 0x1; + bouncing = 1; } } else - bouncing = 0x2; + bouncing = 2; } else { if (!hittingSolidX) { // Not hitting anything, move to left - if (gCurrentSprite.workVariable == 0x0) + if (gCurrentSprite.workVariable == 0) { - if (gCurrentSprite.xPosition < (s32)(dstX + 0x4)) + if (gCurrentSprite.xPosition < dstX + PIXEL_SIZE) gCurrentSprite.workVariable = gCurrentSprite.workVariable2; else { @@ -190,42 +190,42 @@ void MetroidMove(u16 dstY, u16 dstX, u8 ySpeedCap, u8 xSpeedCap, u8 speedDivisor } else { - if (!(gFrameCounter8Bit & 0x1)) + if (MOD_AND(gFrameCounter8Bit, 2) == 0) gCurrentSprite.workVariable--; - if (gCurrentSprite.workVariable != 0x0) + if (gCurrentSprite.workVariable != 0) gCurrentSprite.xPosition -= (gCurrentSprite.workVariable >> speedDivisor); else - bouncing = 0x1; + bouncing = 1; } } else - bouncing = 0x2; + bouncing = 2; } if (bouncing) { // Bouncing, flip gCurrentSprite.status ^= SPRITE_STATUS_FACING_RIGHT; - if (bouncing == 0x2) + if (bouncing == 2) { // Set bouncing speed - gCurrentSprite.workVariable = 0x0; - gCurrentSprite.workVariable2 = 0x10; + gCurrentSprite.workVariable = 0; + gCurrentSprite.workVariable2 = 16; } else - gCurrentSprite.workVariable2 = 0x1; + gCurrentSprite.workVariable2 = 1; } - bouncing = 0x0; + bouncing = 0; if (gCurrentSprite.status & SPRITE_STATUS_UNKNOWN2) { if (!hittingSolidY) { // Not hitting anything, move down - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { - if (gCurrentSprite.yPosition <= (s32)(dstY - 0x4)) + if (gCurrentSprite.yPosition <= dstY - PIXEL_SIZE) { // Increase speed if below cap if (gCurrentSprite.arrayOffset < ySpeedCap) @@ -239,26 +239,26 @@ void MetroidMove(u16 dstY, u16 dstX, u8 ySpeedCap, u8 xSpeedCap, u8 speedDivisor } else { - if (gFrameCounter8Bit & 0x1) + if (MOD_AND(gFrameCounter8Bit, 2)) gCurrentSprite.timer--; - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) gCurrentSprite.yPosition += (gCurrentSprite.timer >> speedDivisor); else - bouncing = 0x1; + bouncing = 1; } } else - bouncing = 0x2; + bouncing = 2; } else { if (!hittingSolidY) { // Not hitting anything, move left - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { - if (gCurrentSprite.yPosition < (s32)(dstY + 0x4)) + if (gCurrentSprite.yPosition < dstY + PIXEL_SIZE) gCurrentSprite.timer = gCurrentSprite.arrayOffset; else { @@ -272,31 +272,31 @@ void MetroidMove(u16 dstY, u16 dstX, u8 ySpeedCap, u8 xSpeedCap, u8 speedDivisor } else { - if (gFrameCounter8Bit & 0x1) + if (MOD_AND(gFrameCounter8Bit, 2)) gCurrentSprite.timer--; - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) gCurrentSprite.yPosition -= (gCurrentSprite.timer >> speedDivisor); else - bouncing = 0x1; + bouncing = 1; } } else - bouncing = 0x2; + bouncing = 2; } if (bouncing) { // Bouncing, flip gCurrentSprite.status ^= SPRITE_STATUS_UNKNOWN2; - if (bouncing == 0x2) + if (bouncing == 2) { // Set bouncing speed - gCurrentSprite.timer = 0x0; - gCurrentSprite.arrayOffset = 0x10; + gCurrentSprite.timer = 0; + gCurrentSprite.arrayOffset = 16; } else - gCurrentSprite.arrayOffset = 0x1; + gCurrentSprite.arrayOffset = 1; } } @@ -319,7 +319,7 @@ u8 MetroidBombDetection(void) u16 projBottom; u16 projLeft; u16 projRight; - u8 count; + u8 i; u8 status; struct ProjectileData* pProj; @@ -330,11 +330,10 @@ u8 MetroidBombDetection(void) spriteLeft = spriteX + gCurrentSprite.hitboxLeftOffset; spriteRight = spriteX + gCurrentSprite.hitboxRightOffset; status = PROJ_STATUS_EXISTS | PROJ_STATUS_CAN_AFFECT_ENVIRONMENT; - count = 0x0; - while (count <= 0xF) + for (i = 0; i < MAX_AMOUNT_OF_PROJECTILES; i++) { - pProj = gProjectileData + count; + pProj = &gProjectileData[i]; if (pProj->type == PROJ_TYPE_BOMB && (pProj->status & status) == status) { projY = pProj->yPosition; @@ -347,7 +346,6 @@ u8 MetroidBombDetection(void) if (SpriteUtilCheckObjectsTouching(spriteTop, spriteBottom, spriteLeft, spriteRight, projTop, projBottom, projLeft, projRight)) return TRUE; } - count++; } return FALSE; @@ -401,54 +399,64 @@ void MetroidCheckBouncingOnMetroid(u16 movement) otherY = gSpriteData[ramSlot].yPosition - ySize; otherX = gSpriteData[ramSlot].xPosition; - if ((yPosition + xSize) > (otherY - xSize) && - (yPosition - xSize) < (otherY + xSize) && - (xPosition + xSize) > (otherX - xSize) && - (xPosition - xSize) < (otherX + xSize)) - { - if (yPosition > otherY) - { - if (SpriteUtilGetCollisionAtPosition(gSpriteData[ramSlot].yPosition - xSize, gSpriteData[ramSlot].xPosition) == COLLISION_AIR) - { - gSpriteData[ramSlot].yPosition -= movement; - gSpriteData[ramSlot].status &= ~SPRITE_STATUS_UNKNOWN2; - gSpriteData[ramSlot].timer = 0x0; - gSpriteData[ramSlot].arrayOffset = movement * 16; - } - } - else - { - if (SpriteUtilGetCollisionAtPosition(gSpriteData[ramSlot].yPosition + xSize, gSpriteData[ramSlot].xPosition) == COLLISION_AIR) - { - gSpriteData[ramSlot].yPosition += movement; - gSpriteData[ramSlot].status |= SPRITE_STATUS_UNKNOWN2; - gSpriteData[ramSlot].timer = 0x0; - gSpriteData[ramSlot].arrayOffset = movement * 16; - } - } + if (yPosition + xSize <= otherY - xSize) + continue; - if (xPosition > otherX) + if (yPosition - xSize >= otherY + xSize) + continue; + + if (xPosition + xSize <= otherX - xSize) + continue; + + if (xPosition - xSize >= otherX + xSize) + continue; + + if (yPosition > otherY) + { + if (SpriteUtilGetCollisionAtPosition(gSpriteData[ramSlot].yPosition - xSize, + gSpriteData[ramSlot].xPosition) == COLLISION_AIR) { - if (SpriteUtilGetCollisionAtPosition(gSpriteData[ramSlot].yPosition, gSpriteData[ramSlot].xPosition - xSize) == COLLISION_AIR) - { - gSpriteData[ramSlot].xPosition -= movement; - gSpriteData[ramSlot].status &= ~SPRITE_STATUS_FACING_RIGHT; - gSpriteData[ramSlot].workVariable = 0x0; - gSpriteData[ramSlot].workVariable2 = movement * 16; - } + gSpriteData[ramSlot].yPosition -= movement; + gSpriteData[ramSlot].status &= ~SPRITE_STATUS_UNKNOWN2; + gSpriteData[ramSlot].timer = 0; + gSpriteData[ramSlot].arrayOffset = movement * 16; } - else - { - if (SpriteUtilGetCollisionAtPosition(gSpriteData[ramSlot].yPosition, gSpriteData[ramSlot].xPosition + xSize) == COLLISION_AIR) - { - gSpriteData[ramSlot].xPosition += movement; - gSpriteData[ramSlot].status |= SPRITE_STATUS_FACING_RIGHT; - gSpriteData[ramSlot].workVariable = 0x0; - gSpriteData[ramSlot].workVariable2 = movement * 16; - } - } - break; } + else + { + if (SpriteUtilGetCollisionAtPosition(gSpriteData[ramSlot].yPosition + xSize, + gSpriteData[ramSlot].xPosition) == COLLISION_AIR) + { + gSpriteData[ramSlot].yPosition += movement; + gSpriteData[ramSlot].status |= SPRITE_STATUS_UNKNOWN2; + gSpriteData[ramSlot].timer = 0; + gSpriteData[ramSlot].arrayOffset = movement * 16; + } + } + + if (xPosition > otherX) + { + if (SpriteUtilGetCollisionAtPosition(gSpriteData[ramSlot].yPosition, + gSpriteData[ramSlot].xPosition - xSize) == COLLISION_AIR) + { + gSpriteData[ramSlot].xPosition -= movement; + gSpriteData[ramSlot].status &= ~SPRITE_STATUS_FACING_RIGHT; + gSpriteData[ramSlot].workVariable = 0; + gSpriteData[ramSlot].workVariable2 = movement * 16; + } + } + else + { + if (SpriteUtilGetCollisionAtPosition(gSpriteData[ramSlot].yPosition, + gSpriteData[ramSlot].xPosition + xSize) == COLLISION_AIR) + { + gSpriteData[ramSlot].xPosition += movement; + gSpriteData[ramSlot].status |= SPRITE_STATUS_FACING_RIGHT; + gSpriteData[ramSlot].workVariable = 0; + gSpriteData[ramSlot].workVariable2 = movement * 16; + } + } + break; } } } @@ -460,16 +468,17 @@ void MetroidCheckBouncingOnMetroid(u16 movement) */ u8 MetroidCheckSamusGrabbed(void) { - u8 count; + u8 i; - count = 0x0; - while (count <= 0x17) + for (i = 0; i < MAX_AMOUNT_OF_SPRITES; i++) { - if (gSpriteData[count].status & SPRITE_STATUS_EXISTS && gSpriteData[count].samusCollision == SSC_METROID - && gSpriteData[count].pose != METROID_POSE_MOVING) + if (!(gSpriteData[i].status & SPRITE_STATUS_EXISTS)) + continue; + + if (gSpriteData[i].samusCollision == SSC_METROID && gSpriteData[i].pose != METROID_POSE_MOVING) return TRUE; - count++; } + return FALSE; } @@ -479,7 +488,7 @@ u8 MetroidCheckSamusGrabbed(void) */ void MetroidPlaySound(void) { - if (gCurrentSprite.currentAnimationFrame == 0x0 && gCurrentSprite.animationDurationCounter == 0x1 + if (gCurrentSprite.currentAnimationFrame == 0 && gCurrentSprite.animationDurationCounter == 1 && gCurrentSprite.status & SPRITE_STATUS_ONSCREEN) SoundPlayNotAlreadyPlaying(0x170); } @@ -494,79 +503,91 @@ void MetroidInit(void) u8 slot; // Check should spawn - metroidState = 0x0; + metroidState = 0; + switch (gCurrentRoom) { - case 0xE: + case 14: if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_FIRST_METROID_ROOM_CLEARED)) metroidState++; break; - case 0x1: + + case 1: if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_THIRD_METROID_ROOM_CLEARED)) metroidState++; break; - case 0x2: + + case 2: if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_FIFTH_METROID_ROOM_CLEARED)) metroidState++; break; - case 0xF: + + case 15: if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_SECOND_METROID_ROOM_CLEARED)) metroidState++; break; - case 0x10: + + case 16: if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_SIXTH_METROID_ROOM_CLEARED)) metroidState++; break; - case 0x13: + + case 19: if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_FOURTH_METROID_ROOM_CLEARED)) metroidState++; break; + default: - metroidState = 0x2; + metroidState = 2; } - if (metroidState == 0x0) - gCurrentSprite.status = 0x0; // Already dead - else + if (metroidState == 0) { - // Lock doors if in a metroid room - if (metroidState == 0x1) - gDoorUnlockTimer = 0x1; - - gCurrentSprite.status |= SPRITE_STATUS_MOSAIC; - gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; - gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; - - gCurrentSprite.oamScaling = 0x40; - gCurrentSprite.oamRotation = 0x0; - gCurrentSprite.drawDistanceTopOffset = 0x6; - gCurrentSprite.drawDistanceBottomOffset = 0x6; - gCurrentSprite.drawDistanceHorizontalOffset = 0x5; - - gCurrentSprite.hitboxTopOffset = -0x28; - gCurrentSprite.hitboxBottomOffset = 0x20; - gCurrentSprite.hitboxLeftOffset = -0x28; - gCurrentSprite.hitboxRightOffset = 0x28; - - gCurrentSprite.pOam = sMetroidOAM_Spanwing; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; - - gCurrentSprite.health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); - gCurrentSprite.yPositionSpawn = gCurrentSprite.health; - gCurrentSprite.samusCollision = SSC_NONE; - SpriteUtilMakeSpriteFaceSamusDirection(); - - gCurrentSprite.pose = METROID_POSE_CHECK_SPAWN; - gCurrentSprite.workVariable2 = 0x0; - gCurrentSprite.arrayOffset = 0x0; - gCurrentSprite.drawOrder = 0xC; - - slot = SpriteSpawnSecondary(SSPRITE_METROID_SHELL, gCurrentSprite.roomSlot, gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0x0); - if (slot == 0xFF) - gCurrentSprite.status = 0x0; - gCurrentSprite.paletteRow = 0x3; + gCurrentSprite.status = 0; // Already dead + return; } + + // Lock doors if in a metroid room + if (metroidState == 1) + gDoorUnlockTimer = 1; + + gCurrentSprite.status |= SPRITE_STATUS_MOSAIC; + gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; + gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; + + gCurrentSprite.oamScaling = Q_8_8(.25f); + gCurrentSprite.oamRotation = 0; + + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(QUARTER_BLOCK_SIZE + PIXEL_SIZE); + + gCurrentSprite.hitboxTopOffset = -(HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.hitboxBottomOffset = HALF_BLOCK_SIZE; + gCurrentSprite.hitboxLeftOffset = -(HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.hitboxRightOffset = (HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + + gCurrentSprite.pOam = sMetroidOAM_Spanwing; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + + gCurrentSprite.health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); + gCurrentSprite.yPositionSpawn = gCurrentSprite.health; + gCurrentSprite.samusCollision = SSC_NONE; + SpriteUtilMakeSpriteFaceSamusDirection(); + + gCurrentSprite.pose = METROID_POSE_CHECK_SPAWN; + gCurrentSprite.workVariable2 = 0; + gCurrentSprite.arrayOffset = 0; + gCurrentSprite.drawOrder = 12; + + slot = SpriteSpawnSecondary(SSPRITE_METROID_SHELL, gCurrentSprite.roomSlot, gCurrentSprite.spritesetGfxSlot, + gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0); + + if (slot == UCHAR_MAX) + gCurrentSprite.status = 0; + + gCurrentSprite.paletteRow = 3; } /** @@ -579,10 +600,12 @@ void MetroidCheckSpawn(void) { // Set spawning behavior gCurrentSprite.pose = METROID_POSE_SPAWNING; - gCurrentSprite.drawDistanceTopOffset = 0x18; - gCurrentSprite.drawDistanceBottomOffset = 0x18; - gCurrentSprite.drawDistanceHorizontalOffset = 0x14; - gCurrentSprite.timer = (gSpriteRng * 0x4) + 0x1; + + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + QUARTER_BLOCK_SIZE); + + gCurrentSprite.timer = gSpriteRng * 4 + 1; } } @@ -601,9 +624,9 @@ void MetroidSpawning(void) if (movement == SHORT_MAX) { movement = sMetroidSpawningYMovement[0]; // 0 - offset = 0x0; + offset = 0; } - gCurrentSprite.arrayOffset = offset + 0x1; + gCurrentSprite.arrayOffset = offset + 1; gCurrentSprite.yPosition += movement; // X movement @@ -612,38 +635,42 @@ void MetroidSpawning(void) if (movement == SHORT_MAX) { movement = sMetroidSpawningXMovement[0]; // 0 - offset = 0x0; + offset = 0; } - gCurrentSprite.workVariable2 = offset + 0x1; + gCurrentSprite.workVariable2 = offset + 1; gCurrentSprite.xPosition += movement; - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) + { gCurrentSprite.timer--; // Timer before spawn + return; + } + + if (gCurrentSprite.oamScaling < Q_8_8(1.f)) + { + // Make metroid bigger + gCurrentSprite.oamScaling += Q_8_8(.0175f); + + // Update palette accordingly + if (gCurrentSprite.oamScaling >= Q_8_8(.82f)) + gCurrentSprite.paletteRow = 1; + else if (gCurrentSprite.oamScaling >= Q_8_8(.63f)) + gCurrentSprite.paletteRow = 2; + } else { - if (gCurrentSprite.oamScaling < 0x100) - { - // Make metroid bigger - gCurrentSprite.oamScaling += 0x4; - // Update palette accordingly - if (gCurrentSprite.oamScaling >= 0xD1) - gCurrentSprite.paletteRow = 0x1; - else if (gCurrentSprite.oamScaling >= 0xA1) - gCurrentSprite.paletteRow = 0x2; - } - else - { - // Set spawned behavior - gCurrentSprite.paletteRow = 0x0; - gCurrentSprite.status &= ~SPRITE_STATUS_UNKNOWN3; - gCurrentSprite.pose = METROID_POSE_MOVING_INIT; - gCurrentSprite.pOam = sMetroidOAM_Moving; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.status &= ~SPRITE_STATUS_IGNORE_PROJECTILES; - gCurrentSprite.samusCollision = SSC_METROID; - gCurrentSprite.drawOrder = 0x4; - } + // Set spawned behavior + gCurrentSprite.paletteRow = 0; + gCurrentSprite.status &= ~SPRITE_STATUS_UNKNOWN3; + gCurrentSprite.pose = METROID_POSE_MOVING_INIT; + + gCurrentSprite.pOam = sMetroidOAM_Moving; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + + gCurrentSprite.status &= ~SPRITE_STATUS_IGNORE_PROJECTILES; + gCurrentSprite.samusCollision = SSC_METROID; + gCurrentSprite.drawOrder = 4; } } @@ -654,13 +681,16 @@ void MetroidSpawning(void) void MetroidMovingInit(void) { gCurrentSprite.pose = METROID_POSE_MOVING; - gCurrentSprite.workVariable = 0x0; - gCurrentSprite.workVariable2 = 0x1; - gCurrentSprite.timer = 0x0; - gCurrentSprite.arrayOffset = 0x1; + + gCurrentSprite.workVariable = 0; + gCurrentSprite.workVariable2 = 1; + + gCurrentSprite.timer = 0; + gCurrentSprite.arrayOffset = 1; + gCurrentSprite.pOam = sMetroidOAM_Moving; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; } /** @@ -674,7 +704,9 @@ void MetroidMovement(void) { // Colliding with samus if (MetroidCheckSamusGrabbed()) + { gCurrentSprite.status &= ~SPRITE_STATUS_SAMUS_COLLIDING; + } else { // Not currently grabbed, set grabbed behavior @@ -685,8 +717,9 @@ void MetroidMovement(void) } // Move - MetroidCheckBouncingOnMetroid(0x1); - MetroidMove(gSamusData.yPosition + gSamusPhysics.drawDistanceTopOffset, gSamusData.xPosition, 0x1E, 0x28, 0x2); + MetroidCheckBouncingOnMetroid(1); + MetroidMove(gSamusData.yPosition + gSamusPhysics.drawDistanceTopOffset, gSamusData.xPosition, + HALF_BLOCK_SIZE - PIXEL_SIZE / 2, HALF_BLOCK_SIZE + PIXEL_SIZE * 2, 2); } /** @@ -696,13 +729,16 @@ void MetroidMovement(void) void MetroidSamusGrabbedInit(void) { gCurrentSprite.pose = METROID_POSE_SAMUS_GRABBED; + gCurrentSprite.pOam = sMetroidOAM_SamusGrabbed; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.timer = 0x4; - gCurrentSprite.workVariable = 0x4; - gCurrentSprite.frozenPaletteRowOffset = 0x4; - gCurrentSprite.oamRotation = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + + gCurrentSprite.timer = 4; + gCurrentSprite.workVariable = 4; + gCurrentSprite.frozenPaletteRowOffset = 4; + + gCurrentSprite.oamRotation = 0; gEquipment.grabbedByMetroid = TRUE; } @@ -720,14 +756,14 @@ void MetroidSamusGrabbed(void) MetroidCheckBouncingOnMetroid(0x2); gCurrentSprite.timer--; // Delay between palette swap - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { - gCurrentSprite.timer = 0x4; + gCurrentSprite.timer = 4; gCurrentSprite.workVariable++; // Palette row - if (gCurrentSprite.workVariable > 0x4) - gCurrentSprite.workVariable = 0x0; + if (gCurrentSprite.workVariable >= ARRAY_SIZE(sMetroidPAL_SamusGrabbed) / 16) + gCurrentSprite.workVariable = 0; - DMA_SET(3, (sMetroidPAL_SamusGrabbed + (gCurrentSprite.workVariable * 0x10)), PALRAM_BASE + 0x380, (DMA_ENABLE << 0x10) | 0x8); + DMA_SET(3, &sMetroidPAL_SamusGrabbed[gCurrentSprite.workVariable * 16], PALRAM_BASE + 0x380, (DMA_ENABLE << 16) | 8); } // Synchronises position @@ -741,38 +777,40 @@ void MetroidSamusGrabbed(void) if (MetroidBombDetection()) { // Random ejection speed - if (gSpriteRng & 0x1) - velocity = 0x1C; + if (MOD_AND(gSpriteRng, 2)) + velocity = QUARTER_BLOCK_SIZE + PIXEL_SIZE * 3; else - velocity = 0x10; + velocity = QUARTER_BLOCK_SIZE; // Set moving behavior gCurrentSprite.pose = METROID_POSE_MOVING; - gCurrentSprite.paletteRow = 0x0; - gCurrentSprite.ignoreSamusCollisionTimer = 0xF; + gCurrentSprite.paletteRow = 0; + gCurrentSprite.ignoreSamusCollisionTimer = 15; gCurrentSprite.status &= ~(SPRITE_STATUS_UNKNOWN2 | SPRITE_STATUS_IGNORE_PROJECTILES); - gCurrentSprite.timer = 0x0; + gCurrentSprite.timer = 0; gCurrentSprite.arrayOffset = velocity; - gCurrentSprite.workVariable = 0x0; + gCurrentSprite.workVariable = 0; gCurrentSprite.workVariable2 = velocity; gCurrentSprite.pOam = sMetroidOAM_Moving; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; - gCurrentSprite.frozenPaletteRowOffset = 0x0; + gCurrentSprite.frozenPaletteRowOffset = 0; gEquipment.grabbedByMetroid = FALSE; // Remove flag } else { // Check play sucking sound - if (!(gCurrentSprite.oamRotation & 0x1F)) + if (MOD_AND(gCurrentSprite.oamRotation, 32) == 0) { SoundPlayNotAlreadyPlaying(0x81); + flags = gEquipment.suitMiscActivation; velocity = (SMF_VARIA_SUIT | SMF_GRAVITY_SUIT); velocity &= flags; + if (!velocity) SoundPlay(0x16D); else if (velocity == (SMF_VARIA_SUIT | SMF_GRAVITY_SUIT)) @@ -780,6 +818,7 @@ void MetroidSamusGrabbed(void) else SoundPlay(0x16E); } + gCurrentSprite.oamRotation++; // Sound counter } } @@ -804,13 +843,14 @@ void MetroidDeath(void) rng = gSpriteRng; yPosition = gCurrentSprite.yPosition; xPosition = gCurrentSprite.xPosition; + if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) yPosition += rng; else yPosition -= rng; // Kill sprite - SpriteUtilSpriteDeath(DEATH_NORMAL, yPosition, xPosition + 0x24, TRUE, PE_FREEZING_SPRITE_WITH_CHARGED_ICE); + SpriteUtilSpriteDeath(DEATH_NORMAL, yPosition, xPosition + HALF_BLOCK_SIZE + PIXEL_SIZE, TRUE, PE_FREEZING_SPRITE_WITH_CHARGED_ICE); metroidID = PSPRITE_METROID; frozenID = PSPRITE_FROZEN_METROID; @@ -821,8 +861,13 @@ void MetroidDeath(void) for (pSprite = gSpriteData; pSprite < gSpriteData + MAX_AMOUNT_OF_SPRITES; pSprite++) { - if (pSprite->status & exists && !(pSprite->properties & secondary) && - (pSprite->spriteID == metroidID || pSprite->spriteID == frozenID) && pSprite->pose < pose) + if (!(pSprite->status & exists)) + continue; + + if (pSprite->properties & secondary) + continue; + + if ((pSprite->spriteID == metroidID || pSprite->spriteID == frozenID) && pSprite->pose < pose) { // Found an alive metroid, abort isMetroidAlive++; @@ -830,36 +875,41 @@ void MetroidDeath(void) } } - if (!isMetroidAlive) + if (isMetroidAlive) + return; + + // All metroids are dead, set event and unlock doors + switch (gCurrentRoom) { - // All metroids are dead, set event and unlock doors - switch (gCurrentRoom) - { - case 0xE: - EventFunction(EVENT_ACTION_SETTING, EVENT_FIRST_METROID_ROOM_CLEARED); - gDoorUnlockTimer = -0x14; - break; - case 0x1: - EventFunction(EVENT_ACTION_SETTING, EVENT_THIRD_METROID_ROOM_CLEARED); - gDoorUnlockTimer = -0x14; - break; - case 0x2: - EventFunction(EVENT_ACTION_SETTING, EVENT_FIFTH_METROID_ROOM_CLEARED); - gDoorUnlockTimer = -0x14; - break; - case 0xF: - EventFunction(EVENT_ACTION_SETTING, EVENT_SECOND_METROID_ROOM_CLEARED); - gDoorUnlockTimer = -0x14; - break; - case 0x10: - EventFunction(EVENT_ACTION_SETTING, EVENT_SIXTH_METROID_ROOM_CLEARED); - gDoorUnlockTimer = -0x14; - break; - case 0x13: - EventFunction(EVENT_ACTION_SETTING, EVENT_FOURTH_METROID_ROOM_CLEARED); - gDoorUnlockTimer = -0x14; - break; - } + case 14: + EventFunction(EVENT_ACTION_SETTING, EVENT_FIRST_METROID_ROOM_CLEARED); + gDoorUnlockTimer = -20; + break; + + case 1: + EventFunction(EVENT_ACTION_SETTING, EVENT_THIRD_METROID_ROOM_CLEARED); + gDoorUnlockTimer = -20; + break; + + case 2: + EventFunction(EVENT_ACTION_SETTING, EVENT_FIFTH_METROID_ROOM_CLEARED); + gDoorUnlockTimer = -20; + break; + + case 15: + EventFunction(EVENT_ACTION_SETTING, EVENT_SECOND_METROID_ROOM_CLEARED); + gDoorUnlockTimer = -20; + break; + + case 16: + EventFunction(EVENT_ACTION_SETTING, EVENT_SIXTH_METROID_ROOM_CLEARED); + gDoorUnlockTimer = -20; + break; + + case 19: + EventFunction(EVENT_ACTION_SETTING, EVENT_FOURTH_METROID_ROOM_CLEARED); + gDoorUnlockTimer = -20; + break; } } @@ -877,7 +927,7 @@ void Metroid(void) } else { - if ((gCurrentSprite.invincibilityStunFlashTimer & 0x7F) == 0x2) + if (SPRITE_HAS_ISFT(gCurrentSprite) == 2) { if (gCurrentSprite.health == gCurrentSprite.yPositionSpawn) { @@ -889,61 +939,72 @@ void Metroid(void) } } - if (gCurrentSprite.freezeTimer != 0x0) + if (gCurrentSprite.freezeTimer != 0) { // Set frozen metroid behavior - gCurrentSprite.hitboxTopOffset = -0x30; - gCurrentSprite.hitboxBottomOffset = 0x28; - gCurrentSprite.hitboxLeftOffset = -0x40; - gCurrentSprite.hitboxRightOffset = 0x40; - MetroidCheckBouncingOnMetroid(0x1); + gCurrentSprite.hitboxTopOffset = -(QUARTER_BLOCK_SIZE * 3); + gCurrentSprite.hitboxBottomOffset = HALF_BLOCK_SIZE + PIXEL_SIZE * 2; + gCurrentSprite.hitboxLeftOffset = -BLOCK_SIZE; + gCurrentSprite.hitboxRightOffset = BLOCK_SIZE; + + MetroidCheckBouncingOnMetroid(1); + if (gDifficulty == DIFF_EASY) SpriteUtilUnfreezeAnimEasy(); else SpriteUtilMetroidUnfreezeAnim(); + gCurrentSprite.spriteID = PSPRITE_FROZEN_METROID; + return; } - else + + if (gCurrentSprite.spriteID == PSPRITE_FROZEN_METROID) { - if (gCurrentSprite.spriteID == PSPRITE_FROZEN_METROID) - { - // Unfreeze, set movement behavior - gCurrentSprite.hitboxTopOffset = -0x28; - gCurrentSprite.hitboxBottomOffset = 0x20; - gCurrentSprite.hitboxLeftOffset = -0x28; - gCurrentSprite.hitboxRightOffset = 0x28; - gCurrentSprite.spriteID = PSPRITE_METROID; - if (gCurrentSprite.pose < 0x62) - gCurrentSprite.pose = METROID_POSE_MOVING_INIT; - } + // Unfreeze, set movement behavior + gCurrentSprite.hitboxTopOffset = -(HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.hitboxBottomOffset = HALF_BLOCK_SIZE; + gCurrentSprite.hitboxLeftOffset = -(HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.hitboxRightOffset = (HALF_BLOCK_SIZE + PIXEL_SIZE * 2); - switch (gCurrentSprite.pose) - { - case 0x0: - MetroidInit(); - break; - case METROID_POSE_CHECK_SPAWN: - MetroidCheckSpawn(); - break; - case METROID_POSE_SPAWNING: - MetroidSpawning(); - break; - case METROID_POSE_MOVING_INIT: - MetroidMovingInit(); - case METROID_POSE_MOVING: - MetroidMovement(); - break; - case METROID_POSE_GRAB_SAMUS_INIT: - MetroidSamusGrabbedInit(); - case METROID_POSE_SAMUS_GRABBED: - MetroidSamusGrabbed(); - break; - case METROID_POSE_DEATH: - MetroidDeath(); - } + gCurrentSprite.spriteID = PSPRITE_METROID; - gCurrentSprite.status &= ~SPRITE_STATUS_SAMUS_COLLIDING; + if (gCurrentSprite.pose < METROID_POSE_DEATH) + gCurrentSprite.pose = METROID_POSE_MOVING_INIT; } + + switch (gCurrentSprite.pose) + { + case SPRITE_POSE_UNINITIALIZED: + MetroidInit(); + break; + + case METROID_POSE_CHECK_SPAWN: + MetroidCheckSpawn(); + break; + + case METROID_POSE_SPAWNING: + MetroidSpawning(); + break; + + case METROID_POSE_MOVING_INIT: + MetroidMovingInit(); + + case METROID_POSE_MOVING: + MetroidMovement(); + break; + + case METROID_POSE_GRAB_SAMUS_INIT: + MetroidSamusGrabbedInit(); + + case METROID_POSE_SAMUS_GRABBED: + MetroidSamusGrabbed(); + break; + + case METROID_POSE_DEATH: + MetroidDeath(); + } + + gCurrentSprite.status &= ~SPRITE_STATUS_SAMUS_COLLIDING; } /** @@ -958,13 +1019,15 @@ void MetroidShell(void) u16 xPosition; slot = gCurrentSprite.primarySpriteRamSlot; - gCurrentSprite.ignoreSamusCollisionTimer = 0x1; + gCurrentSprite.ignoreSamusCollisionTimer = 1; gCurrentSprite.paletteRow = gSpriteData[slot].paletteRow; - if (gSpriteData[slot].health == 0x0) + + if (gSpriteData[slot].health == 0) { rng = gSpriteRng; yPosition = gCurrentSprite.yPosition; xPosition = gCurrentSprite.xPosition; + if (gSpriteData[slot].status & SPRITE_STATUS_XFLIP) yPosition -= rng; else @@ -972,33 +1035,36 @@ void MetroidShell(void) gCurrentSprite.spriteID = PSPRITE_METROID; gCurrentSprite.properties &= ~SP_SECONDARY_SPRITE; - SpriteUtilSpriteDeath(DEATH_NORMAL, yPosition, xPosition - 0x24, TRUE, PE_FREEZING_SPRITE_WITH_CHARGED_ICE); + SpriteUtilSpriteDeath(DEATH_NORMAL, yPosition, xPosition - (HALF_BLOCK_SIZE + PIXEL_SIZE), TRUE, PE_FREEZING_SPRITE_WITH_CHARGED_ICE); + return; } - else + + if (gCurrentSprite.pose == SPRITE_POSE_UNINITIALIZED) { - if (gCurrentSprite.pose == 0x0) - { - gCurrentSprite.samusCollision = SSC_NONE; - gCurrentSprite.drawDistanceTopOffset = 0x14; - gCurrentSprite.drawDistanceBottomOffset = 0xA; - gCurrentSprite.drawDistanceHorizontalOffset = 0x18; - gCurrentSprite.hitboxTopOffset = -0x4; - gCurrentSprite.hitboxBottomOffset = 0x4; - gCurrentSprite.hitboxLeftOffset = -0x4; - gCurrentSprite.hitboxRightOffset = 0x4; - gCurrentSprite.pose = 0x9; - gCurrentSprite.drawOrder = 0x3; - gCurrentSprite.pOam = sMetroidShellOAM_Idle; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; - } + gCurrentSprite.samusCollision = SSC_NONE; - if (gCurrentSprite.status & SPRITE_STATUS_NOT_DRAWN && !(gSpriteData[slot].status & SPRITE_STATUS_UNKNOWN3)) - gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + QUARTER_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); - gCurrentSprite.yPosition = gSpriteData[slot].yPosition; - gCurrentSprite.xPosition = gSpriteData[slot].xPosition; + gCurrentSprite.hitboxTopOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxBottomOffset = PIXEL_SIZE; + gCurrentSprite.hitboxLeftOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxRightOffset = PIXEL_SIZE; + + gCurrentSprite.pose = 0x9; + gCurrentSprite.drawOrder = 3; + + gCurrentSprite.pOam = sMetroidShellOAM_Idle; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; } + + if (gCurrentSprite.status & SPRITE_STATUS_NOT_DRAWN && !(gSpriteData[slot].status & SPRITE_STATUS_UNKNOWN3)) + gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; + + gCurrentSprite.yPosition = gSpriteData[slot].yPosition; + gCurrentSprite.xPosition = gSpriteData[slot].xPosition; } /** @@ -1007,34 +1073,39 @@ void MetroidShell(void) */ void MetroidDoorLock(void) { - gCurrentSprite.ignoreSamusCollisionTimer = 0x1; - if (gCurrentSprite.pose == 0x0) - { - gCurrentSprite.status |= (SPRITE_STATUS_NOT_DRAWN | SPRITE_STATUS_IGNORE_PROJECTILES); - gCurrentSprite.samusCollision = SSC_NONE; - gCurrentSprite.drawDistanceTopOffset = 0x1; - gCurrentSprite.drawDistanceBottomOffset = 0x1; - gCurrentSprite.drawDistanceHorizontalOffset = 0x1; - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; - gCurrentSprite.pose = 0x8; - gCurrentSprite.pOam = sEnemyDropOAM_LargeEnergy; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.ignoreSamusCollisionTimer = 1; - if (SpriteUtilCountPrimarySprites(PSPRITE_METROID) != 0x0) - gDoorUnlockTimer = 0x1; + if (gCurrentSprite.pose == SPRITE_POSE_UNINITIALIZED) + { + gCurrentSprite.status |= SPRITE_STATUS_NOT_DRAWN | SPRITE_STATUS_IGNORE_PROJECTILES; + gCurrentSprite.samusCollision = SSC_NONE; + + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(PIXEL_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(PIXEL_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(PIXEL_SIZE); + + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; + + gCurrentSprite.pose = 0x8; + + gCurrentSprite.pOam = sEnemyDropOAM_LargeEnergy; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + + if (SpriteUtilCountPrimarySprites(PSPRITE_METROID) != 0) + gDoorUnlockTimer = 1; else - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; } else { - if (SpriteUtilCountPrimarySprites(PSPRITE_METROID) == 0x0 && SpriteUtilCountPrimarySprites(PSPRITE_FROZEN_METROID) == 0x0) + if (SpriteUtilCountPrimarySprites(PSPRITE_METROID) == 0 && SpriteUtilCountPrimarySprites(PSPRITE_FROZEN_METROID) == 0) { - gCurrentSprite.status = 0x0; - gDoorUnlockTimer = -0x14; + gCurrentSprite.status = 0; + gDoorUnlockTimer = -20; } } -} \ No newline at end of file +} diff --git a/src/sprites_AI/ridley.c b/src/sprites_AI/ridley.c index 1240565b..e9e812cf 100644 --- a/src/sprites_AI/ridley.c +++ b/src/sprites_AI/ridley.c @@ -39,8 +39,8 @@ void RidleySyncSubSprites(void) if (gCurrentSprite.pOam != sRidleyFrameDataPointers[offset]) { gCurrentSprite.pOam = sRidleyFrameDataPointers[offset]; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; } gCurrentSprite.yPosition = gSubSpriteData1.yPosition + pData[gCurrentSprite.roomSlot][1]; @@ -72,8 +72,8 @@ void RidleyTailSyncSubSprites(void) if (gCurrentSprite.pOam != sRidleyFrameDataPointers[offset]) { gCurrentSprite.pOam = sRidleyFrameDataPointers[offset]; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; } gCurrentSprite.yPosition = gSubSpriteData2.yPosition + pData[gCurrentSprite.roomSlot][1]; @@ -98,10 +98,10 @@ void RidleyIdleYFloatingMovement(void) if (movement == SHORT_MAX) { movement = sRidleyIdleYOffsets[0]; // 0 - offset = 0x0; + offset = 0; } - gCurrentSprite.arrayOffset = offset + 0x1; + gCurrentSprite.arrayOffset = offset + 1; gSubSpriteData1.yPosition += movement; } @@ -121,10 +121,10 @@ void RidleySpawnSpittingFireballsYFloatingMovement(void) if (movement == SHORT_MAX) { movement = sRidleySpawningSpittingFireballsYOffsets[0]; // 0 - offset = 0x0; + offset = 0; } - gCurrentSprite.arrayOffset = offset + 0x1; + gCurrentSprite.arrayOffset = offset + 1; gSubSpriteData1.yPosition += movement; } } @@ -137,7 +137,7 @@ void RidleyUpdateHealth(void) { switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: case RIDLEY_POSE_CHECK_PLAY_CUTSCENE: case RIDLEY_POSE_SPAWNING: case RIDLEY_POSE_HURT_BIG_FIREBALLS_ATTACK_INIT: @@ -146,28 +146,28 @@ void RidleyUpdateHealth(void) case RIDLEY_POSE_HURT_BIG_FIREBALLS_ATTACK: case RIDLEY_POSE_TAIL_ATTACKS_INIT: case RIDLEY_POSE_TAIL_ATTACKS: - gBossWork.work3 = 0x0; + gBossWork.work3 = 0; break; default: - if ((gCurrentSprite.invincibilityStunFlashTimer & 0x7F) == 0x10) + if (SPRITE_HAS_ISFT(gCurrentSprite) == 0x10) SoundPlayNotAlreadyPlaying(0x1ED); - if (gCurrentSprite.health == 0x0 && gSubSpriteData1.health != 0x0) + if (gCurrentSprite.health == 0 && gSubSpriteData1.health != 0) { // Dead gCurrentSprite.pose = RIDLEY_POSE_HURT_BIG_FIREBALLS_ATTACK_INIT; - gBossWork.work3 = 0x0; + gBossWork.work3 = 0; } else { // Update received damage gBossWork.work3 += gSubSpriteData1.health - gCurrentSprite.health; - if (gBossWork.work3 > 0xC8) + if (gBossWork.work3 > 200) { // Agressive threshold, set big fireballs gCurrentSprite.pose = RIDLEY_POSE_HURT_BIG_FIREBALLS_ATTACK_INIT; - gBossWork.work3 = 0x0; + gBossWork.work3 = 0; } } @@ -203,7 +203,7 @@ u8 RidleyCheckGrabbing(u16 yPosition, u16 xPosition) /** * @brief 31e40 | 256 | Handles the claw being idle * - * @param ramSlot Ridley's RAM slot + * @param ramSlot Ridley's ram slot */ void RidleyPartClawIdle(u8 ramSlot) { @@ -222,36 +222,38 @@ void RidleyPartClawIdle(u8 ramSlot) if (gDifficulty == DIFF_EASY) { if (gEquipment.suitMiscActivation & SMF_VARIA_SUIT) - interval = 0x7; + interval = 8 - 1; else - interval = 0x3; + interval = 4 - 1; } else if (gDifficulty == DIFF_HARD) { if (gEquipment.suitMiscActivation & SMF_VARIA_SUIT) - interval = 0x1; + interval = 2 - 1; else - interval = 0x0; + interval = 1 - 1; } else { if (gEquipment.suitMiscActivation & SMF_VARIA_SUIT) - interval = 0x3; + interval = 4 - 1; else - interval = 0x1; + interval = 2 - 1; } // Apply damage if (!(gFrameCounter8Bit & interval)) { - if (gEquipment.currentEnergy > 0x1) + if (gEquipment.currentEnergy > 1) { + // Damage gEquipment.currentEnergy--; - gSamusData.invincibilityTimer = 0x8; + gSamusData.invincibilityTimer = 8; } else { - gEquipment.currentEnergy = 0x0; + // Kill samus + gEquipment.currentEnergy = 0; SamusSetPose(SPOSE_HURT_REQUEST); } } @@ -262,7 +264,7 @@ void RidleyPartClawIdle(u8 ramSlot) // Get Samus position switch (gCurrentSprite.workVariable) { - case 0x0: + case 0: case RIDLEY_SAMUS_GRABBED_ACTION_CARRYING_SAMUS: updatePosition++; @@ -278,7 +280,7 @@ void RidleyPartClawIdle(u8 ramSlot) switch (gCurrentSprite.currentAnimationFrame) { - case 0x0: + case 0: yPosition = gCurrentSprite.yPosition + 0xEC; if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) xPosition = gCurrentSprite.xPosition + 0xB8; @@ -286,7 +288,7 @@ void RidleyPartClawIdle(u8 ramSlot) xPosition = gCurrentSprite.xPosition - 0xB8; break; - case 0x1: + case 1: yPosition = gCurrentSprite.yPosition + 0xDC; if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) xPosition = gCurrentSprite.xPosition + 0xD0; @@ -294,7 +296,7 @@ void RidleyPartClawIdle(u8 ramSlot) xPosition = gCurrentSprite.xPosition - 0xD0; break; - case 0x2: + case 2: yPosition = gCurrentSprite.yPosition + 0xC0; if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) xPosition = gCurrentSprite.xPosition + 0xEC; @@ -302,20 +304,20 @@ void RidleyPartClawIdle(u8 ramSlot) xPosition = gCurrentSprite.xPosition - 0xEC; break; - case 0x3: + case 3: yPosition = gCurrentSprite.yPosition + 0x9C; if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) - xPosition = gCurrentSprite.xPosition + 0xF0; + xPosition = gCurrentSprite.xPosition + (BLOCK_SIZE * 4 - QUARTER_BLOCK_SIZE); else - xPosition = gCurrentSprite.xPosition - 0xF0; + xPosition = gCurrentSprite.xPosition - (BLOCK_SIZE * 4 - QUARTER_BLOCK_SIZE); break; - case 0x4: + case 4: yPosition = gCurrentSprite.yPosition + 0x7C; if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) - xPosition = gCurrentSprite.xPosition + 0xF0; + xPosition = gCurrentSprite.xPosition + (BLOCK_SIZE * 4 - QUARTER_BLOCK_SIZE); else - xPosition = gCurrentSprite.xPosition - 0xF0; + xPosition = gCurrentSprite.xPosition - (BLOCK_SIZE * 4 - QUARTER_BLOCK_SIZE); break; } break; @@ -324,11 +326,13 @@ void RidleyPartClawIdle(u8 ramSlot) case RIDLEY_SAMUS_GRABBED_ACTION_OPENING_MOUTH: case RIDLEY_SAMUS_GRABBED_ACTION_SPITTING_FIREBALLS: updatePosition++; - yPosition = gCurrentSprite.yPosition + 0x60; + + yPosition = gCurrentSprite.yPosition + BLOCK_SIZE + HALF_BLOCK_SIZE; + if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) - xPosition = gCurrentSprite.xPosition + 0x100; + xPosition = gCurrentSprite.xPosition + BLOCK_SIZE * 4; else - xPosition = gCurrentSprite.xPosition - 0x100; + xPosition = gCurrentSprite.xPosition - BLOCK_SIZE * 4; break; } @@ -344,7 +348,7 @@ void RidleyPartClawIdle(u8 ramSlot) { // Release gSpriteData[ramSlot].pose = RIDLEY_POSE_BIG_FIREBALLS_ATTACK_INIT; - gBossWork.work3 = 0x0; + gBossWork.work3 = 0; } } @@ -356,8 +360,8 @@ void RidleyPartClawIdle(u8 ramSlot) */ void RidleyTailCheckStartScreenShakeVerticalTailAttack(void) { - if (gCurrentSprite.yPositionSpawn + 0x14 < RIDLEY_GROUND_POSITION && gCurrentSprite.yPosition + 0x14 > (BLOCK_SIZE * 18 - 2)) - ScreenShakeStartVertical(0x14, 0x81); + if (gCurrentSprite.yPositionSpawn + 0x14 < RIDLEY_GROUND_POSITION && gCurrentSprite.yPosition + 0x14 > (BLOCK_SIZE * 18 - PIXEL_SIZE / 2)) + ScreenShakeStartVertical(20, 0x80 | 1); gCurrentSprite.yPositionSpawn = gCurrentSprite.yPosition; } @@ -442,9 +446,8 @@ void RidleySpawnAscendingFireball(u16 timer) } yPosition = gCurrentSprite.yPosition - (BLOCK_SIZE + HALF_BLOCK_SIZE); - SpriteSpawnSecondary(SSPRITE_RIDLEY_FIREBALL, timer / 16 & 0xF, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, yPosition, - xPosition, status); + SpriteSpawnSecondary(SSPRITE_RIDLEY_FIREBALL, MOD_AND(timer / 16, 16), gCurrentSprite.spritesetGfxSlot, + gCurrentSprite.primarySpriteRamSlot, yPosition, xPosition, status); } /** @@ -472,100 +475,110 @@ void RidleyInit(void) gCurrentClipdataAffectingAction = caa; ClipdataProcess(yPosition, xPosition - BLOCK_SIZE * 6); + gCurrentClipdataAffectingAction = caa; ClipdataProcess(yPosition, xPosition - BLOCK_SIZE * 5); + gCurrentClipdataAffectingAction = caa; ClipdataProcess(yPosition, xPosition + BLOCK_SIZE * 6); + gCurrentClipdataAffectingAction = caa; ClipdataProcess(yPosition, xPosition + BLOCK_SIZE * 7); - gCurrentSprite.status = 0x0; + + gCurrentSprite.status = 0; + return; } - else + + if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_GRAVITY_SUIT_OBTAINED)) { - if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_GRAVITY_SUIT_OBTAINED)) - gCurrentSprite.status = 0x0; - else - { - // Has gravity - // Lock doors - gDoorUnlockTimer = 0x1; - - gCurrentSprite.drawOrder = 0x8; - gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; - - gCurrentSprite.drawDistanceTopOffset = 0x20; - gCurrentSprite.drawDistanceBottomOffset = 0x40; - gCurrentSprite.drawDistanceHorizontalOffset = 0x28; - - gCurrentSprite.hitboxTopOffset = -0xA0; - gCurrentSprite.hitboxBottomOffset = 0x80; - - // Move in ceiling - gCurrentSprite.yPosition -= BLOCK_SIZE * 8; - gCurrentSprite.xPosition -= BLOCK_SIZE; - - gSubSpriteData1.yPosition = gCurrentSprite.yPosition; - gSubSpriteData1.xPosition = gCurrentSprite.xPosition; - - health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); - gCurrentSprite.health = health; - gSubSpriteData1.health = health; - - // Damage threshold - gBossWork.work3 = 0x0; - - gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; - - gCurrentSprite.pose = RIDLEY_POSE_CHECK_PLAY_CUTSCENE; - gCurrentSprite.status |= (SPRITE_STATUS_NOT_DRAWN | SPRITE_STATUS_XFLIP | - SPRITE_STATUS_FACING_RIGHT | SPRITE_STATUS_IGNORE_PROJECTILES); - gCurrentSprite.roomSlot = RIDLEY_PART_BODY; - - yPosition = gSubSpriteData1.yPosition; - xPosition = gSubSpriteData1.xPosition; - gfxSlot = gCurrentSprite.spritesetGfxSlot; - ramSlot = gCurrentSprite.primarySpriteRamSlot; - - // Spawn left wing - SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_LEFT_WING, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - - // Spawn head - gSubSpriteData1.workVariable4 = SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_HEAD, - gfxSlot, ramSlot, yPosition, xPosition, SPRITE_STATUS_XFLIP); - - // Spawn tail - SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_TAIL, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - - SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_TIP, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_LEFT_MOST, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_LEFT_MIDDLE, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_LEFT_RIGHT, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_RIGHT_MOST, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_RIGHT_MIDDLE, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_RIGHT_LEFT, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_BODY_ATTACHMENT, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - - // Spawn claw - gSubSpriteData1.workVariable5 = SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_CLAW, - gfxSlot, ramSlot, yPosition, xPosition, SPRITE_STATUS_XFLIP); - - // Spawn right wing - SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_RIGHT_WING, gfxSlot, ramSlot, - yPosition, xPosition, SPRITE_STATUS_XFLIP); - } + // Has gravity + gCurrentSprite.status = 0; + return; } + + // Lock doors + gDoorUnlockTimer = 1; + + gCurrentSprite.drawOrder = 8; + gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; + + gCurrentSprite.drawDistanceTopOffset = 0x20; + gCurrentSprite.drawDistanceBottomOffset = 0x40; + gCurrentSprite.drawDistanceHorizontalOffset = 0x28; + + gCurrentSprite.hitboxTopOffset = -0xA0; + gCurrentSprite.hitboxBottomOffset = 0x80; + + // Move in ceiling + gCurrentSprite.yPosition -= BLOCK_SIZE * 8; + gCurrentSprite.xPosition -= BLOCK_SIZE; + + gSubSpriteData1.yPosition = gCurrentSprite.yPosition; + gSubSpriteData1.xPosition = gCurrentSprite.xPosition; + + health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); + gCurrentSprite.health = health; + gSubSpriteData1.health = health; + + // Damage threshold + gBossWork.work3 = 0; + + gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; + + gCurrentSprite.pose = RIDLEY_POSE_CHECK_PLAY_CUTSCENE; + gCurrentSprite.status |= SPRITE_STATUS_NOT_DRAWN | SPRITE_STATUS_XFLIP | SPRITE_STATUS_FACING_RIGHT | SPRITE_STATUS_IGNORE_PROJECTILES; + gCurrentSprite.roomSlot = RIDLEY_PART_BODY; + + yPosition = gSubSpriteData1.yPosition; + xPosition = gSubSpriteData1.xPosition; + gfxSlot = gCurrentSprite.spritesetGfxSlot; + ramSlot = gCurrentSprite.primarySpriteRamSlot; + + // Spawn left wing + SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_LEFT_WING, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + // Spawn head + gSubSpriteData1.workVariable4 = SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_HEAD, + gfxSlot, ramSlot, yPosition, xPosition, SPRITE_STATUS_XFLIP); + + // Spawn tail + SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_TAIL, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_TIP, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_LEFT_MOST, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_LEFT_MIDDLE, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_LEFT_RIGHT, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_RIGHT_MOST, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_RIGHT_MIDDLE, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_RIGHT_LEFT, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(SSPRITE_RIDLEY_TAIL, RIDLEY_TAIL_PART_BODY_ATTACHMENT, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); + + // Spawn claw + gSubSpriteData1.workVariable5 = SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_CLAW, + gfxSlot, ramSlot, yPosition, xPosition, SPRITE_STATUS_XFLIP); + + // Spawn right wing + SpriteSpawnSecondary(SSPRITE_RIDLEY_PART, RIDLEY_PART_RIGHT_WING, gfxSlot, ramSlot, + yPosition, xPosition, SPRITE_STATUS_XFLIP); } /** @@ -574,17 +587,17 @@ void RidleyInit(void) */ void RidleyCheckPlayCutscene(void) { - s32 spriteX; - s32 samusX; + u16 spriteX; + u16 samusX; u8 inRange; inRange = FALSE; - gCurrentSprite.ignoreSamusCollisionTimer = 0x1; + gCurrentSprite.ignoreSamusCollisionTimer = 1; if (gSamusData.yPosition == RIDLEY_GROUND_POSITION) { - spriteX = (u16)(gBossWork.work2 + HALF_BLOCK_SIZE); + spriteX = gBossWork.work2 + HALF_BLOCK_SIZE; samusX = gSamusData.xPosition; // Left of platform @@ -601,12 +614,14 @@ void RidleyCheckPlayCutscene(void) gCurrentSprite.pose = RIDLEY_POSE_SPAWNING; gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; - gCurrentSprite.workVariable = 0x0; - gCurrentSprite.arrayOffset = 0x0; - gCurrentSprite.oamScaling = 0x12C; + gCurrentSprite.workVariable = 0; + gCurrentSprite.arrayOffset = 0; + + // Timer + gCurrentSprite.oamScaling = 300; StartEffectForCutscene(EFFECT_CUTSCENE_RIDLEY_SPAWN); } @@ -667,43 +682,46 @@ void RidleySpawning(void) } gSubSpriteData1.yPosition = RIDLEY_GROUND_POSITION - (BLOCK_SIZE * 2 + HALF_BLOCK_SIZE); - ScreenShakeStartVertical(0x1E, 0x81); + ScreenShakeStartVertical(30, 0x80 | 1); + gCurrentSprite.workVariable++; - gCurrentSprite.timer = 0x1E; - gCurrentSprite.arrayOffset = 0x0; + gCurrentSprite.timer = 30; + gCurrentSprite.arrayOffset = 0; + SoundPlay(0x1E6); } break; case RIDLEY_SPAWNING_ACTION_DELAY_BEFORE_OPENING_MOUTH: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_OpeningMouth; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_OpeningMouth; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; + SoundPlay(0x1E5); - gCurrentSprite.timer = 0x5; + gCurrentSprite.timer = 5; gCurrentSprite.workVariable++; } break; case RIDLEY_SPAWNING_ACTION_OPENING_MOUTH: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { gCurrentSprite.status |= SPRITE_STATUS_MOSAIC; gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_SpittingFireballs; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_MouthOpened; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_MouthOpened; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawSpittingFireballs; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawSpittingFireballs; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; gCurrentSprite.workVariable++; SoundPlay(0x1E7); @@ -712,10 +730,10 @@ void RidleySpawning(void) case RIDLEY_SPAWNING_ACTION_SPITTING_FIREBALLS: // Spawn fireballs - if (!(gCurrentSprite.oamScaling & 0xF)) + if (MOD_AND(gCurrentSprite.oamScaling, 16) == 0) RidleySpawnAscendingFireball(gCurrentSprite.oamScaling); - if (gCurrentSprite.oamScaling != 0x0) + if (gCurrentSprite.oamScaling != 0) { gCurrentSprite.oamScaling--; @@ -735,30 +753,30 @@ void RidleySpawning(void) break; } - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_OpeningMouth; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_OpeningMouth; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; - gCurrentSprite.timer = 0x5; + gCurrentSprite.timer = 5; gCurrentSprite.workVariable++; - SoundFade(0x1E7, 0x1E); + SoundFade(0x1E7, 30); break; case RIDLEY_SPAWNING_ACTION_CLOSING_MOUTH: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadIdle; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadIdle; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawIdle; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawIdle; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; // Check turning if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) @@ -775,33 +793,33 @@ void RidleySpawning(void) if (turning) { // Set turning - gCurrentSprite.timer = 0xA; + gCurrentSprite.timer = 10; gCurrentSprite.workVariable++; } else { // Set taking off gCurrentSprite.workVariable = RIDLEY_SPAWNING_ACTION_TAKING_OFF; - gCurrentSprite.timer = 0x1E; + gCurrentSprite.timer = 30; } } break; case RIDLEY_SPAWNING_ACTION_TURNING_AROUND_INIT: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_TurningAroundFirstPart; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadTurningAround; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadTurningAround; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawTurningAroundFirstPart; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawTurningAroundFirstPart; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; gCurrentSprite.workVariable++; } @@ -811,12 +829,12 @@ void RidleySpawning(void) if (SpriteUtilCheckEndSubSprite1Anim()) { gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_TurningAroundSecondPart; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawTurningAroundSecondPart; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawTurningAroundSecondPart; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; gCurrentSprite.status ^= SPRITE_STATUS_FACING_RIGHT; gCurrentSprite.workVariable++; @@ -832,36 +850,33 @@ void RidleySpawning(void) if (SpriteUtilCheckEndSubSprite1Anim()) { gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadIdle; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadIdle; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawIdle; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawIdle; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; - gCurrentSprite.timer = 0xA; + gCurrentSprite.timer = 10; gCurrentSprite.workVariable = RIDLEY_SPAWNING_ACTION_DELAY_BEFORE_OPENING_MOUTH; } break; case RIDLEY_SPAWNING_ACTION_TAKING_OFF: - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { // Move Y on 8 blocks - yMovement = (RIDLEY_GROUND_POSITION - BLOCK_SIZE * 8); + yMovement = RIDLEY_GROUND_POSITION - BLOCK_SIZE * 8; if (yMovement < gSubSpriteData1.yPosition) { yMovement = gSubSpriteData1.yPosition - (RIDLEY_GROUND_POSITION - BLOCK_SIZE * 8); yMovement /= 4; - if (yMovement > HALF_BLOCK_SIZE) - yMovement = HALF_BLOCK_SIZE; - else if (yMovement < 0x4) - yMovement = 0x4; + CLAMP(yMovement, PIXEL_SIZE, HALF_BLOCK_SIZE); gSubSpriteData1.yPosition -= yMovement; } @@ -878,34 +893,37 @@ void RidleySpawning(void) return; case RIDLEY_SPAWNING_ACTION_UNKNOWN: - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) + { gCurrentSprite.timer--; + return; + } + + if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) + { + if (SpriteUtilGetCollisionAtPosition(gSubSpriteData1.yPosition, + gSubSpriteData1.xPosition + (BLOCK_SIZE * 5 + QUARTER_BLOCK_SIZE * 3 + PIXEL_SIZE * 3)) != COLLISION_AIR) + gCurrentSprite.status &= ~SPRITE_STATUS_FACING_RIGHT; + else + gSubSpriteData1.xPosition += QUARTER_BLOCK_SIZE; + } else { - if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - { - if (SpriteUtilGetCollisionAtPosition(gSubSpriteData1.yPosition, gSubSpriteData1.xPosition + 0x17C) != COLLISION_AIR) - gCurrentSprite.status &= ~SPRITE_STATUS_FACING_RIGHT; - else - gSubSpriteData1.xPosition += QUARTER_BLOCK_SIZE; - } + if (SpriteUtilGetCollisionAtPosition(gSubSpriteData1.yPosition, + gSubSpriteData1.xPosition - (BLOCK_SIZE * 5 + QUARTER_BLOCK_SIZE * 3 + PIXEL_SIZE * 3)) != COLLISION_AIR) + gCurrentSprite.status |= SPRITE_STATUS_FACING_RIGHT; else - { - if (SpriteUtilGetCollisionAtPosition(gSubSpriteData1.yPosition, gSubSpriteData1.xPosition - 0x17C) != COLLISION_AIR) - gCurrentSprite.status |= SPRITE_STATUS_FACING_RIGHT; - else - gSubSpriteData1.xPosition -= QUARTER_BLOCK_SIZE; - } + gSubSpriteData1.xPosition -= QUARTER_BLOCK_SIZE; + } - if (--gCurrentSprite.workVariable2 == 0x0) - { - if (gSubSpriteData1.xPosition < gSamusData.xPosition) - gCurrentSprite.status |= (SPRITE_STATUS_XFLIP | SPRITE_STATUS_FACING_RIGHT); - else - gCurrentSprite.status &= ~(SPRITE_STATUS_XFLIP | SPRITE_STATUS_FACING_RIGHT); - - gCurrentSprite.workVariable = RIDLEY_SPAWNING_ACTION_GOING_DOWN; - } + if (--gCurrentSprite.workVariable2 == 0) + { + if (gSubSpriteData1.xPosition < gSamusData.xPosition) + gCurrentSprite.status |= (SPRITE_STATUS_XFLIP | SPRITE_STATUS_FACING_RIGHT); + else + gCurrentSprite.status &= ~(SPRITE_STATUS_XFLIP | SPRITE_STATUS_FACING_RIGHT); + + gCurrentSprite.workVariable = RIDLEY_SPAWNING_ACTION_GOING_DOWN; } default: @@ -928,33 +946,33 @@ void RidleyIdleInit(void) // Update multi sprite data gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; // Update head - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadIdle; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadIdle; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; // Update claw - gSpriteData[clawSlot].pOam = sRidleyPartOAM_ClawIdle; - gSpriteData[clawSlot].animationDurationCounter = 0x0; - gSpriteData[clawSlot].currentAnimationFrame = 0x0; + gSpriteData[clawSlot].pOam = sRidleyPartOam_ClawIdle; + gSpriteData[clawSlot].animationDurationCounter = 0; + gSpriteData[clawSlot].currentAnimationFrame = 0; gSpriteData[clawSlot].samusCollision = SSC_RIDLEY_CLAW; - gCurrentSprite.workVariable = 0x0; - gCurrentSprite.arrayOffset = 0x0; + gCurrentSprite.workVariable = 0; + gCurrentSprite.arrayOffset = 0; gCurrentSprite.pose = RIDLEY_POSE_IDLE; - range = (BLOCK_SIZE * 10 - 1); + range = BLOCK_SIZE * 10 - PIXEL_SIZE / PIXEL_SIZE; if (range < gSubSpriteData1.yPosition) { - gCurrentSprite.timer = 0x0; + gCurrentSprite.timer = 0; gCurrentSprite.status &= ~SPRITE_STATUS_MOSAIC; } else { - gCurrentSprite.timer = 0x3C; + gCurrentSprite.timer = 60; gCurrentSprite.status |= SPRITE_STATUS_MOSAIC; } } @@ -987,76 +1005,76 @@ void RidleyIdle(void) if (action == RIDLEY_SAMUS_GRABBED_ACTION_NONE) { - gSpriteData[clawSlot].pOam = sRidleyPartOAM_ClawCarryingSamus; - gSpriteData[clawSlot].animationDurationCounter = 0x0; - gSpriteData[clawSlot].currentAnimationFrame = 0x0; - gSpriteData[clawSlot].drawOrder = 0x8; + gSpriteData[clawSlot].pOam = sRidleyPartOam_ClawCarryingSamus; + gSpriteData[clawSlot].animationDurationCounter = 0; + gSpriteData[clawSlot].currentAnimationFrame = 0; + gSpriteData[clawSlot].drawOrder = 8; gSpriteData[clawSlot].workVariable = RIDLEY_SAMUS_GRABBED_ACTION_CARRYING_SAMUS; - gSpriteData[clawSlot].timer = 0x14; + gSpriteData[clawSlot].timer = 20; } else if (action == RIDLEY_SAMUS_GRABBED_ACTION_CARRYING_SAMUS) { gSpriteData[clawSlot].timer--; - if (gSpriteData[clawSlot].timer == 0x0) + if (gSpriteData[clawSlot].timer == 0) { - gSpriteData[clawSlot].pOam = sRidleyPartOAM_ClawLiftingSamus; - gSpriteData[clawSlot].animationDurationCounter = 0x0; - gSpriteData[clawSlot].currentAnimationFrame = 0x0; + gSpriteData[clawSlot].pOam = sRidleyPartOam_ClawLiftingSamus; + gSpriteData[clawSlot].animationDurationCounter = 0; + gSpriteData[clawSlot].currentAnimationFrame = 0; gSpriteData[clawSlot].workVariable = RIDLEY_SAMUS_GRABBED_ACTION_LIFTING_SAMUS; - gSpriteData[clawSlot].timer = 0x1C; + gSpriteData[clawSlot].timer = 28; SoundPlay(0x1E4); } } else if (action == RIDLEY_SAMUS_GRABBED_ACTION_LIFTING_SAMUS) { gSpriteData[clawSlot].timer--; - if (gSpriteData[clawSlot].timer == 0x0) + if (gSpriteData[clawSlot].timer == 0) { - gSpriteData[clawSlot].pOam = sRidleyPartOAM_ClawSamusLifted; - gSpriteData[clawSlot].animationDurationCounter = 0x0; - gSpriteData[clawSlot].currentAnimationFrame = 0x0; + gSpriteData[clawSlot].pOam = sRidleyPartOam_ClawSamusLifted; + gSpriteData[clawSlot].animationDurationCounter = 0; + gSpriteData[clawSlot].currentAnimationFrame = 0; gSpriteData[clawSlot].workVariable = RIDLEY_SAMUS_GRABBED_ACTION_SAMUS_LIFTED; - gSpriteData[clawSlot].timer = 0x14; + gSpriteData[clawSlot].timer = 20; } } else if (action == RIDLEY_SAMUS_GRABBED_ACTION_SAMUS_LIFTED) { gSpriteData[clawSlot].timer--; - if (gSpriteData[clawSlot].timer == 0x0) + if (gSpriteData[clawSlot].timer == 0) { - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_OpeningMouth; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_OpeningMouth; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; SoundPlay(0x1E5); gSpriteData[clawSlot].workVariable = RIDLEY_SAMUS_GRABBED_ACTION_OPENING_MOUTH; - gSpriteData[clawSlot].timer = 0x5; + gSpriteData[clawSlot].timer = 5; } } else if (action == RIDLEY_SAMUS_GRABBED_ACTION_OPENING_MOUTH) { gSpriteData[clawSlot].timer--; - if (gSpriteData[clawSlot].timer == 0x0) + if (gSpriteData[clawSlot].timer == 0) { gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_SpittingFireballs; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_MouthOpened; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_MouthOpened; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; gSpriteData[clawSlot].workVariable = RIDLEY_SAMUS_GRABBED_ACTION_SPITTING_FIREBALLS; - gSpriteData[clawSlot].timer = 0x0; - gSpriteData[clawSlot].workVariable2 = 0x0; + gSpriteData[clawSlot].timer = 0; + gSpriteData[clawSlot].workVariable2 = 0; } } else if (action == RIDLEY_SAMUS_GRABBED_ACTION_SPITTING_FIREBALLS) { - if (!(gSpriteData[clawSlot].timer++ & 0xF)) + if (MOD_AND(gSpriteData[clawSlot].timer++, 16) == 0) { if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) { @@ -1077,28 +1095,28 @@ void RidleyIdle(void) } // Update release timer - if (gChangedInput & (KEY_A | KEY_B | KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN)) - gSpriteData[clawSlot].workVariable2 += 0x4; - else if (gSpriteData[clawSlot].workVariable2 != 0x0) + if (gChangedInput & (KEY_A | KEY_B | KEY_ALL_DIRECTIONS)) + gSpriteData[clawSlot].workVariable2 += 4; + else if (gSpriteData[clawSlot].workVariable2 != 0) gSpriteData[clawSlot].workVariable2--; // Check release Samus (timer overflowed or mashed enough keys) - if (gSpriteData[clawSlot].timer == 0x0 || gSpriteData[clawSlot].workVariable2 > 0x10) + if (gSpriteData[clawSlot].timer == 0 || gSpriteData[clawSlot].workVariable2 > 16) { // Release Samus - gSpriteData[clawSlot].pOam = sRidleyPartOAM_ClawReleasingSamus; - gSpriteData[clawSlot].animationDurationCounter = 0x0; - gSpriteData[clawSlot].currentAnimationFrame = 0x0; + gSpriteData[clawSlot].pOam = sRidleyPartOam_ClawReleasingSamus; + gSpriteData[clawSlot].animationDurationCounter = 0; + gSpriteData[clawSlot].currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_OpeningMouth; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_OpeningMouth; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; gSpriteData[clawSlot].status &= ~SPRITE_STATUS_SAMUS_COLLIDING; gSpriteData[clawSlot].workVariable = RIDLEY_SAMUS_GRABBED_ACTION_RELEASING_SAMUS; - gSpriteData[clawSlot].timer = 0x5; - gSpriteData[clawSlot].drawOrder = 0x9; - gSpriteData[clawSlot].ignoreSamusCollisionTimer = 0x1F; + gSpriteData[clawSlot].timer = 5; + gSpriteData[clawSlot].drawOrder = 9; + gSpriteData[clawSlot].ignoreSamusCollisionTimer = 31; } } } @@ -1107,7 +1125,7 @@ void RidleyIdle(void) if (action == RIDLEY_SAMUS_GRABBED_ACTION_RELEASING_SAMUS) { gSpriteData[clawSlot].timer--; - if (gSpriteData[clawSlot].timer == 0x0) + if (gSpriteData[clawSlot].timer == 0) { gCurrentSprite.pose = RIDLEY_POSE_IDLE_INIT; gSpriteData[clawSlot].workVariable = RIDLEY_SAMUS_GRABBED_ACTION_NONE; @@ -1115,20 +1133,20 @@ void RidleyIdle(void) } } - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) { if (!samusGrabbed) { // Check start new attack gCurrentSprite.timer--; - if (SpriteUtilCheckCrouchingOrMorphed() && gSpriteRng > 0x7 && gCurrentSprite.timer == 0x0) + if (SpriteUtilCheckCrouchingOrMorphed() && gSpriteRng > 7 && gCurrentSprite.timer == 0) { if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { if (gSubSpriteData1.xPosition < gSamusData.xPosition) { // Samus in front - if (gSpriteRng > 0xD) + if (gSpriteRng > 13) { gCurrentSprite.pose = RIDLEY_POSE_TAIL_ATTACKS_INIT; return; @@ -1145,7 +1163,7 @@ void RidleyIdle(void) if (gSubSpriteData1.xPosition > gSamusData.xPosition) { // Samus in front - if (gSpriteRng > 0xD) + if (gSpriteRng > 13) { gCurrentSprite.pose = RIDLEY_POSE_TAIL_ATTACKS_INIT; return; @@ -1160,7 +1178,7 @@ void RidleyIdle(void) } // Check start big fireballs attack - if (!(gFrameCounter8Bit & 0xF) && gSpriteRng > 0x8 && gCurrentSprite.timer < 0xA) + if (MOD_AND(gFrameCounter8Bit, 16) == 0 && gSpriteRng > 8 && gCurrentSprite.timer < 10) { if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { @@ -1191,20 +1209,20 @@ void RidleyIdle(void) if (gCurrentSprite.status & SPRITE_STATUS_MOSAIC) { - yMovement = gSubSpriteData1.yPosition + BLOCK_SIZE * 4 + 4; + yMovement = gSubSpriteData1.yPosition + BLOCK_SIZE * 4 + PIXEL_SIZE; if (yMovement < RIDLEY_GROUND_POSITION) { // Going down yMovement = RIDLEY_GROUND_POSITION - yMovement; yMovement /= 4; - if (yMovement > 0x10) - yMovement = 0x10; + if (yMovement > QUARTER_BLOCK_SIZE) + yMovement = QUARTER_BLOCK_SIZE; gSubSpriteData1.yPosition += yMovement; - if (yMovement == 0x0) + if (yMovement == 0) { - if (gCurrentSprite.workVariable < 0x11) + if (gCurrentSprite.workVariable < 17) gCurrentSprite.workVariable++; // Check should start slide @@ -1221,9 +1239,9 @@ void RidleyIdle(void) } } - if ((gCurrentSprite.workVariable > 0x10 && !startSlide) || samusGrabbed) + if ((gCurrentSprite.workVariable > 16 && !startSlide) || samusGrabbed) { - gCurrentSprite.workVariable = 0x0; + gCurrentSprite.workVariable = 0; gCurrentSprite.status &= ~SPRITE_STATUS_MOSAIC; } } @@ -1242,10 +1260,7 @@ void RidleyIdle(void) yMovement = gSubSpriteData1.yPosition - yMovement; yMovement /= 4; - if (yMovement > 0x10) - yMovement = 0x10; - else if (yMovement < 0x4) - yMovement = 0x4; + CLAMP(yMovement, PIXEL_SIZE, QUARTER_BLOCK_SIZE); gSubSpriteData1.yPosition -= yMovement; } @@ -1290,7 +1305,7 @@ void RidleyIdle(void) } // Check turn around - if (turningAround && (gCurrentSprite.timer != 0x0 || (gCurrentSprite.workVariable > 0x10 && startSlide))) + if (turningAround && (gCurrentSprite.timer != 0 || (gCurrentSprite.workVariable > 0x10 && startSlide))) gCurrentSprite.pose = RIDLEY_POSE_TURNING_AROUND_INIT; } else @@ -1317,18 +1332,18 @@ void RidleyTurningAroundInit(void) { // Update multi sprite data gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_TurningAroundFirstPart; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; // Update head - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadTurningAround; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadTurningAround; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; // Update claw - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawTurningAroundFirstPart; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawTurningAroundFirstPart; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_POSE_TURNING_AROUND_FIRST_PART; } @@ -1347,13 +1362,13 @@ void RidleyTurningAroundFirstPart(void) // Update multi sprite data gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_TurningAroundSecondPart; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; // Update claw - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawTurningAroundSecondPart; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawTurningAroundSecondPart; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; // Flip gCurrentSprite.status ^= SPRITE_STATUS_FACING_RIGHT; @@ -1379,18 +1394,18 @@ void RidleyTurningAroundSecondPart(void) // Update multi sprite data gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; // Update head - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadIdle; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadIdle; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; // Update claw - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawIdle; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawIdle; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; } } @@ -1404,18 +1419,18 @@ void RidleySmallFireballsAttackInit(void) clawSlot = gSubSpriteData1.workVariable5; - gSpriteData[clawSlot].pOam = sRidleyPartOAM_ClawSpittingFireballs; - gSpriteData[clawSlot].animationDurationCounter = 0x0; - gSpriteData[clawSlot].currentAnimationFrame = 0x0; + gSpriteData[clawSlot].pOam = sRidleyPartOam_ClawSpittingFireballs; + gSpriteData[clawSlot].animationDurationCounter = 0; + gSpriteData[clawSlot].currentAnimationFrame = 0; gSpriteData[clawSlot].status &= ~SPRITE_STATUS_SAMUS_COLLIDING; gSpriteData[clawSlot].samusCollision = SSC_NONE; - gSpriteData[clawSlot].workVariable = 0x0; + gSpriteData[clawSlot].workVariable = 0; gSpriteData[clawSlot].drawOrder = 0x9; gCurrentSprite.pose = RIDLEY_POSE_SMALL_FIREBALLS_ATTACK; gCurrentSprite.workVariable = RIDLEY_SMALL_FIREBALLS_ATTACK_ACTION_GOING_DOWN; - gCurrentSprite.arrayOffset = 0x0; + gCurrentSprite.arrayOffset = 0; gCurrentSprite.oamScaling = 0xB4; } @@ -1451,7 +1466,7 @@ void RidleySmallFireballsAttack(void) gCurrentSprite.workVariable++; gCurrentSprite.timer = 0x1E; - gCurrentSprite.arrayOffset = 0x0; + gCurrentSprite.arrayOffset = 0; SoundPlay(0x1E6); } @@ -1459,12 +1474,12 @@ void RidleySmallFireballsAttack(void) case RIDLEY_SMALL_FIREBALLS_ATTACK_ACTION_DELAY_BEFORE_OPENING_MOUTH: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { // Update head - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_OpeningMouth; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_OpeningMouth; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; SoundPlay(0x1E5); gCurrentSprite.timer = 0x5; @@ -1474,18 +1489,18 @@ void RidleySmallFireballsAttack(void) case RIDLEY_SMALL_FIREBALLS_ATTACK_ACTION_OPENING_MOUTH: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { // Set spitting fireballs behavior // Update multi sprite data gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_SpittingFireballs; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; // Update head - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_MouthOpened; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_MouthOpened; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; gCurrentSprite.workVariable++; SoundPlay(0x1E7); @@ -1497,7 +1512,7 @@ void RidleySmallFireballsAttack(void) if (!(gCurrentSprite.oamScaling & 0xF)) RidleySpawnAscendingFireball(gCurrentSprite.oamScaling); - if (gCurrentSprite.oamScaling != 0x0) + if (gCurrentSprite.oamScaling != 0) { gCurrentSprite.oamScaling--; // Check stop attack if samus is behind Ridley @@ -1517,9 +1532,9 @@ void RidleySmallFireballsAttack(void) } // Update head - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_OpeningMouth; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_OpeningMouth; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; gCurrentSprite.timer = 0x5; gCurrentSprite.workVariable++; @@ -1528,22 +1543,22 @@ void RidleySmallFireballsAttack(void) case RIDLEY_SMALL_FIREBALLS_ATTACK_ACTION_CLOSING_MOUTH: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { // Update multi sprite data gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; // Update head - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadIdle; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadIdle; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; // Update claw - gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOAM_ClawIdle; - gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable5].pOam = sRidleyPartOam_ClawIdle; + gSpriteData[gSubSpriteData1.workVariable5].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable5].currentAnimationFrame = 0; gCurrentSprite.workVariable = RIDLEY_SMALL_FIREBALLS_ATTACK_ACTION_TAKING_OFF; gCurrentSprite.timer = 0x1E; @@ -1551,7 +1566,7 @@ void RidleySmallFireballsAttack(void) break; case RIDLEY_SMALL_FIREBALLS_ATTACK_ACTION_TAKING_OFF: - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) gCurrentSprite.timer--; else { @@ -1586,16 +1601,16 @@ void RidleyTailAttacksInit(void) clawSlot = gSubSpriteData1.workVariable5; gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_Idle; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadIdle; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadIdle; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; - gSpriteData[clawSlot].pOam = sRidleyPartOAM_ClawIdle; - gSpriteData[clawSlot].animationDurationCounter = 0x0; - gSpriteData[clawSlot].currentAnimationFrame = 0x0; + gSpriteData[clawSlot].pOam = sRidleyPartOam_ClawIdle; + gSpriteData[clawSlot].animationDurationCounter = 0; + gSpriteData[clawSlot].currentAnimationFrame = 0; } /** @@ -1619,41 +1634,41 @@ void RidleyBigFireballsAttackInit(void) clawSlot = gSubSpriteData1.workVariable5; gSubSpriteData1.pMultiOam = sRidleyMultiSpriteData_SpittingFireballs; - gSubSpriteData1.animationDurationCounter = 0x0; - gSubSpriteData1.currentAnimationFrame = 0x0; + gSubSpriteData1.animationDurationCounter = 0; + gSubSpriteData1.currentAnimationFrame = 0; if (gCurrentSprite.pose == RIDLEY_POSE_BIG_FIREBALLS_ATTACK_INIT) { // Normal attack - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_MouthOpened; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_MouthOpened; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; pose = RIDLEY_POSE_BIG_FIREBALLS_ATTACK; } else { // Attack forced because Ridley got hurt - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_HeadDying; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_HeadDying; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; pose = RIDLEY_POSE_HURT_BIG_FIREBALLS_ATTACK; } // Update claw - gSpriteData[clawSlot].pOam = sRidleyPartOAM_ClawSpittingFireballs; - gSpriteData[clawSlot].animationDurationCounter = 0x0; - gSpriteData[clawSlot].currentAnimationFrame = 0x0; + gSpriteData[clawSlot].pOam = sRidleyPartOam_ClawSpittingFireballs; + gSpriteData[clawSlot].animationDurationCounter = 0; + gSpriteData[clawSlot].currentAnimationFrame = 0; gSpriteData[clawSlot].status &= ~SPRITE_STATUS_SAMUS_COLLIDING; gSpriteData[clawSlot].samusCollision = SSC_NONE; - gSpriteData[clawSlot].workVariable = 0x0; + gSpriteData[clawSlot].workVariable = 0; gSpriteData[clawSlot].drawOrder = 0x9; - if (gCurrentSprite.health == 0x0) + if (gCurrentSprite.health == 0) { // Set dying gCurrentSprite.pose = RIDLEY_POSE_DYING; - gCurrentSprite.timer = 0x0; + gCurrentSprite.timer = 0; gCurrentSprite.workVariable = 0x96; gCurrentSprite.workVariable2 = 0xB4; gCurrentSprite.arrayOffset = 0x1; @@ -1677,7 +1692,7 @@ void RidleyBigFireballsAttack(void) u16 xPosition; u16 status; - if (--gCurrentSprite.timer == 0x0) + if (--gCurrentSprite.timer == 0) { // Set new pose if (gCurrentSprite.pose == RIDLEY_POSE_BIG_FIREBALLS_ATTACK) @@ -1694,9 +1709,9 @@ void RidleyBigFireballsAttack(void) else if (gCurrentSprite.timer == 0x4) { // Update head - gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOAM_OpeningMouth; - gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0x0; - gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0x0; + gSpriteData[gSubSpriteData1.workVariable4].pOam = sRidleyPartOam_OpeningMouth; + gSpriteData[gSubSpriteData1.workVariable4].animationDurationCounter = 0; + gSpriteData[gSubSpriteData1.workVariable4].currentAnimationFrame = 0; } else if (gCurrentSprite.timer == 0x14) { @@ -1738,20 +1753,20 @@ void RidleyDying(void) u8 rngParam1; u8 rngParam2; - gCurrentSprite.ignoreSamusCollisionTimer = 0x1; + gCurrentSprite.ignoreSamusCollisionTimer = 1; - if (gCurrentSprite.workVariable2 != 0x0) + if (gCurrentSprite.workVariable2 != 0) { - if (gCurrentSprite.workVariable2 > 0x2) + if (gCurrentSprite.workVariable2 > 2) gCurrentSprite.workVariable2--; else { if (gSubSpriteData1.yPosition > (RIDLEY_GROUND_POSITION - BLOCK_SIZE * 5)) gCurrentSprite.workVariable2--; - if (gCurrentSprite.workVariable2 == 0x1) + if (gCurrentSprite.workVariable2 == 1) StartEffectForCutscene(EFFECT_CUTSCENE_STATUE_OPENING); - else if (gCurrentSprite.workVariable2 == 0x0) + else if (gCurrentSprite.workVariable2 == 0) FadeMusic(0x96); } } @@ -1783,14 +1798,14 @@ void RidleyDying(void) gCurrentSprite.timer++; gCurrentSprite.arrayOffset++; - if (gCurrentSprite.workVariable2 == 0x0) + if (gCurrentSprite.workVariable2 == 0) { - // After cutscen + // After cutscene // Add more effects - if (!(gCurrentSprite.timer & 0xF)) + if (MOD_AND(gCurrentSprite.timer, 16) == 0) { - if (gCurrentSprite.timer & 0x8) + if (gCurrentSprite.timer & 8) ParticleSet(gCurrentSprite.yPosition - rngParam1 * 8, gCurrentSprite.xPosition - rngParam1 * 8, PE_SPRITE_EXPLOSION_BIG); else ParticleSet(gCurrentSprite.yPosition - rngParam1 * 4, gCurrentSprite.xPosition - rngParam1 * 4, PE_SPRITE_EXPLOSION_SINGLE_THEN_BIG); @@ -1799,24 +1814,30 @@ void RidleyDying(void) if (!(gCurrentSprite.arrayOffset & 0xF)) { if (gCurrentSprite.arrayOffset & 0x8) - ParticleSet(gCurrentSprite.yPosition - 0x40 - rngParam1 * 8, gCurrentSprite.xPosition + 0x20 + rngParam1 * 8, PE_SPRITE_EXPLOSION_BIG); + { + ParticleSet(gCurrentSprite.yPosition - BLOCK_SIZE - rngParam1 * 8, + gCurrentSprite.xPosition + HALF_BLOCK_SIZE + rngParam1 * 8, PE_SPRITE_EXPLOSION_BIG); + } else - ParticleSet(gCurrentSprite.yPosition + 0x50 + rngParam1 * 8, gCurrentSprite.xPosition + 0x20 + rngParam1 * 2, PE_SPRITE_EXPLOSION_BIG); + { + ParticleSet(gCurrentSprite.yPosition + 0x50 + rngParam1 * 8, + gCurrentSprite.xPosition + 0x20 + rngParam1 * 2, PE_SPRITE_EXPLOSION_BIG); + } } // Flicker gCurrentSprite.status ^= SPRITE_STATUS_NOT_DRAWN; - if (--gCurrentSprite.workVariable == 0x0) + if (--gCurrentSprite.workVariable == 0) { // Kill sprite - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; // Unlock doors gDoorUnlockTimer = -0x3C; // Set event EventFunction(EVENT_ACTION_SETTING, EVENT_RIDLEY_KILLED); // Update minimap MinimapUpdateChunk(EVENT_RIDLEY_KILLED); - PlayMusic(MUSIC_BOSS_KILLED, 0x0); + PlayMusic(MUSIC_BOSS_KILLED, 0); } else if (gCurrentSprite.workVariable == 0x95) SoundPlay(0x1EF); @@ -1841,10 +1862,10 @@ void RidleyPartInit(void) gCurrentSprite.drawDistanceBottomOffset = 0x28; gCurrentSprite.drawDistanceHorizontalOffset = 0x30; - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; gCurrentSprite.samusCollision = SSC_NONE; break; @@ -1877,7 +1898,7 @@ void RidleyPartInit(void) gCurrentSprite.hitboxRightOffset = -0xA0; gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; - gCurrentSprite.workVariable = 0x0; + gCurrentSprite.workVariable = 0; break; case RIDLEY_PART_TAIL: @@ -1887,10 +1908,10 @@ void RidleyPartInit(void) gCurrentSprite.drawDistanceBottomOffset = 0x1; gCurrentSprite.drawDistanceHorizontalOffset = 0x1; - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; gCurrentSprite.samusCollision = SSC_NONE; break; @@ -1902,16 +1923,16 @@ void RidleyPartInit(void) gCurrentSprite.drawDistanceBottomOffset = 0x28; gCurrentSprite.drawDistanceHorizontalOffset = 0x20; - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; gCurrentSprite.samusCollision = SSC_NONE; break; default: - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; } RidleySyncSubSprites(); @@ -1925,12 +1946,12 @@ void RidleyPartInit(void) void RidleyPartWingPlaySound(u8 ramSlot) { if (gSpriteData[ramSlot].pose > RIDLEY_POSE_CHECK_PLAY_CUTSCENE && - (gSpriteData[ramSlot].pose != RIDLEY_POSE_DYING || gSpriteData[ramSlot].workVariable2 != 0x0) && - gCurrentSprite.currentAnimationFrame == 0x0 && gCurrentSprite.animationDurationCounter == 0x1) + (gSpriteData[ramSlot].pose != RIDLEY_POSE_DYING || gSpriteData[ramSlot].workVariable2 != 0) && + gCurrentSprite.currentAnimationFrame == 0 && gCurrentSprite.animationDurationCounter == 0x1) { - if (gCurrentSprite.pOam == sRidleyPartOAM_LeftWingIdle) + if (gCurrentSprite.pOam == sRidleyPartOam_LeftWingIdle) SoundPlay(0x1E1); - else if (gCurrentSprite.pOam == sRidleyPartOAM_LeftWingSpittingFireballs) + else if (gCurrentSprite.pOam == sRidleyPartOam_LeftWingSpittingFireballs) SoundPlay(0x1E2); } } @@ -1948,7 +1969,7 @@ void RidleyPartWingSetPaletteOffset(void) flag = 15 << 12; if ((part & flag) == 1 << 15) - gCurrentSprite.frozenPaletteRowOffset = 0x0; + gCurrentSprite.frozenPaletteRowOffset = 0; else gCurrentSprite.frozenPaletteRowOffset = 0x1; } @@ -2037,7 +2058,7 @@ void RidleyTailDead(void) break; default: - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; } } @@ -2059,10 +2080,10 @@ void RidleyTailInit(void) { // Set multi sprite data gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_Idle; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; - gCurrentSprite.yPositionSpawn = 0x0; + gCurrentSprite.yPositionSpawn = 0; gCurrentSprite.drawDistanceTopOffset = 0x10; gCurrentSprite.drawDistanceBottomOffset = 0x10; @@ -2100,8 +2121,8 @@ void RidleyTailIdle(void) if (gSubSpriteData1.pMultiOam != sRidleyMultiSpriteData_SpittingFireballs && gSubSpriteData2.pMultiOam == sRidleyTailMultiSpriteData_Dying) { gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_Idle; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; } if (gSpriteData[ramSlot].pose == RIDLEY_POSE_TAIL_ATTACKS_INIT) @@ -2109,8 +2130,8 @@ void RidleyTailIdle(void) gCurrentSprite.pose = RIDLEY_TAIL_POSE_MOVE_TO_ATTACK; gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_MoveToAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; } } @@ -2123,8 +2144,8 @@ void RidleyTailCheckMovingToAttackAnimEnded(void) if (SpriteUtilCheckEndSubSprite2Anim()) { gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_SettingUpDiagonalTailAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_TAIL_POSE_SETTING_UP_ATTACK; } @@ -2142,8 +2163,8 @@ void RidleyTailSettingUpAttack(void) if (SpriteUtilCheckEndSubSprite2Anim()) { gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_ChargingDiagonalTailAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_TAIL_POSE_CHARGING_ATTACK; @@ -2203,8 +2224,8 @@ void RidleyTailChargingAttack(void) { // Do diagonal gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_DiagonalTailAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_TAIL_POSE_DIAGONAL_ATTACK; } @@ -2214,18 +2235,18 @@ void RidleyTailChargingAttack(void) if (gDifficulty == DIFF_EASY) { gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_LastVerticalAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; // Only 1 attack if easy gCurrentSprite.pose = RIDLEY_TAIL_POSE_LAST_VERTICAL_ATTACK; - gCurrentSprite.timer = 0x0; + gCurrentSprite.timer = 0; } else { gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_ChargingVerticalTailAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_TAIL_POSE_FIRST_VERTICAL_ATTACK; } @@ -2245,8 +2266,8 @@ void RidleyTailFirstVerticalAttack(void) if (SpriteUtilCheckEndSubSprite2Anim()) { gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_VerticalTailAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_TAIL_POSE_VERTICAL_ATTACK; } else @@ -2270,7 +2291,7 @@ void RidleyTailVerticalAttack(void) u8 stopAttack; u8 ramSlot; - if (gSubSpriteData2.currentAnimationFrame == 0x0 && gSubSpriteData2.animationDurationCounter == 0x1) + if (gSubSpriteData2.currentAnimationFrame == 0 && gSubSpriteData2.animationDurationCounter == 0x1) SoundPlay(0x1EC); stopAttack = FALSE; @@ -2280,7 +2301,7 @@ void RidleyTailVerticalAttack(void) { // Check stop attack gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) stopAttack++; else { @@ -2300,8 +2321,8 @@ void RidleyTailVerticalAttack(void) if (stopAttack) { gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_LastVerticalAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_TAIL_POSE_LAST_VERTICAL_ATTACK; return; @@ -2323,25 +2344,25 @@ void RidleyTailVerticalAttack(void) */ void RidleyTailLastVerticalAttack(void) { - if (gSubSpriteData2.currentAnimationFrame == 0x0 && gSubSpriteData2.animationDurationCounter == 0x1) + if (gSubSpriteData2.currentAnimationFrame == 0 && gSubSpriteData2.animationDurationCounter == 0x1) SoundPlay(0x1EC); if (SpriteUtilCheckEndSubSprite2Anim()) { // Check still has swipes left - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) { gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_ChargingDiagonalTailAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_TAIL_POSE_CHARGING_ATTACK; } else { // Back to idle gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_BackToIdle; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; gCurrentSprite.pose = RIDLEY_TAIL_POSE_BACK_TO_IDLE; } } @@ -2374,20 +2395,20 @@ void RidleyTailDiagonalAttack(void) { // Decrement swipe counter pSprite->timer--; - if (pSprite->timer == 0x0) + if (pSprite->timer == 0) { // No more swipes, set back to idle gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_BackToIdle; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; pSprite->pose = RIDLEY_TAIL_POSE_BACK_TO_IDLE; } else { // Start new swipe gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_ChargingDiagonalTailAttack; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; pSprite->pose = RIDLEY_TAIL_POSE_CHARGING_ATTACK; } } @@ -2415,8 +2436,8 @@ void RidleyTailCheckBackToIdleAnimEnded(void) { // Update multi sprite data gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_Idle; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; // Set the tail and Ridley to idle gCurrentSprite.pose = RIDLEY_TAIL_POSE_IDLE; @@ -2466,43 +2487,43 @@ void RidleyFireballInit(void) gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; gCurrentSprite.properties |= SP_KILL_OFF_SCREEN; - gCurrentSprite.bgPriority = gIoRegistersBackup.BG1CNT & 0x3; - gCurrentSprite.drawOrder = 0x2; + gCurrentSprite.bgPriority = MOD_AND(gIoRegistersBackup.BG1CNT,4); + gCurrentSprite.drawOrder = 2; if (gCurrentSprite.spriteID == SSPRITE_RIDLEY_BIG_FIREBALL) { // Big fireball - gCurrentSprite.drawDistanceTopOffset = 0x10; - gCurrentSprite.drawDistanceBottomOffset = 0x10; - gCurrentSprite.drawDistanceHorizontalOffset = 0x10; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -0x28; - gCurrentSprite.hitboxBottomOffset = 0x28; - gCurrentSprite.hitboxLeftOffset = -0x28; - gCurrentSprite.hitboxRightOffset = 0x28; + gCurrentSprite.hitboxTopOffset = -(HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.hitboxBottomOffset = (HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.hitboxLeftOffset = -(HALF_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.hitboxRightOffset = (HALF_BLOCK_SIZE + PIXEL_SIZE * 2); - gCurrentSprite.pOam = sRidleyFireballOAM_Big; + gCurrentSprite.pOam = sRidleyFireballOam_Big; } else { // Small fireball - gCurrentSprite.drawDistanceTopOffset = 0x8; - gCurrentSprite.drawDistanceBottomOffset = 0x8; - gCurrentSprite.drawDistanceHorizontalOffset = 0x8; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); gCurrentSprite.hitboxTopOffset = -0x1C; gCurrentSprite.hitboxBottomOffset = 0x1C; gCurrentSprite.hitboxLeftOffset = -0x1C; gCurrentSprite.hitboxRightOffset = 0x1C; - gCurrentSprite.pOam = sRidleyFireballOAM_Small; + gCurrentSprite.pOam = sRidleyFireballOam_Small; } - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; gCurrentSprite.health = GET_SSPRITE_HEALTH(gCurrentSprite.spriteID); - gCurrentSprite.oamRotation = 0x0; + gCurrentSprite.oamRotation = 0; if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) gCurrentSprite.status |= SPRITE_STATUS_XFLIP; @@ -2512,23 +2533,25 @@ void RidleyFireballInit(void) { // Diagonal pattern (when Samus is grabbed) gCurrentSprite.samusCollision = SSC_HURTS_SAMUS_STOP_DIES_WHEN_HIT_NO_KNOCKBACK; - gCurrentSprite.oamScaling = 0x80; + gCurrentSprite.oamScaling = Q_8_8(.5f); gCurrentSprite.pose = RIDLEY_FIREBALL_POSE_MOVE_DIAGONAL_PATTERN; } else if (gCurrentSprite.roomSlot & RIDLEY_FIREBALL_PART_FLOATING_PATTERN) { // Floating pattern (big fireballs) gCurrentSprite.samusCollision = SSC_HURTS_SAMUS_STOP_DIES_WHEN_HIT; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.pose = RIDLEY_FIREBALL_POSE_MOVE_FLOATING_PATTERN; } else { // Descending pattern (small fireballs) gCurrentSprite.samusCollision = SSC_HURTS_SAMUS_STOP_DIES_WHEN_HIT; - gCurrentSprite.oamScaling = 0x80; - gCurrentSprite.timer = 0x10; - gCurrentSprite.workVariable2 = 0x0; + + gCurrentSprite.oamScaling = Q_8_8(.5f); + + gCurrentSprite.timer = 16; + gCurrentSprite.workVariable2 = 0; gCurrentSprite.pose = RIDLEY_FIREBALL_POSE_MOVE_DESCENDING_PATTERN; if (gCurrentSprite.yPosition < gSamusData.yPosition) @@ -2542,20 +2565,20 @@ void RidleyFireballInit(void) */ void RidleyFireballMoveDiagonalPattern(void) { - if (gCurrentSprite.oamScaling < 0xF0) + if (gCurrentSprite.oamScaling < Q_8_8(.94f)) { gCurrentSprite.yPosition = gSpriteData[gCurrentSprite.primarySpriteRamSlot].yPosition - (BLOCK_SIZE + HALF_BLOCK_SIZE); - gCurrentSprite.oamScaling += 0x10; + gCurrentSprite.oamScaling += Q_8_8(.065f); } else { // Move if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - gCurrentSprite.xPosition += 0x8; + gCurrentSprite.xPosition += PIXEL_SIZE * 2; else - gCurrentSprite.xPosition -= 0x8; + gCurrentSprite.xPosition -= PIXEL_SIZE * 2; - gCurrentSprite.yPosition += 0xA; + gCurrentSprite.yPosition += PIXEL_SIZE * 2 + PIXEL_SIZE / 2; RidleyFireballCheckSlideOnWall(); } @@ -2570,28 +2593,28 @@ void RidleyFireballMoveFloatingPattern(void) u8 part; if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - gCurrentSprite.xPosition += 0x4; + gCurrentSprite.xPosition += PIXEL_SIZE; else - gCurrentSprite.xPosition -= 0x4; + gCurrentSprite.xPosition -= PIXEL_SIZE; // Update Y position - part = gCurrentSprite.roomSlot & 0x7F; + part = MOD_AND(gCurrentSprite.roomSlot, 128); switch (part) { case RIDLEY_FIREBALL_PART_MIDDLE_TOP: - gCurrentSprite.yPosition -= 0x4; + gCurrentSprite.yPosition -= PIXEL_SIZE; break; case RIDLEY_FIREBALL_PART_MIDDLE: - gCurrentSprite.yPosition += 0x4; + gCurrentSprite.yPosition += PIXEL_SIZE; break; case RIDLEY_FIREBALL_PART_MIDDLE_BOTTOM: - gCurrentSprite.yPosition += 0x8; + gCurrentSprite.yPosition += PIXEL_SIZE * 2; break; case RIDLEY_FIREBALL_PART_BOTTOM: - gCurrentSprite.yPosition += 0xC; + gCurrentSprite.yPosition += PIXEL_SIZE * 3; } RidleyFireballCheckSlideOnWall(); @@ -2607,24 +2630,24 @@ void RidleyFireballMoveDescendingPattern(void) movement = gCurrentSprite.workVariable2++; - if (gCurrentSprite.oamScaling < 0xF0) - gCurrentSprite.oamScaling += 0x10; + if (gCurrentSprite.oamScaling < Q_8_8(.94f)) + gCurrentSprite.oamScaling += Q_8_8(.065f);; if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) gCurrentSprite.xPosition += movement; else gCurrentSprite.xPosition -= movement; - gCurrentSprite.yPosition += 0xC; + gCurrentSprite.yPosition += PIXEL_SIZE * 3; gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { gCurrentSprite.pose = RIDLEY_FIREBALL_POSE_MOVE_ASCENDING_PATTERN; - gCurrentSprite.workVariable = 0x0; - gCurrentSprite.workVariable2 = 0x10; - gCurrentSprite.timer = 0x0; - gCurrentSprite.arrayOffset = 0x10; + gCurrentSprite.workVariable = 0; + gCurrentSprite.workVariable2 = 16; + gCurrentSprite.timer = 0; + gCurrentSprite.arrayOffset = 16; } } @@ -2643,7 +2666,7 @@ void RidleyFireballMoveAscendingPattern(void) else if (gCurrentSprite.roomSlot == 0x1) yOffset = 0x96; else - yOffset = 0x0; + yOffset = 0; SpriteUtilRidleyFireballMove((u16)(gSubSpriteData1.yPosition + 0x48 - yOffset), gSamusData.xPosition, 0x20, 0x28, 0x2); RidleyFireballCheckSlideOnWall(); @@ -2656,7 +2679,7 @@ void RidleyFireballMoveAscendingPattern(void) void RidleyFireballSlideOnWallInit(void) { gCurrentSprite.pose = RIDLEY_FIREBALL_POSE_SLIDE_ON_WALL; - gCurrentSprite.arrayOffset = 0x4; + gCurrentSprite.arrayOffset = 4; } /** @@ -2669,7 +2692,7 @@ void RidleyFireballSlideOnWall(void) movement = gCurrentSprite.arrayOffset / 4; - if (movement < 0x14) + if (movement < 20) gCurrentSprite.arrayOffset++; gCurrentSprite.yPosition += movement; @@ -2687,7 +2710,7 @@ void Ridley(void) switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: RidleyInit(); break; @@ -2800,15 +2823,15 @@ void RidleyTail(void) ramSlot = gCurrentSprite.primarySpriteRamSlot; gCurrentSprite.paletteRow = gSpriteData[ramSlot].paletteRow; - if (gSpriteData[ramSlot].health == 0x0 && gCurrentSprite.pose < RIDLEY_TAIL_POSE_DEAD) + if (gSpriteData[ramSlot].health == 0 && gCurrentSprite.pose < RIDLEY_TAIL_POSE_DEAD) { gCurrentSprite.pose = RIDLEY_TAIL_POSE_DEAD; gCurrentSprite.samusCollision = SSC_NONE; gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; gSubSpriteData2.pMultiOam = sRidleyTailMultiSpriteData_Dying; - gSubSpriteData2.animationDurationCounter = 0x0; - gSubSpriteData2.currentAnimationFrame = 0x0; + gSubSpriteData2.animationDurationCounter = 0; + gSubSpriteData2.currentAnimationFrame = 0; } if (gCurrentSprite.status & SPRITE_STATUS_NOT_DRAWN) @@ -2826,7 +2849,7 @@ void RidleyTail(void) if (gCurrentSprite.roomSlot != RIDLEY_TAIL_PART_TIP) { - if (gCurrentSprite.pose == 0x0) + if (gCurrentSprite.pose == 0) RidleyTailInit(); else if (gCurrentSprite.pose == RIDLEY_TAIL_POSE_DEAD) { @@ -2835,7 +2858,7 @@ void RidleyTail(void) else gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - if (gSpriteData[ramSlot].status == 0x0) + if (gSpriteData[ramSlot].status == 0) { RidleyTailDead(); return; @@ -2848,7 +2871,7 @@ void RidleyTail(void) { switch (gCurrentSprite.pose) { - case 0x0: + case 0: RidleyTailInit(); break; @@ -2894,7 +2917,7 @@ void RidleyTail(void) else gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - if (gSpriteData[ramSlot].status == 0x0) + if (gSpriteData[ramSlot].status == 0) { RidleyTailDead(); return; @@ -2918,7 +2941,7 @@ void RidleyPart(void) ramSlot = gCurrentSprite.primarySpriteRamSlot; part = gCurrentSprite.roomSlot; - if (gCurrentSprite.pose == 0x0) + if (gCurrentSprite.pose == 0) { RidleyPartInit(); return; @@ -2937,14 +2960,14 @@ void RidleyPart(void) gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; } - if (gSpriteData[ramSlot].status == 0x0) + if (gSpriteData[ramSlot].status == 0) { - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; return; } } - else if (gSpriteData[ramSlot].health == 0x0 && gCurrentSprite.pose < RIDLEY_PART_POSE_DYING) + else if (gSpriteData[ramSlot].health == 0 && gCurrentSprite.pose < RIDLEY_PART_POSE_DYING) { // Set dying gCurrentSprite.pose = RIDLEY_PART_POSE_DYING; @@ -2999,7 +3022,7 @@ void RidleyFireball(void) { switch (gCurrentSprite.pose) { - case 0x0: + case 0: RidleyFireballInit(); break; @@ -3027,7 +3050,7 @@ void RidleyFireball(void) break; case RIDLEY_FIREBALL_POSE_DESTROY: - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; ParticleSet(gCurrentSprite.yPosition, gCurrentSprite.xPosition, PE_SPRITE_EXPLOSION_MEDIUM); SoundPlay(0x1F1); return; diff --git a/src/sprites_AI/ruins_test.c b/src/sprites_AI/ruins_test.c index bde8690e..f90e6ab0 100644 --- a/src/sprites_AI/ruins_test.c +++ b/src/sprites_AI/ruins_test.c @@ -1,5 +1,6 @@ #include "sprites_AI/ruins_test.h" #include "gba.h" +#include "macros.h" #include "data/sprites/ruins_test.h" #include "data/sprite_data.h" @@ -103,7 +104,7 @@ void RuinsTestMoveToPosition(u16 yStart, u16 xStart, u16 yTarget, u16 xTarget, u { u16 distanceY; u16 distanceX; - s32 totalDistance; + u16 totalDistance; u16 samusY; u16 spriteY; u16 acceleration; @@ -136,20 +137,20 @@ void RuinsTestMoveToPosition(u16 yStart, u16 xStart, u16 yTarget, u16 xTarget, u { if (gCurrentSprite.status & SPRITE_STATUS_UNKNOWN2) { - totalDistance = (u16)Sqrt(distanceX * distanceX + distanceY * distanceY); - if (totalDistance != 0x0) + totalDistance = Sqrt(distanceX * distanceX + distanceY * distanceY); + if (totalDistance != 0) { - gCurrentSprite.yPosition = yStart + ((speed * ((s32)(distanceY << 0xA) / totalDistance) >> 0xA)); - gCurrentSprite.xPosition = xStart + ((speed * ((s32)(distanceX << 0xA) / totalDistance) >> 0xA)); + gCurrentSprite.yPosition = yStart + DIV_SHIFT(speed * (distanceY * 1024 / totalDistance), 1024); + gCurrentSprite.xPosition = xStart + DIV_SHIFT(speed * (distanceX * 1024 / totalDistance), 1024); } } else { - totalDistance = (u16)Sqrt(distanceX * distanceX + distanceY * distanceY); - if (totalDistance != 0x0) + totalDistance = Sqrt(distanceX * distanceX + distanceY * distanceY); + if (totalDistance != 0) { - gCurrentSprite.yPosition = yStart - ((speed * ((s32)(distanceY << 0xA) / totalDistance) >> 0xA)); - gCurrentSprite.xPosition = xStart + ((speed * ((s32)(distanceX << 0xA) / totalDistance) >> 0xA)); + gCurrentSprite.yPosition = yStart - DIV_SHIFT(speed * (distanceY * 1024 / totalDistance), 1024); + gCurrentSprite.xPosition = xStart + DIV_SHIFT(speed * (distanceX * 1024 / totalDistance), 1024); } } } @@ -157,20 +158,20 @@ void RuinsTestMoveToPosition(u16 yStart, u16 xStart, u16 yTarget, u16 xTarget, u { if (gCurrentSprite.status & SPRITE_STATUS_UNKNOWN2) { - totalDistance = (u16)Sqrt(distanceX * distanceX + distanceY * distanceY); - if (totalDistance != 0x0) + totalDistance = Sqrt(distanceX * distanceX + distanceY * distanceY); + if (totalDistance != 0) { - gCurrentSprite.yPosition = yStart + ((speed * ((s32)(distanceY << 0xA) / totalDistance) >> 0xA)); - gCurrentSprite.xPosition = xStart - ((speed * ((s32)(distanceX << 0xA) / totalDistance) >> 0xA)); + gCurrentSprite.yPosition = yStart + DIV_SHIFT(speed * (distanceY * 1024 / totalDistance), 1024); + gCurrentSprite.xPosition = xStart - DIV_SHIFT(speed * (distanceX * 1024 / totalDistance), 1024); } } else { - totalDistance = (u16)Sqrt(distanceX * distanceX + distanceY * distanceY); - if (totalDistance != 0x0) + totalDistance = Sqrt(distanceX * distanceX + distanceY * distanceY); + if (totalDistance != 0) { - gCurrentSprite.yPosition = yStart - ((speed * ((s32)(distanceY << 0xA) / totalDistance) >> 0xA)); - gCurrentSprite.xPosition = xStart - ((speed * ((s32)(distanceX << 0xA) / totalDistance) >> 0xA)); + gCurrentSprite.yPosition = yStart - DIV_SHIFT(speed * (distanceY * 1024 / totalDistance), 1024); + gCurrentSprite.xPosition = xStart - DIV_SHIFT(speed * (distanceX * 1024 / totalDistance), 1024); } } } @@ -193,11 +194,11 @@ u8 RuinsTestProjectileCollision(void) struct ProjectileData* pProj; if (gDifficulty == DIFF_EASY) - damage = 0x19; + damage = 25 * 1; else if (gDifficulty == DIFF_HARD) - damage = 0x64; + damage = 25 * 4; else - damage = 0x32; + damage = 25 * 2; spriteY = gCurrentSprite.yPosition; spriteX = gCurrentSprite.xPosition; @@ -208,19 +209,30 @@ u8 RuinsTestProjectileCollision(void) for (pProj = gProjectileData; pProj < gProjectileData + MAX_AMOUNT_OF_PROJECTILES; pProj++) { - if (pProj->status & PROJ_STATUS_EXISTS && pProj->status & PROJ_STATUS_CAN_AFFECT_ENVIRONMENT && - pProj->movementStage > 1 && (pProj->type == PROJ_TYPE_PISTOL || pProj->type == PROJ_TYPE_CHARGED_PISTOL) && - pProj->xPosition > spriteLeft && pProj->xPosition < spriteRight && pProj->yPosition > spriteTop && pProj->yPosition < spriteBottom) + if (!(pProj->status & PROJ_STATUS_EXISTS)) + continue; + + if (!(pProj->status & PROJ_STATUS_CAN_AFFECT_ENVIRONMENT)) + continue; + + if (pProj->movementStage <= 1) + continue; + + if (pProj->type != PROJ_TYPE_PISTOL && pProj->type != PROJ_TYPE_CHARGED_PISTOL) + continue; + + if (pProj->xPosition > spriteLeft && pProj->xPosition < spriteRight && pProj->yPosition > spriteTop && pProj->yPosition < spriteBottom) { pProj->status &= ~PROJ_STATUS_CAN_AFFECT_ENVIRONMENT; - if (gSamusData.invincibilityTimer == 0x0) + if (gSamusData.invincibilityTimer == 0) { // Apply damage if (gEquipment.currentEnergy > damage) gEquipment.currentEnergy -= damage; else - gEquipment.currentEnergy = 0x0; + gEquipment.currentEnergy = 0; + gSamusData.forcedMovement = 0xFF; SamusSetPose(SPOSE_HURT_REQUEST); return TRUE; @@ -242,8 +254,16 @@ u8 RuinsTestCheckHitByChargedPistol(void) for (pProj = gProjectileData; pProj < gProjectileData + MAX_AMOUNT_OF_PROJECTILES; pProj++) { - if (pProj->status & PROJ_STATUS_EXISTS && pProj->status & PROJ_STATUS_CAN_AFFECT_ENVIRONMENT && - pProj->movementStage > 1 && pProj->type == PROJ_TYPE_CHARGED_PISTOL) + if (!(pProj->status & PROJ_STATUS_EXISTS)) + continue; + + if (!(pProj->status & PROJ_STATUS_CAN_AFFECT_ENVIRONMENT)) + continue; + + if (pProj->movementStage <= 1) + continue; + + if (pProj->type == PROJ_TYPE_CHARGED_PISTOL) return TRUE; } @@ -257,29 +277,29 @@ u8 RuinsTestCheckHitByChargedPistol(void) */ u8 RuinsTestCheckSymbolShooted(void) { - if (gCurrentSprite.invincibilityStunFlashTimer != 0x0 && gCurrentSprite.health != 0x64) + if (gCurrentSprite.invincibilityStunFlashTimer != 0 && gCurrentSprite.health != 100) { SoundPlay(0x1D9); gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; - gCurrentSprite.health = 0x64; + gCurrentSprite.health = 100; gSubSpriteData1.health++; - if (gSubSpriteData1.health > 0x3) + if (gSubSpriteData1.health > 3) { // Last symbol gCurrentSprite.pose = RUINS_TEST_POSE_BACK_TO_CENTER; gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_LAST_SYMBOL_HIT; - gSubSpriteData1.workVariable1 = 0x1; - gCurrentSprite.oamScaling = 0x0; + gSubSpriteData1.workVariable1 = 1; + gCurrentSprite.oamScaling = 0; gCurrentSprite.samusCollision = SSC_NONE; gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; - gCurrentSprite.invincibilityStunFlashTimer += 0x3C; + gCurrentSprite.invincibilityStunFlashTimer += 60; return TRUE; } - gSubSpriteData1.workVariable1 = 0x80; + gSubSpriteData1.workVariable1 = 128; RuinsTestCalculateDelay(0xF0); } @@ -313,9 +333,9 @@ u8 RuinsTestUpdateSymbol(void) { u8 ramSlot; - if (gSubSpriteData1.workVariable1 & 0x7F) + if (MOD_AND(gSubSpriteData1.workVariable1, 128)) { - if (gSubSpriteData1.workVariable1 == 0x1) + if (gSubSpriteData1.workVariable1 == 1) { if (!RuinsTestCheckHitByChargedPistol()) gSubSpriteData1.workVariable1--; @@ -327,8 +347,8 @@ u8 RuinsTestUpdateSymbol(void) { gCurrentSprite.status &= ~SPRITE_STATUS_IGNORE_PROJECTILES; - ramSlot = SpriteSpawnSecondary(SSPRITE_RUINS_TEST_SHOOTABLE_SYMBOL, 0x0, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, 0x0); + ramSlot = SpriteSpawnSecondary(SSPRITE_RUINS_TEST_SHOOTABLE_SYMBOL, 0, gCurrentSprite.spritesetGfxSlot, + gCurrentSprite.primarySpriteRamSlot, gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, 0); if (ramSlot < MAX_AMOUNT_OF_SPRITES) gSpriteData[ramSlot].health = gSubSpriteData1.health; @@ -341,24 +361,24 @@ u8 RuinsTestUpdateSymbol(void) if (!(gSubSpriteData1.workVariable1 & 0x80)) { - if (gBossWork.work3 == 0x0) + if (gBossWork.work3 == 0) { gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; RuinsTestCalculateDelay(0xF0); return TRUE; } - if (gBossWork.work5 == 0x0) + if (gBossWork.work5 == 0) { // Set timer for how long symbol stays active - if (gSubSpriteData1.health == 0x0) - gSubSpriteData1.workVariable1 = 0x78; - else if (gSubSpriteData1.health == 0x1) - gSubSpriteData1.workVariable1 = 0x5A; - else if (gSubSpriteData1.health == 0x2) - gSubSpriteData1.workVariable1 = 0x3C; + if (gSubSpriteData1.health == 0) + gSubSpriteData1.workVariable1 = 120; + else if (gSubSpriteData1.health == 1) + gSubSpriteData1.workVariable1 = 90; + else if (gSubSpriteData1.health == 2) + gSubSpriteData1.workVariable1 = 60; else - gSubSpriteData1.workVariable1 = 0x28; + gSubSpriteData1.workVariable1 = 40; // Get new delay RuinsTestCalculateDelay(0x78); @@ -371,7 +391,7 @@ u8 RuinsTestUpdateSymbol(void) { // Reset delay gCurrentSprite.status |= SPRITE_STATUS_MOSAIC; - RuinsTestCalculateDelay(0x78); + RuinsTestCalculateDelay(120); } } } @@ -407,24 +427,24 @@ void RuinsTestGhostMove(u8 dAngle) temp = s = sin(angle); if (temp < 0) { - temp = (s16)((-temp * radius) >> 0x8); + temp = Q_8_8_TO_SHORT(-temp * radius); gCurrentSprite.yPosition = gCurrentSprite.yPositionSpawn - temp; } else { - temp = (s16)((s * radius) >> 0x8); + temp = Q_8_8_TO_SHORT(s * radius); gCurrentSprite.yPosition = gCurrentSprite.yPositionSpawn + temp; } temp2 = c = cos(angle); if (c < 0) { - temp2 = (s16)((-temp2 * radius) >> 0x8); + temp2 = Q_8_8_TO_SHORT(-temp2 * radius); gCurrentSprite.xPosition = gCurrentSprite.xPositionSpawn - temp2; } else { - temp2 = (s16)((c * radius) >> 0x8); + temp2 = Q_8_8_TO_SHORT(c * radius); gCurrentSprite.xPosition = gCurrentSprite.xPositionSpawn + temp2; } } @@ -438,28 +458,28 @@ void RuinsTestInit(void) u16 yPosition; u16 xPosition; - gCurrentSprite.drawDistanceTopOffset = 0x18; - gCurrentSprite.drawDistanceBottomOffset = 0x18; - gCurrentSprite.drawDistanceHorizontalOffset = 0x18; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -0x44; - gCurrentSprite.hitboxBottomOffset = 0x44; - gCurrentSprite.hitboxLeftOffset = -0x44; - gCurrentSprite.hitboxRightOffset = 0x44; + gCurrentSprite.hitboxTopOffset = -(BLOCK_SIZE + PIXEL_SIZE); + gCurrentSprite.hitboxBottomOffset = (BLOCK_SIZE + PIXEL_SIZE); + gCurrentSprite.hitboxLeftOffset = -(BLOCK_SIZE + PIXEL_SIZE); + gCurrentSprite.hitboxRightOffset = (BLOCK_SIZE + PIXEL_SIZE); gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; - gCurrentSprite.drawOrder = 0xC; - gCurrentSprite.health = 0x64; + gCurrentSprite.drawOrder = 12; + gCurrentSprite.health = 100; gCurrentSprite.frozenPaletteRowOffset = 0x1; - gCurrentSprite.pOam = sRuinsTestOAM_Spawning; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestOam_Spawning; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_POSE_SPAWNING; - gCurrentSprite.timer = 0x0; - gCurrentSprite.yPosition += 0x10; + gCurrentSprite.timer = 0; + gCurrentSprite.yPosition += QUARTER_BLOCK_SIZE; yPosition = gCurrentSprite.yPosition; xPosition = gCurrentSprite.xPosition; @@ -473,25 +493,30 @@ void RuinsTestInit(void) gSubSpriteData1.xPosition = xPosition; gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_ON_GOING; - gSubSpriteData1.health = 0x0; - gSubSpriteData1.workVariable1 = 0x0; + gSubSpriteData1.health = 0; + gSubSpriteData1.workVariable1 = 0; + + RuinsTestCalculateDelay(60 * 2); + + SpriteSpawnSecondary(SSPRITE_RUINS_TEST_SYMBOL, 0, gCurrentSprite.spritesetGfxSlot, + gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0); - RuinsTestCalculateDelay(0x78); - SpriteSpawnSecondary(SSPRITE_RUINS_TEST_SYMBOL, 0x0, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0x0); SamusSetPose(SPOSE_FACING_THE_BACKGROUND_SUITLESS); - gSamusData.yPosition = yPosition + BLOCK_SIZE * 5 - 0x11; + gSamusData.yPosition = yPosition + BLOCK_SIZE * 5 - QUARTER_BLOCK_SIZE - PIXEL_SIZE / 4; gSamusData.xPosition = xPosition; // Pattern timer - gBossWork.work3 = 0x0; + gBossWork.work3 = 0; + // Prevent movement flag gBossWork.work4 = FALSE; + // Lightning timer - gBossWork.work6 = 0x0; + gBossWork.work6 = 0; + // Number of symbols placed - gBossWork.work7 = 0x0; + gBossWork.work7 = 0; } /** @@ -500,13 +525,18 @@ void RuinsTestInit(void) */ void RuinsTestSpawning(void) { - if (gCurrentSprite.timer == 0x0) - gCurrentSprite.animationDurationCounter = 0x0; - else if (gCurrentSprite.timer == 0x2) + if (gCurrentSprite.timer == 0) { - gCurrentSprite.pOam = sRuinsTestOAM_TurningIntoReflection; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.animationDurationCounter = 0; + return; + } + + if (gCurrentSprite.timer == 2) + { + gCurrentSprite.pOam = sRuinsTestOam_TurningIntoReflection; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.pose = RUINS_TEST_POSE_TURNING_INTO_REFLECTION; SoundPlay(0x1D5); } @@ -518,27 +548,28 @@ void RuinsTestSpawning(void) */ void RuinsTestTurningIntoReflection(void) { - if (gCurrentSprite.currentAnimationFrame == 0x7) + if (gCurrentSprite.currentAnimationFrame == 7) { - if (gCurrentSprite.animationDurationCounter == 0x1) + if (gCurrentSprite.animationDurationCounter == 1) { - SpriteSpawnSecondary(SSPRITE_RUINS_TEST_REFLECTION_COVER, 0x0, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0x0); + SpriteSpawnSecondary(SSPRITE_RUINS_TEST_REFLECTION_COVER, 0, gCurrentSprite.spritesetGfxSlot, + gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0); } - else if (gCurrentSprite.animationDurationCounter == 0x4) + else if (gCurrentSprite.animationDurationCounter == 4) { - SpriteSpawnSecondary(SSPRITE_RUINS_TEST_SAMUS_REFLECTION_START, 0x0, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition + 0x5C, gCurrentSprite.xPosition, 0x0); + SpriteSpawnSecondary(SSPRITE_RUINS_TEST_SAMUS_REFLECTION_START, 0, gCurrentSprite.spritesetGfxSlot, + gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition + 0x5C, gCurrentSprite.xPosition, 0); } } if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sRuinsTestOAM_Symbol; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestOam_Symbol; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.pose = RUINS_TEST_POSE_FREE_SAMUS; - gCurrentSprite.timer = 0x20; + gCurrentSprite.timer = 32; } } @@ -548,10 +579,10 @@ void RuinsTestTurningIntoReflection(void) */ void RuinsTestFreeSamus(void) { - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) { gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { // Allow turning gSamusData.lastWallTouchedMidAir = FALSE; @@ -569,8 +600,9 @@ void RuinsTestCheckSamusNotFacingBackground(void) if (gSamusData.pose != SPOSE_FACING_THE_BACKGROUND_SUITLESS) { gCurrentSprite.pose = RUINS_TEST_POSE_MOTIONLESS; + // Delay before moving - gBossWork.work3 = 0x708; + gBossWork.work3 = 1800; } } @@ -583,10 +615,11 @@ void RuinsTestMotionless(void) if (!RuinsTestCheckSamusHurting()) { RuinsTestCheckSymbolShooted(); - if (RuinsTestUpdateSymbol() || gSubSpriteData1.health != 0x0) + + if (RuinsTestUpdateSymbol() || gSubSpriteData1.health != 0) { gCurrentSprite.pose = RUINS_TEST_POSE_SPAWN_GHOST; - gCurrentSprite.timer = 0x78; + gCurrentSprite.timer = 120; SpriteUtilChooseRandomXDirection(); } } @@ -598,23 +631,23 @@ void RuinsTestMotionless(void) */ void RuinsTestSpawnGhost(void) { - if (gSubSpriteData1.health == 0x0 || gBossWork.work7 != 0x0) + if (gSubSpriteData1.health == 0 || gBossWork.work7 != 0) { gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x54) + if (gCurrentSprite.timer == 84) { SpriteSpawnSecondary(SSPRITE_RUINS_TEST_GHOST_OUTLINE, RUINS_TEST_GHOST_OUTLINE_PART_OUTLINE, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0x0); + gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0); } - else if (gCurrentSprite.timer == 0x40) + else if (gCurrentSprite.timer == 64) { SpriteSpawnSecondary(SSPRITE_RUINS_TEST_GHOST, RUINS_TEST_GHOST_PART_GHOST, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0x0); + gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0); } - else if (gCurrentSprite.timer == 0x0) + else if (gCurrentSprite.timer == 0) { gCurrentSprite.pose = RUINS_TEST_POSE_MOVING_INIT; - gBossWork.work3 = 0x4B0; + gBossWork.work3 = 1200; } } } @@ -626,7 +659,7 @@ void RuinsTestSpawnGhost(void) void RuinsTestMovingInit(void) { gCurrentSprite.workVariable = 0x40; - gCurrentSprite.oamScaling = 0x0; + gCurrentSprite.oamScaling = 0; gCurrentSprite.pose = RUINS_TEST_POSE_MOVING_CIRCLE_PATTERN; gCurrentSprite.status |= SPRITE_STATUS_SAMUS_COLLIDING; } @@ -639,62 +672,62 @@ void RuinsTestMoveCirclePattern(void) { u8 speed; - if (!RuinsTestCheckSamusHurting()) + if (RuinsTestCheckSamusHurting()) + return; + + RuinsTestCheckSymbolShooted(); + + // Get speed + if (gBossWork.work3 < 1200 / 2) { - RuinsTestCheckSymbolShooted(); - - // Get speed - if (gBossWork.work3 < 0x258) - { - if (!(gFrameCounter8Bit & 0x3)) - speed = 0x2; - else - speed = 0x1; - } + if (MOD_AND(gFrameCounter8Bit, 4) == 0) + speed = 2; else - speed = 0x1; + speed = 1; + } + else + speed = 1; - // Update radius - if (gCurrentSprite.oamScaling < 0xC0) + // Update radius + if (gCurrentSprite.oamScaling < PI + PI / 2) + { + gCurrentSprite.oamScaling += 3; + gBossWork.work6 = 0; + } + else + gCurrentSprite.oamScaling = PI + PI / 2; + + // Move + if (!gBossWork.work4) + RuinsTestGhostMove(speed); + + // Update position + gSubSpriteData1.yPosition = gCurrentSprite.yPosition; + gSubSpriteData1.xPosition = gCurrentSprite.xPosition; + + // Check change pattern (either via timer or after second symbol) + if (RuinsTestUpdateSymbol() || gSubSpriteData1.health > 1) + { + // Try move to atom pattern + gCurrentSprite.status &= ~SPRITE_STATUS_SAMUS_COLLIDING; + if ((u8)(gCurrentSprite.workVariable + 0x41) < 0x3 && gCurrentSprite.oamScaling == PI + PI / 2) { - gCurrentSprite.oamScaling += 0x3; - gBossWork.work6 = 0x0; - } - else - gCurrentSprite.oamScaling = 0xC0; + // In a "corner", set atom pattern + gCurrentSprite.pose = RUINS_TEST_POSE_MOVING_ATOM_PATTERN; + gCurrentSprite.workVariable2 = 0; + gBossWork.work3 = 1200; - // Move - if (!gBossWork.work4) - RuinsTestGhostMove(speed); - - // Update position - gSubSpriteData1.yPosition = gCurrentSprite.yPosition; - gSubSpriteData1.xPosition = gCurrentSprite.xPosition; - - // Check change pattern (either via timer or after second symbol) - if (RuinsTestUpdateSymbol() || gSubSpriteData1.health > 0x1) - { - // Try move to atom pattern - gCurrentSprite.status &= ~SPRITE_STATUS_SAMUS_COLLIDING; - if ((u8)(gCurrentSprite.workVariable + 0x41) < 0x3 && gCurrentSprite.oamScaling == 0xC0) + if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { - // In a "corner", set atom pattern - gCurrentSprite.pose = RUINS_TEST_POSE_MOVING_ATOM_PATTERN; - gCurrentSprite.workVariable2 = 0x0; - gBossWork.work3 = 0x4B0; - - if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - { - gCurrentSprite.workVariable = 0x0; - gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; - } - else - { - gCurrentSprite.workVariable = 0x80; - gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; - } + gCurrentSprite.workVariable = 0; + gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; + } + else + { + gCurrentSprite.workVariable = PI; + gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; } } } @@ -711,184 +744,187 @@ void RuinsTestMoveAtomPattern(void) u8 bouncing; u8 angle; - if (gBossWork.work3 == 0x0) + if (gBossWork.work3 == 0) gBossWork.work3++; // Prevent overflow bouncing = FALSE; - if (!RuinsTestCheckSamusHurting() && !RuinsTestCheckSymbolShooted()) - { - // Get speed - if (gBossWork.work3 < 0x2) - { - if (!(gFrameCounter8Bit & 0x3)) - speed = 0x3; - else - speed = 0x2; + if (RuinsTestCheckSamusHurting()) + return; + + if (RuinsTestCheckSymbolShooted()) + return; - flag = 0xFC; + // Get speed + if (gBossWork.work3 < 2) + { + if (MOD_AND(gFrameCounter8Bit, 4) == 0) + speed = 3; + else + speed = 2; + + flag = ~3; + } + else + { + if (gBossWork.work3 < 1200 / 2) + speed = 2; + else if (MOD_AND(gFrameCounter8Bit, 2)) + speed = 2; + else + speed = 1; + + flag = ~1; + } + + // Move + if (!gBossWork.work4) + RuinsTestGhostMove(speed); + + angle = flag & gCurrentSprite.workVariable; + + // Check bouncing and set new destination + if (gCurrentSprite.workVariable2 == 0) + { + if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) + { + if (angle == PI) + { + gCurrentSprite.workVariable = PI + PI / 2; + gCurrentSprite.yPositionSpawn += BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; + bouncing++; + } } else { - if (gBossWork.work3 < 0x258) - speed = 0x2; - else if (gFrameCounter8Bit & 0x1) - speed = 0x2; - else - speed = 0x1; - - flag = 0xFE; - } - - // Move - if (!gBossWork.work4) - RuinsTestGhostMove(speed); - - angle = flag & gCurrentSprite.workVariable; - - // Check bouncing and set new destination - if (gCurrentSprite.workVariable2 == 0x0) - { - if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) + if (angle == 0) { - if (angle == PI) - { - gCurrentSprite.workVariable = PI + PI / 2; - gCurrentSprite.yPositionSpawn += BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; - bouncing++; - } - } - else - { - if (angle == 0) - { - gCurrentSprite.workVariable = PI + PI / 2; - gCurrentSprite.yPositionSpawn += BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; - bouncing++; - } + gCurrentSprite.workVariable = PI + PI / 2; + gCurrentSprite.yPositionSpawn += BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; + bouncing++; } } - else if (gCurrentSprite.workVariable2 == 0x1) - { - if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - { - if (angle == PI / 2) - { - gCurrentSprite.workVariable = PI; - gCurrentSprite.yPositionSpawn += BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; - bouncing++; - } - } - else - { - if (angle == PI / 2) - { - gCurrentSprite.workVariable = 0; - gCurrentSprite.yPositionSpawn += BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; - bouncing++; - } - } - } - else if (gCurrentSprite.workVariable2 == 0x2) - { - if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - { - if (angle == 0) - { - gCurrentSprite.workVariable = PI; - gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 6; - bouncing++; - } - } - else - { - if (angle == PI) - { - gCurrentSprite.workVariable = 0; - gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 6; - bouncing++; - } - } - } - else if (gCurrentSprite.workVariable2 == 0x3) - { - if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - { - if (angle == 0) - { - gCurrentSprite.workVariable = PI / 2; - gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; - bouncing++; - } - } - else - { - if (angle == PI) - { - gCurrentSprite.workVariable = PI / 2; - gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; - bouncing++; - } - } - } - else if (gCurrentSprite.workVariable2 == 0x4) - { - if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - { - if (angle == PI + PI / 2) - { - gCurrentSprite.workVariable = 0; - gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; - bouncing++; - } - } - else - { - if (angle == PI + PI / 2) - { - gCurrentSprite.workVariable = PI; - gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; - gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; - bouncing++; - } - } - } - else if (gCurrentSprite.workVariable2 == 0x5) - { - if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) - { - if (angle == PI) - { - gCurrentSprite.workVariable = 0; - gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 6; - gCurrentSprite.workVariable2 = 0x0; - } - } - else - { - if (angle == 0) - { - gCurrentSprite.workVariable = PI; - gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 6; - gCurrentSprite.workVariable2 = 0x0; - } - } - } - - if (bouncing) - gCurrentSprite.workVariable2++; - - // Update position and symbol - gSubSpriteData1.yPosition = gCurrentSprite.yPosition; - gSubSpriteData1.xPosition = gCurrentSprite.xPosition; - RuinsTestUpdateSymbol(); } + else if (gCurrentSprite.workVariable2 == 1) + { + if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) + { + if (angle == PI / 2) + { + gCurrentSprite.workVariable = PI; + gCurrentSprite.yPositionSpawn += BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; + bouncing++; + } + } + else + { + if (angle == PI / 2) + { + gCurrentSprite.workVariable = 0; + gCurrentSprite.yPositionSpawn += BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; + bouncing++; + } + } + } + else if (gCurrentSprite.workVariable2 == 2) + { + if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) + { + if (angle == 0) + { + gCurrentSprite.workVariable = PI; + gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 6; + bouncing++; + } + } + else + { + if (angle == PI) + { + gCurrentSprite.workVariable = 0; + gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 6; + bouncing++; + } + } + } + else if (gCurrentSprite.workVariable2 == 3) + { + if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) + { + if (angle == 0) + { + gCurrentSprite.workVariable = PI / 2; + gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; + bouncing++; + } + } + else + { + if (angle == PI) + { + gCurrentSprite.workVariable = PI / 2; + gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; + bouncing++; + } + } + } + else if (gCurrentSprite.workVariable2 == 4) + { + if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) + { + if (angle == PI + PI / 2) + { + gCurrentSprite.workVariable = 0; + gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 3; + bouncing++; + } + } + else + { + if (angle == PI + PI / 2) + { + gCurrentSprite.workVariable = PI; + gCurrentSprite.yPositionSpawn -= BLOCK_SIZE * 3; + gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 3; + bouncing++; + } + } + } + else if (gCurrentSprite.workVariable2 == 5) + { + if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) + { + if (angle == PI) + { + gCurrentSprite.workVariable = 0; + gCurrentSprite.xPositionSpawn -= BLOCK_SIZE * 6; + gCurrentSprite.workVariable2 = 0; + } + } + else + { + if (angle == 0) + { + gCurrentSprite.workVariable = PI; + gCurrentSprite.xPositionSpawn += BLOCK_SIZE * 6; + gCurrentSprite.workVariable2 = 0; + } + } + } + + if (bouncing) + gCurrentSprite.workVariable2++; + + // Update position and symbol + gSubSpriteData1.yPosition = gCurrentSprite.yPosition; + gSubSpriteData1.xPosition = gCurrentSprite.xPosition; + RuinsTestUpdateSymbol(); } /** @@ -905,36 +941,36 @@ void RuinsTestMoveToCenter(void) u16 spriteY; u16 targetY; - if (!(gCurrentSprite.invincibilityStunFlashTimer & 0x7F)) + if (SPRITE_HAS_ISFT(gCurrentSprite)) + return; + + targetY = gBossWork.work1; + targetX = gBossWork.work2; + spriteX = gCurrentSprite.xPosition; + + if (targetX > spriteX) + xOffset = targetX - spriteX; + else + xOffset = spriteX - targetX; + + spriteY = gCurrentSprite.yPosition; + if (targetY > spriteY) + yOffset = targetY - spriteY; + else + yOffset = spriteY - targetY; + + if (xOffset < PIXEL_SIZE && yOffset < PIXEL_SIZE) { - targetY = gBossWork.work1; - targetX = gBossWork.work2; - spriteX = gCurrentSprite.xPosition; + gCurrentSprite.yPosition = targetY; + gCurrentSprite.xPosition = targetX; - if (targetX > spriteX) - xOffset = targetX - spriteX; - else - xOffset = spriteX - targetX; - - spriteY = gCurrentSprite.yPosition; - if (targetY > spriteY) - yOffset = targetY - spriteY; - else - yOffset = spriteY - targetY; - - if (xOffset < 0x4 && yOffset < 0x4) - { - gCurrentSprite.yPosition = targetY; - gCurrentSprite.xPosition = targetX; - - gCurrentSprite.pose = RUINS_TEST_POSE_CHECK_GHOST_DISAPPEARING; - gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_GHOST_AT_CENTER; - } - else - { - RuinsTestMoveToPosition(gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, - targetY, targetX, gCurrentSprite.oamScaling++, 0x4); - } + gCurrentSprite.pose = RUINS_TEST_POSE_CHECK_GHOST_DISAPPEARING; + gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_GHOST_AT_CENTER; + } + else + { + RuinsTestMoveToPosition(gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, + targetY, targetX, gCurrentSprite.oamScaling++, PIXEL_SIZE); } } @@ -947,9 +983,10 @@ void RuinsTestCheckIsGhostDisappearing(void) if (gSubSpriteData1.workVariable3 == RUINS_TEST_FIGHT_STAGE_GHOST_STARTING_TO_DISAPPEAR) { gCurrentSprite.pose = RUINS_TEST_POSE_DESPAWN; - gCurrentSprite.timer = 0x64; + gCurrentSprite.timer = 100; + // Samus reflection end delay - gCurrentSprite.workVariable = 0x22; + gCurrentSprite.workVariable = 34; } } @@ -959,35 +996,39 @@ void RuinsTestCheckIsGhostDisappearing(void) */ void RuinsTestDespawn(void) { - if (gCurrentSprite.timer != 0x0) + if (gCurrentSprite.timer != 0) { gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { - gCurrentSprite.pOam = sRuinsTestOAM_Despawn; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestOam_Despawn; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; } } - else if (gCurrentSprite.workVariable != 0x0) + else if (gCurrentSprite.workVariable != 0) { gCurrentSprite.workVariable--; - if (gCurrentSprite.workVariable == 0x0) + if (gCurrentSprite.workVariable == 0) { // Spawn reflection end - SpriteSpawnSecondary(SSPRITE_RUINS_TEST_SAMUS_REFLECTION_END, 0x0, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition + 0x5C, gCurrentSprite.xPosition, 0x0); + SpriteSpawnSecondary(SSPRITE_RUINS_TEST_SAMUS_REFLECTION_END, 0, gCurrentSprite.spritesetGfxSlot, + gCurrentSprite.primarySpriteRamSlot, gCurrentSprite.yPosition + (BLOCK_SIZE + QUARTER_BLOCK_SIZE * 2 - PIXEL_SIZE), + gCurrentSprite.xPosition, 0); } } else if (gSubSpriteData1.workVariable3 == RUINS_TEST_FIGHT_STAGE_STARTING_CUTSCENE_FADE) { // Set inactive gCurrentSprite.pose = RUINS_TEST_POSE_DEAD; + // Remove ceiling hitbox RuinsTestChangeCCAA(CAA_REMOVE_SOLID); + // Set event and IGT EventFunction(EVENT_ACTION_SETTING, EVENT_FULLY_POWERED_SUIT_OBTAINED); gInGameTimerAtBosses[2] = gInGameTimer; + // Start getting fully powered cutscene StartEffectForCutscene(EFFECT_CUTSCENE_GETTING_FULLY_POWERED); } @@ -1003,21 +1044,21 @@ void RuinsTestGhostInit(void) if (gCurrentSprite.roomSlot == RUINS_TEST_GHOST_PART_GHOST) { - gCurrentSprite.drawDistanceTopOffset = 0x54; - gCurrentSprite.drawDistanceBottomOffset = 0x10; - gCurrentSprite.drawDistanceHorizontalOffset = 0x38; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 5 + QUARTER_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 3 + HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -0x100; - gCurrentSprite.hitboxBottomOffset = 0x40; - gCurrentSprite.hitboxLeftOffset = -0xA0; - gCurrentSprite.hitboxRightOffset = 0xA0; + gCurrentSprite.hitboxTopOffset = -(BLOCK_SIZE * 4); + gCurrentSprite.hitboxBottomOffset = BLOCK_SIZE; + gCurrentSprite.hitboxLeftOffset = -(BLOCK_SIZE * 2 + HALF_BLOCK_SIZE); + gCurrentSprite.hitboxRightOffset = (BLOCK_SIZE * 2 + HALF_BLOCK_SIZE); - gCurrentSprite.drawOrder = 0xD; - gCurrentSprite.pOam = sRuinsTestGhostOAM_NotMoving; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.drawOrder = 13; + gCurrentSprite.pOam = sRuinsTestGhostOam_NotMoving; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; - gCurrentSprite.health = 0x1; + gCurrentSprite.health = 1; gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_GHOST_SPAWN; gCurrentSprite.samusCollision = SSC_NONE; @@ -1025,11 +1066,12 @@ void RuinsTestGhostInit(void) TransparencyUpdateBLDCNT(0x1, BLDCNT_BG2_FIRST_TARGET_PIXEL | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BG2_SECOND_TARGET_PIXEL | BLDCNT_BACKDROP_SECOND_TARGET_PIXEL); - TransparencySpriteUpdateBLDALPHA(0x10, 0x0, 0x0, 0x10); - gCurrentSprite.timer = 0x0; - gCurrentSprite.workVariable = 0x10; - gCurrentSprite.workVariable2 = 0x0; + TransparencySpriteUpdateBLDALPHA(16, 0, 0, 16); + + gCurrentSprite.timer = 0; + gCurrentSprite.workVariable = 16; + gCurrentSprite.workVariable2 = 0; } else { @@ -1037,19 +1079,19 @@ void RuinsTestGhostInit(void) gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN; - gCurrentSprite.drawDistanceTopOffset = 0x18; - gCurrentSprite.drawDistanceBottomOffset = 0x18; - gCurrentSprite.drawDistanceHorizontalOffset = 0x18; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -0x40; - gCurrentSprite.hitboxBottomOffset = 0x40; - gCurrentSprite.hitboxLeftOffset = -0x40; - gCurrentSprite.hitboxRightOffset = 0x40; + gCurrentSprite.hitboxTopOffset = -BLOCK_SIZE; + gCurrentSprite.hitboxBottomOffset = BLOCK_SIZE; + gCurrentSprite.hitboxLeftOffset = -BLOCK_SIZE; + gCurrentSprite.hitboxRightOffset = BLOCK_SIZE; - gCurrentSprite.drawOrder = 0x1; - gCurrentSprite.pOam = sRuinsTestGhostOAM_SymbolShot; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.drawOrder = 1; + gCurrentSprite.pOam = sRuinsTestGhostOam_SymbolShot; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_SYMBOL_MOVING; @@ -1058,9 +1100,9 @@ void RuinsTestGhostInit(void) gCurrentSprite.yPositionSpawn = gCurrentSprite.yPosition; gCurrentSprite.xPositionSpawn = gCurrentSprite.xPosition; - gCurrentSprite.oamScaling = 0x0; - gCurrentSprite.timer = 0x4; - gCurrentSprite.workVariable = 0x0; + gCurrentSprite.oamScaling = 0; + gCurrentSprite.timer = 4; + gCurrentSprite.workVariable = 0; } } @@ -1070,25 +1112,25 @@ void RuinsTestGhostInit(void) */ void RuinsTestGhostSpawn(void) { - if (!(++gCurrentSprite.workVariable2 & 0x3)) + if (MOD_AND(++gCurrentSprite.workVariable2, 4) == 0) { - if (gCurrentSprite.timer < 0x8) + if (gCurrentSprite.timer < 8) { gCurrentSprite.timer++; - TransparencySpriteUpdateBLDALPHA(0x10, gCurrentSprite.timer, 0x0, 0x10); + TransparencySpriteUpdateBLDALPHA(0x10, gCurrentSprite.timer, 0, 16); } - else if (gCurrentSprite.workVariable > 0x9) + else if (gCurrentSprite.workVariable > 9) { gCurrentSprite.workVariable--; - TransparencySpriteUpdateBLDALPHA(gCurrentSprite.workVariable, 0x8, 0x0, 0x10); + TransparencySpriteUpdateBLDALPHA(gCurrentSprite.workVariable, 8, 0, 16); } else { // Set idle gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_GHOST_IDLE; - gCurrentSprite.pOam = sRuinsTestGhostOAM_Moving; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestGhostOam_Moving; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; SoundPlay(0x1D7); } } @@ -1104,14 +1146,14 @@ void RuinsTestGhostIdle(void) if (gSubSpriteData1.workVariable3 > RUINS_TEST_FIGHT_STAGE_GHOST_AT_CENTER) { - if (gCurrentSprite.invincibilityStunFlashTimer == 0x0) + if (gCurrentSprite.invincibilityStunFlashTimer == 0) { gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { gCurrentSprite.timer = 0xA; if (gCurrentSprite.workVariable++ < 0x10) - TransparencySpriteUpdateBLDALPHA(gCurrentSprite.workVariable, 0x10, 0x0, 0x10); + TransparencySpriteUpdateBLDALPHA(gCurrentSprite.workVariable, 0x10, 0, 0x10); else { gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_GHOST_DESPAWN; @@ -1128,7 +1170,7 @@ void RuinsTestGhostIdle(void) gCurrentSprite.xPosition = gSpriteData[ramSlot].xPosition; gCurrentSprite.invincibilityStunFlashTimer = gSpriteData[ramSlot].invincibilityStunFlashTimer; - if (gCurrentSprite.invincibilityStunFlashTimer != 0x0) + if (gCurrentSprite.invincibilityStunFlashTimer != 0) gCurrentSprite.status &= ~SPRITE_STATUS_ALPHA_BLENDING; else gCurrentSprite.status |= SPRITE_STATUS_ALPHA_BLENDING; @@ -1136,12 +1178,12 @@ void RuinsTestGhostIdle(void) if (gSubSpriteData1.workVariable3 == RUINS_TEST_FIGHT_STAGE_GHOST_AT_CENTER) { gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_GHOST_FADING_BACK; - gCurrentSprite.workVariable = 0x9; - gCurrentSprite.timer = 0xA; + gCurrentSprite.workVariable = 9; + gCurrentSprite.timer = 10; - gCurrentSprite.pOam = sRuinsTestGhostOAM_NotMoving; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestGhostOam_NotMoving; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.status |= SPRITE_STATUS_ALPHA_BLENDING; SoundPlay(0x1DF); @@ -1155,14 +1197,14 @@ void RuinsTestGhostIdle(void) */ void RuinsTestGhostDespawn(void) { - if (--gCurrentSprite.timer == 0x0) + if (--gCurrentSprite.timer == 0) { - gCurrentSprite.timer = 0xA; + gCurrentSprite.timer = 10; - if (gCurrentSprite.workVariable-- != 0x0) - TransparencySpriteUpdateBLDALPHA(gCurrentSprite.workVariable, 0x10, 0x0, 0x10); + if (gCurrentSprite.workVariable-- != 0) + TransparencySpriteUpdateBLDALPHA(gCurrentSprite.workVariable, 16, 0, 16); else - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; } } @@ -1172,62 +1214,62 @@ void RuinsTestGhostDespawn(void) */ void RuinsTestGhostMoveSymbolToPlace(void) { - u16 xOffset; - u16 yOffset; + u16 xDistance; + u16 yDistance; u16 targetY; u16 targetX; // Update palette - if (--gCurrentSprite.timer == 0x0) + if (--gCurrentSprite.timer == 0) { - gCurrentSprite.timer = 0x4; + gCurrentSprite.timer = 4; switch (gCurrentSprite.workVariable++) { - case 0x0: - DMA_SET(3, (sRuinsTestPAL + 0x60), PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 0: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(&sRuinsTestPal[16 * 6], 8); break; - case 0x2: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame2, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 2: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame2, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame2)); break; - case 0x3: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame3, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 3: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame3, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame3)); break; - case 0x4: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame4, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 4: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame4, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame4)); break; - case 0x5: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame5, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 5: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame5, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame5)); break; - case 0x6: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame6, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 6: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame6, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame6)); break; - case 0x7: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame5, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 7: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame5, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame5)); break; - case 0x8: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame4, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 8: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame4, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame4)); break; - case 0x9: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame3, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 9: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame3, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame3)); break; - case 0xA: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame2, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 10: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame2, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame2)); break; - case 0xB: - gCurrentSprite.workVariable = 0x0; + case 11: + gCurrentSprite.workVariable = 0; - case 0x1: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame1, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 1: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame1, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame1)); break; } } @@ -1257,35 +1299,36 @@ void RuinsTestGhostMoveSymbolToPlace(void) } if (targetX > gCurrentSprite.xPosition) - xOffset = targetX - gCurrentSprite.xPosition; + xDistance = targetX - gCurrentSprite.xPosition; else - xOffset = gCurrentSprite.xPosition - targetX; + xDistance = gCurrentSprite.xPosition - targetX; if (targetY > gCurrentSprite.yPosition) - yOffset = targetY - gCurrentSprite.yPosition; + yDistance = targetY - gCurrentSprite.yPosition; else - yOffset = gCurrentSprite.yPosition - targetY; + yDistance = gCurrentSprite.yPosition - targetY; - if (xOffset < 0x4 && yOffset < 0x4) + // Check distance is less than a pixel + if (xDistance < PIXEL_SIZE && yDistance < PIXEL_SIZE) { // In place gCurrentSprite.yPosition = targetY; gCurrentSprite.xPosition = targetX; gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_SYMBOL_PLACING; - gCurrentSprite.pOam = sRuinsTestGhostOAM_SymbolPlacing; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestGhostOam_SymbolPlacing; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.status &= ~SPRITE_STATUS_UNKNOWN; - gCurrentSprite.drawOrder = 0xE; + gCurrentSprite.drawOrder = 14; SoundPlay(0x1DA); } else { // Move RuinsTestMoveToPosition(gCurrentSprite.yPositionSpawn, gCurrentSprite.xPositionSpawn, - targetY, targetX, gCurrentSprite.oamScaling++, 0x4); + targetY, targetX, gCurrentSprite.oamScaling++, PIXEL_SIZE); } } @@ -1296,66 +1339,66 @@ void RuinsTestGhostMoveSymbolToPlace(void) void RuinsTestGhostSymbolPlacing(void) { // Update palette - if (gCurrentSprite.animationDurationCounter == 0x1) + if (gCurrentSprite.animationDurationCounter == 1) { switch (gCurrentSprite.currentAnimationFrame) { - case 0x1: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame1, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 1: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame1, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame1)); break; - case 0x2: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame2, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 2: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame2, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame2)); break; - case 0x3: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame3, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 3: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame3, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame3)); break; - case 0x4: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame4, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 4: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame4, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame4)); break; - case 0x5: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame5, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 5: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame5, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame5)); break; - case 0x6: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame6, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 6: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame6, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame6)); break; - case 0x7: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame5, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 7: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame5, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame5)); break; - case 0x8: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame4, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 8: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame4, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame4)); break; - case 0x9: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame3, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 9: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame3, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame3)); break; - case 0xA: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame2, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 10: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame2, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame2)); break; - case 0xB: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame1, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 11: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame1, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame1)); break; - case 0x0: - case 0xC: - DMA_SET(3, (sRuinsTestPAL + 0x60), PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 0: + case 12: + DMA_SET(3, (&sRuinsTestPal[16 * 6]), RUINS_TEST_DYNAMIC_PAL_ADDR, C_32_2_16(DMA_ENABLE, 8)); break; } } if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sRuinsTestGhostOAM_SymbolPlaced; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestGhostOam_SymbolPlaced; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; if (gCurrentSprite.pose == RUINS_TEST_GHOST_POSE_SYMBOL_PLACING_END_OF_FIGHT) gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_SYMBOL_DO_NOTHING; @@ -1365,6 +1408,7 @@ void RuinsTestGhostSymbolPlacing(void) gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_SYMBOL_SET_GHOST_DISAPPEARING; else gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_SYMBOL_WAIT_FOR_END_OF_FIGHT; + gBossWork.work7++; } } @@ -1403,12 +1447,12 @@ void RuinsTestGhostSymbolWaitForEndOfFight(void) void RuinsTestGhostSymbolDelayBeforePlacingAtEndOfFight(void) { gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { gCurrentSprite.pose = RUINS_TEST_GHOST_POSE_SYMBOL_PLACING_END_OF_FIGHT; - gCurrentSprite.pOam = sRuinsTestGhostOAM_SymbolPlacing; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestGhostOam_SymbolPlacing; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; SoundPlay(0x1E0); } } @@ -1421,7 +1465,7 @@ void RuinsTest(void) { switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: RuinsTestInit(); break; @@ -1479,41 +1523,45 @@ void RuinsTest(void) if (!gBossWork.work4) { // Check shoot ground lightning - if (gBossWork.work7 > 0x2 && gFrameCounter8Bit == 0x0 && gDifficulty != DIFF_EASY) + if (gBossWork.work7 > 2 && gFrameCounter8Bit == 0 && gDifficulty != DIFF_EASY) { // Reset lightning timer - gBossWork.work6 = 0x0; + gBossWork.work6 = 0; + // Stop movement gBossWork.work4 = TRUE; + // Spawn lightning SpriteSpawnSecondary(SSPRITE_RUINS_TEST_GHOST_OUTLINE, RUINS_TEST_GHOST_OUTLINE_PART_SHOOTING_GROUND_LIGHTNING, - gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, gBossWork.work1, gBossWork.work2, 0x0); + gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, gBossWork.work1, gBossWork.work2, 0); } // Check shoot standing lightning - if (gBossWork.work6 > 0x1E && gFrameCounter8Bit != 0x0) + if (gBossWork.work6 > 30 && gFrameCounter8Bit != 0) { // Reset lightning timer - gBossWork.work6 = 0x0; + gBossWork.work6 = 0; + // Stop movement gBossWork.work4 = TRUE; + // Spawn lightning SpriteSpawnSecondary(SSPRITE_RUINS_TEST_GHOST_OUTLINE, RUINS_TEST_GHOST_OUTLINE_PART_SHOOTING_LIGHTNING, - gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, gBossWork.work1, gBossWork.work2, 0x0); + gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, gBossWork.work1, gBossWork.work2, 0); } } // Update pattern timer - if (gBossWork.work3 != 0x0) + if (gBossWork.work3 != 0) gBossWork.work3--; // Update lightning timer - if (gCurrentSprite.pose > RUINS_TEST_POSE_MOVING_INIT && gBossWork.work7 != 0x0) + if (gCurrentSprite.pose > RUINS_TEST_POSE_MOVING_INIT && gBossWork.work7 != 0) { if (gSamusData.xPosition == gPreviousXPosition && gSamusData.yPosition == gPreviousYPosition) gBossWork.work6++; else - gBossWork.work6 = 0x0; + gBossWork.work6 = 0; } } } @@ -1530,78 +1578,79 @@ void RuinsTestSymbol(void) switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - gCurrentSprite.drawDistanceTopOffset = 0x40; - gCurrentSprite.drawDistanceBottomOffset = 0x40; - gCurrentSprite.drawDistanceHorizontalOffset = 0x68; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 4); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 4); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 6 + HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; - gCurrentSprite.pOam = sRuinsTestSymbolOAM_FourSymbols; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestSymbolOam_FourSymbols; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SYMBOL_POSE_DELAY_BEFORE_MUSIC; gCurrentSprite.samusCollision = SSC_NONE; - gCurrentSprite.timer = 0x3C; - gCurrentSprite.drawOrder = 0xD; + gCurrentSprite.timer = 60; + gCurrentSprite.drawOrder = 13; gDisablePause = TRUE; break; case RUINS_TEST_SYMBOL_POSE_DELAY_BEFORE_MUSIC: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { gCurrentSprite.pose = RUINS_TEST_SYMBOL_POSE_UPDATE_PALETTE; - gCurrentSprite.currentAnimationFrame = 0x1; - gCurrentSprite.animationDurationCounter = 0x0; - PlayMusic(MUSIC_RUINS_TEST_BATTLE_WITH_INTRO, 0x0); + gCurrentSprite.currentAnimationFrame = 1; + gCurrentSprite.animationDurationCounter = 0; + PlayMusic(MUSIC_RUINS_TEST_BATTLE_WITH_INTRO, 0); SoundPlay(0x1D3); } break; case RUINS_TEST_SYMBOL_POSE_UPDATE_PALETTE: - if (gCurrentSprite.animationDurationCounter == 0x1) + if (gCurrentSprite.animationDurationCounter == 1) { switch (gCurrentSprite.currentAnimationFrame) { - case 0x2: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame1, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 2: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame1, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame1)); break; - case 0x3: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame2, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 3: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame2, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame2)); break; - case 0x4: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame3, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 4: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame3, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame3)); break; - case 0x6: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame5, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 6: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame5, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame5)); break; - case 0x7: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame6, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 7: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame6, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame6)); break; - case 0x8: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame5, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 8: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame5, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame5)); break; - case 0x5: - case 0x9: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame4, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 5: + case 9: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame4, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame4)); break; - case 0xA: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame3, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 10: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame3, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame3)); + SoundPlay(0x1D4); break; } @@ -1609,61 +1658,63 @@ void RuinsTestSymbol(void) if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sRuinsTestSymbolOAM_Merging; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestSymbolOam_Merging; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SYMBOL_POSE_MERGING; - gCurrentSprite.timer = 0x78; + gCurrentSprite.timer = 120; } break; case RUINS_TEST_SYMBOL_POSE_MERGING: - if (gCurrentSprite.animationDurationCounter == 0x1) + if (gCurrentSprite.animationDurationCounter == 1) { - if (gCurrentSprite.currentAnimationFrame == 0x0) + if (gCurrentSprite.currentAnimationFrame == 0) { - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame4, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame4, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame4)); } else { - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame6, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame6, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame6)); } } - if (--gCurrentSprite.timer == 0x0) + if (--gCurrentSprite.timer == 0) { - gCurrentSprite.pOam = sRuinsTestSymbolOAM_Disappearing; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestSymbolOam_Disappearing; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SYMBOL_POSE_DISAPPEARING; + break; } - else if (gCurrentSprite.timer == 0x3C) - gSpriteData[ramSlot].timer = 0x2; - else if (gCurrentSprite.timer == 0x6E) - gSpriteData[ramSlot].timer = 0x1; + + if (gCurrentSprite.timer == 60) + gSpriteData[ramSlot].timer = 2; + else if (gCurrentSprite.timer == 110) + gSpriteData[ramSlot].timer = 1; break; case RUINS_TEST_SYMBOL_POSE_DISAPPEARING: - if (gCurrentSprite.animationDurationCounter == 0x1) + if (gCurrentSprite.animationDurationCounter == 1) { switch (gCurrentSprite.currentAnimationFrame) { - case 0x0: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame4, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 0: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame4, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame4)); break; - case 0x1: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame2, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 1: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame2, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame2)); break; - case 0x2: - DMA_SET(3, (sRuinsTestPAL + 0x60), PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 2: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(&sRuinsTestPal[16 * 6], 8); break; } } if (SpriteUtilCheckEndCurrentSpriteAnim()) - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; } } @@ -1677,42 +1728,42 @@ void RuinsTestSamusReflectionStart(void) switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - gCurrentSprite.drawDistanceTopOffset = 0x28; - gCurrentSprite.drawDistanceBottomOffset = 0x0; - gCurrentSprite.drawDistanceHorizontalOffset = 0x10; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 2 + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(0); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; gCurrentSprite.pOam = sRuinsTestSamusReflectionOAM; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SAMUS_REFLECTION_START_POSE_UPDATE_Gfx_PAL; gCurrentSprite.samusCollision = SSC_NONE; - gCurrentSprite.drawOrder = 0x3; + gCurrentSprite.drawOrder = 3; - DMA_SET(3, sRuinsTestPAL_SamusReflection, (PALRAM_BASE + 0x3E0), (DMA_ENABLE << 16) | 16); - gCurrentSprite.timer = 0x1; + DMA_SET(3, sRuinsTestPal_SamusReflection, (PALRAM_BASE + 0x3E0), C_32_2_16(DMA_ENABLE, 16)); + gCurrentSprite.timer = 1; break; case RUINS_TEST_SAMUS_REFLECTION_START_POSE_UPDATE_Gfx_PAL: - if (gCurrentSprite.timer < 0x10) + if (gCurrentSprite.timer < 16) { // Update palette timer = gCurrentSprite.timer++; - if (timer > 0xE) + if (timer > 14) { - DMA_SET(3, (sRuinsTestPAL + 0x70), (PALRAM_BASE + 0x3E0), (DMA_ENABLE << 16) | 16); + DMA_SET(3, &sRuinsTestPal[16 * 7], (PALRAM_BASE + 0x3E0), C_32_2_16(DMA_ENABLE, 16)); } else { - DMA_SET(3, &sRuinsTestPAL_SamusReflection[timer * 16], (PALRAM_BASE + 0x3E0), (DMA_ENABLE << 16) | 16); + DMA_SET(3, &sRuinsTestPal_SamusReflection[timer * 16], (PALRAM_BASE + 0x3E0), C_32_2_16(DMA_ENABLE, 16)); } } @@ -1720,7 +1771,7 @@ void RuinsTestSamusReflectionStart(void) if (gSamusData.pose != SPOSE_FACING_THE_BACKGROUND_SUITLESS) { gDisablePause = FALSE; - gCurrentSprite.timer = 0x2; + gCurrentSprite.timer = 2; gCurrentSprite.pose = RUINS_TEST_SAMUS_REFLECTION_START_POSE_SPAWN_PARTICLE; // Transfer turning graphics @@ -1739,11 +1790,11 @@ void RuinsTestSamusReflectionStart(void) case RUINS_TEST_SAMUS_REFLECTION_START_POSE_SPAWN_PARTICLE: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { // Spawn particle - gCurrentSprite.status = 0x0; - ParticleSet(gCurrentSprite.yPosition - 0x5C, gCurrentSprite.xPosition, PE_SAMUS_REFLECTION); + gCurrentSprite.status = 0; + ParticleSet(gCurrentSprite.yPosition - (BLOCK_SIZE + HALF_BLOCK_SIZE - PIXEL_SIZE), gCurrentSprite.xPosition, PE_SAMUS_REFLECTION); } } } @@ -1760,26 +1811,26 @@ void RuinsTestReflectionCover(void) switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN; gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - gCurrentSprite.drawDistanceTopOffset = 0x18; - gCurrentSprite.drawDistanceBottomOffset = 0x18; - gCurrentSprite.drawDistanceHorizontalOffset = 0x18; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; gCurrentSprite.pOam = sRuinsTestReflectionCoverOAM; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_REFLECTION_COVER_POSE_IDLE; gCurrentSprite.samusCollision = SSC_NONE; - gCurrentSprite.drawOrder = 0x2; + gCurrentSprite.drawOrder = 2; break; case RUINS_TEST_REFLECTION_COVER_POSE_IDLE: @@ -1787,7 +1838,7 @@ void RuinsTestReflectionCover(void) gCurrentSprite.xPosition = gSpriteData[ramSlot].xPosition; // Display if no shootable symbol, hide otherwise - if (gSubSpriteData1.workVariable1 == 0x0) + if (gSubSpriteData1.workVariable1 == 0) gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; else gCurrentSprite.status |= SPRITE_STATUS_NOT_DRAWN; @@ -1797,7 +1848,7 @@ void RuinsTestReflectionCover(void) break; case RUINS_TEST_REFLECTION_COVER_POSE_KILL: - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; } } @@ -1809,37 +1860,37 @@ void RuinsTestGhostOutline(void) { switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - gCurrentSprite.drawDistanceTopOffset = 0x18; - gCurrentSprite.drawDistanceBottomOffset = 0x18; - gCurrentSprite.drawDistanceHorizontalOffset = 0x18; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.samusCollision = SSC_NONE; if (gCurrentSprite.roomSlot != RUINS_TEST_GHOST_OUTLINE_PART_OUTLINE) { - gCurrentSprite.drawOrder = 0xE; + gCurrentSprite.drawOrder = 14; if (gCurrentSprite.roomSlot == RUINS_TEST_GHOST_OUTLINE_PART_SHOOTING_GROUND_LIGHTNING) - gCurrentSprite.pOam = sRuinsTestGhostOutlineOAM_ShootingGroundLightning; + gCurrentSprite.pOam = sRuinsTestGhostOutlineOam_ShootingGroundLightning; else - gCurrentSprite.pOam = sRuinsTestGhostOutlineOAM_Spawning; + gCurrentSprite.pOam = sRuinsTestGhostOutlineOam_Spawning; SoundPlay(0x1DB); } else { - gCurrentSprite.drawOrder = 0xD; - gCurrentSprite.pOam = sRuinsTestGhostOutlineOAM_Spawning; + gCurrentSprite.drawOrder = 13; + gCurrentSprite.pOam = sRuinsTestGhostOutlineOam_Spawning; SoundPlay(0x1D6); } @@ -1847,8 +1898,8 @@ void RuinsTestGhostOutline(void) break; case 0x9: - if (gCurrentSprite.roomSlot != RUINS_TEST_GHOST_OUTLINE_PART_OUTLINE && gCurrentSprite.currentAnimationFrame == 0x4 && - gCurrentSprite.animationDurationCounter == 0x8) + if (gCurrentSprite.roomSlot != RUINS_TEST_GHOST_OUTLINE_PART_OUTLINE && gCurrentSprite.currentAnimationFrame == 4 && + gCurrentSprite.animationDurationCounter == 8) { MakeBackgroundFlash(0x3); // Undefined || Quick flash @@ -1857,19 +1908,19 @@ void RuinsTestGhostOutline(void) { SpriteSpawnSecondary(SSPRITE_RUINS_TEST_LIGHTNING, RUINS_TEST_LIGHTNING_PART_GROUND, gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, - gBossWork.work1, gBossWork.work2, 0x0); + gBossWork.work1, gBossWork.work2, 0); } else if (gCurrentSprite.roomSlot == RUINS_TEST_GHOST_OUTLINE_PART_SHOOTING_LIGHTNING) { SpriteSpawnSecondary(SSPRITE_RUINS_TEST_LIGHTNING, RUINS_TEST_LIGHTNING_PART_STATIC, gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, - gBossWork.work1, gSamusData.xPosition, 0x0); + gBossWork.work1, gSamusData.xPosition, 0); } } if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; if (gCurrentSprite.roomSlot != RUINS_TEST_GHOST_OUTLINE_PART_OUTLINE) gBossWork.work4 = FALSE; // Re-enable movement } @@ -1885,34 +1936,34 @@ void RuinsTestShootableSymbol(void) gCurrentSprite.yPosition = gSubSpriteData1.yPosition; gCurrentSprite.xPosition = gSubSpriteData1.xPosition; - if (gCurrentSprite.pose != 0x0 && gCurrentSprite.health != gSubSpriteData1.health) + if (gCurrentSprite.pose != SPRITE_POSE_UNINITIALIZED && gCurrentSprite.health != gSubSpriteData1.health) { // Symbol got shot, set turning into symbol gCurrentSprite.health = gSubSpriteData1.health; - gCurrentSprite.pOam = sRuinsTestShootableSymbolOAM_TurningIntoSymbol; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestShootableSymbolOam_TurningIntoSymbol; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SHOOTABLE_SYMBOL_POSE_TURNING_INTO_SYMBOL; } switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; - gCurrentSprite.drawDistanceTopOffset = 0x18; - gCurrentSprite.drawDistanceBottomOffset = 0x18; - gCurrentSprite.drawDistanceHorizontalOffset = 0x18; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE + HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; - gCurrentSprite.pOam = sRuinsTestShootableSymbolOAM_Spawning; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestShootableSymbolOam_Spawning; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SHOOTABLE_SYMBOL_POSE_SPAWNING; gCurrentSprite.samusCollision = SSC_NONE; @@ -1923,20 +1974,20 @@ void RuinsTestShootableSymbol(void) gCurrentSprite.animationDurationCounter++; if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sRuinsTestShootableSymbolOAM_Spawned; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestShootableSymbolOam_Spawned; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SHOOTABLE_SYMBOL_POSE_SPAWNED; } break; case RUINS_TEST_SHOOTABLE_SYMBOL_POSE_SPAWNED: - if (gSubSpriteData1.workVariable1 == 0x0) + if (gSubSpriteData1.workVariable1 == 0) { // Shootable timer done, despawn - gCurrentSprite.pOam = sRuinsTestShootableSymbolOAM_Despawning; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestShootableSymbolOam_Despawning; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SHOOTABLE_SYMBOL_POSE_DESPAWNING; SoundFade(0x1D8, 0x28); } @@ -1945,24 +1996,24 @@ void RuinsTestShootableSymbol(void) case RUINS_TEST_SHOOTABLE_SYMBOL_POSE_DESPAWNING: gCurrentSprite.animationDurationCounter++; if (SpriteUtilCheckEndCurrentSpriteAnim()) - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; break; case RUINS_TEST_SHOOTABLE_SYMBOL_POSE_TURNING_INTO_SYMBOL: - if (gCurrentSprite.animationDurationCounter == 0x1) + if (gCurrentSprite.animationDurationCounter == 1) { switch (gCurrentSprite.currentAnimationFrame) { - case 0x5: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame2, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 5: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame2, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame2)); break; - case 0x6: - DMA_SET(3, sRuinsTestPAL_SymbolShot_Frame1, PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 6: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(sRuinsTestPal_SymbolShot_Frame1, ARRAY_SIZE(sRuinsTestPal_SymbolShot_Frame1)); break; - case 0x7: - DMA_SET(3, (sRuinsTestPAL + 0x60), PALRAM_BASE + 0x3C0, (DMA_ENABLE << 16) | 8); + case 7: + RUINS_TEST_TRANSFER_DYNAMIC_PAL(&sRuinsTestPal[16 * 6], 8); break; } } @@ -1970,11 +2021,12 @@ void RuinsTestShootableSymbol(void) if (SpriteUtilCheckEndCurrentSpriteAnim()) { // Set shootable timer to 0 - gSubSpriteData1.workVariable1 = 0x0; - gCurrentSprite.status = 0x0; + gSubSpriteData1.workVariable1 = 0; + gCurrentSprite.status = 0; + // Spawn symbol shot ghost SpriteSpawnSecondary(SSPRITE_RUINS_TEST_GHOST, gSubSpriteData1.health, gCurrentSprite.spritesetGfxSlot, - gCurrentSprite.primarySpriteRamSlot, gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, 0x0); + gCurrentSprite.primarySpriteRamSlot, gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, 0); } } } @@ -1987,7 +2039,7 @@ void RuinsTestGhost(void) { switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: RuinsTestGhostInit(); break; @@ -2043,10 +2095,11 @@ void RuinsTestSamusReflectionEnd(void) break; case RUINS_TEST_FIGHT_STAGE_STARTING_CUTSCENE: - gCurrentSprite.status = 0x0; - gSpriteData[gCurrentSprite.primarySpriteRamSlot].status = 0x0; - SpriteSpawnPrimary(PSPRITE_ITEM_BANNER, MESSAGE_FULLY_POWERED_SUIT, 0x6, - gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0x0); + gCurrentSprite.status = 0; + gSpriteData[gCurrentSprite.primarySpriteRamSlot].status = 0; + + SpriteSpawnPrimary(PSPRITE_ITEM_BANNER, MESSAGE_FULLY_POWERED_SUIT, 6, + gCurrentSprite.yPosition, gCurrentSprite.xPosition, 0); } return; @@ -2054,64 +2107,72 @@ void RuinsTestSamusReflectionEnd(void) switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - gCurrentSprite.drawDistanceTopOffset = 0x28; - gCurrentSprite.drawDistanceBottomOffset = 0x0; - gCurrentSprite.drawDistanceHorizontalOffset = 0x10; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 2 + HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(0); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = 0x0; - gCurrentSprite.hitboxRightOffset = 0x0; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = 0; + gCurrentSprite.hitboxRightOffset = 0; gCurrentSprite.pOam = sRuinsTestSamusReflectionOAM; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.pose = RUINS_TEST_SAMUS_REFLECTION_END_POSE_SUITLESS; gCurrentSprite.samusCollision = SSC_NONE; - gCurrentSprite.drawOrder = 0xB; + gCurrentSprite.drawOrder = 11; - DMA_SET(3, sRuinsTestGfx_SamusReflectionSuitlessTop, (VRAM_BASE + 0x14280), (DMA_ENABLE << 16) | 192); - DMA_SET(3, sRuinsTestGfx_SamusReflectionSuitlessBottom, (VRAM_BASE + 0x14680), (DMA_ENABLE << 16) | 128); - DMA_SET(3, sRuinsTestPAL_SamusReflection, (PALRAM_BASE + 0x3E0), (DMA_ENABLE << 16) | 16); + DMA_SET(3, sRuinsTestGfx_SamusReflectionSuitlessTop, (VRAM_BASE + 0x14280), C_32_2_16(DMA_ENABLE, 192)); + DMA_SET(3, sRuinsTestGfx_SamusReflectionSuitlessBottom, (VRAM_BASE + 0x14680), C_32_2_16(DMA_ENABLE, 128)); + DMA_SET(3, sRuinsTestPal_SamusReflection, (PALRAM_BASE + 0x3E0), C_32_2_16(DMA_ENABLE, 16)); - gCurrentSprite.timer = 0x0; - gCurrentSprite.workVariable = 0x0; - gCurrentSprite.workVariable2 = 0x8; - gCurrentSprite.arrayOffset = 0x0; + gCurrentSprite.timer = 0; + gCurrentSprite.workVariable = 0; + gCurrentSprite.workVariable2 = 8; + gCurrentSprite.arrayOffset = 0; break; case RUINS_TEST_SAMUS_REFLECTION_END_POSE_SUITLESS: // Update palette - if (--gCurrentSprite.workVariable2 == 0x0) + if (--gCurrentSprite.workVariable2 == 0) { - gCurrentSprite.workVariable2 = 0x8; + gCurrentSprite.workVariable2 = 8; if (!gCurrentSprite.workVariable) { - if (++gCurrentSprite.timer > 0x9) + if (++gCurrentSprite.timer > 9) gCurrentSprite.workVariable = TRUE; } else { - if (--gCurrentSprite.timer == 0x0) + if (--gCurrentSprite.timer == 0) { - gCurrentSprite.workVariable = 0x0; - if (gCurrentSprite.arrayOffset != 0x0) + gCurrentSprite.workVariable = 0; + if (gCurrentSprite.arrayOffset != 0) gCurrentSprite.pose = RUINS_TEST_SAMUS_REFLECTION_END_POSE_FULLSUIT; } } offset = gCurrentSprite.timer; - DMA_SET(3, (sRuinsTestPAL_SamusReflection + offset * 16), (PALRAM_BASE + 0x3E0), (DMA_ENABLE << 16) | 16); + DMA_SET(3, (sRuinsTestPal_SamusReflection + offset * 16), (PALRAM_BASE + 0x3E0), C_32_2_16(DMA_ENABLE, 16)); } if (gCurrentSprite.pose == RUINS_TEST_SAMUS_REFLECTION_END_POSE_FULLSUIT) - gCurrentSprite.timer = 0x1F; - else if (gCurrentSprite.arrayOffset == 0x0 && (gCurrentSprite.xPosition - 0xC) < gSamusData.xPosition && - gCurrentSprite.xPosition + 0xC > gSamusData.xPosition && gSamusData.yPosition == gBossWork.work1 + 0x12F) + { + gCurrentSprite.timer = 31; + break; + } + + if (gCurrentSprite.arrayOffset != 0) + break; + + if (gCurrentSprite.xPosition - (QUARTER_BLOCK_SIZE - PIXEL_SIZE) < gSamusData.xPosition && + gCurrentSprite.xPosition + (QUARTER_BLOCK_SIZE - PIXEL_SIZE) > gSamusData.xPosition && + gSamusData.yPosition == gBossWork.work1 + (BLOCK_SIZE * 4 + QUARTER_BLOCK_SIZE * 3 - PIXEL_SIZE / PIXEL_SIZE)) { // Set samus in place gSamusData.xPosition = gCurrentSprite.xPosition; @@ -2126,7 +2187,7 @@ void RuinsTestSamusReflectionEnd(void) if (--gCurrentSprite.timer == 0x0) { gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - DMA_SET(3, sRuinsTestPAL_SamusReflectionFullSuit, (PALRAM_BASE + 0x3E0), (DMA_ENABLE << 16) | 16); + DMA_SET(3, sRuinsTestPal_SamusReflectionFullSuit, (PALRAM_BASE + 0x3E0), C_32_2_16(DMA_ENABLE, 16)); gCurrentSprite.pose = RUINS_TEST_SAMUS_REFLECTION_END_POSE_UPDATE_PALETTE; gCurrentSprite.timer = 0x1; gCurrentSprite.workVariable = 0xC; @@ -2136,33 +2197,33 @@ void RuinsTestSamusReflectionEnd(void) { // Transfer fullsuit Gfx gCurrentSprite.status |= SPRITE_STATUS_NOT_DRAWN; - DMA_SET(3, sRuinsTestGfx_SamusReflectionFullSuitTop, (VRAM_BASE + 0x14280), (DMA_ENABLE << 16) | 192); - DMA_SET(3, sRuinsTestGfx_SamusReflectionFullSuitBottom, (VRAM_BASE + 0x14680), (DMA_ENABLE << 16) | 128); + DMA_SET(3, sRuinsTestGfx_SamusReflectionFullSuitTop, (VRAM_BASE + 0x14280), C_32_2_16(DMA_ENABLE, 192)); + DMA_SET(3, sRuinsTestGfx_SamusReflectionFullSuitBottom, (VRAM_BASE + 0x14680), C_32_2_16(DMA_ENABLE, 128)); } break; case RUINS_TEST_SAMUS_REFLECTION_END_POSE_UPDATE_PALETTE: // Update palette gCurrentSprite.workVariable--; - if (gCurrentSprite.workVariable == 0x0) + if (gCurrentSprite.workVariable == 0) { - gCurrentSprite.workVariable = 0xC; + gCurrentSprite.workVariable = 12; offset = gCurrentSprite.timer++; - DMA_SET(3, (sRuinsTestPAL_SamusReflectionFullSuit + offset * 16), (PALRAM_BASE + 0x3E0), (DMA_ENABLE << 16) | 16); - if (offset > 0x8) + DMA_SET(3, &sRuinsTestPal_SamusReflectionFullSuit[offset * 16], (PALRAM_BASE + 0x3E0), C_32_2_16(DMA_ENABLE, 16)); + if (offset > 8) { gCurrentSprite.pose = RUINS_TEST_SAMUS_REFLECTION_END_POSE_SET_FADING_STARTED; - gCurrentSprite.timer = 0x14; + gCurrentSprite.timer = 20; } } break; case RUINS_TEST_SAMUS_REFLECTION_END_POSE_SET_FADING_STARTED: gCurrentSprite.timer--; - if (gCurrentSprite.timer == 0x0) + if (gCurrentSprite.timer == 0) { gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_STARTING_CUTSCENE_FADE; - gCurrentSprite.pose = 0x0; + gCurrentSprite.pose = 0; } } } @@ -2173,14 +2234,14 @@ void RuinsTestSamusReflectionEnd(void) */ void RuinsTestLightningOnGroundInit(void) { - gCurrentSprite.pOam = sRuinsTestLightningOAM_OnGroundHorizontal; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; + gCurrentSprite.pOam = sRuinsTestLightningOam_OnGroundHorizontal; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; - gCurrentSprite.hitboxTopOffset = -0x10; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = -0x60; - gCurrentSprite.hitboxRightOffset = 0x60; + gCurrentSprite.hitboxTopOffset = -QUARTER_BLOCK_SIZE; + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = -(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.hitboxRightOffset = (BLOCK_SIZE + HALF_BLOCK_SIZE); gCurrentSprite.pose = RUINS_TEST_LIGHTNING_POSE_ON_GROUND_HORIZONTAL; } @@ -2194,144 +2255,148 @@ void RuinsTestLightning(void) u32 topEdge; u16 velocity; - velocity = 0x10; + velocity = 16; if (gSubSpriteData1.workVariable3 != RUINS_TEST_FIGHT_STAGE_ON_GOING) - gCurrentSprite.status = 0x0; - else { - switch (gCurrentSprite.pose) - { - case 0x0: - gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; - - gCurrentSprite.drawDistanceTopOffset = 0x50; - gCurrentSprite.drawDistanceBottomOffset = 0x20; - gCurrentSprite.drawDistanceHorizontalOffset = 0x28; - - gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; - if (gCurrentSprite.roomSlot != RUINS_TEST_LIGHTNING_PART_GROUND_RIGHT) - { - // Normal lightning - gCurrentSprite.hitboxTopOffset = -0x100; - gCurrentSprite.hitboxBottomOffset = 0x0; - gCurrentSprite.hitboxLeftOffset = -0x10; - gCurrentSprite.hitboxRightOffset = 0x10; - - gCurrentSprite.pOam = sRuinsTestLightningOAM_InAir; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; - - gCurrentSprite.pose = RUINS_TEST_LIGHTNING_POSE_GOING_DOWN; - } - else - { - // Right lightning, directly on ground - RuinsTestLightningOnGroundInit(); - gCurrentSprite.timer = 0x0; - } - gCurrentSprite.drawOrder = 0x1; - break; - - case RUINS_TEST_LIGHTNING_POSE_GOING_DOWN: - topEdge = SpriteUtilCheckVerticalCollisionAtPositionSlopes(gCurrentSprite.yPosition, gCurrentSprite.xPosition); - if (gPreviousVerticalCollisionCheck != COLLISION_AIR) - { - // Ground touched - gCurrentSprite.yPosition = topEdge; - if (gCurrentSprite.roomSlot == RUINS_TEST_LIGHTNING_PART_STATIC) - { - // Static lightning, kill - gCurrentSprite.status = 0x0; - ParticleSet(gCurrentSprite.yPosition, gCurrentSprite.xPosition, PE_SPRITE_EXPLOSION_HUGE); - SoundPlay(0x1DD); - } - else - { - // Set going on ground - gCurrentSprite.pOam = sRuinsTestLightningOAM_GoingOnGround; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.pose = RUINS_TEST_LIGHTNING_POSE_GOING_ON_GROUND; - SoundPlay(0x1DE); - } - } - else - { - // Move - gCurrentSprite.yPosition += velocity; - if (!(gCurrentSprite.status & SPRITE_STATUS_UNKNOWN2)) - { - if (gCurrentSprite.status & SPRITE_STATUS_ONSCREEN) - { - gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN2; - SoundPlay(0x1DC); - } - } - } - break; - - case RUINS_TEST_LIGHTNING_POSE_GOING_ON_GROUND: - if (SpriteUtilCheckEndCurrentSpriteAnim()) - { - // Set on ground - RuinsTestLightningOnGroundInit(); - // Spawn right lightning - SpriteSpawnSecondary(SSPRITE_RUINS_TEST_LIGHTNING, RUINS_TEST_LIGHTNING_PART_GROUND_RIGHT, - gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, - gCurrentSprite.yPosition, gCurrentSprite.xPosition, SPRITE_STATUS_XFLIP); - } - break; - - case RUINS_TEST_LIGHTNING_POSE_ON_GROUND_HORIZONTAL: - if (gCurrentSprite.roomSlot == RUINS_TEST_LIGHTNING_PART_GROUND_RIGHT) - { - if (!(gCurrentSprite.timer++ & 0x1F)) - SoundPlay(0x1DE); - } - - // Move - if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) - gCurrentSprite.xPosition += velocity; - else - gCurrentSprite.xPosition -= velocity; - - if (SpriteUtilGetCollisionAtPosition(gCurrentSprite.yPosition - 0x10, gCurrentSprite.xPosition) != COLLISION_AIR) - { - // Set vertical - gCurrentSprite.pOam = sRuinsTestLightningOAM_OnGroundVertical; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.animationDurationCounter = 0x0; - - gCurrentSprite.hitboxTopOffset = -0x60; - gCurrentSprite.hitboxBottomOffset = 0x60; - gCurrentSprite.hitboxLeftOffset = -0x10; - gCurrentSprite.hitboxRightOffset = 0x10; - - gCurrentSprite.pose = RUINS_TEST_LIGHTNING_POSE_ON_GROUND_VERTICAL; - - // Update position - if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) - gCurrentSprite.xPosition &= BLOCK_POSITION_FLAG; - else - { - gCurrentSprite.xPosition &= BLOCK_POSITION_FLAG; - gCurrentSprite.xPosition += BLOCK_SIZE; - } - } - break; - - case RUINS_TEST_LIGHTNING_POSE_ON_GROUND_VERTICAL: - if (gCurrentSprite.roomSlot == RUINS_TEST_LIGHTNING_PART_GROUND_RIGHT) - { - if (!(gCurrentSprite.timer++ & 0x1F)) - SoundPlay(0x1DE); - } - // Move - gCurrentSprite.yPosition -= velocity; - - // Kill when reaching ceiling - if (!(gCurrentSprite.status & SPRITE_STATUS_ONSCREEN)) - gCurrentSprite.status = 0x0; - } + gCurrentSprite.status = 0; + return; } -} \ No newline at end of file + + switch (gCurrentSprite.pose) + { + case SPRITE_POSE_UNINITIALIZED: + gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; + + gCurrentSprite.drawDistanceTopOffset = 0x50; + gCurrentSprite.drawDistanceBottomOffset = 0x20; + gCurrentSprite.drawDistanceHorizontalOffset = 0x28; + + gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; + + if (gCurrentSprite.roomSlot != RUINS_TEST_LIGHTNING_PART_GROUND_RIGHT) + { + // Normal lightning + gCurrentSprite.hitboxTopOffset = -(BLOCK_SIZE * 4); + gCurrentSprite.hitboxBottomOffset = 0; + gCurrentSprite.hitboxLeftOffset = -QUARTER_BLOCK_SIZE; + gCurrentSprite.hitboxRightOffset = QUARTER_BLOCK_SIZE; + + gCurrentSprite.pOam = sRuinsTestLightningOam_InAir; + gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0x0; + + gCurrentSprite.pose = RUINS_TEST_LIGHTNING_POSE_GOING_DOWN; + } + else + { + // Right lightning, directly on ground + RuinsTestLightningOnGroundInit(); + gCurrentSprite.timer = 0; + } + + gCurrentSprite.drawOrder = 1; + break; + + case RUINS_TEST_LIGHTNING_POSE_GOING_DOWN: + topEdge = SpriteUtilCheckVerticalCollisionAtPositionSlopes(gCurrentSprite.yPosition, gCurrentSprite.xPosition); + if (gPreviousVerticalCollisionCheck != COLLISION_AIR) + { + // Ground touched + gCurrentSprite.yPosition = topEdge; + if (gCurrentSprite.roomSlot == RUINS_TEST_LIGHTNING_PART_STATIC) + { + // Static lightning, kill + gCurrentSprite.status = 0; + ParticleSet(gCurrentSprite.yPosition, gCurrentSprite.xPosition, PE_SPRITE_EXPLOSION_HUGE); + SoundPlay(0x1DD); + } + else + { + // Set going on ground + gCurrentSprite.pOam = sRuinsTestLightningOam_GoingOnGround; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; + + gCurrentSprite.pose = RUINS_TEST_LIGHTNING_POSE_GOING_ON_GROUND; + SoundPlay(0x1DE); + } + } + else + { + // Move + gCurrentSprite.yPosition += velocity; + if (!(gCurrentSprite.status & SPRITE_STATUS_UNKNOWN2)) + { + if (gCurrentSprite.status & SPRITE_STATUS_ONSCREEN) + { + gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN2; + SoundPlay(0x1DC); + } + } + } + break; + + case RUINS_TEST_LIGHTNING_POSE_GOING_ON_GROUND: + if (SpriteUtilCheckEndCurrentSpriteAnim()) + { + // Set on ground + RuinsTestLightningOnGroundInit(); + // Spawn right lightning + SpriteSpawnSecondary(SSPRITE_RUINS_TEST_LIGHTNING, RUINS_TEST_LIGHTNING_PART_GROUND_RIGHT, + gCurrentSprite.spritesetGfxSlot, gCurrentSprite.primarySpriteRamSlot, + gCurrentSprite.yPosition, gCurrentSprite.xPosition, SPRITE_STATUS_XFLIP); + } + break; + + case RUINS_TEST_LIGHTNING_POSE_ON_GROUND_HORIZONTAL: + if (gCurrentSprite.roomSlot == RUINS_TEST_LIGHTNING_PART_GROUND_RIGHT) + { + if (MOD_AND(gCurrentSprite.timer++, 32) == 0) + SoundPlay(0x1DE); + } + + // Move + if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) + gCurrentSprite.xPosition += velocity; + else + gCurrentSprite.xPosition -= velocity; + + if (SpriteUtilGetCollisionAtPosition(gCurrentSprite.yPosition - QUARTER_BLOCK_SIZE, gCurrentSprite.xPosition) != COLLISION_AIR) + { + // Set vertical + gCurrentSprite.pOam = sRuinsTestLightningOam_OnGroundVertical; + gCurrentSprite.currentAnimationFrame = 0; + gCurrentSprite.animationDurationCounter = 0; + + gCurrentSprite.hitboxTopOffset = -(BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.hitboxBottomOffset = (BLOCK_SIZE + HALF_BLOCK_SIZE); + gCurrentSprite.hitboxLeftOffset = -QUARTER_BLOCK_SIZE; + gCurrentSprite.hitboxRightOffset = QUARTER_BLOCK_SIZE; + + gCurrentSprite.pose = RUINS_TEST_LIGHTNING_POSE_ON_GROUND_VERTICAL; + + // Update position + if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) + gCurrentSprite.xPosition &= BLOCK_POSITION_FLAG; + else + { + gCurrentSprite.xPosition &= BLOCK_POSITION_FLAG; + gCurrentSprite.xPosition += BLOCK_SIZE; + } + } + break; + + case RUINS_TEST_LIGHTNING_POSE_ON_GROUND_VERTICAL: + if (gCurrentSprite.roomSlot == RUINS_TEST_LIGHTNING_PART_GROUND_RIGHT) + { + if (MOD_AND(gCurrentSprite.timer++, 32) == 0) + SoundPlay(0x1DE); + } + // Move + gCurrentSprite.yPosition -= velocity; + + // Kill when reaching ceiling + if (!(gCurrentSprite.status & SPRITE_STATUS_ONSCREEN)) + gCurrentSprite.status = 0; + } +} diff --git a/src/sprites_AI/skree.c b/src/sprites_AI/skree.c index 84a27b2c..ef381164 100644 --- a/src/sprites_AI/skree.c +++ b/src/sprites_AI/skree.c @@ -20,14 +20,14 @@ void SkreeInit(void) { gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; - gCurrentSprite.drawDistanceTopOffset = 0x0; - gCurrentSprite.drawDistanceBottomOffset = 0x20; - gCurrentSprite.drawDistanceHorizontalOffset = 0x10; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(0); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 2); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = 0x0; - gCurrentSprite.hitboxBottomOffset = 0x60; - gCurrentSprite.hitboxLeftOffset = -0x18; - gCurrentSprite.hitboxRightOffset = 0x18; + gCurrentSprite.hitboxTopOffset = 0; + gCurrentSprite.hitboxBottomOffset = BLOCK_SIZE + HALF_BLOCK_SIZE; + gCurrentSprite.hitboxLeftOffset = -(QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2); + gCurrentSprite.hitboxRightOffset = (QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2); gCurrentSprite.health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); gCurrentSprite.yPosition -= BLOCK_SIZE; @@ -40,8 +40,8 @@ void SkreeInit(void) void SkreeIdleInit(void) { gCurrentSprite.pOam = sSkreeOAM_Idle; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; gCurrentSprite.pose = SKREE_POSE_DETECTING_SAMUS; } @@ -51,15 +51,23 @@ void SkreeIdleInit(void) */ void SkreeDetectSamus(void) { - if (gSamusData.yPosition > gCurrentSprite.yPosition && - gSamusData.yPosition - gCurrentSprite.yPosition < SKREE_Y_RANGE && - gCurrentSprite.status & SPRITE_STATUS_ONSCREEN && - gSamusData.xPosition > gCurrentSprite.xPosition - SKREE_X_RANGE && - gSamusData.xPosition < gCurrentSprite.xPosition + SKREE_X_RANGE) - { - // Set spinning - gCurrentSprite.pose = SKREE_POSE_SPINNING_INIT; - } + if (gSamusData.yPosition <= gCurrentSprite.yPosition) + return; + + if (gSamusData.yPosition - gCurrentSprite.yPosition >= SKREE_Y_RANGE) + return; + + if (!(gCurrentSprite.status & SPRITE_STATUS_ONSCREEN)) + return; + + if (gSamusData.xPosition <= gCurrentSprite.xPosition - SKREE_X_RANGE) + return; + + if (gSamusData.xPosition >= gCurrentSprite.xPosition + SKREE_X_RANGE) + return; + + // Set spinning + gCurrentSprite.pose = SKREE_POSE_SPINNING_INIT; } /** @@ -69,8 +77,8 @@ void SkreeDetectSamus(void) void SkreeSpinningInit(void) { gCurrentSprite.pOam = sSkreeOAM_Spinning; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; gCurrentSprite.pose = SKREE_POSE_SPINNING; } @@ -91,10 +99,11 @@ void SkreeCheckSpinAnimEnded(void) void SkreeGoingDownInit(void) { gCurrentSprite.pOam = sSkreeOAM_GoingDown; - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; - gCurrentSprite.arrayOffset = 0x0; - gCurrentSprite.workVariable2 = 0x0; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + + gCurrentSprite.arrayOffset = 0; + gCurrentSprite.workVariable2 = 0; gCurrentSprite.pose = SKREE_POSE_GOING_DOWN; if (gCurrentSprite.xPosition > gSamusData.xPosition) @@ -112,15 +121,17 @@ void SkreeGoingDownInit(void) */ void SkreeGoDown(void) { - u32 block; + u32 blockTop; u32 xMovement; u32 yMovement; u32 offset; - block = SpriteUtilCheckVerticalCollisionAtPositionSlopes(gCurrentSprite.hitboxBottomOffset + gCurrentSprite.yPosition, gCurrentSprite.xPosition); - if (gPreviousVerticalCollisionCheck != 0x0) + blockTop = SpriteUtilCheckVerticalCollisionAtPositionSlopes(gCurrentSprite.hitboxBottomOffset + gCurrentSprite.yPosition, + gCurrentSprite.xPosition); + + if (gPreviousVerticalCollisionCheck != 0) { - gCurrentSprite.yPosition = block - gCurrentSprite.hitboxBottomOffset; + gCurrentSprite.yPosition = blockTop - gCurrentSprite.hitboxBottomOffset; gCurrentSprite.pose = SKREE_POSE_CRASHING; gCurrentSprite.timer = 0x0; if (gCurrentSprite.status & SPRITE_STATUS_ONSCREEN) @@ -128,12 +139,13 @@ void SkreeGoDown(void) } else { - xMovement = gCurrentSprite.workVariable2 >> 0x2; + xMovement = gCurrentSprite.workVariable2 / 4; + offset = gCurrentSprite.arrayOffset; yMovement = sSkreeFallingSpeed[offset]; if (yMovement == SHORT_MAX) { - yMovement = sSkreeFallingSpeed[offset - 0x1]; + yMovement = sSkreeFallingSpeed[offset - 1]; gCurrentSprite.yPosition += yMovement; } else @@ -144,20 +156,23 @@ void SkreeGoDown(void) if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + BLOCK_SIZE, gCurrentSprite.xPosition + (HALF_BLOCK_SIZE)); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + BLOCK_SIZE, gCurrentSprite.xPosition + HALF_BLOCK_SIZE); if (gPreviousCollisionCheck == COLLISION_SOLID) return; + gCurrentSprite.xPosition += xMovement; } else { - SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + BLOCK_SIZE, gCurrentSprite.xPosition - (HALF_BLOCK_SIZE)); + SpriteUtilCheckCollisionAtPosition(gCurrentSprite.yPosition + BLOCK_SIZE, gCurrentSprite.xPosition - HALF_BLOCK_SIZE); if (gPreviousCollisionCheck == COLLISION_SOLID) return; + gCurrentSprite.xPosition -= xMovement; } - if (xMovement < 0x10) + // X speed threshold + if (xMovement < 16) gCurrentSprite.workVariable2++; } } @@ -181,19 +196,23 @@ void SkreeCrashGround(void) switch (gCurrentSprite.timer) { - case 0x1: + case 1: yPosition += 0x48; - SpriteDebrisInit(0x0, 0x11, yPosition - 0x10, xPosition); - SpriteDebrisInit(0x0, 0x12, yPosition, xPosition + 0xC); - SpriteDebrisInit(0x0, 0x13, yPosition - 0x2A, xPosition + 0x14); - SpriteDebrisInit(0x0, 0x4, yPosition - 0x18, xPosition - 0x1E); + SpriteDebrisInit(0, 17, yPosition - QUARTER_BLOCK_SIZE, xPosition); + SpriteDebrisInit(0, 18, yPosition, xPosition + (PIXEL_SIZE * 3)); + + SpriteDebrisInit(0, 19, yPosition - (HALF_BLOCK_SIZE + PIXEL_SIZE * 2 + PIXEL_SIZE / 2), + xPosition + (QUARTER_BLOCK_SIZE + PIXEL_SIZE)); + + SpriteDebrisInit(0, 4, yPosition - (QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2), + xPosition - (QUARTER_BLOCK_SIZE + PIXEL_SIZE * 3 + PIXEL_SIZE / 2)); break; - case 0x28: + case 40: gCurrentSprite.pOam = sSkreeOAM_Crashing; break; - case 0x3C: + case 60: gfxSlot = gCurrentSprite.spritesetGfxSlot; ramSlot = gCurrentSprite.primarySpriteRamSlot; @@ -202,12 +221,22 @@ void SkreeCrashGround(void) else spriteID = SSPRITE_SKREE_EXPLOSION; - SpriteSpawnSecondary(spriteID, SKREE_EXPLOSION_PART_GOING_UP, gfxSlot, ramSlot, yPosition - 0x8, xPosition, 0x0); - SpriteSpawnSecondary(spriteID, SKREE_EXPLOSION_PART_GOING_UP, gfxSlot, ramSlot, yPosition - 0x8, xPosition, SPRITE_STATUS_XFLIP); - SpriteSpawnSecondary(spriteID, SKREE_EXPLOSION_PART_GOING_DOWN, gfxSlot, ramSlot, yPosition + 0x8, xPosition - 0xC, 0x0); - SpriteSpawnSecondary(spriteID, SKREE_EXPLOSION_PART_GOING_DOWN, gfxSlot, ramSlot, yPosition + 0x8, xPosition + 0xC, SPRITE_STATUS_XFLIP); - gCurrentSprite.status = 0x0; - ParticleSet(yPosition + 0x24, xPosition, PE_SPRITE_EXPLOSION_HUGE); + SpriteSpawnSecondary(spriteID, SKREE_EXPLOSION_PART_GOING_UP, gfxSlot, ramSlot, + yPosition - (PIXEL_SIZE * 2), xPosition, 0); + + SpriteSpawnSecondary(spriteID, SKREE_EXPLOSION_PART_GOING_UP, gfxSlot, ramSlot, + yPosition - (PIXEL_SIZE * 2), xPosition, SPRITE_STATUS_XFLIP); + + SpriteSpawnSecondary(spriteID, SKREE_EXPLOSION_PART_GOING_DOWN, gfxSlot, ramSlot, + yPosition + (PIXEL_SIZE * 2), xPosition - (PIXEL_SIZE * 3), 0); + + SpriteSpawnSecondary(spriteID, SKREE_EXPLOSION_PART_GOING_DOWN, gfxSlot, ramSlot, + yPosition + (PIXEL_SIZE * 2), xPosition + (PIXEL_SIZE * 3), SPRITE_STATUS_XFLIP); + + + gCurrentSprite.status = 0; + + ParticleSet(yPosition + HALF_BLOCK_SIZE + PIXEL_SIZE, xPosition, PE_SPRITE_EXPLOSION_HUGE); SoundPlay(0x134); } } @@ -221,28 +250,28 @@ void SkreeExplosionInit(void) gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; gCurrentSprite.status |= SPRITE_STATUS_IGNORE_PROJECTILES; gCurrentSprite.properties |= SP_KILL_OFF_SCREEN; + + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + + gCurrentSprite.hitboxTopOffset = -(PIXEL_SIZE * 3); + gCurrentSprite.hitboxBottomOffset = (PIXEL_SIZE * 3); + gCurrentSprite.hitboxLeftOffset = -(PIXEL_SIZE * 3); + gCurrentSprite.hitboxRightOffset = (PIXEL_SIZE * 3); - gCurrentSprite.drawDistanceTopOffset = 0x10; - gCurrentSprite.drawDistanceBottomOffset = 0x10; - gCurrentSprite.drawDistanceHorizontalOffset = 0x10; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; - gCurrentSprite.hitboxTopOffset = -0xC; - gCurrentSprite.hitboxBottomOffset = 0xC; - gCurrentSprite.hitboxLeftOffset = -0xC; - gCurrentSprite.hitboxRightOffset = 0xC; - - gCurrentSprite.animationDurationCounter = 0x0; - gCurrentSprite.currentAnimationFrame = 0x0; - - gCurrentSprite.pose = 0x9; + gCurrentSprite.pose = SKREE_EXPLOSION_POSE_MOVING; gCurrentSprite.samusCollision = SSC_HURTS_SAMUS; - gCurrentSprite.drawOrder = 0x3; - gCurrentSprite.bgPriority = gIoRegistersBackup.BG1CNT & 0x3; + gCurrentSprite.drawOrder = 3; + gCurrentSprite.bgPriority = MOD_AND(gIoRegistersBackup.BG1CNT, 4); - gCurrentSprite.yPosition += 0x28; - gCurrentSprite.status |= (SPRITE_STATUS_DOUBLE_SIZE | SPRITE_STATUS_ROTATION_SCALING); - gCurrentSprite.oamScaling = 0x100; - gCurrentSprite.oamRotation = 0x0; + gCurrentSprite.yPosition += HALF_BLOCK_SIZE + PIXEL_SIZE * 2; + gCurrentSprite.status |= SPRITE_STATUS_DOUBLE_SIZE | SPRITE_STATUS_ROTATION_SCALING; + gCurrentSprite.oamScaling = Q_8_8(1.f); + gCurrentSprite.oamRotation = 0; if (gCurrentSprite.roomSlot != SKREE_EXPLOSION_PART_GOING_UP) gCurrentSprite.pOam = sSkreeExplosionOAM_GoingDown; @@ -256,27 +285,27 @@ void SkreeExplosionInit(void) */ void SkreeExplosionMove(void) { - if (gCurrentSprite.currentAnimationFrame > 0x1) - gCurrentSprite.ignoreSamusCollisionTimer = 0x1; + if (gCurrentSprite.currentAnimationFrame > 1) + gCurrentSprite.ignoreSamusCollisionTimer = 1; if (gCurrentSprite.status & SPRITE_STATUS_XFLIP) { - gCurrentSprite.xPosition += 0x8; - gCurrentSprite.oamRotation += 0x20; + gCurrentSprite.xPosition += PIXEL_SIZE * 2; + gCurrentSprite.oamRotation += PI / 4; } else { - gCurrentSprite.xPosition -= 0x8; - gCurrentSprite.oamRotation -= 0x20; + gCurrentSprite.xPosition -= PIXEL_SIZE * 2; + gCurrentSprite.oamRotation -= PI / 4; } if (gCurrentSprite.roomSlot != SKREE_EXPLOSION_PART_GOING_UP) - gCurrentSprite.yPosition += 0x4; + gCurrentSprite.yPosition += PIXEL_SIZE; else - gCurrentSprite.yPosition -= 0x4; + gCurrentSprite.yPosition -= PIXEL_SIZE; if (SpriteUtilCheckEndCurrentSpriteAnim()) - gCurrentSprite.status = 0x0; + gCurrentSprite.status = 0; } /** @@ -292,46 +321,48 @@ void Skree(void) SoundPlayNotAlreadyPlaying(0x143); } - if (gCurrentSprite.freezeTimer != 0x0) - SpriteUtilUpdateFreezeTimer(); - else + if (gCurrentSprite.freezeTimer != 0) { - if (SpriteUtilIsSpriteStunned()) - return; - - switch (gCurrentSprite.pose) - { - case 0x0: - SkreeInit(); + SpriteUtilUpdateFreezeTimer(); + return; + } - case 0x8: - SkreeIdleInit(); + if (SpriteUtilIsSpriteStunned()) + return; + + switch (gCurrentSprite.pose) + { + case SPRITE_POSE_UNINITIALIZED: + SkreeInit(); - case SKREE_POSE_DETECTING_SAMUS: - SkreeDetectSamus(); - break; + case 0x8: + SkreeIdleInit(); - case SKREE_POSE_SPINNING_INIT: - SkreeSpinningInit(); + case SKREE_POSE_DETECTING_SAMUS: + SkreeDetectSamus(); + break; - case SKREE_POSE_SPINNING: - SkreeCheckSpinAnimEnded(); - break; + case SKREE_POSE_SPINNING_INIT: + SkreeSpinningInit(); - case SKREE_POSE_GOING_DOWN_INIT: - SkreeGoingDownInit(); + case SKREE_POSE_SPINNING: + SkreeCheckSpinAnimEnded(); + break; - case SKREE_POSE_GOING_DOWN: - SkreeGoDown(); - break; + case SKREE_POSE_GOING_DOWN_INIT: + SkreeGoingDownInit(); - case SKREE_POSE_CRASHING: - SkreeCrashGround(); - break; + case SKREE_POSE_GOING_DOWN: + SkreeGoDown(); + break; - default: - SpriteUtilSpriteDeath(DEATH_NORMAL, gCurrentSprite.yPosition + 0x34, gCurrentSprite.xPosition, TRUE, PE_SPRITE_EXPLOSION_MEDIUM); - } + case SKREE_POSE_CRASHING: + SkreeCrashGround(); + break; + + default: + SpriteUtilSpriteDeath(DEATH_NORMAL, gCurrentSprite.yPosition + (QUARTER_BLOCK_SIZE * 3 + PIXEL_SIZE), + gCurrentSprite.xPosition, TRUE, PE_SPRITE_EXPLOSION_MEDIUM); } } @@ -343,10 +374,10 @@ void SkreeExplosion(void) { switch (gCurrentSprite.pose) { - case 0x0: + case SPRITE_POSE_UNINITIALIZED: SkreeExplosionInit(); - case 0x9: + case SKREE_EXPLOSION_POSE_MOVING: SkreeExplosionMove(); } -} \ No newline at end of file +} diff --git a/src/sprites_AI/space_pirate.c b/src/sprites_AI/space_pirate.c index 0f7ff71a..e4ab4a49 100644 --- a/src/sprites_AI/space_pirate.c +++ b/src/sprites_AI/space_pirate.c @@ -1855,7 +1855,7 @@ void SpacePirateInit(void) gCurrentSprite.animationDurationCounter = 0x0; gCurrentSprite.health = GET_PSPRITE_HEALTH(spriteID); - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.workVariable2 = 0x0; gCurrentSprite.oamRotation = 0x0; diff --git a/src/sprites_AI/zebetite_and_cannon.c b/src/sprites_AI/zebetite_and_cannon.c index a984d9ae..5f926f54 100644 --- a/src/sprites_AI/zebetite_and_cannon.c +++ b/src/sprites_AI/zebetite_and_cannon.c @@ -26,7 +26,7 @@ void Zebetite(void) u16 spawnHealth; u32 phase; - if (gCurrentSprite.pose == 0) + if (gCurrentSprite.pose == SPRITE_POSE_UNINITIALIZED) { alreadyDead = FALSE; gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; @@ -61,11 +61,11 @@ void Zebetite(void) return; } - gCurrentSprite.drawDistanceTopOffset = 0x30; - gCurrentSprite.drawDistanceBottomOffset = 0x0; - gCurrentSprite.drawDistanceHorizontalOffset = 0x8; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 3); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(0); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -BLOCK_SIZE * 3; + gCurrentSprite.hitboxTopOffset = -(BLOCK_SIZE * 3); gCurrentSprite.hitboxBottomOffset = 0; gCurrentSprite.hitboxLeftOffset = -HALF_BLOCK_SIZE; gCurrentSprite.hitboxRightOffset = HALF_BLOCK_SIZE; @@ -73,7 +73,7 @@ void Zebetite(void) gCurrentSprite.frozenPaletteRowOffset = 1; gCurrentSprite.samusCollision = SSC_ZEBETITE; - gCurrentSprite.pOam = sZebetiteOAM_Phase1; + gCurrentSprite.pOam = sZebetiteOam_Phase1; gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.currentAnimationFrame = 0; @@ -85,14 +85,14 @@ void Zebetite(void) gCurrentSprite.pose = 9; if (gDifficulty == DIFF_EASY) - gCurrentSprite.timer = 0x3C; + gCurrentSprite.timer = ZEBETITE_HEAL_TIMER * 2; else - gCurrentSprite.timer = 0x1E; + gCurrentSprite.timer = ZEBETITE_HEAL_TIMER; } maxHealth = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); - phase = (maxHealth - gCurrentSprite.health) / 20; + phase = (maxHealth - gCurrentSprite.health) / ZEBETITE_HEALTH_THRESHOLD; if (gCurrentSprite.health == gCurrentSprite.oamScaling) { @@ -100,114 +100,116 @@ void Zebetite(void) { gCurrentSprite.timer--; if (gCurrentSprite.timer == 0) - gCurrentSprite.health += 20; + gCurrentSprite.health += ZEBETITE_HEALTH_THRESHOLD; } + + return; } - else + + if (gCurrentSprite.health < maxHealth) { - if (gCurrentSprite.health < maxHealth) - { - if (gDifficulty == DIFF_EASY) - gCurrentSprite.timer = 0x3C; - else - gCurrentSprite.timer = 0x1E; - } + if (gDifficulty == DIFF_EASY) + gCurrentSprite.timer = ZEBETITE_HEAL_TIMER * 2; + else + gCurrentSprite.timer = ZEBETITE_HEAL_TIMER; + } - gCurrentSprite.oamScaling = gCurrentSprite.health; + gCurrentSprite.oamScaling = gCurrentSprite.health; - switch (phase) - { - case 0: - if (gCurrentSprite.pOam != sZebetiteOAM_Phase1) - { - SoundPlayNotAlreadyPlaying(0x266); - - gCurrentSprite.pOam = sZebetiteOAM_Phase1; - gCurrentSprite.animationDurationCounter = 0; - gCurrentSprite.currentAnimationFrame = 0; - } - break; + switch (phase) + { + case 0: + if (gCurrentSprite.pOam != sZebetiteOam_Phase1) + { + SoundPlayNotAlreadyPlaying(0x266); + + gCurrentSprite.pOam = sZebetiteOam_Phase1; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + } + break; - case 1: - case 2: - if (gCurrentSprite.pOam != sZebetiteOAM_Phase2) - { - if (gCurrentSprite.pOam == sZebetiteOAM_Phase1) - SoundPlayNotAlreadyPlaying(0x265); - else if (gCurrentSprite.pOam == sZebetiteOAM_Phase4) - SoundPlayNotAlreadyPlaying(0x266); - - gCurrentSprite.pOam = sZebetiteOAM_Phase2; - gCurrentSprite.animationDurationCounter = 0; - gCurrentSprite.currentAnimationFrame = 0; - } - break; - - case 3: - case 4: - if (gCurrentSprite.pOam != sZebetiteOAM_Phase4) - { - if (gCurrentSprite.pOam == sZebetiteOAM_Phase2) - SoundPlayNotAlreadyPlaying(0x265); - else if (gCurrentSprite.pOam == sZebetiteOAM_Phase6) - SoundPlayNotAlreadyPlaying(0x266); - - gCurrentSprite.pOam = sZebetiteOAM_Phase4; - gCurrentSprite.animationDurationCounter = 0; - gCurrentSprite.currentAnimationFrame = 0; - } - break; - - case 5: - case 6: - if (gCurrentSprite.pOam != sZebetiteOAM_Phase6) - { + case 1: + case 2: + if (gCurrentSprite.pOam != sZebetiteOam_Phase2) + { + if (gCurrentSprite.pOam == sZebetiteOam_Phase1) SoundPlayNotAlreadyPlaying(0x265); - - gCurrentSprite.pOam = sZebetiteOAM_Phase6; - gCurrentSprite.animationDurationCounter = 0; - gCurrentSprite.currentAnimationFrame = 0; - } - break; + else if (gCurrentSprite.pOam == sZebetiteOam_Phase4) + SoundPlayNotAlreadyPlaying(0x266); + + gCurrentSprite.pOam = sZebetiteOam_Phase2; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + } + break; - default: - ParticleSet(gCurrentSprite.yPosition - 0x48, gCurrentSprite.xPosition, PE_SPRITE_EXPLOSION_SINGLE_THEN_BIG); - SoundPlay(0x12F); + case 3: + case 4: + if (gCurrentSprite.pOam != sZebetiteOam_Phase4) + { + if (gCurrentSprite.pOam == sZebetiteOam_Phase2) + SoundPlayNotAlreadyPlaying(0x265); + else if (gCurrentSprite.pOam == sZebetiteOam_Phase6) + SoundPlayNotAlreadyPlaying(0x266); + + gCurrentSprite.pOam = sZebetiteOam_Phase4; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + } + break; - switch (gCurrentSprite.spriteID) - { - case PSPRITE_ZEBETITE_ONE_AND_THREE: - if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_ZEBETITE_ONE_DESTROYED)) - { - gCurrentSprite.status |= SPRITE_STATUS_NOT_DRAWN; - gCurrentSprite.pose = 0; - EventFunction(EVENT_ACTION_SETTING, EVENT_ZEBETITE_ONE_DESTROYED); - } - else - { - gCurrentSprite.status = 0; - EventFunction(EVENT_ACTION_SETTING, EVENT_ZEBETITE_THREE_DESTROYED); - } - break; + case 5: + case 6: + if (gCurrentSprite.pOam != sZebetiteOam_Phase6) + { + SoundPlayNotAlreadyPlaying(0x265); + + gCurrentSprite.pOam = sZebetiteOam_Phase6; + gCurrentSprite.animationDurationCounter = 0; + gCurrentSprite.currentAnimationFrame = 0; + } + break; - case PSPRITE_ZEBETITE_TWO_AND_FOUR: - if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_ZEBETITE_TWO_DESTROYED)) - { - gCurrentSprite.status |= SPRITE_STATUS_NOT_DRAWN; - gCurrentSprite.pose = 0; - EventFunction(EVENT_ACTION_SETTING, EVENT_ZEBETITE_TWO_DESTROYED); - } - else - { - gCurrentSprite.status = 0; - EventFunction(EVENT_ACTION_SETTING, EVENT_ZEBETITE_FOUR_DESTROYED); - } - break; + default: + ParticleSet(gCurrentSprite.yPosition - (BLOCK_SIZE + PIXEL_SIZE * 2), gCurrentSprite.xPosition, + PE_SPRITE_EXPLOSION_SINGLE_THEN_BIG); - default: + SoundPlay(0x12F); + + switch (gCurrentSprite.spriteID) + { + case PSPRITE_ZEBETITE_ONE_AND_THREE: + if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_ZEBETITE_ONE_DESTROYED)) + { + gCurrentSprite.status |= SPRITE_STATUS_NOT_DRAWN; + gCurrentSprite.pose = 0; + EventFunction(EVENT_ACTION_SETTING, EVENT_ZEBETITE_ONE_DESTROYED); + } + else + { gCurrentSprite.status = 0; - } - } + EventFunction(EVENT_ACTION_SETTING, EVENT_ZEBETITE_THREE_DESTROYED); + } + break; + + case PSPRITE_ZEBETITE_TWO_AND_FOUR: + if (!EventFunction(EVENT_ACTION_CHECKING, EVENT_ZEBETITE_TWO_DESTROYED)) + { + gCurrentSprite.status |= SPRITE_STATUS_NOT_DRAWN; + gCurrentSprite.pose = 0; + EventFunction(EVENT_ACTION_SETTING, EVENT_ZEBETITE_TWO_DESTROYED); + } + else + { + gCurrentSprite.status = 0; + EventFunction(EVENT_ACTION_SETTING, EVENT_ZEBETITE_FOUR_DESTROYED); + } + break; + + default: + gCurrentSprite.status = 0; + } } } @@ -240,18 +242,18 @@ void CannonCheckSurroundings(void) gCurrentSprite.status &= ~SPRITE_STATUS_FACING_RIGHT; gCurrentSprite.workVariable = CANNON_AIM_DOWN_LEFT; gCurrentSprite.arrayOffset = CANNON_VIEW_LEFT; - gCurrentSprite.pOam = sCannonOAM_AimingDownLeft; + gCurrentSprite.pOam = sCannonOam_AimingDownLeft; } else if (SpriteUtilGetCollisionAtPosition(gCurrentSprite.yPosition, gCurrentSprite.xPosition - BLOCK_SIZE) != COLLISION_AIR) { gCurrentSprite.status |= SPRITE_STATUS_FACING_RIGHT; gCurrentSprite.workVariable = CANNON_AIM_DOWN_RIGHT; gCurrentSprite.arrayOffset = CANNON_VIEW_RIGHT; - gCurrentSprite.pOam = sCannonOAM_AimingDownRight; + gCurrentSprite.pOam = sCannonOam_AimingDownRight; } else { - if (rng & 1) + if (MOD_AND(rng, 2)) gCurrentSprite.status &= ~SPRITE_STATUS_FACING_RIGHT; else gCurrentSprite.status |= SPRITE_STATUS_FACING_RIGHT; @@ -259,12 +261,12 @@ void CannonCheckSurroundings(void) if (rng > 7) { gCurrentSprite.workVariable = CANNON_AIM_DOWN_RIGHT; - gCurrentSprite.pOam = sCannonOAM_AimingDownRight; + gCurrentSprite.pOam = sCannonOam_AimingDownRight; } else { gCurrentSprite.workVariable = CANNON_AIM_DOWN_LEFT; - gCurrentSprite.pOam = sCannonOAM_AimingDownLeft; + gCurrentSprite.pOam = sCannonOam_AimingDownLeft; } gCurrentSprite.arrayOffset = CANNON_VIEW_EVERWHERE; @@ -298,21 +300,21 @@ void Cannon(void) if (gCurrentSprite.pose == 0) { - gCurrentSprite.drawDistanceTopOffset = 0x10; - gCurrentSprite.drawDistanceBottomOffset = 0x10; - gCurrentSprite.drawDistanceHorizontalOffset = 0x10; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -4; - gCurrentSprite.hitboxBottomOffset = 4; - gCurrentSprite.hitboxLeftOffset = -4; - gCurrentSprite.hitboxRightOffset = 4; + gCurrentSprite.hitboxTopOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxBottomOffset = PIXEL_SIZE; + gCurrentSprite.hitboxLeftOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxRightOffset = PIXEL_SIZE; gCurrentSprite.frozenPaletteRowOffset = 1; gCurrentSprite.samusCollision = SSC_NONE; gCurrentSprite.drawOrder = 5; - gCurrentSprite.bgPriority = gIoRegistersBackup.BG1CNT & 3; - gCurrentSprite.pose = 9; + gCurrentSprite.bgPriority = MOD_AND(gIoRegistersBackup.BG1CNT,4); + gCurrentSprite.pose = 0x9; gCurrentSprite.yPosition -= HALF_BLOCK_SIZE; CannonCheckSurroundings(); @@ -329,7 +331,7 @@ void Cannon(void) switch (gCurrentSprite.spriteID) { case PSPRITE_CANNON: - range = 0x14; + range = QUARTER_BLOCK_SIZE + PIXEL_SIZE; if (gCurrentSprite.status & SPRITE_STATUS_SAMUS_COLLIDING) { spriteX -= BLOCK_SIZE * 20; @@ -358,7 +360,7 @@ void Cannon(void) break; case PSPRITE_CANNON2: - range = 0x18; + range = QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2; if (gCurrentSprite.status & SPRITE_STATUS_SAMUS_COLLIDING) { spriteX -= BLOCK_SIZE * 24; @@ -387,7 +389,7 @@ void Cannon(void) break; case PSPRITE_CANNON3: - range = 0x18; + range = QUARTER_BLOCK_SIZE + PIXEL_SIZE * 2; if (gCurrentSprite.status & SPRITE_STATUS_SAMUS_COLLIDING) { spriteX -= BLOCK_SIZE * 24; @@ -427,11 +429,11 @@ void Cannon(void) switch (gCurrentSprite.workVariable) { case CANNON_AIM_LEFT: - if (gCurrentSprite.pOam == sCannonOAM_ShootingLeft) + if (gCurrentSprite.pOam == sCannonOam_ShootingLeft) { if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sCannonOAM_AimingLeft; + gCurrentSprite.pOam = sCannonOam_AimingLeft; gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.currentAnimationFrame = 0; } @@ -447,7 +449,7 @@ void Cannon(void) gCurrentSprite.currentAnimationFrame = 0; gCurrentSprite.workVariable++; - gCurrentSprite.pOam = sCannonOAM_LeftToDownLeftTransition; + gCurrentSprite.pOam = sCannonOam_LeftToDownLeftTransition; gCurrentSprite.status |= SPRITE_STATUS_FACING_RIGHT; } break; @@ -458,18 +460,18 @@ void Cannon(void) if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { if (rng > 2) - gCurrentSprite.pOam = sCannonOAM_ShootingDownLeft; + gCurrentSprite.pOam = sCannonOam_ShootingDownLeft; else - gCurrentSprite.pOam = sCannonOAM_AimingDownLeft; + gCurrentSprite.pOam = sCannonOam_AimingDownLeft; gCurrentSprite.workVariable++; } else { if (rng > 10) - gCurrentSprite.pOam = sCannonOAM_ShootingLeft; + gCurrentSprite.pOam = sCannonOam_ShootingLeft; else - gCurrentSprite.pOam = sCannonOAM_AimingLeft; + gCurrentSprite.pOam = sCannonOam_AimingLeft; gCurrentSprite.workVariable--; } @@ -480,11 +482,11 @@ void Cannon(void) break; case CANNON_AIM_DOWN_LEFT: - if (gCurrentSprite.pOam == sCannonOAM_ShootingDownLeft) + if (gCurrentSprite.pOam == sCannonOam_ShootingDownLeft) { if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sCannonOAM_AimingDownLeft; + gCurrentSprite.pOam = sCannonOam_AimingDownLeft; gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.currentAnimationFrame = 0; } @@ -502,12 +504,12 @@ void Cannon(void) if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { gCurrentSprite.workVariable++; - gCurrentSprite.pOam = sCannonOAM_DownLeftToDownTransition; + gCurrentSprite.pOam = sCannonOam_DownLeftToDownTransition; } else { gCurrentSprite.workVariable--; - gCurrentSprite.pOam = sCannonOAM_LeftToDownLeftTransition; + gCurrentSprite.pOam = sCannonOam_LeftToDownLeftTransition; } } break; @@ -518,18 +520,18 @@ void Cannon(void) if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { if (rng > 4) - gCurrentSprite.pOam = sCannonOAM_ShootingDown; + gCurrentSprite.pOam = sCannonOam_ShootingDown; else - gCurrentSprite.pOam = sCannonOAM_AimingDown; + gCurrentSprite.pOam = sCannonOam_AimingDown; gCurrentSprite.workVariable++; } else { if (rng > 2) - gCurrentSprite.pOam = sCannonOAM_ShootingDownLeft; + gCurrentSprite.pOam = sCannonOam_ShootingDownLeft; else - gCurrentSprite.pOam = sCannonOAM_AimingDownLeft; + gCurrentSprite.pOam = sCannonOam_AimingDownLeft; gCurrentSprite.workVariable--; } @@ -540,11 +542,11 @@ void Cannon(void) break; case CANNON_AIM_DOWN: - if (gCurrentSprite.pOam == sCannonOAM_ShootingDown) + if (gCurrentSprite.pOam == sCannonOam_ShootingDown) { if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sCannonOAM_AimingDown; + gCurrentSprite.pOam = sCannonOam_AimingDown; gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.currentAnimationFrame = 0; } @@ -565,12 +567,12 @@ void Cannon(void) if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { gCurrentSprite.workVariable++; - gCurrentSprite.pOam = sCannonOAM_DownToDownRightTransition; + gCurrentSprite.pOam = sCannonOam_DownToDownRightTransition; } else { gCurrentSprite.workVariable--; - gCurrentSprite.pOam = sCannonOAM_DownLeftToDownTransition; + gCurrentSprite.pOam = sCannonOam_DownLeftToDownTransition; } } break; @@ -581,18 +583,18 @@ void Cannon(void) if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { if (rng > 2) - gCurrentSprite.pOam = sCannonOAM_ShootingDownRight; + gCurrentSprite.pOam = sCannonOam_ShootingDownRight; else - gCurrentSprite.pOam = sCannonOAM_AimingDownRight; + gCurrentSprite.pOam = sCannonOam_AimingDownRight; gCurrentSprite.workVariable++; } else { if (rng > 4) - gCurrentSprite.pOam = sCannonOAM_ShootingDown; + gCurrentSprite.pOam = sCannonOam_ShootingDown; else - gCurrentSprite.pOam = sCannonOAM_AimingDown; + gCurrentSprite.pOam = sCannonOam_AimingDown; gCurrentSprite.workVariable--; } @@ -602,11 +604,11 @@ void Cannon(void) break; case CANNON_AIM_DOWN_RIGHT: - if (gCurrentSprite.pOam == sCannonOAM_ShootingDownRight) + if (gCurrentSprite.pOam == sCannonOam_ShootingDownRight) { if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sCannonOAM_AimingDownRight; + gCurrentSprite.pOam = sCannonOam_AimingDownRight; gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.currentAnimationFrame = 0; } @@ -624,12 +626,12 @@ void Cannon(void) if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { gCurrentSprite.workVariable++; - gCurrentSprite.pOam = sCannonOAM_DownRightToRightTransition; + gCurrentSprite.pOam = sCannonOam_DownRightToRightTransition; } else { gCurrentSprite.workVariable--; - gCurrentSprite.pOam = sCannonOAM_DownToDownRightTransition; + gCurrentSprite.pOam = sCannonOam_DownToDownRightTransition; } } break; @@ -640,18 +642,18 @@ void Cannon(void) if (gCurrentSprite.status & SPRITE_STATUS_FACING_RIGHT) { if (rng > 10) - gCurrentSprite.pOam = sCannonOAM_ShootingRight; + gCurrentSprite.pOam = sCannonOam_ShootingRight; else - gCurrentSprite.pOam = sCannonOAM_AimingRight; + gCurrentSprite.pOam = sCannonOam_AimingRight; gCurrentSprite.workVariable++; } else { if (rng > 2) - gCurrentSprite.pOam = sCannonOAM_ShootingDownRight; + gCurrentSprite.pOam = sCannonOam_ShootingDownRight; else - gCurrentSprite.pOam = sCannonOAM_AimingDownRight; + gCurrentSprite.pOam = sCannonOam_AimingDownRight; gCurrentSprite.workVariable--; } @@ -662,11 +664,11 @@ void Cannon(void) break; case CANNON_AIM_RIGHT: - if (gCurrentSprite.pOam == sCannonOAM_ShootingRight) + if (gCurrentSprite.pOam == sCannonOam_ShootingRight) { if (SpriteUtilCheckEndCurrentSpriteAnim()) { - gCurrentSprite.pOam = sCannonOAM_AimingRight; + gCurrentSprite.pOam = sCannonOam_AimingRight; gCurrentSprite.animationDurationCounter = 0; gCurrentSprite.currentAnimationFrame = 0; } @@ -682,7 +684,7 @@ void Cannon(void) gCurrentSprite.currentAnimationFrame = 0; gCurrentSprite.workVariable--; - gCurrentSprite.pOam = sCannonOAM_DownRightToRightTransition; + gCurrentSprite.pOam = sCannonOam_DownRightToRightTransition; gCurrentSprite.status &= ~SPRITE_STATUS_FACING_RIGHT; @@ -701,20 +703,20 @@ void CannonBullet(void) { switch (gCurrentSprite.pose) { - case 0: + case SPRITE_POSE_UNINITIALIZED: gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; gCurrentSprite.properties |= SP_KILL_OFF_SCREEN; gCurrentSprite.drawOrder = 2, gCurrentSprite.health = 0; - gCurrentSprite.drawDistanceTopOffset = 8; - gCurrentSprite.drawDistanceBottomOffset = 8; - gCurrentSprite.drawDistanceHorizontalOffset = 8; + gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); + gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(HALF_BLOCK_SIZE); - gCurrentSprite.hitboxTopOffset = -4; - gCurrentSprite.hitboxBottomOffset = 4; - gCurrentSprite.hitboxLeftOffset = -4; - gCurrentSprite.hitboxRightOffset = 4; + gCurrentSprite.hitboxTopOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxBottomOffset = PIXEL_SIZE; + gCurrentSprite.hitboxLeftOffset = -PIXEL_SIZE; + gCurrentSprite.hitboxRightOffset = PIXEL_SIZE; gCurrentSprite.samusCollision = SSC_HURTS_SAMUS_STOP_DIES_WHEN_HIT; gCurrentSprite.pose = 9; @@ -724,40 +726,42 @@ void CannonBullet(void) // Set OAM and base position if (gCurrentSprite.roomSlot == CANNON_AIM_LEFT) { - gCurrentSprite.pOam = sCannonBulletOAM_Left; + gCurrentSprite.pOam = sCannonBulletOam_Left; gCurrentSprite.xPosition -= BLOCK_SIZE; } else if (gCurrentSprite.roomSlot == CANNON_AIM_DOWN_LEFT) { - gCurrentSprite.pOam = sCannonBulletOAM_DownLeft; - gCurrentSprite.yPosition += (HALF_BLOCK_SIZE + QUARTER_BLOCK_SIZE); - gCurrentSprite.xPosition -= (HALF_BLOCK_SIZE + QUARTER_BLOCK_SIZE); + gCurrentSprite.pOam = sCannonBulletOam_DownLeft; + gCurrentSprite.yPosition += HALF_BLOCK_SIZE + QUARTER_BLOCK_SIZE; + gCurrentSprite.xPosition -= HALF_BLOCK_SIZE + QUARTER_BLOCK_SIZE; } else if (gCurrentSprite.roomSlot == CANNON_AIM_DOWN) { - gCurrentSprite.pOam = sCannonBulletOAM_Down; + gCurrentSprite.pOam = sCannonBulletOam_Down; gCurrentSprite.yPosition += BLOCK_SIZE; } else if (gCurrentSprite.roomSlot == CANNON_AIM_DOWN_RIGHT) { - gCurrentSprite.pOam = sCannonBulletOAM_DownRight; - gCurrentSprite.yPosition += (HALF_BLOCK_SIZE + QUARTER_BLOCK_SIZE); - gCurrentSprite.xPosition += (HALF_BLOCK_SIZE + QUARTER_BLOCK_SIZE); + gCurrentSprite.pOam = sCannonBulletOam_DownRight; + gCurrentSprite.yPosition += HALF_BLOCK_SIZE + QUARTER_BLOCK_SIZE; + gCurrentSprite.xPosition += HALF_BLOCK_SIZE + QUARTER_BLOCK_SIZE; } else if (gCurrentSprite.roomSlot == CANNON_AIM_RIGHT) { - gCurrentSprite.pOam = sCannonBulletOAM_Right; + gCurrentSprite.pOam = sCannonBulletOam_Right; gCurrentSprite.xPosition += BLOCK_SIZE; } else + { gCurrentSprite.status = 0; + } break; case 9: if (SpriteUtilGetCollisionAtPosition(gCurrentSprite.yPosition, gCurrentSprite.xPosition) == COLLISION_SOLID) { // Set destroyed - gCurrentSprite.pose = 0x42; + gCurrentSprite.pose = SPRITE_POSE_STOPPED; gCurrentSprite.samusCollision = SSC_NONE; return; } @@ -792,8 +796,10 @@ void CannonBullet(void) default: // Destroy ParticleSet(gCurrentSprite.yPosition, gCurrentSprite.xPosition, PE_SPRITE_EXPLOSION_SMALL); + if (gCurrentSprite.status & SPRITE_STATUS_ONSCREEN) SoundPlay(0x12C); + gCurrentSprite.status = 0; break; diff --git a/src/sprites_AI/zeela.c b/src/sprites_AI/zeela.c index f3856deb..2939ecee 100644 --- a/src/sprites_AI/zeela.c +++ b/src/sprites_AI/zeela.c @@ -919,7 +919,7 @@ void ZeelaEyesInit(void) gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; - gCurrentSprite.oamScaling = 0x100; + gCurrentSprite.oamScaling = Q_8_8(1.f); gCurrentSprite.properties |= SP_KILL_OFF_SCREEN; gCurrentSprite.drawDistanceTopOffset = 0x8; diff --git a/src/sprites_AI/zipline_generator.c b/src/sprites_AI/zipline_generator.c index efe06b43..b94e019c 100644 --- a/src/sprites_AI/zipline_generator.c +++ b/src/sprites_AI/zipline_generator.c @@ -116,7 +116,7 @@ void ZiplineGeneratorDetectSamus(void) spriteX = gCurrentSprite.xPosition; // Detect samus - if (samusY == spriteY - (BLOCK_SIZE * 2 + PIXEL_SIZE / 4) && spriteX - BLOCK_SIZE < samusX && + if (samusY == spriteY - (BLOCK_SIZE * 2 + PIXEL_SIZE / SUB_PIXEL_RATIO) && spriteX - BLOCK_SIZE < samusX && spriteX + BLOCK_SIZE > samusX && gSamusData.pose == SPOSE_MORPH_BALL) { // Set activating diff --git a/src/tourian_escape.c b/src/tourian_escape.c index f8de8117..e6303072 100644 --- a/src/tourian_escape.c +++ b/src/tourian_escape.c @@ -34,17 +34,17 @@ void TourianEscapeVBLank(void) write16(REG_BLDALPHA, gIoRegistersBackup.BLDALPHA_NonGameplay_EVB << 8 | gIoRegistersBackup.BLDALPHA_NonGameplay_EVA); write16(REG_BLDY, gWrittenToBLDY_NonGameplay); - write16(REG_BG0HOFS, gBG0XPosition / 4); - write16(REG_BG0VOFS, gBG0YPosition / 4); + write16(REG_BG0HOFS, gBg0XPosition / 4); + write16(REG_BG0VOFS, gBg0YPosition / 4); - write16(REG_BG1HOFS, gBG1XPosition / 4); - write16(REG_BG1VOFS, gBG1YPosition / 4); + write16(REG_BG1HOFS, gBg1XPosition / 4); + write16(REG_BG1VOFS, gBg1YPosition / 4); - write16(REG_BG2HOFS, gBG2XPosition / 4); - write16(REG_BG2VOFS, gBG2YPosition / 4); + write16(REG_BG2HOFS, gBg2XPosition / 4); + write16(REG_BG2VOFS, gBg2YPosition / 4); - write16(REG_BG3HOFS, gBG3XPosition / 4); - write16(REG_BG3VOFS, gBG3YPosition / 4); + write16(REG_BG3HOFS, gBg3XPosition / 4); + write16(REG_BG3VOFS, gBg3YPosition / 4); AnimatedGraphicsTransfer(); } @@ -63,14 +63,14 @@ void TourianEscapeVBLankZebesExploding(void) write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L); write16(REG_BLDY, gWrittenToBLDY_NonGameplay); - write16(REG_BG0HOFS, gBG0XPosition & 0x1FF); - write16(REG_BG0VOFS, gBG0YPosition & 0xFF); + write16(REG_BG0HOFS, gBg0XPosition & 0x1FF); + write16(REG_BG0VOFS, gBg0YPosition & 0xFF); - write16(REG_BG1HOFS, gBG1XPosition & 0x1FF); - write16(REG_BG1VOFS, gBG1YPosition & 0xFF); + write16(REG_BG1HOFS, gBg1XPosition & 0x1FF); + write16(REG_BG1VOFS, gBg1YPosition & 0xFF); - write16(REG_BG2HOFS, gBG2XPosition & 0x1FF); - write16(REG_BG2VOFS, gBG2YPosition & 0xFF); + write16(REG_BG2HOFS, gBg2XPosition & 0x1FF); + write16(REG_BG2VOFS, gBg2YPosition & 0xFF); write16(REG_WIN0H, TOURIAN_ESCAPE_DATA.win0h_H << 8 | TOURIAN_ESCAPE_DATA.win0h_L); write16(REG_WIN0V, TOURIAN_ESCAPE_DATA.win0v_H << 8 | TOURIAN_ESCAPE_DATA.win0v_L); @@ -97,14 +97,14 @@ void TourianEscapeVBLankSamusSurrounded(void) write16(REG_BG2Y, gWrittenToBG2Y); write16(REG_BG2Y + 2, (gWrittenToBG2Y & (0xFFF << 16)) >> 16); - write16(REG_BG0HOFS, gBG0XPosition & 0x1FF); - write16(REG_BG0VOFS, gBG0YPosition & 0xFF); + write16(REG_BG0HOFS, gBg0XPosition & 0x1FF); + write16(REG_BG0VOFS, gBg0YPosition & 0xFF); - write16(REG_BG1HOFS, gBG1XPosition & 0x1FF); - write16(REG_BG1VOFS, gBG1YPosition & 0xFF); + write16(REG_BG1HOFS, gBg1XPosition & 0x1FF); + write16(REG_BG1VOFS, gBg1YPosition & 0xFF); - write16(REG_BG2HOFS, gBG2XPosition & 0x1FF); - write16(REG_BG2VOFS, gBG2YPosition & 0xFF); + write16(REG_BG2HOFS, gBg2XPosition & 0x1FF); + write16(REG_BG2VOFS, gBg2YPosition & 0xFF); } /** @@ -653,12 +653,12 @@ u8 TourianEscapeZebesExploding(void) TOURIAN_ESCAPE_DATA.oamTimers[i] = 0; } - gBG0XPosition = 0; - gBG0YPosition = 0; - gBG1XPosition = 0; - gBG1YPosition = 0; - gBG2XPosition = 0; - gBG2YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; + gBg1XPosition = 0; + gBg1YPosition = 0; + gBg2XPosition = 0; + gBg2YPosition = 0; FadeCurrentMusicAndQueueNextMusic(0, MUSIC_ESCAPING_ZEBES_CUTSCENE, 0); break; @@ -678,8 +678,8 @@ u8 TourianEscapeZebesExploding(void) break; case 512: - gBG0XPosition = 0; - gBG0YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; ended = TRUE; break; } @@ -733,7 +733,7 @@ u8 TourianEscapeZebesExploding(void) if (TOURIAN_ESCAPE_DATA.oamTimers[1] > 11) { - gBG0XPosition++; + gBg0XPosition++; TOURIAN_ESCAPE_DATA.oamXPositions[1]--; TOURIAN_ESCAPE_DATA.oamTimers[1] = 0; } @@ -832,34 +832,34 @@ u8 TourianEscapeZebesExploding(void) if (i == 1) { - gBG0XPosition += 8; - gBG0YPosition -= 8; - gBG1XPosition += 8; - gBG1YPosition -= 8; - gBG2XPosition += 8; - gBG2YPosition -= 8; + gBg0XPosition += 8; + gBg0YPosition -= 8; + gBg1XPosition += 8; + gBg1YPosition -= 8; + gBg2XPosition += 8; + gBg2YPosition -= 8; } if (i == 3) { - gBG3XPosition += 8; - gBG3YPosition -= 8; + gBg3XPosition += 8; + gBg3YPosition -= 8; } if (i == 4) { - gBG0XPosition -= 8; - gBG0YPosition += 8; - gBG1XPosition -= 8; - gBG1YPosition += 8; - gBG2XPosition -= 8; - gBG2YPosition += 8; + gBg0XPosition -= 8; + gBg0YPosition += 8; + gBg1XPosition -= 8; + gBg1YPosition += 8; + gBg2XPosition -= 8; + gBg2YPosition += 8; } if (i == 6) { - gBG3XPosition -= 8; - gBG3YPosition += 8; + gBg3XPosition -= 8; + gBg3YPosition += 8; } } @@ -1144,8 +1144,8 @@ u8 TourianEscapeSamusSurrounded(void) DMA_SET(3, sTourianEscapeSamusSurroundedPal, PALRAM_BASE, DMA_ENABLE << 16 | ARRAY_SIZE(sTourianEscapeSamusSurroundedPal)); - gBG0XPosition = 0; - gBG0YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_H = 0; @@ -1269,9 +1269,9 @@ u8 TourianEscapeSamusFlyingIn(void) TOURIAN_ESCAPE_DATA.unk_82 += 32; if ((TOURIAN_ESCAPE_DATA.oamTimers[0]++ & 7) < 4) - TOURIAN_ESCAPE_DATA.oamFramePointers[0] = sIntroShipFlyingTowardsCameraOAM_1; + TOURIAN_ESCAPE_DATA.oamFramePointers[0] = sIntroShipFlyingTowardsCameraOam_1; else - TOURIAN_ESCAPE_DATA.oamFramePointers[0] = sIntroShipFlyingTowardsCameraOAM_2; + TOURIAN_ESCAPE_DATA.oamFramePointers[0] = sIntroShipFlyingTowardsCameraOam_2; } unk_818cc(); @@ -1358,8 +1358,8 @@ u8 TourianEscapeSamusChasedByPirates(void) TOURIAN_ESCAPE_DATA.unk_96[i] = sTourianEscape_47ce20[TOURIAN_ESCAPE_DATA.oamFrames[i]][2]; } - gBG0XPosition = 0; - gBG0YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; break; case 3: @@ -1445,7 +1445,7 @@ u8 TourianEscapeSamusChasedByPirates(void) } if (!(TOURIAN_ESCAPE_DATA.timer & 7)) - gBG0XPosition--; + gBg0XPosition--; for (i = 0; i < 4; i++) { @@ -1528,8 +1528,8 @@ u8 TourianEscapeSamusChasedByPiratesFiring(void) TOURIAN_ESCAPE_DATA.unk_96[3] = sTourianEscape_47cfc4[TOURIAN_ESCAPE_DATA.oamFrames[3]]; TOURIAN_ESCAPE_DATA.unk_B0 = sTourianEscape_47cfd4[TOURIAN_ESCAPE_DATA.oamFrames[3]]; - gBG0XPosition = BLOCK_SIZE - QUARTER_BLOCK_SIZE; - gBG0YPosition = BLOCK_SIZE + QUARTER_BLOCK_SIZE; + gBg0XPosition = BLOCK_SIZE - QUARTER_BLOCK_SIZE; + gBg0YPosition = BLOCK_SIZE + QUARTER_BLOCK_SIZE; break; case 2: @@ -1563,7 +1563,7 @@ u8 TourianEscapeSamusChasedByPiratesFiring(void) } if (!(TOURIAN_ESCAPE_DATA.timer & 7)) - gBG0YPosition--; + gBg0YPosition--; if (TOURIAN_ESCAPE_DATA.unk_8[0]) { @@ -1739,8 +1739,8 @@ u8 TourianEscapeSamusGettingShot(void) LZ77UncompVRAM(sTourianEscapeSamusGettingShotTileTable, VRAM_BASE + 0xF000); DMA_SET(3, sTourianEscapeSamusGettingShotPal, PALRAM_OBJ, DMA_ENABLE << 16 | ARRAY_SIZE(sTourianEscapeSamusGettingShotPal)); - gBG0XPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; - gBG0YPosition = BLOCK_SIZE - QUARTER_BLOCK_SIZE; + gBg0XPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; + gBg0YPosition = BLOCK_SIZE - QUARTER_BLOCK_SIZE; TOURIAN_ESCAPE_DATA.unk_1++; break; @@ -1805,7 +1805,7 @@ u8 TourianEscapeSamusGettingShot(void) } if (!(TOURIAN_ESCAPE_DATA.timer & 7)) - gBG0XPosition--; + gBg0XPosition--; if (TOURIAN_ESCAPE_DATA.unk_8[4]) unk_81788(FALSE); @@ -1951,8 +1951,8 @@ u8 TourianEscapeSamusGoingToCrash(void) case 1: LZ77UncompVRAM(sTourianEscapeShipGoingToCrashGfx, VRAM_BASE + 0x10000); - gBG0XPosition = 16; - gBG0YPosition = 0; + gBg0XPosition = 16; + gBg0YPosition = 0; gWrittenToBLDALPHA_L = 9; gWrittenToBLDALPHA_H = 7; @@ -2003,7 +2003,7 @@ u8 TourianEscapeSamusGoingToCrash(void) if (TOURIAN_ESCAPE_DATA.unk_5++ > 4) { TOURIAN_ESCAPE_DATA.unk_5 = 0; - gBG0XPosition--; + gBg0XPosition--; } unk_81ad8(); @@ -2054,8 +2054,8 @@ u8 TourianEscapeSamusCrashing(void) TOURIAN_ESCAPE_DATA.oamYPositions[1] = 0x68; TOURIAN_ESCAPE_DATA.oamPriorities[1] = 2; - gBG0XPosition = 0; - gBG0YPosition = 0; + gBg0XPosition = 0; + gBg0YPosition = 0; SoundPlay(0x249); break; @@ -2154,9 +2154,9 @@ u8 TourianEscapeSamusLookingAtSky(void) DMA_SET(3, sTourianEscapeSamusLookingAtSkyPal, PALRAM_BASE, DMA_ENABLE << 16 | ARRAY_SIZE(sTourianEscapeSamusLookingAtSkyPal)); DMA_SET(3, sTourianEscapeSamusLookingAtSkyPal, PALRAM_OBJ, DMA_ENABLE << 16 | ARRAY_SIZE(sTourianEscapeSamusLookingAtSkyPal)); - gBG0YPosition = 0; - gBG1YPosition = 0; - gBG2YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; + gBg0YPosition = 0; + gBg1YPosition = 0; + gBg2YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; break; case 4: @@ -2198,8 +2198,8 @@ u8 TourianEscapeSamusLookingAtSky(void) case 432: write16(PALRAM_BASE, COLOR_BLACK); TOURIAN_ESCAPE_DATA.dispcnt = 0; - gBG0YPosition = 0; - gBG1YPosition = 0; + gBg0YPosition = 0; + gBg1YPosition = 0; ended = TRUE; } @@ -2215,13 +2215,13 @@ u8 TourianEscapeSamusLookingAtSky(void) } else if (TOURIAN_ESCAPE_DATA.unk_2 == 2) { - gBG0YPosition++; - gBG1YPosition++; + gBg0YPosition++; + gBg1YPosition++; - if (gBG0YPosition >= 96) - gBG2YPosition++; + if (gBg0YPosition >= 96) + gBg2YPosition++; - if ((gBG2YPosition & 0xFF) == 160) + if ((gBg2YPosition & 0xFF) == 160) TOURIAN_ESCAPE_DATA.unk_2 = 0; } @@ -2269,8 +2269,8 @@ u8 TourianEscapeSamusLookingAtMotherShip(void) DMA_SET(3, sTourianEscapeSamusLookingAtMotherShipPal, PALRAM_BASE, DMA_ENABLE << 16 | ARRAY_SIZE(sTourianEscapeSamusLookingAtMotherShipPal)); - gBG0XPosition = 16; - gBG1XPosition = 0; + gBg0XPosition = 16; + gBg1XPosition = 0; break; case 3: @@ -2347,12 +2347,12 @@ u8 TourianEscapeSamusLookingAtMotherShip(void) i = TOURIAN_ESCAPE_DATA.unk_5++ & 15; if (i == 0) { - gBG0XPosition--; - gBG1XPosition++; + gBg0XPosition--; + gBg1XPosition++; } if (i == 8) - gBG1XPosition++; + gBg1XPosition++; } if (TOURIAN_ESCAPE_DATA.unk_2 == 3 && TOURIAN_ESCAPE_DATA.timer & 1) diff --git a/src/update_input.c b/src/update_input.c index e19a1bef..5d6a01ef 100644 --- a/src/update_input.c +++ b/src/update_input.c @@ -5,7 +5,9 @@ void UpdateInput(void) { - u16 keys = KEY_MASK & ~read16(REG_KEY_INPUT); + u16 keys; + + keys = KEY_MASK & ~read16(REG_KEY_INPUT); gChangedInput = keys & ~gPreviousButtonInput; gButtonInput = keys; gPreviousButtonInput = keys;