More cleanup

This commit is contained in:
y.demaisonregne 2023-07-11 16:27:10 +02:00
parent 1abe5336f8
commit adc7e01fcd
113 changed files with 4688 additions and 4320 deletions

View File

@ -2910,8 +2910,8 @@ lbl_0800255a:
.align 2, 0 .align 2, 0
lbl_08002560: .4byte 0x04000079 lbl_08002560: .4byte 0x04000079
thumb_func_start init_sound thumb_func_start InitializeAudio
init_sound: @ 0x08002564 InitializeAudio: @ 0x08002564
push {r4, r5, r6, r7, lr} push {r4, r5, r6, r7, lr}
mov r7, r8 mov r7, r8
push {r7} push {r7}

View File

@ -3576,7 +3576,7 @@ lbl_08006fe0:
strb r1, [r0] strb r1, [r0]
movs r0, #0x33 movs r0, #0x33
strb r0, [r4] strb r0, [r4]
ldr r1, lbl_0800703c @ =gBG1XPosition ldr r1, lbl_0800703c @ =gBg1XPosition
movs r2, #0xf0 movs r2, #0xf0
lsls r2, r2, #1 lsls r2, r2, #1
adds r0, r2, #0 adds r0, r2, #0
@ -3587,7 +3587,7 @@ lbl_08006fe0:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x11 asrs r0, r0, #0x11
strh r0, [r4, #0x16] strh r0, [r4, #0x16]
ldr r1, lbl_08007040 @ =gBG1YPosition ldr r1, lbl_08007040 @ =gBg1YPosition
subs r2, #0x50 subs r2, #0x50
adds r0, r2, #0 adds r0, r2, #0
ldrh r1, [r1] ldrh r1, [r1]
@ -3615,8 +3615,8 @@ lbl_0800701e:
.align 2, 0 .align 2, 0
lbl_08007034: .4byte gDisableScrolling lbl_08007034: .4byte gDisableScrolling
lbl_08007038: .4byte gMonochromeBgFading lbl_08007038: .4byte gMonochromeBgFading
lbl_0800703c: .4byte gBG1XPosition lbl_0800703c: .4byte gBg1XPosition
lbl_08007040: .4byte gBG1YPosition lbl_08007040: .4byte gBg1YPosition
lbl_08007044: .4byte gGameModeSub1 lbl_08007044: .4byte gGameModeSub1
thumb_func_start SamusChangeToKnockbackPose thumb_func_start SamusChangeToKnockbackPose
@ -10027,12 +10027,12 @@ lbl_0800a100:
cmp r0, #0 cmp r0, #0
beq lbl_0800a172 beq lbl_0800a172
lbl_0800a116: lbl_0800a116:
ldr r0, lbl_0800a138 @ =gBG1XPosition ldr r0, lbl_0800a138 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
movs r3, #0xf0 movs r3, #0xf0
lsls r3, r3, #1 lsls r3, r3, #1
adds r2, r0, r3 adds r2, r0, r3
ldr r0, lbl_0800a13c @ =gBG1YPosition ldr r0, lbl_0800a13c @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
movs r6, #0xc8 movs r6, #0xc8
lsls r6, r6, #1 lsls r6, r6, #1
@ -10044,8 +10044,8 @@ lbl_0800a116:
blo lbl_0800a14c blo lbl_0800a14c
b lbl_0800a14a b lbl_0800a14a
.align 2, 0 .align 2, 0
lbl_0800a138: .4byte gBG1XPosition lbl_0800a138: .4byte gBg1XPosition
lbl_0800a13c: .4byte gBG1YPosition lbl_0800a13c: .4byte gBg1YPosition
lbl_0800a140: lbl_0800a140:
cmp r1, #0 cmp r1, #0
bge lbl_0800a14c bge lbl_0800a14c
@ -13658,14 +13658,14 @@ lbl_0800be58:
lsrs r7, r0, #0x10 lsrs r7, r0, #0x10
ldrh r1, [r3, #4] ldrh r1, [r3, #4]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r2, lbl_0800c1c8 @ =gBG1XPosition ldr r2, lbl_0800c1c8 @ =gBg1XPosition
ldrh r0, [r2] ldrh r0, [r2]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r0, r1, r0 subs r0, r1, r0
mov sb, r0 mov sb, r0
ldrh r1, [r3, #6] ldrh r1, [r3, #6]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r3, lbl_0800c1cc @ =gBG1YPosition ldr r3, lbl_0800c1cc @ =gBg1YPosition
ldrh r0, [r3] ldrh r0, [r3]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r1, r1, r0 subs r1, r1, r0
@ -13728,14 +13728,14 @@ lbl_0800befe:
ldr r3, lbl_0800c1d8 @ =gSamusData ldr r3, lbl_0800c1d8 @ =gSamusData
ldrh r1, [r3, #0x12] ldrh r1, [r3, #0x12]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r2, lbl_0800c1c8 @ =gBG1XPosition ldr r2, lbl_0800c1c8 @ =gBg1XPosition
ldrh r0, [r2] ldrh r0, [r2]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r0, r1, r0 subs r0, r1, r0
mov sb, r0 mov sb, r0
ldrh r0, [r3, #0x14] ldrh r0, [r3, #0x14]
lsrs r0, r0, #2 lsrs r0, r0, #2
ldr r3, lbl_0800c1cc @ =gBG1YPosition ldr r3, lbl_0800c1cc @ =gBg1YPosition
ldrh r1, [r3] ldrh r1, [r3]
lsrs r1, r1, #2 lsrs r1, r1, #2
subs r0, r0, r1 subs r0, r0, r1
@ -14086,8 +14086,8 @@ lbl_0800c1b8: .4byte gSamusOnTopOfBackgrounds
lbl_0800c1bc: .4byte gOamData lbl_0800c1bc: .4byte gOamData
lbl_0800c1c0: .4byte gNextOamSlot lbl_0800c1c0: .4byte gNextOamSlot
lbl_0800c1c4: .4byte gSamusEnvironmentalEffects lbl_0800c1c4: .4byte gSamusEnvironmentalEffects
lbl_0800c1c8: .4byte gBG1XPosition lbl_0800c1c8: .4byte gBg1XPosition
lbl_0800c1cc: .4byte gBG1YPosition lbl_0800c1cc: .4byte gBg1YPosition
lbl_0800c1d0: .4byte 0x000001ff lbl_0800c1d0: .4byte 0x000001ff
lbl_0800c1d4: .4byte 0xfffffe00 lbl_0800c1d4: .4byte 0xfffffe00
lbl_0800c1d8: .4byte gSamusData lbl_0800c1d8: .4byte gSamusData
@ -14122,7 +14122,7 @@ lbl_0800c208:
adds r0, r2, r0 adds r0, r2, r0
ldrh r1, [r0] ldrh r1, [r0]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r3, lbl_0800c2c0 @ =gBG1XPosition ldr r3, lbl_0800c2c0 @ =gBg1XPosition
ldrh r0, [r3] ldrh r0, [r3]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r0, r1, r0 subs r0, r1, r0
@ -14132,7 +14132,7 @@ lbl_0800c208:
adds r2, r2, r0 adds r2, r2, r0
ldrh r0, [r2] ldrh r0, [r2]
lsrs r0, r0, #2 lsrs r0, r0, #2
ldr r2, lbl_0800c2c4 @ =gBG1YPosition ldr r2, lbl_0800c2c4 @ =gBg1YPosition
ldrh r1, [r2] ldrh r1, [r2]
lsrs r1, r1, #2 lsrs r1, r1, #2
subs r0, r0, r1 subs r0, r0, r1
@ -14208,8 +14208,8 @@ lbl_0800c2ae:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_0800c2c0: .4byte gBG1XPosition lbl_0800c2c0: .4byte gBg1XPosition
lbl_0800c2c4: .4byte gBG1YPosition lbl_0800c2c4: .4byte gBg1YPosition
lbl_0800c2c8: .4byte gOamData lbl_0800c2c8: .4byte gOamData
lbl_0800c2cc: .4byte 0x000001ff lbl_0800c2cc: .4byte 0x000001ff
lbl_0800c2d0: .4byte 0xfffffe00 lbl_0800c2d0: .4byte 0xfffffe00

View File

@ -823,7 +823,7 @@ lbl_0800d576:
mov r8, r1 mov r8, r1
ldrh r1, [r7, #2] ldrh r1, [r7, #2]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r0, lbl_0800d75c @ =gBG1YPosition ldr r0, lbl_0800d75c @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r1, r1, r0 subs r1, r1, r0
@ -832,7 +832,7 @@ lbl_0800d576:
str r1, [sp, #0x38] str r1, [sp, #0x38]
ldrh r1, [r7, #4] ldrh r1, [r7, #4]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r0, lbl_0800d760 @ =gBG1XPosition ldr r0, lbl_0800d760 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r1, r1, r0 subs r1, r1, r0
@ -1065,8 +1065,8 @@ lbl_0800d73e:
.align 2, 0 .align 2, 0
lbl_0800d754: .4byte gNextOamSlot lbl_0800d754: .4byte gNextOamSlot
lbl_0800d758: .4byte gOamData lbl_0800d758: .4byte gOamData
lbl_0800d75c: .4byte gBG1YPosition lbl_0800d75c: .4byte gBg1YPosition
lbl_0800d760: .4byte gBG1XPosition lbl_0800d760: .4byte gBg1XPosition
lbl_0800d764: .4byte gSamusOnTopOfBackgrounds lbl_0800d764: .4byte gSamusOnTopOfBackgrounds
lbl_0800d768: .4byte 0x000001ff lbl_0800d768: .4byte 0x000001ff
lbl_0800d76c: .4byte 0xfffffe00 lbl_0800d76c: .4byte 0xfffffe00
@ -1862,10 +1862,10 @@ check_sprite_is_on_screen: @ 0x0800ddd4
beq lbl_0800ddf0 beq lbl_0800ddf0
b lbl_0800df0c b lbl_0800df0c
lbl_0800ddf0: lbl_0800ddf0:
ldr r0, lbl_0800de88 @ =gBG1YPosition ldr r0, lbl_0800de88 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
mov r8, r0 mov r8, r0
ldr r0, lbl_0800de8c @ =gBG1XPosition ldr r0, lbl_0800de8c @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
mov sl, r0 mov sl, r0
mov r0, ip mov r0, ip
@ -1939,8 +1939,8 @@ lbl_0800ddf0:
strh r0, [r2] strh r0, [r2]
b lbl_0800df0c b lbl_0800df0c
.align 2, 0 .align 2, 0
lbl_0800de88: .4byte gBG1YPosition lbl_0800de88: .4byte gBg1YPosition
lbl_0800de8c: .4byte gBG1XPosition lbl_0800de8c: .4byte gBg1XPosition
lbl_0800de90: lbl_0800de90:
mov r3, ip mov r3, ip
ldrh r1, [r3] ldrh r1, [r3]

View File

@ -883,7 +883,7 @@ lbl_08018a84: .4byte gSubSpriteData1
lbl_08018a88: .4byte gSamusData lbl_08018a88: .4byte gSamusData
lbl_08018a8c: .4byte 0xfffffe40 lbl_08018a8c: .4byte 0xfffffe40
lbl_08018a90: lbl_08018a90:
ldr r0, lbl_08018ae8 @ =gBG1YPosition ldr r0, lbl_08018ae8 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x3c subs r0, #0x3c
lsls r0, r0, #0x10 lsls r0, r0, #0x10
@ -927,7 +927,7 @@ lbl_08018aa2:
lsls r6, r0, #4 lsls r6, r0, #4
b lbl_08018b22 b lbl_08018b22
.align 2, 0 .align 2, 0
lbl_08018ae8: .4byte gBG1YPosition lbl_08018ae8: .4byte gBg1YPosition
lbl_08018aec: .4byte gSpriteRng lbl_08018aec: .4byte gSpriteRng
lbl_08018af0: .4byte gFrameCounter8Bit lbl_08018af0: .4byte gFrameCounter8Bit
lbl_08018af4: .4byte 0xfffffed4 lbl_08018af4: .4byte 0xfffffed4

View File

@ -1836,7 +1836,7 @@ lbl_080257e8:
ldr r0, lbl_08025864 @ =gSamusData ldr r0, lbl_08025864 @ =gSamusData
ldrh r1, [r0, #0x12] ldrh r1, [r0, #0x12]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r0, lbl_08025868 @ =gBG1XPosition ldr r0, lbl_08025868 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r1, r1, r0 subs r1, r1, r0
@ -1867,7 +1867,7 @@ lbl_08025858: .4byte 0x00008004
lbl_0802585c: .4byte 0x0000fffc lbl_0802585c: .4byte 0x0000fffc
lbl_08025860: .4byte 0x082da88c lbl_08025860: .4byte 0x082da88c
lbl_08025864: .4byte gSamusData lbl_08025864: .4byte gSamusData
lbl_08025868: .4byte gBG1XPosition lbl_08025868: .4byte gBg1XPosition
lbl_0802586c: .4byte gEquipment lbl_0802586c: .4byte gEquipment
lbl_08025870: .4byte 0x0000018f lbl_08025870: .4byte 0x0000018f
lbl_08025874: lbl_08025874:
@ -2008,7 +2008,7 @@ lbl_08025960:
beq lbl_0802596c beq lbl_0802596c
movs r5, #0 movs r5, #0
lbl_0802596c: lbl_0802596c:
ldr r1, lbl_0802599c @ =gBG1YPosition ldr r1, lbl_0802599c @ =gBg1YPosition
ldrb r0, [r2] ldrb r0, [r2]
lsls r0, r0, #1 lsls r0, r0, #1
adds r0, #0x10 adds r0, #0x10
@ -2031,4 +2031,4 @@ lbl_0802598c:
.align 2, 0 .align 2, 0
lbl_08025994: .4byte gSamusData lbl_08025994: .4byte gSamusData
lbl_08025998: .4byte gSpriteRng lbl_08025998: .4byte gSpriteRng
lbl_0802599c: .4byte gBG1YPosition lbl_0802599c: .4byte gBg1YPosition

View File

@ -900,7 +900,7 @@ lbl_0804f3f2:
adds r4, r0, r2 adds r4, r0, r2
ldrh r1, [r3, #8] ldrh r1, [r3, #8]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r0, lbl_0804f450 @ =gBG1YPosition ldr r0, lbl_0804f450 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r1, r1, r0 subs r1, r1, r0
@ -909,7 +909,7 @@ lbl_0804f3f2:
str r1, [sp] str r1, [sp]
ldrh r1, [r3, #0xa] ldrh r1, [r3, #0xa]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r0, lbl_0804f454 @ =gBG1XPosition ldr r0, lbl_0804f454 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
subs r1, r1, r0 subs r1, r1, r0
@ -940,8 +940,8 @@ lbl_0804f3f2:
.align 2, 0 .align 2, 0
lbl_0804f448: .4byte gNextOamSlot lbl_0804f448: .4byte gNextOamSlot
lbl_0804f44c: .4byte gOamData lbl_0804f44c: .4byte gOamData
lbl_0804f450: .4byte gBG1YPosition lbl_0804f450: .4byte gBg1YPosition
lbl_0804f454: .4byte gBG1XPosition lbl_0804f454: .4byte gBg1XPosition
lbl_0804f458: .4byte gIoRegistersBackup lbl_0804f458: .4byte gIoRegistersBackup
lbl_0804f45c: lbl_0804f45c:
adds r3, #1 adds r3, #1
@ -1104,7 +1104,7 @@ check_despawn_projectile: @ 0x0804f578
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
beq lbl_0804f65e beq lbl_0804f65e
ldr r0, lbl_0804f604 @ =gBG1YPosition ldr r0, lbl_0804f604 @ =gBg1YPosition
ldrh r7, [r6, #8] ldrh r7, [r6, #8]
ldrh r4, [r6, #0xa] ldrh r4, [r6, #0xa]
mov ip, r4 mov ip, r4
@ -1130,7 +1130,7 @@ check_despawn_projectile: @ 0x0804f578
lsls r1, r1, #0x10 lsls r1, r1, #0x10
lsrs r1, r1, #0x10 lsrs r1, r1, #0x10
mov r8, r1 mov r8, r1
ldr r1, lbl_0804f608 @ =gBG1XPosition ldr r1, lbl_0804f608 @ =gBg1XPosition
ldrh r1, [r1] ldrh r1, [r1]
adds r0, r2, r1 adds r0, r2, r1
lsls r0, r0, #0x10 lsls r0, r0, #0x10
@ -1161,8 +1161,8 @@ check_despawn_projectile: @ 0x0804f578
orrs r0, r4 orrs r0, r4
b lbl_0804f65c b lbl_0804f65c
.align 2, 0 .align 2, 0
lbl_0804f604: .4byte gBG1YPosition lbl_0804f604: .4byte gBg1YPosition
lbl_0804f608: .4byte gBG1XPosition lbl_0804f608: .4byte gBg1XPosition
lbl_0804f60c: lbl_0804f60c:
ldrb r0, [r6] ldrb r0, [r6]
movs r1, #0xfd movs r1, #0xfd

View File

@ -135,11 +135,11 @@ lbl_08056074:
cmp r0, #0 cmp r0, #0
bne lbl_080560c8 bne lbl_080560c8
bl ScrollProcessGeneral bl ScrollProcessGeneral
ldr r1, lbl_0805614c @ =gBG1YPosition ldr r1, lbl_0805614c @ =gBg1YPosition
ldr r2, lbl_08056150 @ =gCamera ldr r2, lbl_08056150 @ =gCamera
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08056154 @ =gBG1XPosition ldr r1, lbl_08056154 @ =gBg1XPosition
ldrh r0, [r2] ldrh r0, [r2]
strh r0, [r1] strh r0, [r1]
bl sub_08058ec4 bl sub_08058ec4
@ -195,9 +195,9 @@ lbl_0805613c: .4byte gSamusData
lbl_08056140: .4byte gPreviousYPosition lbl_08056140: .4byte gPreviousYPosition
lbl_08056144: .4byte gPauseScreenFlag lbl_08056144: .4byte gPauseScreenFlag
lbl_08056148: .4byte gIsLoadingFile lbl_08056148: .4byte gIsLoadingFile
lbl_0805614c: .4byte gBG1YPosition lbl_0805614c: .4byte gBg1YPosition
lbl_08056150: .4byte gCamera lbl_08056150: .4byte gCamera
lbl_08056154: .4byte gBG1XPosition lbl_08056154: .4byte gBg1XPosition
lbl_08056158: .4byte gGameModeSub3 lbl_08056158: .4byte gGameModeSub3
lbl_0805615c: lbl_0805615c:
ldrh r0, [r2, #0x14] ldrh r0, [r2, #0x14]
@ -1263,14 +1263,14 @@ lbl_08056a84:
movs r0, #2 movs r0, #2
strb r0, [r2, #1] strb r0, [r2, #1]
lbl_08056a8e: lbl_08056a8e:
ldr r0, lbl_08056ab8 @ =gBG1YPosition ldr r0, lbl_08056ab8 @ =gBg1YPosition
movs r1, #0 movs r1, #0
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08056abc @ =gBG1XPosition ldr r0, lbl_08056abc @ =gBg1XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08056ac0 @ =gBG0XPosition ldr r0, lbl_08056ac0 @ =gBg0XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08056ac4 @ =gBG0YPosition ldr r0, lbl_08056ac4 @ =gBg0YPosition
strh r1, [r0] strh r1, [r0]
lbl_08056aa0: lbl_08056aa0:
pop {r3, r4, r5} pop {r3, r4, r5}
@ -1283,10 +1283,10 @@ lbl_08056aa0:
.align 2, 0 .align 2, 0
lbl_08056ab0: .4byte gSamusPhysics lbl_08056ab0: .4byte gSamusPhysics
lbl_08056ab4: .4byte gSamusData lbl_08056ab4: .4byte gSamusData
lbl_08056ab8: .4byte gBG1YPosition lbl_08056ab8: .4byte gBg1YPosition
lbl_08056abc: .4byte gBG1XPosition lbl_08056abc: .4byte gBg1XPosition
lbl_08056ac0: .4byte gBG0XPosition lbl_08056ac0: .4byte gBg0XPosition
lbl_08056ac4: .4byte gBG0YPosition lbl_08056ac4: .4byte gBg0YPosition
thumb_func_start set_automatic_bg_scrolling thumb_func_start set_automatic_bg_scrolling
set_automatic_bg_scrolling: @ 0x08056ac8 set_automatic_bg_scrolling: @ 0x08056ac8
@ -1355,37 +1355,37 @@ RoomSetInitialTilemap: @ 0x08056b28
bne lbl_08056b58 bne lbl_08056b58
ldr r1, lbl_08056b4c @ =gCurrentRoomEntry ldr r1, lbl_08056b4c @ =gCurrentRoomEntry
ldrb r2, [r1, #1] ldrb r2, [r1, #1]
ldr r0, lbl_08056b50 @ =gBG0YPosition ldr r0, lbl_08056b50 @ =gBg0YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r6, r0, #6 lsrs r6, r0, #6
ldr r0, lbl_08056b54 @ =gBG0XPosition ldr r0, lbl_08056b54 @ =gBg0XPosition
b lbl_08056b84 b lbl_08056b84
.align 2, 0 .align 2, 0
lbl_08056b4c: .4byte gCurrentRoomEntry lbl_08056b4c: .4byte gCurrentRoomEntry
lbl_08056b50: .4byte gBG0YPosition lbl_08056b50: .4byte gBg0YPosition
lbl_08056b54: .4byte gBG0XPosition lbl_08056b54: .4byte gBg0XPosition
lbl_08056b58: lbl_08056b58:
mov r0, sb mov r0, sb
cmp r0, #1 cmp r0, #1
bne lbl_08056b78 bne lbl_08056b78
ldr r1, lbl_08056b6c @ =gCurrentRoomEntry ldr r1, lbl_08056b6c @ =gCurrentRoomEntry
ldrb r2, [r1, #2] ldrb r2, [r1, #2]
ldr r0, lbl_08056b70 @ =gBG1YPosition ldr r0, lbl_08056b70 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r6, r0, #6 lsrs r6, r0, #6
ldr r0, lbl_08056b74 @ =gBG1XPosition ldr r0, lbl_08056b74 @ =gBg1XPosition
b lbl_08056b84 b lbl_08056b84
.align 2, 0 .align 2, 0
lbl_08056b6c: .4byte gCurrentRoomEntry lbl_08056b6c: .4byte gCurrentRoomEntry
lbl_08056b70: .4byte gBG1YPosition lbl_08056b70: .4byte gBg1YPosition
lbl_08056b74: .4byte gBG1XPosition lbl_08056b74: .4byte gBg1XPosition
lbl_08056b78: lbl_08056b78:
ldr r1, lbl_08056c94 @ =gCurrentRoomEntry ldr r1, lbl_08056c94 @ =gCurrentRoomEntry
ldrb r2, [r1, #3] ldrb r2, [r1, #3]
ldr r0, lbl_08056c98 @ =gBG2YPosition ldr r0, lbl_08056c98 @ =gBg2YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r6, r0, #6 lsrs r6, r0, #6
ldr r0, lbl_08056c9c @ =gBG2XPosition ldr r0, lbl_08056c9c @ =gBg2XPosition
lbl_08056b84: lbl_08056b84:
ldrh r0, [r0] ldrh r0, [r0]
lsrs r3, r0, #6 lsrs r3, r0, #6
@ -1534,8 +1534,8 @@ lbl_08056c82:
b lbl_08056d02 b lbl_08056d02
.align 2, 0 .align 2, 0
lbl_08056c94: .4byte gCurrentRoomEntry lbl_08056c94: .4byte gCurrentRoomEntry
lbl_08056c98: .4byte gBG2YPosition lbl_08056c98: .4byte gBg2YPosition
lbl_08056c9c: .4byte gBG2XPosition lbl_08056c9c: .4byte gBg2XPosition
lbl_08056ca0: .4byte gBgPointersAndDimensions lbl_08056ca0: .4byte gBgPointersAndDimensions
lbl_08056ca4: .4byte 0x06000800 lbl_08056ca4: .4byte 0x06000800
lbl_08056ca8: .4byte gTilemapAndClipPointers lbl_08056ca8: .4byte gTilemapAndClipPointers
@ -2073,13 +2073,13 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac
adds r5, r0, #0 adds r5, r0, #0
bl update_horizontal_screen_shake bl update_horizontal_screen_shake
adds r4, r0, #0 adds r4, r0, #0
ldr r0, lbl_0805711c @ =gBG1XPosition ldr r0, lbl_0805711c @ =gBg1XPosition
ldrh r1, [r0] ldrh r1, [r0]
lsrs r1, r1, #2 lsrs r1, r1, #2
ldr r0, lbl_08057120 @ =0x000001ff ldr r0, lbl_08057120 @ =0x000001ff
adds r3, r0, #0 adds r3, r0, #0
ands r1, r3 ands r1, r3
ldr r0, lbl_08057124 @ =gBG1YPosition ldr r0, lbl_08057124 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
ands r0, r3 ands r0, r3
@ -2088,13 +2088,13 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac
strh r1, [r2, #4] strh r1, [r2, #4]
adds r0, r0, r5 adds r0, r0, r5
strh r0, [r2, #6] strh r0, [r2, #6]
ldr r0, lbl_0805712c @ =gBG2XPosition ldr r0, lbl_0805712c @ =gBg2XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
ands r0, r3 ands r0, r3
adds r0, r0, r4 adds r0, r0, r4
strh r0, [r2, #8] strh r0, [r2, #8]
ldr r0, lbl_08057130 @ =gBG2YPosition ldr r0, lbl_08057130 @ =gBg2YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
ands r0, r3 ands r0, r3
@ -2107,7 +2107,7 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
beq lbl_08057144 beq lbl_08057144
ldr r0, lbl_08057138 @ =gBG0XPosition ldr r0, lbl_08057138 @ =gBg0XPosition
ldrh r0, [r0] ldrh r0, [r0]
ldr r1, lbl_0805713c @ =gBG0Movement ldr r1, lbl_0805713c @ =gBG0Movement
lsrs r0, r0, #2 lsrs r0, r0, #2
@ -2115,7 +2115,7 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac
adds r0, r0, r6 adds r0, r0, r6
ands r0, r3 ands r0, r3
strh r0, [r2] strh r0, [r2]
ldr r0, lbl_08057140 @ =gBG0YPosition ldr r0, lbl_08057140 @ =gBg0YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
ldrh r1, [r1, #6] ldrh r1, [r1, #6]
@ -2123,18 +2123,18 @@ RoomUpdateBackgroundsPosition: @ 0x080570ac
ands r0, r3 ands r0, r3
b lbl_08057164 b lbl_08057164
.align 2, 0 .align 2, 0
lbl_0805711c: .4byte gBG1XPosition lbl_0805711c: .4byte gBg1XPosition
lbl_08057120: .4byte 0x000001ff lbl_08057120: .4byte 0x000001ff
lbl_08057124: .4byte gBG1YPosition lbl_08057124: .4byte gBg1YPosition
lbl_08057128: .4byte gBackgroundPositions lbl_08057128: .4byte gBackgroundPositions
lbl_0805712c: .4byte gBG2XPosition lbl_0805712c: .4byte gBg2XPosition
lbl_08057130: .4byte gBG2YPosition lbl_08057130: .4byte gBg2YPosition
lbl_08057134: .4byte gScreenShakeRelated lbl_08057134: .4byte gScreenShakeRelated
lbl_08057138: .4byte gBG0XPosition lbl_08057138: .4byte gBg0XPosition
lbl_0805713c: .4byte gBG0Movement lbl_0805713c: .4byte gBG0Movement
lbl_08057140: .4byte gBG0YPosition lbl_08057140: .4byte gBg0YPosition
lbl_08057144: lbl_08057144:
ldr r0, lbl_08057198 @ =gBG0XPosition ldr r0, lbl_08057198 @ =gBg0XPosition
ldrh r0, [r0] ldrh r0, [r0]
ldr r1, lbl_0805719c @ =gBG0Movement ldr r1, lbl_0805719c @ =gBG0Movement
lsrs r0, r0, #2 lsrs r0, r0, #2
@ -2143,7 +2143,7 @@ lbl_08057144:
ands r0, r3 ands r0, r3
adds r0, r0, r4 adds r0, r0, r4
strh r0, [r2] strh r0, [r2]
ldr r0, lbl_080571a0 @ =gBG0YPosition ldr r0, lbl_080571a0 @ =gBg0YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
ldrh r1, [r1, #6] ldrh r1, [r1, #6]
@ -2152,7 +2152,7 @@ lbl_08057144:
adds r0, r0, r5 adds r0, r0, r5
lbl_08057164: lbl_08057164:
strh r0, [r2, #2] strh r0, [r2, #2]
ldr r0, lbl_080571a4 @ =gBG3XPosition ldr r0, lbl_080571a4 @ =gBg3XPosition
ldrh r0, [r0] ldrh r0, [r0]
ldr r1, lbl_080571a8 @ =gBG3Movement ldr r1, lbl_080571a8 @ =gBG3Movement
lsrs r0, r0, #2 lsrs r0, r0, #2
@ -2161,7 +2161,7 @@ lbl_08057164:
ldr r0, lbl_080571ac @ =0x000001ff ldr r0, lbl_080571ac @ =0x000001ff
adds r1, r0, #0 adds r1, r0, #0
ands r3, r1 ands r3, r1
ldr r0, lbl_080571b0 @ =gBG3YPosition ldr r0, lbl_080571b0 @ =gBg3YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r2, r0, #2 lsrs r2, r0, #2
ands r2, r1 ands r2, r1
@ -2177,13 +2177,13 @@ lbl_08057164:
strh r2, [r0, #0xe] strh r2, [r0, #0xe]
b lbl_080571ca b lbl_080571ca
.align 2, 0 .align 2, 0
lbl_08057198: .4byte gBG0XPosition lbl_08057198: .4byte gBg0XPosition
lbl_0805719c: .4byte gBG0Movement lbl_0805719c: .4byte gBG0Movement
lbl_080571a0: .4byte gBG0YPosition lbl_080571a0: .4byte gBg0YPosition
lbl_080571a4: .4byte gBG3XPosition lbl_080571a4: .4byte gBg3XPosition
lbl_080571a8: .4byte gBG3Movement lbl_080571a8: .4byte gBG3Movement
lbl_080571ac: .4byte 0x000001ff lbl_080571ac: .4byte 0x000001ff
lbl_080571b0: .4byte gBG3YPosition lbl_080571b0: .4byte gBg3YPosition
lbl_080571b4: .4byte gScreenShakeRelated lbl_080571b4: .4byte gScreenShakeRelated
lbl_080571b8: .4byte gBackgroundPositions lbl_080571b8: .4byte gBackgroundPositions
lbl_080571bc: lbl_080571bc:
@ -2219,35 +2219,35 @@ lbl_080571ea:
bne lbl_08057208 bne lbl_08057208
mov r1, sb mov r1, sb
ldrb r4, [r1, #1] ldrb r4, [r1, #1]
ldr r0, lbl_08057200 @ =gBG0YPosition ldr r0, lbl_08057200 @ =gBg0YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r2, r0, #6 lsrs r2, r0, #6
ldr r0, lbl_08057204 @ =gBG0XPosition ldr r0, lbl_08057204 @ =gBg0XPosition
b lbl_08057230 b lbl_08057230
.align 2, 0 .align 2, 0
lbl_080571fc: .4byte gCurrentRoomEntry lbl_080571fc: .4byte gCurrentRoomEntry
lbl_08057200: .4byte gBG0YPosition lbl_08057200: .4byte gBg0YPosition
lbl_08057204: .4byte gBG0XPosition lbl_08057204: .4byte gBg0XPosition
lbl_08057208: lbl_08057208:
cmp r7, #1 cmp r7, #1
bne lbl_08057224 bne lbl_08057224
mov r2, sb mov r2, sb
ldrb r4, [r2, #2] ldrb r4, [r2, #2]
ldr r0, lbl_0805721c @ =gBG1YPosition ldr r0, lbl_0805721c @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r2, r0, #6 lsrs r2, r0, #6
ldr r0, lbl_08057220 @ =gBG1XPosition ldr r0, lbl_08057220 @ =gBg1XPosition
b lbl_08057230 b lbl_08057230
.align 2, 0 .align 2, 0
lbl_0805721c: .4byte gBG1YPosition lbl_0805721c: .4byte gBg1YPosition
lbl_08057220: .4byte gBG1XPosition lbl_08057220: .4byte gBg1XPosition
lbl_08057224: lbl_08057224:
mov r0, sb mov r0, sb
ldrb r4, [r0, #3] ldrb r4, [r0, #3]
ldr r0, lbl_080572e8 @ =gBG2YPosition ldr r0, lbl_080572e8 @ =gBg2YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r2, r0, #6 lsrs r2, r0, #6
ldr r0, lbl_080572ec @ =gBG2XPosition ldr r0, lbl_080572ec @ =gBg2XPosition
lbl_08057230: lbl_08057230:
ldrh r0, [r0] ldrh r0, [r0]
lsrs r5, r0, #6 lsrs r5, r0, #6
@ -2347,8 +2347,8 @@ lbl_080572d4:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_080572e8: .4byte gBG2YPosition lbl_080572e8: .4byte gBg2YPosition
lbl_080572ec: .4byte gBG2XPosition lbl_080572ec: .4byte gBg2XPosition
lbl_080572f0: .4byte gBgPointersAndDimensions lbl_080572f0: .4byte gBgPointersAndDimensions
lbl_080572f4: .4byte gTilemapAndClipPointers lbl_080572f4: .4byte gTilemapAndClipPointers
@ -2369,36 +2369,36 @@ lbl_0805730c:
bne lbl_0805732c bne lbl_0805732c
ldr r0, lbl_08057320 @ =gCurrentRoomEntry ldr r0, lbl_08057320 @ =gCurrentRoomEntry
ldrb r4, [r0, #1] ldrb r4, [r0, #1]
ldr r0, lbl_08057324 @ =gBG0YPosition ldr r0, lbl_08057324 @ =gBg0YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r5, r0, #6 lsrs r5, r0, #6
ldr r0, lbl_08057328 @ =gBG0XPosition ldr r0, lbl_08057328 @ =gBg0XPosition
b lbl_08057358 b lbl_08057358
.align 2, 0 .align 2, 0
lbl_08057320: .4byte gCurrentRoomEntry lbl_08057320: .4byte gCurrentRoomEntry
lbl_08057324: .4byte gBG0YPosition lbl_08057324: .4byte gBg0YPosition
lbl_08057328: .4byte gBG0XPosition lbl_08057328: .4byte gBg0XPosition
lbl_0805732c: lbl_0805732c:
cmp r6, #1 cmp r6, #1
bne lbl_0805734c bne lbl_0805734c
ldr r1, lbl_08057340 @ =gCurrentRoomEntry ldr r1, lbl_08057340 @ =gCurrentRoomEntry
ldrb r4, [r1, #2] ldrb r4, [r1, #2]
ldr r0, lbl_08057344 @ =gBG1YPosition ldr r0, lbl_08057344 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r5, r0, #6 lsrs r5, r0, #6
ldr r0, lbl_08057348 @ =gBG1XPosition ldr r0, lbl_08057348 @ =gBg1XPosition
b lbl_08057358 b lbl_08057358
.align 2, 0 .align 2, 0
lbl_08057340: .4byte gCurrentRoomEntry lbl_08057340: .4byte gCurrentRoomEntry
lbl_08057344: .4byte gBG1YPosition lbl_08057344: .4byte gBg1YPosition
lbl_08057348: .4byte gBG1XPosition lbl_08057348: .4byte gBg1XPosition
lbl_0805734c: lbl_0805734c:
ldr r7, lbl_08057424 @ =gCurrentRoomEntry ldr r7, lbl_08057424 @ =gCurrentRoomEntry
ldrb r4, [r7, #3] ldrb r4, [r7, #3]
ldr r0, lbl_08057428 @ =gBG2YPosition ldr r0, lbl_08057428 @ =gBg2YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r5, r0, #6 lsrs r5, r0, #6
ldr r0, lbl_0805742c @ =gBG2XPosition ldr r0, lbl_0805742c @ =gBg2XPosition
lbl_08057358: lbl_08057358:
ldrh r0, [r0] ldrh r0, [r0]
lsrs r1, r0, #6 lsrs r1, r0, #6
@ -2509,8 +2509,8 @@ lbl_08057412:
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_08057424: .4byte gCurrentRoomEntry lbl_08057424: .4byte gCurrentRoomEntry
lbl_08057428: .4byte gBG2YPosition lbl_08057428: .4byte gBg2YPosition
lbl_0805742c: .4byte gBG2XPosition lbl_0805742c: .4byte gBg2XPosition
lbl_08057430: .4byte gBgPointersAndDimensions lbl_08057430: .4byte gBgPointersAndDimensions
lbl_08057434: .4byte 0x06000800 lbl_08057434: .4byte 0x06000800
lbl_08057438: .4byte gTilemapAndClipPointers lbl_08057438: .4byte gTilemapAndClipPointers

View File

@ -66,7 +66,7 @@ ScrollScreen: @ 0x08058328
adds r5, r1, #0 adds r5, r1, #0
cmp r0, #0 cmp r0, #0
beq lbl_080583dc beq lbl_080583dc
ldr r0, lbl_0805836c @ =gBG1YPosition ldr r0, lbl_0805836c @ =gBg1YPosition
adds r3, r0, #0 adds r3, r0, #0
ldrh r0, [r3] ldrh r0, [r3]
cmp r2, r0 cmp r2, r0
@ -84,7 +84,7 @@ ScrollScreen: @ 0x08058328
.align 2, 0 .align 2, 0
lbl_08058364: .4byte gCamera lbl_08058364: .4byte gCamera
lbl_08058368: .4byte gGameModeSub1 lbl_08058368: .4byte gGameModeSub1
lbl_0805836c: .4byte gBG1YPosition lbl_0805836c: .4byte gBg1YPosition
lbl_08058370: .4byte gUnk_3005714 lbl_08058370: .4byte gUnk_3005714
lbl_08058374: lbl_08058374:
ldr r0, lbl_0805838c @ =gUnk_3005714 ldr r0, lbl_0805838c @ =gUnk_3005714
@ -106,7 +106,7 @@ lbl_08058390:
movs r0, #0 movs r0, #0
strb r0, [r5, #5] strb r0, [r5, #5]
lbl_08058394: lbl_08058394:
ldr r0, lbl_080583b4 @ =gBG1XPosition ldr r0, lbl_080583b4 @ =gBg1XPosition
adds r2, r0, #0 adds r2, r0, #0
ldrh r3, [r2] ldrh r3, [r2]
cmp r4, r3 cmp r4, r3
@ -122,7 +122,7 @@ lbl_08058394:
bge lbl_080583c8 bge lbl_080583c8
b lbl_080583c6 b lbl_080583c6
.align 2, 0 .align 2, 0
lbl_080583b4: .4byte gBG1XPosition lbl_080583b4: .4byte gBg1XPosition
lbl_080583b8: .4byte gUnk_3005714 lbl_080583b8: .4byte gUnk_3005714
lbl_080583bc: lbl_080583bc:
ldr r0, lbl_080583d4 @ =gUnk_3005714 ldr r0, lbl_080583d4 @ =gUnk_3005714
@ -833,7 +833,7 @@ lbl_080588fc:
lbl_080588fe: lbl_080588fe:
ldr r2, lbl_0805891c @ =gCamera ldr r2, lbl_0805891c @ =gCamera
strh r3, [r2, #2] strh r3, [r2, #2]
ldr r1, lbl_08058920 @ =gBG1YPosition ldr r1, lbl_08058920 @ =gBg1YPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r3, r3, r0 subs r3, r3, r0
cmp r3, #0 cmp r3, #0
@ -847,7 +847,7 @@ lbl_080588fe:
.align 2, 0 .align 2, 0
lbl_08058918: .4byte 0xfffffe80 lbl_08058918: .4byte 0xfffffe80
lbl_0805891c: .4byte gCamera lbl_0805891c: .4byte gCamera
lbl_08058920: .4byte gBG1YPosition lbl_08058920: .4byte gBg1YPosition
lbl_08058924: .4byte gUnk_3005714 lbl_08058924: .4byte gUnk_3005714
lbl_08058928: lbl_08058928:
ldr r0, lbl_08058944 @ =gUnk_3005714 ldr r0, lbl_08058944 @ =gUnk_3005714
@ -940,7 +940,7 @@ lbl_080589cc:
lbl_080589ce: lbl_080589ce:
ldr r2, lbl_080589ec @ =gCamera ldr r2, lbl_080589ec @ =gCamera
strh r3, [r2] strh r3, [r2]
ldr r1, lbl_080589f0 @ =gBG1XPosition ldr r1, lbl_080589f0 @ =gBg1XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r3, r3, r0 subs r3, r3, r0
cmp r3, #0 cmp r3, #0
@ -954,7 +954,7 @@ lbl_080589ce:
.align 2, 0 .align 2, 0
lbl_080589e8: .4byte 0xfffffe20 lbl_080589e8: .4byte 0xfffffe20
lbl_080589ec: .4byte gCamera lbl_080589ec: .4byte gCamera
lbl_080589f0: .4byte gBG1XPosition lbl_080589f0: .4byte gBg1XPosition
lbl_080589f4: .4byte gUnk_3005714 lbl_080589f4: .4byte gUnk_3005714
lbl_080589f8: lbl_080589f8:
ldr r0, lbl_08058a14 @ =gUnk_3005714 ldr r0, lbl_08058a14 @ =gUnk_3005714
@ -993,23 +993,23 @@ update_effect_and_haze_pos: @ 0x08058a18
beq lbl_08058a36 beq lbl_08058a36
b lbl_08058c4e b lbl_08058c4e
lbl_08058a36: lbl_08058a36:
ldr r1, lbl_08058a50 @ =gBG0XPosition ldr r1, lbl_08058a50 @ =gBg0XPosition
ldr r0, lbl_08058a54 @ =gBG1XPosition ldr r0, lbl_08058a54 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #1 lsrs r0, r0, #1
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08058a58 @ =gBG0YPosition ldr r1, lbl_08058a58 @ =gBg0YPosition
ldr r0, lbl_08058a5c @ =gBG1YPosition ldr r0, lbl_08058a5c @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
ldr r6, lbl_08058a60 @ =gEffectYPositionOffset ldr r6, lbl_08058a60 @ =gEffectYPositionOffset
b lbl_08058c64 b lbl_08058c64
.align 2, 0 .align 2, 0
lbl_08058a4c: .4byte gCurrentRoomEntry lbl_08058a4c: .4byte gCurrentRoomEntry
lbl_08058a50: .4byte gBG0XPosition lbl_08058a50: .4byte gBg0XPosition
lbl_08058a54: .4byte gBG1XPosition lbl_08058a54: .4byte gBg1XPosition
lbl_08058a58: .4byte gBG0YPosition lbl_08058a58: .4byte gBg0YPosition
lbl_08058a5c: .4byte gBG1YPosition lbl_08058a5c: .4byte gBg1YPosition
lbl_08058a60: .4byte gEffectYPositionOffset lbl_08058a60: .4byte gEffectYPositionOffset
lbl_08058a64: lbl_08058a64:
mov r0, ip mov r0, ip
@ -1019,8 +1019,8 @@ lbl_08058a64:
bne lbl_08058a70 bne lbl_08058a70
b lbl_08058b80 b lbl_08058b80
lbl_08058a70: lbl_08058a70:
ldr r1, lbl_08058ab4 @ =gBG0XPosition ldr r1, lbl_08058ab4 @ =gBg0XPosition
ldr r0, lbl_08058ab8 @ =gBG1XPosition ldr r0, lbl_08058ab8 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
ldr r2, lbl_08058abc @ =gEffectYPositionOffset ldr r2, lbl_08058abc @ =gEffectYPositionOffset
@ -1029,7 +1029,7 @@ lbl_08058a70:
mov r3, ip mov r3, ip
ldrh r3, [r3, #0x12] ldrh r3, [r3, #0x12]
adds r0, r0, r3 adds r0, r0, r3
ldr r1, lbl_08058ac0 @ =gBG1YPosition ldr r1, lbl_08058ac0 @ =gBg1YPosition
ldrh r1, [r1] ldrh r1, [r1]
subs r0, r0, r1 subs r0, r0, r1
asrs r5, r0, #2 asrs r5, r0, #2
@ -1053,10 +1053,10 @@ lbl_08058a70:
b lbl_08058aea b lbl_08058aea
.align 2, 0 .align 2, 0
lbl_08058ab0: .4byte 0x0000ffff lbl_08058ab0: .4byte 0x0000ffff
lbl_08058ab4: .4byte gBG0XPosition lbl_08058ab4: .4byte gBg0XPosition
lbl_08058ab8: .4byte gBG1XPosition lbl_08058ab8: .4byte gBg1XPosition
lbl_08058abc: .4byte gEffectYPositionOffset lbl_08058abc: .4byte gEffectYPositionOffset
lbl_08058ac0: .4byte gBG1YPosition lbl_08058ac0: .4byte gBg1YPosition
lbl_08058ac4: .4byte gWaterMovement lbl_08058ac4: .4byte gWaterMovement
lbl_08058ac8: .4byte gPreventMovementTimer lbl_08058ac8: .4byte gPreventMovementTimer
lbl_08058acc: .4byte 0x0875fd54 lbl_08058acc: .4byte 0x0875fd54
@ -1144,14 +1144,14 @@ lbl_08058b62:
ble lbl_08058b6c ble lbl_08058b6c
adds r5, r0, #0 adds r5, r0, #0
lbl_08058b6c: lbl_08058b6c:
ldr r1, lbl_08058b7c @ =gBG0YPosition ldr r1, lbl_08058b7c @ =gBg0YPosition
rsbs r0, r5, #0 rsbs r0, r5, #0
lsls r0, r0, #2 lsls r0, r0, #2
b lbl_08058c62 b lbl_08058c62
.align 2, 0 .align 2, 0
lbl_08058b74: .4byte gIoRegistersBackup lbl_08058b74: .4byte gIoRegistersBackup
lbl_08058b78: .4byte 0x04000008 lbl_08058b78: .4byte 0x04000008
lbl_08058b7c: .4byte gBG0YPosition lbl_08058b7c: .4byte gBg0YPosition
lbl_08058b80: lbl_08058b80:
movs r7, #1 movs r7, #1
mov r1, ip mov r1, ip
@ -1170,23 +1170,23 @@ lbl_08058b94:
beq lbl_08058bb0 beq lbl_08058bb0
b lbl_08058c4c b lbl_08058c4c
lbl_08058b9e: lbl_08058b9e:
ldr r0, lbl_08058ba8 @ =gBG0XPosition ldr r0, lbl_08058ba8 @ =gBg0XPosition
strh r3, [r0] strh r3, [r0]
ldr r0, lbl_08058bac @ =gBG0YPosition ldr r0, lbl_08058bac @ =gBg0YPosition
strh r3, [r0] strh r3, [r0]
b lbl_08058c4e b lbl_08058c4e
.align 2, 0 .align 2, 0
lbl_08058ba8: .4byte gBG0XPosition lbl_08058ba8: .4byte gBg0XPosition
lbl_08058bac: .4byte gBG0YPosition lbl_08058bac: .4byte gBg0YPosition
lbl_08058bb0: lbl_08058bb0:
ldr r2, lbl_08058bcc @ =gBG0XPosition ldr r2, lbl_08058bcc @ =gBg0XPosition
ldr r0, lbl_08058bd0 @ =gBG1XPosition ldr r0, lbl_08058bd0 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r2] strh r0, [r2]
ldr r2, lbl_08058bd4 @ =gBG0YPosition ldr r2, lbl_08058bd4 @ =gBg0YPosition
ldr r0, lbl_08058bd8 @ =gBG1YPosition ldr r0, lbl_08058bd8 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
ldrh r1, [r4, #2] ldrh r1, [r4, #2]
subs r0, r0, r1 subs r0, r0, r1
@ -1194,14 +1194,14 @@ lbl_08058bb0:
strh r0, [r2] strh r0, [r2]
b lbl_08058c4e b lbl_08058c4e
.align 2, 0 .align 2, 0
lbl_08058bcc: .4byte gBG0XPosition lbl_08058bcc: .4byte gBg0XPosition
lbl_08058bd0: .4byte gBG1XPosition lbl_08058bd0: .4byte gBg1XPosition
lbl_08058bd4: .4byte gBG0YPosition lbl_08058bd4: .4byte gBg0YPosition
lbl_08058bd8: .4byte gBG1YPosition lbl_08058bd8: .4byte gBg1YPosition
lbl_08058bdc: lbl_08058bdc:
movs r5, #0 movs r5, #0
ldr r6, lbl_08058c38 @ =gBG0XPosition ldr r6, lbl_08058c38 @ =gBg0XPosition
ldr r0, lbl_08058c3c @ =gBG1XPosition ldr r0, lbl_08058c3c @ =gBg1XPosition
ldr r3, lbl_08058c40 @ =gWaitingSpacePiratesPosition ldr r3, lbl_08058c40 @ =gWaitingSpacePiratesPosition
ldrh r1, [r0] ldrh r1, [r0]
ldrh r0, [r3] ldrh r0, [r3]
@ -1210,8 +1210,8 @@ lbl_08058bdc:
lsls r2, r2, #4 lsls r2, r2, #4
adds r0, r1, r2 adds r0, r1, r2
strh r0, [r6] strh r0, [r6]
ldr r4, lbl_08058c44 @ =gBG0YPosition ldr r4, lbl_08058c44 @ =gBg0YPosition
ldr r0, lbl_08058c48 @ =gBG1YPosition ldr r0, lbl_08058c48 @ =gBg1YPosition
ldrh r2, [r0] ldrh r2, [r0]
ldrh r0, [r3, #2] ldrh r0, [r3, #2]
subs r2, r2, r0 subs r2, r2, r0
@ -1247,23 +1247,23 @@ lbl_08058c28:
strh r0, [r6] strh r0, [r6]
b lbl_08058c4e b lbl_08058c4e
.align 2, 0 .align 2, 0
lbl_08058c38: .4byte gBG0XPosition lbl_08058c38: .4byte gBg0XPosition
lbl_08058c3c: .4byte gBG1XPosition lbl_08058c3c: .4byte gBg1XPosition
lbl_08058c40: .4byte gWaitingSpacePiratesPosition lbl_08058c40: .4byte gWaitingSpacePiratesPosition
lbl_08058c44: .4byte gBG0YPosition lbl_08058c44: .4byte gBg0YPosition
lbl_08058c48: .4byte gBG1YPosition lbl_08058c48: .4byte gBg1YPosition
lbl_08058c4c: lbl_08058c4c:
movs r7, #0 movs r7, #0
lbl_08058c4e: lbl_08058c4e:
ldr r6, lbl_08058c78 @ =gEffectYPositionOffset ldr r6, lbl_08058c78 @ =gEffectYPositionOffset
cmp r7, #0 cmp r7, #0
bne lbl_08058c64 bne lbl_08058c64
ldr r1, lbl_08058c7c @ =gBG0YPosition ldr r1, lbl_08058c7c @ =gBg0YPosition
ldr r0, lbl_08058c80 @ =gBG1YPosition ldr r0, lbl_08058c80 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08058c84 @ =gBG0XPosition ldr r1, lbl_08058c84 @ =gBg0XPosition
ldr r0, lbl_08058c88 @ =gBG1XPosition ldr r0, lbl_08058c88 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lbl_08058c62: lbl_08058c62:
strh r0, [r1] strh r0, [r1]
@ -1280,10 +1280,10 @@ lbl_08058c64:
b lbl_08058cb2 b lbl_08058cb2
.align 2, 0 .align 2, 0
lbl_08058c78: .4byte gEffectYPositionOffset lbl_08058c78: .4byte gEffectYPositionOffset
lbl_08058c7c: .4byte gBG0YPosition lbl_08058c7c: .4byte gBg0YPosition
lbl_08058c80: .4byte gBG1YPosition lbl_08058c80: .4byte gBg1YPosition
lbl_08058c84: .4byte gBG0XPosition lbl_08058c84: .4byte gBg0XPosition
lbl_08058c88: .4byte gBG1XPosition lbl_08058c88: .4byte gBg1XPosition
lbl_08058c8c: .4byte 0x0000ffff lbl_08058c8c: .4byte 0x0000ffff
lbl_08058c90: .4byte gEffectYPosition lbl_08058c90: .4byte gEffectYPosition
lbl_08058c94: lbl_08058c94:
@ -1445,31 +1445,31 @@ ScrollBG3: @ 0x08058da0
beq lbl_08058df0 beq lbl_08058df0
cmp r0, #1 cmp r0, #1
bne lbl_08058dc8 bne lbl_08058dc8
ldr r1, lbl_08058dc0 @ =gBG3XPosition ldr r1, lbl_08058dc0 @ =gBg3XPosition
ldr r0, lbl_08058dc4 @ =gBG1XPosition ldr r0, lbl_08058dc4 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x80 subs r0, #0x80
b lbl_08058dee b lbl_08058dee
.align 2, 0 .align 2, 0
lbl_08058dc0: .4byte gBG3XPosition lbl_08058dc0: .4byte gBg3XPosition
lbl_08058dc4: .4byte gBG1XPosition lbl_08058dc4: .4byte gBg1XPosition
lbl_08058dc8: lbl_08058dc8:
cmp r0, #2 cmp r0, #2
bne lbl_08058de0 bne lbl_08058de0
ldr r1, lbl_08058dd8 @ =gBG3XPosition ldr r1, lbl_08058dd8 @ =gBg3XPosition
ldr r0, lbl_08058ddc @ =gBG1XPosition ldr r0, lbl_08058ddc @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x80 subs r0, #0x80
asrs r0, r0, #1 asrs r0, r0, #1
b lbl_08058dee b lbl_08058dee
.align 2, 0 .align 2, 0
lbl_08058dd8: .4byte gBG3XPosition lbl_08058dd8: .4byte gBg3XPosition
lbl_08058ddc: .4byte gBG1XPosition lbl_08058ddc: .4byte gBg1XPosition
lbl_08058de0: lbl_08058de0:
cmp r0, #3 cmp r0, #3
bne lbl_08058df0 bne lbl_08058df0
ldr r1, lbl_08058e20 @ =gBG3XPosition ldr r1, lbl_08058e20 @ =gBg3XPosition
ldr r0, lbl_08058e24 @ =gBG1XPosition ldr r0, lbl_08058e24 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x80 subs r0, #0x80
asrs r0, r0, #2 asrs r0, r0, #2
@ -1502,22 +1502,22 @@ lbl_08058e12:
movs r2, #0 movs r2, #0
b lbl_08058e4c b lbl_08058e4c
.align 2, 0 .align 2, 0
lbl_08058e20: .4byte gBG3XPosition lbl_08058e20: .4byte gBg3XPosition
lbl_08058e24: .4byte gBG1XPosition lbl_08058e24: .4byte gBg1XPosition
lbl_08058e28: .4byte gCurrentRoomEntry lbl_08058e28: .4byte gCurrentRoomEntry
lbl_08058e2c: .4byte gBgPointersAndDimensions lbl_08058e2c: .4byte gBgPointersAndDimensions
lbl_08058e30: .4byte 0xfffffd80 lbl_08058e30: .4byte 0xfffffd80
lbl_08058e34: lbl_08058e34:
cmp r3, #1 cmp r3, #1
bne lbl_08058e44 bne lbl_08058e44
ldr r0, lbl_08058e40 @ =gBG1YPosition ldr r0, lbl_08058e40 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r2, r2, r0 subs r2, r2, r0
b lbl_08058e4c b lbl_08058e4c
.align 2, 0 .align 2, 0
lbl_08058e40: .4byte gBG1YPosition lbl_08058e40: .4byte gBg1YPosition
lbl_08058e44: lbl_08058e44:
ldr r0, lbl_08058e58 @ =gBG1YPosition ldr r0, lbl_08058e58 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, r2, r0 subs r0, r2, r0
asrs r2, r0, #2 asrs r2, r0, #2
@ -1525,52 +1525,52 @@ lbl_08058e4c:
subs r1, r1, r2 subs r1, r1, r2
cmp r1, #0 cmp r1, #0
ble lbl_08058e60 ble lbl_08058e60
ldr r0, lbl_08058e5c @ =gBG3YPosition ldr r0, lbl_08058e5c @ =gBg3YPosition
strh r1, [r0] strh r1, [r0]
b lbl_08058eb8 b lbl_08058eb8
.align 2, 0 .align 2, 0
lbl_08058e58: .4byte gBG1YPosition lbl_08058e58: .4byte gBg1YPosition
lbl_08058e5c: .4byte gBG3YPosition lbl_08058e5c: .4byte gBg3YPosition
lbl_08058e60: lbl_08058e60:
ldr r1, lbl_08058e68 @ =gBG3YPosition ldr r1, lbl_08058e68 @ =gBg3YPosition
movs r0, #0 movs r0, #0
b lbl_08058eb6 b lbl_08058eb6
.align 2, 0 .align 2, 0
lbl_08058e68: .4byte gBG3YPosition lbl_08058e68: .4byte gBg3YPosition
lbl_08058e6c: lbl_08058e6c:
cmp r3, #0 cmp r3, #0
bne lbl_08058e7c bne lbl_08058e7c
ldr r0, lbl_08058e78 @ =gBG3YPosition ldr r0, lbl_08058e78 @ =gBg3YPosition
strh r3, [r0] strh r3, [r0]
b lbl_08058eb8 b lbl_08058eb8
.align 2, 0 .align 2, 0
lbl_08058e78: .4byte gBG3YPosition lbl_08058e78: .4byte gBg3YPosition
lbl_08058e7c: lbl_08058e7c:
cmp r3, #1 cmp r3, #1
bne lbl_08058e94 bne lbl_08058e94
ldr r1, lbl_08058e8c @ =gBG3YPosition ldr r1, lbl_08058e8c @ =gBg3YPosition
ldr r0, lbl_08058e90 @ =gBG1YPosition ldr r0, lbl_08058e90 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x80 subs r0, #0x80
b lbl_08058eb6 b lbl_08058eb6
.align 2, 0 .align 2, 0
lbl_08058e8c: .4byte gBG3YPosition lbl_08058e8c: .4byte gBg3YPosition
lbl_08058e90: .4byte gBG1YPosition lbl_08058e90: .4byte gBg1YPosition
lbl_08058e94: lbl_08058e94:
cmp r3, #2 cmp r3, #2
bne lbl_08058eac bne lbl_08058eac
ldr r1, lbl_08058ea4 @ =gBG3YPosition ldr r1, lbl_08058ea4 @ =gBg3YPosition
ldr r0, lbl_08058ea8 @ =gBG1YPosition ldr r0, lbl_08058ea8 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x80 subs r0, #0x80
asrs r0, r0, #1 asrs r0, r0, #1
b lbl_08058eb6 b lbl_08058eb6
.align 2, 0 .align 2, 0
lbl_08058ea4: .4byte gBG3YPosition lbl_08058ea4: .4byte gBg3YPosition
lbl_08058ea8: .4byte gBG1YPosition lbl_08058ea8: .4byte gBg1YPosition
lbl_08058eac: lbl_08058eac:
ldr r1, lbl_08058ebc @ =gBG3YPosition ldr r1, lbl_08058ebc @ =gBg3YPosition
ldr r0, lbl_08058ec0 @ =gBG1YPosition ldr r0, lbl_08058ec0 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x80 subs r0, #0x80
asrs r0, r0, #2 asrs r0, r0, #2
@ -1580,8 +1580,8 @@ lbl_08058eb8:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_08058ebc: .4byte gBG3YPosition lbl_08058ebc: .4byte gBg3YPosition
lbl_08058ec0: .4byte gBG1YPosition lbl_08058ec0: .4byte gBg1YPosition
thumb_func_start sub_08058ec4 thumb_func_start sub_08058ec4
sub_08058ec4: @ 0x08058ec4 sub_08058ec4: @ 0x08058ec4
@ -1592,28 +1592,28 @@ sub_08058ec4: @ 0x08058ec4
ands r1, r0 ands r1, r0
cmp r1, #0 cmp r1, #0
bne lbl_08058ee0 bne lbl_08058ee0
ldr r0, lbl_08058edc @ =gBG3XPosition ldr r0, lbl_08058edc @ =gBg3XPosition
strh r1, [r0] strh r1, [r0]
b lbl_08058f08 b lbl_08058f08
.align 2, 0 .align 2, 0
lbl_08058edc: .4byte gBG3XPosition lbl_08058edc: .4byte gBg3XPosition
lbl_08058ee0: lbl_08058ee0:
cmp r1, #2 cmp r1, #2
bne lbl_08058ef8 bne lbl_08058ef8
ldr r1, lbl_08058ef0 @ =gBG3XPosition ldr r1, lbl_08058ef0 @ =gBg3XPosition
ldr r0, lbl_08058ef4 @ =gBG1XPosition ldr r0, lbl_08058ef4 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x80 subs r0, #0x80
asrs r0, r0, #1 asrs r0, r0, #1
b lbl_08058f06 b lbl_08058f06
.align 2, 0 .align 2, 0
lbl_08058ef0: .4byte gBG3XPosition lbl_08058ef0: .4byte gBg3XPosition
lbl_08058ef4: .4byte gBG1XPosition lbl_08058ef4: .4byte gBg1XPosition
lbl_08058ef8: lbl_08058ef8:
cmp r1, #3 cmp r1, #3
bne lbl_08058f08 bne lbl_08058f08
ldr r1, lbl_08058f0c @ =gBG3XPosition ldr r1, lbl_08058f0c @ =gBg3XPosition
ldr r0, lbl_08058f10 @ =gBG1XPosition ldr r0, lbl_08058f10 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
subs r0, #0x80 subs r0, #0x80
asrs r0, r0, #2 asrs r0, r0, #2
@ -1623,8 +1623,8 @@ lbl_08058f08:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_08058f0c: .4byte gBG3XPosition lbl_08058f0c: .4byte gBg3XPosition
lbl_08058f10: .4byte gBG1XPosition lbl_08058f10: .4byte gBg1XPosition
thumb_func_start automatic_scroll_bg3 thumb_func_start automatic_scroll_bg3
automatic_scroll_bg3: @ 0x08058f14 automatic_scroll_bg3: @ 0x08058f14
@ -1670,7 +1670,7 @@ ScrollBG2: @ 0x08058f40
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
cmp r0, #0x31 cmp r0, #0x31
bne lbl_08058fd0 bne lbl_08058fd0
ldr r2, lbl_08058f7c @ =gBG1XPosition ldr r2, lbl_08058f7c @ =gBg1XPosition
ldr r1, lbl_08058f80 @ =gBG2Movement ldr r1, lbl_08058f80 @ =gBG2Movement
movs r3, #0 movs r3, #0
ldrsh r0, [r1, r3] ldrsh r0, [r1, r3]
@ -1683,7 +1683,7 @@ ScrollBG2: @ 0x08058f40
b lbl_08058f92 b lbl_08058f92
.align 2, 0 .align 2, 0
lbl_08058f78: .4byte gCurrentRoomEntry lbl_08058f78: .4byte gCurrentRoomEntry
lbl_08058f7c: .4byte gBG1XPosition lbl_08058f7c: .4byte gBg1XPosition
lbl_08058f80: .4byte gBG2Movement lbl_08058f80: .4byte gBG2Movement
lbl_08058f84: lbl_08058f84:
ldr r0, lbl_08058fa8 @ =gBgPointersAndDimensions ldr r0, lbl_08058fa8 @ =gBgPointersAndDimensions
@ -1694,9 +1694,9 @@ lbl_08058f84:
bge lbl_08058f92 bge lbl_08058f92
adds r2, r0, #0 adds r2, r0, #0
lbl_08058f92: lbl_08058f92:
ldr r0, lbl_08058fac @ =gBG2XPosition ldr r0, lbl_08058fac @ =gBg2XPosition
strh r2, [r0] strh r2, [r0]
ldr r1, lbl_08058fb0 @ =gBG1YPosition ldr r1, lbl_08058fb0 @ =gBg1YPosition
movs r2, #2 movs r2, #2
ldrsh r0, [r3, r2] ldrsh r0, [r3, r2]
ldrh r1, [r1] ldrh r1, [r1]
@ -1707,8 +1707,8 @@ lbl_08058f92:
b lbl_08058fc2 b lbl_08058fc2
.align 2, 0 .align 2, 0
lbl_08058fa8: .4byte gBgPointersAndDimensions lbl_08058fa8: .4byte gBgPointersAndDimensions
lbl_08058fac: .4byte gBG2XPosition lbl_08058fac: .4byte gBg2XPosition
lbl_08058fb0: .4byte gBG1YPosition lbl_08058fb0: .4byte gBg1YPosition
lbl_08058fb4: lbl_08058fb4:
ldr r0, lbl_08058fc8 @ =gBgPointersAndDimensions ldr r0, lbl_08058fc8 @ =gBgPointersAndDimensions
ldrh r0, [r0, #0x16] ldrh r0, [r0, #0x16]
@ -1718,38 +1718,38 @@ lbl_08058fb4:
bge lbl_08058fc2 bge lbl_08058fc2
adds r2, r0, #0 adds r2, r0, #0
lbl_08058fc2: lbl_08058fc2:
ldr r0, lbl_08058fcc @ =gBG2YPosition ldr r0, lbl_08058fcc @ =gBg2YPosition
strh r2, [r0] strh r2, [r0]
b lbl_08058ffc b lbl_08058ffc
.align 2, 0 .align 2, 0
lbl_08058fc8: .4byte gBgPointersAndDimensions lbl_08058fc8: .4byte gBgPointersAndDimensions
lbl_08058fcc: .4byte gBG2YPosition lbl_08058fcc: .4byte gBg2YPosition
lbl_08058fd0: lbl_08058fd0:
ldr r1, lbl_08058fe4 @ =gBG2XPosition ldr r1, lbl_08058fe4 @ =gBg2XPosition
ldr r0, lbl_08058fe8 @ =gBG1XPosition ldr r0, lbl_08058fe8 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08058fec @ =gBG2YPosition ldr r1, lbl_08058fec @ =gBg2YPosition
ldr r0, lbl_08058ff0 @ =gBG1YPosition ldr r0, lbl_08058ff0 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
b lbl_08058ffc b lbl_08058ffc
.align 2, 0 .align 2, 0
lbl_08058fe4: .4byte gBG2XPosition lbl_08058fe4: .4byte gBg2XPosition
lbl_08058fe8: .4byte gBG1XPosition lbl_08058fe8: .4byte gBg1XPosition
lbl_08058fec: .4byte gBG2YPosition lbl_08058fec: .4byte gBg2YPosition
lbl_08058ff0: .4byte gBG1YPosition lbl_08058ff0: .4byte gBg1YPosition
lbl_08058ff4: lbl_08058ff4:
ldr r0, lbl_08059000 @ =gBG2XPosition ldr r0, lbl_08059000 @ =gBg2XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08059004 @ =gBG2YPosition ldr r0, lbl_08059004 @ =gBg2YPosition
strh r1, [r0] strh r1, [r0]
lbl_08058ffc: lbl_08058ffc:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_08059000: .4byte gBG2XPosition lbl_08059000: .4byte gBg2XPosition
lbl_08059004: .4byte gBG2YPosition lbl_08059004: .4byte gBg2YPosition
thumb_func_start sub_08059008 thumb_func_start sub_08059008
sub_08059008: @ 0x08059008 sub_08059008: @ 0x08059008
@ -1759,12 +1759,12 @@ sub_08059008: @ 0x08059008
ldr r0, lbl_0805901c @ =0x000001df ldr r0, lbl_0805901c @ =0x000001df
cmp r1, r0 cmp r1, r0
bhi lbl_08059024 bhi lbl_08059024
ldr r1, lbl_08059020 @ =gBG1XPosition ldr r1, lbl_08059020 @ =gBg1XPosition
movs r0, #0 movs r0, #0
b lbl_08059052 b lbl_08059052
.align 2, 0 .align 2, 0
lbl_0805901c: .4byte 0x000001df lbl_0805901c: .4byte 0x000001df
lbl_08059020: .4byte gBG1XPosition lbl_08059020: .4byte gBg1XPosition
lbl_08059024: lbl_08059024:
ldrh r3, [r4] ldrh r3, [r4]
ldr r0, lbl_0805903c @ =gBgPointersAndDimensions ldr r0, lbl_0805903c @ =gBgPointersAndDimensions
@ -1774,17 +1774,17 @@ lbl_08059024:
adds r0, r2, r1 adds r0, r2, r1
cmp r3, r0 cmp r3, r0
ble lbl_0805904c ble lbl_0805904c
ldr r1, lbl_08059044 @ =gBG1XPosition ldr r1, lbl_08059044 @ =gBg1XPosition
ldr r3, lbl_08059048 @ =0xfffffc40 ldr r3, lbl_08059048 @ =0xfffffc40
adds r0, r2, r3 adds r0, r2, r3
b lbl_08059052 b lbl_08059052
.align 2, 0 .align 2, 0
lbl_0805903c: .4byte gBgPointersAndDimensions lbl_0805903c: .4byte gBgPointersAndDimensions
lbl_08059040: .4byte 0xfffffe20 lbl_08059040: .4byte 0xfffffe20
lbl_08059044: .4byte gBG1XPosition lbl_08059044: .4byte gBg1XPosition
lbl_08059048: .4byte 0xfffffc40 lbl_08059048: .4byte 0xfffffc40
lbl_0805904c: lbl_0805904c:
ldr r1, lbl_08059064 @ =gBG1XPosition ldr r1, lbl_08059064 @ =gBg1XPosition
ldr r2, lbl_08059068 @ =0xfffffe20 ldr r2, lbl_08059068 @ =0xfffffe20
adds r0, r3, r2 adds r0, r3, r2
lbl_08059052: lbl_08059052:
@ -1793,14 +1793,14 @@ lbl_08059052:
ldr r0, lbl_0805906c @ =0x0000017f ldr r0, lbl_0805906c @ =0x0000017f
cmp r1, r0 cmp r1, r0
bhi lbl_08059074 bhi lbl_08059074
ldr r1, lbl_08059070 @ =gBG1YPosition ldr r1, lbl_08059070 @ =gBg1YPosition
movs r0, #0 movs r0, #0
b lbl_0805909e b lbl_0805909e
.align 2, 0 .align 2, 0
lbl_08059064: .4byte gBG1XPosition lbl_08059064: .4byte gBg1XPosition
lbl_08059068: .4byte 0xfffffe20 lbl_08059068: .4byte 0xfffffe20
lbl_0805906c: .4byte 0x0000017f lbl_0805906c: .4byte 0x0000017f
lbl_08059070: .4byte gBG1YPosition lbl_08059070: .4byte gBg1YPosition
lbl_08059074: lbl_08059074:
ldrh r3, [r4, #2] ldrh r3, [r4, #2]
ldr r0, lbl_0805908c @ =gBgPointersAndDimensions ldr r0, lbl_0805908c @ =gBgPointersAndDimensions
@ -1810,16 +1810,16 @@ lbl_08059074:
subs r0, #0xc0 subs r0, #0xc0
cmp r3, r0 cmp r3, r0
ble lbl_08059098 ble lbl_08059098
ldr r1, lbl_08059090 @ =gBG1YPosition ldr r1, lbl_08059090 @ =gBg1YPosition
ldr r3, lbl_08059094 @ =0xfffffdc0 ldr r3, lbl_08059094 @ =0xfffffdc0
adds r0, r2, r3 adds r0, r2, r3
b lbl_0805909e b lbl_0805909e
.align 2, 0 .align 2, 0
lbl_0805908c: .4byte gBgPointersAndDimensions lbl_0805908c: .4byte gBgPointersAndDimensions
lbl_08059090: .4byte gBG1YPosition lbl_08059090: .4byte gBg1YPosition
lbl_08059094: .4byte 0xfffffdc0 lbl_08059094: .4byte 0xfffffdc0
lbl_08059098: lbl_08059098:
ldr r1, lbl_080590a8 @ =gBG1YPosition ldr r1, lbl_080590a8 @ =gBg1YPosition
ldr r2, lbl_080590ac @ =0xfffffe80 ldr r2, lbl_080590ac @ =0xfffffe80
adds r0, r3, r2 adds r0, r3, r2
lbl_0805909e: lbl_0805909e:
@ -1828,7 +1828,7 @@ lbl_0805909e:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_080590a8: .4byte gBG1YPosition lbl_080590a8: .4byte gBg1YPosition
lbl_080590ac: .4byte 0xfffffe80 lbl_080590ac: .4byte 0xfffffe80
thumb_func_start sub_080590b0 thumb_func_start sub_080590b0
@ -3422,7 +3422,7 @@ lbl_08059d00:
lsls r0, r0, #1 lsls r0, r0, #1
adds r0, r0, r1 adds r0, r0, r1
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08059d94 @ =gBG1YPosition ldr r0, lbl_08059d94 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r3, r0, #6 lsrs r3, r0, #6
subs r0, r3, #4 subs r0, r3, #4
@ -3432,7 +3432,7 @@ lbl_08059d00:
adds r0, #0x11 adds r0, #0x11
cmp r2, r0 cmp r2, r0
bgt lbl_08059d8a bgt lbl_08059d8a
ldr r0, lbl_08059d98 @ =gBG1XPosition ldr r0, lbl_08059d98 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r3, r0, #6 lsrs r3, r0, #6
subs r0, r3, #4 subs r0, r3, #4
@ -3488,8 +3488,8 @@ lbl_08059d8a:
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_08059d90: .4byte gBgPointersAndDimensions lbl_08059d90: .4byte gBgPointersAndDimensions
lbl_08059d94: .4byte gBG1YPosition lbl_08059d94: .4byte gBg1YPosition
lbl_08059d98: .4byte gBG1XPosition lbl_08059d98: .4byte gBg1XPosition
lbl_08059d9c: .4byte 0x06001000 lbl_08059d9c: .4byte 0x06001000
lbl_08059da0: .4byte 0x06001800 lbl_08059da0: .4byte 0x06001800
lbl_08059da4: .4byte gTilemapAndClipPointers lbl_08059da4: .4byte gTilemapAndClipPointers
@ -4344,7 +4344,7 @@ sub_0805a3e0: @ 0x0805a3e0
ldr r1, [r2, #8] ldr r1, [r2, #8]
adds r0, r0, r1 adds r0, r0, r1
strh r3, [r0] strh r3, [r0]
ldr r0, lbl_0805a470 @ =gBG1YPosition ldr r0, lbl_0805a470 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r1, r0, #6 lsrs r1, r0, #6
subs r0, r1, #4 subs r0, r1, #4
@ -4353,7 +4353,7 @@ sub_0805a3e0: @ 0x0805a3e0
adds r0, #0x11 adds r0, #0x11
cmp r4, r0 cmp r4, r0
bgt lbl_0805a466 bgt lbl_0805a466
ldr r0, lbl_0805a474 @ =gBG1XPosition ldr r0, lbl_0805a474 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r1, r0, #6 lsrs r1, r0, #6
subs r0, r1, #4 subs r0, r1, #4
@ -4396,8 +4396,8 @@ lbl_0805a466:
bx r0 bx r0
.align 2, 0 .align 2, 0
lbl_0805a46c: .4byte gBgPointersAndDimensions lbl_0805a46c: .4byte gBgPointersAndDimensions
lbl_0805a470: .4byte gBG1YPosition lbl_0805a470: .4byte gBg1YPosition
lbl_0805a474: .4byte gBG1XPosition lbl_0805a474: .4byte gBg1XPosition
lbl_0805a478: .4byte 0x06001000 lbl_0805a478: .4byte 0x06001000
lbl_0805a47c: .4byte 0x06001800 lbl_0805a47c: .4byte 0x06001800
lbl_0805a480: .4byte gTilemapAndClipPointers lbl_0805a480: .4byte gTilemapAndClipPointers

View File

@ -702,7 +702,7 @@ lbl_0805ecc2:
cmp r0, #2 cmp r0, #2
bls lbl_0805ece4 bls lbl_0805ece4
ldrb r1, [r4, #2] ldrb r1, [r4, #2]
ldr r0, lbl_0805ed54 @ =gBG1XPosition ldr r0, lbl_0805ed54 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #6 lsrs r0, r0, #6
adds r0, #8 adds r0, #8
@ -769,7 +769,7 @@ lbl_0805ed20:
movs r5, #1 movs r5, #1
b lbl_0805ed82 b lbl_0805ed82
.align 2, 0 .align 2, 0
lbl_0805ed54: .4byte gBG1XPosition lbl_0805ed54: .4byte gBg1XPosition
lbl_0805ed58: .4byte gDoorPositionStart lbl_0805ed58: .4byte gDoorPositionStart
lbl_0805ed5c: .4byte gSamusDoorPositionOffset lbl_0805ed5c: .4byte gSamusDoorPositionOffset
lbl_0805ed60: .4byte gSamusData lbl_0805ed60: .4byte gSamusData

View File

@ -595,7 +595,7 @@ sub_080612e0: @ 0x080612e0
strb r0, [r2] strb r0, [r2]
ldr r1, lbl_080613d0 @ =gNextOamSlot ldr r1, lbl_080613d0 @ =gNextOamSlot
strb r0, [r1] strb r0, [r1]
bl ResetFreeOAM bl ResetFreeOam
ldr r1, lbl_080613d4 @ =0x04000050 ldr r1, lbl_080613d4 @ =0x04000050
ldr r0, lbl_080613d8 @ =sNonGameplayRamPointer ldr r0, lbl_080613d8 @ =sNonGameplayRamPointer
ldr r3, [r0] ldr r3, [r0]

View File

@ -2730,7 +2730,7 @@ lbl_08069664:
movs r0, #1 movs r0, #1
bl process_menu_oam bl process_menu_oam
lbl_08069684: lbl_08069684:
bl ResetFreeOAM bl ResetFreeOam
pop {r4} pop {r4}
pop {r0} pop {r0}
bx r0 bx r0
@ -4509,7 +4509,7 @@ map_screen_init: @ 0x0806a434
movs r0, #3 movs r0, #3
movs r1, #0 movs r1, #0
bl BitFill bl BitFill
bl ResetFreeOAM bl ResetFreeOam
ldr r1, lbl_0806a508 @ =0x040000d4 ldr r1, lbl_0806a508 @ =0x040000d4
ldr r0, lbl_0806a50c @ =gOamData ldr r0, lbl_0806a50c @ =gOamData
str r0, [r1] str r0, [r1]

View File

@ -1581,8 +1581,8 @@ lbl_0806f00a:
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_start draw_location_text thumb_func_start TextDrawLocationText
draw_location_text: @ 0x0806f018 TextDrawLocationText: @ 0x0806f018
push {r4, r5, r6, lr} push {r4, r5, r6, lr}
sub sp, #8 sub sp, #8
adds r4, r0, #0 adds r4, r0, #0
@ -1864,8 +1864,8 @@ lbl_0806f24e:
bx r1 bx r1
.align 2, 0 .align 2, 0
thumb_func_start start_message thumb_func_start TextStartMessage
start_message: @ 0x0806f258 TextStartMessage: @ 0x0806f258
push {r4, r5, r6, r7, lr} push {r4, r5, r6, r7, lr}
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
@ -1892,8 +1892,8 @@ lbl_0806f278:
lbl_0806f284: .4byte gCurrentMessage lbl_0806f284: .4byte gCurrentMessage
lbl_0806f288: .4byte 0x0840dc50 lbl_0806f288: .4byte 0x0840dc50
thumb_func_start process_item_banner_text thumb_func_start TextProcessItemBanner
process_item_banner_text: @ 0x0806f28c TextProcessItemBanner: @ 0x0806f28c
push {r4, r5, r6, r7, lr} push {r4, r5, r6, r7, lr}
sub sp, #4 sub sp, #4
ldr r0, lbl_0806f2a8 @ =gCurrentMessage ldr r0, lbl_0806f2a8 @ =gCurrentMessage

View File

@ -1351,28 +1351,28 @@ write_sram: @ 0x08073ce4
ldr r0, [r0] ldr r0, [r0]
str r0, [r4, #0x24] str r0, [r4, #0x24]
str r1, [r4, #0x28] str r1, [r4, #0x28]
ldr r0, lbl_08073fc4 @ =gBG0XPosition ldr r0, lbl_08073fc4 @ =gBg0XPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r4, #0x2c] strh r0, [r4, #0x2c]
ldr r0, lbl_08073fc8 @ =gBG0YPosition ldr r0, lbl_08073fc8 @ =gBg0YPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r4, #0x2e] strh r0, [r4, #0x2e]
ldr r0, lbl_08073fcc @ =gBG1XPosition ldr r0, lbl_08073fcc @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r4, #0x30] strh r0, [r4, #0x30]
ldr r0, lbl_08073fd0 @ =gBG1YPosition ldr r0, lbl_08073fd0 @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r4, #0x32] strh r0, [r4, #0x32]
ldr r0, lbl_08073fd4 @ =gBG2XPosition ldr r0, lbl_08073fd4 @ =gBg2XPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r4, #0x34] strh r0, [r4, #0x34]
ldr r0, lbl_08073fd8 @ =gBG2YPosition ldr r0, lbl_08073fd8 @ =gBg2YPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r4, #0x36] strh r0, [r4, #0x36]
ldr r0, lbl_08073fdc @ =gBG3XPosition ldr r0, lbl_08073fdc @ =gBg3XPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r4, #0x38] strh r0, [r4, #0x38]
ldr r0, lbl_08073fe0 @ =gBG3YPosition ldr r0, lbl_08073fe0 @ =gBg3YPosition
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r4, #0x3a] strh r0, [r4, #0x3a]
ldr r0, lbl_08073fe4 @ =gDifficulty ldr r0, lbl_08073fe4 @ =gDifficulty
@ -1621,14 +1621,14 @@ lbl_08073fb4: .4byte gLastDoorUsed
lbl_08073fb8: .4byte gMinimapX lbl_08073fb8: .4byte gMinimapX
lbl_08073fbc: .4byte gMinimapY lbl_08073fbc: .4byte gMinimapY
lbl_08073fc0: .4byte gCamera lbl_08073fc0: .4byte gCamera
lbl_08073fc4: .4byte gBG0XPosition lbl_08073fc4: .4byte gBg0XPosition
lbl_08073fc8: .4byte gBG0YPosition lbl_08073fc8: .4byte gBg0YPosition
lbl_08073fcc: .4byte gBG1XPosition lbl_08073fcc: .4byte gBg1XPosition
lbl_08073fd0: .4byte gBG1YPosition lbl_08073fd0: .4byte gBg1YPosition
lbl_08073fd4: .4byte gBG2XPosition lbl_08073fd4: .4byte gBg2XPosition
lbl_08073fd8: .4byte gBG2YPosition lbl_08073fd8: .4byte gBg2YPosition
lbl_08073fdc: .4byte gBG3XPosition lbl_08073fdc: .4byte gBg3XPosition
lbl_08073fe0: .4byte gBG3YPosition lbl_08073fe0: .4byte gBg3YPosition
lbl_08073fe4: .4byte gDifficulty lbl_08073fe4: .4byte gDifficulty
lbl_08073fe8: .4byte gUseMotherShipDoors lbl_08073fe8: .4byte gUseMotherShipDoors
lbl_08073fec: .4byte gTimeAttackFlag lbl_08073fec: .4byte gTimeAttackFlag
@ -1699,28 +1699,28 @@ load_sram_data: @ 0x08074034
ldr r1, [r4, #0x28] ldr r1, [r4, #0x28]
str r0, [r2] str r0, [r2]
str r1, [r2, #4] str r1, [r2, #4]
ldr r1, lbl_08074270 @ =gBG0XPosition ldr r1, lbl_08074270 @ =gBg0XPosition
ldrh r0, [r4, #0x2c] ldrh r0, [r4, #0x2c]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08074274 @ =gBG0YPosition ldr r1, lbl_08074274 @ =gBg0YPosition
ldrh r0, [r4, #0x2e] ldrh r0, [r4, #0x2e]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08074278 @ =gBG1XPosition ldr r1, lbl_08074278 @ =gBg1XPosition
ldrh r0, [r4, #0x30] ldrh r0, [r4, #0x30]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_0807427c @ =gBG1YPosition ldr r1, lbl_0807427c @ =gBg1YPosition
ldrh r0, [r4, #0x32] ldrh r0, [r4, #0x32]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08074280 @ =gBG2XPosition ldr r1, lbl_08074280 @ =gBg2XPosition
ldrh r0, [r4, #0x34] ldrh r0, [r4, #0x34]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08074284 @ =gBG2YPosition ldr r1, lbl_08074284 @ =gBg2YPosition
ldrh r0, [r4, #0x36] ldrh r0, [r4, #0x36]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08074288 @ =gBG3XPosition ldr r1, lbl_08074288 @ =gBg3XPosition
ldrh r0, [r4, #0x38] ldrh r0, [r4, #0x38]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_0807428c @ =gBG3YPosition ldr r1, lbl_0807428c @ =gBg3YPosition
ldrh r0, [r4, #0x3a] ldrh r0, [r4, #0x3a]
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08074290 @ =gDifficulty ldr r1, lbl_08074290 @ =gDifficulty
@ -1932,14 +1932,14 @@ lbl_08074260: .4byte gLastDoorUsed
lbl_08074264: .4byte gMinimapX lbl_08074264: .4byte gMinimapX
lbl_08074268: .4byte gMinimapY lbl_08074268: .4byte gMinimapY
lbl_0807426c: .4byte gCamera lbl_0807426c: .4byte gCamera
lbl_08074270: .4byte gBG0XPosition lbl_08074270: .4byte gBg0XPosition
lbl_08074274: .4byte gBG0YPosition lbl_08074274: .4byte gBg0YPosition
lbl_08074278: .4byte gBG1XPosition lbl_08074278: .4byte gBg1XPosition
lbl_0807427c: .4byte gBG1YPosition lbl_0807427c: .4byte gBg1YPosition
lbl_08074280: .4byte gBG2XPosition lbl_08074280: .4byte gBg2XPosition
lbl_08074284: .4byte gBG2YPosition lbl_08074284: .4byte gBg2YPosition
lbl_08074288: .4byte gBG3XPosition lbl_08074288: .4byte gBg3XPosition
lbl_0807428c: .4byte gBG3YPosition lbl_0807428c: .4byte gBg3YPosition
lbl_08074290: .4byte gDifficulty lbl_08074290: .4byte gDifficulty
lbl_08074294: .4byte gUseMotherShipDoors lbl_08074294: .4byte gUseMotherShipDoors
lbl_08074298: .4byte gTimeAttackFlag lbl_08074298: .4byte gTimeAttackFlag

View File

@ -61,7 +61,7 @@ lbl_08078288:
movs r0, #0xb movs r0, #0xb
bl process_menu_oam bl process_menu_oam
lbl_0807829a: lbl_0807829a:
bl ResetFreeOAM bl ResetFreeOam
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
@ -8562,7 +8562,7 @@ file_select_menu_init: @ 0x0807c5e0
ldr r0, lbl_0807c7b0 @ =gNextOamSlot ldr r0, lbl_0807c7b0 @ =gNextOamSlot
strb r4, [r0] strb r4, [r0]
bl ClearGfxRam bl ClearGfxRam
bl ResetFreeOAM bl ResetFreeOam
ldr r1, lbl_0807c7b4 @ =gOamXOffset_NonGameplay ldr r1, lbl_0807c7b4 @ =gOamXOffset_NonGameplay
ldr r0, lbl_0807c7b8 @ =gOamYOffset_NonGameplay ldr r0, lbl_0807c7b8 @ =gOamYOffset_NonGameplay
strb r4, [r0] strb r4, [r0]

View File

@ -38,42 +38,42 @@ vblank_code_during_intro: @ 0x08081248
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
subs r1, #0x44 subs r1, #0x44
ldr r0, lbl_08081300 @ =gBG0XPosition ldr r0, lbl_08081300 @ =gBg0XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
strh r0, [r1] strh r0, [r1]
adds r1, #2 adds r1, #2
ldr r0, lbl_08081304 @ =gBG0YPosition ldr r0, lbl_08081304 @ =gBg0YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
strh r0, [r1] strh r0, [r1]
adds r1, #2 adds r1, #2
ldr r0, lbl_08081308 @ =gBG1XPosition ldr r0, lbl_08081308 @ =gBg1XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
strh r0, [r1] strh r0, [r1]
adds r1, #2 adds r1, #2
ldr r0, lbl_0808130c @ =gBG1YPosition ldr r0, lbl_0808130c @ =gBg1YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
strh r0, [r1] strh r0, [r1]
adds r1, #2 adds r1, #2
ldr r0, lbl_08081310 @ =gBG2XPosition ldr r0, lbl_08081310 @ =gBg2XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
strh r0, [r1] strh r0, [r1]
adds r1, #2 adds r1, #2
ldr r0, lbl_08081314 @ =gBG2YPosition ldr r0, lbl_08081314 @ =gBg2YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
strh r0, [r1] strh r0, [r1]
adds r1, #2 adds r1, #2
ldr r0, lbl_08081318 @ =gBG3XPosition ldr r0, lbl_08081318 @ =gBg3XPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
strh r0, [r1] strh r0, [r1]
adds r1, #2 adds r1, #2
ldr r0, lbl_0808131c @ =gBG3YPosition ldr r0, lbl_0808131c @ =gBg3YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #2 lsrs r0, r0, #2
strh r0, [r1] strh r0, [r1]
@ -88,14 +88,14 @@ lbl_080812f0: .4byte sNonGameplayRamPointer
lbl_080812f4: .4byte gIoRegistersBackup lbl_080812f4: .4byte gIoRegistersBackup
lbl_080812f8: .4byte 0x04000054 lbl_080812f8: .4byte 0x04000054
lbl_080812fc: .4byte gWrittenToBLDY_NonGameplay lbl_080812fc: .4byte gWrittenToBLDY_NonGameplay
lbl_08081300: .4byte gBG0XPosition lbl_08081300: .4byte gBg0XPosition
lbl_08081304: .4byte gBG0YPosition lbl_08081304: .4byte gBg0YPosition
lbl_08081308: .4byte gBG1XPosition lbl_08081308: .4byte gBg1XPosition
lbl_0808130c: .4byte gBG1YPosition lbl_0808130c: .4byte gBg1YPosition
lbl_08081310: .4byte gBG2XPosition lbl_08081310: .4byte gBg2XPosition
lbl_08081314: .4byte gBG2YPosition lbl_08081314: .4byte gBg2YPosition
lbl_08081318: .4byte gBG3XPosition lbl_08081318: .4byte gBg3XPosition
lbl_0808131c: .4byte gBG3YPosition lbl_0808131c: .4byte gBg3YPosition
thumb_func_start sub_08081320 thumb_func_start sub_08081320
sub_08081320: @ 0x08081320 sub_08081320: @ 0x08081320
@ -133,33 +133,33 @@ sub_08081320: @ 0x08081320
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
ldr r3, lbl_080813ec @ =0x04000010 ldr r3, lbl_080813ec @ =0x04000010
ldr r0, lbl_080813f0 @ =gBG0XPosition ldr r0, lbl_080813f0 @ =gBg0XPosition
ldrh r2, [r0] ldrh r2, [r0]
ldr r1, lbl_080813f4 @ =0x000001ff ldr r1, lbl_080813f4 @ =0x000001ff
adds r0, r1, #0 adds r0, r1, #0
ands r0, r2 ands r0, r2
strh r0, [r3] strh r0, [r3]
ldr r2, lbl_080813f8 @ =0x04000012 ldr r2, lbl_080813f8 @ =0x04000012
ldr r0, lbl_080813fc @ =gBG0YPosition ldr r0, lbl_080813fc @ =gBg0YPosition
ldrb r0, [r0] ldrb r0, [r0]
strh r0, [r2] strh r0, [r2]
adds r3, #4 adds r3, #4
ldr r0, lbl_08081400 @ =gBG1XPosition ldr r0, lbl_08081400 @ =gBg1XPosition
ldrh r2, [r0] ldrh r2, [r0]
adds r0, r1, #0 adds r0, r1, #0
ands r0, r2 ands r0, r2
strh r0, [r3] strh r0, [r3]
ldr r2, lbl_08081404 @ =0x04000016 ldr r2, lbl_08081404 @ =0x04000016
ldr r0, lbl_08081408 @ =gBG1YPosition ldr r0, lbl_08081408 @ =gBg1YPosition
ldrb r0, [r0] ldrb r0, [r0]
strh r0, [r2] strh r0, [r2]
adds r2, #2 adds r2, #2
ldr r0, lbl_0808140c @ =gBG2XPosition ldr r0, lbl_0808140c @ =gBg2XPosition
ldrh r0, [r0] ldrh r0, [r0]
ands r1, r0 ands r1, r0
strh r1, [r2] strh r1, [r2]
ldr r1, lbl_08081410 @ =0x0400001a ldr r1, lbl_08081410 @ =0x0400001a
ldr r0, lbl_08081414 @ =gBG2YPosition ldr r0, lbl_08081414 @ =gBg2YPosition
ldrb r0, [r0] ldrb r0, [r0]
strh r0, [r1] strh r0, [r1]
adds r2, #0x28 adds r2, #0x28
@ -194,16 +194,16 @@ lbl_080813e0: .4byte gWrittenToBLDALPHA_L
lbl_080813e4: .4byte 0x04000054 lbl_080813e4: .4byte 0x04000054
lbl_080813e8: .4byte gWrittenToBLDY_NonGameplay lbl_080813e8: .4byte gWrittenToBLDY_NonGameplay
lbl_080813ec: .4byte 0x04000010 lbl_080813ec: .4byte 0x04000010
lbl_080813f0: .4byte gBG0XPosition lbl_080813f0: .4byte gBg0XPosition
lbl_080813f4: .4byte 0x000001ff lbl_080813f4: .4byte 0x000001ff
lbl_080813f8: .4byte 0x04000012 lbl_080813f8: .4byte 0x04000012
lbl_080813fc: .4byte gBG0YPosition lbl_080813fc: .4byte gBg0YPosition
lbl_08081400: .4byte gBG1XPosition lbl_08081400: .4byte gBg1XPosition
lbl_08081404: .4byte 0x04000016 lbl_08081404: .4byte 0x04000016
lbl_08081408: .4byte gBG1YPosition lbl_08081408: .4byte gBg1YPosition
lbl_0808140c: .4byte gBG2XPosition lbl_0808140c: .4byte gBg2XPosition
lbl_08081410: .4byte 0x0400001a lbl_08081410: .4byte 0x0400001a
lbl_08081414: .4byte gBG2YPosition lbl_08081414: .4byte gBg2YPosition
thumb_func_start sub_08081418 thumb_func_start sub_08081418
sub_08081418: @ 0x08081418 sub_08081418: @ 0x08081418
@ -261,33 +261,33 @@ sub_08081418: @ 0x08081418
asrs r0, r0, #0x10 asrs r0, r0, #0x10
strh r0, [r1] strh r0, [r1]
ldr r3, lbl_080814ec @ =0x04000010 ldr r3, lbl_080814ec @ =0x04000010
ldr r0, lbl_080814f0 @ =gBG0XPosition ldr r0, lbl_080814f0 @ =gBg0XPosition
ldrh r2, [r0] ldrh r2, [r0]
ldr r1, lbl_080814f4 @ =0x000001ff ldr r1, lbl_080814f4 @ =0x000001ff
adds r0, r1, #0 adds r0, r1, #0
ands r0, r2 ands r0, r2
strh r0, [r3] strh r0, [r3]
ldr r2, lbl_080814f8 @ =0x04000012 ldr r2, lbl_080814f8 @ =0x04000012
ldr r0, lbl_080814fc @ =gBG0YPosition ldr r0, lbl_080814fc @ =gBg0YPosition
ldrb r0, [r0] ldrb r0, [r0]
strh r0, [r2] strh r0, [r2]
adds r3, #4 adds r3, #4
ldr r0, lbl_08081500 @ =gBG1XPosition ldr r0, lbl_08081500 @ =gBg1XPosition
ldrh r2, [r0] ldrh r2, [r0]
adds r0, r1, #0 adds r0, r1, #0
ands r0, r2 ands r0, r2
strh r0, [r3] strh r0, [r3]
ldr r2, lbl_08081504 @ =0x04000016 ldr r2, lbl_08081504 @ =0x04000016
ldr r0, lbl_08081508 @ =gBG1YPosition ldr r0, lbl_08081508 @ =gBg1YPosition
ldrb r0, [r0] ldrb r0, [r0]
strh r0, [r2] strh r0, [r2]
adds r2, #2 adds r2, #2
ldr r0, lbl_0808150c @ =gBG2XPosition ldr r0, lbl_0808150c @ =gBg2XPosition
ldrh r0, [r0] ldrh r0, [r0]
ands r1, r0 ands r1, r0
strh r1, [r2] strh r1, [r2]
ldr r1, lbl_08081510 @ =0x0400001a ldr r1, lbl_08081510 @ =0x0400001a
ldr r0, lbl_08081514 @ =gBG2YPosition ldr r0, lbl_08081514 @ =gBg2YPosition
ldrb r0, [r0] ldrb r0, [r0]
strh r0, [r1] strh r0, [r1]
bx lr bx lr
@ -304,16 +304,16 @@ lbl_080814e0: .4byte gWrittenToBG2X
lbl_080814e4: .4byte 0x0fff0000 lbl_080814e4: .4byte 0x0fff0000
lbl_080814e8: .4byte gWrittenToBG2Y lbl_080814e8: .4byte gWrittenToBG2Y
lbl_080814ec: .4byte 0x04000010 lbl_080814ec: .4byte 0x04000010
lbl_080814f0: .4byte gBG0XPosition lbl_080814f0: .4byte gBg0XPosition
lbl_080814f4: .4byte 0x000001ff lbl_080814f4: .4byte 0x000001ff
lbl_080814f8: .4byte 0x04000012 lbl_080814f8: .4byte 0x04000012
lbl_080814fc: .4byte gBG0YPosition lbl_080814fc: .4byte gBg0YPosition
lbl_08081500: .4byte gBG1XPosition lbl_08081500: .4byte gBg1XPosition
lbl_08081504: .4byte 0x04000016 lbl_08081504: .4byte 0x04000016
lbl_08081508: .4byte gBG1YPosition lbl_08081508: .4byte gBg1YPosition
lbl_0808150c: .4byte gBG2XPosition lbl_0808150c: .4byte gBg2XPosition
lbl_08081510: .4byte 0x0400001a lbl_08081510: .4byte 0x0400001a
lbl_08081514: .4byte gBG2YPosition lbl_08081514: .4byte gBg2YPosition
thumb_func_start tourian_escape_process_oam thumb_func_start tourian_escape_process_oam
tourian_escape_process_oam: @ 0x08081518 tourian_escape_process_oam: @ 0x08081518
@ -1416,7 +1416,7 @@ tourian_escape_init: @ 0x08081d04
strh r0, [r6] strh r0, [r6]
ldr r0, lbl_08081e28 @ =gNextOamSlot ldr r0, lbl_08081e28 @ =gNextOamSlot
strb r5, [r0] strb r5, [r0]
bl ResetFreeOAM bl ResetFreeOam
ldr r0, lbl_08081e2c @ =sNonGameplayRamPointer ldr r0, lbl_08081e2c @ =sNonGameplayRamPointer
ldr r0, [r0] ldr r0, [r0]
adds r0, #0xc0 adds r0, #0xc0
@ -1875,18 +1875,18 @@ lbl_0808213c:
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
cmp r4, #8 cmp r4, #8
bls lbl_0808213c bls lbl_0808213c
ldr r0, lbl_0808218c @ =gBG0XPosition ldr r0, lbl_0808218c @ =gBg0XPosition
movs r1, #0 movs r1, #0
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08082190 @ =gBG0YPosition ldr r0, lbl_08082190 @ =gBg0YPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08082194 @ =gBG1XPosition ldr r0, lbl_08082194 @ =gBg1XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08082198 @ =gBG1YPosition ldr r0, lbl_08082198 @ =gBg1YPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_0808219c @ =gBG2XPosition ldr r0, lbl_0808219c @ =gBg2XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_080821a0 @ =gBG2YPosition ldr r0, lbl_080821a0 @ =gBg2YPosition
strh r1, [r0] strh r1, [r0]
movs r0, #0 movs r0, #0
movs r1, #0x14 movs r1, #0x14
@ -1896,12 +1896,12 @@ lbl_0808213c:
.align 2, 0 .align 2, 0
lbl_08082184: .4byte 0x0848e048 lbl_08082184: .4byte 0x0848e048
lbl_08082188: .4byte 0x06010000 lbl_08082188: .4byte 0x06010000
lbl_0808218c: .4byte gBG0XPosition lbl_0808218c: .4byte gBg0XPosition
lbl_08082190: .4byte gBG0YPosition lbl_08082190: .4byte gBg0YPosition
lbl_08082194: .4byte gBG1XPosition lbl_08082194: .4byte gBg1XPosition
lbl_08082198: .4byte gBG1YPosition lbl_08082198: .4byte gBg1YPosition
lbl_0808219c: .4byte gBG2XPosition lbl_0808219c: .4byte gBg2XPosition
lbl_080821a0: .4byte gBG2YPosition lbl_080821a0: .4byte gBg2YPosition
lbl_080821a4: lbl_080821a4:
ldr r0, lbl_080821f8 @ =0x0848d744 ldr r0, lbl_080821f8 @ =0x0848d744
ldr r1, lbl_080821fc @ =0x0600f000 ldr r1, lbl_080821fc @ =0x0600f000
@ -1953,10 +1953,10 @@ lbl_08082210: .4byte 0x04000008
lbl_08082214: .4byte gWrittenToBLDALPHA_L lbl_08082214: .4byte gWrittenToBLDALPHA_L
lbl_08082218: .4byte gWrittenToBLDALPHA_H lbl_08082218: .4byte gWrittenToBLDALPHA_H
lbl_0808221c: lbl_0808221c:
ldr r0, lbl_08082284 @ =gBG0XPosition ldr r0, lbl_08082284 @ =gBg0XPosition
mov r1, sb mov r1, sb
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08082288 @ =gBG0YPosition ldr r0, lbl_08082288 @ =gBg0YPosition
strh r1, [r0] strh r1, [r0]
movs r2, #1 movs r2, #1
mov sb, r2 mov sb, r2
@ -2009,8 +2009,8 @@ lbl_0808227c:
strb r0, [r1, #5] strb r0, [r1, #5]
b lbl_080822ae b lbl_080822ae
.align 2, 0 .align 2, 0
lbl_08082284: .4byte gBG0XPosition lbl_08082284: .4byte gBg0XPosition
lbl_08082288: .4byte gBG0YPosition lbl_08082288: .4byte gBg0YPosition
lbl_0808228c: .4byte sNonGameplayRamPointer lbl_0808228c: .4byte sNonGameplayRamPointer
lbl_08082290: .4byte gWrittenToBLDY_NonGameplay lbl_08082290: .4byte gWrittenToBLDY_NonGameplay
lbl_08082294: lbl_08082294:
@ -2071,7 +2071,7 @@ lbl_080822f2:
ldrb r0, [r1] ldrb r0, [r1]
cmp r0, #0xb cmp r0, #0xb
bls lbl_08082324 bls lbl_08082324
ldr r1, lbl_08082320 @ =gBG0XPosition ldr r1, lbl_08082320 @ =gBg0XPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #1 adds r0, #1
strh r0, [r1] strh r0, [r1]
@ -2085,7 +2085,7 @@ lbl_080822f2:
b lbl_08082610 b lbl_08082610
.align 2, 0 .align 2, 0
lbl_0808231c: .4byte 0x0847a540 lbl_0808231c: .4byte 0x0847a540
lbl_08082320: .4byte gBG0XPosition lbl_08082320: .4byte gBg0XPosition
lbl_08082324: lbl_08082324:
adds r0, #1 adds r0, #1
mov r1, ip mov r1, ip
@ -2398,76 +2398,76 @@ lbl_08082544:
ands r4, r0 ands r4, r0
cmp r4, #1 cmp r4, #1
bne lbl_080825b4 bne lbl_080825b4
ldr r1, lbl_08082644 @ =gBG0XPosition ldr r1, lbl_08082644 @ =gBg0XPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #8 adds r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082648 @ =gBG0YPosition ldr r1, lbl_08082648 @ =gBg0YPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #8 subs r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_0808264c @ =gBG1XPosition ldr r1, lbl_0808264c @ =gBg1XPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #8 adds r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082650 @ =gBG1YPosition ldr r1, lbl_08082650 @ =gBg1YPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #8 subs r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082654 @ =gBG2XPosition ldr r1, lbl_08082654 @ =gBg2XPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #8 adds r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082658 @ =gBG2YPosition ldr r1, lbl_08082658 @ =gBg2YPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #8 subs r0, #8
strh r0, [r1] strh r0, [r1]
lbl_080825b4: lbl_080825b4:
cmp r4, #3 cmp r4, #3
bne lbl_080825c8 bne lbl_080825c8
ldr r1, lbl_0808265c @ =gBG3XPosition ldr r1, lbl_0808265c @ =gBg3XPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #8 adds r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082660 @ =gBG3YPosition ldr r1, lbl_08082660 @ =gBg3YPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #8 subs r0, #8
strh r0, [r1] strh r0, [r1]
lbl_080825c8: lbl_080825c8:
cmp r4, #4 cmp r4, #4
bne lbl_080825fc bne lbl_080825fc
ldr r1, lbl_08082644 @ =gBG0XPosition ldr r1, lbl_08082644 @ =gBg0XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #8 subs r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082648 @ =gBG0YPosition ldr r1, lbl_08082648 @ =gBg0YPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #8 adds r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_0808264c @ =gBG1XPosition ldr r1, lbl_0808264c @ =gBg1XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #8 subs r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082650 @ =gBG1YPosition ldr r1, lbl_08082650 @ =gBg1YPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #8 adds r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082654 @ =gBG2XPosition ldr r1, lbl_08082654 @ =gBg2XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #8 subs r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082658 @ =gBG2YPosition ldr r1, lbl_08082658 @ =gBg2YPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #8 adds r0, #8
strh r0, [r1] strh r0, [r1]
lbl_080825fc: lbl_080825fc:
cmp r4, #6 cmp r4, #6
bne lbl_08082610 bne lbl_08082610
ldr r1, lbl_0808265c @ =gBG3XPosition ldr r1, lbl_0808265c @ =gBg3XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #8 subs r0, #8
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08082660 @ =gBG3YPosition ldr r1, lbl_08082660 @ =gBg3YPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #8 adds r0, #8
strh r0, [r1] strh r0, [r1]
@ -2489,14 +2489,14 @@ lbl_08082634: .4byte 0x0847ccbc
lbl_08082638: .4byte 0x0847cf10 lbl_08082638: .4byte 0x0847cf10
lbl_0808263c: .4byte 0x0847cf30 lbl_0808263c: .4byte 0x0847cf30
lbl_08082640: .4byte 0x0847cec0 lbl_08082640: .4byte 0x0847cec0
lbl_08082644: .4byte gBG0XPosition lbl_08082644: .4byte gBg0XPosition
lbl_08082648: .4byte gBG0YPosition lbl_08082648: .4byte gBg0YPosition
lbl_0808264c: .4byte gBG1XPosition lbl_0808264c: .4byte gBg1XPosition
lbl_08082650: .4byte gBG1YPosition lbl_08082650: .4byte gBg1YPosition
lbl_08082654: .4byte gBG2XPosition lbl_08082654: .4byte gBg2XPosition
lbl_08082658: .4byte gBG2YPosition lbl_08082658: .4byte gBg2YPosition
lbl_0808265c: .4byte gBG3XPosition lbl_0808265c: .4byte gBg3XPosition
lbl_08082660: .4byte gBG3YPosition lbl_08082660: .4byte gBg3YPosition
thumb_func_start TourianEscapeSamusInHerShip thumb_func_start TourianEscapeSamusInHerShip
TourianEscapeSamusInHerShip: @ 0x08082664 TourianEscapeSamusInHerShip: @ 0x08082664
@ -3252,9 +3252,9 @@ lbl_08082cbc:
ldr r0, lbl_08082d0c @ =0x80000100 ldr r0, lbl_08082d0c @ =0x80000100
str r0, [r1, #8] str r0, [r1, #8]
ldr r0, [r1, #8] ldr r0, [r1, #8]
ldr r0, lbl_08082d10 @ =gBG0XPosition ldr r0, lbl_08082d10 @ =gBg0XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08082d14 @ =gBG0YPosition ldr r0, lbl_08082d14 @ =gBg0YPosition
strh r5, [r0] strh r5, [r0]
ldr r1, lbl_08082d18 @ =gWrittenToBLDALPHA_L ldr r1, lbl_08082d18 @ =gWrittenToBLDALPHA_L
movs r0, #0x10 movs r0, #0x10
@ -3270,8 +3270,8 @@ lbl_08082d00: .4byte 0x06007800
lbl_08082d04: .4byte 0x040000d4 lbl_08082d04: .4byte 0x040000d4
lbl_08082d08: .4byte 0x08479ac0 lbl_08082d08: .4byte 0x08479ac0
lbl_08082d0c: .4byte 0x80000100 lbl_08082d0c: .4byte 0x80000100
lbl_08082d10: .4byte gBG0XPosition lbl_08082d10: .4byte gBg0XPosition
lbl_08082d14: .4byte gBG0YPosition lbl_08082d14: .4byte gBg0YPosition
lbl_08082d18: .4byte gWrittenToBLDALPHA_L lbl_08082d18: .4byte gWrittenToBLDALPHA_L
lbl_08082d1c: .4byte gWrittenToBLDALPHA_H lbl_08082d1c: .4byte gWrittenToBLDALPHA_H
lbl_08082d20: lbl_08082d20:
@ -3880,10 +3880,10 @@ lbl_08083160:
lsrs r5, r0, #0x18 lsrs r5, r0, #0x18
cmp r5, #9 cmp r5, #9
bls lbl_08083160 bls lbl_08083160
ldr r0, lbl_080831fc @ =gBG0XPosition ldr r0, lbl_080831fc @ =gBg0XPosition
movs r1, #0 movs r1, #0
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08083200 @ =gBG0YPosition ldr r0, lbl_08083200 @ =gBg0YPosition
strh r1, [r0] strh r1, [r0]
b lbl_080832fc b lbl_080832fc
.align 2, 0 .align 2, 0
@ -3901,8 +3901,8 @@ lbl_080831ec: .4byte 0x0847a642
lbl_080831f0: .4byte 0x0847a662 lbl_080831f0: .4byte 0x0847a662
lbl_080831f4: .4byte 0x0847ce20 lbl_080831f4: .4byte 0x0847ce20
lbl_080831f8: .4byte sNonGameplayRamPointer lbl_080831f8: .4byte sNonGameplayRamPointer
lbl_080831fc: .4byte gBG0XPosition lbl_080831fc: .4byte gBg0XPosition
lbl_08083200: .4byte gBG0YPosition lbl_08083200: .4byte gBg0YPosition
lbl_08083204: lbl_08083204:
ldr r1, lbl_0808321c @ =0x04000008 ldr r1, lbl_0808321c @ =0x04000008
movs r3, #0xe0 movs r3, #0xe0
@ -4043,7 +4043,7 @@ lbl_080832fc:
adds r4, r2, #0 adds r4, r2, #0
cmp r0, #0 cmp r0, #0
bne lbl_08083314 bne lbl_08083314
ldr r1, lbl_08083344 @ =gBG0XPosition ldr r1, lbl_08083344 @ =gBg0XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #1 subs r0, #1
strh r0, [r1] strh r0, [r1]
@ -4072,7 +4072,7 @@ lbl_08083316:
b lbl_08083364 b lbl_08083364
.align 2, 0 .align 2, 0
lbl_08083340: .4byte sNonGameplayRamPointer lbl_08083340: .4byte sNonGameplayRamPointer
lbl_08083344: .4byte gBG0XPosition lbl_08083344: .4byte gBg0XPosition
lbl_08083348: lbl_08083348:
cmp r0, #2 cmp r0, #2
bne lbl_08083366 bne lbl_08083366
@ -4305,10 +4305,10 @@ lbl_0808343c:
adds r0, r2, #0 adds r0, r2, #0
adds r0, #0xb0 adds r0, #0xb0
strh r1, [r0] strh r1, [r0]
ldr r1, lbl_08083528 @ =gBG0XPosition ldr r1, lbl_08083528 @ =gBg0XPosition
movs r0, #0x30 movs r0, #0x30
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_0808352c @ =gBG0YPosition ldr r1, lbl_0808352c @ =gBg0YPosition
movs r0, #0x50 movs r0, #0x50
strh r0, [r1] strh r0, [r1]
b lbl_0808358a b lbl_0808358a
@ -4321,8 +4321,8 @@ lbl_08083518: .4byte 0x0847cfa4
lbl_0808351c: .4byte 0x0847cfb4 lbl_0808351c: .4byte 0x0847cfb4
lbl_08083520: .4byte 0x0847cfc4 lbl_08083520: .4byte 0x0847cfc4
lbl_08083524: .4byte 0x0847cfd4 lbl_08083524: .4byte 0x0847cfd4
lbl_08083528: .4byte gBG0XPosition lbl_08083528: .4byte gBg0XPosition
lbl_0808352c: .4byte gBG0YPosition lbl_0808352c: .4byte gBg0YPosition
lbl_08083530: lbl_08083530:
adds r1, r2, #0 adds r1, r2, #0
adds r1, #0xc0 adds r1, #0xc0
@ -4380,7 +4380,7 @@ lbl_0808358a:
adds r5, r2, #0 adds r5, r2, #0
cmp r0, #0 cmp r0, #0
bne lbl_080835a2 bne lbl_080835a2
ldr r1, lbl_08083640 @ =gBG0YPosition ldr r1, lbl_08083640 @ =gBg0YPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #1 subs r0, #1
strh r0, [r1] strh r0, [r1]
@ -4469,7 +4469,7 @@ lbl_080835f6:
b lbl_08083684 b lbl_08083684
.align 2, 0 .align 2, 0
lbl_0808363c: .4byte sNonGameplayRamPointer lbl_0808363c: .4byte sNonGameplayRamPointer
lbl_08083640: .4byte gBG0YPosition lbl_08083640: .4byte gBg0YPosition
lbl_08083644: lbl_08083644:
cmp r0, #2 cmp r0, #2
beq lbl_08083678 beq lbl_08083678
@ -4852,10 +4852,10 @@ lbl_080838f8:
ldr r0, lbl_0808393c @ =0x80000050 ldr r0, lbl_0808393c @ =0x80000050
str r0, [r1, #8] str r0, [r1, #8]
ldr r0, [r1, #8] ldr r0, [r1, #8]
ldr r1, lbl_08083940 @ =gBG0XPosition ldr r1, lbl_08083940 @ =gBg0XPosition
movs r0, #0x60 movs r0, #0x60
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08083944 @ =gBG0YPosition ldr r1, lbl_08083944 @ =gBg0YPosition
movs r0, #0x30 movs r0, #0x30
strh r0, [r1] strh r0, [r1]
ldr r1, [r4] ldr r1, [r4]
@ -4870,8 +4870,8 @@ lbl_08083930: .4byte 0x040000d4
lbl_08083934: .4byte 0x08479a20 lbl_08083934: .4byte 0x08479a20
lbl_08083938: .4byte 0x05000200 lbl_08083938: .4byte 0x05000200
lbl_0808393c: .4byte 0x80000050 lbl_0808393c: .4byte 0x80000050
lbl_08083940: .4byte gBG0XPosition lbl_08083940: .4byte gBg0XPosition
lbl_08083944: .4byte gBG0YPosition lbl_08083944: .4byte gBg0YPosition
lbl_08083948: lbl_08083948:
ldr r1, lbl_08083978 @ =0x04000008 ldr r1, lbl_08083978 @ =0x04000008
movs r2, #0xe0 movs r2, #0xe0
@ -5027,7 +5027,7 @@ lbl_08083a72:
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
bne lbl_08083a86 bne lbl_08083a86
ldr r1, lbl_08083afc @ =gBG0XPosition ldr r1, lbl_08083afc @ =gBg0XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #1 subs r0, #1
strh r0, [r1] strh r0, [r1]
@ -5093,7 +5093,7 @@ lbl_08083abe:
strh r0, [r1] strh r0, [r1]
b lbl_08083d04 b lbl_08083d04
.align 2, 0 .align 2, 0
lbl_08083afc: .4byte gBG0XPosition lbl_08083afc: .4byte gBg0XPosition
lbl_08083b00: .4byte sNonGameplayRamPointer lbl_08083b00: .4byte sNonGameplayRamPointer
lbl_08083b04: lbl_08083b04:
cmp r2, #3 cmp r2, #3
@ -5422,10 +5422,10 @@ lbl_08083d68:
ldr r0, lbl_08083d88 @ =0x084ad56c ldr r0, lbl_08083d88 @ =0x084ad56c
ldr r1, lbl_08083d8c @ =0x06010000 ldr r1, lbl_08083d8c @ =0x06010000
bl LZ77UncompVRAM bl LZ77UncompVRAM
ldr r1, lbl_08083d90 @ =gBG0XPosition ldr r1, lbl_08083d90 @ =gBg0XPosition
movs r0, #0x10 movs r0, #0x10
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_08083d94 @ =gBG0YPosition ldr r0, lbl_08083d94 @ =gBg0YPosition
strh r5, [r0] strh r5, [r0]
ldr r1, lbl_08083d98 @ =gWrittenToBLDALPHA_L ldr r1, lbl_08083d98 @ =gWrittenToBLDALPHA_L
movs r0, #9 movs r0, #9
@ -5437,8 +5437,8 @@ lbl_08083d68:
.align 2, 0 .align 2, 0
lbl_08083d88: .4byte 0x084ad56c lbl_08083d88: .4byte 0x084ad56c
lbl_08083d8c: .4byte 0x06010000 lbl_08083d8c: .4byte 0x06010000
lbl_08083d90: .4byte gBG0XPosition lbl_08083d90: .4byte gBg0XPosition
lbl_08083d94: .4byte gBG0YPosition lbl_08083d94: .4byte gBg0YPosition
lbl_08083d98: .4byte gWrittenToBLDALPHA_L lbl_08083d98: .4byte gWrittenToBLDALPHA_L
lbl_08083d9c: .4byte gWrittenToBLDALPHA_H lbl_08083d9c: .4byte gWrittenToBLDALPHA_H
lbl_08083da0: lbl_08083da0:
@ -5554,7 +5554,7 @@ lbl_08083e74:
ldr r1, [r3] ldr r1, [r3]
movs r0, #0 movs r0, #0
strb r0, [r1, #5] strb r0, [r1, #5]
ldr r1, lbl_08083ea4 @ =gBG0XPosition ldr r1, lbl_08083ea4 @ =gBg0XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #1 subs r0, #1
strh r0, [r1] strh r0, [r1]
@ -5566,7 +5566,7 @@ lbl_08083e94:
bx r1 bx r1
.align 2, 0 .align 2, 0
lbl_08083ea0: .4byte sNonGameplayRamPointer lbl_08083ea0: .4byte sNonGameplayRamPointer
lbl_08083ea4: .4byte gBG0XPosition lbl_08083ea4: .4byte gBg0XPosition
thumb_func_start TourianEscapeSamusCrashing thumb_func_start TourianEscapeSamusCrashing
TourianEscapeSamusCrashing: @ 0x08083ea8 TourianEscapeSamusCrashing: @ 0x08083ea8
@ -5699,9 +5699,9 @@ lbl_08083f80:
adds r1, #0x79 adds r1, #0x79
movs r0, #2 movs r0, #2
strb r0, [r1] strb r0, [r1]
ldr r0, lbl_08083fd4 @ =gBG0XPosition ldr r0, lbl_08083fd4 @ =gBg0XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08083fd8 @ =gBG0YPosition ldr r0, lbl_08083fd8 @ =gBg0YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08083fdc @ =0x00000249 ldr r0, lbl_08083fdc @ =0x00000249
bl SoundPlay bl SoundPlay
@ -5712,8 +5712,8 @@ lbl_08083fc4: .4byte 0x0847a060
lbl_08083fc8: .4byte 0x05000200 lbl_08083fc8: .4byte 0x05000200
lbl_08083fcc: .4byte 0x80000100 lbl_08083fcc: .4byte 0x80000100
lbl_08083fd0: .4byte 0x0847aa96 lbl_08083fd0: .4byte 0x0847aa96
lbl_08083fd4: .4byte gBG0XPosition lbl_08083fd4: .4byte gBg0XPosition
lbl_08083fd8: .4byte gBG0YPosition lbl_08083fd8: .4byte gBg0YPosition
lbl_08083fdc: .4byte 0x00000249 lbl_08083fdc: .4byte 0x00000249
lbl_08083fe0: lbl_08083fe0:
ldr r1, lbl_08084000 @ =0x04000008 ldr r1, lbl_08084000 @ =0x04000008
@ -5968,11 +5968,11 @@ lbl_080841a4:
str r1, [r0, #4] str r1, [r0, #4]
str r2, [r0, #8] str r2, [r0, #8]
ldr r0, [r0, #8] ldr r0, [r0, #8]
ldr r0, lbl_08084210 @ =gBG0YPosition ldr r0, lbl_08084210 @ =gBg0YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08084214 @ =gBG1YPosition ldr r0, lbl_08084214 @ =gBg1YPosition
strh r5, [r0] strh r5, [r0]
ldr r1, lbl_08084218 @ =gBG2YPosition ldr r1, lbl_08084218 @ =gBg2YPosition
movs r0, #0x60 movs r0, #0x60
strh r0, [r1] strh r0, [r1]
b lbl_080842ce b lbl_080842ce
@ -5987,9 +5987,9 @@ lbl_08084200: .4byte 0x040000d4
lbl_08084204: .4byte 0x0847a260 lbl_08084204: .4byte 0x0847a260
lbl_08084208: .4byte 0x800000a0 lbl_08084208: .4byte 0x800000a0
lbl_0808420c: .4byte 0x05000200 lbl_0808420c: .4byte 0x05000200
lbl_08084210: .4byte gBG0YPosition lbl_08084210: .4byte gBg0YPosition
lbl_08084214: .4byte gBG1YPosition lbl_08084214: .4byte gBg1YPosition
lbl_08084218: .4byte gBG2YPosition lbl_08084218: .4byte gBg2YPosition
lbl_0808421c: lbl_0808421c:
ldr r1, lbl_0808424c @ =0x04000008 ldr r1, lbl_0808424c @ =0x04000008
ldr r3, lbl_08084250 @ =0x00001c0a ldr r3, lbl_08084250 @ =0x00001c0a
@ -6074,9 +6074,9 @@ lbl_080842b8:
adds r0, r2, #0 adds r0, r2, #0
adds r0, #0xc0 adds r0, #0xc0
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_080842f0 @ =gBG0YPosition ldr r0, lbl_080842f0 @ =gBg0YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_080842f4 @ =gBG1YPosition ldr r0, lbl_080842f4 @ =gBg1YPosition
strh r5, [r0] strh r5, [r0]
movs r5, #1 movs r5, #1
lbl_080842ce: lbl_080842ce:
@ -6098,8 +6098,8 @@ lbl_080842ce:
strh r0, [r3] strh r0, [r3]
b lbl_08084338 b lbl_08084338
.align 2, 0 .align 2, 0
lbl_080842f0: .4byte gBG0YPosition lbl_080842f0: .4byte gBg0YPosition
lbl_080842f4: .4byte gBG1YPosition lbl_080842f4: .4byte gBg1YPosition
lbl_080842f8: .4byte sNonGameplayRamPointer lbl_080842f8: .4byte sNonGameplayRamPointer
lbl_080842fc: .4byte gWrittenToBLDY_NonGameplay lbl_080842fc: .4byte gWrittenToBLDY_NonGameplay
lbl_08084300: lbl_08084300:
@ -6110,17 +6110,17 @@ lbl_08084300:
lbl_08084308: lbl_08084308:
cmp r1, #2 cmp r1, #2
bne lbl_08084338 bne lbl_08084338
ldr r0, lbl_0808437c @ =gBG0YPosition ldr r0, lbl_0808437c @ =gBg0YPosition
ldrh r1, [r0] ldrh r1, [r0]
adds r1, #1 adds r1, #1
strh r1, [r0] strh r1, [r0]
ldr r2, lbl_08084380 @ =gBG1YPosition ldr r2, lbl_08084380 @ =gBg1YPosition
ldrh r0, [r2] ldrh r0, [r2]
adds r0, #1 adds r0, #1
strh r0, [r2] strh r0, [r2]
lsls r1, r1, #0x10 lsls r1, r1, #0x10
lsrs r1, r1, #0x10 lsrs r1, r1, #0x10
ldr r2, lbl_08084384 @ =gBG2YPosition ldr r2, lbl_08084384 @ =gBg2YPosition
cmp r1, #0x5f cmp r1, #0x5f
bls lbl_0808432c bls lbl_0808432c
ldrh r0, [r2] ldrh r0, [r2]
@ -6169,9 +6169,9 @@ lbl_08084364:
pop {r1} pop {r1}
bx r1 bx r1
.align 2, 0 .align 2, 0
lbl_0808437c: .4byte gBG0YPosition lbl_0808437c: .4byte gBg0YPosition
lbl_08084380: .4byte gBG1YPosition lbl_08084380: .4byte gBg1YPosition
lbl_08084384: .4byte gBG2YPosition lbl_08084384: .4byte gBg2YPosition
lbl_08084388: .4byte sNonGameplayRamPointer lbl_08084388: .4byte sNonGameplayRamPointer
thumb_func_start TourianEscapeSamusLookingAtMotherShip thumb_func_start TourianEscapeSamusLookingAtMotherShip
@ -6271,10 +6271,10 @@ lbl_0808441c:
ldr r0, lbl_08084464 @ =0x800000a0 ldr r0, lbl_08084464 @ =0x800000a0
str r0, [r1, #8] str r0, [r1, #8]
ldr r0, [r1, #8] ldr r0, [r1, #8]
ldr r1, lbl_08084468 @ =gBG0XPosition ldr r1, lbl_08084468 @ =gBg0XPosition
movs r0, #0x10 movs r0, #0x10
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_0808446c @ =gBG1XPosition ldr r0, lbl_0808446c @ =gBg1XPosition
strh r7, [r0] strh r7, [r0]
b lbl_0808459a b lbl_0808459a
.align 2, 0 .align 2, 0
@ -6285,8 +6285,8 @@ lbl_08084458: .4byte 0x0600f000
lbl_0808445c: .4byte 0x040000d4 lbl_0808445c: .4byte 0x040000d4
lbl_08084460: .4byte 0x0847a3a0 lbl_08084460: .4byte 0x0847a3a0
lbl_08084464: .4byte 0x800000a0 lbl_08084464: .4byte 0x800000a0
lbl_08084468: .4byte gBG0XPosition lbl_08084468: .4byte gBg0XPosition
lbl_0808446c: .4byte gBG1XPosition lbl_0808446c: .4byte gBg1XPosition
lbl_08084470: lbl_08084470:
ldr r4, lbl_08084508 @ =0x06010000 ldr r4, lbl_08084508 @ =0x06010000
movs r3, #0x80 movs r3, #0x80
@ -6491,18 +6491,18 @@ lbl_0808460a:
ands r5, r1 ands r5, r1
cmp r5, #0 cmp r5, #0
bne lbl_08084634 bne lbl_08084634
ldr r1, lbl_08084690 @ =gBG0XPosition ldr r1, lbl_08084690 @ =gBg0XPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #1 subs r0, #1
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08084694 @ =gBG1XPosition ldr r1, lbl_08084694 @ =gBg1XPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #1 adds r0, #1
strh r0, [r1] strh r0, [r1]
lbl_08084634: lbl_08084634:
cmp r5, #8 cmp r5, #8
bne lbl_08084640 bne lbl_08084640
ldr r1, lbl_08084694 @ =gBG1XPosition ldr r1, lbl_08084694 @ =gBg1XPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #1 adds r0, #1
strh r0, [r1] strh r0, [r1]
@ -6546,8 +6546,8 @@ lbl_08084662:
lbl_08084684: .4byte gWrittenToBLDALPHA_L lbl_08084684: .4byte gWrittenToBLDALPHA_L
lbl_08084688: .4byte gWrittenToBLDALPHA_H lbl_08084688: .4byte gWrittenToBLDALPHA_H
lbl_0808468c: .4byte sNonGameplayRamPointer lbl_0808468c: .4byte sNonGameplayRamPointer
lbl_08084690: .4byte gBG0XPosition lbl_08084690: .4byte gBg0XPosition
lbl_08084694: .4byte gBG1XPosition lbl_08084694: .4byte gBg1XPosition
lbl_08084698: .4byte gWrittenToBLDY_NonGameplay lbl_08084698: .4byte gWrittenToBLDY_NonGameplay
lbl_0808469c: lbl_0808469c:
lsls r3, r5, #1 lsls r3, r5, #1
@ -6725,7 +6725,7 @@ lbl_080847dc:
adds r0, #1 adds r0, #1
strh r0, [r5] strh r0, [r5]
lbl_080847e6: lbl_080847e6:
bl ResetFreeOAM bl ResetFreeOam
b lbl_080847ee b lbl_080847ee
lbl_080847ec: lbl_080847ec:
movs r6, #1 movs r6, #1

View File

@ -845,7 +845,7 @@ lbl_08085284:
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
subs r1, #0x42 subs r1, #0x42
ldr r0, lbl_0808530c @ =gBG0YPosition ldr r0, lbl_0808530c @ =gBg0YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #4 lsrs r0, r0, #4
subs r3, #0xc1 subs r3, #0xc1
@ -855,13 +855,13 @@ lbl_08085284:
adds r1, #4 adds r1, #4
strh r0, [r1] strh r0, [r1]
adds r1, #4 adds r1, #4
ldr r0, lbl_08085310 @ =gBG2YPosition ldr r0, lbl_08085310 @ =gBg2YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #4 lsrs r0, r0, #4
ands r0, r2 ands r0, r2
strh r0, [r1] strh r0, [r1]
adds r1, #4 adds r1, #4
ldr r0, lbl_08085314 @ =gBG3YPosition ldr r0, lbl_08085314 @ =gBg3YPosition
ldrh r0, [r0] ldrh r0, [r0]
lsrs r0, r0, #4 lsrs r0, r0, #4
ands r0, r2 ands r0, r2
@ -879,9 +879,9 @@ lbl_080852fc: .4byte gWrittenToBLDALPHA_H
lbl_08085300: .4byte gWrittenToBLDALPHA_L lbl_08085300: .4byte gWrittenToBLDALPHA_L
lbl_08085304: .4byte 0x04000054 lbl_08085304: .4byte 0x04000054
lbl_08085308: .4byte gWrittenToBLDY_NonGameplay lbl_08085308: .4byte gWrittenToBLDY_NonGameplay
lbl_0808530c: .4byte gBG0YPosition lbl_0808530c: .4byte gBg0YPosition
lbl_08085310: .4byte gBG2YPosition lbl_08085310: .4byte gBg2YPosition
lbl_08085314: .4byte gBG3YPosition lbl_08085314: .4byte gBg3YPosition
thumb_func_start vblank_code_during_end_screen thumb_func_start vblank_code_during_end_screen
vblank_code_during_end_screen: @ 0x08085318 vblank_code_during_end_screen: @ 0x08085318
@ -921,20 +921,20 @@ vblank_code_during_end_screen: @ 0x08085318
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
ldr r3, lbl_080853a8 @ =0x04000014 ldr r3, lbl_080853a8 @ =0x04000014
ldr r0, lbl_080853ac @ =gBG1XPosition ldr r0, lbl_080853ac @ =gBg1XPosition
ldrh r2, [r0] ldrh r2, [r0]
ldr r1, lbl_080853b0 @ =0x000001ff ldr r1, lbl_080853b0 @ =0x000001ff
adds r0, r1, #0 adds r0, r1, #0
ands r0, r2 ands r0, r2
strh r0, [r3] strh r0, [r3]
adds r3, #4 adds r3, #4
ldr r0, lbl_080853b4 @ =gBG2XPosition ldr r0, lbl_080853b4 @ =gBg2XPosition
ldrh r2, [r0] ldrh r2, [r0]
adds r0, r1, #0 adds r0, r1, #0
ands r0, r2 ands r0, r2
strh r0, [r3] strh r0, [r3]
ldr r2, lbl_080853b8 @ =0x0400001c ldr r2, lbl_080853b8 @ =0x0400001c
ldr r0, lbl_080853bc @ =gBG3XPosition ldr r0, lbl_080853bc @ =gBg3XPosition
ldrh r0, [r0] ldrh r0, [r0]
ands r1, r0 ands r1, r0
strh r1, [r2] strh r1, [r2]
@ -950,11 +950,11 @@ lbl_0808539c: .4byte gWrittenToBLDALPHA_L
lbl_080853a0: .4byte 0x04000054 lbl_080853a0: .4byte 0x04000054
lbl_080853a4: .4byte gWrittenToBLDY_NonGameplay lbl_080853a4: .4byte gWrittenToBLDY_NonGameplay
lbl_080853a8: .4byte 0x04000014 lbl_080853a8: .4byte 0x04000014
lbl_080853ac: .4byte gBG1XPosition lbl_080853ac: .4byte gBg1XPosition
lbl_080853b0: .4byte 0x000001ff lbl_080853b0: .4byte 0x000001ff
lbl_080853b4: .4byte gBG2XPosition lbl_080853b4: .4byte gBg2XPosition
lbl_080853b8: .4byte 0x0400001c lbl_080853b8: .4byte 0x0400001c
lbl_080853bc: .4byte gBG3XPosition lbl_080853bc: .4byte gBg3XPosition
thumb_func_start vblank_code_during_unlocked_options thumb_func_start vblank_code_during_unlocked_options
vblank_code_during_unlocked_options: @ 0x080853c0 vblank_code_during_unlocked_options: @ 0x080853c0
@ -1120,25 +1120,25 @@ credits_init: @ 0x08085464
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_08085618 @ =gNextOamSlot ldr r0, lbl_08085618 @ =gNextOamSlot
strb r6, [r0] strb r6, [r0]
bl ResetFreeOAM bl ResetFreeOam
ldr r0, lbl_0808561c @ =gBG0XPosition ldr r0, lbl_0808561c @ =gBg0XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08085620 @ =gBG0YPosition ldr r0, lbl_08085620 @ =gBg0YPosition
movs r1, #0x80 movs r1, #0x80
lsls r1, r1, #5 lsls r1, r1, #5
adds r2, r1, #0 adds r2, r1, #0
strh r2, [r0] strh r2, [r0]
ldr r0, lbl_08085624 @ =gBG1XPosition ldr r0, lbl_08085624 @ =gBg1XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08085628 @ =gBG1YPosition ldr r0, lbl_08085628 @ =gBg1YPosition
strh r2, [r0] strh r2, [r0]
ldr r0, lbl_0808562c @ =gBG2XPosition ldr r0, lbl_0808562c @ =gBg2XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08085630 @ =gBG2YPosition ldr r0, lbl_08085630 @ =gBg2YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08085634 @ =gBG3XPosition ldr r0, lbl_08085634 @ =gBg3XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08085638 @ =gBG3YPosition ldr r0, lbl_08085638 @ =gBg3YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_0808563c @ =0x04000010 ldr r0, lbl_0808563c @ =0x04000010
strh r5, [r0] strh r5, [r0]
@ -1217,14 +1217,14 @@ lbl_0808560c: .4byte 0x00001f09
lbl_08085610: .4byte 0x00009c02 lbl_08085610: .4byte 0x00009c02
lbl_08085614: .4byte 0x00009a0b lbl_08085614: .4byte 0x00009a0b
lbl_08085618: .4byte gNextOamSlot lbl_08085618: .4byte gNextOamSlot
lbl_0808561c: .4byte gBG0XPosition lbl_0808561c: .4byte gBg0XPosition
lbl_08085620: .4byte gBG0YPosition lbl_08085620: .4byte gBg0YPosition
lbl_08085624: .4byte gBG1XPosition lbl_08085624: .4byte gBg1XPosition
lbl_08085628: .4byte gBG1YPosition lbl_08085628: .4byte gBg1YPosition
lbl_0808562c: .4byte gBG2XPosition lbl_0808562c: .4byte gBg2XPosition
lbl_08085630: .4byte gBG2YPosition lbl_08085630: .4byte gBg2YPosition
lbl_08085634: .4byte gBG3XPosition lbl_08085634: .4byte gBg3XPosition
lbl_08085638: .4byte gBG3YPosition lbl_08085638: .4byte gBg3YPosition
lbl_0808563c: .4byte 0x04000010 lbl_0808563c: .4byte 0x04000010
lbl_08085640: .4byte 0x04000014 lbl_08085640: .4byte 0x04000014
lbl_08085644: .4byte 0x04000016 lbl_08085644: .4byte 0x04000016
@ -1908,7 +1908,7 @@ lbl_08085b60:
ldrh r0, [r1, #0xe] ldrh r0, [r1, #0xe]
adds r0, #7 adds r0, #7
strh r0, [r1, #0xe] strh r0, [r1, #0xe]
ldr r1, lbl_08085b7c @ =gBG0YPosition ldr r1, lbl_08085b7c @ =gBg0YPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #7 adds r0, #7
strh r0, [r1] strh r0, [r1]
@ -1919,7 +1919,7 @@ lbl_08085b72:
bx r1 bx r1
.align 2, 0 .align 2, 0
lbl_08085b78: .4byte 0x000007ff lbl_08085b78: .4byte 0x000007ff
lbl_08085b7c: .4byte gBG0YPosition lbl_08085b7c: .4byte gBg0YPosition
thumb_func_start CreditsChozoWallMovement thumb_func_start CreditsChozoWallMovement
CreditsChozoWallMovement: @ 0x08085b80 CreditsChozoWallMovement: @ 0x08085b80
@ -1970,11 +1970,11 @@ lbl_08085bce:
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
cmp r0, #0 cmp r0, #0
beq lbl_08085bf6 beq lbl_08085bf6
ldr r0, lbl_08085c08 @ =gBG2YPosition ldr r0, lbl_08085c08 @ =gBg2YPosition
ldrh r1, [r0] ldrh r1, [r0]
adds r1, #8 adds r1, #8
strh r1, [r0] strh r1, [r0]
ldr r2, lbl_08085c0c @ =gBG3YPosition ldr r2, lbl_08085c0c @ =gBg3YPosition
ldrh r0, [r2] ldrh r0, [r2]
adds r0, #8 adds r0, #8
strh r0, [r2] strh r0, [r2]
@ -1993,8 +1993,8 @@ lbl_08085bf6:
.align 2, 0 .align 2, 0
lbl_08085c00: .4byte 0x04000014 lbl_08085c00: .4byte 0x04000014
lbl_08085c04: .4byte sNonGameplayRamPointer lbl_08085c04: .4byte sNonGameplayRamPointer
lbl_08085c08: .4byte gBG2YPosition lbl_08085c08: .4byte gBg2YPosition
lbl_08085c0c: .4byte gBG3YPosition lbl_08085c0c: .4byte gBg3YPosition
thumb_func_start CreditsChozoWallZoom thumb_func_start CreditsChozoWallZoom
CreditsChozoWallZoom: @ 0x08085c10 CreditsChozoWallZoom: @ 0x08085c10
@ -2060,7 +2060,7 @@ lbl_08085c66:
ldr r0, lbl_08085ca0 @ =0x800000f0 ldr r0, lbl_08085ca0 @ =0x800000f0
str r0, [r1, #8] str r0, [r1, #8]
ldr r0, [r1, #8] ldr r0, [r1, #8]
ldr r0, lbl_08085ca4 @ =gBG0YPosition ldr r0, lbl_08085ca4 @ =gBg0YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08085ca8 @ =gWrittenToBLDALPHA_L ldr r0, lbl_08085ca8 @ =gWrittenToBLDALPHA_L
strh r5, [r0] strh r5, [r0]
@ -2073,7 +2073,7 @@ lbl_08085c94: .4byte 0x085bed94
lbl_08085c98: .4byte 0x040000d4 lbl_08085c98: .4byte 0x040000d4
lbl_08085c9c: .4byte 0x0854a734 lbl_08085c9c: .4byte 0x0854a734
lbl_08085ca0: .4byte 0x800000f0 lbl_08085ca0: .4byte 0x800000f0
lbl_08085ca4: .4byte gBG0YPosition lbl_08085ca4: .4byte gBg0YPosition
lbl_08085ca8: .4byte gWrittenToBLDALPHA_L lbl_08085ca8: .4byte gWrittenToBLDALPHA_L
lbl_08085cac: .4byte gWrittenToBLDALPHA_H lbl_08085cac: .4byte gWrittenToBLDALPHA_H
lbl_08085cb0: lbl_08085cb0:
@ -2115,7 +2115,7 @@ lbl_08085cec:
ldrb r0, [r2, #1] ldrb r0, [r2, #1]
adds r0, #1 adds r0, #1
strb r0, [r2, #1] strb r0, [r2, #1]
ldr r0, lbl_08085d18 @ =gBG1YPosition ldr r0, lbl_08085d18 @ =gBg1YPosition
strh r5, [r0] strh r5, [r0]
ldr r1, lbl_08085d1c @ =gWrittenToBLDALPHA_L ldr r1, lbl_08085d1c @ =gWrittenToBLDALPHA_L
movs r0, #0x10 movs r0, #0x10
@ -2125,7 +2125,7 @@ lbl_08085cec:
b lbl_08085d80 b lbl_08085d80
.align 2, 0 .align 2, 0
lbl_08085d14: .4byte 0x000002c2 lbl_08085d14: .4byte 0x000002c2
lbl_08085d18: .4byte gBG1YPosition lbl_08085d18: .4byte gBg1YPosition
lbl_08085d1c: .4byte gWrittenToBLDALPHA_L lbl_08085d1c: .4byte gWrittenToBLDALPHA_L
lbl_08085d20: .4byte gWrittenToBLDALPHA_H lbl_08085d20: .4byte gWrittenToBLDALPHA_H
lbl_08085d24: lbl_08085d24:
@ -2345,7 +2345,7 @@ end_screen_init: @ 0x08085e08
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_08086008 @ =gNextOamSlot ldr r0, lbl_08086008 @ =gNextOamSlot
strb r5, [r0] strb r5, [r0]
bl ResetFreeOAM bl ResetFreeOam
ldr r0, lbl_0808600c @ =gOamData ldr r0, lbl_0808600c @ =gOamData
str r0, [r4] str r0, [r4]
movs r0, #0xe0 movs r0, #0xe0
@ -2354,24 +2354,24 @@ end_screen_init: @ 0x08085e08
ldr r0, lbl_08086010 @ =0x84000100 ldr r0, lbl_08086010 @ =0x84000100
str r0, [r4, #8] str r0, [r4, #8]
ldr r0, [r4, #8] ldr r0, [r4, #8]
ldr r0, lbl_08086014 @ =gBG0XPosition ldr r0, lbl_08086014 @ =gBg0XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08086018 @ =gBG0YPosition ldr r0, lbl_08086018 @ =gBg0YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_0808601c @ =gBG1XPosition ldr r0, lbl_0808601c @ =gBg1XPosition
movs r2, #0x80 movs r2, #0x80
lsls r2, r2, #1 lsls r2, r2, #1
adds r1, r2, #0 adds r1, r2, #0
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08086020 @ =gBG1YPosition ldr r0, lbl_08086020 @ =gBg1YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08086024 @ =gBG2XPosition ldr r0, lbl_08086024 @ =gBg2XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08086028 @ =gBG2YPosition ldr r0, lbl_08086028 @ =gBg2YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_0808602c @ =gBG3XPosition ldr r0, lbl_0808602c @ =gBg3XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08086030 @ =gBG3YPosition ldr r0, lbl_08086030 @ =gBg3YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08086034 @ =0x04000010 ldr r0, lbl_08086034 @ =0x04000010
strh r5, [r0] strh r5, [r0]
@ -2462,14 +2462,14 @@ lbl_08086004: .4byte 0x00001f03
lbl_08086008: .4byte gNextOamSlot lbl_08086008: .4byte gNextOamSlot
lbl_0808600c: .4byte gOamData lbl_0808600c: .4byte gOamData
lbl_08086010: .4byte 0x84000100 lbl_08086010: .4byte 0x84000100
lbl_08086014: .4byte gBG0XPosition lbl_08086014: .4byte gBg0XPosition
lbl_08086018: .4byte gBG0YPosition lbl_08086018: .4byte gBg0YPosition
lbl_0808601c: .4byte gBG1XPosition lbl_0808601c: .4byte gBg1XPosition
lbl_08086020: .4byte gBG1YPosition lbl_08086020: .4byte gBg1YPosition
lbl_08086024: .4byte gBG2XPosition lbl_08086024: .4byte gBg2XPosition
lbl_08086028: .4byte gBG2YPosition lbl_08086028: .4byte gBg2YPosition
lbl_0808602c: .4byte gBG3XPosition lbl_0808602c: .4byte gBg3XPosition
lbl_08086030: .4byte gBG3YPosition lbl_08086030: .4byte gBg3YPosition
lbl_08086034: .4byte 0x04000010 lbl_08086034: .4byte 0x04000010
lbl_08086038: .4byte gNonGameplayRAM lbl_08086038: .4byte gNonGameplayRAM
lbl_0808603c: .4byte 0x8500018a lbl_0808603c: .4byte 0x8500018a
@ -2525,7 +2525,7 @@ lbl_080860a8:
bhi lbl_080860ba bhi lbl_080860ba
b lbl_0808622a b lbl_0808622a
lbl_080860ba: lbl_080860ba:
ldr r2, lbl_080860e0 @ =gBG1XPosition ldr r2, lbl_080860e0 @ =gBg1XPosition
ldrh r0, [r2] ldrh r0, [r2]
adds r0, #8 adds r0, #8
strh r0, [r2] strh r0, [r2]
@ -2546,7 +2546,7 @@ lbl_080860cc:
strh r3, [r1, #4] strh r3, [r1, #4]
b lbl_08086200 b lbl_08086200
.align 2, 0 .align 2, 0
lbl_080860e0: .4byte gBG1XPosition lbl_080860e0: .4byte gBg1XPosition
lbl_080860e4: .4byte 0x01ff0000 lbl_080860e4: .4byte 0x01ff0000
lbl_080860e8: .4byte 0x000002c2 lbl_080860e8: .4byte 0x000002c2
lbl_080860ec: .4byte 0x00000c42 lbl_080860ec: .4byte 0x00000c42
@ -2581,7 +2581,7 @@ lbl_08086114:
bhi lbl_08086126 bhi lbl_08086126
b lbl_0808622a b lbl_0808622a
lbl_08086126: lbl_08086126:
ldr r2, lbl_08086154 @ =gBG2XPosition ldr r2, lbl_08086154 @ =gBg2XPosition
ldrh r0, [r2] ldrh r0, [r2]
adds r0, #8 adds r0, #8
strh r0, [r2] strh r0, [r2]
@ -2604,7 +2604,7 @@ lbl_08086126:
strb r0, [r3, #1] strb r0, [r3, #1]
b lbl_0808622a b lbl_0808622a
.align 2, 0 .align 2, 0
lbl_08086154: .4byte gBG2XPosition lbl_08086154: .4byte gBg2XPosition
lbl_08086158: .4byte 0x01ff0000 lbl_08086158: .4byte 0x01ff0000
lbl_0808615c: .4byte 0x000002c2 lbl_0808615c: .4byte 0x000002c2
lbl_08086160: .4byte 0x00000a44 lbl_08086160: .4byte 0x00000a44
@ -2635,7 +2635,7 @@ lbl_08086186:
lsrs r0, r0, #0x10 lsrs r0, r0, #0x10
cmp r0, #0x17 cmp r0, #0x17
bls lbl_0808622a bls lbl_0808622a
ldr r1, lbl_080861a4 @ =gBG1XPosition ldr r1, lbl_080861a4 @ =gBg1XPosition
ldrh r0, [r1] ldrh r0, [r1]
cmp r0, #9 cmp r0, #9
bls lbl_080861a8 bls lbl_080861a8
@ -2643,7 +2643,7 @@ lbl_08086186:
strh r0, [r1] strh r0, [r1]
b lbl_0808622a b lbl_0808622a
.align 2, 0 .align 2, 0
lbl_080861a4: .4byte gBG1XPosition lbl_080861a4: .4byte gBg1XPosition
lbl_080861a8: lbl_080861a8:
movs r0, #0 movs r0, #0
strh r0, [r1] strh r0, [r1]
@ -2969,7 +2969,7 @@ lbl_0808642c:
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_08086498 @ =gWrittenToBLDALPHA_H ldr r0, lbl_08086498 @ =gWrittenToBLDALPHA_H
strh r2, [r0] strh r2, [r0]
ldr r1, lbl_0808649c @ =gBG1XPosition ldr r1, lbl_0808649c @ =gBg1XPosition
movs r2, #0x80 movs r2, #0x80
lsls r2, r2, #1 lsls r2, r2, #1
adds r0, r2, #0 adds r0, r2, #0
@ -2988,7 +2988,7 @@ lbl_0808648c: .4byte sNonGameplayRamPointer
lbl_08086490: .4byte 0x000002c2 lbl_08086490: .4byte 0x000002c2
lbl_08086494: .4byte gWrittenToBLDALPHA_L lbl_08086494: .4byte gWrittenToBLDALPHA_L
lbl_08086498: .4byte gWrittenToBLDALPHA_H lbl_08086498: .4byte gWrittenToBLDALPHA_H
lbl_0808649c: .4byte gBG1XPosition lbl_0808649c: .4byte gBg1XPosition
lbl_080864a0: .4byte 0x00000125 lbl_080864a0: .4byte 0x00000125
lbl_080864a4: lbl_080864a4:
ldr r1, lbl_080864ec @ =0x0400000a ldr r1, lbl_080864ec @ =0x0400000a
@ -3016,7 +3016,7 @@ lbl_080864a4:
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_08086514 @ =gWrittenToBLDALPHA_H ldr r0, lbl_08086514 @ =gWrittenToBLDALPHA_H
strh r2, [r0] strh r2, [r0]
ldr r1, lbl_08086518 @ =gBG2XPosition ldr r1, lbl_08086518 @ =gBg2XPosition
movs r2, #0x80 movs r2, #0x80
lsls r2, r2, #1 lsls r2, r2, #1
adds r0, r2, #0 adds r0, r2, #0
@ -3036,7 +3036,7 @@ lbl_08086508: .4byte sNonGameplayRamPointer
lbl_0808650c: .4byte 0x000002c2 lbl_0808650c: .4byte 0x000002c2
lbl_08086510: .4byte gWrittenToBLDALPHA_L lbl_08086510: .4byte gWrittenToBLDALPHA_L
lbl_08086514: .4byte gWrittenToBLDALPHA_H lbl_08086514: .4byte gWrittenToBLDALPHA_H
lbl_08086518: .4byte gBG2XPosition lbl_08086518: .4byte gBg2XPosition
lbl_0808651c: .4byte 0x00000125 lbl_0808651c: .4byte 0x00000125
lbl_08086520: lbl_08086520:
ldr r1, lbl_08086568 @ =0x0400000a ldr r1, lbl_08086568 @ =0x0400000a
@ -3065,7 +3065,7 @@ lbl_08086520:
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_0808658c @ =gWrittenToBLDALPHA_H ldr r0, lbl_0808658c @ =gWrittenToBLDALPHA_H
strh r2, [r0] strh r2, [r0]
ldr r1, lbl_08086590 @ =gBG1XPosition ldr r1, lbl_08086590 @ =gBg1XPosition
movs r2, #0x80 movs r2, #0x80
lsls r2, r2, #1 lsls r2, r2, #1
adds r0, r2, #0 adds r0, r2, #0
@ -3084,7 +3084,7 @@ lbl_08086580: .4byte sNonGameplayRamPointer
lbl_08086584: .4byte 0x000002c2 lbl_08086584: .4byte 0x000002c2
lbl_08086588: .4byte gWrittenToBLDALPHA_L lbl_08086588: .4byte gWrittenToBLDALPHA_L
lbl_0808658c: .4byte gWrittenToBLDALPHA_H lbl_0808658c: .4byte gWrittenToBLDALPHA_H
lbl_08086590: .4byte gBG1XPosition lbl_08086590: .4byte gBg1XPosition
lbl_08086594: .4byte 0x00000125 lbl_08086594: .4byte 0x00000125
lbl_08086598: lbl_08086598:
ldr r1, lbl_080865c0 @ =0x0400000a ldr r1, lbl_080865c0 @ =0x0400000a
@ -3155,7 +3155,7 @@ lbl_08086614:
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_0808665c @ =gWrittenToBLDALPHA_H ldr r0, lbl_0808665c @ =gWrittenToBLDALPHA_H
strh r2, [r0] strh r2, [r0]
ldr r0, lbl_08086660 @ =gBG2XPosition ldr r0, lbl_08086660 @ =gBg2XPosition
strh r2, [r0] strh r2, [r0]
ldr r2, lbl_08086664 @ =0x00000125 ldr r2, lbl_08086664 @ =0x00000125
adds r1, r3, r2 adds r1, r3, r2
@ -3169,7 +3169,7 @@ lbl_08086650: .4byte sNonGameplayRamPointer
lbl_08086654: .4byte 0x000002c2 lbl_08086654: .4byte 0x000002c2
lbl_08086658: .4byte gWrittenToBLDALPHA_L lbl_08086658: .4byte gWrittenToBLDALPHA_L
lbl_0808665c: .4byte gWrittenToBLDALPHA_H lbl_0808665c: .4byte gWrittenToBLDALPHA_H
lbl_08086660: .4byte gBG2XPosition lbl_08086660: .4byte gBg2XPosition
lbl_08086664: .4byte 0x00000125 lbl_08086664: .4byte 0x00000125
lbl_08086668: lbl_08086668:
ldr r4, lbl_0808669c @ =sNonGameplayRamPointer ldr r4, lbl_0808669c @ =sNonGameplayRamPointer
@ -3313,7 +3313,7 @@ lbl_08086782:
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
bne lbl_08086798 bne lbl_08086798
ldr r1, lbl_080867b0 @ =gBG3XPosition ldr r1, lbl_080867b0 @ =gBg3XPosition
ldrh r0, [r1] ldrh r0, [r1]
adds r0, #1 adds r0, #1
strh r0, [r1] strh r0, [r1]
@ -3327,7 +3327,7 @@ lbl_080867a0: .4byte sNonGameplayRamPointer
lbl_080867a4: .4byte 0x000002c2 lbl_080867a4: .4byte 0x000002c2
lbl_080867a8: .4byte gWrittenToBLDALPHA_L lbl_080867a8: .4byte gWrittenToBLDALPHA_L
lbl_080867ac: .4byte gWrittenToBLDALPHA_H lbl_080867ac: .4byte gWrittenToBLDALPHA_H
lbl_080867b0: .4byte gBG3XPosition lbl_080867b0: .4byte gBg3XPosition
thumb_func_start ending_image_init thumb_func_start ending_image_init
ending_image_init: @ 0x080867b4 ending_image_init: @ 0x080867b4
@ -3517,26 +3517,26 @@ lbl_08086940:
ldr r1, lbl_08086a14 @ =gNextOamSlot ldr r1, lbl_08086a14 @ =gNextOamSlot
movs r0, #0 movs r0, #0
strb r0, [r1] strb r0, [r1]
bl ResetFreeOAM bl ResetFreeOam
ldr r0, lbl_08086a18 @ =gBG0XPosition ldr r0, lbl_08086a18 @ =gBg0XPosition
movs r1, #0 movs r1, #0
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08086a1c @ =gBG0YPosition ldr r0, lbl_08086a1c @ =gBg0YPosition
movs r3, #0x80 movs r3, #0x80
lsls r3, r3, #5 lsls r3, r3, #5
adds r2, r3, #0 adds r2, r3, #0
strh r2, [r0] strh r2, [r0]
ldr r0, lbl_08086a20 @ =gBG1XPosition ldr r0, lbl_08086a20 @ =gBg1XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08086a24 @ =gBG1YPosition ldr r0, lbl_08086a24 @ =gBg1YPosition
strh r2, [r0] strh r2, [r0]
ldr r0, lbl_08086a28 @ =gBG2XPosition ldr r0, lbl_08086a28 @ =gBg2XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08086a2c @ =gBG2YPosition ldr r0, lbl_08086a2c @ =gBg2YPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08086a30 @ =gBG3XPosition ldr r0, lbl_08086a30 @ =gBg3XPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08086a34 @ =gBG3YPosition ldr r0, lbl_08086a34 @ =gBg3YPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08086a38 @ =0x04000010 ldr r0, lbl_08086a38 @ =0x04000010
strh r1, [r0] strh r1, [r0]
@ -3593,14 +3593,14 @@ lbl_08086a08: .4byte 0x800000e0
lbl_08086a0c: .4byte 0x04000008 lbl_08086a0c: .4byte 0x04000008
lbl_08086a10: .4byte 0x00009e09 lbl_08086a10: .4byte 0x00009e09
lbl_08086a14: .4byte gNextOamSlot lbl_08086a14: .4byte gNextOamSlot
lbl_08086a18: .4byte gBG0XPosition lbl_08086a18: .4byte gBg0XPosition
lbl_08086a1c: .4byte gBG0YPosition lbl_08086a1c: .4byte gBg0YPosition
lbl_08086a20: .4byte gBG1XPosition lbl_08086a20: .4byte gBg1XPosition
lbl_08086a24: .4byte gBG1YPosition lbl_08086a24: .4byte gBg1YPosition
lbl_08086a28: .4byte gBG2XPosition lbl_08086a28: .4byte gBg2XPosition
lbl_08086a2c: .4byte gBG2YPosition lbl_08086a2c: .4byte gBg2YPosition
lbl_08086a30: .4byte gBG3XPosition lbl_08086a30: .4byte gBg3XPosition
lbl_08086a34: .4byte gBG3YPosition lbl_08086a34: .4byte gBg3YPosition
lbl_08086a38: .4byte 0x04000010 lbl_08086a38: .4byte 0x04000010
lbl_08086a3c: .4byte sNonGameplayRamPointer lbl_08086a3c: .4byte sNonGameplayRamPointer
lbl_08086a40: .4byte 0x000002c2 lbl_08086a40: .4byte 0x000002c2
@ -4076,25 +4076,25 @@ lbl_08086dd6:
adds r3, r0, #0 adds r3, r0, #0
cmp r1, #0 cmp r1, #0
beq lbl_08086e10 beq lbl_08086e10
ldr r1, lbl_08086dfc @ =gBG0YPosition ldr r1, lbl_08086dfc @ =gBg0YPosition
ldrh r0, [r1] ldrh r0, [r1]
cmp r0, #6 cmp r0, #6
bls lbl_08086e04 bls lbl_08086e04
subs r0, #6 subs r0, #6
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08086e00 @ =gBG1YPosition ldr r1, lbl_08086e00 @ =gBg1YPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, #6 subs r0, #6
strh r0, [r1] strh r0, [r1]
b lbl_08086e10 b lbl_08086e10
.align 2, 0 .align 2, 0
lbl_08086df8: .4byte sNonGameplayRamPointer lbl_08086df8: .4byte sNonGameplayRamPointer
lbl_08086dfc: .4byte gBG0YPosition lbl_08086dfc: .4byte gBg0YPosition
lbl_08086e00: .4byte gBG1YPosition lbl_08086e00: .4byte gBg1YPosition
lbl_08086e04: lbl_08086e04:
movs r0, #0 movs r0, #0
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_08086e68 @ =gBG1YPosition ldr r1, lbl_08086e68 @ =gBg1YPosition
strh r0, [r1] strh r0, [r1]
movs r0, #0 movs r0, #0
strh r0, [r2, #8] strh r0, [r2, #8]
@ -4145,7 +4145,7 @@ lbl_08086e5e:
pop {r1} pop {r1}
bx r1 bx r1
.align 2, 0 .align 2, 0
lbl_08086e68: .4byte gBG1YPosition lbl_08086e68: .4byte gBg1YPosition
lbl_08086e6c: .4byte 0x00000564 lbl_08086e6c: .4byte 0x00000564
lbl_08086e70: .4byte 0x00000329 lbl_08086e70: .4byte 0x00000329
lbl_08086e74: .4byte gButtonInput lbl_08086e74: .4byte gButtonInput
@ -4234,7 +4234,7 @@ unlocked_options_init: @ 0x08086e78
ldr r0, lbl_08086fb4 @ =gNextOamSlot ldr r0, lbl_08086fb4 @ =gNextOamSlot
mov r1, r8 mov r1, r8
strb r1, [r0] strb r1, [r0]
bl ResetFreeOAM bl ResetFreeOam
ldr r0, lbl_08086fb8 @ =0x04000010 ldr r0, lbl_08086fb8 @ =0x04000010
strh r6, [r0] strh r6, [r0]
adds r0, #2 adds r0, #2
@ -4730,7 +4730,7 @@ lbl_08087344:
strb r1, [r0] strb r1, [r0]
adds r5, #1 adds r5, #1
lbl_0808734a: lbl_0808734a:
bl ResetFreeOAM bl ResetFreeOam
b lbl_080873d0 b lbl_080873d0
.align 2, 0 .align 2, 0
lbl_08087350: .4byte gDisableSoftreset lbl_08087350: .4byte gDisableSoftreset
@ -4799,7 +4799,7 @@ lbl_0808738c:
adds r0, #1 adds r0, #1
strh r0, [r1] strh r0, [r1]
lbl_080873cc: lbl_080873cc:
bl ResetFreeOAM bl ResetFreeOam
lbl_080873d0: lbl_080873d0:
adds r0, r5, #0 adds r0, r5, #0
pop {r4, r5} pop {r4, r5}
@ -4978,25 +4978,25 @@ lbl_080874d0:
strh r0, [r1] strh r0, [r1]
ldr r0, lbl_080875f0 @ =gNextOamSlot ldr r0, lbl_080875f0 @ =gNextOamSlot
strb r5, [r0] strb r5, [r0]
bl ResetFreeOAM bl ResetFreeOam
ldr r0, lbl_080875f4 @ =gBG0XPosition ldr r0, lbl_080875f4 @ =gBg0XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_080875f8 @ =gBG0YPosition ldr r0, lbl_080875f8 @ =gBg0YPosition
movs r2, #0x80 movs r2, #0x80
lsls r2, r2, #5 lsls r2, r2, #5
adds r1, r2, #0 adds r1, r2, #0
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_080875fc @ =gBG1XPosition ldr r0, lbl_080875fc @ =gBg1XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08087600 @ =gBG1YPosition ldr r0, lbl_08087600 @ =gBg1YPosition
strh r1, [r0] strh r1, [r0]
ldr r0, lbl_08087604 @ =gBG2XPosition ldr r0, lbl_08087604 @ =gBg2XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08087608 @ =gBG2YPosition ldr r0, lbl_08087608 @ =gBg2YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_0808760c @ =gBG3XPosition ldr r0, lbl_0808760c @ =gBg3XPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08087610 @ =gBG3YPosition ldr r0, lbl_08087610 @ =gBg3YPosition
strh r5, [r0] strh r5, [r0]
ldr r0, lbl_08087614 @ =0x04000010 ldr r0, lbl_08087614 @ =0x04000010
strh r5, [r0] strh r5, [r0]
@ -5048,14 +5048,14 @@ lbl_080875e4: .4byte 0x0854c0ec
lbl_080875e8: .4byte 0x80000100 lbl_080875e8: .4byte 0x80000100
lbl_080875ec: .4byte 0x00009e09 lbl_080875ec: .4byte 0x00009e09
lbl_080875f0: .4byte gNextOamSlot lbl_080875f0: .4byte gNextOamSlot
lbl_080875f4: .4byte gBG0XPosition lbl_080875f4: .4byte gBg0XPosition
lbl_080875f8: .4byte gBG0YPosition lbl_080875f8: .4byte gBg0YPosition
lbl_080875fc: .4byte gBG1XPosition lbl_080875fc: .4byte gBg1XPosition
lbl_08087600: .4byte gBG1YPosition lbl_08087600: .4byte gBg1YPosition
lbl_08087604: .4byte gBG2XPosition lbl_08087604: .4byte gBg2XPosition
lbl_08087608: .4byte gBG2YPosition lbl_08087608: .4byte gBg2YPosition
lbl_0808760c: .4byte gBG3XPosition lbl_0808760c: .4byte gBg3XPosition
lbl_08087610: .4byte gBG3YPosition lbl_08087610: .4byte gBg3YPosition
lbl_08087614: .4byte 0x04000010 lbl_08087614: .4byte 0x04000010
lbl_08087618: .4byte 0x000002c2 lbl_08087618: .4byte 0x000002c2
@ -5178,13 +5178,13 @@ lbl_080876da:
lbl_080876f8: lbl_080876f8:
cmp r4, #0 cmp r4, #0
bne lbl_08087744 bne lbl_08087744
ldr r1, lbl_08087728 @ =gBG0YPosition ldr r1, lbl_08087728 @ =gBg0YPosition
ldrh r0, [r1] ldrh r0, [r1]
cmp r0, r3 cmp r0, r3
ble lbl_08087730 ble lbl_08087730
subs r0, r0, r3 subs r0, r0, r3
strh r0, [r1] strh r0, [r1]
ldr r1, lbl_0808772c @ =gBG1YPosition ldr r1, lbl_0808772c @ =gBg1YPosition
ldrh r0, [r1] ldrh r0, [r1]
subs r0, r0, r3 subs r0, r0, r3
strh r0, [r1] strh r0, [r1]
@ -5195,24 +5195,24 @@ lbl_08087718: .4byte 0x000002c2
lbl_0808771c: .4byte gWrittenToBLDY_NonGameplay lbl_0808771c: .4byte gWrittenToBLDY_NonGameplay
lbl_08087720: .4byte gGameModeSub1 lbl_08087720: .4byte gGameModeSub1
lbl_08087724: .4byte gButtonInput lbl_08087724: .4byte gButtonInput
lbl_08087728: .4byte gBG0YPosition lbl_08087728: .4byte gBg0YPosition
lbl_0808772c: .4byte gBG1YPosition lbl_0808772c: .4byte gBg1YPosition
lbl_08087730: lbl_08087730:
strh r4, [r1] strh r4, [r1]
ldr r0, lbl_08087740 @ =gBG1YPosition ldr r0, lbl_08087740 @ =gBg1YPosition
strh r4, [r0] strh r4, [r0]
ldr r1, [r7] ldr r1, [r7]
movs r0, #1 movs r0, #1
strh r0, [r1, #8] strh r0, [r1, #8]
b lbl_08087764 b lbl_08087764
.align 2, 0 .align 2, 0
lbl_08087740: .4byte gBG1YPosition lbl_08087740: .4byte gBg1YPosition
lbl_08087744: lbl_08087744:
ldr r4, lbl_08087770 @ =gBG0YPosition ldr r4, lbl_08087770 @ =gBg0YPosition
ldrh r1, [r4] ldrh r1, [r4]
adds r1, r1, r3 adds r1, r1, r3
strh r1, [r4] strh r1, [r4]
ldr r2, lbl_08087774 @ =gBG1YPosition ldr r2, lbl_08087774 @ =gBg1YPosition
ldrh r0, [r2] ldrh r0, [r2]
adds r0, r0, r3 adds r0, r0, r3
strh r0, [r2] strh r0, [r2]
@ -5232,8 +5232,8 @@ lbl_08087764:
pop {r1} pop {r1}
bx r1 bx r1
.align 2, 0 .align 2, 0
lbl_08087770: .4byte gBG0YPosition lbl_08087770: .4byte gBg0YPosition
lbl_08087774: .4byte gBG1YPosition lbl_08087774: .4byte gBg1YPosition
thumb_func_start GallerySubroutine thumb_func_start GallerySubroutine
GallerySubroutine: @ 0x08087778 GallerySubroutine: @ 0x08087778

View File

@ -277,7 +277,7 @@ lbl_080890e4:
movs r0, #2 movs r0, #2
strb r0, [r1, #8] strb r0, [r1, #8]
lbl_080890ea: lbl_080890ea:
bl init_sound bl InitializeAudio
bl sub_08078228 bl sub_08078228
ldr r4, lbl_0808910c @ =gIoTransferInfo ldr r4, lbl_0808910c @ =gIoTransferInfo
ldrh r0, [r4, #0x12] ldrh r0, [r4, #0x12]

View File

@ -3,8 +3,8 @@
.syntax unified .syntax unified
arm_func_start intr_main arm_func_start IntrMain
intr_main: @ 0x08000104 IntrMain: @ 0x08000104
mov r3, REG_BASE mov r3, REG_BASE
add r3, r3, REG_IE_OFFSET add r3, r3, REG_IE_OFFSET
ldr r2, [r3] ldr r2, [r3]

View File

@ -10,8 +10,8 @@ extern const u16 sIntroExterminateAllTextOAM[163];
extern const u16 sIntroDefeatTheTextOAM[157]; extern const u16 sIntroDefeatTheTextOAM[157];
extern const u16 sIntroTextMarkerOAM[10]; extern const u16 sIntroTextMarkerOAM[10];
extern const u16 sIntroShipFlyingTowardsCameraOAM_2[28]; extern const u16 sIntroShipFlyingTowardsCameraOam_2[28];
extern const u16 sIntroShipFlyingTowardsCameraOAM_1[19]; extern const u16 sIntroShipFlyingTowardsCameraOam_1[19];
extern const u16 sIntroViewOfZebesShipOAM[13]; extern const u16 sIntroViewOfZebesShipOAM[13];
extern const u16 sIntroViewOfZebesHeatOAM_2[37]; extern const u16 sIntroViewOfZebesHeatOAM_2[37];

View File

@ -153,77 +153,77 @@ extern const u16 sRidleyOAM_TurningAround_Frame0[49];
extern const u16 sRidleyOAM_TurningAround_Frame1[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]; 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 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]; 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 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]; 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 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 #endif

View File

@ -14,19 +14,19 @@ extern const u32 sRuinsTestGfx_SamusReflectionFullSuitTop[96];
extern const u32 sRuinsTestGfx_SamusReflectionFullSuitBottom[64]; extern const u32 sRuinsTestGfx_SamusReflectionFullSuitBottom[64];
extern const u32 sRuinsTestGfx_SamusReflectionSuitlessTop[96]; extern const u32 sRuinsTestGfx_SamusReflectionSuitlessTop[96];
extern const u32 sRuinsTestGfx_SamusReflectionSuitlessBottom[64]; extern const u32 sRuinsTestGfx_SamusReflectionSuitlessBottom[64];
extern const u16 sRuinsTestPAL[128]; extern const u16 sRuinsTestPal[128];
extern const u16 sRuinsTestPAL_SymbolShot_Frame1[8]; extern const u16 sRuinsTestPal_SymbolShot_Frame1[8];
extern const u16 sRuinsTestPAL_SymbolShot_Frame2[8]; extern const u16 sRuinsTestPal_SymbolShot_Frame2[8];
extern const u16 sRuinsTestPAL_SymbolShot_Frame3[8]; extern const u16 sRuinsTestPal_SymbolShot_Frame3[8];
extern const u16 sRuinsTestPAL_SymbolShot_Frame4[8]; extern const u16 sRuinsTestPal_SymbolShot_Frame4[8];
extern const u16 sRuinsTestPAL_SymbolShot_Frame5[8]; extern const u16 sRuinsTestPal_SymbolShot_Frame5[8];
extern const u16 sRuinsTestPAL_SymbolShot_Frame6[8]; extern const u16 sRuinsTestPal_SymbolShot_Frame6[8];
extern const u16 sRuinsTestPAL_SamusReflection[15 * 16]; extern const u16 sRuinsTestPal_SamusReflection[15 * 16];
extern const u16 sRuinsTestPAL_SamusReflectionFullSuit[15 * 16]; extern const u16 sRuinsTestPal_SamusReflectionFullSuit[15 * 16];
extern const u16 sRuinsTestSamusReflectionOAM_Frame0[10]; 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]; 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 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_Frame0[16];
extern const u16 sRuinsTestReflectionCoverOAM_Frame1[4]; 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 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 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 #endif

View File

@ -26,111 +26,111 @@ extern const u16 sRinkaMotherBrainOAM_Spawning_Frame4[19];
extern const u16 sRinkaMotherBrainOAM_Spawning_Frame5[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]; 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 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]; extern const struct FrameData sMotherBrainBlockOAM[5];

View File

@ -3,8 +3,6 @@
#include "types.h" #include "types.h"
void init_sound(void);
void unk_33dc(void); void unk_33dc(void);
void QueueSound(u16 id, u32 unk); /* TODO: unk type */ void QueueSound(u16 id, u32 unk); /* TODO: unk type */
void StopOrFadeSound(u16 id, u32 unk); /* TODO: unk type */ void StopOrFadeSound(u16 id, u32 unk); /* TODO: unk type */

View File

@ -42,9 +42,6 @@
#define REG_BLDALPHA (REG_BASE + 0x052) #define REG_BLDALPHA (REG_BASE + 0x052)
#define REG_BLDY (REG_BASE + 0x054) #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_1 1
#define DCNT_MODE_2 2 #define DCNT_MODE_2 2
#define DCNT_MODE_3 3 #define DCNT_MODE_3 3
@ -73,6 +70,25 @@
#define DSTAT_IF_HBLANK (1 << 4) #define DSTAT_IF_HBLANK (1 << 4)
#define DSTAT_IF_VCOUNT (1 << 5) #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_BG0_FIRST_TARGET_PIXEL 0x1
#define BLDCNT_BG1_FIRST_TARGET_PIXEL 0x2 #define BLDCNT_BG1_FIRST_TARGET_PIXEL 0x2
#define BLDCNT_BG2_FIRST_TARGET_PIXEL 0x4 #define BLDCNT_BG2_FIRST_TARGET_PIXEL 0x4
@ -88,6 +104,9 @@
#define BLDCNT_OBJ_SECOND_TARGET_PIXEL 0x1000 #define BLDCNT_OBJ_SECOND_TARGET_PIXEL 0x1000
#define BLDCNT_BACKDROP_SECOND_TARGET_PIXEL 0x2000 #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_BG0 0x1
#define WIN0_BG1 0x2 #define WIN0_BG1 0x2
#define WIN0_BG2 0x4 #define WIN0_BG2 0x4

View File

@ -20,6 +20,8 @@
#define KEY_L (1 << 9) #define KEY_L (1 << 9)
#define KEY_MASK 0x3ff #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_ENABLE (1 << 14)
#define KEY_CONTROL_ANY_INPUT (0 << 15) #define KEY_CONTROL_ANY_INPUT (0 << 15)
#define KEY_CONTROL_ALL_INPUTS (1 << 15) #define KEY_CONTROL_ALL_INPUTS (1 << 15)

View File

@ -34,8 +34,7 @@ extern u16 gInterruptCode[0x100];
extern void *sp_sys; extern void *sp_sys;
extern void *sp_irq; extern void *sp_irq;
extern Func_T intr_vector[13]; extern Func_T intr_vector[13];
extern u16 (*intr_code_ptr)[0x100]; extern u16 (*gIntrCodePointer)[0x100];
extern u16 (*intr_code_ptr)[0x100];
extern u16 gInterruptCheckFlag; extern u16 gInterruptCheckFlag;

View File

@ -3,6 +3,6 @@
void ClearGfxRam(void); void ClearGfxRam(void);
void LoadInterruptCode(void); void LoadInterruptCode(void);
void ResetFreeOAM(void); void ResetFreeOam(void);
#endif /* INIT_HELPERS_H */ #endif /* INIT_HELPERS_H */

View File

@ -1,6 +1,6 @@
#ifndef INTERRUPTS_H #ifndef INTERRUPTS_H
#define INTERRUPTS_H #define INTERRUPTS_H
void intr_main(void); void IntrMain(void);
#endif /* INTERRUPTS_H */ #endif /* INTERRUPTS_H */

View File

@ -10,7 +10,21 @@
#define LOW_BYTE(value) ((value) & UCHAR_MAX) #define LOW_BYTE(value) ((value) & UCHAR_MAX)
#define HIGH_BYTE(value) (((value) & UCHAR_MAX << 8) >> 8) #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 check_samus_turning() ((pData->direction ^ (KEY_RIGHT | KEY_LEFT)) & gButtonInput)
#define ARRAY_SIZE(a) ((int)(sizeof((a)) / sizeof((a)[0]))) #define ARRAY_SIZE(a) ((int)(sizeof((a)) / sizeof((a)[0])))
@ -47,6 +61,30 @@
#define sin(a) (sSineTable[(a)]) #define sin(a) (sSineTable[(a)])
#define cos(a) (sSineTable[(a) + PI / 2]) #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) * @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)) #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 value Value
* @param div Divisor * @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_PSPRITE_HEALTH(id) sPrimarySpriteStats[(id)][0]
#define GET_SSPRITE_HEALTH(id) sSecondarySpriteStats[(id)][0] #define GET_SSPRITE_HEALTH(id) sSecondarySpriteStats[(id)][0]
#define SUB_PIXEL_TO_PIXEL(pixel) ((pixel) / SUB_PIXEL_RATIO) #define SUB_PIXEL_TO_PIXEL(pixel) ((pixel) / SUB_PIXEL_RATIO)
#define PIXEL_TO_SUBPIXEL(pixel) ((pixel) * SUB_PIXEL_RATIO) #define PIXEL_TO_SUBPIXEL(pixel) ((pixel) * SUB_PIXEL_RATIO)

View File

@ -71,6 +71,10 @@ union OamData {
}; };
extern u8 gNextOamSlot; 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 */ #endif /* OAM_H */

View File

@ -5,7 +5,7 @@
// Item banner // 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_POP_UP 0x9
#define ITEM_BANNER_POSE_STATIC 0x23 #define ITEM_BANNER_POSE_STATIC 0x23
#define ITEM_BANNER_POSE_REMOVAL_INIT 0x24 #define ITEM_BANNER_POSE_REMOVAL_INIT 0x24

View File

@ -3,7 +3,7 @@
#include "types.h" #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_CHECK_PLAY_CUTSCENE 0x1
#define RIDLEY_POSE_SPAWNING 0x2 #define RIDLEY_POSE_SPAWNING 0x2

View File

@ -94,6 +94,10 @@
#define RUINS_TEST_LIGHTNING_POSE_ON_GROUND_HORIZONTAL 0x25 #define RUINS_TEST_LIGHTNING_POSE_ON_GROUND_HORIZONTAL 0x25
#define RUINS_TEST_LIGHTNING_POSE_ON_GROUND_VERTICAL 0x27 #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 RuinsTestCalculateDelay(u8 delay);
void RuinsTestChangeCCAA(u8 caa); void RuinsTestChangeCCAA(u8 caa);
void RuinsTestMoveToPosition(u16 yTarget, u16 xTarget, u16 yPosition, u16 xPosition, u16 speedMultiplier, u16 speed); void RuinsTestMoveToPosition(u16 yTarget, u16 xTarget, u16 yPosition, u16 xPosition, u16 speedMultiplier, u16 speed);

View File

@ -13,8 +13,10 @@
#define SKREE_EXPLOSION_PART_GOING_UP 0x0 #define SKREE_EXPLOSION_PART_GOING_UP 0x0
#define SKREE_EXPLOSION_PART_GOING_DOWN 0x1 #define SKREE_EXPLOSION_PART_GOING_DOWN 0x1
#define SKREE_Y_RANGE (BLOCK_SIZE * 10 + 4) #define SKREE_EXPLOSION_POSE_MOVING 0x9
#define SKREE_X_RANGE (BLOCK_SIZE * 2 + QUARTER_BLOCK_SIZE + 6)
#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 SkreeInit(void);
void SkreeIdleInit(void); void SkreeIdleInit(void);

View File

@ -3,6 +3,9 @@
#include "types.h" #include "types.h"
#define ZEBETITE_HEALTH_THRESHOLD 20
#define ZEBETITE_HEAL_TIMER 30
#define CANNON_AIM_LEFT 0 #define CANNON_AIM_LEFT 0
#define CANNON_AIM_LEFT_TO_DOWN_LEFT_TRANSITION 1 #define CANNON_AIM_LEFT_TO_DOWN_LEFT_TRANSITION 1
#define CANNON_AIM_DOWN_LEFT 2 #define CANNON_AIM_DOWN_LEFT 2
@ -17,7 +20,7 @@
#define CANNON_VIEW_RIGHT 1 #define CANNON_VIEW_RIGHT 1
#define CANNON_VIEW_LEFT 2 #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) #define CANNON_BULLET_SPEED_DIAG (CANNON_BULLET_SPEED - CANNON_BULLET_SPEED / 2)
void Zebetite(void); void Zebetite(void);

View File

@ -50,14 +50,14 @@ extern struct BG2Movement gBG2Movement;
extern struct BG3Movement gBG3Movement; extern struct BG3Movement gBG3Movement;
extern struct BG0Movement gBG0Movement; extern struct BG0Movement gBG0Movement;
extern u16 gBG0XPosition; extern u16 gBg0XPosition;
extern u16 gBG0YPosition; extern u16 gBg0YPosition;
extern u16 gBG1XPosition; extern u16 gBg1XPosition;
extern u16 gBG1YPosition; extern u16 gBg1YPosition;
extern u16 gBG2XPosition; extern u16 gBg2XPosition;
extern u16 gBG2YPosition; extern u16 gBg2YPosition;
extern u16 gBG3XPosition; extern u16 gBg3XPosition;
extern u16 gBG3YPosition; extern u16 gBg3YPosition;
extern s8 gCollectingTank; extern s8 gCollectingTank;
extern u8 gDisableDoorAndTanks; extern u8 gDisableDoorAndTanks;

View File

@ -6,7 +6,7 @@
struct Demo { struct Demo {
u8 number; u8 number;
u8 active; u8 active;
u16 unk_2_0:4; u16 hasBeenInit:4;
u16 loading:4; u16 loading:4;
u16 endedWithInput:4; u16 endedWithInput:4;
u16 noDemoShuffle:4; u16 noDemoShuffle:4;

View File

@ -27,8 +27,6 @@ struct MenuOamData {
s16 unk_E; s16 unk_E;
}; };
#define MAINTAINED_INPUT_KEYS (KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN)
struct MaintainedInput { struct MaintainedInput {
u8 delay; u8 delay;
u8 set; u8 set;

View File

@ -209,14 +209,14 @@ SECTIONS {
. = 0x000013AE; gWrittenToBLDY_NonGameplay = .; . = 0x000013AE; gWrittenToBLDY_NonGameplay = .;
. = 0x000013B0; gWrittenToBLDALPHA_L = .; . = 0x000013B0; gWrittenToBLDALPHA_L = .;
. = 0x000013B2; gWrittenToBLDALPHA_H = .; . = 0x000013B2; gWrittenToBLDALPHA_H = .;
. = 0x000013B4; gBG0XPosition = .; . = 0x000013B4; gBg0XPosition = .;
. = 0x000013B6; gBG0YPosition = .; . = 0x000013B6; gBg0YPosition = .;
. = 0x000013B8; gBG1XPosition = .; . = 0x000013B8; gBg1XPosition = .;
. = 0x000013BA; gBG1YPosition = .; . = 0x000013BA; gBg1YPosition = .;
. = 0x000013BC; gBG2XPosition = .; . = 0x000013BC; gBg2XPosition = .;
. = 0x000013BE; gBG2YPosition = .; . = 0x000013BE; gBg2YPosition = .;
. = 0x000013C0; gBG3XPosition = .; . = 0x000013C0; gBg3XPosition = .;
. = 0x000013C2; gBG3YPosition = .; . = 0x000013C2; gBg3YPosition = .;
. = 0x000013d2; gDemoState = .; . = 0x000013d2; gDemoState = .;
. = 0x000013D4; gSamusData = .; . = 0x000013D4; gSamusData = .;
. = 0x000013F4; gSamusDataCopy = .; . = 0x000013F4; gSamusDataCopy = .;
@ -380,7 +380,7 @@ SECTIONS {
. = 0x00007e60; sp_sys = .; . = 0x00007e60; sp_sys = .;
. = 0x00007fa0; sp_irq = .; . = 0x00007fa0; sp_irq = .;
. = 0x00007ff8; gInterruptCheckFlag = .; . = 0x00007ff8; gInterruptCheckFlag = .;
. = 0x00007ffc; intr_code_ptr = .; . = 0x00007ffc; gIntrCodePointer = .;
. = 0x00007ffc; intr_vector = .; . = 0x00007ffc; intr_vector = .;
} >iwram } >iwram

View File

@ -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; 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 // 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) if (offset - 4 > yPosition)
return; return;
if (yPosition > offset + 13) if (yPosition > offset + 13)
return; return;
offset = gBG1XPosition / BLOCK_SIZE; offset = gBg1XPosition / BLOCK_SIZE;
if (offset - 4 > xPosition) if (offset - 4 > xPosition)
return; return;
@ -84,14 +84,14 @@ void BgClipSetBg1BlockValue(u16 value, u16 yPosition, u16 xPosition)
gBgPointersAndDimensions.backgrounds[1].pDecomp[yPosition * gBgPointersAndDimensions.backgrounds[1].width + xPosition] = value; 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 // 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) if (offset - 4 > yPosition)
return; return;
if (yPosition > offset + 13) if (yPosition > offset + 13)
return; return;
offset = gBG1XPosition / BLOCK_SIZE; offset = gBg1XPosition / BLOCK_SIZE;
if (offset - 4 > xPosition) if (offset - 4 > xPosition)
return; return;

View File

@ -925,11 +925,11 @@ void BlockUpdateBrokenBlockAnimation(struct BrokenBlock* pBlock)
pBlock->xPosition] = value; 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 // 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) if (offset - 4 > pBlock->yPosition || pBlock->yPosition > offset + 13)
return; return;
offset = gBG1XPosition / BLOCK_SIZE; offset = gBg1XPosition / BLOCK_SIZE;
if (offset - 4 > pBlock->xPosition || pBlock->xPosition > offset + 18) if (offset - 4 > pBlock->xPosition || pBlock->xPosition > offset + 18)
return; return;
@ -1404,16 +1404,16 @@ void BlockBrokenBlockRemoveCollision(u16 yPosition, u16 xPosition)
gBgPointersAndDimensions.pClipDecomp[position] = 0; gBgPointersAndDimensions.pClipDecomp[position] = 0;
gBgPointersAndDimensions.backgrounds[1].pDecomp[position] = 0; gBgPointersAndDimensions.backgrounds[1].pDecomp[position] = 0;
if (gBG1YPosition / BLOCK_SIZE - 4 > yPosition) if (gBg1YPosition / BLOCK_SIZE - 4 > yPosition)
return; return;
if (yPosition > gBG1YPosition / BLOCK_SIZE + 13) if (yPosition > gBg1YPosition / BLOCK_SIZE + 13)
return; return;
if (gBG1XPosition / BLOCK_SIZE - 4 > xPosition) if (gBg1XPosition / BLOCK_SIZE - 4 > xPosition)
return; return;
if (xPosition > gBG1XPosition / BLOCK_SIZE + 18) if (xPosition > gBg1XPosition / BLOCK_SIZE + 18)
return; return;
dst = VRAM_BASE + 0x1000; dst = VRAM_BASE + 0x1000;

View File

@ -33,12 +33,12 @@ void ChozodiaEscapeVBlank(void)
write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L); write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L);
write16(REG_BLDY, gWrittenToBLDY_NonGameplay); write16(REG_BLDY, gWrittenToBLDY_NonGameplay);
write16(REG_BG0HOFS, gBG0XPosition & 0x1FF); write16(REG_BG0HOFS, gBg0XPosition & 0x1FF);
write16(REG_BG0VOFS, gBG0YPosition & 0xFF); write16(REG_BG0VOFS, gBg0YPosition & 0xFF);
write16(REG_BG1HOFS, gBG1XPosition & 0x1FF); write16(REG_BG1HOFS, gBg1XPosition & 0x1FF);
write16(REG_BG1VOFS, gBG1YPosition & 0xFF); write16(REG_BG1VOFS, gBg1YPosition & 0xFF);
write16(REG_BG2HOFS, gBG2XPosition & 0x1FF); write16(REG_BG2HOFS, gBg2XPosition & 0x1FF);
write16(REG_BG2VOFS, gBG2YPosition & 0xFF); write16(REG_BG2VOFS, gBg2YPosition & 0xFF);
CHOZODIA_ESCAPE_DATA.unk_36f = CHOZODIA_ESCAPE_DATA.unk_36e; CHOZODIA_ESCAPE_DATA.unk_36f = CHOZODIA_ESCAPE_DATA.unk_36e;
} }
@ -422,14 +422,14 @@ void ChozodiaEscapeInit(void)
write16(REG_BG1CNT, 0x1509); write16(REG_BG1CNT, 0x1509);
write16(REG_BG2CNT, 0x9602); write16(REG_BG2CNT, 0x9602);
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; gBg0YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE;
gBG1XPosition = 0; gBg1XPosition = 0;
gBG1YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE; gBg1YPosition = BLOCK_SIZE + HALF_BLOCK_SIZE;
gBG2XPosition = 0; gBg2XPosition = 0;
gBG2YPosition = BLOCK_SIZE * 2 + HALF_BLOCK_SIZE + 8; gBg2YPosition = BLOCK_SIZE * 2 + HALF_BLOCK_SIZE + 8;
gBG3XPosition = 0; gBg3XPosition = 0;
gBG3YPosition = 0; gBg3YPosition = 0;
write16(REG_BG0HOFS, 0); write16(REG_BG0HOFS, 0);
write16(REG_BG0VOFS, BLOCK_SIZE + HALF_BLOCK_SIZE); 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; CHOZODIA_ESCAPE_DATA.oamYPositions[CHOZODIA_ESCAPE_OAM_SHIP_EXTERIOR] = 0x54;
ChozodiaEscapeProcessOam_2(); ChozodiaEscapeProcessOam_2();
ResetFreeOAM(); ResetFreeOam();
ApplyMonochromeToPalette(sChozodiaEscapeMissionAccomplishedPAL, CHOZODIA_ESCAPE_DATA.monochromePalette, 0); ApplyMonochromeToPalette(sChozodiaEscapeMissionAccomplishedPAL, CHOZODIA_ESCAPE_DATA.monochromePalette, 0);
@ -852,13 +852,13 @@ u8 ChozodiaEscapeShipBlowingUp(void)
interval = CHOZODIA_ESCAPE_DATA.timer & 3; interval = CHOZODIA_ESCAPE_DATA.timer & 3;
if (interval == 0) if (interval == 0)
{ {
gBG1YPosition--; gBg1YPosition--;
CHOZODIA_ESCAPE_DATA.oamYPositions[3]++; CHOZODIA_ESCAPE_DATA.oamYPositions[3]++;
} }
if (interval == 2) if (interval == 2)
{ {
gBG1YPosition++; gBg1YPosition++;
CHOZODIA_ESCAPE_DATA.oamYPositions[3]--; CHOZODIA_ESCAPE_DATA.oamYPositions[3]--;
} }
@ -979,7 +979,7 @@ u8 ChozodiaEscapeShipLeavingPlanet(void)
write16(REG_BG2CNT, 0x1E02); write16(REG_BG2CNT, 0x1E02);
CHOZODIA_ESCAPE_DATA.dispcnt = DCNT_BG1 | DCNT_BG2 | DCNT_OBJ; CHOZODIA_ESCAPE_DATA.dispcnt = DCNT_BG1 | DCNT_BG2 | DCNT_OBJ;
gBG1XPosition = QUARTER_BLOCK_SIZE; gBg1XPosition = QUARTER_BLOCK_SIZE;
break; break;
case 224: case 224:
@ -1072,8 +1072,8 @@ u8 ChozodiaEscapeShipLeavingPlanet(void)
// Slowly scroll background // Slowly scroll background
if (!(CHOZODIA_ESCAPE_DATA.timer & 0xF)) if (!(CHOZODIA_ESCAPE_DATA.timer & 0xF))
{ {
gBG1XPosition--; gBg1XPosition--;
gBG2XPosition--; gBg2XPosition--;
} }
return ended; return ended;
@ -1155,7 +1155,7 @@ u8 ChozodiaEscapeMissionAccomplished(void)
// Handle slowly scrolling the background // Handle slowly scrolling the background
if (!CHOZODIA_ESCAPE_DATA.unk_1 && !(CHOZODIA_ESCAPE_DATA.timer & 7)) if (!CHOZODIA_ESCAPE_DATA.unk_1 && !(CHOZODIA_ESCAPE_DATA.timer & 7))
gBG2XPosition--; gBg2XPosition--;
return ended; return ended;
} }
@ -1219,12 +1219,12 @@ u32 ChozodiaEscapeSubroutine(void)
// Reset backgrounds position // Reset backgrounds position
if (CHOZODIA_ESCAPE_DATA.stage > 1) if (CHOZODIA_ESCAPE_DATA.stage > 1)
{ {
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0; gBg0YPosition = 0;
gBG1XPosition = 0; gBg1XPosition = 0;
gBG1YPosition = 0; gBg1YPosition = 0;
gBG2XPosition = 0; gBg2XPosition = 0;
gBG2YPosition = 0; gBg2YPosition = 0;
} }
} }
@ -1235,7 +1235,7 @@ u32 ChozodiaEscapeSubroutine(void)
gGameModeSub2 = 0; gGameModeSub2 = 0;
} }
ResetFreeOAM(); ResetFreeOam();
break; break;
case 3: case 3:

View File

@ -363,7 +363,7 @@ u32 ClipdataUpdateCurrentAffecting(u16 yPosition, u16 tileY, u16 tileX, u8 dontC
gCurrentAffectingClipdata.hazard = specialClip; gCurrentAffectingClipdata.hazard = specialClip;
// Return formatted clipdata // Return formatted clipdata
return CONSTRUCT_UINT_2_USHORTS(gCurrentAffectingClipdata.movement,gCurrentAffectingClipdata.hazard); return C_32_2_16(gCurrentAffectingClipdata.movement,gCurrentAffectingClipdata.hazard);
} }
/** /**

View File

@ -530,7 +530,7 @@ u32 ColorFadingProcess(void)
gNextOamSlot = 0; gNextOamSlot = 0;
HudDraw(); HudDraw();
ParticleProcessAll(); ParticleProcessAll();
ResetFreeOAM(); ResetFreeOam();
gColorFading.stage = 0; gColorFading.stage = 0;
return TRUE; return TRUE;
@ -592,7 +592,7 @@ u8 ColorFading_DoorTransition(void)
gBackgroundPositions.doorTransition.x = BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE; gBackgroundPositions.doorTransition.x = BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE;
gBackgroundPositions.doorTransition.y = ((BLOCK_SIZE * 16 - 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_BG3HOFS, gBackgroundPositions.doorTransition.x);
write16(REG_BG3VOFS, gBackgroundPositions.doorTransition.y); write16(REG_BG3VOFS, gBackgroundPositions.doorTransition.y);
@ -1145,7 +1145,7 @@ u8 ColorFading_UpdateDoorTransition(void)
else else
gDoorPositionStart.x = BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE; 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) if (gDoorUnlockTimer == 1)
ConnectionLockHatchesWithTimer(); ConnectionLockHatchesWithTimer();

View File

@ -278,7 +278,7 @@ u32 ConnectionCheckEnterDoor(u16 yPosition, u16 xPosition)
if ((pDoor->type & DOOR_TYPE_NO_FLAGS) > DOOR_TYPE_NO_HATCH) 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.x = 1;
gDoorPositionStart.y = pDoor->yStart; gDoorPositionStart.y = pDoor->yStart;
} }

View File

@ -283,7 +283,7 @@ void CutsceneInit(void)
gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0;
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
write16(REG_BLDCNT, CUTSCENE_DATA.bldcnt = 0xFF); write16(REG_BLDCNT, CUTSCENE_DATA.bldcnt = 0xFF);
@ -991,8 +991,7 @@ void unk_61f0c(void)
{ {
CUTSCENE_DATA.dispcnt = 0; CUTSCENE_DATA.dispcnt = 0;
gWrittenToBLDY_NonGameplay = 0x10; gWrittenToBLDY_NonGameplay = 0x10;
CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
} }
@ -1004,8 +1003,7 @@ void unk_61f28(void)
{ {
CUTSCENE_DATA.dispcnt = 0; CUTSCENE_DATA.dispcnt = 0;
gWrittenToBLDY_NonGameplay = 0x10; gWrittenToBLDY_NonGameplay = 0x10;
CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
} }

View File

@ -603,6 +603,6 @@ void EnterTourianProcessOAM(void)
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sEnterTourianSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, ProcessCutsceneOam(sEnterTourianSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength,
CUTSCENE_DATA.oam, sEnterTourianOam); CUTSCENE_DATA.oam, sEnterTourianOam);
ResetFreeOAM(); ResetFreeOam();
CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0); CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0);
} }

View File

@ -364,5 +364,5 @@ void GettingFullyPoweredSuitProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sGettingFullyPoweredSuitSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sGettingFullyPoweredSuitCutsceneOAM); ProcessCutsceneOam(sGettingFullyPoweredSuitSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sGettingFullyPoweredSuitCutsceneOAM);
ResetFreeOAM(); ResetFreeOam();
} }

View File

@ -327,5 +327,5 @@ void KraidRisingProcessOAM(void)
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sKraidRisingSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sKraidRisingCutsceneOAM); // Undefined ProcessCutsceneOam(sKraidRisingSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sKraidRisingCutsceneOAM); // Undefined
ResetFreeOAM(); ResetFreeOam();
} }

View File

@ -147,5 +147,5 @@ void MechaRidleySeesSamusProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sMechaSeesSamusSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sMechaSeesSamusCutsceneOAM); // Undefined ProcessCutsceneOam(sMechaSeesSamusSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sMechaSeesSamusCutsceneOAM); // Undefined
ResetFreeOAM(); ResetFreeOam();
} }

View File

@ -341,8 +341,7 @@ u8 MotherBrainCloseUpInit(void)
CutsceneSetBGCNTPageData(sMotherBrainCloseUpPageData[0]); CutsceneSetBGCNTPageData(sMotherBrainCloseUpPageData[0]);
CutsceneReset(); CutsceneReset();
CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
gWrittenToBLDY_NonGameplay = 16; gWrittenToBLDY_NonGameplay = 16;
@ -382,7 +381,7 @@ void MotherBrainCloseUpProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sMotherBrainCloseUpSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sMotherBrainCloseUpCutsceneOAM); ProcessCutsceneOam(sMotherBrainCloseUpSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sMotherBrainCloseUpCutsceneOAM);
ResetFreeOAM(); ResetFreeOam();
} }
/** /**

View File

@ -607,7 +607,7 @@ void RidleyInSpaceProcessOAM(void)
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sRidleyInSpaceSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleyInSpaceCutsceneOAM); ProcessCutsceneOam(sRidleyInSpaceSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleyInSpaceCutsceneOAM);
ResetFreeOAM(); ResetFreeOam();
CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0); CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0);
} }

View File

@ -420,8 +420,7 @@ u8 RidleyLandingInit(void)
CutsceneSetBGCNTPageData(sRidleyLandingPageData[0]); CutsceneSetBGCNTPageData(sRidleyLandingPageData[0]);
CutsceneReset(); CutsceneReset();
CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
gWrittenToBLDY_NonGameplay = 16; gWrittenToBLDY_NonGameplay = 16;
@ -469,6 +468,6 @@ void RidleyLandingProcessOAM(void)
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sRidleyLandingSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleyLandingCutsceneOAM); ProcessCutsceneOam(sRidleyLandingSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleyLandingCutsceneOAM);
ResetFreeOAM(); ResetFreeOam();
CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0); CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0);
} }

View File

@ -303,6 +303,6 @@ void RidleySpawnProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sRidleySpawnSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleySpawnOam); ProcessCutsceneOam(sRidleySpawnSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sRidleySpawnOam);
ResetFreeOAM(); ResetFreeOam();
CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0); CalculateOamPart4(gCurrentOamRotation, gCurrentOamScaling, 0);
} }

View File

@ -216,5 +216,5 @@ void SamusInBlueShipProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sSamusInBlueShipSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sSamusInBlueShipOam); ProcessCutsceneOam(sSamusInBlueShipSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sSamusInBlueShipOam);
ResetFreeOAM(); ResetFreeOam();
} }

View File

@ -136,8 +136,7 @@ u8 StatueOpeningInit(void)
CutsceneReset(); CutsceneReset();
CUTSCENE_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | CUTSCENE_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
gWrittenToBLDY_NonGameplay = 16; gWrittenToBLDY_NonGameplay = 16;
@ -222,5 +221,5 @@ void StatueOpeningProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessCutsceneOam(sStatueOpeningSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sStatueOpeningOam); ProcessCutsceneOam(sStatueOpeningSubroutineData[CUTSCENE_DATA.timeInfo.stage].oamLength, CUTSCENE_DATA.oam, sStatueOpeningOam);
ResetFreeOAM(); ResetFreeOam();
} }

View File

@ -146,25 +146,25 @@ const struct FrameData* const sRidleyFrameDataPointers[33] = {
sRidleyOAM_SpittingFireballs, sRidleyOAM_SpittingFireballs,
sRidleyOAM_TurningAroundFirstPart, sRidleyOAM_TurningAroundFirstPart,
sRidleyOAM_TurningAroundSecondPart, sRidleyOAM_TurningAroundSecondPart,
sRidleyPartOAM_HeadIdle, sRidleyPartOam_HeadIdle,
sRidleyPartOAM_OpeningMouth, sRidleyPartOam_OpeningMouth,
sRidleyPartOAM_MouthOpened, sRidleyPartOam_MouthOpened,
sRidleyPartOAM_HeadDying, sRidleyPartOam_HeadDying,
sRidleyPartOAM_HeadTurningAround, sRidleyPartOam_HeadTurningAround,
sRidleyPartOAM_ClawIdle, sRidleyPartOam_ClawIdle,
sRidleyPartOAM_ClawSpittingFireballs, sRidleyPartOam_ClawSpittingFireballs,
sRidleyPartOAM_ClawTurningAroundFirstPart, sRidleyPartOam_ClawTurningAroundFirstPart,
sRidleyPartOAM_ClawTurningAroundSecondPart, sRidleyPartOam_ClawTurningAroundSecondPart,
sRidleyPartOAM_ClawCarryingSamus, sRidleyPartOam_ClawCarryingSamus,
sRidleyPartOAM_ClawLiftingSamus, sRidleyPartOam_ClawLiftingSamus,
sRidleyPartOAM_ClawSamusLifted, sRidleyPartOam_ClawSamusLifted,
sRidleyPartOAM_ClawReleasingSamus, sRidleyPartOam_ClawReleasingSamus,
sRidleyPartOAM_LeftWingIdle, sRidleyPartOam_LeftWingIdle,
sRidleyPartOAM_RightWingIdle, sRidleyPartOam_RightWingIdle,
sRidleyPartOAM_LeftWing_Unused, sRidleyPartOam_LeftWing_Unused,
sRidleyPartOAM_RightWing_Unused, sRidleyPartOam_RightWing_Unused,
sRidleyPartOAM_LeftWingSpittingFireballs, sRidleyPartOam_LeftWingSpittingFireballs,
sRidleyPartOAM_RightWingSpittingFireballs, sRidleyPartOam_RightWingSpittingFireballs,
sRidleyTailOAM_Part, sRidleyTailOAM_Part,
sRidleyTailOAM_TipPointingDown, sRidleyTailOAM_TipPointingDown,
sRidleyTailOAM_TipPointingUp, sRidleyTailOAM_TipPointingUp,
@ -173,8 +173,8 @@ const struct FrameData* const sRidleyFrameDataPointers[33] = {
sRidleyTailOAM_TipPointingDiagonallyDownLeft, sRidleyTailOAM_TipPointingDiagonallyDownLeft,
sRidleyTailOAM_TipPointingDiagonallyUpLeft, sRidleyTailOAM_TipPointingDiagonallyUpLeft,
sRidleyOAM_Square, sRidleyOAM_Square,
sRidleyFireballOAM_Small, sRidleyFireballOam_Small,
sRidleyFireballOAM_Big sRidleyFireballOam_Big
}; };

View File

@ -146,7 +146,7 @@ const u16 sIntroTextMarkerOAM[10] = {
0xf8, 0x8, 0x1022 0xf8, 0x8, 0x1022
}; };
const u16 sIntroShipFlyingTowardsCameraOAM_1[19] = { const u16 sIntroShipFlyingTowardsCameraOam_1[19] = {
0x6, 0x6,
0xd8, OBJ_SIZE_64x64 | 0x1c0, 0x3041, 0xd8, OBJ_SIZE_64x64 | 0x1c0, 0x3041,
0xd8, OBJ_SIZE_64x64 | 0x0, 0x3049, 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 OBJ_MODE_SEMI_TRANSPARENT | 0xd8, OBJ_X_FLIP | OBJ_SIZE_64x64 | 0x1f8, 0x4052
}; };
const u16 sIntroShipFlyingTowardsCameraOAM_2[28] = { const u16 sIntroShipFlyingTowardsCameraOam_2[28] = {
0x9, 0x9,
0xd8, OBJ_SIZE_64x64 | 0x1c0, 0x3041, 0xd8, OBJ_SIZE_64x64 | 0x1c0, 0x3041,
0xd8, OBJ_SIZE_64x64 | 0x0, 0x3049, 0xd8, OBJ_SIZE_64x64 | 0x0, 0x3049,

View File

@ -730,7 +730,7 @@ const u16* const sSpritesPalettePointers[190] = {
[PSPRITE_GERON_NORFAIR - 0x10] = sGeronNorfairPAL, [PSPRITE_GERON_NORFAIR - 0x10] = sGeronNorfairPAL,
[PSPRITE_HOLTZ - 0x10] = sHoltzPAL, [PSPRITE_HOLTZ - 0x10] = sHoltzPAL,
[PSPRITE_GEKITAI_MACHINE - 0x10] = sGekitaiMachinePAL, [PSPRITE_GEKITAI_MACHINE - 0x10] = sGekitaiMachinePAL,
[PSPRITE_RUINS_TEST - 0x10] = sRuinsTestPAL, [PSPRITE_RUINS_TEST - 0x10] = sRuinsTestPal,
[PSPRITE_SAVE_PLATFORM - 0x10] = sSavePlatformPAL, [PSPRITE_SAVE_PLATFORM - 0x10] = sSavePlatformPAL,
[PSPRITE_KRAID - 0x10] = sKraidPAL, [PSPRITE_KRAID - 0x10] = sKraidPAL,
[PSPRITE_IMAGO_COCOON_AFTER_FIGHT - 0x10] = sImagoCocoonPAL, [PSPRITE_IMAGO_COCOON_AFTER_FIGHT - 0x10] = sImagoCocoonPAL,

View File

@ -1044,7 +1044,7 @@ const u16 sRidleyOAM_TurningAround_Frame1[49] = {
OBJ_SHAPE_HORIZONTAL | 0x5, OBJ_SIZE_32x16 | 0x1e5, OBJ_SPRITE_OAM | 0x214 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, 0x4,
0xe8, OBJ_SIZE_32x32 | 0x1f4, OBJ_SPRITE_OAM | 0x281, 0xe8, OBJ_SIZE_32x32 | 0x1f4, OBJ_SPRITE_OAM | 0x281,
OBJ_SHAPE_VERTICAL | 0x8, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x300, 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 0xff, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b
}; };
const u16 sRidleyPartOAM_HeadIdle_Frame1[13] = { const u16 sRidleyPartOam_HeadIdle_Frame1[13] = {
0x4, 0x4,
0xe9, OBJ_SIZE_32x32 | 0x1f4, OBJ_SPRITE_OAM | 0x281, 0xe9, OBJ_SIZE_32x32 | 0x1f4, OBJ_SPRITE_OAM | 0x281,
OBJ_SHAPE_VERTICAL | 0x9, OBJ_SIZE_16x32 | 0x1ec, OBJ_SPRITE_OAM | 0x300, 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 0xff, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x20b
}; };
const u16 sRidleyPartOAM_OpeningMouth_Frame0[13] = { const u16 sRidleyPartOam_OpeningMouth_Frame0[13] = {
0x4, 0x4,
0xf0, OBJ_X_FLIP | OBJ_Y_FLIP | OBJ_SIZE_32x32 | 0x1fc, OBJ_SPRITE_OAM | 0x2ee, 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, 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 0xff, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b
}; };
const u16 sRidleyPartOAM_MouthOpened_Frame0[13] = { const u16 sRidleyPartOam_MouthOpened_Frame0[13] = {
0x4, 0x4,
0xe1, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, 0xe1, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294,
OBJ_SHAPE_VERTICAL | 0xe1, OBJ_SIZE_16x32 | 0x1eb, OBJ_SPRITE_OAM | 0x296, 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 0x0, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b
}; };
const u16 sRidleyPartOAM_MouthOpened_Frame1[13] = { const u16 sRidleyPartOam_MouthOpened_Frame1[13] = {
0x4, 0x4,
0xe2, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, 0xe2, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294,
OBJ_SHAPE_VERTICAL | 0xe2, OBJ_SIZE_16x32 | 0x1eb, OBJ_SPRITE_OAM | 0x296, 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 0xff, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b
}; };
const u16 sRidleyPartOAM_HeadDying_Frame0[16] = { const u16 sRidleyPartOam_HeadDying_Frame0[16] = {
0x5, 0x5,
0xe3, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, 0xe3, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294,
OBJ_SHAPE_VERTICAL | 0xe3, OBJ_SIZE_16x32 | 0x1eb, OBJ_SPRITE_OAM | 0x296, 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 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, 0x5,
0xed, 0x1fe, OBJ_SPRITE_OAM | 0x2d4, 0xed, 0x1fe, OBJ_SPRITE_OAM | 0x2d4,
0xe1, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, 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 0x0, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b
}; };
const u16 sRidleyPartOAM_HeadDying_Frame2[19] = { const u16 sRidleyPartOam_HeadDying_Frame2[19] = {
0x6, 0x6,
0xee, 0x1fe, OBJ_SPRITE_OAM | 0x2d5, 0xee, 0x1fe, OBJ_SPRITE_OAM | 0x2d5,
0xe3, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, 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 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, 0x5,
0xed, 0x1fe, OBJ_SPRITE_OAM | 0x2f5, 0xed, 0x1fe, OBJ_SPRITE_OAM | 0x2f5,
0xe1, OBJ_SIZE_16x16 | 0x1db, OBJ_SPRITE_OAM | 0x294, 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 0x0, OBJ_SIZE_32x32 | 0x1ef, OBJ_SPRITE_OAM | 0x20b
}; };
const u16 sRidleyPartOAM_HeadTurningAround_Frame0[10] = { const u16 sRidleyPartOam_HeadTurningAround_Frame0[10] = {
0x3, 0x3,
OBJ_SHAPE_VERTICAL | 0xe8, OBJ_SIZE_16x32 | 0x1f5, OBJ_SPRITE_OAM | 0x393, 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 | 0xe8, OBJ_SIZE_8x32 | 0x5, OBJ_SPRITE_OAM | 0x395,
OBJ_SHAPE_VERTICAL | 0x8, OBJ_SIZE_16x32 | 0x1f9, OBJ_SPRITE_OAM | 0x396 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, 0x4,
0xc, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x21c, 0xc, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x21c,
0x6, OBJ_SIZE_16x16 | 0x1e3, OBJ_SPRITE_OAM | 0x250, 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 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, 0x4,
0xd, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x29c, 0xd, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x29c,
0x7, OBJ_SIZE_16x16 | 0x1e3, OBJ_SPRITE_OAM | 0x250, 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 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, 0x4,
0xe, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c, 0xe, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c,
0x8, OBJ_SIZE_16x16 | 0x1e2, OBJ_SPRITE_OAM | 0x250, 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd, OBJ_SIZE_16x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c, OBJ_SHAPE_VERTICAL | 0xd, OBJ_SIZE_16x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c,
OBJ_SHAPE_VERTICAL | 0xe, OBJ_SIZE_8x32 | 0x1d1, OBJ_SPRITE_OAM | 0x31e, 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 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, 0x4,
0xb, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x29c, 0xb, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x29c,
0x5, OBJ_SIZE_16x16 | 0x1e3, OBJ_SPRITE_OAM | 0x250, 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 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, 0x4,
0xc, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c, 0xc, OBJ_SIZE_32x32 | 0x1c1, OBJ_SPRITE_OAM | 0x31c,
0x6, OBJ_SIZE_16x16 | 0x1e3, OBJ_SPRITE_OAM | 0x250, 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 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, 0x4,
0xb, OBJ_SIZE_32x32 | 0x1bf, OBJ_SPRITE_OAM | 0x21c, 0xb, OBJ_SIZE_32x32 | 0x1bf, OBJ_SPRITE_OAM | 0x21c,
0x6, OBJ_SIZE_16x16 | 0x1df, OBJ_SPRITE_OAM | 0x250, 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 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, 0x4,
0xe, OBJ_SIZE_32x32 | 0x1ca, OBJ_SPRITE_OAM | 0x218, 0xe, OBJ_SIZE_32x32 | 0x1ca, OBJ_SPRITE_OAM | 0x218,
0x6, OBJ_SIZE_16x16 | 0x1e7, OBJ_SPRITE_OAM | 0x250, 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 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, 0x5,
0x7, OBJ_SIZE_32x32 | 0x1bd, OBJ_SPRITE_OAM | 0x21c, 0x7, OBJ_SIZE_32x32 | 0x1bd, OBJ_SPRITE_OAM | 0x21c,
0x2, OBJ_SIZE_16x16 | 0x1e0, OBJ_SPRITE_OAM | 0x250, 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 0xfd, OBJ_SIZE_16x16 | 0x1ea, OBJ_SPRITE_OAM | 0x3cf
}; };
const u16 sRidleyPartOAM_ClawLiftingSamus_Frame1[16] = { const u16 sRidleyPartOam_ClawLiftingSamus_Frame1[16] = {
0x5, 0x5,
0x1, OBJ_SIZE_32x32 | 0x1b7, OBJ_SPRITE_OAM | 0x21c, 0x1, OBJ_SIZE_32x32 | 0x1b7, OBJ_SPRITE_OAM | 0x21c,
0xfc, OBJ_SIZE_16x16 | 0x1dc, OBJ_SPRITE_OAM | 0x250, 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 0xf8, OBJ_SIZE_16x16 | 0x1e6, OBJ_SPRITE_OAM | 0x3cf
}; };
const u16 sRidleyPartOAM_ClawLiftingSamus_Frame2[16] = { const u16 sRidleyPartOam_ClawLiftingSamus_Frame2[16] = {
0x5, 0x5,
0xfa, OBJ_SIZE_32x32 | 0x1b2, OBJ_SPRITE_OAM | 0x21c, 0xfa, OBJ_SIZE_32x32 | 0x1b2, OBJ_SPRITE_OAM | 0x21c,
0xf5, OBJ_SIZE_16x16 | 0x1d5, OBJ_SPRITE_OAM | 0x250, 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 0xed, OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x38f
}; };
const u16 sRidleyPartOAM_ClawLiftingSamus_Frame3[13] = { const u16 sRidleyPartOam_ClawLiftingSamus_Frame3[13] = {
0x4, 0x4,
0xf1, OBJ_SIZE_32x32 | 0x1b0, OBJ_SPRITE_OAM | 0x21c, 0xf1, OBJ_SIZE_32x32 | 0x1b0, OBJ_SPRITE_OAM | 0x21c,
0xeb, OBJ_SIZE_16x16 | 0x1d3, OBJ_SPRITE_OAM | 0x250, 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 0xec, OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x38f
}; };
const u16 sRidleyPartOAM_ClawLiftingSamus_Frame4[13] = { const u16 sRidleyPartOam_ClawLiftingSamus_Frame4[13] = {
0x4, 0x4,
0xeb, OBJ_SIZE_32x32 | 0x1af, OBJ_SPRITE_OAM | 0x21c, 0xeb, OBJ_SIZE_32x32 | 0x1af, OBJ_SPRITE_OAM | 0x21c,
0xe5, OBJ_SIZE_16x16 | 0x1d2, OBJ_SPRITE_OAM | 0x250, 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 0xeb, OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x38f
}; };
const u16 sRidleyPartOAM_SamusLifted_Frame0[13] = { const u16 sRidleyPartOam_SamusLifted_Frame0[13] = {
0x4, 0x4,
0xe2, OBJ_SIZE_32x32 | 0x1ad, OBJ_SPRITE_OAM | 0x21c, 0xe2, OBJ_SIZE_32x32 | 0x1ad, OBJ_SPRITE_OAM | 0x21c,
0xdd, OBJ_SIZE_16x16 | 0x1d0, OBJ_SPRITE_OAM | 0x250, 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 0xea, OBJ_SIZE_16x16 | 0x1ec, OBJ_SPRITE_OAM | 0x38f
}; };
const u16 sRidleyPartOAM_LeftWingIdle_Frame0[13] = { const u16 sRidleyPartOam_LeftWingIdle_Frame0[13] = {
0x4, 0x4,
0xe0, OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x385, 0xe0, OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x385,
OBJ_SHAPE_HORIZONTAL | 0xd0, OBJ_SIZE_32x16 | 0x0, OBJ_SPRITE_OAM | 0x345, 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 OBJ_SHAPE_HORIZONTAL | 0xc8, 0x8, OBJ_SPRITE_OAM | 0x326
}; };
const u16 sRidleyPartOAM_LeftWingIdle_Frame1[19] = { const u16 sRidleyPartOam_LeftWingIdle_Frame1[19] = {
0x6, 0x6,
OBJ_SHAPE_HORIZONTAL | 0xe1, OBJ_SIZE_32x16 | 0x0, OBJ_SPRITE_OAM | 0x385, OBJ_SHAPE_HORIZONTAL | 0xe1, OBJ_SIZE_32x16 | 0x0, OBJ_SPRITE_OAM | 0x385,
OBJ_SHAPE_HORIZONTAL | 0xf1, OBJ_SIZE_32x8 | 0x0, OBJ_SPRITE_OAM | 0x3c5, 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 OBJ_SHAPE_HORIZONTAL | 0xca, 0x9, OBJ_SPRITE_OAM | 0x326
}; };
const u16 sRidleyPartOAM_LeftWingIdle_Frame2[10] = { const u16 sRidleyPartOam_LeftWingIdle_Frame2[10] = {
0x3, 0x3,
0xe1, OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x2a5, 0xe1, OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x2a5,
OBJ_SHAPE_HORIZONTAL | 0xd9, OBJ_SIZE_32x8 | 0x0, OBJ_SPRITE_OAM | 0x285, OBJ_SHAPE_HORIZONTAL | 0xd9, OBJ_SIZE_32x8 | 0x0, OBJ_SPRITE_OAM | 0x285,
OBJ_SHAPE_VERTICAL | 0xd9, OBJ_SIZE_16x32 | 0x20, OBJ_SPRITE_OAM | 0x289 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, 0x2,
OBJ_SHAPE_HORIZONTAL | 0xf0, OBJ_SIZE_32x16 | 0x1, OBJ_SPRITE_OAM | 0x245, OBJ_SHAPE_HORIZONTAL | 0xf0, OBJ_SIZE_32x16 | 0x1, OBJ_SPRITE_OAM | 0x245,
0xf0, OBJ_SIZE_16x16 | 0x21, OBJ_SPRITE_OAM | 0x249 0xf0, OBJ_SIZE_16x16 | 0x21, OBJ_SPRITE_OAM | 0x249
}; };
const u16 sRidleyPartOAM_LeftWingIdle_Frame4[7] = { const u16 sRidleyPartOam_LeftWingIdle_Frame4[7] = {
0x2, 0x2,
OBJ_SHAPE_HORIZONTAL | 0xff, OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1, OBJ_SPRITE_OAM | 0x1245, 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 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, 0x3,
0xfe, OBJ_Y_FLIP | OBJ_SIZE_32x32 | 0x0, OBJ_SPRITE_OAM | 0x12a5, 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_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 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, 0x5,
OBJ_SHAPE_VERTICAL | 0xce, OBJ_SIZE_16x32 | 0x1f2, OBJ_SPRITE_OAM | 0x1345, OBJ_SHAPE_VERTICAL | 0xce, OBJ_SIZE_16x32 | 0x1f2, OBJ_SPRITE_OAM | 0x1345,
0xee, OBJ_SIZE_16x16 | 0x1f2, OBJ_SPRITE_OAM | 0x13c5, 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 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, 0x5,
OBJ_SHAPE_VERTICAL | 0xcf, OBJ_SIZE_16x32 | 0x1f3, OBJ_SPRITE_OAM | 0x1345, OBJ_SHAPE_VERTICAL | 0xcf, OBJ_SIZE_16x32 | 0x1f3, OBJ_SPRITE_OAM | 0x1345,
0xef, OBJ_SIZE_16x16 | 0x1f2, OBJ_SPRITE_OAM | 0x13c5, 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 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, 0x8,
OBJ_SHAPE_HORIZONTAL | 0xd9, 0x1f0, OBJ_SPRITE_OAM | 0x1285, OBJ_SHAPE_HORIZONTAL | 0xd9, 0x1f0, OBJ_SPRITE_OAM | 0x1285,
0xe1, OBJ_SIZE_16x16 | 0x1f0, OBJ_SPRITE_OAM | 0x12a5, 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 0xe9, OBJ_SIZE_16x16 | 0x9, OBJ_SPRITE_OAM | 0x12c9
}; };
const u16 sRidleyPartOAM_RightWingIdle_Frame3[7] = { const u16 sRidleyPartOam_RightWingIdle_Frame3[7] = {
0x2, 0x2,
OBJ_SHAPE_HORIZONTAL | 0xf1, OBJ_SIZE_32x16 | 0x1ef, OBJ_SPRITE_OAM | 0x1245, OBJ_SHAPE_HORIZONTAL | 0xf1, OBJ_SIZE_32x16 | 0x1ef, OBJ_SPRITE_OAM | 0x1245,
0xf1, OBJ_SIZE_16x16 | 0xf, OBJ_SPRITE_OAM | 0x1249 0xf1, OBJ_SIZE_16x16 | 0xf, OBJ_SPRITE_OAM | 0x1249
}; };
const u16 sRidleyPartOAM_RightWingIdle_Frame4[7] = { const u16 sRidleyPartOam_RightWingIdle_Frame4[7] = {
0x2, 0x2,
OBJ_SHAPE_HORIZONTAL | 0xfd, OBJ_Y_FLIP | OBJ_SIZE_32x16 | 0x1ec, OBJ_SPRITE_OAM | 0x1245, 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 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, 0x8,
OBJ_SHAPE_HORIZONTAL | 0x20, OBJ_Y_FLIP | 0x1f0, OBJ_SPRITE_OAM | 0x285, OBJ_SHAPE_HORIZONTAL | 0x20, OBJ_Y_FLIP | 0x1f0, OBJ_SPRITE_OAM | 0x285,
0x10, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 0x1f0, OBJ_SPRITE_OAM | 0x2a5, 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 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x303
}; };
const u16 sRidleyFireballOAM_Small_Frame0[4] = { const u16 sRidleyFireballOam_Small_Frame0[4] = {
0x1, 0x1,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x2209 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x2209
}; };
const u16 sRidleyFireballOAM_Big_Frame0[4] = { const u16 sRidleyFireballOam_Big_Frame0[4] = {
0x1, 0x1,
0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x239c 0xf0, OBJ_SIZE_32x32 | 0x1f0, OBJ_SPRITE_OAM | 0x239c
}; };
@ -1442,272 +1442,272 @@ const struct FrameData sRidleyOAM_TurningAroundSecondPart[3] = {
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_HeadIdle[3] = { const struct FrameData sRidleyPartOam_HeadIdle[3] = {
sRidleyPartOAM_HeadIdle_Frame0, sRidleyPartOam_HeadIdle_Frame0,
0xE, 0xE,
sRidleyPartOAM_HeadIdle_Frame1, sRidleyPartOam_HeadIdle_Frame1,
0x40, 0x40,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_OpeningMouth[2] = { const struct FrameData sRidleyPartOam_OpeningMouth[2] = {
sRidleyPartOAM_OpeningMouth_Frame0, sRidleyPartOam_OpeningMouth_Frame0,
0x5, 0x5,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_MouthOpened[3] = { const struct FrameData sRidleyPartOam_MouthOpened[3] = {
sRidleyPartOAM_MouthOpened_Frame0, sRidleyPartOam_MouthOpened_Frame0,
0x3, 0x3,
sRidleyPartOAM_MouthOpened_Frame1, sRidleyPartOam_MouthOpened_Frame1,
0x3, 0x3,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_HeadDying[5] = { const struct FrameData sRidleyPartOam_HeadDying[5] = {
sRidleyPartOAM_HeadDying_Frame0, sRidleyPartOam_HeadDying_Frame0,
0x3, 0x3,
sRidleyPartOAM_HeadDying_Frame1, sRidleyPartOam_HeadDying_Frame1,
0x3, 0x3,
sRidleyPartOAM_HeadDying_Frame2, sRidleyPartOam_HeadDying_Frame2,
0x3, 0x3,
sRidleyPartOAM_HeadDying_Frame3, sRidleyPartOam_HeadDying_Frame3,
0x3, 0x3,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_HeadTurningAround[2] = { const struct FrameData sRidleyPartOam_HeadTurningAround[2] = {
sRidleyPartOAM_HeadTurningAround_Frame0, sRidleyPartOam_HeadTurningAround_Frame0,
0xFF, 0xFF,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_ClawIdle[7] = { const struct FrameData sRidleyPartOam_ClawIdle[7] = {
sRidleyPartOAM_ClawIdle_Frame0, sRidleyPartOam_ClawIdle_Frame0,
0xE, 0xE,
sRidleyPartOAM_ClawIdle_Frame1, sRidleyPartOam_ClawIdle_Frame1,
0xE, 0xE,
sRidleyPartOAM_ClawIdle_Frame2, sRidleyPartOam_ClawIdle_Frame2,
0xE, 0xE,
sRidleyPartOAM_ClawIdle_Frame3, sRidleyPartOam_ClawIdle_Frame3,
0x8, 0x8,
sRidleyPartOAM_ClawIdle_Frame2, sRidleyPartOam_ClawIdle_Frame2,
0xE, 0xE,
sRidleyPartOAM_ClawIdle_Frame1, sRidleyPartOam_ClawIdle_Frame1,
0xE, 0xE,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_ClawSpittingFireballs[5] = { const struct FrameData sRidleyPartOam_ClawSpittingFireballs[5] = {
sRidleyPartOAM_ClawIdle_Frame0, sRidleyPartOam_ClawIdle_Frame0,
0x3, 0x3,
sRidleyPartOAM_ClawSpittingFireballs_Frame1, sRidleyPartOam_ClawSpittingFireballs_Frame1,
0x3, 0x3,
sRidleyPartOAM_ClawSpittingFireballs_Frame2, sRidleyPartOam_ClawSpittingFireballs_Frame2,
0x3, 0x3,
sRidleyPartOAM_ClawSpittingFireballs_Frame1, sRidleyPartOam_ClawSpittingFireballs_Frame1,
0x3, 0x3,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_ClawTurningAroundFirstPart[3] = { const struct FrameData sRidleyPartOam_ClawTurningAroundFirstPart[3] = {
sRidleyPartOAM_ClawTurningAround_Frame0, sRidleyPartOam_ClawTurningAround_Frame0,
0x4, 0x4,
sRidleyPartOAM_ClawTurningAround_Frame1, sRidleyPartOam_ClawTurningAround_Frame1,
0x4, 0x4,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_ClawTurningAroundSecondPart[3] = { const struct FrameData sRidleyPartOam_ClawTurningAroundSecondPart[3] = {
sRidleyPartOAM_ClawTurningAround_Frame1, sRidleyPartOam_ClawTurningAround_Frame1,
0x4, 0x4,
sRidleyPartOAM_ClawTurningAround_Frame0, sRidleyPartOam_ClawTurningAround_Frame0,
0x4, 0x4,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_ClawCarryingSamus[2] = { const struct FrameData sRidleyPartOam_ClawCarryingSamus[2] = {
sRidleyPartOAM_ClawIdle_Frame0, sRidleyPartOam_ClawIdle_Frame0,
0xFF, 0xFF,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_ClawLiftingSamus[6] = { const struct FrameData sRidleyPartOam_ClawLiftingSamus[6] = {
sRidleyPartOAM_ClawLiftingSamus_Frame0, sRidleyPartOam_ClawLiftingSamus_Frame0,
0x6, 0x6,
sRidleyPartOAM_ClawLiftingSamus_Frame1, sRidleyPartOam_ClawLiftingSamus_Frame1,
0x6, 0x6,
sRidleyPartOAM_ClawLiftingSamus_Frame2, sRidleyPartOam_ClawLiftingSamus_Frame2,
0x6, 0x6,
sRidleyPartOAM_ClawLiftingSamus_Frame3, sRidleyPartOam_ClawLiftingSamus_Frame3,
0x6, 0x6,
sRidleyPartOAM_ClawLiftingSamus_Frame4, sRidleyPartOam_ClawLiftingSamus_Frame4,
0x6, 0x6,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_ClawSamusLifted[2] = { const struct FrameData sRidleyPartOam_ClawSamusLifted[2] = {
sRidleyPartOAM_SamusLifted_Frame0, sRidleyPartOam_SamusLifted_Frame0,
0xFF, 0xFF,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_ClawReleasingSamus[6] = { const struct FrameData sRidleyPartOam_ClawReleasingSamus[6] = {
sRidleyPartOAM_ClawLiftingSamus_Frame4, sRidleyPartOam_ClawLiftingSamus_Frame4,
0x2, 0x2,
sRidleyPartOAM_ClawLiftingSamus_Frame3, sRidleyPartOam_ClawLiftingSamus_Frame3,
0x2, 0x2,
sRidleyPartOAM_ClawLiftingSamus_Frame2, sRidleyPartOam_ClawLiftingSamus_Frame2,
0x2, 0x2,
sRidleyPartOAM_ClawLiftingSamus_Frame1, sRidleyPartOam_ClawLiftingSamus_Frame1,
0x2, 0x2,
sRidleyPartOAM_ClawLiftingSamus_Frame0, sRidleyPartOam_ClawLiftingSamus_Frame0,
0x2, 0x2,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_LeftWingIdle[11] = { const struct FrameData sRidleyPartOam_LeftWingIdle[11] = {
sRidleyPartOAM_LeftWingIdle_Frame0, sRidleyPartOam_LeftWingIdle_Frame0,
0x4, 0x4,
sRidleyPartOAM_LeftWingIdle_Frame1, sRidleyPartOam_LeftWingIdle_Frame1,
0x4, 0x4,
sRidleyPartOAM_LeftWingIdle_Frame2, sRidleyPartOam_LeftWingIdle_Frame2,
0x3, 0x3,
sRidleyPartOAM_LeftWingIdle_Frame3, sRidleyPartOam_LeftWingIdle_Frame3,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame4, sRidleyPartOam_LeftWingIdle_Frame4,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame5, sRidleyPartOam_LeftWingIdle_Frame5,
0x4, 0x4,
sRidleyPartOAM_LeftWingIdle_Frame4, sRidleyPartOam_LeftWingIdle_Frame4,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame3, sRidleyPartOam_LeftWingIdle_Frame3,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame2, sRidleyPartOam_LeftWingIdle_Frame2,
0x3, 0x3,
sRidleyPartOAM_LeftWingIdle_Frame1, sRidleyPartOam_LeftWingIdle_Frame1,
0x4, 0x4,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_RightWingIdle[11] = { const struct FrameData sRidleyPartOam_RightWingIdle[11] = {
sRidleyPartOAM_RightWingIdle_Frame0, sRidleyPartOam_RightWingIdle_Frame0,
0x4, 0x4,
sRidleyPartOAM_RightWingIdle_Frame1, sRidleyPartOam_RightWingIdle_Frame1,
0x4, 0x4,
sRidleyPartOAM_RightWingIdle_Frame2, sRidleyPartOam_RightWingIdle_Frame2,
0x3, 0x3,
sRidleyPartOAM_RightWingIdle_Frame3, sRidleyPartOam_RightWingIdle_Frame3,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame4, sRidleyPartOam_RightWingIdle_Frame4,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame5, sRidleyPartOam_RightWingIdle_Frame5,
0x4, 0x4,
sRidleyPartOAM_RightWingIdle_Frame4, sRidleyPartOam_RightWingIdle_Frame4,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame3, sRidleyPartOam_RightWingIdle_Frame3,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame2, sRidleyPartOam_RightWingIdle_Frame2,
0x3, 0x3,
sRidleyPartOAM_RightWingIdle_Frame1, sRidleyPartOam_RightWingIdle_Frame1,
0x4, 0x4,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_LeftWing_Unused[11] = { const struct FrameData sRidleyPartOam_LeftWing_Unused[11] = {
sRidleyPartOAM_LeftWingIdle_Frame0, sRidleyPartOam_LeftWingIdle_Frame0,
0x3, 0x3,
sRidleyPartOAM_LeftWingIdle_Frame1, sRidleyPartOam_LeftWingIdle_Frame1,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame2, sRidleyPartOam_LeftWingIdle_Frame2,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame3, sRidleyPartOam_LeftWingIdle_Frame3,
0x1, 0x1,
sRidleyPartOAM_LeftWingIdle_Frame4, sRidleyPartOam_LeftWingIdle_Frame4,
0x1, 0x1,
sRidleyPartOAM_LeftWingIdle_Frame5, sRidleyPartOam_LeftWingIdle_Frame5,
0x3, 0x3,
sRidleyPartOAM_LeftWingIdle_Frame4, sRidleyPartOam_LeftWingIdle_Frame4,
0x1, 0x1,
sRidleyPartOAM_LeftWingIdle_Frame3, sRidleyPartOam_LeftWingIdle_Frame3,
0x1, 0x1,
sRidleyPartOAM_LeftWingIdle_Frame2, sRidleyPartOam_LeftWingIdle_Frame2,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame1, sRidleyPartOam_LeftWingIdle_Frame1,
0x2, 0x2,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_RightWing_Unused[11] = { const struct FrameData sRidleyPartOam_RightWing_Unused[11] = {
sRidleyPartOAM_RightWingIdle_Frame0, sRidleyPartOam_RightWingIdle_Frame0,
0x3, 0x3,
sRidleyPartOAM_RightWingIdle_Frame1, sRidleyPartOam_RightWingIdle_Frame1,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame2, sRidleyPartOam_RightWingIdle_Frame2,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame3, sRidleyPartOam_RightWingIdle_Frame3,
0x1, 0x1,
sRidleyPartOAM_RightWingIdle_Frame4, sRidleyPartOam_RightWingIdle_Frame4,
0x1, 0x1,
sRidleyPartOAM_RightWingIdle_Frame5, sRidleyPartOam_RightWingIdle_Frame5,
0x3, 0x3,
sRidleyPartOAM_RightWingIdle_Frame4, sRidleyPartOam_RightWingIdle_Frame4,
0x1, 0x1,
sRidleyPartOAM_RightWingIdle_Frame3, sRidleyPartOam_RightWingIdle_Frame3,
0x1, 0x1,
sRidleyPartOAM_RightWingIdle_Frame2, sRidleyPartOam_RightWingIdle_Frame2,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame1, sRidleyPartOam_RightWingIdle_Frame1,
0x2, 0x2,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_LeftWingSpittingFireballs[7] = { const struct FrameData sRidleyPartOam_LeftWingSpittingFireballs[7] = {
sRidleyPartOAM_LeftWingIdle_Frame0, sRidleyPartOam_LeftWingIdle_Frame0,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame2, sRidleyPartOam_LeftWingIdle_Frame2,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame3, sRidleyPartOam_LeftWingIdle_Frame3,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame4, sRidleyPartOam_LeftWingIdle_Frame4,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame3, sRidleyPartOam_LeftWingIdle_Frame3,
0x2, 0x2,
sRidleyPartOAM_LeftWingIdle_Frame2, sRidleyPartOam_LeftWingIdle_Frame2,
0x2, 0x2,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyPartOAM_RightWingSpittingFireballs[7] = { const struct FrameData sRidleyPartOam_RightWingSpittingFireballs[7] = {
sRidleyPartOAM_RightWingIdle_Frame0, sRidleyPartOam_RightWingIdle_Frame0,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame2, sRidleyPartOam_RightWingIdle_Frame2,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame3, sRidleyPartOam_RightWingIdle_Frame3,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame4, sRidleyPartOam_RightWingIdle_Frame4,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame3, sRidleyPartOam_RightWingIdle_Frame3,
0x2, 0x2,
sRidleyPartOAM_RightWingIdle_Frame2, sRidleyPartOam_RightWingIdle_Frame2,
0x2, 0x2,
NULL, NULL,
0x0 0x0
@ -1769,15 +1769,15 @@ const struct FrameData sRidleyOAM_Square[2] = {
0x0 0x0
}; };
const struct FrameData sRidleyFireballOAM_Small[2] = { const struct FrameData sRidleyFireballOam_Small[2] = {
sRidleyFireballOAM_Small_Frame0, sRidleyFireballOam_Small_Frame0,
0xFF, 0xFF,
NULL, NULL,
0x0 0x0
}; };
const struct FrameData sRidleyFireballOAM_Big[2] = { const struct FrameData sRidleyFireballOam_Big[2] = {
sRidleyFireballOAM_Big_Frame0, sRidleyFireballOam_Big_Frame0,
0xFF, 0xFF,
NULL, NULL,
0x0 0x0

File diff suppressed because it is too large Load Diff

View File

@ -66,7 +66,7 @@ const u16 sRinkaMotherBrainOAM_Spawning_Frame5[19] = {
0xfc, OBJ_X_FLIP | 0x8, OBJ_SPRITE_OAM | 0x1263 0xfc, OBJ_X_FLIP | 0x8, OBJ_SPRITE_OAM | 0x1263
}; };
const u16 sZebetiteOAM_Phase1_Frame0[19] = { const u16 sZebetiteOam_Phase1_Frame0[19] = {
0x6, 0x6,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x8,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x215, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x215,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x8,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x215, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x215,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x6,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20c,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x6,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x8,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x217, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x217,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x8,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x6,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x217, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x217,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_16x32 | 0x1f8, OBJ_SPRITE_OAM | 0x20e,
0xf0, OBJ_Y_FLIP | OBJ_SIZE_16x16 | 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 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, 0x6,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x8,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x219, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x219,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x8,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x6,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x219, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x219,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x210,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x6,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x8,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x21a, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x21a,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x8,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x6,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x21a, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x21a,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x7,
OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211, OBJ_SHAPE_VERTICAL | 0xd0, OBJ_SIZE_8x32 | 0x1fc, OBJ_SPRITE_OAM | 0x211,
OBJ_SHAPE_VERTICAL | 0xf0, OBJ_Y_FLIP | 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 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, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
0xfc, 0x1f0, OBJ_SPRITE_OAM | 0x207 0xfc, 0x1f0, OBJ_SPRITE_OAM | 0x207
}; };
const u16 sCannonOAM_ShootingLeft_Frame1[7] = { const u16 sCannonOam_ShootingLeft_Frame1[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e,
0xfc, 0x1f1, OBJ_SPRITE_OAM | 0x25b 0xfc, 0x1f1, OBJ_SPRITE_OAM | 0x25b
}; };
const u16 sCannonOAM_ShootingLeft_Frame2[7] = { const u16 sCannonOam_ShootingLeft_Frame2[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c,
0xfc, 0x1f2, OBJ_SPRITE_OAM | 0x25b 0xfc, 0x1f2, OBJ_SPRITE_OAM | 0x25b
}; };
const u16 sCannonOAM_LeftToDownLeftTransition_Frame0[7] = { const u16 sCannonOam_LeftToDownLeftTransition_Frame0[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
OBJ_SHAPE_HORIZONTAL | 0x1, 0x1f0, OBJ_SPRITE_OAM | 0x267 OBJ_SHAPE_HORIZONTAL | 0x1, 0x1f0, OBJ_SPRITE_OAM | 0x267
}; };
const u16 sCannonOAM_AimingDownLeft_Frame0[7] = { const u16 sCannonOam_AimingDownLeft_Frame0[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
0x5, 0x1f3, OBJ_SPRITE_OAM | 0x228 0x5, 0x1f3, OBJ_SPRITE_OAM | 0x228
}; };
const u16 sCannonOAM_ShootingDownLeft_Frame1[7] = { const u16 sCannonOam_ShootingDownLeft_Frame1[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e,
0x4, 0x1f4, OBJ_SPRITE_OAM | 0x248 0x4, 0x1f4, OBJ_SPRITE_OAM | 0x248
}; };
const u16 sCannonOAM_ShootingDownLeft_Frame2[7] = { const u16 sCannonOam_ShootingDownLeft_Frame2[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c,
0x3, 0x1f5, OBJ_SPRITE_OAM | 0x248 0x3, 0x1f5, OBJ_SPRITE_OAM | 0x248
}; };
const u16 sCannonOAM_DownLeftToDownTransition_Frame0[7] = { const u16 sCannonOam_DownLeftToDownTransition_Frame0[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
OBJ_SHAPE_VERTICAL | 0x0, 0x1f9, OBJ_SPRITE_OAM | 0x227 OBJ_SHAPE_VERTICAL | 0x0, 0x1f9, OBJ_SPRITE_OAM | 0x227
}; };
const u16 sCannonOAM_AimingDown_Frame0[7] = { const u16 sCannonOam_AimingDown_Frame0[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
0x8, 0x1fc, OBJ_SPRITE_OAM | 0x208 0x8, 0x1fc, OBJ_SPRITE_OAM | 0x208
}; };
const u16 sCannonOAM_ShootingDown_Frame1[7] = { const u16 sCannonOam_ShootingDown_Frame1[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e,
0x7, 0x1fc, OBJ_SPRITE_OAM | 0x27b 0x7, 0x1fc, OBJ_SPRITE_OAM | 0x27b
}; };
const u16 sCannonOAM_ShootingDown_Frame2[7] = { const u16 sCannonOam_ShootingDown_Frame2[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c,
0x6, 0x1fc, OBJ_SPRITE_OAM | 0x27b 0x6, 0x1fc, OBJ_SPRITE_OAM | 0x27b
}; };
const u16 sCannonOAM_DownToDownRightTransition_Frame0[7] = { const u16 sCannonOam_DownToDownRightTransition_Frame0[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
OBJ_SHAPE_VERTICAL | 0x0, OBJ_X_FLIP | 0x1ff, OBJ_SPRITE_OAM | 0x227 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, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
0x5, OBJ_X_FLIP | 0x5, OBJ_SPRITE_OAM | 0x228 0x5, OBJ_X_FLIP | 0x5, OBJ_SPRITE_OAM | 0x228
}; };
const u16 sCannonOAM_ShootingDownRight_Frame1[7] = { const u16 sCannonOam_ShootingDownRight_Frame1[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e,
0x4, OBJ_X_FLIP | 0x4, OBJ_SPRITE_OAM | 0x248 0x4, OBJ_X_FLIP | 0x4, OBJ_SPRITE_OAM | 0x248
}; };
const u16 sCannonOAM_ShootingDownRight_Frame2[7] = { const u16 sCannonOam_ShootingDownRight_Frame2[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c,
0x3, OBJ_X_FLIP | 0x3, OBJ_SPRITE_OAM | 0x248 0x3, OBJ_X_FLIP | 0x3, OBJ_SPRITE_OAM | 0x248
}; };
const u16 sCannonOAM_RightToRightTransition_Frame0[7] = { const u16 sCannonOam_RightToRightTransition_Frame0[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
OBJ_SHAPE_HORIZONTAL | 0x1, OBJ_X_FLIP | 0x0, OBJ_SPRITE_OAM | 0x267 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, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x21c,
0xfc, OBJ_X_FLIP | 0x8, OBJ_SPRITE_OAM | 0x207 0xfc, OBJ_X_FLIP | 0x8, OBJ_SPRITE_OAM | 0x207
}; };
const u16 sCannonOAM_ShootingRight_Frame1[7] = { const u16 sCannonOam_ShootingRight_Frame1[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25e,
0xfc, OBJ_X_FLIP | 0x7, OBJ_SPRITE_OAM | 0x25b 0xfc, OBJ_X_FLIP | 0x7, OBJ_SPRITE_OAM | 0x25b
}; };
const u16 sCannonOAM_ShootingRight_Frame2[7] = { const u16 sCannonOam_ShootingRight_Frame2[7] = {
0x2, 0x2,
0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c, 0xf8, OBJ_SIZE_16x16 | 0x1f8, OBJ_SPRITE_OAM | 0x25c,
0xfc, OBJ_X_FLIP | 0x6, OBJ_SPRITE_OAM | 0x25b 0xfc, OBJ_X_FLIP | 0x6, OBJ_SPRITE_OAM | 0x25b
}; };
const u16 sCannonBulletOAM_Left_Frame0[4] = { const u16 sCannonBulletOam_Left_Frame0[4] = {
0x1, 0x1,
0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1244 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1244
}; };
const u16 sCannonBulletOAM_Left_Frame1[4] = { const u16 sCannonBulletOam_Left_Frame1[4] = {
0x1, 0x1,
0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1264 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1264
}; };
const u16 sCannonBulletOAM_DownLeft_Frame0[4] = { const u16 sCannonBulletOam_DownLeft_Frame0[4] = {
0x1, 0x1,
0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1245 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1245
}; };
const u16 sCannonBulletOAM_DownLeft_Frame1[4] = { const u16 sCannonBulletOam_DownLeft_Frame1[4] = {
0x1, 0x1,
0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1265 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1265
}; };
const u16 sCannonBulletOAM_Down_Frame0[4] = { const u16 sCannonBulletOam_Down_Frame0[4] = {
0x1, 0x1,
0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1246 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1246
}; };
const u16 sCannonBulletOAM_Down_Frame1[4] = { const u16 sCannonBulletOam_Down_Frame1[4] = {
0x1, 0x1,
0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1266 0xfc, 0x1fc, OBJ_SPRITE_OAM | 0x1266
}; };
const u16 sCannonBulletOAM_DownRight_Frame0[4] = { const u16 sCannonBulletOam_DownRight_Frame0[4] = {
0x1, 0x1,
0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1245 0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1245
}; };
const u16 sCannonBulletOAM_DownRight_Frame1[4] = { const u16 sCannonBulletOam_DownRight_Frame1[4] = {
0x1, 0x1,
0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1265 0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1265
}; };
const u16 sCannonBulletOAM_Right_Frame0[4] = { const u16 sCannonBulletOam_Right_Frame0[4] = {
0x1, 0x1,
0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1244 0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1244
}; };
const u16 sCannonBulletOAM_Right_Frame1[4] = { const u16 sCannonBulletOam_Right_Frame1[4] = {
0x1, 0x1,
0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1264 0xfc, OBJ_X_FLIP | 0x1fc, OBJ_SPRITE_OAM | 0x1264
}; };
@ -567,232 +567,232 @@ const struct FrameData sRinkaMotherBrainOAM_Moving[5] = {
0x0 0x0
}; };
const struct FrameData sZebetiteOAM_Phase1[7] = { const struct FrameData sZebetiteOam_Phase1[7] = {
sZebetiteOAM_Phase1_Frame0, sZebetiteOam_Phase1_Frame0,
3, 3,
sZebetiteOAM_Phase1_Frame1, sZebetiteOam_Phase1_Frame1,
3, 3,
sZebetiteOAM_Phase1_Frame2, sZebetiteOam_Phase1_Frame2,
3, 3,
sZebetiteOAM_Phase1_Frame3, sZebetiteOam_Phase1_Frame3,
3, 3,
sZebetiteOAM_Phase1_Frame4, sZebetiteOam_Phase1_Frame4,
3, 3,
sZebetiteOAM_Phase1_Frame5, sZebetiteOam_Phase1_Frame5,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sZebetiteOAM_Phase2[7] = { const struct FrameData sZebetiteOam_Phase2[7] = {
sZebetiteOAM_Phase2_Frame0, sZebetiteOam_Phase2_Frame0,
3, 3,
sZebetiteOAM_Phase2_Frame1, sZebetiteOam_Phase2_Frame1,
3, 3,
sZebetiteOAM_Phase2_Frame2, sZebetiteOam_Phase2_Frame2,
3, 3,
sZebetiteOAM_Phase2_Frame3, sZebetiteOam_Phase2_Frame3,
3, 3,
sZebetiteOAM_Phase2_Frame4, sZebetiteOam_Phase2_Frame4,
3, 3,
sZebetiteOAM_Phase2_Frame5, sZebetiteOam_Phase2_Frame5,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sZebetiteOAM_Phase4[7] = { const struct FrameData sZebetiteOam_Phase4[7] = {
sZebetiteOAM_Phase4_Frame0, sZebetiteOam_Phase4_Frame0,
3, 3,
sZebetiteOAM_Phase4_Frame1, sZebetiteOam_Phase4_Frame1,
3, 3,
sZebetiteOAM_Phase4_Frame2, sZebetiteOam_Phase4_Frame2,
3, 3,
sZebetiteOAM_Phase4_Frame3, sZebetiteOam_Phase4_Frame3,
3, 3,
sZebetiteOAM_Phase4_Frame4, sZebetiteOam_Phase4_Frame4,
3, 3,
sZebetiteOAM_Phase4_Frame5, sZebetiteOam_Phase4_Frame5,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sZebetiteOAM_Phase6[7] = { const struct FrameData sZebetiteOam_Phase6[7] = {
sZebetiteOAM_Phase6_Frame0, sZebetiteOam_Phase6_Frame0,
3, 3,
sZebetiteOAM_Phase6_Frame1, sZebetiteOam_Phase6_Frame1,
3, 3,
sZebetiteOAM_Phase6_Frame2, sZebetiteOam_Phase6_Frame2,
3, 3,
sZebetiteOAM_Phase6_Frame3, sZebetiteOam_Phase6_Frame3,
3, 3,
sZebetiteOAM_Phase6_Frame4, sZebetiteOam_Phase6_Frame4,
3, 3,
sZebetiteOAM_Phase6_Frame5, sZebetiteOam_Phase6_Frame5,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_AimingLeft[2] = { const struct FrameData sCannonOam_AimingLeft[2] = {
sCannonOAM_AimingLeft_Frame0, sCannonOam_AimingLeft_Frame0,
UCHAR_MAX, UCHAR_MAX,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_ShootingLeft[4] = { const struct FrameData sCannonOam_ShootingLeft[4] = {
sCannonOAM_AimingLeft_Frame0, sCannonOam_AimingLeft_Frame0,
16, 16,
sCannonOAM_ShootingLeft_Frame1, sCannonOam_ShootingLeft_Frame1,
2, 2,
sCannonOAM_ShootingLeft_Frame2, sCannonOam_ShootingLeft_Frame2,
2, 2,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_LeftToDownLeftTransition[2] = { const struct FrameData sCannonOam_LeftToDownLeftTransition[2] = {
sCannonOAM_LeftToDownLeftTransition_Frame0, sCannonOam_LeftToDownLeftTransition_Frame0,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_AimingDownLeft[2] = { const struct FrameData sCannonOam_AimingDownLeft[2] = {
sCannonOAM_AimingDownLeft_Frame0, sCannonOam_AimingDownLeft_Frame0,
UCHAR_MAX, UCHAR_MAX,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_ShootingDownLeft[4] = { const struct FrameData sCannonOam_ShootingDownLeft[4] = {
sCannonOAM_AimingDownLeft_Frame0, sCannonOam_AimingDownLeft_Frame0,
16, 16,
sCannonOAM_ShootingDownLeft_Frame1, sCannonOam_ShootingDownLeft_Frame1,
2, 2,
sCannonOAM_ShootingDownLeft_Frame2, sCannonOam_ShootingDownLeft_Frame2,
2, 2,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_DownLeftToDownTransition[2] = { const struct FrameData sCannonOam_DownLeftToDownTransition[2] = {
sCannonOAM_DownLeftToDownTransition_Frame0, sCannonOam_DownLeftToDownTransition_Frame0,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_AimingDown[2] = { const struct FrameData sCannonOam_AimingDown[2] = {
sCannonOAM_AimingDown_Frame0, sCannonOam_AimingDown_Frame0,
UCHAR_MAX, UCHAR_MAX,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_ShootingDown[4] = { const struct FrameData sCannonOam_ShootingDown[4] = {
sCannonOAM_AimingDown_Frame0, sCannonOam_AimingDown_Frame0,
16, 16,
sCannonOAM_ShootingDown_Frame1, sCannonOam_ShootingDown_Frame1,
2, 2,
sCannonOAM_ShootingDown_Frame2, sCannonOam_ShootingDown_Frame2,
2, 2,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_DownToDownRightTransition[2] = { const struct FrameData sCannonOam_DownToDownRightTransition[2] = {
sCannonOAM_DownToDownRightTransition_Frame0, sCannonOam_DownToDownRightTransition_Frame0,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_AimingDownRight[2] = { const struct FrameData sCannonOam_AimingDownRight[2] = {
sCannonOAM_AimingDownRight_Frame0, sCannonOam_AimingDownRight_Frame0,
UCHAR_MAX, UCHAR_MAX,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_ShootingDownRight[4] = { const struct FrameData sCannonOam_ShootingDownRight[4] = {
sCannonOAM_AimingDownRight_Frame0, sCannonOam_AimingDownRight_Frame0,
16, 16,
sCannonOAM_ShootingDownRight_Frame1, sCannonOam_ShootingDownRight_Frame1,
2, 2,
sCannonOAM_ShootingDownRight_Frame2, sCannonOam_ShootingDownRight_Frame2,
2, 2,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_DownRightToRightTransition[2] = { const struct FrameData sCannonOam_DownRightToRightTransition[2] = {
sCannonOAM_RightToRightTransition_Frame0, sCannonOam_RightToRightTransition_Frame0,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_AimingRight[2] = { const struct FrameData sCannonOam_AimingRight[2] = {
sCannonOAM_AimingRight_Frame0, sCannonOam_AimingRight_Frame0,
UCHAR_MAX, UCHAR_MAX,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonOAM_ShootingRight[4] = { const struct FrameData sCannonOam_ShootingRight[4] = {
sCannonOAM_AimingRight_Frame0, sCannonOam_AimingRight_Frame0,
16, 16,
sCannonOAM_ShootingRight_Frame1, sCannonOam_ShootingRight_Frame1,
2, 2,
sCannonOAM_ShootingRight_Frame2, sCannonOam_ShootingRight_Frame2,
2, 2,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonBulletOAM_Left[3] = { const struct FrameData sCannonBulletOam_Left[3] = {
sCannonBulletOAM_Left_Frame0, sCannonBulletOam_Left_Frame0,
3, 3,
sCannonBulletOAM_Left_Frame1, sCannonBulletOam_Left_Frame1,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonBulletOAM_DownLeft[3] = { const struct FrameData sCannonBulletOam_DownLeft[3] = {
sCannonBulletOAM_DownLeft_Frame0, sCannonBulletOam_DownLeft_Frame0,
3, 3,
sCannonBulletOAM_DownLeft_Frame1, sCannonBulletOam_DownLeft_Frame1,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonBulletOAM_Down[3] = { const struct FrameData sCannonBulletOam_Down[3] = {
sCannonBulletOAM_Down_Frame0, sCannonBulletOam_Down_Frame0,
3, 3,
sCannonBulletOAM_Down_Frame1, sCannonBulletOam_Down_Frame1,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonBulletOAM_DownRight[3] = { const struct FrameData sCannonBulletOam_DownRight[3] = {
sCannonBulletOAM_DownRight_Frame0, sCannonBulletOam_DownRight_Frame0,
3, 3,
sCannonBulletOAM_DownRight_Frame1, sCannonBulletOam_DownRight_Frame1,
3, 3,
NULL, NULL,
0 0
}; };
const struct FrameData sCannonBulletOAM_Right[3] = { const struct FrameData sCannonBulletOam_Right[3] = {
sCannonBulletOAM_Right_Frame0, sCannonBulletOam_Right_Frame0,
3, 3,
sCannonBulletOAM_Right_Frame1, sCannonBulletOam_Right_Frame1,
3, 3,
NULL, NULL,
0 0

View File

@ -32,14 +32,15 @@ void DemoStart(void)
gCurrentDemo.noDemoShuffle = FALSE; gCurrentDemo.noDemoShuffle = FALSE;
if (!gCurrentDemo.unk_2_0) if (!gCurrentDemo.hasBeenInit)
{ {
gCurrentDemo.unk_2_0 = TRUE; gCurrentDemo.hasBeenInit = TRUE;
fc8 = gFrameCounter8Bit; 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; gDemoState = DEMO_STATE_STARTING;
@ -58,7 +59,9 @@ void DemoInit(void)
// Get demo number // Get demo number
if (gCurrentDemo.noDemoShuffle) if (gCurrentDemo.noDemoShuffle)
{
demoNbr = gCurrentDemo.number; demoNbr = gCurrentDemo.number;
}
else else
{ {
if (gCurrentDemo.number >= MAX_AMOUNT_OF_DEMOS) if (gCurrentDemo.number >= MAX_AMOUNT_OF_DEMOS)
@ -99,7 +102,6 @@ void DemoInit(void)
break; break;
case 11: case 11:
// FIXME, another way to write this maybe?
write32(&gMinimapTilesWithObtainedItems[AREA_BRINSTAR * MINIMAP_SIZE + 15], 1); write32(&gMinimapTilesWithObtainedItems[AREA_BRINSTAR * MINIMAP_SIZE + 15], 1);
break; break;
} }
@ -212,8 +214,8 @@ void DemoEnd(void)
} }
else else
{ {
// Check end naturally after 8 demos played // Check end naturally after half of the demo played
if (gCurrentDemo.number == 8) if (gCurrentDemo.number == MAX_AMOUNT_OF_DEMOS / 2)
{ {
// End, go back to intro // End, go back to intro
gDemoState = DEMO_STATE_NONE; gDemoState = DEMO_STATE_NONE;

View File

@ -316,10 +316,10 @@ void GalleryVBlank(void)
write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L); write16(REG_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L);
write16(REG_BLDY, gWrittenToBLDY_NonGameplay); 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_BG1VOFS, bgPos);
write16(REG_BG2VOFS, gBG2YPosition / 16 & 0x1FF); write16(REG_BG2VOFS, gBg2YPosition / 16 & 0x1FF);
write16(REG_BG3VOFS, gBG3YPosition / 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_BLDALPHA, gWrittenToBLDALPHA_H << 8 | gWrittenToBLDALPHA_L);
write16(REG_BLDY, gWrittenToBLDY_NonGameplay); write16(REG_BLDY, gWrittenToBLDY_NonGameplay);
write16(REG_BG1HOFS, gBG1XPosition & 0x1FF); write16(REG_BG1HOFS, gBg1XPosition & 0x1FF);
write16(REG_BG2HOFS, gBG2XPosition & 0x1FF); write16(REG_BG2HOFS, gBg2XPosition & 0x1FF);
write16(REG_BG3HOFS, gBG3XPosition & 0x1FF); write16(REG_BG3HOFS, gBg3XPosition & 0x1FF);
} }
/** /**
@ -398,16 +398,16 @@ void CreditsInit(void)
write16(REG_BG3CNT, 0x9A0B); write16(REG_BG3CNT, 0x9A0B);
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0x1000; gBg0YPosition = 0x1000;
gBG1XPosition = 0; gBg1XPosition = 0;
gBG1YPosition = 0x1000; gBg1YPosition = 0x1000;
gBG2XPosition = 0; gBg2XPosition = 0;
gBG2YPosition = 0; gBg2YPosition = 0;
gBG3XPosition = 0; gBg3XPosition = 0;
gBG3YPosition = 0; gBg3YPosition = 0;
write16(REG_BG0HOFS, 0); write16(REG_BG0HOFS, 0);
write16(REG_BG0VOFS, 0x1000); write16(REG_BG0VOFS, 0x1000);
@ -709,7 +709,7 @@ u8 CreditsDisplay(void)
} }
ENDING_DATA.unk_E += 7; ENDING_DATA.unk_E += 7;
gBG0YPosition += 7; gBg0YPosition += 7;
return FALSE; return FALSE;
} }
@ -744,11 +744,11 @@ u8 CreditsChozoWallMovement(void)
if (ENDING_DATA.unk_1) if (ENDING_DATA.unk_1)
{ {
gBG2YPosition += 8; gBg2YPosition += 8;
gBG3YPosition += 8; gBg3YPosition += 8;
// Check end scrolling // Check end scrolling
if (gBG2YPosition == BLOCK_SIZE * 56) if (gBg2YPosition == BLOCK_SIZE * 56)
ENDING_DATA.unk_1 = FALSE; // Disable background scrolling ENDING_DATA.unk_1 = FALSE; // Disable background scrolling
} }
@ -771,7 +771,7 @@ u8 CreditsChozoWallZoom(void)
case 0: case 0:
LZ77UncompVRAM(sCreditsChozoWallBottomZoomedGfx, VRAM_BASE); LZ77UncompVRAM(sCreditsChozoWallBottomZoomedGfx, VRAM_BASE);
DMA_SET(3, sCreditsChozoWallPAL, PALRAM_BASE, DMA_ENABLE << 16 | ARRAY_SIZE(sCreditsChozoWallPAL)); DMA_SET(3, sCreditsChozoWallPAL, PALRAM_BASE, DMA_ENABLE << 16 | ARRAY_SIZE(sCreditsChozoWallPAL));
gBG0YPosition = 0; gBg0YPosition = 0;
gWrittenToBLDALPHA_L = 0; gWrittenToBLDALPHA_L = 0;
gWrittenToBLDALPHA_H = 16; gWrittenToBLDALPHA_H = 16;
break; break;
@ -790,7 +790,7 @@ u8 CreditsChozoWallZoom(void)
ENDING_DATA.dispcnt = DCNT_BG0; ENDING_DATA.dispcnt = DCNT_BG0;
ENDING_DATA.bldcnt = 0; ENDING_DATA.bldcnt = 0;
ENDING_DATA.unk_1++; ENDING_DATA.unk_1++;
gBG1YPosition = 0; gBg1YPosition = 0;
gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_L = 16;
gWrittenToBLDALPHA_H = 0; gWrittenToBLDALPHA_H = 0;
break; break;
@ -896,17 +896,17 @@ void EndScreenInit(void)
write16(REG_BG3CNT, 0x1F03); write16(REG_BG3CNT, 0x1F03);
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
DMA_SET(3, gOamData, OAM_BASE, (DMA_ENABLE | DMA_32BIT) << 16 | OAM_SIZE / 4); DMA_SET(3, gOamData, OAM_BASE, (DMA_ENABLE | DMA_32BIT) << 16 | OAM_SIZE / 4);
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0; gBg0YPosition = 0;
gBG1XPosition = 0x100; gBg1XPosition = 0x100;
gBG1YPosition = 0; gBg1YPosition = 0;
gBG2XPosition = 0x100; gBg2XPosition = 0x100;
gBG2YPosition = 0; gBg2YPosition = 0;
gBG3XPosition = 0; gBg3XPosition = 0;
gBG3YPosition = 0; gBg3YPosition = 0;
write16(REG_BG0HOFS, 0); write16(REG_BG0HOFS, 0);
write16(REG_BG0VOFS, 0); write16(REG_BG0VOFS, 0);
@ -951,10 +951,10 @@ u8 EndScreenSamusPosing(void)
break; break;
case 0: case 0:
gBG1XPosition += 8; gBg1XPosition += 8;
if (gBG1XPosition >= BLOCK_SIZE * 8) if (gBg1XPosition >= BLOCK_SIZE * 8)
{ {
gBG1XPosition = 0; gBg1XPosition = 0;
ENDING_DATA.bldcnt = BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_ALPHA_BLENDING_EFFECT | ENDING_DATA.bldcnt = BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_ALPHA_BLENDING_EFFECT |
BLDCNT_BG2_SECOND_TARGET_PIXEL | BLDCNT_BG3_SECOND_TARGET_PIXEL; BLDCNT_BG2_SECOND_TARGET_PIXEL | BLDCNT_BG3_SECOND_TARGET_PIXEL;
ENDING_DATA.timer = 0; ENDING_DATA.timer = 0;
@ -977,10 +977,10 @@ u8 EndScreenSamusPosing(void)
case 6: case 6:
if (ENDING_DATA.timer++ > 7) if (ENDING_DATA.timer++ > 7)
{ {
gBG2XPosition += 8; gBg2XPosition += 8;
if (gBG2XPosition >= BLOCK_SIZE * 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 | ENDING_DATA.bldcnt = BLDCNT_BG2_FIRST_TARGET_PIXEL | BLDCNT_ALPHA_BLENDING_EFFECT |
BLDCNT_BG1_SECOND_TARGET_PIXEL | BLDCNT_BG3_SECOND_TARGET_PIXEL; BLDCNT_BG1_SECOND_TARGET_PIXEL | BLDCNT_BG3_SECOND_TARGET_PIXEL;
ENDING_DATA.timer = 0; ENDING_DATA.timer = 0;
@ -1001,13 +1001,13 @@ u8 EndScreenSamusPosing(void)
case 8: case 8:
if (ENDING_DATA.timer++ > 23) if (ENDING_DATA.timer++ > 23)
{ {
if (gBG1XPosition >= 10) if (gBg1XPosition >= 10)
{ {
gBG1XPosition -= 10; gBg1XPosition -= 10;
} }
else else
{ {
gBG1XPosition = 0; gBg1XPosition = 0;
ENDING_DATA.timer = 0; ENDING_DATA.timer = 0;
ENDING_DATA.unk_1++; ENDING_DATA.unk_1++;
} }
@ -1120,7 +1120,7 @@ u8 EndScreenSamusPosing(void)
ENDING_DATA.bldcnt = 0; ENDING_DATA.bldcnt = 0;
gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_L = 16;
gWrittenToBLDALPHA_H = 0; gWrittenToBLDALPHA_H = 0;
gBG1XPosition = BLOCK_SIZE * 4; gBg1XPosition = BLOCK_SIZE * 4;
ENDING_DATA.unk_124[1]++; ENDING_DATA.unk_124[1]++;
break; break;
@ -1134,7 +1134,7 @@ u8 EndScreenSamusPosing(void)
ENDING_DATA.bldcnt = 0; ENDING_DATA.bldcnt = 0;
gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_L = 16;
gWrittenToBLDALPHA_H = 0; gWrittenToBLDALPHA_H = 0;
gBG2XPosition = BLOCK_SIZE * 4; gBg2XPosition = BLOCK_SIZE * 4;
ENDING_DATA.unk_124[1]++; ENDING_DATA.unk_124[1]++;
break; break;
@ -1148,7 +1148,7 @@ u8 EndScreenSamusPosing(void)
ENDING_DATA.bldcnt = 0; ENDING_DATA.bldcnt = 0;
gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_L = 16;
gWrittenToBLDALPHA_H = 0; gWrittenToBLDALPHA_H = 0;
gBG1XPosition = BLOCK_SIZE * 4; gBg1XPosition = BLOCK_SIZE * 4;
ENDING_DATA.unk_124[1]++; ENDING_DATA.unk_124[1]++;
break; break;
@ -1176,7 +1176,7 @@ u8 EndScreenSamusPosing(void)
ENDING_DATA.bldcnt = 0; ENDING_DATA.bldcnt = 0;
gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_L = 16;
gWrittenToBLDALPHA_H = 0; gWrittenToBLDALPHA_H = 0;
gBG2XPosition = 0; gBg2XPosition = 0;
ENDING_DATA.unk_124[1]++; ENDING_DATA.unk_124[1]++;
break; break;
@ -1230,7 +1230,7 @@ u8 EndScreenSamusPosing(void)
} }
if (!(ENDING_DATA.endScreenTimer & 7)) if (!(ENDING_DATA.endScreenTimer & 7))
gBG3XPosition++; gBg3XPosition++;
return ended; return ended;
} }
@ -1305,16 +1305,16 @@ void EndingImageInit(void)
write16(REG_BG1CNT, 0x9E09); write16(REG_BG1CNT, 0x9E09);
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0x1000; gBg0YPosition = 0x1000;
gBG1XPosition = 0; gBg1XPosition = 0;
gBG1YPosition = 0x1000; gBg1YPosition = 0x1000;
gBG2XPosition = 0; gBg2XPosition = 0;
gBG2YPosition = 0; gBg2YPosition = 0;
gBG3XPosition = 0; gBg3XPosition = 0;
gBG3YPosition = 0; gBg3YPosition = 0;
write16(REG_BG0HOFS, 0); write16(REG_BG0HOFS, 0);
write16(REG_BG0VOFS, 0); write16(REG_BG0VOFS, 0);
@ -1326,8 +1326,7 @@ void EndingImageInit(void)
write16(REG_BG3VOFS, 0); write16(REG_BG3VOFS, 0);
ENDING_DATA.dispcnt = DCNT_OBJ | DCNT_BG0 | DCNT_BG1; 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 | ENDING_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
gWrittenToBLDALPHA_L = 16; gWrittenToBLDALPHA_L = 16;
@ -1510,15 +1509,15 @@ u8 EndingImageDisplay(void)
if (ENDING_DATA.unk_8) if (ENDING_DATA.unk_8)
{ {
if (gBG0YPosition > 6) if (gBg0YPosition > 6)
{ {
gBG0YPosition -= 6; gBg0YPosition -= 6;
gBG1YPosition -= 6; gBg1YPosition -= 6;
} }
else else
{ {
gBG0YPosition = 0; gBg0YPosition = 0;
gBG1YPosition = 0; gBg1YPosition = 0;
ENDING_DATA.unk_8 = FALSE; ENDING_DATA.unk_8 = FALSE;
} }
} }
@ -1574,7 +1573,7 @@ void UnlockedOptionsInit(void)
write16(REG_BG1CNT, 0x1101); write16(REG_BG1CNT, 0x1101);
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
write16(REG_BG0HOFS, 0); write16(REG_BG0HOFS, 0);
write16(REG_BG0VOFS, 0); write16(REG_BG0VOFS, 0);
@ -1726,7 +1725,7 @@ u32 CreditsSubroutine(void)
gGameModeSub1++; gGameModeSub1++;
} }
ResetFreeOAM(); ResetFreeOam();
break; break;
case 7: case 7:
@ -1784,7 +1783,7 @@ u32 CreditsSubroutine(void)
} }
} }
ResetFreeOAM(); ResetFreeOam();
break; break;
case 1: case 1:
@ -1823,7 +1822,7 @@ u32 CreditsSubroutine(void)
gGameModeSub1++; gGameModeSub1++;
} }
ResetFreeOAM(); ResetFreeOam();
break; break;
} }
@ -1900,16 +1899,16 @@ void GalleryInit(void)
write16(REG_BG1CNT, 0x9E09); write16(REG_BG1CNT, 0x9E09);
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0x1000; gBg0YPosition = 0x1000;
gBG1XPosition = 0; gBg1XPosition = 0;
gBG1YPosition = 0x1000; gBg1YPosition = 0x1000;
gBG2XPosition = 0; gBg2XPosition = 0;
gBG2YPosition = 0; gBg2YPosition = 0;
gBG3XPosition = 0; gBg3XPosition = 0;
gBG3YPosition = 0; gBg3YPosition = 0;
write16(REG_BG0HOFS, 0); write16(REG_BG0HOFS, 0);
write16(REG_BG0VOFS, 0x1000); write16(REG_BG0VOFS, 0x1000);
@ -1923,8 +1922,7 @@ void GalleryInit(void)
ENDING_DATA.unk_8 = 0; ENDING_DATA.unk_8 = 0;
ENDING_DATA.dispcnt = DCNT_BG0 | DCNT_BG1 | DCNT_OBJ; 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 | ENDING_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
GalleryVBlank(); GalleryVBlank();
@ -2008,10 +2006,10 @@ u32 GalleryDisplay(void)
if (!change) if (!change)
{ {
if (gBG0YPosition > velocity) if (gBg0YPosition > velocity)
{ {
gBG0YPosition -= velocity; gBg0YPosition -= velocity;
gBG1YPosition -= velocity; gBg1YPosition -= velocity;
} }
else else
{ {
@ -2021,13 +2019,13 @@ u32 GalleryDisplay(void)
} }
else else
{ {
gBG0YPosition += velocity; gBg0YPosition += velocity;
gBG1YPosition += velocity; gBg1YPosition += velocity;
if (gBG0YPosition > BLOCK_SIZE * 64) if (gBg0YPosition > BLOCK_SIZE * 64)
{ {
gBG0YPosition = BLOCK_SIZE * 64; gBg0YPosition = BLOCK_SIZE * 64;
gBG1YPosition = BLOCK_SIZE * 64; gBg1YPosition = BLOCK_SIZE * 64;
} }
} }

View File

@ -1,4 +1,5 @@
#include "fixed_point.h" #include "fixed_point.h"
#include "macros.h"
/** /**
* @brief a4c | 1c | Fixed point multiplication * @brief a4c | 1c | Fixed point multiplication
@ -11,9 +12,13 @@ s16 FixedMultiplication(s16 a, s16 b)
{ {
s32 x = a; s32 x = a;
s32 y = b; s32 y = b;
s32 res = x; s32 res;
res = x;
res *= y; res *= y;
res /= 0x100;
res = Q_8_8_TO_INT(res);
return res; return res;
} }
@ -29,7 +34,7 @@ s16 FixedDivision(s16 a, s16 b)
s32 x = a; s32 x = a;
s32 y = b; 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) s16 FixedInverse(s16 a)
{ {
return 0x10000 / a; return Q_16_16(1.f) / a;
} }

View File

@ -15,8 +15,8 @@
#define GALLERY_RESET_BG_POS()\ #define GALLERY_RESET_BG_POS()\
do { \ do { \
gBG0YPosition = 0; \ gBg0YPosition = 0; \
gBG1YPosition = 0; \ gBg1YPosition = 0; \
} while(0); } while(0);
/** /**
@ -32,8 +32,8 @@ void FusionGalleryVBlank(void)
write16(REG_BLDY, gWrittenToBLDY_NonGameplay); write16(REG_BLDY, gWrittenToBLDY_NonGameplay);
write16(REG_BG0VOFS, (gBG0YPosition / 16) & 0x1FF); write16(REG_BG0VOFS, (gBg0YPosition / 16) & 0x1FF);
write16(REG_BG1VOFS, (gBG1YPosition / 16) & 0x1FF); write16(REG_BG1VOFS, (gBg1YPosition / 16) & 0x1FF);
} }
void FusionGalleryInit(void) void FusionGalleryInit(void)
@ -73,16 +73,16 @@ void FusionGalleryInit(void)
write16(REG_BG1CNT, 0x9E09); write16(REG_BG1CNT, 0x9E09);
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0x1000; gBg0YPosition = 0x1000;
gBG1XPosition = 0; gBg1XPosition = 0;
gBG1YPosition = 0x1000; gBg1YPosition = 0x1000;
gBG2XPosition = 0; gBg2XPosition = 0;
gBG2YPosition = 0; gBg2YPosition = 0;
gBG3XPosition = 0; gBg3XPosition = 0;
gBG3YPosition = 0; gBg3YPosition = 0;
write16(REG_BG0HOFS, 0); write16(REG_BG0HOFS, 0);
write16(REG_BG0VOFS, 0x1000); write16(REG_BG0VOFS, 0x1000);
@ -95,8 +95,7 @@ void FusionGalleryInit(void)
FUSION_GALLERY_DATA.unk_2 = 0; FUSION_GALLERY_DATA.unk_2 = 0;
FUSION_GALLERY_DATA.dispcnt = DCNT_BG0 | DCNT_BG1 | DCNT_OBJ; 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 | ENDING_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
FusionGalleryVBlank(); FusionGalleryVBlank();
@ -175,10 +174,10 @@ u32 FusionGalleryDisplay(void)
if (!change) if (!change)
{ {
if (gBG0YPosition > velocity) if (gBg0YPosition > velocity)
{ {
gBG0YPosition -= velocity; gBg0YPosition -= velocity;
gBG1YPosition -= velocity; gBg1YPosition -= velocity;
} }
else else
{ {
@ -188,13 +187,13 @@ u32 FusionGalleryDisplay(void)
} }
else else
{ {
gBG0YPosition += velocity; gBg0YPosition += velocity;
gBG1YPosition += velocity; gBg1YPosition += velocity;
if (gBG0YPosition > BLOCK_SIZE * 64) if (gBg0YPosition > BLOCK_SIZE * 64)
{ {
gBG0YPosition = BLOCK_SIZE * 64; gBg0YPosition = BLOCK_SIZE * 64;
gBG1YPosition = BLOCK_SIZE * 64; gBg1YPosition = BLOCK_SIZE * 64;
} }
} }

View File

@ -428,7 +428,7 @@ void Haze_Bg3(void)
gUnk_3005728 += gHazeLoops[0].unk_3; gUnk_3005728 += gHazeLoops[0].unk_3;
position = (gEffectYPosition / 4) - (gBG1YPosition / 4) - 1; position = (gEffectYPosition / 4) - (gBg1YPosition / 4) - 1;
CLAMP(position, 0, 0xA0); CLAMP(position, 0, 0xA0);
@ -497,7 +497,7 @@ void Haze_Bg3StrongWeak(void)
gUnk_3005728 += gHazeLoops[0].unk_3; gUnk_3005728 += gHazeLoops[0].unk_3;
gUnk_3005729 += gHazeLoops[1].unk_3; gUnk_3005729 += gHazeLoops[1].unk_3;
position = (gEffectYPosition / 4) - (gBG1YPosition / 4) - 1; position = (gEffectYPosition / 4) - (gBg1YPosition / 4) - 1;
CLAMP(position, 0, 0xA0); CLAMP(position, 0, 0xA0);
@ -680,8 +680,8 @@ u32 Haze_PowerBombExpanding(void)
src = sHaze_PowerBomb_WindowValuesPointers[gCurrentPowerBomb.semiMinorAxis]; src = sHaze_PowerBomb_WindowValuesPointers[gCurrentPowerBomb.semiMinorAxis];
size = gCurrentPowerBomb.semiMinorAxis; size = gCurrentPowerBomb.semiMinorAxis;
xPosition = (gCurrentPowerBomb.xPosition - gBG1XPosition) >> 2; xPosition = (gCurrentPowerBomb.xPosition - gBg1XPosition) >> 2;
yPosition = (gCurrentPowerBomb.yPosition - gBG1YPosition) >> 2; yPosition = (gCurrentPowerBomb.yPosition - gBg1YPosition) >> 2;
dst = (u16*)0x2026d00; dst = (u16*)0x2026d00;
for (i = 0; i <= 53 * 3; i++, dst++) for (i = 0; i <= 53 * 3; i++, dst++)
@ -755,8 +755,8 @@ u32 Haze_PowerBombRetracting(void)
src = sHaze_PowerBomb_WindowValuesPointers[gCurrentPowerBomb.semiMinorAxis]; src = sHaze_PowerBomb_WindowValuesPointers[gCurrentPowerBomb.semiMinorAxis];
size = gCurrentPowerBomb.semiMinorAxis; size = gCurrentPowerBomb.semiMinorAxis;
xPosition = (gCurrentPowerBomb.xPosition - gBG1XPosition) >> 2; xPosition = (gCurrentPowerBomb.xPosition - gBg1XPosition) >> 2;
yPosition = (gCurrentPowerBomb.yPosition - gBG1YPosition) >> 2; yPosition = (gCurrentPowerBomb.yPosition - gBg1YPosition) >> 2;
dst = (u16*)0x2026d00; dst = (u16*)0x2026d00;
for (i = 0; i <= 53 * 3; i++, dst++) for (i = 0; i <= 53 * 3; i++, dst++)

View File

@ -115,7 +115,7 @@ u32 InGameMainLoop(void)
{ {
SamusCallGfxFunctions(); SamusCallGfxFunctions();
SamusDraw(); SamusDraw();
ResetFreeOAM(); ResetFreeOam();
RoomUpdate(); RoomUpdate();
} }
else if (gGameModeSub1 != 0) else if (gGameModeSub1 != 0)
@ -147,7 +147,7 @@ u32 InGameMainLoop(void)
SpriteDrawAll_Upper(); SpriteDrawAll_Upper();
ProjectileDrawAllStatusTrue(); ProjectileDrawAllStatusTrue();
ResetFreeOAM(); ResetFreeOam();
RoomUpdate(); RoomUpdate();
if (gGameModeSub1 == SUB_GAME_MODE_PLAYING) if (gGameModeSub1 == SUB_GAME_MODE_PLAYING)

View File

@ -236,7 +236,7 @@ u32 InGameCutsceneUpgradingSuit(u8 cutsceneNumber, u8 cutsceneNumberNoFlag)
ended = FALSE; ended = FALSE;
changeStage = FALSE; changeStage = FALSE;
temp = gSamusData.xPosition - gBG1XPosition; temp = gSamusData.xPosition - gBg1XPosition;
if (temp < 0) if (temp < 0)
left = 0; left = 0;
else else
@ -249,7 +249,7 @@ u32 InGameCutsceneUpgradingSuit(u8 cutsceneNumber, u8 cutsceneNumberNoFlag)
right = left + 2; right = left + 2;
bottom = gSamusData.yPosition - 0x60; bottom = gSamusData.yPosition - 0x60;
temp = bottom - gBG1YPosition; temp = bottom - gBg1YPosition;
if (temp < 0) if (temp < 0)
top = 0; top = 0;
else else
@ -801,8 +801,8 @@ void InGameCutsceneCheckPlayOnTransition(void)
gCurrentRoomEntry.BG0Prop = BG_PROP_CLOSE_UP; gCurrentRoomEntry.BG0Prop = BG_PROP_CLOSE_UP;
gCurrentRoomEntry.BG0Size = 0; gCurrentRoomEntry.BG0Size = 0;
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0; gBg0YPosition = 0;
// Setup fade and blending // Setup fade and blending
gIoRegistersBackup.BLDALPHA_NonGameplay_EVA = gDefaultTransparency.evaCoef = 4; gIoRegistersBackup.BLDALPHA_NonGameplay_EVA = gDefaultTransparency.evaCoef = 4;

View File

@ -17,14 +17,14 @@ void InitializeGame(void)
write16(REG_IME, FALSE); write16(REG_IME, FALSE);
write16(REG_DISPSTAT, 0); write16(REG_DISPSTAT, 0);
dma_fill32(3, 0, EWRAM_BASE, 0x40000); dma_fill32(3, 0, EWRAM_BASE, EWRAM_SIZE);
dma_fill32(3, 0, IWRAM_BASE, 0x7e00); dma_fill32(3, 0, IWRAM_BASE, IWRAM_SIZE - 0x200);
ClearGfxRam(); ClearGfxRam();
LoadInterruptCode(); LoadInterruptCode();
CallbackSetVBlank(SoftresetVBlankCallback); CallbackSetVBlank(SoftresetVBlankCallback);
SramRead_All(); SramRead_All();
init_sound(); InitializeAudio();
write16(REG_IE, IF_VBLANK | IF_DMA2 | IF_GAMEPAK); write16(REG_IE, IF_VBLANK | IF_DMA2 | IF_GAMEPAK);
write16(REG_DISPSTAT, DSTAT_IF_VBLANK); write16(REG_DISPSTAT, DSTAT_IF_VBLANK);
@ -54,8 +54,8 @@ void InitializeGame(void)
gChangedInput = 0; gChangedInput = 0;
gDisableSoftreset = FALSE; gDisableSoftreset = FALSE;
gStereoFlag = 0; gStereoFlag = FALSE;
write16(REG_IF, 0xffff); write16(REG_IF, USHORT_MAX);
write16(REG_IME, TRUE); write16(REG_IME, TRUE);
} }

View File

@ -5,27 +5,58 @@
#include "memory.h" #include "memory.h"
#include "types.h" #include "types.h"
/**
* @brief 9a0 | 48 | Clears all the graphics ram (VRAM, OAM, PALRAM)
*
*/
void ClearGfxRam(void) void ClearGfxRam(void)
{ {
BitFill(3, 0x00, VRAM_BASE, VRAM_SIZE, 0x10); // Clear VRAM
BitFill(3, 0xff, OAM_BASE, OAM_SIZE, 0x20); BitFill(3, 0, VRAM_BASE, VRAM_SIZE, 16);
BitFill(3, 0x00, PALRAM_BASE, PALRAM_SIZE, 0x10);
// 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) void LoadInterruptCode(void)
{ {
DmaTransfer(3, intr_main, &gInterruptCode, sizeof(gInterruptCode), 0x10); // Transfer code
intr_code_ptr = &gInterruptCode; 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; s32 i;
u16 *oam = (u16*)gOamData; u16* oam;
oam += gNextOamSlot * 4;
for (i = gNextOamSlot; i < 0x80; ++oam, ++i) { // Start at the next oam slot
*oam++ = 0xff; oam = (u16*)&gOamData;
*oam++ = 0xff; oam += gNextOamSlot * sizeof(union OamData) / sizeof(*oam);
*oam++ = 0x0;
// 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;
} }
} }

View File

@ -22,15 +22,15 @@
*/ */
void IntroVBlank(void) 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_DISPCNT, INTRO_DATA.dispcnt);
write16(REG_BLDCNT, INTRO_DATA.bldcnt); 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_BLDY, gWrittenToBLDY_NonGameplay);
write16(REG_BG0HOFS, gBG0XPosition & 0x1FF); write16(REG_BG0HOFS, MOD_AND(gBg0XPosition, 512));
write16(REG_BG0VOFS, gBG0YPosition & 0x1FF); write16(REG_BG0VOFS, MOD_AND(gBg0YPosition, 512));
} }
/** /**
@ -39,12 +39,12 @@ void IntroVBlank(void)
*/ */
void IntroFuzzVBlank(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_DISPCNT, INTRO_DATA.dispcnt);
write16(REG_BLDCNT, INTRO_DATA.bldcnt); 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); write16(REG_IME, TRUE);
zero = 0; 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.charDrawerX = 0x38;
INTRO_DATA.charDrawerY = 0x60; INTRO_DATA.charDrawerY = 0x60;
@ -82,41 +82,40 @@ void IntroInit(void)
LZ77UncompVRAM(sIntroSpaceBackgroundTileTable, VRAM_BASE + 0x8000); LZ77UncompVRAM(sIntroSpaceBackgroundTileTable, VRAM_BASE + 0x8000);
LZ77UncompVRAM(sIntro_47920c, VRAM_BASE + 0x9000); LZ77UncompVRAM(sIntro_47920c, VRAM_BASE + 0x9000);
DMA_SET(3, sIntroTextAndShipPAL, PALRAM_OBJ, DMA_ENABLE << 16 | sizeof(sIntroTextAndShipPAL) / 2); DMA_SET(3, sIntroTextAndShipPAL, PALRAM_OBJ, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroTextAndShipPAL)));
DMA_SET(3, sIntroTextAndShipPAL, PALRAM_BASE, DMA_ENABLE << 16 | sizeof(sIntroTextAndShipPAL) / 2); DMA_SET(3, sIntroTextAndShipPAL, PALRAM_BASE, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroTextAndShipPAL)));
DMA_SET(3, sIntroPAL_45f9d4, PALRAM_BASE + 0x1E0, DMA_ENABLE << 16 | sizeof(sIntroPAL_45f9d4) / 2); DMA_SET(3, sIntroPAL_45f9d4, PALRAM_BASE + 0x1E0, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroPAL_45f9d4)));
write16(REG_BG0CNT, 0x1000); write16(REG_BG0CNT, BGCNT_CREATE(0, 16, BGCNT_HIGH_PRIORITY, BGCNT_SIZE_256x256));
write16(REG_BG1CNT, 0x1201); write16(REG_BG1CNT, BGCNT_CREATE(0, 18, BGCNT_HIGH_MID_PRIORITY, BGCNT_SIZE_256x256));
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0; gBg0YPosition = 0;
gBG1XPosition = 0; gBg1XPosition = 0;
gBG1YPosition = 0; gBg1YPosition = 0;
gBG2XPosition = 0; gBg2XPosition = 0;
gBG2YPosition = 0; gBg2YPosition = 0;
gBG3XPosition = 0; gBg3XPosition = 0;
gBG3YPosition = 0; gBg3YPosition = 0;
write16(REG_BG0HOFS, gBG0XPosition); write16(REG_BG0HOFS, gBg0XPosition);
write16(REG_BG0VOFS, gBG0YPosition); write16(REG_BG0VOFS, gBg0YPosition);
write16(REG_BG1HOFS, gBG1XPosition); write16(REG_BG1HOFS, gBg1XPosition);
write16(REG_BG1VOFS, gBG1YPosition); write16(REG_BG1VOFS, gBg1YPosition);
write16(REG_BG2HOFS, gBG2XPosition); write16(REG_BG2HOFS, gBg2XPosition);
write16(REG_BG2VOFS, gBG2YPosition); write16(REG_BG2VOFS, gBg2YPosition);
write16(REG_BG3HOFS, gBG3XPosition); write16(REG_BG3HOFS, gBg3XPosition);
write16(REG_BG3VOFS, gBG3YPosition); write16(REG_BG3VOFS, gBg3YPosition);
UpdateMusicPriority(1); UpdateMusicPriority(1);
INTRO_DATA.dispcnt = DCNT_OBJ; INTRO_DATA.dispcnt = DCNT_OBJ;
INTRO_DATA.bldcnt = BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | INTRO_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET | BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
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 = 16;
gWrittenToBLDY_NonGameplay = 0x10;
IntroVBlank(); IntroVBlank();
} }
@ -151,7 +150,7 @@ void IntroTextProcessOAM(void)
dst = (u16*)gOamData; dst = (u16*)gOamData;
i = 0; i = 0;
yPosition = BLOCK_SIZE * 2; yPosition = BLOCK_SIZE * 2;
xPosition = 0x78; xPosition = BLOCK_SIZE + QUARTER_BLOCK_SIZE * 3 + PIXEL_SIZE * 2;
if (INTRO_DATA.nextCharacter != 0) if (INTRO_DATA.nextCharacter != 0)
{ {
@ -173,7 +172,7 @@ void IntroTextProcessOAM(void)
part = *src++; part = *src++;
*dst++ = part; *dst++ = part;
gOamData[i].split.x = (part + xPosition) & 0x1FF; gOamData[i].split.x = MOD_AND(part + xPosition, 512);
*dst++ = *src++; *dst++ = *src++;
if (i == INTRO_DATA.nextCharacter - 1) if (i == INTRO_DATA.nextCharacter - 1)
@ -201,7 +200,7 @@ void IntroTextProcessOAM(void)
part = *src++; part = *src++;
*dst++ = part; *dst++ = part;
gOamData[i].split.x = (part + xPosition) & 0x1FF; gOamData[i].split.x = MOD_AND(part + xPosition, 512);
*dst++ = *src++; *dst++ = *src++;
gOamData[i].split.paletteNum = INTRO_DATA.charDrawerPalette; gOamData[i].split.paletteNum = INTRO_DATA.charDrawerPalette;
@ -404,17 +403,17 @@ void IntroShipFlyingTowardsCameraProcessOAM(void)
else if (INTRO_DATA.timer < 28) else if (INTRO_DATA.timer < 28)
INTRO_DATA.shipFlyingTowardsCameraY -= 1; INTRO_DATA.shipFlyingTowardsCameraY -= 1;
if (INTRO_DATA.scaling < 0x80) if (INTRO_DATA.scaling < Q_8_8(.5f))
INTRO_DATA.scaling += 8; INTRO_DATA.scaling += Q_8_8(.035f);
else if (INTRO_DATA.scaling < 0x140) else if (INTRO_DATA.scaling < Q_8_8(1.25f))
INTRO_DATA.scaling += 16; INTRO_DATA.scaling += Q_8_8(.065f);
else if (INTRO_DATA.scaling < 0x1E0) else if (INTRO_DATA.scaling < Q_8_8(1.875f))
INTRO_DATA.scaling += 32; INTRO_DATA.scaling += Q_8_8(.125f);
if ((INTRO_DATA.timer & 7) < 4) if (MOD_AND(INTRO_DATA.timer, 8) < 4)
src = sIntroShipFlyingTowardsCameraOAM_1; src = sIntroShipFlyingTowardsCameraOam_1;
else else
src = sIntroShipFlyingTowardsCameraOAM_2; src = sIntroShipFlyingTowardsCameraOam_2;
partCount = *src++; partCount = *src++;
yPosition = INTRO_DATA.shipFlyingTowardsCameraY; yPosition = INTRO_DATA.shipFlyingTowardsCameraY;
@ -424,8 +423,10 @@ void IntroShipFlyingTowardsCameraProcessOAM(void)
{ {
part = *src++; part = *src++;
*dst++ = part; *dst++ = part;
part = *src++; part = *src++;
*dst++ = part; *dst++ = part;
*dst++ = *src++; *dst++ = *src++;
dst++; dst++;
@ -499,7 +500,7 @@ u8 IntroSamusInHerShip(void)
break; break;
case 2: 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; break;
case 3: case 3:
@ -514,15 +515,15 @@ u8 IntroSamusInHerShip(void)
ended = TRUE; ended = TRUE;
} }
if ((INTRO_DATA.unk_A & 3) < 2) if (MOD_AND(INTRO_DATA.unk_A, 4) < 2)
{ {
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0; gBg0YPosition = 0;
} }
else else
{ {
gBG0XPosition--; gBg0XPosition--;
gBG0YPosition--; gBg0YPosition--;
} }
INTRO_DATA.unk_A++; INTRO_DATA.unk_A++;
@ -562,7 +563,7 @@ u8 IntroExterminate(void)
if (INTRO_DATA.unk_42 == 0 && gLanguage != LANGUAGE_ENGLISH) if (INTRO_DATA.unk_42 == 0 && gLanguage != LANGUAGE_ENGLISH)
INTRO_DATA.unk_42 = TextProcessStory(); INTRO_DATA.unk_42 = TextProcessStory();
textResult = IntroProcessText(sIntroExterminateAllActions[INTRO_DATA.currentCharacter], 0x8); textResult = IntroProcessText(sIntroExterminateAllActions[INTRO_DATA.currentCharacter], PIXEL_SIZE * 2);
if (textResult == 2) if (textResult == 2)
{ {
INTRO_DATA.stage++; INTRO_DATA.stage++;
@ -604,7 +605,7 @@ void IntroViewOfZebesProcessOAM(void)
dst = (u16*)gOamData; 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; yPosition = BLOCK_SIZE + HALF_BLOCK_SIZE - 1;
xPosition = BLOCK_SIZE * 2; xPosition = BLOCK_SIZE * 2;
@ -628,7 +629,7 @@ void IntroViewOfZebesProcessOAM(void)
part = *src++; part = *src++;
*dst++ = part; *dst++ = part;
gOamData[i].split.x = (part + xPosition) & 0x1FF; gOamData[i].split.x = MOD_AND(part + xPosition, 512);
*dst++ = *src++; *dst++ = *src++;
dst++; dst++;
@ -654,7 +655,7 @@ void IntroViewOfZebesProcessOAM(void)
part = *src++; part = *src++;
*dst++ = part; *dst++ = part;
gOamData[i].split.x = (part + xPosition) & 0x1FF; gOamData[i].split.x = MOD_AND(part + xPosition, 512);
*dst++ = *src++; *dst++ = *src++;
dst++; dst++;
@ -687,19 +688,19 @@ u8 IntroViewOfZebes(void)
case 2: case 2:
LZ77UncompVRAM(sIntroViewOfZebesTileTable, VRAM_BASE + 0x8000); LZ77UncompVRAM(sIntroViewOfZebesTileTable, VRAM_BASE + 0x8000);
DMA_SET(3, sIntroViewOfZebesPAL, PALRAM_BASE, DMA_ENABLE << 16 | sizeof(sIntroViewOfZebesPAL) / 2); DMA_SET(3, sIntroViewOfZebesPAL, PALRAM_BASE, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroViewOfZebesPAL)));
DMA_SET(3, sIntroViewOfZebesPAL, PALRAM_OBJ, DMA_ENABLE << 16 | sizeof(sIntroViewOfZebesPAL) / 2); DMA_SET(3, sIntroViewOfZebesPAL, PALRAM_OBJ, C_32_2_16(DMA_ENABLE, ARRAY_SIZE(sIntroViewOfZebesPAL)));
gBG0XPosition = 0x10; gBg0XPosition = QUARTER_BLOCK_SIZE;
break; break;
case 3: 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.dispcnt = DCNT_BG0 | DCNT_OBJ;
INTRO_DATA.bldcnt = BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BG0_SECOND_TARGET_PIXEL | BLDCNT_OBJ_SECOND_TARGET_PIXEL; INTRO_DATA.bldcnt = BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BG0_SECOND_TARGET_PIXEL | BLDCNT_OBJ_SECOND_TARGET_PIXEL;
SoundPlay(0x229); SoundPlay(0x229);
break; break;
case 0x50: case 80:
INTRO_DATA.dispcnt = 0; INTRO_DATA.dispcnt = 0;
INTRO_DATA.bldcnt = 0; INTRO_DATA.bldcnt = 0;
SoundFade(0x229, 0); SoundFade(0x229, 0);
@ -710,7 +711,7 @@ u8 IntroViewOfZebes(void)
if (INTRO_DATA.unk_A++ > 4) if (INTRO_DATA.unk_A++ > 4)
{ {
INTRO_DATA.unk_A = 0; INTRO_DATA.unk_A = 0;
gBG0XPosition--; gBg0XPosition--;
} }
if (ended) if (ended)
@ -755,7 +756,7 @@ u8 IntroDefeat(void)
if (INTRO_DATA.unk_42 == 0 && gLanguage != LANGUAGE_ENGLISH) if (INTRO_DATA.unk_42 == 0 && gLanguage != LANGUAGE_ENGLISH)
INTRO_DATA.unk_42 = TextProcessStory(); INTRO_DATA.unk_42 = TextProcessStory();
textResult = IntroProcessText(sIntroDefeatTheActions[INTRO_DATA.currentCharacter], 0x20); textResult = IntroProcessText(sIntroDefeatTheActions[INTRO_DATA.currentCharacter], HALF_BLOCK_SIZE);
if (textResult == 2) if (textResult == 2)
{ {
INTRO_DATA.stage++; INTRO_DATA.stage++;
@ -802,12 +803,12 @@ u8 IntroMotherBrain(void)
case 2: case 2:
LZ77UncompVRAM(sIntroMotherBrainTileTable, VRAM_BASE + 0x8000); LZ77UncompVRAM(sIntroMotherBrainTileTable, VRAM_BASE + 0x8000);
gBG0XPosition = 0x0; gBg0XPosition = 0;
gBG0YPosition = 0x60; gBg0YPosition = 0x60;
break; break;
case 3: 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; INTRO_DATA.dispcnt = DCNT_BG0;
SoundPlay(0x22A); SoundPlay(0x22A);
SoundPlay(0x39); SoundPlay(0x39);
@ -824,8 +825,8 @@ u8 IntroMotherBrain(void)
ended = TRUE; ended = TRUE;
} }
if (INTRO_DATA.timer > 0x28 && gBG0YPosition != 0) if (INTRO_DATA.timer > 40 && gBg0YPosition != 0)
gBG0YPosition--; gBg0YPosition--;
if (ended) if (ended)
INTRO_DATA.timer = 0; INTRO_DATA.timer = 0;
@ -862,7 +863,7 @@ void IntroFuzzProcessOAM(void)
part = *src++; part = *src++;
*dst++ = part; *dst++ = part;
gOamData[i].split.x = (part + offset) & 0x1FF; gOamData[i].split.x = MOD_AND(part + offset, 512);
*dst++ = *src++; *dst++ = *src++;
dst++; dst++;
@ -880,11 +881,11 @@ u8 IntroFuzz(void)
{ {
switch (INTRO_DATA.timer++) switch (INTRO_DATA.timer++)
{ {
case 0x20: case 32:
INTRO_DATA.dispcnt = 0; INTRO_DATA.dispcnt = 0;
break; break;
case 0x60: case 96:
return TRUE; return TRUE;
case 0: case 0:
@ -898,19 +899,19 @@ u8 IntroFuzz(void)
switch (INTRO_DATA.unk_A & 7) switch (INTRO_DATA.unk_A & 7)
{ {
case 0: 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; break;
case 2: 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; break;
case 4: 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; break;
case 6: 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; break;
} }
@ -963,7 +964,7 @@ u32 IntroSubroutine(void)
gGameModeSub2 = 0; gGameModeSub2 = 0;
} }
ResetFreeOAM(); ResetFreeOam();
break; break;
case 3: case 3:

View File

@ -1,5 +1,6 @@
#include "gba.h"
#include "location_text.h" #include "location_text.h"
#include "gba.h"
#include "macros.h"
#include "data/sprites/area_banner.h" #include "data/sprites/area_banner.h"
@ -22,19 +23,21 @@ u8 LocationTextGetBrinstar(void)
lt = LT_INVALID; lt = LT_INVALID;
switch (gCurrentRoom) switch (gCurrentRoom)
{ {
case 0x0: // Spawn room case 0: // Spawn room
case 0x8: // Elevator to kraid room case 8: // Elevator to kraid room
case 0xB: // Elevator to tourian room case 11: // Elevator to tourian room
case 0x1A: // Elevator to norfair 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 // 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 // Thus this function isn't even called
case 0x21: // Save room 1 case 33: // Save room 1
case 0x22: // Save room 2 case 34: // Save room 2
lt = LT_BRINSTAR; lt = LT_BRINSTAR;
break; break;
case 0x20: // Map room
case 32: // Map room
lt = LT_MAP_ROOM; lt = LT_MAP_ROOM;
} }
return lt; return lt;
} }
@ -50,19 +53,22 @@ u8 LocationTextGetKraid(void)
lt = LT_INVALID; lt = LT_INVALID;
switch (gCurrentRoom) switch (gCurrentRoom)
{ {
case 0x0: // Main shaft/elevator to brinstar room case 0: // Main shaft/elevator to brinstar room
lt = LT_KRAID; lt = LT_KRAID;
break; break;
case 0x14: // Save room 1
case 0x1F: // Save room 2 case 20: // Save room 1
case 0x20: // Save room 3 case 31: // Save room 2
case 0x24: // Save room 4 case 32: // Save room 3
case 0x27: // Save room 5 case 36: // Save room 4
case 39: // Save room 5
lt = LT_SAVE_ROOM; lt = LT_SAVE_ROOM;
break; break;
case 0x23: // Map room
case 35: // Map room
lt = LT_MAP_ROOM; lt = LT_MAP_ROOM;
} }
return lt; return lt;
} }
@ -78,28 +84,29 @@ u8 LocationTextGetCrateria(void)
lt = LT_INVALID; lt = LT_INVALID;
switch (gCurrentRoom) switch (gCurrentRoom)
{ {
case 0x3: // Elevator to brinstar room case 3: // Elevator to brinstar room
case 0x4: // Elevator to tourian (escape) room case 4: // Elevator to tourian (escape) room
case 0x6: // Elevator to norfair room case 6: // Elevator to norfair room
case 0xA: case 10:
case 0xB: case 11:
case 0xC: case 12:
case 0xD: case 13:
case 0x12: // Elevator to tourian room case 18: // Elevator to tourian room
lt = LT_CRATERIA; lt = LT_CRATERIA;
break; break;
case 0x8: // Chozo pillar (non extended) room case 8: // Chozo pillar (non extended) room
case 0x9: // Surface after water cavern room case 9: // Surface after water cavern room
case 0xF: // Surface after plasma beam room case 15: // Surface after plasma beam room
case 0x10: // Chozo pillar (going to extend) room case 16: // Chozo pillar (going to extend) room
case 0x11: // Chozo pillar (extended) room case 17: // Chozo pillar (extended) room
lt = LT_CHOZO_RUINS; lt = LT_CHOZO_RUINS;
break; break;
case 0x0: // Surface (with ship) room case 0: // Surface (with ship) room
lt = LT_PLANET_ZEBES; lt = LT_PLANET_ZEBES;
} }
return lt; return lt;
} }
@ -115,22 +122,25 @@ u8 LocationTextGetNorfair(void)
lt = LT_INVALID; lt = LT_INVALID;
switch (gCurrentRoom) switch (gCurrentRoom)
{ {
case 0x24: // Save room 1 case 36: // Save room 1
case 0x27: // Save room 2 case 39: // Save room 2
case 0x29: // Save room 3 case 41: // Save room 3
case 0x2C: // Save room 4 case 44: // Save room 4
case 0x2D: // Save room 5 case 45: // Save room 5
lt = LT_SAVE_ROOM; lt = LT_SAVE_ROOM;
break; break;
case 0x0: // Elevator to brinstar room
case 0x2: // Elevator to crateria room case 0: // Elevator to brinstar room
case 0x23: // Elevator to ridley room case 2: // Elevator to crateria room
case 0x2B: // Imago cocoon (with tunnel) room case 35: // Elevator to ridley room
case 43: // Imago cocoon (with tunnel) room
lt = LT_NORFAIR; lt = LT_NORFAIR;
break; break;
case 0x28: // Map room
case 40: // Map room
lt = LT_MAP_ROOM; lt = LT_MAP_ROOM;
} }
return lt; return lt;
} }
@ -146,19 +156,22 @@ u8 LocationTextGetRidley(void)
lt = LT_INVALID; lt = LT_INVALID;
switch (gCurrentRoom) switch (gCurrentRoom)
{ {
case 0x1: // Save room 1 case 1: // Save room 1
case 0x14: // Save room 2 case 20: // Save room 2
case 0x18: // Save room 3 case 24: // Save room 3
case 0x19: // Save room 4 case 25: // Save room 4
lt = LT_SAVE_ROOM; lt = LT_SAVE_ROOM;
break; break;
case 0x15: // Map room
case 21: // Map room
lt = LT_MAP_ROOM; lt = LT_MAP_ROOM;
break; 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; lt = LT_RIDLEY;
} }
return lt; return lt;
} }
@ -174,23 +187,26 @@ u8 LocationTextGetChozodia(void)
lt = LT_INVALID; lt = LT_INVALID;
switch (gCurrentRoom) switch (gCurrentRoom)
{ {
case 0x0: // Suitless spawn room case 0: // Suitless spawn room
case 0x22: // Crateria passage with missile tank room case 34: // Crateria passage with missile tank room
case 0x44: // Crateria passage without missile tank room case 68: // Crateria passage without missile tank room
lt = LT_CHOZODIA; lt = LT_CHOZODIA;
break; break;
case 0xA: // Entry of mothership from crash room
case 0x14: // Entry of mothership from glass tube room (no pirates) case 10: // Entry of mothership from crash room
case 0x32: // Entry of mothership from hidden passage room case 20: // Entry of mothership from glass tube room (no pirates)
case 0x4E: // Entry of mothership from shinespark puzzle room case 50: // Entry of mothership from hidden passage room
case 0x5D: // Entry of mothership from glass tube room (with pirates) case 78: // Entry of mothership from shinespark puzzle room
case 93: // Entry of mothership from glass tube room (with pirates)
lt = LT_MOTHERSHIP; lt = LT_MOTHERSHIP;
break; break;
case 0x19: // Entry of chozo ruins from glass tube room (during suitless)
case 0x39: // Entry of chozo ruins from shinespark puzzle room case 25: // Entry of chozo ruins from glass tube room (during suitless)
case 0x43: // Entry of chozo ruins from glass tube room (after 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; lt = LT_CHOZO_RUINS;
} }
return lt; return lt;
} }
@ -206,16 +222,18 @@ u8 LocationTextGetTourian(void)
lt = LT_INVALID; lt = LT_INVALID;
switch (gCurrentRoom) switch (gCurrentRoom)
{ {
case 0x6: // Save room 1 case 6: // Save room 1
case 0xB: // Save room 2 case 11: // Save room 2
case 0x14: // This room doesn't exists, very likely it's just a removed save room case 20: // This room doesn't exists, very likely it's just a removed save room
lt = LT_SAVE_ROOM; lt = LT_SAVE_ROOM;
break; break;
case 0x0: // Elevator to brinstar room
case 0x5: // Elevator to crateria (escape) room case 0: // Elevator to brinstar room
case 0x8: // Elevator to crateria (destroyed) room case 5: // Elevator to crateria (escape) room
case 8: // Elevator to crateria (destroyed) room
lt = LT_TOURIAN; lt = LT_TOURIAN;
} }
return lt; return lt;
} }
@ -232,7 +250,7 @@ u8 LocationTextLoadAreaBannerGfx(void)
gfxSlot = 0x80; // Default gfxSlot = 0x80; // Default
// Loop through sprites to try and find if an area banner is in the spriteset // 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) if (gSpritesetSpritesID[count] == PSPRITE_AREA_BANNER)
{ {
@ -246,9 +264,9 @@ u8 LocationTextLoadAreaBannerGfx(void)
if (gfxSlot > 0x7) if (gfxSlot > 0x7)
{ {
// Use 7 as default and load Gfx/PAL // Use 7 as default and load Gfx/PAL
gfxSlot = 0x7; gfxSlot = 7;
SpriteLoadGfx(PSPRITE_AREA_BANNER, 0x7); SpriteLoadGfx(PSPRITE_AREA_BANNER, 7);
SpriteLoadPAL(PSPRITE_AREA_BANNER, 0x7, 0x1); SpriteLoadPAL(PSPRITE_AREA_BANNER, 7, 1);
} }
return gfxSlot; return gfxSlot;
@ -266,18 +284,18 @@ u8 LocationTextGetGfxSlot(void)
u8 lt; u8 lt;
lt = LT_INVALID; lt = LT_INVALID;
gfxSlot = 0xFF; gfxSlot = UCHAR_MAX;
switch (gSpriteset) switch (gSpriteset)
{ {
case 0x21: // Normal save platform spriteset case 33: // Normal save platform spriteset
case 0x3B: // Chozodia save platform spriteset case 59: // Chozodia save platform spriteset
case 0x58: // Chozodia save platform with pirates spriteset case 88: // Chozodia save platform with pirates spriteset
lt = LT_SAVE_ROOM; lt = LT_SAVE_ROOM;
break; break;
case 0x1B: // Map station spriteset case 27: // Map station spriteset
case 0x67: // Map station with pirates spriteset case 103: // Map station with pirates spriteset
lt = LT_MAP_ROOM; lt = LT_MAP_ROOM;
} }
@ -287,7 +305,7 @@ u8 LocationTextGetGfxSlot(void)
gSpriteData[0].roomSlot = lt; gSpriteData[0].roomSlot = lt;
gfxSlot = LocationTextLoadAreaBannerGfx(); gfxSlot = LocationTextLoadAreaBannerGfx();
// Draw location text // Draw location text
draw_location_text(lt, gfxSlot); TextDrawLocationText(lt, gfxSlot);
} }
else else
{ {
@ -330,11 +348,13 @@ u8 LocationTextGetGfxSlot(void)
// If found // If found
gSpriteData[0].roomSlot = lt; gSpriteData[0].roomSlot = lt;
gfxSlot = LocationTextLoadAreaBannerGfx(); gfxSlot = LocationTextLoadAreaBannerGfx();
// Draw location text // Draw location text
draw_location_text(lt, gfxSlot); TextDrawLocationText(lt, gfxSlot);
// Load different palette for some reason // Load different palette for some reason
if (lt < LT_SAVE_ROOM) 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));
} }
} }
} }

View File

@ -308,8 +308,7 @@ void EraseSramInit(void)
CallbackSetVBlank(EraseSramVBlank_Empty); CallbackSetVBlank(EraseSramVBlank_Empty);
write16(REG_BLDCNT, BLDCNT_BG0_FIRST_TARGET_PIXEL | BLDCNT_BG1_FIRST_TARGET_PIXEL | BLDCNT_BG2_FIRST_TARGET_PIXEL | write16(REG_BLDCNT, BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_BRIGHTNESS_INCREASE_EFFECT); BLDCNT_BRIGHTNESS_INCREASE_EFFECT);
write16(REG_BLDY, gWrittenToBLDY_NonGameplay = 16); write16(REG_BLDY, gWrittenToBLDY_NonGameplay = 16);
@ -319,7 +318,7 @@ void EraseSramInit(void)
ClearGfxRam(); ClearGfxRam();
gNextOamSlot = 0; gNextOamSlot = 0;
ResetFreeOAM(); ResetFreeOam();
ERASE_SRAM_DATA.language = gLanguage; ERASE_SRAM_DATA.language = gLanguage;
if ((u8)(ERASE_SRAM_DATA.language - 2) > LANGUAGE_SPANISH - 2) if ((u8)(ERASE_SRAM_DATA.language - 2) > LANGUAGE_SPANISH - 2)
@ -450,6 +449,6 @@ void EraseSramProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
process_menu_oam(ARRAY_SIZE(ERASE_SRAM_DATA.oam), ERASE_SRAM_DATA.oam, sEraseSramMenuOam); process_menu_oam(ARRAY_SIZE(ERASE_SRAM_DATA.oam), ERASE_SRAM_DATA.oam, sEraseSramMenuOam);
ResetFreeOAM(); ResetFreeOam();
} }

View File

@ -70,7 +70,7 @@ void FileSelectProcessOAM(void)
process_menu_oam(ARRAY_SIZE(FILE_SELECT_DATA.optionsOam), FILE_SELECT_DATA.optionsOam, sOptionsOam); 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; gNextOamSlot = 0;
ClearGfxRam(); ClearGfxRam();
ResetFreeOAM(); ResetFreeOam();
gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0;

View File

@ -264,7 +264,7 @@ void GameOverInit(void)
gNextOamSlot = 0; gNextOamSlot = 0;
ClearGfxRam(); ClearGfxRam();
ResetFreeOAM(); ResetFreeOam();
gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0;
@ -332,7 +332,7 @@ void GameOverInit_Unused(void)
gNextOamSlot = 0; gNextOamSlot = 0;
ClearGfxRam(); ClearGfxRam();
ResetFreeOAM(); ResetFreeOam();
gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0;
@ -536,5 +536,5 @@ void GameOverProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
ProcessComplexMenuOam(ARRAY_SIZE(GAME_OVER_DATA.oam), GAME_OVER_DATA.oam, sGameOverOam); ProcessComplexMenuOam(ARRAY_SIZE(GAME_OVER_DATA.oam), GAME_OVER_DATA.oam, sGameOverOam);
ResetFreeOAM(); ResetFreeOam();
} }

View File

@ -3391,7 +3391,7 @@ void CheckForMaintainedInput(void)
{ {
gUnk_3005804 = gChangedInput; gUnk_3005804 = gChangedInput;
if (gButtonInput & MAINTAINED_INPUT_KEYS) if (gButtonInput & KEY_ALL_DIRECTIONS)
{ {
// Pressing any concerned key // Pressing any concerned key
gMaintainedInputData.delay++; gMaintainedInputData.delay++;
@ -3407,7 +3407,7 @@ void CheckForMaintainedInput(void)
if (gMaintainedInputData.delay >= sMaintainedInputDelays[gMaintainedInputData.set]) if (gMaintainedInputData.delay >= sMaintainedInputDelays[gMaintainedInputData.set])
{ {
// Apply to changed input // Apply to changed input
gChangedInput |= gButtonInput & MAINTAINED_INPUT_KEYS; gChangedInput |= gButtonInput & KEY_ALL_DIRECTIONS;
// Reset delay // Reset delay
gMaintainedInputData.delay = 0; gMaintainedInputData.delay = 0;

View File

@ -79,7 +79,7 @@ void TitleScreenCallProcessOAM(void)
{ {
gNextOamSlot = 0; gNextOamSlot = 0;
process_menu_oam(ARRAY_SIZE(TITLE_SCREEN_DATA.oam), TITLE_SCREEN_DATA.oam, sTitleScreenOam); 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; zero = 0;
DMA_SET(3, &zero, &gNonGameplayRAM, (DMA_ENABLE | DMA_32BIT | DMA_SRC_FIXED) << 16 | sizeof(gNonGameplayRAM) / 4); 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 | TITLE_SCREEN_DATA.bldcnt = BLDCNT_SCREEN_FIRST_TARGET |
BLDCNT_BG3_FIRST_TARGET_PIXEL | BLDCNT_OBJ_FIRST_TARGET_PIXEL | BLDCNT_BACKDROP_FIRST_TARGET_PIXEL |
BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT; BLDCNT_ALPHA_BLENDING_EFFECT | BLDCNT_BRIGHTNESS_INCREASE_EFFECT;
write16(REG_BLDCNT, TITLE_SCREEN_DATA.bldcnt); write16(REG_BLDCNT, TITLE_SCREEN_DATA.bldcnt);
@ -1106,7 +1105,7 @@ void TitleScreenInit(void)
gNextOamSlot = 0; gNextOamSlot = 0;
ClearGfxRam(); ClearGfxRam();
ResetFreeOAM(); ResetFreeOam();
gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0;

View File

@ -39,12 +39,12 @@ void ParticleCheckOnScreen(struct ParticleEffect* pParticle)
pParticle->status |= PARTICLE_STATUS_ONSCREEN; pParticle->status |= PARTICLE_STATUS_ONSCREEN;
else else
{ {
bgBaseY = gBG1YPosition + BLOCK_SIZE * 8; bgBaseY = gBg1YPosition + BLOCK_SIZE * 8;
particleY = pParticle->yPosition + BLOCK_SIZE * 8; particleY = pParticle->yPosition + BLOCK_SIZE * 8;
bgBottomBoundry = bgBaseY - BLOCK_SIZE * 2; bgBottomBoundry = bgBaseY - BLOCK_SIZE * 2;
bgTopBoundry = bgBaseY + BLOCK_SIZE * 12; bgTopBoundry = bgBaseY + BLOCK_SIZE * 12;
bgBaseX = gBG1XPosition + BLOCK_SIZE * 8; bgBaseX = gBg1XPosition + BLOCK_SIZE * 8;
particleX = pParticle->xPosition + BLOCK_SIZE * 8; particleX = pParticle->xPosition + BLOCK_SIZE * 8;
bgLeftBoundry = bgBaseX - BLOCK_SIZE * 2; bgLeftBoundry = bgBaseX - BLOCK_SIZE * 2;
bgRightBoundry = bgBaseX + (BLOCK_SIZE * 17); bgRightBoundry = bgBaseX + (BLOCK_SIZE * 17);
@ -103,8 +103,8 @@ void ParticleDraw(struct ParticleEffect* pParticle)
} }
else else
{ {
yPosition = (pParticle->yPosition / 4) - gBG1YPosition / 4; yPosition = (pParticle->yPosition / 4) - gBg1YPosition / 4;
xPosition = (pParticle->xPosition / 4) - gBG1XPosition / 4; xPosition = (pParticle->xPosition / 4) - gBg1XPosition / 4;
} }
if (pParticle->status & PARTICLE_STATUS_LOW_PRIORITY) if (pParticle->status & PARTICLE_STATUS_LOW_PRIORITY)

View File

@ -22,14 +22,14 @@
*/ */
void PowerBombExplosionProcess(void) void PowerBombExplosionProcess(void)
{ {
if (gCurrentPowerBomb.animationState > 0x1) if (gCurrentPowerBomb.animationState > 1)
{ {
PowerBombExplosionSet0x12To0(); 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(); PowerBombExplosionBegin();
else if (gCurrentPowerBomb.animationState == 0x5) else if (gCurrentPowerBomb.animationState == 5)
PowerBombExplosionEnd(); PowerBombExplosionEnd();
else if (gGameModeSub1 == SUB_GAME_MODE_PLAYING) else if (gGameModeSub1 == SUB_GAME_MODE_PLAYING)
PowerBombExplosion(); PowerBombExplosion();
@ -51,15 +51,14 @@ void PowerBombExplosion(void)
s32 hitboxRight; s32 hitboxRight;
s32 xLoop; s32 xLoop;
s32 yLoop; s32 yLoop;
u32 xPositionLeft; s32 xPositionLeft;
u32 xPositionRight; s32 xPositionRight;
u32 yPositionTop; s32 yPositionTop;
u32 yPositionBottom; s32 yPositionBottom;
u16 clipdata; u16 clipdata;
s32 loopTemp;
verticalAxis = gCurrentPowerBomb.semiMinorAxis * 0x4; verticalAxis = gCurrentPowerBomb.semiMinorAxis * 4;
horizontalAxis = gCurrentPowerBomb.semiMinorAxis * 0x8; horizontalAxis = gCurrentPowerBomb.semiMinorAxis * 8;
verticalAxis *= 0.95; verticalAxis *= 0.95;
horizontalAxis *= 0.95; horizontalAxis *= 0.95;
@ -69,59 +68,57 @@ void PowerBombExplosion(void)
hitboxBottom = (s16)verticalAxis; hitboxBottom = (s16)verticalAxis;
horizontalAxis = hitboxLeft; horizontalAxis = hitboxLeft;
if ((s32)(gCurrentPowerBomb.xPosition + horizontalAxis) < 0x0) if (gCurrentPowerBomb.xPosition + horizontalAxis < 0)
hitboxLeft = (s16)-gCurrentPowerBomb.xPosition; hitboxLeft = (s16)-gCurrentPowerBomb.xPosition;
verticalAxis = hitboxTop; verticalAxis = hitboxTop;
if ((s32)(gCurrentPowerBomb.yPosition + verticalAxis) < 0x0) if (gCurrentPowerBomb.yPosition + verticalAxis < 0)
hitboxTop = (s16)-gCurrentPowerBomb.yPosition; hitboxTop = (s16)-gCurrentPowerBomb.yPosition;
horizontalAxis = hitboxRight; horizontalAxis = hitboxRight;
if ((s32)(gBgPointersAndDimensions.clipdataWidth * BLOCK_SIZE) < (gCurrentPowerBomb.xPosition + horizontalAxis)) if (gBgPointersAndDimensions.clipdataWidth * BLOCK_SIZE < (gCurrentPowerBomb.xPosition + horizontalAxis))
hitboxRight = (s16)((gBgPointersAndDimensions.clipdataWidth * BLOCK_SIZE) - gCurrentPowerBomb.xPosition); hitboxRight = (s16)(gBgPointersAndDimensions.clipdataWidth * BLOCK_SIZE - gCurrentPowerBomb.xPosition);
verticalAxis = hitboxBottom; verticalAxis = hitboxBottom;
if ((s32)(gBgPointersAndDimensions.clipdataHeight * BLOCK_SIZE) < (gCurrentPowerBomb.yPosition + verticalAxis)) if (gBgPointersAndDimensions.clipdataHeight * BLOCK_SIZE < (gCurrentPowerBomb.yPosition + verticalAxis))
hitboxBottom = (s16)((gBgPointersAndDimensions.clipdataHeight * BLOCK_SIZE) - gCurrentPowerBomb.yPosition); hitboxBottom = (s16)(gBgPointersAndDimensions.clipdataHeight * BLOCK_SIZE - gCurrentPowerBomb.yPosition);
gCurrentPowerBomb.hitboxLeftOffset = hitboxLeft; gCurrentPowerBomb.hitboxLeftOffset = hitboxLeft;
gCurrentPowerBomb.hitboxRightOffset = hitboxRight; gCurrentPowerBomb.hitboxRightOffset = hitboxRight;
gCurrentPowerBomb.hitboxTopOffset = hitboxTop; gCurrentPowerBomb.hitboxTopOffset = hitboxTop;
gCurrentPowerBomb.hitboxBottomOffset = hitboxBottom; gCurrentPowerBomb.hitboxBottomOffset = hitboxBottom;
if (gCurrentPowerBomb.animationState < 0x4) if (gCurrentPowerBomb.animationState < 4)
{ {
hitboxLeft = (hitboxLeft + gCurrentPowerBomb.xPosition) >> 0x6; hitboxLeft = DIV_SHIFT(hitboxLeft + gCurrentPowerBomb.xPosition, BLOCK_SIZE);
hitboxRight = (hitboxRight + gCurrentPowerBomb.xPosition) >> 0x6; hitboxRight = DIV_SHIFT(hitboxRight + gCurrentPowerBomb.xPosition, BLOCK_SIZE);
hitboxTop = (hitboxTop + gCurrentPowerBomb.yPosition) >> 0x6; hitboxTop = DIV_SHIFT(hitboxTop + gCurrentPowerBomb.yPosition, BLOCK_SIZE);
hitboxBottom = (hitboxBottom + gCurrentPowerBomb.yPosition) >> 0x6; hitboxBottom = DIV_SHIFT(hitboxBottom + gCurrentPowerBomb.yPosition, BLOCK_SIZE);
if (!(gFrameCounter8Bit & 0x1)) if (MOD_AND(gFrameCounter8Bit, 2) == 0)
{ {
gCurrentClipdataAffectingAction = CAA_POWER_BOMB; gCurrentClipdataAffectingAction = CAA_POWER_BOMB;
for (xLoop = 0x0; xLoop < 0x2;) for (xLoop = 0; xLoop < 2; xLoop++)
{ {
if (xLoop == 0x0) if (xLoop == 0)
horizontalAxis = hitboxLeft; horizontalAxis = hitboxLeft;
else else
horizontalAxis = hitboxRight; horizontalAxis = hitboxRight;
yPositionTop = gCurrentPowerBomb.yPosition / BLOCK_SIZE; yPositionTop = gCurrentPowerBomb.yPosition / BLOCK_SIZE;
yPositionBottom = yPositionTop; yPositionBottom = yPositionTop;
xLoop++;
loopTemp = xLoop;
for (yLoop = 0x0; yLoop != 0x2;) for (yLoop = 0; yLoop != 2;)
{ {
yLoop = 0x0; yLoop = 0;
if ((s32)yPositionTop >= hitboxTop) if (yPositionTop >= hitboxTop)
{ {
clipdata = gBgPointersAndDimensions.pClipDecomp[yPositionTop * gBgPointersAndDimensions.clipdataWidth + horizontalAxis]; clipdata = gBgPointersAndDimensions.pClipDecomp[yPositionTop * gBgPointersAndDimensions.clipdataWidth + horizontalAxis];
if (clipdata != 0x0) if (clipdata != 0)
BlockApplyCCAA(yPositionTop, horizontalAxis, clipdata); BlockApplyCCAA(yPositionTop, horizontalAxis, clipdata);
yPositionTop = (s16)(yPositionTop - 0x1); yPositionTop = (s16)(yPositionTop - 1);
} }
else else
yLoop = 0x1; yLoop = 0x1;
@ -129,62 +126,55 @@ void PowerBombExplosion(void)
if ((s32)yPositionBottom <= hitboxBottom) if ((s32)yPositionBottom <= hitboxBottom)
{ {
clipdata = gBgPointersAndDimensions.pClipDecomp[yPositionBottom * gBgPointersAndDimensions.clipdataWidth + horizontalAxis]; clipdata = gBgPointersAndDimensions.pClipDecomp[yPositionBottom * gBgPointersAndDimensions.clipdataWidth + horizontalAxis];
if (clipdata != 0x0) if (clipdata != 0)
BlockApplyCCAA(yPositionBottom, horizontalAxis, clipdata); BlockApplyCCAA(yPositionBottom, horizontalAxis, clipdata);
yPositionBottom = (s16)(yPositionBottom + 0x1); yPositionBottom = (s16)(yPositionBottom + 1);
} }
else else
yLoop++; yLoop++;
} }
xLoop = loopTemp;
} }
} }
else else
{ {
gCurrentClipdataAffectingAction = CAA_POWER_BOMB; gCurrentClipdataAffectingAction = CAA_POWER_BOMB;
for (xLoop = 0; xLoop < 2; xLoop++)
for (xLoop = 0x0; xLoop < 0x2;)
{ {
if (xLoop == 0x0) if (xLoop == 0)
verticalAxis = hitboxTop; verticalAxis = hitboxTop;
else else
verticalAxis = hitboxBottom; verticalAxis = hitboxBottom;
xPositionRight = gCurrentPowerBomb.xPosition / BLOCK_SIZE; xPositionRight = gCurrentPowerBomb.xPosition / BLOCK_SIZE;
xPositionLeft = xPositionRight; xPositionLeft = xPositionRight;
xLoop++;
loopTemp = xLoop;
for (yLoop = 0x0; yLoop != 0x2;) for (yLoop = 0; yLoop != 2; )
{ {
yLoop = 0x0; yLoop = 0;
if ((s32)xPositionLeft >= hitboxLeft) if (xPositionLeft >= hitboxLeft)
{ {
clipdata = gBgPointersAndDimensions.pClipDecomp[verticalAxis * gBgPointersAndDimensions.clipdataWidth + xPositionLeft]; clipdata = gBgPointersAndDimensions.pClipDecomp[verticalAxis * gBgPointersAndDimensions.clipdataWidth + xPositionLeft];
if (clipdata != 0x0) if (clipdata != 0)
BlockApplyCCAA(verticalAxis, xPositionLeft, clipdata); BlockApplyCCAA(verticalAxis, xPositionLeft, clipdata);
xPositionLeft = (s16)(xPositionLeft - 0x1); xPositionLeft = (s16)(xPositionLeft - 1);
} }
else else
yLoop++; yLoop++;
if ((s32)xPositionRight <= hitboxRight) if (xPositionRight <= hitboxRight)
{ {
clipdata = gBgPointersAndDimensions.pClipDecomp[verticalAxis * gBgPointersAndDimensions.clipdataWidth + xPositionRight]; clipdata = gBgPointersAndDimensions.pClipDecomp[verticalAxis * gBgPointersAndDimensions.clipdataWidth + xPositionRight];
if (clipdata != 0x0) if (clipdata != 0)
BlockApplyCCAA(verticalAxis, xPositionRight, clipdata); BlockApplyCCAA(verticalAxis, xPositionRight, clipdata);
xPositionRight = (s16)(xPositionRight + 0x1); xPositionRight = (s16)(xPositionRight + 1);
} }
else else
yLoop++; yLoop++;
} }
xLoop = loopTemp;
} }
} }
gCurrentClipdataAffectingAction = CAA_NONE; gCurrentClipdataAffectingAction = CAA_NONE;
@ -200,20 +190,21 @@ void PowerBombExplosion(void)
*/ */
void PowerBombExplosionStart(u16 xPosition, u16 yPosition, u8 owner) void PowerBombExplosionStart(u16 xPosition, u16 yPosition, u8 owner)
{ {
if (gGameModeSub1 == SUB_GAME_MODE_PLAYING) if (gGameModeSub1 != SUB_GAME_MODE_PLAYING)
{ return;
PowerBombExplosionSet0x12To0(); PowerBombExplosionSet0x12To0();
if (gCurrentPowerBomb.animationState == 0x0) // Check if there isn't already an explosion if (gCurrentPowerBomb.animationState == 0) // Check if there isn't already an explosion
{ {
gCurrentPowerBomb.xPosition = xPosition; gCurrentPowerBomb.xPosition = xPosition;
gCurrentPowerBomb.yPosition = yPosition; gCurrentPowerBomb.yPosition = yPosition;
gCurrentPowerBomb.owner = owner; gCurrentPowerBomb.owner = owner;
if (gCurrentPowerBomb.unk_12 != 0x0)
gCurrentPowerBomb.animationState = 0x2; if (gCurrentPowerBomb.unk_12 != 0)
gCurrentPowerBomb.animationState = 2;
else else
PowerBombExplosionBegin(); PowerBombExplosionBegin();
} }
}
} }
/** /**
@ -222,7 +213,7 @@ void PowerBombExplosionStart(u16 xPosition, u16 yPosition, u8 owner)
*/ */
void PowerBombExplosionSet0x12To0(void) void PowerBombExplosionSet0x12To0(void)
{ {
gCurrentPowerBomb.unk_12 = 0x0; gCurrentPowerBomb.unk_12 = 0;
} }
/** /**
@ -231,24 +222,31 @@ void PowerBombExplosionSet0x12To0(void)
*/ */
void PowerBombExplosionBegin(void) void PowerBombExplosionBegin(void)
{ {
if (gGameModeSub1 == SUB_GAME_MODE_PLAYING) if (gGameModeSub1 != SUB_GAME_MODE_PLAYING)
{ return;
gCurrentPowerBomb.animationState = 0x3;
gCurrentPowerBomb.animationState = 3;
gCurrentPowerBomb.powerBombPlaced = FALSE; gCurrentPowerBomb.powerBombPlaced = FALSE;
DMA_SET(3, PALRAM_BASE, EWRAM_BASE + (0x9000), DMA_ENABLE << 0x10 | 0x100);
unk_02035400 = 0x0; 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); HazeSetupCode(HAZE_VALUE_POWER_BOMB_EXPANDING);
gCurrentPowerBomb.stage = 0x0;
gCurrentPowerBomb.stage = 0;
gCurrentPowerBomb.semiMinorAxis = 0x4; gCurrentPowerBomb.semiMinorAxis = 0x4;
gCurrentPowerBomb.hitboxLeftOffset = 0x0;
gCurrentPowerBomb.hitboxRightOffset = 0x0; gCurrentPowerBomb.hitboxLeftOffset = 0;
gCurrentPowerBomb.hitboxTopOffset = 0x0; gCurrentPowerBomb.hitboxRightOffset = 0;
gCurrentPowerBomb.hitboxBottomOffset = 0x0; gCurrentPowerBomb.hitboxTopOffset = 0;
gCurrentPowerBomb.unk_12 = 0x0; gCurrentPowerBomb.hitboxBottomOffset = 0;
gCurrentPowerBomb.unk_3 = 0x0;
ScreenShakeStartHorizontal(0x78, 0x80); gCurrentPowerBomb.unk_12 = 0;
gCurrentPowerBomb.unk_3 = 0;
ScreenShakeStartHorizontal(120, 0x80);
SoundPlay(0x101); // Power bomb explosion SoundPlay(0x101); // Power bomb explosion
}
} }
/** /**
@ -260,7 +258,6 @@ void PowerBombExplosionEnd(void)
u8 eva; u8 eva;
u8 evb; u8 evb;
u8 done; u8 done;
u16* pDispcnt;
if (gCurrentPowerBomb.stage == 0) if (gCurrentPowerBomb.stage == 0)
{ {
@ -268,16 +265,14 @@ void PowerBombExplosionEnd(void)
gWrittenToBLDCNT = gIoRegistersBackup.BLDCNT_NonGameplay; gWrittenToBLDCNT = gIoRegistersBackup.BLDCNT_NonGameplay;
if (sHazeData[gCurrentRoomEntry.visualEffect][3] == 2) if (sHazeData[gCurrentRoomEntry.visualEffect][3] == 2)
gWrittenToBLDALPHA = 0x10; gWrittenToBLDALPHA = C_16_2_8(0, 16);
else else
gWrittenToBLDALPHA = 0x1000; gWrittenToBLDALPHA = C_16_2_8(16, 0);
pDispcnt = &gWrittenToDISPCNT; gWrittenToDISPCNT = write16(REG_DISPCNT, read16(REG_DISPCNT) | DCNT_WIN1);
write16(REG_DISPCNT, read16(REG_DISPCNT) | DCNT_WIN1);
write16(pDispcnt, read16(REG_DISPCNT));
gWrittenToWIN1H = gSuitFlashEffect.left << 8 | gSuitFlashEffect.right; gWrittenToWIN1H = C_16_2_8(gSuitFlashEffect.left, gSuitFlashEffect.right);
gWrittenToWIN1V = gSuitFlashEffect.top << 8 | gSuitFlashEffect.bottom; gWrittenToWIN1V = C_16_2_8(gSuitFlashEffect.top, gSuitFlashEffect.bottom);
// Set transparent color // Set transparent color
write16(PALRAM_BASE, 0); write16(PALRAM_BASE, 0);
@ -297,8 +292,8 @@ void PowerBombExplosionEnd(void)
else if (gCurrentPowerBomb.stage == 1) else if (gCurrentPowerBomb.stage == 1)
{ {
// Fade BLDALPHA until it was the same as before the power bomb // Fade BLDALPHA until it was the same as before the power bomb
eva = read16(REG_BLDALPHA); eva = LOW_BYTE(read16(REG_BLDALPHA));
evb = read16(REG_BLDALPHA) >> 8; evb = HIGH_BYTE(read16(REG_BLDALPHA));
done = TRUE; done = TRUE;
if (gIoRegistersBackup.BLDALPHA_NonGameplay_EVB != evb) if (gIoRegistersBackup.BLDALPHA_NonGameplay_EVB != evb)
@ -307,6 +302,7 @@ void PowerBombExplosionEnd(void)
evb--; evb--;
else else
evb++; evb++;
done = FALSE; done = FALSE;
} }
@ -316,10 +312,12 @@ void PowerBombExplosionEnd(void)
eva--; eva--;
else else
eva++; eva++;
done = FALSE; done = FALSE;
} }
gWrittenToBLDALPHA = evb << 8 | eva; gWrittenToBLDALPHA = C_16_2_8(evb, eva);
if (done) if (done)
gCurrentPowerBomb.stage = 2; gCurrentPowerBomb.stage = 2;
} }

View File

@ -550,8 +550,8 @@ void ProjectileDraw(struct ProjectileData* pProj)
{ {
dst = (u16*)(gOamData + prevSlot); dst = (u16*)(gOamData + prevSlot);
yPosition = (pProj->yPosition >> 2) - gBG1YPosition / 4; yPosition = (pProj->yPosition >> 2) - gBg1YPosition / 4;
xPosition = (pProj->xPosition >> 2) - gBG1XPosition / 4; xPosition = (pProj->xPosition >> 2) - gBg1XPosition / 4;
xFlip = pProj->status & PROJ_STATUS_XFLIP; xFlip = pProj->status & PROJ_STATUS_XFLIP;
yFlip = pProj->status & PROJ_STATUS_YFLIP; yFlip = pProj->status & PROJ_STATUS_YFLIP;
@ -631,8 +631,8 @@ void ProjectileCheckDespawn(struct ProjectileData* pProj)
if (!(pProj->status & PROJ_STATUS_EXISTS)) if (!(pProj->status & PROJ_STATUS_EXISTS))
return; return;
bgY = gBG1YPosition; bgY = gBg1YPosition;
bgX = gBG1XPosition; bgX = gBg1XPosition;
yPosition = pProj->yPosition; yPosition = pProj->yPosition;
xPosition = pProj->xPosition; xPosition = pProj->xPosition;

View File

@ -106,8 +106,8 @@ void RoomLoad(void)
if (gPauseScreenFlag == PAUSE_SCREEN_NONE && !gIsLoadingFile) if (gPauseScreenFlag == PAUSE_SCREEN_NONE && !gIsLoadingFile)
{ {
ScrollProcessGeneral(); ScrollProcessGeneral();
gBG1YPosition = gCamera.yPosition; gBg1YPosition = gCamera.yPosition;
gBG1XPosition = gCamera.xPosition; gBg1XPosition = gCamera.xPosition;
ScrollBG3Related(); ScrollBG3Related();
ScrollProcessGeneral(); ScrollProcessGeneral();
} }
@ -537,10 +537,10 @@ void RoomReset(void)
if (gSamusData.standingStatus == STANDING_ENEMY) if (gSamusData.standingStatus == STANDING_ENEMY)
gSamusData.standingStatus = STANDING_MIDAIR; gSamusData.standingStatus = STANDING_MIDAIR;
gBG1XPosition = 0; gBg1XPosition = 0;
gBG1YPosition = 0; gBg1YPosition = 0;
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0; gBg0YPosition = 0;
} }
/** /**
@ -598,20 +598,20 @@ void RoomSetInitialTilemap(u8 bgNumber)
if (bgNumber == 0) if (bgNumber == 0)
{ {
properties = gCurrentRoomEntry.BG0Prop; properties = gCurrentRoomEntry.BG0Prop;
yPosition = gBG0YPosition / BLOCK_SIZE; yPosition = gBg0YPosition / BLOCK_SIZE;
xPosition = gBG0XPosition / BLOCK_SIZE; xPosition = gBg0XPosition / BLOCK_SIZE;
} }
else if (bgNumber == 1) else if (bgNumber == 1)
{ {
properties = gCurrentRoomEntry.BG1Prop; properties = gCurrentRoomEntry.BG1Prop;
yPosition = gBG1YPosition / BLOCK_SIZE; yPosition = gBg1YPosition / BLOCK_SIZE;
xPosition = gBG1XPosition / BLOCK_SIZE; xPosition = gBg1XPosition / BLOCK_SIZE;
} }
else else
{ {
properties = gCurrentRoomEntry.BG2Prop; properties = gCurrentRoomEntry.BG2Prop;
yPosition = gBG2YPosition / BLOCK_SIZE; yPosition = gBg2YPosition / BLOCK_SIZE;
xPosition = gBG2XPosition / BLOCK_SIZE; xPosition = gBg2XPosition / BLOCK_SIZE;
} }
if (properties & BG_PROP_RLE_COMPRESSED) if (properties & BG_PROP_RLE_COMPRESSED)
@ -1000,28 +1000,28 @@ void RoomUpdateBackgroundsPosition(void)
yOffset = ScreenShakeUpdateVertical(); yOffset = ScreenShakeUpdateVertical();
xOffset = ScreenShakeUpdateHorizontal(); xOffset = ScreenShakeUpdateHorizontal();
xPosition = gBG1XPosition >> 0x2 & 0x1FF; xPosition = gBg1XPosition >> 0x2 & 0x1FF;
yPosition = gBG1YPosition >> 0x2 & 0x1FF; yPosition = gBg1YPosition >> 0x2 & 0x1FF;
gBackgroundPositions.bg[1].x = xPosition + xOffset; gBackgroundPositions.bg[1].x = xPosition + xOffset;
gBackgroundPositions.bg[1].y = yPosition + yOffset; gBackgroundPositions.bg[1].y = yPosition + yOffset;
xPosition = gBG2XPosition >> 0x2 & 0x1FF; xPosition = gBg2XPosition >> 0x2 & 0x1FF;
gBackgroundPositions.bg[2].x = xPosition + xOffset; gBackgroundPositions.bg[2].x = xPosition + xOffset;
yPosition = gBG2YPosition >> 0x2 & 0x1FF; yPosition = gBg2YPosition >> 0x2 & 0x1FF;
gBackgroundPositions.bg[2].y = yPosition + yOffset; gBackgroundPositions.bg[2].y = yPosition + yOffset;
if (gScreenShakeRelated & 0x100) if (gScreenShakeRelated & 0x100)
{ {
gBackgroundPositions.bg[0].x = (gBG0XPosition >> 0x2) + gBG0Movement.yOffset & 0x1FF; gBackgroundPositions.bg[0].x = (gBg0XPosition >> 0x2) + gBG0Movement.yOffset & 0x1FF;
gBackgroundPositions.bg[0].y = (gBG0YPosition >> 0x2) + gBG0Movement.snowflakesRelated & 0x1FF; gBackgroundPositions.bg[0].y = (gBg0YPosition >> 0x2) + gBG0Movement.snowflakesRelated & 0x1FF;
} }
else else
{ {
gBackgroundPositions.bg[0].x = ((gBG0XPosition >> 0x2) + gBG0Movement.yOffset & 0x1FF) + xOffset; gBackgroundPositions.bg[0].x = ((gBg0XPosition >> 0x2) + gBG0Movement.yOffset & 0x1FF) + xOffset;
gBackgroundPositions.bg[0].y = ((gBG0YPosition >> 0x2) + gBG0Movement.snowflakesRelated & 0x1FF) + xOffset; gBackgroundPositions.bg[0].y = ((gBg0YPosition >> 0x2) + gBG0Movement.snowflakesRelated & 0x1FF) + xOffset;
} }
bg3X = (gBG3XPosition >> 0x2) + gBG3Movement.xOffset & 0x1FF; bg3X = (gBg3XPosition >> 0x2) + gBG3Movement.xOffset & 0x1FF;
bbg3Y = gBG3YPosition >> 0x2 & 0x1FF; bbg3Y = gBg3YPosition >> 0x2 & 0x1FF;
if (gScreenShakeRelated & 0x800) if (gScreenShakeRelated & 0x800)
{ {
@ -1059,20 +1059,20 @@ void RoomUpdateVerticalTilemap(s32 offset)
if (i == 0) if (i == 0)
{ {
properties = gCurrentRoomEntry.BG0Prop; properties = gCurrentRoomEntry.BG0Prop;
yPosition = gBG0YPosition / BLOCK_SIZE; yPosition = gBg0YPosition / BLOCK_SIZE;
xPosition = gBG0XPosition / BLOCK_SIZE; xPosition = gBg0XPosition / BLOCK_SIZE;
} }
else if (i == 1) else if (i == 1)
{ {
properties = gCurrentRoomEntry.BG1Prop; properties = gCurrentRoomEntry.BG1Prop;
yPosition = gBG1YPosition / BLOCK_SIZE; yPosition = gBg1YPosition / BLOCK_SIZE;
xPosition = gBG1XPosition / BLOCK_SIZE; xPosition = gBg1XPosition / BLOCK_SIZE;
} }
else else
{ {
properties = gCurrentRoomEntry.BG2Prop; properties = gCurrentRoomEntry.BG2Prop;
yPosition = gBG2YPosition / BLOCK_SIZE; yPosition = gBg2YPosition / BLOCK_SIZE;
xPosition = gBG2XPosition / BLOCK_SIZE; xPosition = gBg2XPosition / BLOCK_SIZE;
} }
if (!(properties & BG_PROP_RLE_COMPRESSED)) if (!(properties & BG_PROP_RLE_COMPRESSED))
@ -1140,20 +1140,20 @@ void RoomUpdateHorizontalTilemap(s32 offset)
if (i == 0) if (i == 0)
{ {
properties = gCurrentRoomEntry.BG0Prop; properties = gCurrentRoomEntry.BG0Prop;
yPosition = gBG0YPosition / BLOCK_SIZE; yPosition = gBg0YPosition / BLOCK_SIZE;
xPosition = gBG0XPosition / BLOCK_SIZE; xPosition = gBg0XPosition / BLOCK_SIZE;
} }
else if (i == 1) else if (i == 1)
{ {
properties = gCurrentRoomEntry.BG1Prop; properties = gCurrentRoomEntry.BG1Prop;
yPosition = gBG1YPosition / BLOCK_SIZE; yPosition = gBg1YPosition / BLOCK_SIZE;
xPosition = gBG1XPosition / BLOCK_SIZE; xPosition = gBg1XPosition / BLOCK_SIZE;
} }
else else
{ {
properties = gCurrentRoomEntry.BG2Prop; properties = gCurrentRoomEntry.BG2Prop;
yPosition = gBG2YPosition / BLOCK_SIZE; yPosition = gBg2YPosition / BLOCK_SIZE;
xPosition = gBG2XPosition / BLOCK_SIZE; xPosition = gBg2XPosition / BLOCK_SIZE;
} }
if (!(properties & BG_PROP_RLE_COMPRESSED)) if (!(properties & BG_PROP_RLE_COMPRESSED))

View File

@ -11,12 +11,12 @@
void LoadRoomCutscene(u8 area, u8 room, u16 bgX, u16 bgY) void LoadRoomCutscene(u8 area, u8 room, u16 bgX, u16 bgY)
{ {
gBG0XPosition = bgX; gBg0XPosition = bgX;
gBG0YPosition = bgY; gBg0YPosition = bgY;
gBG1XPosition = bgX; gBg1XPosition = bgX;
gBG1YPosition = bgY; gBg1YPosition = bgY;
gBG2XPosition = bgX; gBg2XPosition = bgX;
gBG2YPosition = bgY; gBg2YPosition = bgY;
gCurrentArea = area; gCurrentArea = area;
gCurrentRoom = room - 1; gCurrentRoom = room - 1;

View File

@ -1832,10 +1832,10 @@ void SamusChangeToHurtPose(struct SamusData* pData, struct SamusData* pCopy, str
gDisableScrolling = 0x1; gDisableScrolling = 0x1;
gMonochromeBgFading = 0x1; gMonochromeBgFading = 0x1;
pData->pose = SPOSE_DYING; pData->pose = SPOSE_DYING;
new_x_velo = ((gBG1XPosition + 0x1E0) - pData->xPosition); new_x_velo = ((gBg1XPosition + 0x1E0) - pData->xPosition);
new_x_velo >>= 0x1; new_x_velo >>= 0x1;
pData->xVelocity = new_x_velo; pData->xVelocity = new_x_velo;
new_y_velo = ((gBG1YPosition + 0x190) - pData->yPosition); new_y_velo = ((gBg1YPosition + 0x190) - pData->yPosition);
new_y_velo >>= 0x4; new_y_velo >>= 0x4;
pData->yVelocity = new_y_velo; pData->yVelocity = new_y_velo;
gGameModeSub1 = 0x5; gGameModeSub1 = 0x5;
@ -3700,7 +3700,7 @@ u8 SamusSkidding(struct SamusData* pData)
return SPOSE_RUNNING; return SPOSE_RUNNING;
else else
{ {
if ((gButtonInput & (KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN)) == KEY_DOWN) if ((gButtonInput & KEY_ALL_DIRECTIONS) == KEY_DOWN)
{ {
pData->shinesparkTimer = 0xB4; pData->shinesparkTimer = 0xB4;
gScrewSpeedAnimation.flag = 0x8; gScrewSpeedAnimation.flag = 0x8;
@ -4178,7 +4178,7 @@ u8 SamusMorphball(struct SamusData* pData)
if (pData->timer != 0) if (pData->timer != 0)
{ {
pData->timer--; 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->shinesparkTimer = 0xB4;
pData->timer = 0; pData->timer = 0;
@ -5166,8 +5166,8 @@ u8 SamusDying(struct SamusData* pData)
if (pData->xVelocity != 0 || pData->yVelocity != 0) if (pData->xVelocity != 0 || pData->yVelocity != 0)
{ {
bgX = gBG1XPosition + BLOCK_SIZE * 7 + HALF_BLOCK_SIZE; bgX = gBg1XPosition + BLOCK_SIZE * 7 + HALF_BLOCK_SIZE;
bgY = gBG1YPosition + BLOCK_SIZE * 6 + QUARTER_BLOCK_SIZE; bgY = gBg1YPosition + BLOCK_SIZE * 6 + QUARTER_BLOCK_SIZE;
if (pData->xVelocity > 0) if (pData->xVelocity > 0)
{ {
@ -6813,8 +6813,8 @@ void SamusDraw(void)
part1 = *src++; part1 = *src++;
nextSlot += part1 & 0xFF; nextSlot += part1 & 0xFF;
xPosition = (s16)(gSamusEnvironmentalEffects[j].xPosition / 4 - gBG1XPosition / 4); xPosition = (s16)(gSamusEnvironmentalEffects[j].xPosition / 4 - gBg1XPosition / 4);
yPosition = (s16)(gSamusEnvironmentalEffects[j].yPosition / 4 - gBG1YPosition / 4 + 2); yPosition = (s16)(gSamusEnvironmentalEffects[j].yPosition / 4 - gBg1YPosition / 4 + 2);
for (; currSlot < nextSlot; currSlot++) for (; currSlot < nextSlot; currSlot++)
{ {
@ -6836,8 +6836,8 @@ void SamusDraw(void)
} }
} }
xPosition = (s16)(gSamusData.xPosition / 4 - gBG1XPosition / 4); xPosition = (s16)(gSamusData.xPosition / 4 - gBg1XPosition / 4);
yPosition = (s16)(gSamusData.yPosition / 4 - gBG1YPosition / 4 + 2); yPosition = (s16)(gSamusData.yPosition / 4 - gBg1YPosition / 4 + 2);
if (gSamusPhysics.unk_36 & 0x20) if (gSamusPhysics.unk_36 & 0x20)
{ {
@ -6994,8 +6994,8 @@ void SamusDraw(void)
ppc &= ARRAY_SIZE(gSamusEcho.previous64XPositions) - 1; ppc &= ARRAY_SIZE(gSamusEcho.previous64XPositions) - 1;
xPosition = (s16)(gSamusEcho.previous64XPositions[ppc] / 4 - gBG1XPosition / 4); xPosition = (s16)(gSamusEcho.previous64XPositions[ppc] / 4 - gBg1XPosition / 4);
yPosition = (s16)(gSamusEcho.previous64YPositions[ppc] / 4 - gBG1YPosition / 4 + 2); yPosition = (s16)(gSamusEcho.previous64YPositions[ppc] / 4 - gBg1YPosition / 4 + 2);
for (; currSlot < nextSlot; currSlot++) for (; currSlot < nextSlot; currSlot++)
{ {

View File

@ -689,14 +689,14 @@ void SramWrite_ToEwram(void)
pFile->mapY = gMinimapY; pFile->mapY = gMinimapY;
pFile->camera = gCamera; pFile->camera = gCamera;
pFile->bg0XPosition = gBG0XPosition; pFile->bg0XPosition = gBg0XPosition;
pFile->bg0YPosition = gBG0YPosition; pFile->bg0YPosition = gBg0YPosition;
pFile->bg1XPosition = gBG1XPosition; pFile->bg1XPosition = gBg1XPosition;
pFile->bg1YPosition = gBG1YPosition; pFile->bg1YPosition = gBg1YPosition;
pFile->bg2XPosition = gBG2XPosition; pFile->bg2XPosition = gBg2XPosition;
pFile->bg2YPosition = gBG2YPosition; pFile->bg2YPosition = gBg2YPosition;
pFile->bg3XPosition = gBG3XPosition; pFile->bg3XPosition = gBg3XPosition;
pFile->bg3YPosition = gBG3YPosition; pFile->bg3YPosition = gBg3YPosition;
pFile->difficulty = gDifficulty; pFile->difficulty = gDifficulty;
pFile->useMotherShipDoor = gUseMotherShipDoors; pFile->useMotherShipDoor = gUseMotherShipDoors;
@ -778,14 +778,14 @@ void SramRead_FromEwram(void)
gMinimapY = pFile->mapY; gMinimapY = pFile->mapY;
gCamera = pFile->camera; gCamera = pFile->camera;
gBG0XPosition = pFile->bg0XPosition; gBg0XPosition = pFile->bg0XPosition;
gBG0YPosition = pFile->bg0YPosition; gBg0YPosition = pFile->bg0YPosition;
gBG1XPosition = pFile->bg1XPosition; gBg1XPosition = pFile->bg1XPosition;
gBG1YPosition = pFile->bg1YPosition; gBg1YPosition = pFile->bg1YPosition;
gBG2XPosition = pFile->bg2XPosition; gBg2XPosition = pFile->bg2XPosition;
gBG2YPosition = pFile->bg2YPosition; gBg2YPosition = pFile->bg2YPosition;
gBG3XPosition = pFile->bg3XPosition; gBg3XPosition = pFile->bg3XPosition;
gBG3YPosition = pFile->bg3YPosition; gBg3YPosition = pFile->bg3YPosition;
gDifficulty = pFile->difficulty; gDifficulty = pFile->difficulty;
gUseMotherShipDoors = pFile->useMotherShipDoor; gUseMotherShipDoors = pFile->useMotherShipDoor;

View File

@ -66,9 +66,9 @@ void ScrollScreen(u16 screenX, u16 screenY)
if (gGameModeSub1 == 0) if (gGameModeSub1 == 0)
return; return;
if (screenY != gBG1YPosition) if (screenY != gBg1YPosition)
{ {
velocity = screenY - gBG1YPosition; velocity = screenY - gBg1YPosition;
if (velocity > 0) if (velocity > 0)
{ {
@ -82,14 +82,14 @@ void ScrollScreen(u16 screenX, u16 screenY)
} }
gCamera.yVelocity = velocity; gCamera.yVelocity = velocity;
gBG1YPosition += velocity; gBg1YPosition += velocity;
} }
else else
gCamera.yVelocity = 0; gCamera.yVelocity = 0;
if (screenX != gBG1XPosition) if (screenX != gBg1XPosition)
{ {
velocity = screenX - gBG1XPosition; velocity = screenX - gBg1XPosition;
if (velocity > 0) if (velocity > 0)
{ {
@ -103,7 +103,7 @@ void ScrollScreen(u16 screenX, u16 screenY)
} }
gCamera.xVelocity = velocity; gCamera.xVelocity = velocity;
gBG1XPosition += velocity; gBg1XPosition += velocity;
} }
else else
gCamera.xVelocity = 0; gCamera.xVelocity = 0;
@ -465,7 +465,7 @@ void ScrollWithNoScrollsY(struct RawCoordsX* pCoords)
gCamera.yPosition = yOffset; gCamera.yPosition = yOffset;
yOffset -= gBG1YPosition; yOffset -= gBg1YPosition;
if (yOffset > 0) if (yOffset > 0)
{ {
if (gUnk_3005714.unk6 < yOffset) if (gUnk_3005714.unk6 < yOffset)
@ -478,7 +478,7 @@ void ScrollWithNoScrollsY(struct RawCoordsX* pCoords)
} }
gCamera.yVelocity = yOffset; gCamera.yVelocity = yOffset;
gBG1YPosition += yOffset; gBg1YPosition += yOffset;
} }
/** /**
@ -523,7 +523,7 @@ void ScrollWithNoScrollsX(struct RawCoordsX* pCoords)
gCamera.xPosition = xOffset; gCamera.xPosition = xOffset;
xOffset -= gBG1XPosition; xOffset -= gBg1XPosition;
if (xOffset > 0) if (xOffset > 0)
{ {
if (gUnk_3005714.unk2 < xOffset) if (gUnk_3005714.unk2 < xOffset)
@ -536,7 +536,7 @@ void ScrollWithNoScrollsX(struct RawCoordsX* pCoords)
} }
gCamera.xVelocity = xOffset; gCamera.xVelocity = xOffset;
gBG1XPosition += xOffset; gBg1XPosition += xOffset;
} }
/** /**
@ -556,8 +556,8 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords)
{ {
if (gCurrentRoomEntry.BG0Prop == 0x11) if (gCurrentRoomEntry.BG0Prop == 0x11)
{ {
gBG0XPosition = gBG1XPosition / 2; gBg0XPosition = gBg1XPosition / 2;
gBG0YPosition = gBG1YPosition; gBg0YPosition = gBg1YPosition;
var_0 = TRUE; var_0 = TRUE;
} }
@ -566,8 +566,8 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords)
{ {
if (gCurrentRoomEntry.effectY != USHORT_MAX) if (gCurrentRoomEntry.effectY != USHORT_MAX)
{ {
gBG0XPosition = gBG1XPosition; gBg0XPosition = gBg1XPosition;
position = (gCurrentRoomEntry.effectY + gEffectYPositionOffset - gBG1YPosition) >> 2; position = (gCurrentRoomEntry.effectY + gEffectYPositionOffset - gBg1YPosition) >> 2;
if (gWaterMovement.moving == TRUE) if (gWaterMovement.moving == TRUE)
{ {
@ -612,7 +612,7 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords)
if (position > BLOCK_SIZE * 4) if (position > BLOCK_SIZE * 4)
position = BLOCK_SIZE * 4; position = BLOCK_SIZE * 4;
gBG0YPosition = -position * 4; gBg0YPosition = -position * 4;
var_0 = TRUE; var_0 = TRUE;
} }
else else
@ -621,33 +621,33 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords)
switch (gCurrentRoomEntry.BG0Prop) switch (gCurrentRoomEntry.BG0Prop)
{ {
case BG_PROP_CLOSE_UP: case BG_PROP_CLOSE_UP:
gBG0XPosition = 0; gBg0XPosition = 0;
gBG0YPosition = 0; gBg0YPosition = 0;
break; break;
case 0x43: case 0x43:
case BG_PROP_DARK_ROOM: case BG_PROP_DARK_ROOM:
gBG0XPosition = gBG1XPosition - pCoords->x; gBg0XPosition = gBg1XPosition - pCoords->x;
gBG0YPosition = gBG1YPosition - pCoords->y + BLOCK_SIZE; gBg0YPosition = gBg1YPosition - pCoords->y + BLOCK_SIZE;
break; break;
case 0x44: case 0x44:
position = FALSE; position = FALSE;
gBG0XPosition = (gBG1XPosition - gWaitingSpacePiratesPosition.x) + BLOCK_SIZE * 32; gBg0XPosition = (gBg1XPosition - gWaitingSpacePiratesPosition.x) + BLOCK_SIZE * 32;
gBG0YPosition = (gBG1YPosition - gWaitingSpacePiratesPosition.y) + BLOCK_SIZE * 17; 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) if (temp > BLOCK_SIZE * 24)
position = TRUE; position = TRUE;
temp = (gBG1YPosition - gWaitingSpacePiratesPosition.y) + BLOCK_SIZE * 13; temp = (gBg1YPosition - gWaitingSpacePiratesPosition.y) + BLOCK_SIZE * 13;
if (temp > BLOCK_SIZE * 12) if (temp > BLOCK_SIZE * 12)
position = TRUE; position = TRUE;
if (position) if (position)
{ {
gBG0XPosition = BLOCK_SIZE * 8; gBg0XPosition = BLOCK_SIZE * 8;
} }
break; break;
@ -659,8 +659,8 @@ void ScrollUpdateEffectAndHazePosition(struct RawCoordsX* pCoords)
if (!var_0) if (!var_0)
{ {
gBG0YPosition = gBG1YPosition; gBg0YPosition = gBg1YPosition;
gBG0XPosition = gBG1XPosition; gBg0XPosition = gBg1XPosition;
} }
if (gCurrentRoomEntry.effectY == USHORT_MAX) if (gCurrentRoomEntry.effectY == USHORT_MAX)
@ -789,11 +789,11 @@ void ScrollBG3(void)
if (xScrolling != 0) if (xScrolling != 0)
{ {
if (xScrolling == 1) if (xScrolling == 1)
gBG3XPosition = gBG1XPosition - BLOCK_SIZE * 2; gBg3XPosition = gBg1XPosition - BLOCK_SIZE * 2;
else if (xScrolling == 2) else if (xScrolling == 2)
gBG3XPosition = (gBG1XPosition - BLOCK_SIZE * 2) >> 1; gBg3XPosition = (gBg1XPosition - BLOCK_SIZE * 2) >> 1;
else if (xScrolling == 3) else if (xScrolling == 3)
gBG3XPosition = (gBG1XPosition - BLOCK_SIZE * 2) >> 2; gBg3XPosition = (gBg1XPosition - BLOCK_SIZE * 2) >> 2;
} }
if (gCurrentRoomEntry.BG3FromBottomFlag) if (gCurrentRoomEntry.BG3FromBottomFlag)
@ -813,25 +813,25 @@ void ScrollBG3(void)
size = 0; size = 0;
} }
else if (yScrolling == 1) else if (yScrolling == 1)
size -= gBG1YPosition; size -= gBg1YPosition;
else else
size = (size - gBG1YPosition) >> 2; size = (size - gBg1YPosition) >> 2;
if (offset - size > 0) if (offset - size > 0)
gBG3YPosition = offset - size; gBg3YPosition = offset - size;
else else
gBG3YPosition = 0; gBg3YPosition = 0;
} }
else else
{ {
if (yScrolling == 0) if (yScrolling == 0)
gBG3YPosition = 0; gBg3YPosition = 0;
else if (yScrolling == 1) else if (yScrolling == 1)
gBG3YPosition = gBG1YPosition - BLOCK_SIZE * 2; gBg3YPosition = gBg1YPosition - BLOCK_SIZE * 2;
else if (yScrolling == 2) else if (yScrolling == 2)
gBG3YPosition = (gBG1YPosition - BLOCK_SIZE * 2) >> 1; gBg3YPosition = (gBg1YPosition - BLOCK_SIZE * 2) >> 1;
else else
gBG3YPosition = (gBG1YPosition - BLOCK_SIZE * 2) >> 2; gBg3YPosition = (gBg1YPosition - BLOCK_SIZE * 2) >> 2;
} }
} }
@ -846,11 +846,11 @@ void ScrollBG3Related(void)
xScroll = ScrollGetBG3Scroll(); xScroll = ScrollGetBG3Scroll();
xScroll &= 0xFF; xScroll &= 0xFF;
if (xScroll == 0x0) if (xScroll == 0x0)
gBG3XPosition = 0x0; gBg3XPosition = 0x0;
else if (xScroll == 0x2) else if (xScroll == 0x2)
gBG3XPosition = (gBG1XPosition - 0x80) >> 0x1; gBg3XPosition = (gBg1XPosition - 0x80) >> 0x1;
else if (xScroll == 0x3) 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) if (gCurrentRoomEntry.BG2Prop == BG_PROP_MOVING)
{ {
position = gBG1XPosition + gBG2Movement.xOffset; position = gBg1XPosition + gBG2Movement.xOffset;
if (position < 0) if (position < 0)
position = 0; position = 0;
else else
@ -897,9 +897,9 @@ void ScrollBG2(struct RawCoordsX* pCoords)
position = size; position = size;
} }
gBG2XPosition = position; gBg2XPosition = position;
position = gBG1YPosition + gBG2Movement.yOffset; position = gBg1YPosition + gBG2Movement.yOffset;
if (position < 0) if (position < 0)
position = 0; position = 0;
else else
@ -909,18 +909,18 @@ void ScrollBG2(struct RawCoordsX* pCoords)
position = size; position = size;
} }
gBG2YPosition = position; gBg2YPosition = position;
return; return;
} }
} }
gBG2XPosition = gBG1XPosition; gBg2XPosition = gBg1XPosition;
gBG2YPosition = gBG1YPosition; gBg2YPosition = gBg1YPosition;
} }
else else
{ {
gBG2XPosition = 0; gBg2XPosition = 0;
gBG2YPosition = 0; gBg2YPosition = 0;
} }
} }
@ -933,27 +933,27 @@ void ScrollMaybeScrollBG1Related(struct RawCoordsX* pCoords)
{ {
if (pCoords->x < BLOCK_SIZE * 7 + HALF_BLOCK_SIZE) 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)) 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 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) if (pCoords->y < BLOCK_SIZE * 6)
{ {
gBG1YPosition = 0; gBg1YPosition = 0;
} }
else if (pCoords->y > gBgPointersAndDimensions.backgrounds[1].height * BLOCK_SIZE - (BLOCK_SIZE * 3)) 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 else
{ {
gBG1YPosition = pCoords->y - (BLOCK_SIZE * 6); gBg1YPosition = pCoords->y - (BLOCK_SIZE * 6);
} }
} }

View File

@ -65,7 +65,7 @@ void SoftresetInit(void)
gNextOamSlot = 0; gNextOamSlot = 0;
ClearGfxRam(); ClearGfxRam();
ResetFreeOAM(); ResetFreeOam();
gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0; gOamXOffset_NonGameplay = gOamYOffset_NonGameplay = 0;
write16(PALRAM_BASE, 0); write16(PALRAM_BASE, 0);

View File

@ -33,7 +33,7 @@ void Softreset(void)
write16(REG_IME, FALSE); write16(REG_IME, FALSE);
write16(REG_IE, 0); write16(REG_IE, 0);
write16(REG_DISPSTAT, 0); write16(REG_DISPSTAT, 0);
PLTT_BG[0] = 0; write16(PALRAM_BASE, 0);
write16(REG_DISPCNT, 0); write16(REG_DISPCNT, 0);
write16(REG_BLDY, 0x10); write16(REG_BLDY, 0x10);
write16(REG_BLDCNT, 0xff); write16(REG_BLDCNT, 0xff);
@ -45,7 +45,7 @@ void Softreset(void)
LoadInterruptCode(); LoadInterruptCode();
CallbackSetVBlank(SoftresetVBlankCallback); CallbackSetVBlank(SoftresetVBlankCallback);
SramRead_All(); SramRead_All();
init_sound(); InitializeAudio();
write16(REG_IE, IF_VBLANK | IF_DMA2 | IF_GAMEPAK); write16(REG_IE, IF_VBLANK | IF_DMA2 | IF_GAMEPAK);
write16(REG_DISPSTAT, DSTAT_IF_VBLANK); write16(REG_DISPSTAT, DSTAT_IF_VBLANK);

View File

@ -367,8 +367,8 @@ void SpriteDraw(struct SpriteData* pSprite, s32 slot)
return; return;
dst = (u16*)(gOamData + prevSlot); dst = (u16*)(gOamData + prevSlot);
yPosition = (pSprite->yPosition >> 2) - (gBG1YPosition / 4); yPosition = (pSprite->yPosition >> 2) - (gBg1YPosition / 4);
xPosition = (pSprite->xPosition >> 2) - (gBG1XPosition / 4); xPosition = (pSprite->xPosition >> 2) - (gBg1XPosition / 4);
// Shortcuts for status // Shortcuts for status
xFlip = pSprite->status & SPRITE_STATUS_XFLIP; xFlip = pSprite->status & SPRITE_STATUS_XFLIP;
@ -684,8 +684,8 @@ void SpriteCheckOnScreen(struct SpriteData* pSprite)
if (!(pSprite->properties & SP_ABSOLUTE_POSITION)) if (!(pSprite->properties & SP_ABSOLUTE_POSITION))
{ {
bgBaseY = gBG1YPosition; bgBaseY = gBg1YPosition;
bgBaseX = gBG1XPosition; bgBaseX = gBg1XPosition;
spriteY = pSprite->yPosition; spriteY = pSprite->yPosition;
spriteX = pSprite->xPosition; spriteX = pSprite->xPosition;

View File

@ -289,8 +289,8 @@ void SpriteDebrisDraw(struct SpriteDebris* pDebris)
u16 part2; u16 part2;
u32 currSlot; u32 currSlot;
if (gBG1YPosition + BLOCK_SIZE * 3 > (pDebris->yPosition + BLOCK_SIZE * 4) || if (gBg1YPosition + BLOCK_SIZE * 3 > (pDebris->yPosition + BLOCK_SIZE * 4) ||
gBG1YPosition + BLOCK_SIZE * 15 < (pDebris->yPosition + BLOCK_SIZE * 4)) gBg1YPosition + BLOCK_SIZE * 15 < (pDebris->yPosition + BLOCK_SIZE * 4))
{ {
pDebris->exists = FALSE; pDebris->exists = FALSE;
return; return;
@ -304,8 +304,8 @@ void SpriteDebrisDraw(struct SpriteDebris* pDebris)
{ {
dst = (u16*)(gOamData + prevSlot); dst = (u16*)(gOamData + prevSlot);
xPosition = (pDebris->xPosition >> 2) - (gBG1XPosition >> 2); xPosition = (pDebris->xPosition >> 2) - (gBg1XPosition >> 2);
yPosition = (pDebris->yPosition >> 2) - (gBG1YPosition >> 2); yPosition = (pDebris->yPosition >> 2) - (gBg1YPosition >> 2);
if (gSamusOnTopOfBackgrounds) if (gSamusOnTopOfBackgrounds)
bgPriority = 0x1; bgPriority = 0x1;

View File

@ -437,7 +437,7 @@ void AcidWormSpawnRetracting(void)
// Enable rotation/scaling // Enable rotation/scaling
gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING; gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING;
// 0x100 = No scaling // 0x100 = No scaling
gCurrentSprite.oamScaling = 0x100; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.oamRotation = 0x0; gCurrentSprite.oamRotation = 0x0;
gCurrentSprite.timer = 0x3C; gCurrentSprite.timer = 0x3C;
} }
@ -1177,7 +1177,7 @@ void AcidWormBodyMove(void) {
{ {
gCurrentSprite.pose = 0x9; gCurrentSprite.pose = 0x9;
gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3;
gCurrentSprite.oamScaling = 0x100; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.oamRotation = 0x0; gCurrentSprite.oamRotation = 0x0;
} }
if (0x42 < gSpriteData[slot].pose) if (0x42 < gSpriteData[slot].pose)

View File

@ -277,7 +277,7 @@ void BlackSpacePirateInit(void)
gCurrentSprite.health = health; gCurrentSprite.health = health;
gCurrentSprite.yPositionSpawn = health; gCurrentSprite.yPositionSpawn = health;
gCurrentSprite.oamScaling = 0x100; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.workVariable2 = 0; gCurrentSprite.workVariable2 = 0;
gCurrentSprite.oamRotation = 0; gCurrentSprite.oamRotation = 0;
gCurrentSprite.samusCollision = SSC_SPACE_PIRATE; gCurrentSprite.samusCollision = SSC_SPACE_PIRATE;

View File

@ -172,7 +172,7 @@ void KraidStatueCheckBackgroundLocked(void)
spriteX = gCurrentSprite.xPosition + 0x20; spriteX = gCurrentSprite.xPosition + 0x20;
spriteX /= 4; spriteX /= 4;
bgX = gBG1XPosition / 4; bgX = gBg1XPosition / 4;
if ((u16)(spriteX - bgX) == 0x78) // Sprite is 0x78 pixels from lock screen center if ((u16)(spriteX - bgX) == 0x78) // Sprite is 0x78 pixels from lock screen center
{ {
@ -229,8 +229,8 @@ void KraidStatueOpening(void)
rngParam1 = gCurrentSprite.workVariable; rngParam1 = gCurrentSprite.workVariable;
rngParam2 = gCurrentSprite.workVariable2; rngParam2 = gCurrentSprite.workVariable2;
yPosition = gBG1YPosition - BLOCK_SIZE; yPosition = gBg1YPosition - BLOCK_SIZE;
xPosition = gBG1XPosition + (BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE); xPosition = gBg1XPosition + (BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE);
rngParam3 = gSpriteRng; rngParam3 = gSpriteRng;
@ -380,7 +380,7 @@ void RidleyStatueCheckBackgroundLocked(void)
spriteX = gCurrentSprite.xPosition + 0x20; spriteX = gCurrentSprite.xPosition + 0x20;
spriteX /= 4; spriteX /= 4;
bgX = gBG1XPosition / 4; bgX = gBg1XPosition / 4;
if ((u16)(spriteX - bgX) == 0x78) // Sprite is 0x78 pixels from lock screen center if ((u16)(spriteX - bgX) == 0x78) // Sprite is 0x78 pixels from lock screen center
{ {
@ -448,8 +448,8 @@ void RidleyStatueOpening(void)
rngParam1 = gCurrentSprite.workVariable; rngParam1 = gCurrentSprite.workVariable;
rngParam2 = gCurrentSprite.workVariable2; rngParam2 = gCurrentSprite.workVariable2;
yPosition = gBG1YPosition - BLOCK_SIZE; yPosition = gBg1YPosition - BLOCK_SIZE;
xPosition = gBG1XPosition + 0x190; xPosition = gBg1XPosition + 0x190;
rngParam3 = gSpriteRng; rngParam3 = gSpriteRng;

View File

@ -2339,7 +2339,7 @@ void DeoremThornInit(void)
{ {
gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3;
gCurrentSprite.oamScaling = 0x100; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.oamRotation = 0; gCurrentSprite.oamRotation = 0;
gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN;

View File

@ -27,7 +27,7 @@ void DragonYMovement(void)
if (gCurrentSprite.status & SPRITE_STATUS_UNKNOWN2) 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; gCurrentSprite.yPosition -= PIXEL_SIZE / 2;
SpriteUtilCheckOutOfRoomEffect(oldY, gCurrentSprite.yPosition, gCurrentSprite.xPosition, SPLASH_SMALL); SpriteUtilCheckOutOfRoomEffect(oldY, gCurrentSprite.yPosition, gCurrentSprite.xPosition, SPLASH_SMALL);
@ -289,7 +289,7 @@ void DragonFireballInit(void)
gCurrentSprite.oamRotation = 0; gCurrentSprite.oamRotation = 0;
gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN3;
gCurrentSprite.oamScaling = PI * 2; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.arrayOffset = 0; gCurrentSprite.arrayOffset = 0;
SoundPlay(0x14C); SoundPlay(0x14C);

View File

@ -26,7 +26,7 @@ void EscapeShipSpacePirateInit(void)
gCurrentSprite.hitboxBottomOffset = 0x0; gCurrentSprite.hitboxBottomOffset = 0x0;
gCurrentSprite.health = 0x0; gCurrentSprite.health = 0x0;
gCurrentSprite.oamScaling = 0x100; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.workVariable2 = 0x0; gCurrentSprite.workVariable2 = 0x0;
gCurrentSprite.oamRotation = 0x0; gCurrentSprite.oamRotation = 0x0;
gCurrentSprite.samusCollision = SSC_NONE; gCurrentSprite.samusCollision = SSC_NONE;

View File

@ -52,7 +52,7 @@ void ExplosionZebesEscape(void)
} }
yPosition = gCurrentSprite.yPositionSpawn; yPosition = gCurrentSprite.yPositionSpawn;
xPosition = gBG1XPosition + BLOCK_SIZE * 7 + HALF_BLOCK_SIZE; xPosition = gBg1XPosition + BLOCK_SIZE * 7 + HALF_BLOCK_SIZE;
rngParam1 = gSpriteRng; rngParam1 = gSpriteRng;
rngParam2 = rngParam1 & 3; rngParam2 = rngParam1 & 3;
@ -136,7 +136,7 @@ void ExplosionZebesEscape(void)
} }
} }
yPosition = gBG1YPosition - BLOCK_SIZE; yPosition = gBg1YPosition - BLOCK_SIZE;
if (debrisTimer % 32 == 0) if (debrisTimer % 32 == 0)
{ {

View File

@ -859,7 +859,7 @@ void MellowSwarm(void)
gCurrentSprite.currentAnimationFrame = 0x0; gCurrentSprite.currentAnimationFrame = 0x0;
gCurrentSprite.animationDurationCounter = 0x0; gCurrentSprite.animationDurationCounter = 0x0;
gCurrentSprite.pose = 0x9; gCurrentSprite.pose = 0x9;
if (0x78 < (gSamusData.xPosition >> 0x2) -(gBG1XPosition >> 0x2)) if (0x78 < (gSamusData.xPosition >> 0x2) -(gBg1XPosition >> 0x2))
gCurrentSprite.status |= SPRITE_STATUS_XFLIP; gCurrentSprite.status |= SPRITE_STATUS_XFLIP;
gCurrentSprite.yPositionSpawn = 0xF0; gCurrentSprite.yPositionSpawn = 0xF0;
@ -926,7 +926,7 @@ void MellowSwarm(void)
x_pos = gSamusData.xPosition + (gSpriteRng * -0x20); x_pos = gSamusData.xPosition + (gSpriteRng * -0x20);
if (x_pos & 0x8000) if (x_pos & 0x8000)
x_pos = 0x0; 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); SpriteSpawnPrimary(PSPRITE_MELLOW, 0x88, gCurrentSprite.spritesetGfxSlot, y_pos, x_pos, 0x0);
} }
} }

View File

@ -200,7 +200,7 @@ void ImagoCocoonInit(void)
gCurrentSprite.drawOrder = 0x4; gCurrentSprite.drawOrder = 0x4;
gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING; gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING;
gCurrentSprite.oamScaling = 0x100; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.oamRotation = 0x0; gCurrentSprite.oamRotation = 0x0;
gCurrentSprite.roomSlot = IMAGO_COCOON_PART_IMAGO_COCOON; gCurrentSprite.roomSlot = IMAGO_COCOON_PART_IMAGO_COCOON;
@ -236,7 +236,7 @@ void ImagoCocoonInit(void)
gCurrentSprite.health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID); gCurrentSprite.health = GET_PSPRITE_HEALTH(gCurrentSprite.spriteID);
gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING; gCurrentSprite.status |= SPRITE_STATUS_ROTATION_SCALING;
gCurrentSprite.oamScaling = 0x100; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.oamRotation = 0x0; gCurrentSprite.oamRotation = 0x0;
gCurrentSprite.workVariable2 = FALSE; gCurrentSprite.workVariable2 = FALSE;
@ -411,7 +411,7 @@ void ImagoCocoonFallingBeforeBlocks(void)
gCurrentSprite.primarySpriteRamSlot, gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, 0x0); gCurrentSprite.primarySpriteRamSlot, gSubSpriteData1.yPosition, gSubSpriteData1.xPosition, 0x0);
} }
yPosition = gBG1YPosition - BLOCK_SIZE; yPosition = gBg1YPosition - BLOCK_SIZE;
xPosition = gSubSpriteData1.xPosition; xPosition = gSubSpriteData1.xPosition;
rng = gSpriteRng; rng = gSpriteRng;
@ -489,7 +489,7 @@ void ImagoCocoonFallingAfterBlocks(void)
ScreenShakeStartVertical(0x28, 0x81); ScreenShakeStartVertical(0x28, 0x81);
SoundPlay(0x1A5); SoundPlay(0x1A5);
gCurrentSprite.oamScaling = 0x100; gCurrentSprite.oamScaling = Q_8_8(1.f);
gCurrentSprite.workVariable2 = FALSE; gCurrentSprite.workVariable2 = FALSE;
FadeMusic(0x55); FadeMusic(0x55);

View File

@ -1,12 +1,14 @@
#include "gba.h" #include "gba.h"
#include "sprites_AI/item_banner.h" #include "sprites_AI/item_banner.h"
#include "sprites_AI/ruins_test.h" #include "sprites_AI/ruins_test.h"
#include "macros.h"
#include "data/sprites/item_banner.h" #include "data/sprites/item_banner.h"
#include "constants/audio.h" #include "constants/audio.h"
#include "constants/game_state.h" #include "constants/game_state.h"
#include "constants/sprite.h" #include "constants/sprite.h"
#include "constants/samus.h"
#include "constants/text.h" #include "constants/text.h"
#include "structs/bg_clip.h" #include "structs/bg_clip.h"
@ -25,36 +27,38 @@ void ItemBannerInit(void)
u8 gfxSlot; u8 gfxSlot;
u8 count; u8 count;
gPreventMovementTimer = 0x3E8; gPreventMovementTimer = SAMUS_ITEM_PMT;
if (!(gCurrentSprite.status & SPRITE_STATUS_ONSCREEN)) if (!(gCurrentSprite.status & SPRITE_STATUS_ONSCREEN))
{ {
gCurrentSprite.status |= SPRITE_STATUS_ONSCREEN; gCurrentSprite.status |= SPRITE_STATUS_ONSCREEN;
gCurrentSprite.roomSlot = 0xFF; gCurrentSprite.roomSlot = UCHAR_MAX;
} }
message = gCurrentSprite.roomSlot; message = gCurrentSprite.roomSlot;
gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN;
gCurrentSprite.bgPriority = 0x0; // On top of everything gCurrentSprite.bgPriority = 0; // On top of everything
gCurrentSprite.samusCollision = SSC_NONE; gCurrentSprite.samusCollision = SSC_NONE;
gCurrentSprite.properties |= (SP_ALWAYS_ACTIVE | SP_ABSOLUTE_POSITION); gCurrentSprite.properties |= (SP_ALWAYS_ACTIVE | SP_ABSOLUTE_POSITION);
gCurrentSprite.drawDistanceTopOffset = 0x10; gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE);
gCurrentSprite.drawDistanceBottomOffset = 0x10; gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE);
gCurrentSprite.drawDistanceHorizontalOffset = 0x80; gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE * 8);
gCurrentSprite.hitboxTopOffset = -0x4; gCurrentSprite.hitboxTopOffset = -PIXEL_SIZE;
gCurrentSprite.hitboxBottomOffset = 0x4; gCurrentSprite.hitboxBottomOffset = PIXEL_SIZE;
gCurrentSprite.hitboxLeftOffset = -0x4; gCurrentSprite.hitboxLeftOffset = -PIXEL_SIZE;
gCurrentSprite.hitboxRightOffset = 0x4; gCurrentSprite.hitboxRightOffset = PIXEL_SIZE;
gCurrentSprite.pOam = sItemBannerOAM_TwoLinesSpawn; gCurrentSprite.pOam = sItemBannerOAM_TwoLinesSpawn;
gCurrentSprite.animationDurationCounter = 0x0; gCurrentSprite.animationDurationCounter = 0;
gCurrentSprite.currentAnimationFrame = 0x0; gCurrentSprite.currentAnimationFrame = 0;
gCurrentSprite.yPositionSpawn = 0x9; gCurrentSprite.yPositionSpawn = 9;
gCurrentSprite.timer = 0x1; gCurrentSprite.timer = 1;
gCurrentSprite.workVariable2 = 0x0; gCurrentSprite.workVariable2 = FALSE;
// Flag if the message is the save prompt // Flag if the message is the save prompt
if (message == MESSAGE_SAVE_PROMPT) if (message == MESSAGE_SAVE_PROMPT)
@ -65,7 +69,7 @@ void ItemBannerInit(void)
gfxSlot = 0x80; // Default gfxSlot = 0x80; // Default
// Loop through sprites to try and find if an item banner is in the spriteset // 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) 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 // Found in the spriteset, skip gfx init
gCurrentSprite.pose = ITEM_BANNER_POSE_POP_UP; gCurrentSprite.pose = ITEM_BANNER_POSE_POP_UP;
gCurrentSprite.spritesetGfxSlot = gfxSlot; gCurrentSprite.spritesetGfxSlot = gfxSlot;
} }
else else
gCurrentSprite.pose = ITEM_BANNER_POSE_Gfx_INIT; gCurrentSprite.pose = ITEM_BANNER_POSE_GFX_INIT;
// Middle of the screen // Middle of the screen
gCurrentSprite.yPosition = 0x36; gCurrentSprite.yPosition = QUARTER_BLOCK_SIZE * 3 + PIXEL_SIZE + PIXEL_SIZE / 2;
gCurrentSprite.xPosition = 0x78; 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) void ItemBannerGfxInit(void)
{ {
gPreventMovementTimer = 0x3E8; gPreventMovementTimer = SAMUS_ITEM_PMT;
gCurrentSprite.yPositionSpawn--; // Timer (started at 0x9) gCurrentSprite.yPositionSpawn--; // Timer (started at 0x9)
if (gCurrentSprite.yPositionSpawn == 0x7) if (gCurrentSprite.yPositionSpawn == 7)
SpriteLoadGfx(PSPRITE_ITEM_BANNER, gCurrentSprite.spritesetGfxSlot); // Load Gfx SpriteLoadGfx(PSPRITE_ITEM_BANNER, gCurrentSprite.spritesetGfxSlot); // Load Gfx
else if (gCurrentSprite.yPositionSpawn == 0x8) else if (gCurrentSprite.yPositionSpawn == 8)
SpriteLoadPAL(PSPRITE_ITEM_BANNER, gCurrentSprite.spritesetGfxSlot, 0x1); // Load PAL SpriteLoadPAL(PSPRITE_ITEM_BANNER, gCurrentSprite.spritesetGfxSlot, 1); // Load PAL
if (gCurrentSprite.yPositionSpawn == 0x0) if (gCurrentSprite.yPositionSpawn == 0)
{ {
// Loading done, set pop up behavior // Loading done, set pop up behavior
gCurrentSprite.pose = ITEM_BANNER_POSE_POP_UP; gCurrentSprite.pose = ITEM_BANNER_POSE_POP_UP;
gCurrentSprite.animationDurationCounter = 0x0; gCurrentSprite.animationDurationCounter = 0;
gCurrentSprite.currentAnimationFrame = 0x0; gCurrentSprite.currentAnimationFrame = 0;
} }
} }
@ -121,95 +125,109 @@ void ItemBannerGfxInit(void)
void ItemBannerPopUp(void) void ItemBannerPopUp(void)
{ {
u16 music; u16 music;
u8 message; u8 msg;
u8 timer; u8 timer;
// Work Variable 2 is used as a bool, 1 if getting new item (leading to status screen), 0 otherwise // Work Variable 2 is used as a bool, 1 if getting new item (leading to status screen), 0 otherwise
gPreventMovementTimer = 0x3E8; gPreventMovementTimer = SAMUS_ITEM_PMT;
message = gCurrentSprite.roomSlot;
if (gCurrentSprite.timer != 0x0) msg = gCurrentSprite.roomSlot;
if (gCurrentSprite.timer != 0)
{ {
gCurrentSprite.animationDurationCounter--; gCurrentSprite.animationDurationCounter--;
if (process_item_banner_text()) // Process text if (TextProcessItemBanner()) // Process text
{ {
// If done processing // If done processing
gCurrentSprite.timer = 0x0; gCurrentSprite.timer = 0;
gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; 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 // New item
gCurrentSprite.workVariable2 = TRUE; gCurrentSprite.workVariable2 = TRUE;
BackupTrackData2SoundChannels(); BackupTrackData2SoundChannels();
if (message == MESSAGE_UKNOWN_ITEM_PLASMA || message == MESSAGE_UNKNOWN_ITEM_GRAVITY
|| message == MESSAGE_UNKNOWN_ITEM_SPACE_JUMP) // Play item jingle
InsertMusicAndQueueCurrent(MUSIC_GETTING_UNKNOWN_ITEM_JINGLE, 0x0); // Unknown item 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 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 else if (msg == MESSAGE_FIRST_MISSILE_TANK || msg == MESSAGE_FIRST_SUPER_MISSILE_TANK || msg == MESSAGE_FIRST_POWER_BOMB_TANK)
|| message == MESSAGE_FIRST_POWER_BOMB_TANK)
{ {
// New tank // New tank
gCurrentSprite.workVariable2 = TRUE; gCurrentSprite.workVariable2 = TRUE;
BackupTrackData2SoundChannels(); 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); PlayMusic(MUSIC_BRINSTAR_REMIX, 0);
InsertMusicAndQueueCurrent(MUSIC_GETTING_FULLY_POWERED_SUIT_JINGLE, 0x0); InsertMusicAndQueueCurrent(MUSIC_GETTING_FULLY_POWERED_SUIT_JINGLE, 0);
} }
else if (message != MESSAGE_SAVE_PROMPT) else if (msg != MESSAGE_SAVE_PROMPT)
{
if (msg == MESSAGE_ENERGY_TANK_ACQUIRED || msg == MESSAGE_MISSILE_TANK_ACQUIRED ||
msg == MESSAGE_SUPER_MISSILE_TANK_ACQUIRED || msg == MESSAGE_POWER_BOMB_TANK_ACQUIRED)
{ {
if ((u8)(message - 0x1) <= 0x1 || message == MESSAGE_SUPER_MISSILE_TANK_ACQUIRED
|| message == MESSAGE_POWER_BOMB_TANK_ACQUIRED)
BackupTrackData2SoundChannels(); BackupTrackData2SoundChannels();
SoundPlay(0x3A); }
SoundPlay(MUSIC_GETTING_TANK_JINGLE);
} }
// Check is one line message (new item/ability, save complete, map text) // Check is one line message (new item/ability, save complete, map text)
if (gCurrentSprite.workVariable2 || message == MESSAGE_SAVE_COMPLETE if (gCurrentSprite.workVariable2 || msg == MESSAGE_SAVE_COMPLETE ||
|| (u8)(message - 0x1B) < 0x6) (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.pOam = sItemBannerOAM_OneLineSpawn;
gCurrentSprite.animationDurationCounter = 0x0; gCurrentSprite.animationDurationCounter = 0;
gCurrentSprite.currentAnimationFrame = 0x0; gCurrentSprite.currentAnimationFrame = 0;
} }
} }
return;
} }
else
{
// Text not done // Text not done
if (SpriteUtilCheckEndCurrentSpriteAnim()) if (SpriteUtilCheckEndCurrentSpriteAnim())
{ {
// Spawning animation ended // Spawning animation ended
gCurrentSprite.animationDurationCounter = 0x0; gCurrentSprite.animationDurationCounter = 0;
gCurrentSprite.currentAnimationFrame = 0x0; gCurrentSprite.currentAnimationFrame = 0;
gCurrentSprite.pose = ITEM_BANNER_POSE_STATIC; gCurrentSprite.pose = ITEM_BANNER_POSE_STATIC;
// Set static OAM and timer for how long the banner stays // Set static OAM and timer for how long the banner stays
if (gCurrentSprite.pOam == sItemBannerOAM_OneLineSpawn) if (gCurrentSprite.pOam == sItemBannerOAM_OneLineSpawn)
{ {
gCurrentSprite.pOam = sItemBannerOAM_OneLineStatic; gCurrentSprite.pOam = sItemBannerOAM_OneLineStatic;
if (message == MESSAGE_FULLY_POWERED_SUIT)
gCurrentSprite.yPositionSpawn = 0x154; // Long because jingle is long if (msg == MESSAGE_FULLY_POWERED_SUIT)
gCurrentSprite.yPositionSpawn = 340; // Long because jingle is long
else else
gCurrentSprite.yPositionSpawn = 0x64; gCurrentSprite.yPositionSpawn = 100;
} }
else else
{ {
gCurrentSprite.pOam = sItemBannerOAM_TwoLinesStatic; gCurrentSprite.pOam = sItemBannerOAM_TwoLinesStatic;
gCurrentSprite.yPositionSpawn = 0x64; gCurrentSprite.yPositionSpawn = 100;
if (message == MESSAGE_SAVE_PROMPT)
if (msg == MESSAGE_SAVE_PROMPT)
{ {
SpriteSpawnSecondary(SSPRITE_SAVE_YES_NO_CURSOR, 0x0, gCurrentSprite.spritesetGfxSlot, SpriteSpawnSecondary(SSPRITE_SAVE_YES_NO_CURSOR, 0, gCurrentSprite.spritesetGfxSlot,
gCurrentSprite.primarySpriteRamSlot, 0x3F, 0x96, 0x0); // Spawn cursor 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 (0x1 >= (u8)(message - 0x21)) // Escape message else if (msg == MESSAGE_ZEBES_ESCAPE || msg == MESSAGE_CHOZODIA_ESCAPE) // Escape message
EscapeStart(); EscapeStart();
} }
} }
}
} }
/** /**
@ -222,16 +240,16 @@ void ItemBannerStatic(void)
message = gCurrentSprite.roomSlot; message = gCurrentSprite.roomSlot;
if (message == MESSAGE_FULLY_POWERED_SUIT) if (message == MESSAGE_FULLY_POWERED_SUIT)
gPreventMovementTimer = 0x0; gPreventMovementTimer = 0;
else else
gPreventMovementTimer = 0x3E8; gPreventMovementTimer = SAMUS_ITEM_PMT;
// Timer // Timer
if (gCurrentSprite.yPositionSpawn != 0x0) if (gCurrentSprite.yPositionSpawn != 0)
gCurrentSprite.yPositionSpawn--; gCurrentSprite.yPositionSpawn--;
// Check if should remove (input or demo active, ignore for save prompt) // Check if should remove (input or demo active, ignore for save prompt)
else if (message != MESSAGE_SAVE_PROMPT && else if (message != MESSAGE_SAVE_PROMPT && (gButtonInput & (KEY_A | KEY_B | KEY_ALL_DIRECTIONS) || gDemoState != 0))
(gButtonInput & (KEY_A | KEY_B | KEY_RIGHT | KEY_LEFT | KEY_UP | KEY_DOWN) || gDemoState != 0x0))
gCurrentSprite.pose = ITEM_BANNER_POSE_REMOVAL_INIT; gCurrentSprite.pose = ITEM_BANNER_POSE_REMOVAL_INIT;
} }
@ -243,13 +261,16 @@ void ItemBannerRemovalInit(void)
{ {
if (gCollectingTank) if (gCollectingTank)
BgClipFinishCollectingTank(); BgClipFinishCollectingTank();
if (gCurrentSprite.pOam == sItemBannerOAM_OneLineStatic) if (gCurrentSprite.pOam == sItemBannerOAM_OneLineStatic)
gCurrentSprite.pOam = sItemBannerOAM_OneLineRemoving; gCurrentSprite.pOam = sItemBannerOAM_OneLineRemoving;
else else
gCurrentSprite.pOam = sItemBannerOAM_TwoLinesRemoving; gCurrentSprite.pOam = sItemBannerOAM_TwoLinesRemoving;
gCurrentSprite.animationDurationCounter = 0x0;
gCurrentSprite.currentAnimationFrame = 0x0; gCurrentSprite.animationDurationCounter = 0;
gCurrentSprite.pose = 0x25; gCurrentSprite.currentAnimationFrame = 0;
gCurrentSprite.pose = ITEM_BANNER_POSE_REMOVAL_ANIMATION;
} }
/** /**
@ -258,28 +279,35 @@ void ItemBannerRemovalInit(void)
*/ */
void ItemBannerRemovalAnimation(void) void ItemBannerRemovalAnimation(void)
{ {
u8 message; u8 msg;
msg = gCurrentSprite.roomSlot;
message = gCurrentSprite.roomSlot;
if (SpriteUtilCheckEndCurrentSpriteAnim()) if (SpriteUtilCheckEndCurrentSpriteAnim())
{ {
gCurrentSprite.status = 0x0; gCurrentSprite.status = 0;
if (message == MESSAGE_SAVE_COMPLETE) if (msg == MESSAGE_SAVE_COMPLETE)
gDisablePause = FALSE; // Re-enable pause gDisablePause = FALSE; // Re-enable pause
else if (message == MESSAGE_FULLY_POWERED_SUIT) else if (msg == MESSAGE_FULLY_POWERED_SUIT)
{ {
// Start suit animation // Start suit animation
gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_STARTING_SUIT_ANIM; gSubSpriteData1.workVariable3 = RUINS_TEST_FIGHT_STAGE_STARTING_SUIT_ANIM;
// Spawn chozo pillar // Spawn chozo pillar
SpriteLoadGfx(PSPRITE_FALLING_CHOZO_PILLAR, 0x7); SpriteLoadGfx(PSPRITE_FALLING_CHOZO_PILLAR, 7);
SpriteLoadPAL(PSPRITE_FALLING_CHOZO_PILLAR, 0x7, 0x1); SpriteLoadPAL(PSPRITE_FALLING_CHOZO_PILLAR, 7, 1);
SpriteSpawnPrimary(PSPRITE_FALLING_CHOZO_PILLAR, 0x0, 0x7, gBossWork.work1 - 0x100, gBossWork.work2 + 0x300, 0x0); SpriteSpawnPrimary(PSPRITE_FALLING_CHOZO_PILLAR, 0, 7, gBossWork.work1 - BLOCK_SIZE * 4,
gBossWork.work2 + BLOCK_SIZE * 12, 0);
} }
// Check replay sounds // 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(); RetrieveTrackData2SoundChannels();
}
gPreventMovementTimer = 0;
gPreventMovementTimer = 0x0;
if (gCurrentSprite.workVariable2) if (gCurrentSprite.workVariable2)
gPauseScreenFlag = PAUSE_SCREEN_ITEM_ACQUISITION; gPauseScreenFlag = PAUSE_SCREEN_ITEM_ACQUISITION;
} }
@ -291,14 +319,15 @@ void ItemBannerRemovalAnimation(void)
*/ */
void ItemBanner(void) void ItemBanner(void)
{ {
gCurrentSprite.ignoreSamusCollisionTimer = 0x1; gCurrentSprite.ignoreSamusCollisionTimer = 1;
switch (gCurrentSprite.pose) switch (gCurrentSprite.pose)
{ {
case 0x0: case SPRITE_POSE_UNINITIALIZED:
ItemBannerInit(); ItemBannerInit();
break; break;
case ITEM_BANNER_POSE_Gfx_INIT: case ITEM_BANNER_POSE_GFX_INIT:
ItemBannerGfxInit(); ItemBannerGfxInit();
break; break;
@ -328,35 +357,35 @@ void SaveYesNoCursor(void)
{ {
u8 ramSlot; u8 ramSlot;
gCurrentSprite.ignoreSamusCollisionTimer = 0x1; gCurrentSprite.ignoreSamusCollisionTimer = 1;
ramSlot = gCurrentSprite.primarySpriteRamSlot; ramSlot = gCurrentSprite.primarySpriteRamSlot;
switch (gCurrentSprite.pose) switch (gCurrentSprite.pose)
{ {
case 0x0: case SPRITE_POSE_UNINITIALIZED:
gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN; gCurrentSprite.status |= SPRITE_STATUS_UNKNOWN;
gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN; gCurrentSprite.status &= ~SPRITE_STATUS_NOT_DRAWN;
gCurrentSprite.bgPriority = 0x0; gCurrentSprite.bgPriority = 0;
gCurrentSprite.drawOrder = 0x3; gCurrentSprite.drawOrder = 3;
gCurrentSprite.samusCollision = SSC_NONE; gCurrentSprite.samusCollision = SSC_NONE;
gCurrentSprite.properties |= (SP_ALWAYS_ACTIVE | SP_ABSOLUTE_POSITION); gCurrentSprite.properties |= (SP_ALWAYS_ACTIVE | SP_ABSOLUTE_POSITION);
gCurrentSprite.drawDistanceTopOffset = 0x10; gCurrentSprite.drawDistanceTopOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE);
gCurrentSprite.drawDistanceBottomOffset = 0x10; gCurrentSprite.drawDistanceBottomOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE);
gCurrentSprite.drawDistanceHorizontalOffset = 0x10; gCurrentSprite.drawDistanceHorizontalOffset = SUB_PIXEL_TO_PIXEL(BLOCK_SIZE);
gCurrentSprite.hitboxTopOffset = -0x4; gCurrentSprite.hitboxTopOffset = -PIXEL_SIZE;
gCurrentSprite.hitboxBottomOffset = 0x4; gCurrentSprite.hitboxBottomOffset = PIXEL_SIZE;
gCurrentSprite.hitboxLeftOffset = -0x4; gCurrentSprite.hitboxLeftOffset = -PIXEL_SIZE;
gCurrentSprite.hitboxRightOffset = 0x4; gCurrentSprite.hitboxRightOffset = PIXEL_SIZE;
gCurrentSprite.pOam = sSaveYesNoCursorOAM_Idle; gCurrentSprite.pOam = sSaveYesNoCursorOAM_Idle;
gCurrentSprite.animationDurationCounter = 0x0; gCurrentSprite.animationDurationCounter = 0;
gCurrentSprite.currentAnimationFrame = 0x0; gCurrentSprite.currentAnimationFrame = 0;
gCurrentSprite.pose = 0x9; gCurrentSprite.pose = SAVE_YES_NO_CURSOR_POSE_INPUT;
gCurrentSprite.yPosition = 0x3F; gCurrentSprite.yPosition = BLOCK_SIZE - PIXEL_SIZE / SUB_PIXEL_RATIO;
if (gSpriteData[ramSlot].roomSlot == MESSAGE_SAVE_PROMPT) if (gSpriteData[ramSlot].roomSlot == MESSAGE_SAVE_PROMPT)
gCurrentSprite.xPosition = SAVE_YES_NO_CURSOR_LEFT_POSITION; gCurrentSprite.xPosition = SAVE_YES_NO_CURSOR_LEFT_POSITION;
@ -390,7 +419,7 @@ void SaveYesNoCursor(void)
{ {
// On left, "yes" option selected // On left, "yes" option selected
SoundPlay(0x208); SoundPlay(0x208);
gSpriteData[ramSlot].workVariable = 0x1; gSpriteData[ramSlot].workVariable = TRUE;
if (gSpriteData[ramSlot].roomSlot == MESSAGE_SAVE_PROMPT) if (gSpriteData[ramSlot].roomSlot == MESSAGE_SAVE_PROMPT)
{ {
gCurrentSprite.pose = SAVE_YES_NO_CURSOR_POSE_SAVING; gCurrentSprite.pose = SAVE_YES_NO_CURSOR_POSE_SAVING;
@ -403,15 +432,16 @@ void SaveYesNoCursor(void)
{ {
// On right, "no" option selected // On right, "no" option selected
SoundPlay(0x209); SoundPlay(0x209);
gSpriteData[ramSlot].workVariable = 0x0; gSpriteData[ramSlot].workVariable = FALSE;
} }
gCurrentSprite.status = 0x0;
gCurrentSprite.status = 0;
} }
break; break;
case SAVE_YES_NO_CURSOR_POSE_SAVING: case SAVE_YES_NO_CURSOR_POSE_SAVING:
if (SramSaveFile()) if (SramSaveFile())
gCurrentSprite.status = 0x0; gCurrentSprite.status = 0;
break; break;
} }
} }

Some files were not shown because too many files have changed in this diff Show More