From 6784ec9e62af989ac1f186f24bb0ce86deb21577 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 21 Aug 2020 15:47:48 +0200 Subject: [PATCH 001/105] ok townMinish sub_0806AC3C --- asm/townMinish.s | 71 -------------------------------------------- src/npc/townMinish.c | 66 +++++++++++++++++----------------------- 2 files changed, 28 insertions(+), 109 deletions(-) diff --git a/asm/townMinish.s b/asm/townMinish.s index 18494800..7c9104f7 100644 --- a/asm/townMinish.s +++ b/asm/townMinish.s @@ -6,77 +6,6 @@ .text - thumb_func_start sub_0806AC3C -sub_0806AC3C: @ 0x0806AC3C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #3 - bhi _0806ACBA - ldr r4, _0806AC6C @ =gPlayerEntity - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x18 - movs r3, #0x18 - bl sub_080041A0 - cmp r0, #0 - beq _0806AC70 - adds r0, r5, #0 - adds r1, r4, #0 - bl GetFacingDirection - adds r2, r0, #0 - movs r0, #0x1e - ands r2, r0 - b _0806AC74 - .align 2, 0 -_0806AC6C: .4byte gPlayerEntity -_0806AC70: - ldrb r0, [r5, #0x14] - lsls r2, r0, #2 -_0806AC74: - adds r0, r5, #0 - adds r0, #0x69 - ldrb r3, [r0] - adds r4, r0, #0 - cmp r2, r3 - beq _0806AC9A - subs r0, r2, r3 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xf - bgt _0806AC8E - subs r0, r3, #1 - b _0806AC90 -_0806AC8E: - adds r0, r3, #1 -_0806AC90: - strb r0, [r4] - ldrb r1, [r4] - movs r0, #0x1f - ands r0, r1 - strb r0, [r4] -_0806AC9A: - ldrb r1, [r4] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0806ACBA - ldrb r0, [r4] - bl sub_0806F5B0 - strb r0, [r5, #0x14] - ldrb r1, [r5, #0x14] - lsrs r1, r1, #1 - movs r0, #2 - eors r1, r0 - adds r0, r5, #0 - bl InitializeAnimation -_0806ACBA: - adds r0, r5, #0 - bl UpdateAnimationSingleFrame - pop {r4, r5, pc} - .align 2, 0 - thumb_func_start sub_0806ACC4 sub_0806ACC4: @ 0x0806ACC4 push {r4, r5, lr} diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 80d207ef..5b6d55b9 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -1,35 +1,32 @@ #include "global.h" #include "entity.h" #include "npc.h" +#include "functions.h" -extern void InitializeAnimation(Entity *, u32); +extern void InitializeAnimation(Entity*, u32); +extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); -extern void sub_0806ED78(Entity *); +extern void sub_0806ACC4(Entity*); +extern void sub_0806ED78(Entity*); +extern u32 sub_0806F5B0(u32); -extern void (*gUnk_081126E8[])(); -extern void sub_0806ACC4(Entity *); - -extern u32 LoadExtraSpriteData(Entity *, SpriteLoadData *); extern SpriteLoadData gUnk_08112674[]; +extern void (*gUnk_081126E8[])(); -void TownMinish(Entity *this) -{ +void TownMinish(Entity* this) { if ((this->flags & 2) == 0) { - (*gUnk_081126E8[this->action])(this); + gUnk_081126E8[this->action](this); sub_0806ED78(this); - } - else { + } else { sub_0806ACC4(this); } } -void sub_0806ABFC(Entity *this) -{ +void sub_0806ABFC(Entity* this) { u8 animationState; SpriteLoadData* SpriteLoadData = &gUnk_08112674[this->entityType.form << 2]; - if (!LoadExtraSpriteData(this, SpriteLoadData)) - { + if (!LoadExtraSpriteData(this, SpriteLoadData)) { return; } @@ -44,41 +41,34 @@ void sub_0806ABFC(Entity *this) this->actionDelay = 0; } -// Not matching yet, not 100% sure it's functionally identical -/*void sub_0806AC3C(Entity *this) { - if (this->field_0x58 <= 3) { +void sub_0806AC3C(Entity* this) { + if (this->animIndex <= 3) { s32 unk; - u8 field_0x68; - - Entity *link = &gPlayerEntity; + Entity* link = &gPlayerEntity; if (sub_080041A0(this, link, 0x18, 0x18)) { - unk = GetFacingDirection(this, link) & (u8)0x1e; - } - else { - unk = this->animationState << 2; + unk = GetFacingDirection(this, link) & 0x1e; + } else { + unk = this->animationState * 4; } - field_0x68.HALF.HI = this->field_0x68.HALF.HI; - - if (unk != field_0x68.HALF.HI) { + if (unk != this->field_0x68.HALF.HI) { s32 temp; - if (((unk - field_0x68.HALF.HI) & 0x1f) <= 0xf) { - field_0x68.HALF.HI--; - } - else { - field_0x68.HALF.HI++; + if (((unk - this->field_0x68.HALF.HI) & 0x1f) <= 0xf) { + this->field_0x68.HALF.HI--; + } else { + this->field_0x68.HALF.HI++; } - temp = field_0x68.HALF.HI; - this->field_0x68.HALF.HI = temp & 0x1f; + this->field_0x68.HALF.HI &= 0x1f; } if (!(this->field_0x68.HALF.HI & 7)) { this->animationState = sub_0806F5B0(this->field_0x68.HALF.HI); - UpdateSprite(this, (this->animationState >> 1) ^ 2); + InitializeAnimation(this, (this->animationState / 2) ^ 2); } } - sub_080042B8(this); -}*/ + UpdateAnimationSingleFrame(this); +} + From 7af023e11f51f4ec9fe6992f1b4341d125e950ff Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 21 Aug 2020 22:51:29 +0200 Subject: [PATCH 002/105] finish decompile townMinish --- asm/townMinish.s | 669 ------------------------------------- include/functions.h | 7 +- include/npc.h | 1 - include/structures.h | 5 + linker.ld | 1 - src/code_08077DF4.c | 4 +- src/npc/cow.c | 10 +- src/npc/epona.c | 4 +- src/npc/festari.c | 1 - src/npc/forestMinish.c | 217 ++++++------ src/npc/goron.c | 11 +- src/npc/mayorHagen.c | 88 +++-- src/npc/melari.c | 1 - src/npc/mutoh.c | 90 +++-- src/npc/postman.c | 13 +- src/npc/rem.c | 1 - src/npc/smith.c | 305 ++++++++--------- src/npc/stamp.c | 9 +- src/npc/teachers.c | 104 +++--- src/npc/townMinish.c | 287 +++++++++++++++- src/npc/townsperson.c | 47 ++- src/npc/windTribespeople.c | 125 ++++--- 22 files changed, 755 insertions(+), 1245 deletions(-) delete mode 100644 asm/townMinish.s diff --git a/asm/townMinish.s b/asm/townMinish.s deleted file mode 100644 index 7c9104f7..00000000 --- a/asm/townMinish.s +++ /dev/null @@ -1,669 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0806ACC4 -sub_0806ACC4: @ 0x0806ACC4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _0806AD28 - cmp r5, #1 - bgt _0806ACD8 - cmp r5, #0 - beq _0806ACE4 - b _0806ADEA -_0806ACD8: - cmp r5, #2 - beq _0806ADB8 - cmp r5, #3 - bne _0806ACE2 - b _0806ADDC -_0806ACE2: - b _0806ADEA -_0806ACE4: - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806AD24 @ =gUnk_08112674 - adds r1, r1, r0 - adds r0, r4, #0 - bl LoadExtraSpriteData - cmp r0, #0 - bne _0806ACF8 - b _0806ADFA -_0806ACF8: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x6a - strb r0, [r1] - lsls r0, r0, #1 - strb r0, [r4, #0x14] - strb r5, [r4, #0xe] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807DD50 - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r1, #8 - b _0806ADCE - .align 2, 0 -_0806AD24: .4byte gUnk_08112674 -_0806AD28: - adds r5, r4, #0 - adds r5, #0x39 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #2 - bne _0806AD44 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r5] - adds r0, r4, #0 - bl sub_0806F118 - b _0806ADEA -_0806AD44: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0806AEA8 - ldrb r0, [r4, #0xb] - cmp r0, #0xa - bne _0806AD8A - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _0806AD8A - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r5] - ldr r1, _0806ADAC @ =gPlayerEntity - adds r0, r4, #0 - bl GetFacingDirection - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #8 - adds r0, r4, #0 - bl InitializeAnimation - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806AFE8 -_0806AD8A: - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _0806ADEA - ldr r0, _0806ADAC @ =gPlayerEntity - ldrb r3, [r0, #0x14] - lsrs r3, r3, #1 - ldr r0, _0806ADB0 @ =gUnk_081126E4 - adds r0, r3, r0 - ldrb r2, [r0] - lsls r3, r3, #2 - ldr r0, _0806ADB4 @ =gUnk_081126D4 - adds r3, r3, r0 - adds r0, r4, #0 - movs r1, #1 - bl sub_08078850 - b _0806ADEA - .align 2, 0 -_0806ADAC: .4byte gPlayerEntity -_0806ADB0: .4byte gUnk_081126E4 -_0806ADB4: .4byte gUnk_081126D4 -_0806ADB8: - ldr r0, _0806ADD8 @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806ADEA - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r1, #4 -_0806ADCE: - adds r0, r4, #0 - bl InitializeAnimation - b _0806ADEA - .align 2, 0 -_0806ADD8: .4byte gTextBox -_0806ADDC: - adds r0, r4, #0 - bl UpdateFuseInteraction - cmp r0, #0 - beq _0806ADEA - movs r0, #1 - strb r0, [r4, #0xc] -_0806ADEA: - adds r0, r4, #0 - adds r0, #0x59 - ldrb r0, [r0] - cmp r0, #0xff - beq _0806ADFA - adds r0, r4, #0 - bl GetNextFrame -_0806ADFA: - pop {r4, r5, pc} - - thumb_func_start sub_0806ADFC -sub_0806ADFC: @ 0x0806ADFC - push {lr} - adds r1, r0, #0 - adds r1, #0x68 - ldrb r1, [r1] - bl sub_08078784 - pop {pc} - .align 2, 0 - - thumb_func_start TownMinish_Head -TownMinish_Head: @ 0x0806AE0C - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _0806AE62 - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - lsrs r2, r0, #1 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0806AE3C - adds r2, #0x1c - adds r0, r4, #0 - movs r1, #0 - bl SetExtraSpriteFrame - b _0806AE46 -_0806AE3C: - adds r0, r4, #0 - movs r1, #0 - movs r2, #0xff - bl SetExtraSpriteFrame -_0806AE46: - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl SetExtraSpriteFrame - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl SetSpriteSubEntryOffsetData1 - adds r0, r4, #0 - bl sub_0807000C - b _0806AEA4 -_0806AE62: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r2, [r0] - cmp r2, #0xff - beq _0806AE72 - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 -_0806AE72: - adds r0, r4, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0806AE82 - movs r2, #0xff -_0806AE82: - adds r0, r4, #0 - movs r1, #0 - bl SetExtraSpriteFrame - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl SetExtraSpriteFrame - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl SetSpriteSubEntryOffsetData1 - adds r0, r4, #0 - bl sub_0807000C -_0806AEA4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806AEA8 -sub_0806AEA8: @ 0x0806AEA8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x82 - ldrh r5, [r6] - ldr r0, _0806AED4 @ =0x0000FFDF - ands r0, r5 - strh r0, [r6] - movs r0, #0x20 - ands r0, r5 - cmp r0, #0 - beq _0806AECA - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 -_0806AECA: - adds r0, r4, #0 - bl sub_0807DDE4 - strh r5, [r6] - pop {r4, r5, r6, pc} - .align 2, 0 -_0806AED4: .4byte 0x0000FFDF - - thumb_func_start sub_0806AED8 -sub_0806AED8: @ 0x0806AED8 - push {lr} - movs r1, #0 - strb r1, [r0, #0xe] - bl sub_0806AEE4 - pop {pc} - - thumb_func_start sub_0806AEE4 -sub_0806AEE4: @ 0x0806AEE4 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r7, r0, #0 - cmp r7, #0 - beq _0806AEF6 - subs r0, #1 - strb r0, [r4, #0xe] - b _0806AF5A -_0806AEF6: - movs r0, #2 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806EDD8 - adds r3, r0, #0 - cmp r3, #0 - bge _0806AF16 - adds r0, r4, #0 - adds r0, #0x6a - ldrb r1, [r0] - lsls r0, r1, #1 - strb r0, [r4, #0x14] - lsls r3, r1, #3 -_0806AF16: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #5 - asrs r1, r3, #1 - lsls r1, r1, #1 - ldr r2, _0806AF5C @ =gUnk_081125F4 - adds r1, r1, r2 - adds r0, r0, r1 - ldrb r6, [r0] - ldrb r5, [r0, #1] - movs r0, #0x80 - ands r0, r5 - cmp r0, #0 - beq _0806AF3A - adds r0, r3, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] -_0806AF3A: - movs r0, #0x7f - ands r5, r0 - adds r0, r4, #0 - adds r0, #0x5a - strb r6, [r0] - strb r5, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x5b - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x58 - strb r7, [r0] - subs r1, #2 - movs r0, #0xff - strb r0, [r1] -_0806AF5A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806AF5C: .4byte gUnk_081125F4 - - thumb_func_start sub_0806AF60 -sub_0806AF60: @ 0x0806AF60 - push {lr} - ldrb r2, [r0, #0x14] - lsrs r2, r2, #1 - ldr r1, [r1, #4] - adds r1, r1, r2 - bl InitializeAnimation - pop {pc} - - thumb_func_start sub_0806AF70 -sub_0806AF70: @ 0x0806AF70 - movs r1, #0x90 - lsls r1, r1, #0xa - str r1, [r0, #0x20] - bx lr - - thumb_func_start sub_0806AF78 -sub_0806AF78: @ 0x0806AF78 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - ldr r0, [r4, #0x34] - cmp r0, #0 - blt _0806AF9E - ldr r0, [r4, #0x20] - cmp r0, #0 - bgt _0806AF9E - movs r0, #0 - str r0, [r4, #0x34] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806AF70 -_0806AF9E: - pop {r4, r5, pc} - - thumb_func_start sub_0806AFA0 -sub_0806AFA0: @ 0x0806AFA0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806ED78 - cmp r0, #0 - beq _0806AFBA - movs r0, #0x24 - ldrsh r1, [r4, r0] - rsbs r1, r1, #0 - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C -_0806AFBA: - pop {r4, pc} - - thumb_func_start sub_0806AFBC -sub_0806AFBC: @ 0x0806AFBC - push {lr} - adds r3, r0, #0 - ldr r0, _0806AFE0 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _0806AFCC - movs r0, #0 -_0806AFCC: - ldrb r1, [r3, #0xb] - lsls r1, r1, #6 - lsls r0, r0, #3 - ldr r2, _0806AFE4 @ =gUnk_081126F0 - adds r0, r0, r2 - adds r1, r1, r0 - adds r0, r3, #0 - bl ShowNPCDialogue - pop {pc} - .align 2, 0 -_0806AFE0: .4byte gUnk_02002A40 -_0806AFE4: .4byte gUnk_081126F0 - - thumb_func_start sub_0806AFE8 -sub_0806AFE8: @ 0x0806AFE8 - push {lr} - movs r2, #0 - str r2, [r1, #0x14] - ldr r3, _0806B000 @ =gUnk_08112BF0 - ldrb r2, [r0, #0xb] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0806B000: .4byte gUnk_08112BF0 - - thumb_func_start sub_0806B004 -sub_0806B004: @ 0x0806B004 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - movs r4, #0 - movs r0, #0x29 - bl CheckGlobalFlag - cmp r0, #0 - beq _0806B050 - movs r0, #0x73 - bl CheckLocalFlag - cmp r0, #0 - beq _0806B048 - movs r0, #0x46 - bl GetInventoryValue - cmp r0, #0 - bne _0806B044 - movs r4, #3 - movs r0, #0x78 - bl CheckLocalFlag - cmp r0, #0 - bne _0806B050 - movs r4, #2 - movs r0, #1 - str r0, [r5, #0x14] - movs r0, #0x78 - bl SetLocalFlag - b _0806B050 -_0806B044: - movs r4, #4 - b _0806B050 -_0806B048: - movs r4, #1 - movs r0, #0x6a - bl SetLocalFlag -_0806B050: - ldr r0, _0806B060 @ =gUnk_08112C40 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r6, #0 - bl TextboxNoOverlap - pop {r4, r5, r6, pc} - .align 2, 0 -_0806B060: .4byte gUnk_08112C40 - - thumb_func_start sub_0806B064 -sub_0806B064: @ 0x0806B064 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #0x29 - bl CheckGlobalFlag - cmp r0, #0 - beq _0806B082 - movs r4, #1 - movs r0, #0x73 - bl CheckLocalFlag - cmp r0, #0 - beq _0806B082 - movs r4, #2 -_0806B082: - ldr r0, _0806B094 @ =gUnk_08112C4A - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl TextboxNoOverlap - pop {r4, r5, pc} - .align 2, 0 -_0806B094: .4byte gUnk_08112C4A - - thumb_func_start sub_0806B098 -sub_0806B098: @ 0x0806B098 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #2 - movs r0, #0x46 - bl GetInventoryValue - cmp r0, #0 - bne _0806B0C0 - movs r4, #1 - movs r0, #0x29 - bl CheckGlobalFlag - cmp r0, #0 - beq _0806B0C0 - movs r0, #0x2a - bl CheckGlobalFlag - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f -_0806B0C0: - ldr r2, _0806B0DC @ =gUnk_08112C50 - ldrb r1, [r5, #0xb] - subs r1, #7 - lsls r0, r1, #1 - adds r0, r0, r1 - adds r0, r0, r4 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, r5, #0 - bl TextboxNoOverlap - pop {r4, r5, pc} - .align 2, 0 -_0806B0DC: .4byte gUnk_08112C50 - - thumb_func_start sub_0806B0E0 -sub_0806B0E0: @ 0x0806B0E0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - movs r0, #0x38 - movs r1, #0xb8 - movs r2, #1 - bl sub_080002C0 - cmp r0, #0x57 - bne _0806B120 - movs r0, #0x48 - movs r1, #0xb8 - movs r2, #1 - bl sub_080002C0 - cmp r0, #0x57 - bne _0806B120 - movs r0, #0x38 - movs r1, #0xc8 - movs r2, #1 - bl sub_080002C0 - cmp r0, #0x57 - bne _0806B120 - movs r0, #0x48 - movs r1, #0xc8 - movs r2, #1 - bl sub_080002C0 - cmp r0, #0x57 - bne _0806B120 - movs r5, #1 -_0806B120: - ldr r0, _0806B130 @ =gUnk_08112C5C - lsls r1, r5, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl TextboxNoOverlap - pop {r4, r5, pc} - .align 2, 0 -_0806B130: .4byte gUnk_08112C5C - - thumb_func_start sub_0806B134 -sub_0806B134: @ 0x0806B134 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x45 - bl GetInventoryValue - cmp r0, #0 - beq _0806B158 - movs r4, #2 - movs r0, #0x7b - bl CheckLocalFlag - cmp r0, #0 - bne _0806B160 - movs r4, #1 - movs r0, #0x7b - bl SetLocalFlag - b _0806B160 -_0806B158: - movs r4, #0 - movs r0, #0x4a - bl SetGlobalFlag -_0806B160: - ldr r0, _0806B17C @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #5 - bls _0806B16A - movs r4, #3 -_0806B16A: - ldr r0, _0806B180 @ =gUnk_08112C60 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl TextboxNoOverlap - pop {r4, r5, pc} - .align 2, 0 -_0806B17C: .4byte gUnk_02002A40 -_0806B180: .4byte gUnk_08112C60 - - thumb_func_start TownMinish_Fusion -TownMinish_Fusion: @ 0x0806B184 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806B1C4 - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806B1C0 @ =gUnk_08112674 - adds r1, r1, r0 - adds r0, r4, #0 - bl LoadExtraSpriteData - cmp r0, #0 - beq _0806B1CA - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl InitializeAnimation - b _0806B1CA - .align 2, 0 -_0806B1C0: .4byte gUnk_08112674 -_0806B1C4: - adds r0, r4, #0 - bl GetNextFrame -_0806B1CA: - pop {r4, pc} diff --git a/include/functions.h b/include/functions.h index 11382f48..585d8518 100644 --- a/include/functions.h +++ b/include/functions.h @@ -13,7 +13,7 @@ // Identified - to be sorted into header files extern u32 Random(void); extern void PlaySFX(u32); -extern void ShowNPCDialogue(Entity*, u32*); +extern void ShowNPCDialogue(Entity*, Dialog*); extern u32 UpdateFuseInteraction(); extern void DeleteEntity(Entity*); extern u32 __modsi3(u32, u32); @@ -46,7 +46,7 @@ extern void ExecuteScriptCommandSet(Entity*, void *); extern void _DmaFill32(u32, void*, u32); // Unidentified -extern void sub_0806ED78(Entity*); +extern u32 sub_0806ED78(Entity*); extern void sub_0806920C(Entity*); extern u32 sub_0805ACC0(Entity*); extern u32 sub_0801E99C(Entity*); @@ -78,7 +78,6 @@ extern s32 sub_0806ED9C(Entity*, u32, u32); extern void sub_0807000C(Entity*); extern void sub_0805E47C(Entity*); extern void sub_0805E584(Entity*); -extern void sub_0806ED78(Entity*); extern void sub_08068BEC(Entity*, u32); extern void sub_08078778(Entity*); extern s32 sub_0806ED9C(Entity*, u32, u32); @@ -103,7 +102,7 @@ extern u32 sub_08049EE4(Entity*); extern Entity *sub_0804A98C(Entity *, u32, u32); extern u32 sub_080544DC(u8); extern void sub_08077E54(Entity*); -extern void sub_080042BA(Entity*); +extern void sub_080042BA(Entity*, u32); extern void _DmaZero(void*, u32); extern void sub_08077F24(ItemBehavior*, u32); extern void sub_08079184(); diff --git a/include/npc.h b/include/npc.h index 4551b756..b6288ff2 100644 --- a/include/npc.h +++ b/include/npc.h @@ -171,7 +171,6 @@ extern void NPC58(Entity*); extern void NPC58_Head(Entity*); extern u32 UpdateFuseInteraction(Entity*); -extern void ShowNPCDialogue(Entity*, u32*); #endif \ No newline at end of file diff --git a/include/structures.h b/include/structures.h index 01456a44..7878db75 100644 --- a/include/structures.h +++ b/include/structures.h @@ -160,4 +160,9 @@ typedef struct { } struct_02034480; extern struct_02034480 gUnk_02034480; +typedef struct { + u32 field_0x0; + u32 field_0x4; +} Dialog; + #endif diff --git a/linker.ld b/linker.ld index 46227a68..a51f596e 100644 --- a/linker.ld +++ b/linker.ld @@ -601,7 +601,6 @@ SECTIONS { src/npc/rem.o(.text); asm/rem.o(.text); src/npc/townMinish.o(.text); - asm/townMinish.o(.text); src/npc/librari.o(.text); src/npc/percy.o(.text); asm/percy.o(.text); diff --git a/src/code_08077DF4.c b/src/code_08077DF4.c index 1f6d9246..69dd5820 100644 --- a/src/code_08077DF4.c +++ b/src/code_08077DF4.c @@ -29,9 +29,9 @@ void UpdateItemAnim(Entity *ent) sub_08077E54(ent); } -void sub_08077E3C(Entity *ent) +void sub_08077E3C(Entity *ent, u32 idx) { - sub_080042BA(&gPlayerEntity); + sub_080042BA(&gPlayerEntity, idx); sub_08077E54(ent); } diff --git a/src/npc/cow.c b/src/npc/cow.c index 9c62c898..54500e02 100644 --- a/src/npc/cow.c +++ b/src/npc/cow.c @@ -1,21 +1,19 @@ #include "global.h" #include "entity.h" #include "player.h" +#include "functions.h" -extern void sub_0806ED78(Entity*); extern void sub_0806920C(Entity*); extern u32 sub_0805ACC0(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0806924C(Entity*); -extern void sub_080AEF88(Entity*); -extern void ShowNPCDialogue(Entity*, u32*); extern void sub_08078778(Entity*); extern void sub_080787A8(Entity*, u32); extern void sub_0806F118(Entity*); extern void sub_080791D0(); extern void (*gUnk_08111914[])(Entity*); extern void (*gUnk_08111928[])(Entity*); -extern u32 gUnk_08111938[]; +extern Dialog gUnk_08111938[]; extern void PlaySFX(u32); extern u32 Random(); extern u32 UpdateFuseInteraction(Entity*); @@ -184,9 +182,7 @@ void sub_080691E0(Entity* ent) { // Show dialogue void Cow_ShowDialogue(Entity* ent) { - u32 var0 = ent->entityType.form; - u32* var1 = gUnk_08111938 + (var0 * 2); - ShowNPCDialogue(ent, var1); + ShowNPCDialogue(ent, &gUnk_08111938[ent->entityType.form]); } void sub_0806920C(Entity* ent) { diff --git a/src/npc/epona.c b/src/npc/epona.c index 89c18204..69368bc3 100644 --- a/src/npc/epona.c +++ b/src/npc/epona.c @@ -8,7 +8,7 @@ void sub_08065A64(Entity* this); void sub_08065AA4(Entity*); extern void (*gUnk_0811006C[])(Entity*); -extern u32 gUnk_08110080[]; +extern Dialog gUnk_08110080[]; void Epona(Entity* this) { gUnk_0811006C[this->action](this); @@ -50,7 +50,7 @@ void sub_08065A34(Entity* this) { } void sub_08065A50(Entity* this) { - ShowNPCDialogue(this, &gUnk_08110080[this->entityType.form * 2]); + ShowNPCDialogue(this, &gUnk_08110080[this->entityType.form]); } void sub_08065A64(Entity* this) { diff --git a/src/npc/festari.c b/src/npc/festari.c index 3a86130c..dccde267 100644 --- a/src/npc/festari.c +++ b/src/npc/festari.c @@ -10,7 +10,6 @@ extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); extern void ExecuteScriptCommandSet(Entity*, void *); extern void sub_0805FF2C(Entity*, void*); -extern void sub_0806ED78(Entity*); extern void (*const gUnk_08109BBC[])(Entity*); diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index 7c2d214d..d5f32e34 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -5,9 +5,9 @@ #include "textbox.h" #include "player.h" #include "structures.h" +#include "functions.h" extern void sub_0805E3A0(Entity*, u32); -extern void StartCutscene(Entity*, void*); extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); extern void sub_0807DDAC(Entity*, u32); @@ -16,7 +16,6 @@ extern void sub_080600F0(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_08078784(Entity*, u32); extern void sub_0807000C(Entity*); -extern void sub_080042BA(Entity*, u32); extern void sub_08060158(Entity*); extern u32 CheckKinstoneFused(u32); extern Entity* FindEntityInListBySubtype(u32, u32, u32); @@ -26,10 +25,10 @@ extern u32 Random(void); extern void ModBombs(s32); extern SpriteLoadData gUnk_0810A348; -extern void* gUnk_08109D18[]; +extern u8* gUnk_08109D18[]; extern u8 gUnk_08109C98[]; extern u16 gUnk_0810A354[]; -extern u32 gUnk_08109DC8[]; +extern Dialog gUnk_08109DC8[]; extern u16 gUnk_0810A35A[]; extern u16 gUnk_0810A362[]; @@ -165,141 +164,125 @@ void sub_080601D4(Entity* this) { TextboxNoOverlap(gUnk_0810A354[uVar2], this); } -void sub_08060208(Entity *this) -{ - ShowNPCDialogue(this, &gUnk_08109DC8[this->entityType.parameter * 0x8]); +void sub_08060208(Entity* this) { + ShowNPCDialogue(this, &gUnk_08109DC8[this->entityType.parameter * 0x4]); } -void sub_0806021C(Entity *this) -{ - u32 uVar1; - u32 uVar2; +void sub_0806021C(Entity* this) { + u32 uVar1; + u32 uVar2; - //jabber nut - uVar1 = GetInventoryValue(0x5B); - uVar2 = (-uVar1 | uVar1) >> 0x1f; + // jabber nut + uVar1 = GetInventoryValue(0x5B); + uVar2 = (-uVar1 | uVar1) >> 0x1f; - //earth element - if (GetInventoryValue(0x40)) { - uVar2 = 2; - } - - //mole mitts - if (GetInventoryValue(0x13)) { - uVar2 = 3; - } - ShowNPCDialogue(this, gUnk_08109DC8 + this->entityType.parameter * 0x8 + uVar2 * 2); -} - -void sub_0806025C(Entity *this) -{ - ShowNPCDialogue(this, &gUnk_08109DC8[this->entityType.parameter * 0x8]); -} - -void sub_08060270(Entity *this) -{ - u32 index; - - //flippers - if (GetInventoryValue(0x46) == 0) { - index = 1; - if (CheckGlobalFlag(MIZUKAKI_START) == 0) { - index = 0; - SetGlobalFlag(MIZUKAKI_START); + // earth element + if (GetInventoryValue(0x40)) { + uVar2 = 2; } - } - else { - index = 3; - if (CheckLocalFlag(0x76) == 0) { - index = 2; - SetLocalFlag(0x76); + + // mole mitts + if (GetInventoryValue(0x13)) { + uVar2 = 3; } - } - TextboxNoOverlap(gUnk_0810A35A[index], this); + ShowNPCDialogue(this, gUnk_08109DC8 + this->entityType.parameter * 0x4 + uVar2); } -void sub_080602BC(Entity *this) -{ - u32 index; - - //spin attack +void sub_0806025C(Entity* this) { + ShowNPCDialogue(this, &gUnk_08109DC8[this->entityType.parameter * 0x4]); +} + +void sub_08060270(Entity* this) { + u32 index; + + // flippers + if (GetInventoryValue(0x46) == 0) { + index = 1; + if (CheckGlobalFlag(MIZUKAKI_START) == 0) { + index = 0; + SetGlobalFlag(MIZUKAKI_START); + } + } else { + index = 3; + if (CheckLocalFlag(0x76) == 0) { + index = 2; + SetLocalFlag(0x76); + } + } + TextboxNoOverlap(gUnk_0810A35A[index], this); +} + +void sub_080602BC(Entity* this) { + u32 index; + + // spin attack if (GetInventoryValue(0x48) != 0) { - index = (Random() & 1) + 2; + index = (Random() & 1) + 2; + } else { + if (gUnk_02002A40.stats.bombCount < gBombBagSizes[gUnk_02002A40.stats.bombBagType]) { + index = 1; + } else { + index = 0; + } } - else { - if (gUnk_02002A40.stats.bombCount < gBombBagSizes[gUnk_02002A40.stats.bombBagType]) { - index = 1; - } - else { - index = 0; - } - } - TextboxNoOverlap(gUnk_0810A362[index], this); + TextboxNoOverlap(gUnk_0810A362[index], this); } -void sub_0806030C(Entity* this, u32 *arg1) -{ +void sub_0806030C(Entity* this, u32* arg1) { ModBombs(*(arg1 + 1)); } -void sub_08060318(void) -{ - Entity *ent; - int i; - - for (i = 2; i >= 0; i--) { - ent = FindEntityInListBySubtype(8, 2, 2); - if (ent != NULL) { - sub_080A29BC(ent); - DeleteEntity(ent); +void sub_08060318(void) { + Entity* ent; + int i; + + for (i = 2; i >= 0; i--) { + ent = FindEntityInListBySubtype(8, 2, 2); + if (ent != NULL) { + sub_080A29BC(ent); + DeleteEntity(ent); + } } - } } -void sub_08060340(void) -{ - gUnk_02002A40.unk490 = gUnk_02002A40.unk50; +void sub_08060340(void) { + gUnk_02002A40.unk490 = gUnk_02002A40.unk50; } -u32 sub_08060354(void) -{ - u32 iVar1; - s32 iVar2; - - iVar2 = gUnk_02002A40.unk50 - gUnk_02002A40.unk490; - if (CheckGlobalFlag(DRUG_1) == 0) { - if (4 < iVar2) { - return 0x8444; +u32 sub_08060354(void) { + u32 iVar1; + s32 iVar2; + + iVar2 = gUnk_02002A40.unk50 - gUnk_02002A40.unk490; + if (CheckGlobalFlag(DRUG_1) == 0) { + if (4 < iVar2) { + return 0x8444; + } + } else { + if (CheckGlobalFlag(DRUG_2) == 0) { + if (iVar2 > 9) { + return 0x8444; + } + } else { + if (CheckGlobalFlag(DRUG_3) == 0) { + if (iVar2 > 14) { + return 0x8444; + } + } + } } - } - else { - if (CheckGlobalFlag(DRUG_2) == 0) { - if (iVar2 > 9) { - return 0x8444; - } - } - else { - if (CheckGlobalFlag(DRUG_3) == 0) { - if (iVar2 > 14) { - return 0x8444; - } - } - } - } - return 0; + return 0; } -void ForestMinish_Fusion(Entity *this) -{ - if (this->action == 0) { - if (LoadExtraSpriteData(this, &gUnk_0810A348)) { - this->action++; - this->spriteSettings.b.draw = TRUE; - sub_0805E3A0(this, 2); - InitializeAnimation(this, 6); +void ForestMinish_Fusion(Entity* this) { + if (this->action == 0) { + if (LoadExtraSpriteData(this, &gUnk_0810A348)) { + this->action++; + this->spriteSettings.b.draw = TRUE; + sub_0805E3A0(this, 2); + InitializeAnimation(this, 6); + } + } else { + GetNextFrame(this); } - } - else { - GetNextFrame(this); - } } \ No newline at end of file diff --git a/src/npc/goron.c b/src/npc/goron.c index 0fa725e4..08ddcc5a 100644 --- a/src/npc/goron.c +++ b/src/npc/goron.c @@ -3,9 +3,10 @@ #include "functions.h" #include "textbox.h" +extern u8 gUnk_02033280[]; extern void (*gUnk_08111A80[])(Entity*); extern void (*gUnk_08111A8C[])(Entity*); -extern u8 gUnk_02033280[]; +extern Dialog gUnk_08111A94[]; void Goron(Entity* this) { if (this->flags & 2) { @@ -72,7 +73,7 @@ void sub_080693D0(Entity* this) { } if (this->frames.all == 2) { this->frames.all = 0; - sub_08069428(this, 0x80<<12, createFx65); + sub_08069428(this, 0x80 << 12, createFx65); } } } @@ -110,16 +111,16 @@ void sub_080694B0(Entity* this) { } } -extern u64 gUnk_08111A94[]; //array of unknown 64 bit structure type void sub_080694D8(Entity* this) { - ShowNPCDialogue(this, (u32*)&gUnk_08111A94[this->entityType.form]); + ShowNPCDialogue(this, &gUnk_08111A94[this->entityType.form]); } void sub_080694EC(Entity* this) { u32 anim; this->animationState = 4; anim = 2; - if (!CheckKinstoneFused(47)) anim = 8; + if (!CheckKinstoneFused(47)) + anim = 8; InitAnimationForceUpdate(this, anim); this->field_0x80.HWORD = anim; } diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index 222ec32c..864983b9 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -7,33 +7,31 @@ #include "textbox.h" #include "npc.h" #include "structures.h" +#include "functions.h" extern void sub_0807DD50(Entity*); extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); -extern u32 sub_0801E99C(); -extern void sub_08078784(Entity*,u32); -extern void sub_0807DDAC(Entity*,u32); -extern void sub_0805E3A0(Entity*,u32); +extern void sub_08078784(Entity*, u32); +extern void sub_0807DDAC(Entity*, u32); +extern void sub_0805E3A0(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_08078850(); extern u32 gUnk_08113F44; -extern u32 gUnk_08113F48; +extern Dialog gUnk_08113F48[]; extern u32 GetInventoryValue(u32); extern u32 CheckLocalFlag(u32); extern void SetLocalFlag(); -extern void ShowNPCDialogue(); -void MayorHagen(Entity *this) -{ +void MayorHagen(Entity* this) { u32 v; switch (this->action) { case 0: - this->action = 1; - this->field_0x68.HALF.HI = 0; - this->field_0x68.HALF.LO = sub_0801E99C(this); - sub_0805E3A0(this, 2); - sub_0807DD50(this); + this->action = 1; + this->field_0x68.HALF.HI = 0; + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_0805E3A0(this, 2); + sub_0807DD50(this); break; case 1: v = this->interactType; @@ -41,11 +39,11 @@ void MayorHagen(Entity *this) this->action = v; this->interactType = 0; this->field_0x68.HALF.HI = this->animIndex; - InitAnimationForceUpdate(this,4 + sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); + InitAnimationForceUpdate(this, 4 + sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); sub_0806F118(this); break; } - sub_0807DDAC(this,0); + sub_0807DDAC(this, 0); sub_0807DDE4(this); UpdateAnimationSingleFrame(this); break; @@ -57,49 +55,43 @@ void MayorHagen(Entity *this) } } -void sub_0806CE5C(Entity *this) -{ - sub_08078784(this,sub_0801E99C()); - sub_08078850(this,1,0,&gUnk_08113F44); +void sub_0806CE5C(Entity* this) { + sub_08078784(this, sub_0801E99C(this)); + sub_08078850(this, 1, 0, &gUnk_08113F44); } -void sub_0806CE80(Entity *this) -{ +void sub_0806CE80(Entity* this) { u32 v; u32 v2; v = gUnk_02002A40.unk8; - if (v == 5) { - //flippers - if (GetInventoryValue(0x46) == 0) { - if (CheckLocalFlag(0x70) != 0) { - v2 = CheckLocalFlag(0x71); - if (v2 == 0) { - v = 0xb; - SetLocalFlag(0x71); - } - else { - v = 0xc; - } - } - else { + if (v == 5) { + // flippers + if (GetInventoryValue(0x46) == 0) { + if (CheckLocalFlag(0x70) != 0) { + v2 = CheckLocalFlag(0x71); + if (v2 == 0) { + v = 0xb; + SetLocalFlag(0x71); + } else { + v = 0xc; + } + } else { v = 0xa; } - } - else { - v2 = CheckLocalFlag(0x89); - if (v2 == 0) { - v = 0xd; - SetLocalFlag(0x89); - } - else { - v = 0xe; - } + } else { + v2 = CheckLocalFlag(0x89); + if (v2 == 0) { + v = 0xd; + SetLocalFlag(0x89); + } else { + v = 0xe; + } + } } - } - ShowNPCDialogue(this,&gUnk_08113F48 + 2*v); + ShowNPCDialogue(this, &gUnk_08113F48[v]); } -void MayorHagen_Fusion(Entity *this) { +void MayorHagen_Fusion(Entity* this) { if (this->action == 0) { this->action++; this->spriteSettings.b.draw = 1; diff --git a/src/npc/melari.c b/src/npc/melari.c index a50d4aad..87afe16c 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -4,7 +4,6 @@ #include "textbox.h" #include "functions.h" -extern void sub_0806ED78(Entity*); extern void sub_08068780(Entity*); extern void sub_08078778(Entity*); extern u32 Random(void); diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index b0e95a36..debead67 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -5,6 +5,7 @@ #include "textbox.h" #include "npc.h" #include "structures.h" +#include "functions.h" extern void sub_0805E3A0(Entity*, u32); extern void sub_0807DD50(Entity*); @@ -19,10 +20,9 @@ extern void sub_08078784(Entity*, u32); extern SpriteLoadData gUnk_08110C00; extern u16 gUnk_08110C0C[]; -extern u32 gUnk_08110C10[]; +extern Dialog gUnk_08110C10[]; -void Mutoh(Entity* this) -{ +void Mutoh(Entity* this) { if (*(u32*)&this->cutsceneBeh == 0) { DeleteThisEntity(); } @@ -30,11 +30,11 @@ void Mutoh(Entity* this) switch (this->action) { case 0: if (LoadExtraSpriteData(this, &gUnk_08110C00)) { - this->action = 1; - this->spriteSettings.b.draw = TRUE; - sub_0805E3A0(this, 2); - sub_0807DD50(this); - } + this->action = 1; + this->spriteSettings.b.draw = TRUE; + sub_0805E3A0(this, 2); + sub_0807DD50(this); + } break; case 1: if (this->interactType == 2) { @@ -53,48 +53,42 @@ void Mutoh(Entity* this) } } -void Mutoh_Head(Entity *this) -{ - SetExtraSpriteFrame(this, 0, (this->frames.all & -0x81)); - SetExtraSpriteFrame(this, 1, this->frameIndex); - SetSpriteSubEntryOffsetData1(this,1,0); - sub_0807000C(this); +void Mutoh_Head(Entity* this) { + SetExtraSpriteFrame(this, 0, (this->frames.all & -0x81)); + SetExtraSpriteFrame(this, 1, this->frameIndex); + SetSpriteSubEntryOffsetData1(this, 1, 0); + sub_0807000C(this); } -void sub_080670B4(Entity *this) -{ - u32 uVar1; - u32 uVar2; - - uVar2 = 0; - if (GetInventoryValue(0x11) == 0) { - uVar1 = CheckGlobalFlag(TABIDACHI); - uVar2 = (-uVar1 | uVar1) >> 0x1f; - } - TextboxNoOverlap(gUnk_08110C0C[uVar2],this); -} +void sub_080670B4(Entity* this) { + u32 uVar1; + u32 uVar2; -void sub_080670E4(Entity *this) -{ - ShowNPCDialogue(this, &gUnk_08110C10[gUnk_02002A40.unk8 * 2]); -} - -void sub_08067100(Entity *this) -{ - this->field_0x68.HALF.LO = sub_0801E99C(this); - sub_08078784(this, this->field_0x68.HALF.LO); -} - -void Mutoh_Fusion(Entity *this) -{ - if (this->action == 0) { - if (LoadExtraSpriteData(this, &gUnk_08110C00) != 0) { - this->action++; - this->spriteSettings.b.draw = TRUE; - InitializeAnimation(this, 2); + uVar2 = 0; + if (GetInventoryValue(0x11) == 0) { + uVar1 = CheckGlobalFlag(TABIDACHI); + uVar2 = (-uVar1 | uVar1) >> 0x1f; + } + TextboxNoOverlap(gUnk_08110C0C[uVar2], this); +} + +void sub_080670E4(Entity* this) { + ShowNPCDialogue(this, &gUnk_08110C10[gUnk_02002A40.unk8]); +} + +void sub_08067100(Entity* this) { + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); +} + +void Mutoh_Fusion(Entity* this) { + if (this->action == 0) { + if (LoadExtraSpriteData(this, &gUnk_08110C00) != 0) { + this->action++; + this->spriteSettings.b.draw = TRUE; + InitializeAnimation(this, 2); + } + } else { + GetNextFrame(this); } - } - else { - GetNextFrame(this); - } } \ No newline at end of file diff --git a/src/npc/postman.c b/src/npc/postman.c index f3d9bd96..f7b6395d 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -18,7 +18,6 @@ extern void sub_0806EE04(Entity*, void*, u32); extern void sub_080604DC(Entity*); extern s32 sub_0806ED9C(Entity*, u32, u32); extern void sub_0806EE20(Entity*); -extern void sub_0806ED78(Entity*); extern u32 sub_080040A8(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0807DD50(Entity*); @@ -43,7 +42,7 @@ extern Coords16 gUnk_0810A66C[]; extern s8* gUnk_0810A918[]; extern void (*const gUnk_0810AA24[])(Entity*); -extern u32 gUnk_0810AA30[]; +extern Dialog gUnk_0810AA30[]; extern struct_02033280 gUnk_02033280; void Postman(Entity* this) { @@ -205,13 +204,13 @@ void sub_080606C0(Entity *this) void sub_080606D8(Entity* this) { - s32 iVar1; + s32 index; - iVar1 = gUnk_02002A40.unk8 - 2; - if (iVar1 < 0) { - iVar1 = 0; + index = gUnk_02002A40.unk8 - 2; + if (index < 0) { + index = 0; } - ShowNPCDialogue(this, &gUnk_0810AA30[iVar1 * 2]); + ShowNPCDialogue(this, &gUnk_0810AA30[index]); } void sub_08060700(Entity *entity, u32 arg1) diff --git a/src/npc/rem.c b/src/npc/rem.c index b183f687..6d17b95d 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -4,7 +4,6 @@ extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); -extern void sub_0806ED78(Entity*); extern void PlaySFX(u32); extern void sub_0806A8C8(Entity*); extern void sub_0807DD94(Entity*, u32); diff --git a/src/npc/smith.c b/src/npc/smith.c index dc222709..171ccad2 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -1,30 +1,22 @@ #include "global.h" #include "entity.h" #include "textbox.h" - -typedef struct { - u8 filler[8]; - u8 unk; -} SaveFile; +#include "functions.h" extern u32 GetFacingDirection(Entity*, Entity*); extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); -extern void sub_0806ED78(Entity*); extern Entity* CreateFx(Entity*, u32, u32); extern void PlaySFX(u32); extern u32 Random(void); extern void sub_0807000C(Entity*); extern u32 sub_0801E99C(Entity*); -extern u32 sub_0806ED9C(Entity*, u32, u32); -extern u32 sub_0806F078(Entity*, u32); extern void sub_0807DD50(Entity*); extern void sub_0807DD94(Entity*, u32); extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern u32 UpdateFuseInteraction(Entity*); extern u32 GetAnimationState(Entity*); -extern void ShowNPCDialogue(Entity*, u32*); extern void sub_08078850(u32, u32, u32, u32*); extern void sub_08078784(Entity*, u32); @@ -33,193 +25,170 @@ extern void (*const gUnk_0811036C[])(Entity*); extern u16 gUnk_08110380[]; extern SpriteLoadData gUnk_08110354; -extern SaveFile gUnk_02002A40; -extern u32 gUnk_08110390[]; +extern Dialog gUnk_08110390[]; extern u16 gUnk_081103D0[]; extern u32 gUnk_081103E0; -#if NON_MATCHING //reg-alloc -void Smith(Entity *this) -{ - u32 iVar2; - u32 iVar4; - - if ((this->flags & 2) != 0) { - if (this->interactType == 2) { - this->action = 4; - this->interactType = 0; - iVar4 = (this->animIndex == 0xc) ? 8 : 0; - iVar2 = sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)); - InitAnimationForceUpdate(this, iVar2 + iVar4); - sub_0806F118(this); +#if NON_MATCHING // reg-alloc +void Smith(Entity* this) { + u32 iVar2; + u32 iVar4; + + if ((this->flags & 2) != 0) { + if (this->interactType == 2) { + this->action = 4; + this->interactType = 0; + iVar4 = (this->animIndex == 0xc) ? 8 : 0; + iVar2 = sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)); + InitAnimationForceUpdate(this, iVar2 + iVar4); + sub_0806F118(this); + } + gUnk_0811036C[this->action](this); + } else { + gUnk_08110360[this->action](this); + sub_0806ED78(this); + } + if (this->animIndex == 0xc) { + this->spritePriority.b1 = 0; + } else { + this->spritePriority.b1 = 1; + } + if ((this->frames.all & 1) != 0) { + this->frames.all &= 0xfe; + CreateFx(this, 0x3d, 0x20); + PlaySFX(gUnk_08110380[(Random() & 7)]); } - gUnk_0811036C[this->action](this); - } - else { - gUnk_08110360[this->action](this); - sub_0806ED78(this); - } - if (this->animIndex == 0xc) { - this->spritePriority.b1 = 0; - } - else { - this->spritePriority.b1 = 1; - } - if ((this->frames.all & 1) != 0) { - this->frames.all &= 0xfe; - CreateFx(this, 0x3d, 0x20); - PlaySFX(gUnk_08110380[(Random() & 7)]); - } } #else NAKED -void Smith(Entity *this) { +void Smith(Entity* this) { asm(".include \"asm/non_matching/smith/smith.inc\""); } #endif -void Smith_Head(Entity *this) -{ - u8 bVar1; - - bVar1 = this->frames.all; - SetExtraSpriteFrame(this, 0, this->frameIndex); - if ((bVar1 & 0x40) != 0) { - SetExtraSpriteFrame(this, 1, 0x16); - } - else { - SetExtraSpriteFrame(this, 1, 0xff); - } - SetSpriteSubEntryOffsetData1(this,0,1); - sub_0807000C(this); +void Smith_Head(Entity* this) { + u8 bVar1; + + bVar1 = this->frames.all; + SetExtraSpriteFrame(this, 0, this->frameIndex); + if ((bVar1 & 0x40) != 0) { + SetExtraSpriteFrame(this, 1, 0x16); + } else { + SetExtraSpriteFrame(this, 1, 0xff); + } + SetSpriteSubEntryOffsetData1(this, 0, 1); + sub_0807000C(this); } -void sub_080660EC(Entity *this) -{ +void sub_080660EC(Entity* this) { if (LoadExtraSpriteData(this, &gUnk_08110354) != 0) { - this->action = 1; - this->field_0x68.HALF.LO = sub_0801E99C(this); - InitAnimationForceUpdate(this, 2); - } -} - -void sub_08066118(Entity *this) -{ - s32 uVar1; - u32 iVar2; - - uVar1 = sub_0806ED9C(this, 0x28, 0x28); - if (uVar1 < 0) { - uVar1 = 2; - } - else { - if (this->field_0xf == 0) { - this->field_0xf = 0x10; + this->action = 1; + this->field_0x68.HALF.LO = sub_0801E99C(this); + InitAnimationForceUpdate(this, 2); } - else { - --this->field_0xf; - uVar1 = this->animIndex; +} + +void sub_08066118(Entity* this) { + s32 uVar1; + u32 iVar2; + + uVar1 = sub_0806ED9C(this, 0x28, 0x28); + if (uVar1 < 0) { + uVar1 = 2; + } else { + if (this->field_0xf == 0) { + this->field_0xf = 0x10; + } else { + --this->field_0xf; + uVar1 = this->animIndex; + } + } + if (sub_0806F078(this, uVar1) == 0) { + UpdateAnimationSingleFrame(this); + } + if (this->interactType != 0) { + this->action = 2; + TextboxNoOverlapFollow(0); } - } - if (sub_0806F078(this, uVar1) == 0) { - UpdateAnimationSingleFrame(this); - } - if (this->interactType != 0) { - this->action = 2; - TextboxNoOverlapFollow(0); - } } -void sub_08066170(Entity *this) -{ +void sub_08066170(Entity* this) { this->action = 1; } -void sub_08066178(Entity *this) -{ - if (LoadExtraSpriteData(this, &gUnk_08110354) != 0) { - this->action = 1; - this->spriteSettings.b.draw = 1; - this->field_0x68.HALF.LO = sub_0801E99C(this); - sub_0807DD50(this); - } +void sub_08066178(Entity* this) { + if (LoadExtraSpriteData(this, &gUnk_08110354) != 0) { + this->action = 1; + this->spriteSettings.b.draw = 1; + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_0807DD50(this); + } } -void sub_080661B0(Entity *this) -{ +void sub_080661B0(Entity* this) { sub_0807DD94(this, 0); } -void sub_080661BC(Entity *this) -{ - u32 sVar1; - - if (this->animIndex == 0xc) { - UpdateAnimationSingleFrame(this); - if ((this->frames.b.f3) != 0) { - this->field_0x80.HWORD = GetAnimationState(this) + 8; - InitAnimationForceUpdate(this, this->field_0x80.HWORD); +void sub_080661BC(Entity* this) { + u32 sVar1; + + if (this->animIndex == 0xc) { + UpdateAnimationSingleFrame(this); + if ((this->frames.b.f3) != 0) { + this->field_0x80.HWORD = GetAnimationState(this) + 8; + InitAnimationForceUpdate(this, this->field_0x80.HWORD); + } + } else { + sub_0807DD94(this, 0); } - } - else { - sub_0807DD94(this,0); - } } -void sub_08066200(Entity *this) -{ - sub_0807DDAC(this, 0); - sub_0807DDE4(this); - UpdateAnimationSingleFrame(this); -} - -void sub_08066218(Entity *this) -{ - if (UpdateFuseInteraction(this) != 0) { - this->action = 1; - } -} - -void sub_0806622C(Entity *this) -{ - u32 iVar1; - - if (gUnk_02002A40.unk - 2 < 0) { - iVar1 = 0; - } - else { - iVar1 = gUnk_02002A40.unk - 2; - } - ShowNPCDialogue(this, &gUnk_08110390[iVar1 * 2]); -} - -void nullsub_501(Entity* this) {} - -void sub_08066258(void) -{ - PlaySFX(gUnk_081103D0[Random() & 7]); -} - -void sub_08066274(u32 arg0) -{ - sub_08078850(arg0, 1, 0, &gUnk_081103E0); -} - -void sub_08066288(Entity *arg0) -{ - sub_08078784(arg0, arg0->field_0x68.HALF.LO); -} - -void Smith_Fusion(Entity *this) -{ - if (this->action == 0) { - if (LoadExtraSpriteData(this, &gUnk_08110354) != 0) { - this->action++; - this->spriteSettings.b.draw = 1; - InitAnimationForceUpdate(this, 6); - } - } - else { +void sub_08066200(Entity* this) { + sub_0807DDAC(this, 0); + sub_0807DDE4(this); UpdateAnimationSingleFrame(this); - } +} + +void sub_08066218(Entity* this) { + if (UpdateFuseInteraction(this) != 0) { + this->action = 1; + } +} + +void sub_0806622C(Entity* this) { + u32 index; + + if (gUnk_02002A40.unk8 - 2 < 0) { + index = 0; + } else { + index = gUnk_02002A40.unk8 - 2; + } + ShowNPCDialogue(this, &gUnk_08110390[index]); +} + +void nullsub_501(Entity* this) { +} + +void sub_08066258(void) { + PlaySFX(gUnk_081103D0[Random() & 7]); +} + +void sub_08066274(u32 arg0) { + sub_08078850(arg0, 1, 0, &gUnk_081103E0); +} + +void sub_08066288(Entity* arg0) { + sub_08078784(arg0, arg0->field_0x68.HALF.LO); +} + +void Smith_Fusion(Entity* this) { + if (this->action == 0) { + if (LoadExtraSpriteData(this, &gUnk_08110354) != 0) { + this->action++; + this->spriteSettings.b.draw = 1; + InitAnimationForceUpdate(this, 6); + } + } else { + UpdateAnimationSingleFrame(this); + } } \ No newline at end of file diff --git a/src/npc/stamp.c b/src/npc/stamp.c index db1d7310..f77b1fdd 100644 --- a/src/npc/stamp.c +++ b/src/npc/stamp.c @@ -1,24 +1,21 @@ #include "global.h" #include "entity.h" #include "textbox.h" +#include "functions.h" extern void sub_08078778(Entity*); extern void sub_0805E47C(Entity*); -extern void sub_0806ED78(Entity*); extern void sub_0805E584(); extern void sub_0807DD64(); extern void sub_08062CA4(); extern void sub_0807DDAC(); extern void sub_0807DDE4(); extern u32 CheckKinstoneFused(); -extern void ShowNPCDialogue(); extern void (*gStampBehaviors1[4])(Entity*); extern void (*gStampBehaviors2[2])(Entity*); -extern u32 gUnk_0810C2E4; - - +extern Dialog gUnk_0810C2E4[2]; void Stamp(Entity* ent) { if ((ent->flags & 2) != 0) { @@ -80,7 +77,7 @@ void sub_08062CBC(Entity* ent) { u32 uVar1; uVar1 = CheckKinstoneFused(44); - ShowNPCDialogue(ent, &gUnk_0810C2E4 + ((-uVar1 | uVar1) >> 31) * 2); + ShowNPCDialogue(ent, &gUnk_0810C2E4[(-uVar1 | uVar1) >> 31]); } void sub_08062CE0(Entity* ent) { diff --git a/src/npc/teachers.c b/src/npc/teachers.c index 53d4a11a..39234223 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -1,11 +1,7 @@ #include "global.h" #include "entity.h" #include "player.h" - -typedef struct { - u8 filler[8]; - u8 unk; -} SaveFile; +#include "functions.h" extern SpriteLoadData gUnk_08113910[]; extern void sub_0805E3A0(Entity*, u32); @@ -14,14 +10,11 @@ extern u32 GetFacingDirection(Entity*, Entity*); extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); extern void sub_0807DD94(Entity*, u32); -extern u32 sub_0801E99C(); extern void sub_08078784(Entity*, u32); extern u32 UpdateFuseInteraction(Entity*); extern void sub_0807000C(Entity*); -extern void ShowNPCDialogue(Entity*, u16*); -extern SaveFile gUnk_02002A40; -extern u16 gUnk_08113930[]; +extern Dialog gUnk_08113930[]; void Teachers(Entity* this) { switch (this->action) { @@ -55,59 +48,52 @@ void Teachers(Entity* this) { } } -void sub_0806C674(Entity *this) -{ - this->field_0x68.HALF.LO = sub_0801E99C(); +void sub_0806C674(Entity* this) { + this->field_0x68.HALF.LO = sub_0801E99C(this); sub_08078784(this, this->field_0x68.HALF.LO); } -void Teachers_Head(Entity *this) -{ - u8 bVar1; - u8 bVar2; - u32 uVar3; +void Teachers_Head(Entity* this) { + u8 bVar1; + u8 bVar2; + u32 uVar3; - - uVar3 = this->frames.all & -0x81; - bVar1 = this->frameIndex; - bVar2 = this->frameSpriteSettings & 0x3f; - if ((this->entityType).form == 0) { - SetExtraSpriteFrame(this,0, (uVar3 + 3)); - SetExtraSpriteFrame(this,1, bVar1); - SetSpriteSubEntryOffsetData1(this, 1, 0); - sub_0807000C(this); - } - else { - SetExtraSpriteFrame(this, 0, (uVar3 + 6)); - SetExtraSpriteFrame(this, 1, ((bVar2) + 3)); - SetExtraSpriteFrame(this, 2, bVar1); - SetSpriteSubEntryOffsetData1(this, 2, 1); - SetSpriteSubEntryOffsetData2(this, 2, 0); - sub_0807000C(this); - } -} - -void sub_0806C70C(Entity *this) -{ - int offset; - - offset = gUnk_02002A40.unk - 2; - if (offset < 0) { - offset = 0; - } - ShowNPCDialogue(this, gUnk_08113930 + this->entityType.form * 0x20 + offset * 4); -} - -void Teachers_Fusion(Entity *this) -{ - if (this->action == 0) { - if (LoadExtraSpriteData(this, &gUnk_08113910[this->entityType.form * 4])) { - this->action++; - this->spriteSettings.b.draw = TRUE; - InitializeAnimation(this, 2); + uVar3 = this->frames.all & -0x81; + bVar1 = this->frameIndex; + bVar2 = this->frameSpriteSettings & 0x3f; + if ((this->entityType).form == 0) { + SetExtraSpriteFrame(this, 0, (uVar3 + 3)); + SetExtraSpriteFrame(this, 1, bVar1); + SetSpriteSubEntryOffsetData1(this, 1, 0); + sub_0807000C(this); + } else { + SetExtraSpriteFrame(this, 0, (uVar3 + 6)); + SetExtraSpriteFrame(this, 1, ((bVar2) + 3)); + SetExtraSpriteFrame(this, 2, bVar1); + SetSpriteSubEntryOffsetData1(this, 2, 1); + SetSpriteSubEntryOffsetData2(this, 2, 0); + sub_0807000C(this); + } +} + +void sub_0806C70C(Entity* this) { + int offset; + + offset = gUnk_02002A40.unk8 - 2; + if (offset < 0) + offset = 0; + + ShowNPCDialogue(this, gUnk_08113930 + this->entityType.form * 8 + offset); +} + +void Teachers_Fusion(Entity* this) { + if (this->action == 0) { + if (LoadExtraSpriteData(this, &gUnk_08113910[this->entityType.form * 4])) { + this->action++; + this->spriteSettings.b.draw = TRUE; + InitializeAnimation(this, 2); + } + } else { + GetNextFrame(this); } - } - else { - GetNextFrame(this); - } } \ No newline at end of file diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 5b6d55b9..0ef4098e 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -2,16 +2,35 @@ #include "entity.h" #include "npc.h" #include "functions.h" +#include "textbox.h" +#include "flags.h" extern void InitializeAnimation(Entity*, u32); extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); +extern u32 sub_080002C0(); extern void sub_0806ACC4(Entity*); -extern void sub_0806ED78(Entity*); +extern void sub_0806AEA8(); +extern void sub_0806AEE4(Entity*); +extern void sub_0806AFE8(Entity*, s32*); +extern s32 sub_0806EDD8(Entity*, u32, u32); extern u32 sub_0806F5B0(u32); +extern void sub_0806F62C(Entity*, s32, s32); +extern void sub_08078784(Entity*, u32); +extern void sub_08078850(Entity*, u32, u32, u32*); +extern u8 gUnk_081125F4[12]; extern SpriteLoadData gUnk_08112674[]; +extern u32 gUnk_081126D4[4]; +extern u8 gUnk_081126E4[4]; extern void (*gUnk_081126E8[])(); +extern Dialog gUnk_081126F0[0x10]; +extern void (*gUnk_08112BF0[])(Entity*, s32*); +extern u16 gUnk_08112C40[5]; +extern u16 gUnk_08112C4A[3]; +extern u16 gUnk_08112C50[6]; +extern u16 gUnk_08112C5C[2]; +extern u16 gUnk_08112C60[4]; void TownMinish(Entity* this) { if ((this->flags & 2) == 0) { @@ -23,9 +42,7 @@ void TownMinish(Entity* this) { } void sub_0806ABFC(Entity* this) { - u8 animationState; - - SpriteLoadData* SpriteLoadData = &gUnk_08112674[this->entityType.form << 2]; + SpriteLoadData* SpriteLoadData = &gUnk_08112674[this->entityType.form * 4]; if (!LoadExtraSpriteData(this, SpriteLoadData)) { return; } @@ -35,8 +52,7 @@ void sub_0806ABFC(Entity* this) { this->field_0x6a.HALF.LO = this->actionDelay; this->animationState = this->field_0x6a.HALF.LO << 1; - animationState = this->animationState; - this->field_0x68.HALF.HI = animationState << 2; + this->field_0x68.HALF.HI = this->animationState * 4; this->actionDelay = 0; } @@ -72,3 +88,262 @@ void sub_0806AC3C(Entity* this) { UpdateAnimationSingleFrame(this); } +void sub_0806ACC4(Entity* this) { + u8 delay; + switch (this->action) { + case 0: + if (LoadExtraSpriteData(this, &gUnk_08112674[this->entityType.form * 4]) == 0) + return; + + this->action = 1; + delay = this->actionDelay; + this->field_0x6a.HALF.LO = delay; + this->animationState = delay * 2; + this->actionDelay = 0; + + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_0807DD50(this); + InitializeAnimation(this, (this->animationState / 2) + 8); + break; + case 1: + if (this->interactType == 2) { + this->action = 3; + this->interactType = 0; + sub_0806F118(this); + } else { + sub_0807DDAC(this, 0); + sub_0806AEA8(this); + if (this->entityType.parameter == 10 && this->interactType) { + this->action = 2; + this->interactType = 0; + InitializeAnimation(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)) + 8); + sub_0806AFE8(this, *(s32**)&this->cutsceneBeh); + } + if (this->entityType.form == 1) { + u8 idx = gPlayerEntity.animationState >> 1; + sub_08078850(this, 1, gUnk_081126E4[idx], &gUnk_081126D4[idx]); + } + } + break; + case 2: + if (gTextBox.doTextBox & 0x7f) + break; + + this->action = 1; + InitializeAnimation(this, this->animationState / 2 + 4); + break; + case 3: + if (UpdateFuseInteraction(this)) + this->action = 1; + break; + } + + if (this->frameDuration != 0xff) { + GetNextFrame(this); + } +} + +void sub_0806ADFC(Entity* this) { + sub_08078784(this, this->field_0x68.HALF.LO); +} + +void TownMinish_Head(Entity* this) { + u32 frames; + + if ((this->flags & 2) == 0) { + frames = this->field_0x68.HALF.HI / 2; + if ((this->frameSpriteSettings & 1)) { + SetExtraSpriteFrame(this, 0, frames + 0x1c); + } else { + SetExtraSpriteFrame(this, 0, 0xff); + } + SetExtraSpriteFrame(this, 1, this->frameIndex); + SetSpriteSubEntryOffsetData1(this, 1, 0); + sub_0807000C(this); + } else { + frames = this->frames.all; + if (frames != 0xff) { + frames &= ~0x80; + } + if ((this->frameSpriteSettings & 1) == 0) { + frames = 0xff; + } + SetExtraSpriteFrame(this, 0, frames); + SetExtraSpriteFrame(this, 1, this->frameIndex); + SetSpriteSubEntryOffsetData1(this, 1, 0); + sub_0807000C(this); + } +} + +void sub_0806AEA8(Entity* this) { + int old = this->field_0x82.HWORD; + this->field_0x82.HWORD &= ~0x20; + if (old & 0x20) { + sub_08003FC4(this, 0x4000); + } + sub_0807DDE4(this); + this->field_0x82.HWORD = old; +} + +void sub_0806AED8(Entity* this) { + this->actionDelay = 0; + sub_0806AEE4(this); +} + +void sub_0806AEE4(Entity* this) { + int index; + u8* idx3; + u8 tmp1, tmp2; + + if (this->actionDelay) { + this->actionDelay--; + } else { + this->actionDelay = 2; + index = sub_0806EDD8(this, 0x20, 0x20); + if (index < 0) { + int state = this->field_0x6a.HALF.LO; + this->animationState = state * 2; + index = state * 8; + } + + idx3 = gUnk_081125F4 + (this->animationState / 2) * 0x20 + (index >> 1) * 2; + tmp1 = idx3[0]; + tmp2 = idx3[1]; + + if (tmp2 & 0x80) { + this->animationState = sub_0806F5B0(index); + } + tmp2 &= 0x7f; + this->frames.all = tmp1; + this->frameIndex = tmp2; + this->frameSpriteSettings = 1; + this->animIndex = 0; + this->frameDuration = 0xff; + } +} + +void sub_0806AF60(Entity* this, int* idx) { + InitializeAnimation(this, idx[1] + (this->animationState / 2)); +} + +void sub_0806AF70(Entity* this, u32 arg1) { + this->field_0x20 = 0x24000; +} + +void sub_0806AF78(Entity* this, u32 arg1) { + sub_08003FC4(this, 0x1800); + if (0 <= this->height.WORD && this->field_0x20 < 1) { + this->height.WORD = 0; + sub_0806AF70(this, arg1); + } +} + +void sub_0806AFA0(Entity* this) { + if (sub_0806ED78(this)) { + sub_0806F62C(this, -this->nonPlanarMovement, this->direction); + } +} + +void sub_0806AFBC(Entity* this) { + int idx = gUnk_02002A40.unk8 - 2; + if (idx < 0) + idx = 0; + + ShowNPCDialogue(this, gUnk_081126F0 + this->entityType.parameter * 8 + idx); +} + +void sub_0806AFE8(Entity* this, s32* unk) { + unk[5] = 0; + gUnk_08112BF0[this->entityType.parameter](this, unk); +} + +void sub_0806B004(Entity* this, int* unk) { + int idx = 0; + + if (CheckGlobalFlag(0x29)) { + if (CheckLocalFlag(0x73)) { + if (GetInventoryValue(0x46) == 0) { + idx = 3; + if (CheckLocalFlag(0x78) == 0) { + idx = 2; + unk[5] = 1; + SetLocalFlag(0x78); + } + } else { + idx = 4; + } + } else { + idx = 1; + SetLocalFlag(0x6a); + } + } + TextboxNoOverlap(gUnk_08112C40[idx], this); +} + +void sub_0806B064(Entity* this) { + int idx = 0; + + if (CheckGlobalFlag(0x29)) { + idx = 1; + if (CheckLocalFlag(0x73)) { + idx = 2; + } + } + TextboxNoOverlap(gUnk_08112C4A[idx], this); +} + +void sub_0806B098(Entity* this) { + u32 f; + int idx = 2; + + if (GetInventoryValue(0x46) == 0) { + idx = 1; + if (CheckGlobalFlag(0x29)) { + f = CheckGlobalFlag(0x2a); + idx = (-f | f) >> 0x1f; + } + } + TextboxNoOverlap(gUnk_08112C50[(this->entityType.parameter - 7) * 3 + idx], this); +} + +void sub_0806B0E0(Entity* this) { + int idx = 0; + + if (sub_080002C0(0x38, 0xb8, 1) == 0x57 && sub_080002C0(0x48, 0xb8, 1) == 0x57 && + sub_080002C0(0x38, 200, 1) == 0x57 && sub_080002C0(0x48, 200, 1) == 0x57) { + idx = 1; + } + + TextboxNoOverlap(gUnk_08112C5C[idx], this); +} + +void sub_0806B134(Entity* this) { + int idx; + + if (GetInventoryValue(0x45)) { + idx = 2; + if (CheckLocalFlag(0x7b) == 0) { + idx = 1; + SetLocalFlag(0x7b); + } + } else { + idx = 0; + SetGlobalFlag(0x4a); + } + if (5 < gUnk_02002A40.unk8) { + idx = 3; + } + TextboxNoOverlap(gUnk_08112C60[idx], this); +} + +void TownMinish_Fusion(Entity* this) { + if (this->action == 0) { + if (LoadExtraSpriteData(this, &gUnk_08112674[this->entityType.form * 4])) { + this->action++; + this->spriteSettings.b.draw = 1; + InitializeAnimation(this, 6); + } + } else { + GetNextFrame(this); + } +} diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 7fe6e64a..436dc186 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -5,6 +5,7 @@ #include "textbox.h" #include "flags.h" #include "structures.h" +#include "functions.h" typedef struct { u8 frame1; @@ -21,8 +22,6 @@ typedef struct { extern void (*const gUnk_0810B774[])(Entity*); extern void (*const gUnk_0810B77C[])(Entity*); extern void sub_08061CB4(Entity*, u32); -extern u32 sub_0806ED9C(Entity*, u32, u32); -extern void sub_0806ED78(Entity*); extern u32 sub_0805ACC0(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0807DD64(Entity*); @@ -36,7 +35,6 @@ extern void sub_08062048(Entity*); extern void sub_08078784(Entity*, u32); extern void sub_08078778(Entity*); extern u32 sub_0806F5B0(u32); -extern void sub_080AEF88(Entity*); extern u32 Random(void); extern void ResolveEntityOnTop(Entity*, Entity*); extern void sub_08078850(Entity*, u32, u8, u32*); @@ -50,7 +48,7 @@ extern u8 gUnk_0810B748[]; extern u32 gUnk_0810B740[]; extern u16 gUnk_0810B790[]; extern u16 gUnk_0810B7BA[]; -extern u32 gUnk_0810B7C0[]; +extern Dialog gUnk_0810B7C0[]; void Townsperson(Entity* this) { if ((this->flags & 2) != 0) { @@ -296,30 +294,27 @@ void sub_0806200C(Entity* this) { TextboxNoOverlap(gUnk_0810B7BA[index], this); } -void sub_08062048(Entity *this) -{ - int iVar1; - - if ((this->entityType).subtype == 6) { - iVar1 = gUnk_02002A40.unk8 - 2; - if (iVar1 < 0) { - iVar1 = 0; +void sub_08062048(Entity* this) { + int iVar1; + + if ((this->entityType).subtype == 6) { + iVar1 = gUnk_02002A40.unk8 - 2; + if (iVar1 < 0) { + iVar1 = 0; + } + ShowNPCDialogue(this, gUnk_0810B7C0 + this->entityType.form * 0x8 + iVar1); + } else { + TextboxNoOverlap(0, this); } - ShowNPCDialogue(this, gUnk_0810B7C0 + this->entityType.form * 0x10 + iVar1 * 2); - } - else { - TextboxNoOverlap(0, this); - } } -void Townsperson_Fusion(Entity *this) -{ - if (this->action == 0) { - if (LoadExtraSpriteData(this, gUnk_0810B6EC[this->entityType.form]) == 0) { - return; +void Townsperson_Fusion(Entity* this) { + if (this->action == 0) { + if (LoadExtraSpriteData(this, gUnk_0810B6EC[this->entityType.form]) == 0) { + return; + } + this->action++; + this->spriteSettings.b.draw = TRUE; } - this->action++; - this->spriteSettings.b.draw = TRUE; - } - sub_08061CB4(this, 6); + sub_08061CB4(this, 6); } \ No newline at end of file diff --git a/src/npc/windTribespeople.c b/src/npc/windTribespeople.c index 620483b3..4f8b4d97 100644 --- a/src/npc/windTribespeople.c +++ b/src/npc/windTribespeople.c @@ -4,6 +4,7 @@ #include "textbox.h" #include "flags.h" #include "structures.h" +#include "functions.h" extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); extern void sub_0807DD50(Entity*); @@ -23,7 +24,7 @@ extern void (*const gUnk_08113A8C[])(Entity*, Entity*); extern SpriteLoadData gUnk_08113A1C[]; extern u32 gUnk_08014A80; -extern u32 gUnk_08113ABC[]; +extern Dialog gUnk_08113ABC[]; extern u16 gUnk_08113B0C[]; void WindTribespeople(Entity* this) { @@ -74,73 +75,65 @@ void sub_0806C85C(Entity* this) { } } -void sub_0806C870(Entity *this) -{ - u8 bVar1; - - bVar1 = sub_0801E99C(); - this->field_0x68.HALF.LO = bVar1; - sub_08078784(this, this->field_0x68.HALF.LO); +void sub_0806C870(Entity* this) { + u8 bVar1; + + bVar1 = sub_0801E99C(this); + this->field_0x68.HALF.LO = bVar1; + sub_08078784(this, this->field_0x68.HALF.LO); } -void WindTribespeople_Head(Entity *this) -{ - u32 uVar1; - u32 uVar2; - u8 pbVar3; - - pbVar3 = (this->frames.all & 0x3F); - if (this->entityType.form == 4) { - SetExtraSpriteFrame(this, 0, 9); - SetExtraSpriteFrame(this, 1, pbVar3); - SetExtraSpriteFrame(this, 2, this->frameIndex); - SetSpriteSubEntryOffsetData2(this, 2, 0); - SetSpriteSubEntryOffsetData1(this, 2, 1); - sub_0807000C(this); - } - else { - if (this->frames.b.f2 != 0) { - uVar2 = 1; - uVar1 = 0; +void WindTribespeople_Head(Entity* this) { + u32 uVar1; + u32 uVar2; + u8 pbVar3; + + pbVar3 = (this->frames.all & 0x3F); + if (this->entityType.form == 4) { + SetExtraSpriteFrame(this, 0, 9); + SetExtraSpriteFrame(this, 1, pbVar3); + SetExtraSpriteFrame(this, 2, this->frameIndex); + SetSpriteSubEntryOffsetData2(this, 2, 0); + SetSpriteSubEntryOffsetData1(this, 2, 1); + sub_0807000C(this); + } else { + if (this->frames.b.f2 != 0) { + uVar2 = 1; + uVar1 = 0; + } else { + uVar2 = 0; + uVar1 = 1; + } + SetExtraSpriteFrame(this, uVar2, pbVar3); + SetExtraSpriteFrame(this, uVar1, this->frameIndex); + SetSpriteSubEntryOffsetData1(this, uVar1, uVar2); + sub_0807000C(this); } - else { - uVar2 = 0; - uVar1 = 1; +} + +// body and head entities? +void sub_0806C90C(Entity* param_1, Entity* param_2) { + *(u32*)¶m_2->animationState = 0; + gUnk_08113A8C[param_1->entityType.parameter](param_1, param_2); +} + +void sub_0806C928(Entity* this) { + ShowNPCDialogue(this, &gUnk_08113ABC[gUnk_02002A40.unk8]); +} + +void sub_0806C944(Entity* this) { + int iVar1; + int iVar2; + + iVar1 = CheckGlobalFlag(WARP_EVENT_END); + if (iVar1 == 0) { + iVar2 = 0; + } else { + iVar1 = CheckLocalFlag(0x63); + iVar2 = 2; + if (iVar1 != 0) { + iVar2 = 1; + } } - SetExtraSpriteFrame(this, uVar2, pbVar3); - SetExtraSpriteFrame(this, uVar1, this->frameIndex); - SetSpriteSubEntryOffsetData1(this, uVar1, uVar2); - sub_0807000C(this); - } -} - -//body and head entities? -void sub_0806C90C(Entity *param_1,Entity *param_2) -{ - *(u32 *)¶m_2->animationState = 0; - gUnk_08113A8C[param_1->entityType.parameter](param_1, param_2); -} - -void sub_0806C928(Entity *this) -{ - ShowNPCDialogue(this, &gUnk_08113ABC[gUnk_02002A40.unk8 * 2]); -} - -void sub_0806C944(Entity *this) -{ - int iVar1; - int iVar2; - - iVar1 = CheckGlobalFlag(WARP_EVENT_END); - if (iVar1 == 0) { - iVar2 = 0; - } - else { - iVar1 = CheckLocalFlag(0x63); - iVar2 = 2; - if (iVar1 != 0) { - iVar2 = 1; - } - } - TextboxNoOverlap(gUnk_08113B0C[iVar2], this); + TextboxNoOverlap(gUnk_08113B0C[iVar2], this); } \ No newline at end of file From eaabe77cdcf28d2e5ff0ef0a599cf8ee6b0325dd Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 22 Aug 2020 14:52:00 +0200 Subject: [PATCH 003/105] correct dialog struct --- include/structures.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/include/structures.h b/include/structures.h index 7878db75..b6d348a9 100644 --- a/include/structures.h +++ b/include/structures.h @@ -23,7 +23,7 @@ typedef struct { } struct_0807D1C4; #define gUnk_02000000 ((struct_02000000*)(0x2000000)) -//extern struct_02000000 gUnk_02000000; +// extern struct_02000000 gUnk_02000000; typedef struct { u8 filler0[0x4]; @@ -57,7 +57,7 @@ typedef struct { extern SaveFile gUnk_02002A40; typedef struct { - u32 frameCount; // regular frame count? does anything reset it? + u32 frameCount; // regular frame count? does anything reset it? u8 field_0x4[0x4]; bool8 transitioningOut; u8 transitionType; // transition when changing areas @@ -123,7 +123,7 @@ typedef struct { u8 field_0x2; u8 field_0x3; u32 field_0x4; - u16 fadeType; // fade in or out, are there others? + u16 fadeType; // fade in or out, are there others? u16 fadeSpeed; // subtracted from duration u16 fadeDuration; u16 field_0xe; @@ -161,8 +161,17 @@ typedef struct { extern struct_02034480 gUnk_02034480; typedef struct { - u32 field_0x0; - u32 field_0x4; + u32 flag : 12; + u32 flagType : 4; + u32 type : 4; + u32 unk : 1; + union { + struct { + u16 a; + u16 b; + } indices; + void (*func)(Entity*); + } data; } Dialog; #endif From cc4e8f9e451bc10bbc3362d77f888d38d0723334 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 22 Aug 2020 14:56:47 +0200 Subject: [PATCH 004/105] remove double function definition --- src/npc/forestMinish.c | 1 - src/npc/mayorHagen.c | 1 - src/npc/mutoh.c | 1 - src/npc/teachers.c | 1 - 4 files changed, 4 deletions(-) diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index d5f32e34..5dc80dce 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -7,7 +7,6 @@ #include "structures.h" #include "functions.h" -extern void sub_0805E3A0(Entity*, u32); extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); extern void sub_0807DDAC(Entity*, u32); diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index 864983b9..63bc5e7a 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -14,7 +14,6 @@ extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); extern void sub_08078784(Entity*, u32); extern void sub_0807DDAC(Entity*, u32); -extern void sub_0805E3A0(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_08078850(); extern u32 gUnk_08113F44; diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index debead67..c0f5fda0 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -7,7 +7,6 @@ #include "structures.h" #include "functions.h" -extern void sub_0805E3A0(Entity*, u32); extern void sub_0807DD50(Entity*); extern u32 GetFacingDirection(Entity*, Entity*); extern u32 sub_0806F5A4(u32); diff --git a/src/npc/teachers.c b/src/npc/teachers.c index 39234223..09bab83d 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -4,7 +4,6 @@ #include "functions.h" extern SpriteLoadData gUnk_08113910[]; -extern void sub_0805E3A0(Entity*, u32); extern void sub_0807DD50(Entity*); extern u32 GetFacingDirection(Entity*, Entity*); extern u32 sub_0806F5A4(u32); From 1b68e97d334f328efea37e39c7121e20de71a866 Mon Sep 17 00:00:00 2001 From: theo3 Date: Sat, 22 Aug 2020 16:40:14 -0700 Subject: [PATCH 005/105] start enemy4D.c --- asm/enemy4D.s | 113 -------------------------------------------- asm/sub_08055E24.s | 41 ---------------- include/enemy.h | 2 + include/menu.h | 2 +- linker.ld | 2 +- src/enemy/enemy4D.c | 55 +++++++++++++++++++++ src/enemy/keese.c | 9 ++-- src/sub_08055E08.c | 38 +++++++++++---- 8 files changed, 93 insertions(+), 169 deletions(-) delete mode 100644 asm/sub_08055E24.s create mode 100644 src/enemy/enemy4D.c diff --git a/asm/enemy4D.s b/asm/enemy4D.s index 196b629a..c2a2bfee 100644 --- a/asm/enemy4D.s +++ b/asm/enemy4D.s @@ -6,119 +6,6 @@ .text - - thumb_func_start Enemy4D -Enemy4D: @ 0x0803EAEC - push {lr} - ldr r1, _0803EAF8 @ =gUnk_080D0880 - bl EnemyFunctionHandler - pop {pc} - .align 2, 0 -_0803EAF8: .4byte gUnk_080D0880 - - thumb_func_start sub_0803EAFC -sub_0803EAFC: @ 0x0803EAFC - push {lr} - ldr r2, _0803EB10 @ =gUnk_080D0898 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803EB10: .4byte gUnk_080D0898 - - thumb_func_start sub_0803EB14 -sub_0803EB14: @ 0x0803EB14 - push {lr} - ldr r1, _0803EB20 @ =gUnk_080D0880 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_0803EB20: .4byte gUnk_080D0880 - - thumb_func_start sub_0803EB24 -sub_0803EB24: @ 0x0803EB24 - push {r4, lr} - adds r4, r0, #0 - bl sub_08001324 - - thumb_func_start sub_0803EB2C -sub_0803EB2C: @ 0x0803EB2C - adds r0, r4, #0 - bl sub_0803EAFC - pop {r4, pc} - - thumb_func_start sub_0803EB34 -sub_0803EB34: @ 0x0803EB34 - push {lr} - movs r1, #0xff - movs r2, #0x57 - bl CreateDeathFx - pop {pc} - - thumb_func_start nullsub_21 -nullsub_21: @ 0x0803EB40 - bx lr - .align 2, 0 - - thumb_func_start sub_0803EB44 -sub_0803EB44: @ 0x0803EB44 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r0, r4, #0 - movs r1, #0x19 - movs r2, #0 - bl sub_0804A98C - cmp r0, #0 - beq _0803EBB2 - str r4, [r0, #0x50] - str r0, [r4, #0x54] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - movs r2, #0 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x7b - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - adds r1, r4, #0 - adds r1, #0x7e - movs r0, #0x28 - strb r0, [r1] - adds r1, #1 - movs r0, #0xfe - strb r0, [r1] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x82 - strh r0, [r1] - ldrb r1, [r4, #0x14] - lsls r1, r1, #2 - adds r0, r4, #0 - bl InitAnimationForceUpdate - adds r0, r4, #0 - bl sub_0803EE8C -_0803EBB2: - pop {r4, pc} - thumb_func_start sub_0803EBB4 sub_0803EBB4: @ 0x0803EBB4 push {r4, lr} diff --git a/asm/sub_08055E24.s b/asm/sub_08055E24.s deleted file mode 100644 index 368a8e24..00000000 --- a/asm/sub_08055E24.s +++ /dev/null @@ -1,41 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_08055E24 -sub_08055E24: @ 0x08055E24 - push {r4, lr} - ldr r4, _08055E5C @ =gMenu - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055E60 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _08055E64 @ =gUnk_080FF400 - bl LoadRoomEntityList - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055E5C: .4byte gMenu -_08055E60: .4byte gUnk_02000070 -_08055E64: .4byte gUnk_080FF400 - - thumb_func_start nullsub_493 -nullsub_493: @ 0x08055E68 - bx lr - .align 2, 0 \ No newline at end of file diff --git a/include/enemy.h b/include/enemy.h index 811c5d06..0eb7b069 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -110,4 +110,6 @@ extern void Enemy66(Entity*); extern u32 GetNextFunction(Entity*); extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*)); +extern void sub_0804AA30(Entity*, void (*const func[])(Entity*)); +extern void sub_08001324(Entity*); #endif \ No newline at end of file diff --git a/include/menu.h b/include/menu.h index 427a9de2..7ed5dae1 100644 --- a/include/menu.h +++ b/include/menu.h @@ -28,7 +28,7 @@ typedef struct { u8 storyPanelIndex; u16 transitionTimer; u16 field_0xa; - u8 field_0xc[0x4]; + u8* field_0xc; u8 unk10[2]; u8 field_0x12; u8 unk13; diff --git a/linker.ld b/linker.ld index 46227a68..63f06da2 100644 --- a/linker.ld +++ b/linker.ld @@ -409,6 +409,7 @@ SECTIONS { asm/vaatiRebornEnemy.o(.text); asm/vaatiProjectile.o(.text); asm/ballChainSoldier.o(.text); + src/enemy/enemy4D.o(.text); asm/enemy4D.o(.text); asm/ghini.o(.text); asm/vaatiTransfigured.o(.text); @@ -465,7 +466,6 @@ SECTIONS { src/code_0805436C.o(.text); asm/code_0805436C.o(.text); src/sub_08055E08.o(.text); - asm/sub_08055E24.o(.text); src/mainLoop.o(.text); asm/code_08055FF4.o(.text); src/textbox.o(.text); diff --git a/src/enemy/enemy4D.c b/src/enemy/enemy4D.c new file mode 100644 index 00000000..3c168052 --- /dev/null +++ b/src/enemy/enemy4D.c @@ -0,0 +1,55 @@ +#include "global.h" +#include "entity.h" +#include "enemy.h" +#include "functions.h" + +extern void sub_0803EE8C(Entity*); + +extern void (*const gUnk_080D0880[])(Entity*); +extern void (*const gUnk_080D0898[])(Entity*); + +void Enemy4D(Entity* this) { + EnemyFunctionHandler(this, gUnk_080D0880); +} + +void sub_0803EAFC(Entity* this) { + gUnk_080D0898[this->action](this); +} + +void sub_0803EB14(Entity* this) { + sub_0804AA30(this, gUnk_080D0880); +} + +void sub_0803EB24(Entity* this) { + sub_08001324(this); + sub_0803EAFC(this); +} + +void sub_0803EB34(Entity* this) { + CreateDeathFx(this, 0xff, 0x57); +} + +void nullsub_21() { +} + +void sub_0803EB44(Entity* this) { + Entity* pEVar1; + + sub_0804A720(this); + pEVar1 = sub_0804A98C(this, 0x19, 0); + if (pEVar1 != NULL) { + pEVar1->parent = this; + this->attachedEntity = pEVar1; + this->flags |= 0x80; + this->spriteSettings.b.draw = TRUE; + this->animationState = 2; + *((u8*)&this->field_0x7a + 1) = 0; + *(u8*)&this->field_0x7c = 0; + *((u8*)&this->field_0x7c + 2) = 0x28; + *((u8*)&this->field_0x7c + 3) = 0xfe; + this->field_0x80.HWORD = this->x.HALF.HI; + this->field_0x82.HWORD = this->y.HALF.HI; + InitAnimationForceUpdate(this, this->animationState << 2); + sub_0803EE8C(this); + } +} \ No newline at end of file diff --git a/src/enemy/keese.c b/src/enemy/keese.c index 0083bbf3..e8bd2310 100644 --- a/src/enemy/keese.c +++ b/src/enemy/keese.c @@ -3,7 +3,6 @@ #include "enemy.h" #include "player.h" -extern void sub_0804AA30(Entity*, void *); extern u32 sub_0806F520(Entity*); extern void sub_0806F4E8(Entity*); extern u32 sub_0806F3E4(Entity*); @@ -17,9 +16,9 @@ extern u32 sub_0806FCB8(Entity*, s32, s32, u32); extern u32 sub_08049FA0(Entity*); extern u32 sub_08049EE4(Entity*); -extern void (*gUnk_080CB69C[])(Entity*); -extern void (*gUnk_080CB6B4[])(Entity*); -extern void (*gUnk_080CB6C4[])(Entity*); +extern void (*const gUnk_080CB69C[])(Entity*); +extern void (*const gUnk_080CB6B4[])(Entity*); +extern void (*const gUnk_080CB6C4[])(Entity*); extern u8 gUnk_080CB6D0[]; extern u16 gUnk_080CB6D6[]; @@ -37,7 +36,7 @@ void sub_08021D80(Entity *this) void sub_08021d98(Entity *this) { - sub_0804AA30(this, &gUnk_080CB69C); + sub_0804AA30(this, gUnk_080CB69C); } void sub_08021DA8(Entity *this) diff --git a/src/sub_08055E08.c b/src/sub_08055E08.c index 19a2ebd6..aeabdb1d 100644 --- a/src/sub_08055E08.c +++ b/src/sub_08055E08.c @@ -1,13 +1,35 @@ - #include "global.h" +#include "menu.h" +#include "room.h" +#include "functions.h" extern u32* _call_via_r0(u32* func); -extern u8 gMenu; -extern u32* gUnk_080FF420; +extern void (*const gUnk_080FF420[])(); +extern void sub_0804B0B0(u32, u32); +extern void sub_08055B70(u32, u32, u32, u32); -void sub_08055E08() { - u32** arr = &gUnk_080FF420; - u8 i = gMenu; - i = *(&gMenu + 6); - _call_via_r0(arr[i]); +struct { + /*0x00*/ u8 unk0; + /*0x10*/ u8 filler1[0x1B]; + /*0x1c*/ u8 unk1C; + /*0x1d*/ u8 unk1D; + /*0x1e*/ u8 unk1E; + /*0x1f*/ u8 unk1F; +} gUnk_02000070 = {}; + +extern EntityData gUnk_080FF400; + +void sub_08055E08(void) { + gUnk_080FF420[gMenu.overlayType](); } + +void sub_08055E24(void) { + gMenu.overlayType++; + gUnk_02000070.unk0 = 1; + sub_0804B0B0(gMenu.field_0xc[2], gMenu.field_0xc[3]); + LoadRoomEntityList(&gUnk_080FF400); + sub_08055B70(gMenu.field_0x4, 0, 0, 0); + DoFade(4, 0x10); +} + +void nullsub_493(void) {} \ No newline at end of file From 9b8f80ef775477b82cfc1b02832f459590662230 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Sun, 23 Aug 2020 15:02:59 +0200 Subject: [PATCH 006/105] ManagerB.c: Documentation Split out the jump table data, renamed all the functions, added some comments for what is going on --- asm/code_08049CD4.s | 4 +- asm/miniSlime.s | 2 +- data/data_08100CD4.s | 5853 ---------------------------------------- data/data_0810821C.s | 5852 +++++++++++++++++++++++++++++++++++++++ linker.ld | 2 + src/manager/managerB.c | 119 +- 6 files changed, 5937 insertions(+), 5895 deletions(-) create mode 100644 data/data_0810821C.s diff --git a/asm/code_08049CD4.s b/asm/code_08049CD4.s index 3d3a0085..a7103c1e 100644 --- a/asm/code_08049CD4.s +++ b/asm/code_08049CD4.s @@ -1161,7 +1161,7 @@ sub_0804A4E4: @ 0x0804A4E4 beq _0804A550 adds r0, r5, #0 adds r1, r6, #0 - bl sub_08058800 + bl ReplaceMonitoredEntity _0804A550: pop {r4, r5, r6, r7, pc} .align 2, 0 @@ -1828,4 +1828,4 @@ sub_0804AA1C: @ 0x0804AA1C str r0, [r2, #0x68] _0804AA2C: pop {pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/miniSlime.s b/asm/miniSlime.s index 2bc8c223..90b0cee2 100644 --- a/asm/miniSlime.s +++ b/asm/miniSlime.s @@ -85,7 +85,7 @@ sub_0804525C: @ 0x0804525C beq _08045298 adds r0, r4, #0 adds r1, r3, #0 - bl sub_08058800 + bl ReplaceMonitoredEntity _08045298: adds r0, r4, #0 bl sub_0804A7D4 diff --git a/data/data_08100CD4.s b/data/data_08100CD4.s index 9db10a44..7ffee791 100755 --- a/data/data_08100CD4.s +++ b/data/data_08100CD4.s @@ -3492,5856 +3492,3 @@ gUnk_081081EC:: @ 081081EC gUnk_081081F4:: @ 081081F4 .incbin "baserom.gba", 0x1081F4, 0x0000014 - -gUnk_08108208:: @ 08108208 - .incbin "baserom.gba", 0x108208, 0x0000008 - -gUnk_08108210:: @ 08108210 - .incbin "baserom.gba", 0x108210, 0x000000C - -gUnk_0810821C:: @ 0810821C - .incbin "baserom.gba", 0x10821C, 0x000000C - -gUnk_08108228:: @ 08108228 - .incbin "baserom.gba", 0x108228, 0x0000030 - -gUnk_08108258:: @ 08108258 - .incbin "baserom.gba", 0x108258, 0x0000030 - -gUnk_08108288:: @ 08108288 - .incbin "baserom.gba", 0x108288, 0x0000030 - -gUnk_081082B8:: @ 081082B8 - .incbin "baserom.gba", 0x1082B8, 0x0000030 - -gUnk_081082E8:: @ 081082E8 - .incbin "baserom.gba", 0x1082E8, 0x0000018 - -gUnk_08108300:: @ 08108300 - .incbin "baserom.gba", 0x108300, 0x0000008 - -gUnk_08108308:: @ 08108308 - .incbin "baserom.gba", 0x108308, 0x000000C - -gUnk_08108314:: @ 08108314 - .incbin "baserom.gba", 0x108314, 0x0000040 - -gUnk_08108354:: @ 08108354 - .incbin "baserom.gba", 0x108354, 0x000002C - -gUnk_08108380:: @ 08108380 - .incbin "baserom.gba", 0x108380, 0x0000010 - -gUnk_08108390:: @ 08108390 - .incbin "baserom.gba", 0x108390, 0x0000008 - -gUnk_08108398:: @ 08108398 - .incbin "baserom.gba", 0x108398, 0x0000016 - -gUnk_081083AE:: @ 081083AE - .incbin "baserom.gba", 0x1083AE, 0x0000016 - -gUnk_081083C4:: @ 081083C4 - .incbin "baserom.gba", 0x1083C4, 0x0000016 - -gUnk_081083DA:: @ 081083DA - .incbin "baserom.gba", 0x1083DA, 0x0000018 - -gUnk_081083F2:: @ 081083F2 - .incbin "baserom.gba", 0x1083F2, 0x0000016 - -gUnk_08108408:: @ 08108408 - .incbin "baserom.gba", 0x108408, 0x000003C - -gUnk_08108444:: @ 08108444 - .incbin "baserom.gba", 0x108444, 0x0000024 - -gUnk_08108468:: @ 08108468 - .incbin "baserom.gba", 0x108468, 0x0000026 - -gUnk_0810848E:: @ 0810848E - .incbin "baserom.gba", 0x10848E, 0x0000035 - -gUnk_081084C3:: @ 081084C3 - .incbin "baserom.gba", 0x1084C3, 0x0000005 - -gUnk_081084C8:: @ 081084C8 - .incbin "baserom.gba", 0x1084C8, 0x000004A - -gUnk_08108512:: @ 08108512 - .incbin "baserom.gba", 0x108512, 0x000001E - -gUnk_08108530:: @ 08108530 - .incbin "baserom.gba", 0x108530, 0x0000058 - -gUnk_08108588:: @ 08108588 - .incbin "baserom.gba", 0x108588, 0x0000012 - -gUnk_0810859A:: @ 0810859A - .incbin "baserom.gba", 0x10859A, 0x000000A - -gUnk_081085A4:: @ 081085A4 - .incbin "baserom.gba", 0x1085A4, 0x0000014 - -gUnk_081085B8:: @ 081085B8 - .incbin "baserom.gba", 0x1085B8, 0x0000020 - -gUnk_081085D8:: @ 081085D8 - .incbin "baserom.gba", 0x1085D8, 0x0000020 - -gUnk_081085F8:: @ 081085F8 - .incbin "baserom.gba", 0x1085F8, 0x0000014 - -gUnk_0810860C:: @ 0810860C - .incbin "baserom.gba", 0x10860C, 0x0000014 - -gUnk_08108620:: @ 08108620 - .incbin "baserom.gba", 0x108620, 0x0000018 - -gUnk_08108638:: @ 08108638 - .incbin "baserom.gba", 0x108638, 0x0000010 - -gUnk_08108648:: @ 08108648 - .incbin "baserom.gba", 0x108648, 0x000000C - -gUnk_08108654:: @ 08108654 - .incbin "baserom.gba", 0x108654, 0x0000008 - -gUnk_0810865C:: @ 0810865C - .incbin "baserom.gba", 0x10865C, 0x000000C - -gUnk_08108668:: @ 08108668 - .incbin "baserom.gba", 0x108668, 0x0000008 - -gUnk_08108670:: @ 08108670 - .incbin "baserom.gba", 0x108670, 0x000000C - -gUnk_0810867C:: @ 0810867C - .incbin "baserom.gba", 0x10867C, 0x000000C - -gUnk_08108688:: @ 08108688 - .incbin "baserom.gba", 0x108688, 0x000000C - -gUnk_08108694:: @ 08108694 - .incbin "baserom.gba", 0x108694, 0x000000C - -gUnk_081086A0:: @ 081086A0 - .incbin "baserom.gba", 0x1086A0, 0x0000009 - -gUnk_081086A9:: @ 081086A9 - .incbin "baserom.gba", 0x1086A9, 0x0000003 - -gUnk_081086AC:: @ 081086AC - .incbin "baserom.gba", 0x1086AC, 0x000000C - -gUnk_081086B8:: @ 081086B8 - .incbin "baserom.gba", 0x1086B8, 0x000000C - -gUnk_081086C4:: @ 081086C4 - .incbin "baserom.gba", 0x1086C4, 0x000000C - -gUnk_081086D0:: @ 081086D0 - .incbin "baserom.gba", 0x1086D0, 0x0000001 - -gUnk_081086D1:: @ 081086D1 - .incbin "baserom.gba", 0x1086D1, 0x000000B - -gUnk_081086DC:: @ 081086DC - .incbin "baserom.gba", 0x1086DC, 0x0000008 - -gUnk_081086E4:: @ 081086E4 - .incbin "baserom.gba", 0x1086E4, 0x0000008 - -gUnk_081086EC:: @ 081086EC - .incbin "baserom.gba", 0x1086EC, 0x0000008 - -gUnk_081086F4:: @ 081086F4 - .incbin "baserom.gba", 0x1086F4, 0x0000008 - -gUnk_081086FC:: @ 081086FC - .incbin "baserom.gba", 0x1086FC, 0x0000008 - -gUnk_08108704:: @ 08108704 - .incbin "baserom.gba", 0x108704, 0x0000003 - -gUnk_08108707:: @ 08108707 - .incbin "baserom.gba", 0x108707, 0x0000005 - -gUnk_0810870C:: @ 0810870C - .incbin "baserom.gba", 0x10870C, 0x0000008 - -gUnk_08108714:: @ 08108714 - .incbin "baserom.gba", 0x108714, 0x0000008 - -gUnk_0810871C:: @ 0810871C - .incbin "baserom.gba", 0x10871C, 0x0000008 - -gUnk_08108724:: @ 08108724 - .incbin "baserom.gba", 0x108724, 0x0000008 - -gUnk_0810872C:: @ 0810872C - .incbin "baserom.gba", 0x10872C, 0x0000008 - -gUnk_08108734:: @ 08108734 - .incbin "baserom.gba", 0x108734, 0x0000008 - -gUnk_0810873C:: @ 0810873C - .incbin "baserom.gba", 0x10873C, 0x0000008 - -gUnk_08108744:: @ 08108744 - .incbin "baserom.gba", 0x108744, 0x0000006 - -gUnk_0810874A:: @ 0810874A - .incbin "baserom.gba", 0x10874A, 0x0000002 - -gUnk_0810874C:: @ 0810874C - .incbin "baserom.gba", 0x10874C, 0x0000008 - -gUnk_08108754:: @ 08108754 - .incbin "baserom.gba", 0x108754, 0x0000008 - -gUnk_0810875C:: @ 0810875C - .incbin "baserom.gba", 0x10875C, 0x0000002 - -gUnk_0810875E:: @ 0810875E - .incbin "baserom.gba", 0x10875E, 0x0000006 - -gUnk_08108764:: @ 08108764 - .incbin "baserom.gba", 0x108764, 0x00000AF - -gUnk_08108813:: @ 08108813 - .incbin "baserom.gba", 0x108813, 0x0000031 - -gUnk_08108844:: @ 08108844 - .incbin "baserom.gba", 0x108844, 0x0000020 - -gUnk_08108864:: @ 08108864 - .incbin "baserom.gba", 0x108864, 0x0000237 - -gUnk_08108A9B:: @ 08108A9B - .incbin "baserom.gba", 0x108A9B, 0x0000177 - -gUnk_08108C12:: @ 08108C12 - .incbin "baserom.gba", 0x108C12, 0x0000016 - -gUnk_08108C28:: @ 08108C28 - .incbin "baserom.gba", 0x108C28, 0x000001C - -gUnk_08108C44:: @ 08108C44 - .incbin "baserom.gba", 0x108C44, 0x0000010 - -gUnk_08108C54:: @ 08108C54 - .incbin "baserom.gba", 0x108C54, 0x0000008 - -gUnk_08108C5C:: @ 08108C5C - .incbin "baserom.gba", 0x108C5C, 0x0000008 - -gUnk_08108C64:: @ 08108C64 - .incbin "baserom.gba", 0x108C64, 0x0000008 - -gUnk_08108C6C:: @ 08108C6C - .incbin "baserom.gba", 0x108C6C, 0x000000B - -gUnk_08108C77:: @ 08108C77 - .incbin "baserom.gba", 0x108C77, 0x0000005 - -gUnk_08108C7C:: @ 08108C7C - .incbin "baserom.gba", 0x108C7C, 0x0000004 - -gUnk_08108C80:: @ 08108C80 - .incbin "baserom.gba", 0x108C80, 0x0000008 - -gUnk_08108C88:: @ 08108C88 - .incbin "baserom.gba", 0x108C88, 0x0000004 - -gUnk_08108C8C:: @ 08108C8C - .incbin "baserom.gba", 0x108C8C, 0x0000008 - -gUnk_08108C94:: @ 08108C94 - .incbin "baserom.gba", 0x108C94, 0x0000008 - -gUnk_08108C9C:: @ 08108C9C - .incbin "baserom.gba", 0x108C9C, 0x000000C - -gUnk_08108CA8:: @ 08108CA8 - .incbin "baserom.gba", 0x108CA8, 0x0000024 - -gUnk_08108CCC:: @ 08108CCC - .incbin "baserom.gba", 0x108CCC, 0x0000010 - -gUnk_08108CDC:: @ 08108CDC - .incbin "baserom.gba", 0x108CDC, 0x000000C - -gUnk_08108CE8:: @ 08108CE8 - .incbin "baserom.gba", 0x108CE8, 0x0000014 - -gUnk_08108CFC:: @ 08108CFC - .incbin "baserom.gba", 0x108CFC, 0x0000008 - -gUnk_08108D04:: @ 08108D04 - .incbin "baserom.gba", 0x108D04, 0x000000C - -gUnk_08108D10:: @ 08108D10 - .incbin "baserom.gba", 0x108D10, 0x000000C - -gUnk_08108D1C:: @ 08108D1C - .incbin "baserom.gba", 0x108D1C, 0x0000004 - -gUnk_08108D20:: @ 08108D20 - .incbin "baserom.gba", 0x108D20, 0x0000008 - -gUnk_08108D28:: @ 08108D28 - .incbin "baserom.gba", 0x108D28, 0x0000008 - -gUnk_08108D30:: @ 08108D30 - .incbin "baserom.gba", 0x108D30, 0x000000C - -gUnk_08108D3C:: @ 08108D3C - .incbin "baserom.gba", 0x108D3C, 0x0000008 - -gUnk_08108D44:: @ 08108D44 - .incbin "baserom.gba", 0x108D44, 0x000000C - -gUnk_08108D50:: @ 08108D50 - .incbin "baserom.gba", 0x108D50, 0x000000C - -gUnk_08108D5C:: @ 08108D5C - .incbin "baserom.gba", 0x108D5C, 0x0000018 - -gUnk_08108D74:: @ 08108D74 - .incbin "baserom.gba", 0x108D74, 0x0000008 - -gUnk_08108D7C:: @ 08108D7C - .incbin "baserom.gba", 0x108D7C, 0x0000010 - -gUnk_08108D8C:: @ 08108D8C - .incbin "baserom.gba", 0x108D8C, 0x000000B - -gUnk_08108D97:: @ 08108D97 - .incbin "baserom.gba", 0x108D97, 0x0000001 - -gUnk_08108D98:: @ 08108D98 - .incbin "baserom.gba", 0x108D98, 0x0000010 - -gUnk_08108DA8:: @ 08108DA8 - .incbin "baserom.gba", 0x108DA8, 0x0000014 - -gUnk_08108DBC:: @ 08108DBC - .incbin "baserom.gba", 0x108DBC, 0x0000008 - -gUnk_08108DC4:: @ 08108DC4 - .incbin "baserom.gba", 0x108DC4, 0x0000014 - -gUnk_08108DD8:: @ 08108DD8 - .incbin "baserom.gba", 0x108DD8, 0x0000008 - -gUnk_08108DE0:: @ 08108DE0 - .incbin "baserom.gba", 0x108DE0, 0x0000008 - -gUnk_08108DE8:: @ 08108DE8 - .incbin "baserom.gba", 0x108DE8, 0x0000040 - -gUnk_08108E28:: @ 08108E28 - .incbin "baserom.gba", 0x108E28, 0x0000008 - -gUnk_08108E30:: @ 08108E30 - .incbin "baserom.gba", 0x108E30, 0x0000018 - -gUnk_08108E48:: @ 08108E48 - .incbin "baserom.gba", 0x108E48, 0x0000002 - -gUnk_08108E4A:: @ 08108E4A - .incbin "baserom.gba", 0x108E4A, 0x0000016 - -gUnk_08108E60:: @ 08108E60 - .incbin "baserom.gba", 0x108E60, 0x000000C - -gUnk_08108E6C:: @ 08108E6C - .incbin "baserom.gba", 0x108E6C, 0x000000C - -gUnk_08108E78:: @ 08108E78 - .incbin "baserom.gba", 0x108E78, 0x0000018 - -gUnk_08108E90:: @ 08108E90 - .incbin "baserom.gba", 0x108E90, 0x0000008 - -gUnk_08108E98:: @ 08108E98 - .incbin "baserom.gba", 0x108E98, 0x000000C - -gUnk_08108EA4:: @ 08108EA4 - .incbin "baserom.gba", 0x108EA4, 0x0000018 - -gUnk_08108EBC:: @ 08108EBC - .incbin "baserom.gba", 0x108EBC, 0x0000008 - -gUnk_08108EC4:: @ 08108EC4 - .incbin "baserom.gba", 0x108EC4, 0x000000C - -gUnk_08108ED0:: @ 08108ED0 - .incbin "baserom.gba", 0x108ED0, 0x0000018 - -gUnk_08108EE8:: @ 08108EE8 - .incbin "baserom.gba", 0x108EE8, 0x0000008 - -gUnk_08108EF0:: @ 08108EF0 - .incbin "baserom.gba", 0x108EF0, 0x000000C - -gUnk_08108EFC:: @ 08108EFC - .incbin "baserom.gba", 0x108EFC, 0x0000018 - -gUnk_08108F14:: @ 08108F14 - .incbin "baserom.gba", 0x108F14, 0x0000008 - -gUnk_08108F1C:: @ 08108F1C - .incbin "baserom.gba", 0x108F1C, 0x000000C - -gUnk_08108F28:: @ 08108F28 - .incbin "baserom.gba", 0x108F28, 0x0000018 - -gUnk_08108F40:: @ 08108F40 - .incbin "baserom.gba", 0x108F40, 0x0000008 - -gUnk_08108F48:: @ 08108F48 - .incbin "baserom.gba", 0x108F48, 0x0000004 - -gUnk_08108F4C:: @ 08108F4C - .incbin "baserom.gba", 0x108F4C, 0x0000008 - -gUnk_08108F54:: @ 08108F54 - .incbin "baserom.gba", 0x108F54, 0x0000018 - -gUnk_08108F6C:: @ 08108F6C - .incbin "baserom.gba", 0x108F6C, 0x0000008 - -gUnk_08108F74:: @ 08108F74 - .incbin "baserom.gba", 0x108F74, 0x000000C - -gUnk_08108F80:: @ 08108F80 - .incbin "baserom.gba", 0x108F80, 0x0000018 - -gUnk_08108F98:: @ 08108F98 - .incbin "baserom.gba", 0x108F98, 0x0000008 - -gUnk_08108FA0:: @ 08108FA0 - .incbin "baserom.gba", 0x108FA0, 0x000000C - -gUnk_08108FAC:: @ 08108FAC - .incbin "baserom.gba", 0x108FAC, 0x0000018 - -gUnk_08108FC4:: @ 08108FC4 - .incbin "baserom.gba", 0x108FC4, 0x0000008 - -gUnk_08108FCC:: @ 08108FCC - .incbin "baserom.gba", 0x108FCC, 0x000000C - -gUnk_08108FD8:: @ 08108FD8 - .incbin "baserom.gba", 0x108FD8, 0x0000018 - -gUnk_08108FF0:: @ 08108FF0 - .incbin "baserom.gba", 0x108FF0, 0x0000008 - -gUnk_08108FF8:: @ 08108FF8 - .incbin "baserom.gba", 0x108FF8, 0x000000C - -gUnk_08109004:: @ 08109004 - .incbin "baserom.gba", 0x109004, 0x0000001 - -gUnk_08109005:: @ 08109005 - .incbin "baserom.gba", 0x109005, 0x0000014 - -gUnk_08109019:: @ 08109019 - .incbin "baserom.gba", 0x109019, 0x0000003 - -gUnk_0810901C:: @ 0810901C - .incbin "baserom.gba", 0x10901C, 0x0000008 - -gUnk_08109024:: @ 08109024 - .incbin "baserom.gba", 0x109024, 0x000000C - -gUnk_08109030:: @ 08109030 - .incbin "baserom.gba", 0x109030, 0x0000003 - -gUnk_08109033:: @ 08109033 - .incbin "baserom.gba", 0x109033, 0x0000015 - -gUnk_08109048:: @ 08109048 - .incbin "baserom.gba", 0x109048, 0x0000008 - -gUnk_08109050:: @ 08109050 - .incbin "baserom.gba", 0x109050, 0x000000C - -gUnk_0810905C:: @ 0810905C - .incbin "baserom.gba", 0x10905C, 0x0000018 - -gUnk_08109074:: @ 08109074 - .incbin "baserom.gba", 0x109074, 0x0000008 - -gUnk_0810907C:: @ 0810907C - .incbin "baserom.gba", 0x10907C, 0x000000C - -gUnk_08109088:: @ 08109088 - .incbin "baserom.gba", 0x109088, 0x0000018 - -gUnk_081090A0:: @ 081090A0 - .incbin "baserom.gba", 0x1090A0, 0x0000008 - -gUnk_081090A8:: @ 081090A8 - .incbin "baserom.gba", 0x1090A8, 0x000000C - -gUnk_081090B4:: @ 081090B4 - .incbin "baserom.gba", 0x1090B4, 0x0000018 - -gUnk_081090CC:: @ 081090CC - .incbin "baserom.gba", 0x1090CC, 0x0000008 - -gUnk_081090D4:: @ 081090D4 - .incbin "baserom.gba", 0x1090D4, 0x000000C - -gUnk_081090E0:: @ 081090E0 - .incbin "baserom.gba", 0x1090E0, 0x0000018 - -gUnk_081090F8:: @ 081090F8 - .incbin "baserom.gba", 0x1090F8, 0x0000008 - -gUnk_08109100:: @ 08109100 - .incbin "baserom.gba", 0x109100, 0x000000C - -gUnk_0810910C:: @ 0810910C - .incbin "baserom.gba", 0x10910C, 0x0000018 - -gUnk_08109124:: @ 08109124 - .incbin "baserom.gba", 0x109124, 0x0000008 - -gUnk_0810912C:: @ 0810912C - .incbin "baserom.gba", 0x10912C, 0x000000C - -gUnk_08109138:: @ 08109138 - .incbin "baserom.gba", 0x109138, 0x0000008 - -gUnk_08109140:: @ 08109140 - .incbin "baserom.gba", 0x109140, 0x0000018 - -gUnk_08109158:: @ 08109158 - .incbin "baserom.gba", 0x109158, 0x0000008 - -gUnk_08109160:: @ 08109160 - .incbin "baserom.gba", 0x109160, 0x0000018 - -gUnk_08109178:: @ 08109178 - .incbin "baserom.gba", 0x109178, 0x0000008 - -gUnk_08109180:: @ 08109180 - .incbin "baserom.gba", 0x109180, 0x000000C - -gUnk_0810918C:: @ 0810918C - .incbin "baserom.gba", 0x10918C, 0x0000008 - -gUnk_08109194:: @ 08109194 - .incbin "baserom.gba", 0x109194, 0x0000009 - -gUnk_0810919D:: @ 0810919D - .incbin "baserom.gba", 0x10919D, 0x0000047 - -gUnk_081091E4:: @ 081091E4 - .incbin "baserom.gba", 0x1091E4, 0x000000A - -gUnk_081091EE:: @ 081091EE - .incbin "baserom.gba", 0x1091EE, 0x000000A - -gUnk_081091F8:: @ 081091F8 - .incbin "baserom.gba", 0x1091F8, 0x000000A - -gUnk_08109202:: @ 08109202 - .incbin "baserom.gba", 0x109202, 0x0000012 - -gUnk_08109214:: @ 08109214 - .incbin "baserom.gba", 0x109214, 0x000001C - -gUnk_08109230:: @ 08109230 - .incbin "baserom.gba", 0x109230, 0x0000014 - -gUnk_08109244:: @ 08109244 - .incbin "baserom.gba", 0x109244, 0x0000004 - -gUnk_08109248:: @ 08109248 - .incbin "baserom.gba", 0x109248, 0x0000024 - -gUnk_0810926C:: @ 0810926C - .incbin "baserom.gba", 0x10926C, 0x0000040 - -gUnk_081092AC:: @ 081092AC - .incbin "baserom.gba", 0x1092AC, 0x0000028 - -gUnk_081092D4:: @ 081092D4 - .incbin "baserom.gba", 0x1092D4, 0x000002F - -gUnk_08109303:: @ 08109303 - .incbin "baserom.gba", 0x109303, 0x000005E - -gUnk_08109361:: @ 08109361 - .incbin "baserom.gba", 0x109361, 0x00000A5 - -gUnk_08109406:: @ 08109406 - .incbin "baserom.gba", 0x109406, 0x0000028 - -gUnk_0810942E:: @ 0810942E - .incbin "baserom.gba", 0x10942E, 0x00000A0 - -gUnk_081094CE:: @ 081094CE - .incbin "baserom.gba", 0x1094CE, 0x00000FB - -gUnk_081095C9:: @ 081095C9 - .incbin "baserom.gba", 0x1095C9, 0x000014C - -gUnk_08109715:: @ 08109715 - .incbin "baserom.gba", 0x109715, 0x0000063 - -gUnk_08109778:: @ 08109778 - .incbin "baserom.gba", 0x109778, 0x0000005 - -gUnk_0810977D:: @ 0810977D - .incbin "baserom.gba", 0x10977D, 0x0000017 - -gUnk_08109794:: @ 08109794 - .incbin "baserom.gba", 0x109794, 0x0000104 - -gUnk_08109898:: @ 08109898 - .incbin "baserom.gba", 0x109898, 0x000000F - -gUnk_081098A7:: @ 081098A7 - .incbin "baserom.gba", 0x1098A7, 0x000005F - -gUnk_08109906:: @ 08109906 - .incbin "baserom.gba", 0x109906, 0x000012A - -gUnk_08109A30:: @ 08109A30 - .incbin "baserom.gba", 0x109A30, 0x0000028 - -gUnk_08109A58:: @ 08109A58 - .incbin "baserom.gba", 0x109A58, 0x0000010 - -gUnk_08109A68:: @ 08109A68 - .incbin "baserom.gba", 0x109A68, 0x0000010 - -gUnk_08109A78:: @ 08109A78 - .incbin "baserom.gba", 0x109A78, 0x0000010 - -gUnk_08109A88:: @ 08109A88 - .incbin "baserom.gba", 0x109A88, 0x0000010 - -gUnk_08109A98:: @ 08109A98 - .incbin "baserom.gba", 0x109A98, 0x0000006 - -gUnk_08109A9E:: @ 08109A9E - .incbin "baserom.gba", 0x109A9E, 0x000000A - -gUnk_08109AA8:: @ 08109AA8 - .incbin "baserom.gba", 0x109AA8, 0x0000010 - -gUnk_08109AB8:: @ 08109AB8 - .incbin "baserom.gba", 0x109AB8, 0x0000010 - -gUnk_08109AC8:: @ 08109AC8 - .incbin "baserom.gba", 0x109AC8, 0x0000008 - -gUnk_08109AD0:: @ 08109AD0 - .incbin "baserom.gba", 0x109AD0, 0x0000008 - -gUnk_08109AD8:: @ 08109AD8 - .incbin "baserom.gba", 0x109AD8, 0x0000005 - -gUnk_08109ADD:: @ 08109ADD - .incbin "baserom.gba", 0x109ADD, 0x0000005 - -gUnk_08109AE2:: @ 08109AE2 - .incbin "baserom.gba", 0x109AE2, 0x0000005 - -gUnk_08109AE7:: @ 08109AE7 - .incbin "baserom.gba", 0x109AE7, 0x0000005 - -gUnk_08109AEC:: @ 08109AEC - .incbin "baserom.gba", 0x109AEC, 0x0000011 - -gUnk_08109AFD:: @ 08109AFD - .incbin "baserom.gba", 0x109AFD, 0x000000B - -gUnk_08109B08:: @ 08109B08 - .incbin "baserom.gba", 0x109B08, 0x0000006 - -gUnk_08109B0E:: @ 08109B0E - .incbin "baserom.gba", 0x109B0E, 0x000002D - -gUnk_08109B3B:: @ 08109B3B - .incbin "baserom.gba", 0x109B3B, 0x0000025 - -gUnk_08109B60:: @ 08109B60 - .incbin "baserom.gba", 0x109B60, 0x0000020 - -gUnk_08109B80:: @ 08109B80 - .incbin "baserom.gba", 0x109B80, 0x000003C - -gUnk_08109BBC:: @ 08109BBC - .incbin "baserom.gba", 0x109BBC, 0x000000C - -gUnk_08109BC8:: @ 08109BC8 - .incbin "baserom.gba", 0x109BC8, 0x0000005 - -gUnk_08109BCD:: @ 08109BCD - .incbin "baserom.gba", 0x109BCD, 0x0000005 - -gUnk_08109BD2:: @ 08109BD2 - .incbin "baserom.gba", 0x109BD2, 0x0000005 - -gUnk_08109BD7:: @ 08109BD7 - .incbin "baserom.gba", 0x109BD7, 0x0000011 - -gUnk_08109BE8:: @ 08109BE8 - .incbin "baserom.gba", 0x109BE8, 0x0000011 - -gUnk_08109BF9:: @ 08109BF9 - .incbin "baserom.gba", 0x109BF9, 0x0000035 - -gUnk_08109C2E:: @ 08109C2E - .incbin "baserom.gba", 0x109C2E, 0x000001D - -gUnk_08109C4B:: @ 08109C4B - .incbin "baserom.gba", 0x109C4B, 0x0000009 - -gUnk_08109C54:: @ 08109C54 - .incbin "baserom.gba", 0x109C54, 0x0000005 - -gUnk_08109C59:: @ 08109C59 - .incbin "baserom.gba", 0x109C59, 0x0000007 - -gUnk_08109C60:: @ 08109C60 - .incbin "baserom.gba", 0x109C60, 0x0000038 - -gUnk_08109C98:: @ 08109C98 - .incbin "baserom.gba", 0x109C98, 0x0000080 - -gUnk_08109D18:: @ 08109D18 - .incbin "baserom.gba", 0x109D18, 0x0000063 - -gUnk_08109D7B:: @ 08109D7B - .incbin "baserom.gba", 0x109D7B, 0x000002E - -gUnk_08109DA9:: @ 08109DA9 - .incbin "baserom.gba", 0x109DA9, 0x000001F - -gUnk_08109DC8:: @ 08109DC8 - .incbin "baserom.gba", 0x109DC8, 0x000003F - -gUnk_08109E07:: @ 08109E07 - .incbin "baserom.gba", 0x109E07, 0x000010E - -gUnk_08109F15:: @ 08109F15 - .incbin "baserom.gba", 0x109F15, 0x0000052 - -gUnk_08109F67:: @ 08109F67 - .incbin "baserom.gba", 0x109F67, 0x0000005 - -gUnk_08109F6C:: @ 08109F6C - .incbin "baserom.gba", 0x109F6C, 0x000002B - -gUnk_08109F97:: @ 08109F97 - .incbin "baserom.gba", 0x109F97, 0x00000B1 - -gUnk_0810A048:: @ 0810A048 - .incbin "baserom.gba", 0x10A048, 0x0000111 - -gUnk_0810A159:: @ 0810A159 - .incbin "baserom.gba", 0x10A159, 0x0000048 - -gUnk_0810A1A1:: @ 0810A1A1 - .incbin "baserom.gba", 0x10A1A1, 0x00001A7 - -gUnk_0810A348:: @ 0810A348 - .incbin "baserom.gba", 0x10A348, 0x000000C - -gUnk_0810A354:: @ 0810A354 - .incbin "baserom.gba", 0x10A354, 0x0000006 - -gUnk_0810A35A:: @ 0810A35A - .incbin "baserom.gba", 0x10A35A, 0x0000008 - -gUnk_0810A362:: @ 0810A362 - .incbin "baserom.gba", 0x10A362, 0x0000008 - -gUnk_0810A36A:: @ 0810A36A - .incbin "baserom.gba", 0x10A36A, 0x0000005 - -gUnk_0810A36F:: @ 0810A36F - .incbin "baserom.gba", 0x10A36F, 0x0000005 - -gUnk_0810A374:: @ 0810A374 - .incbin "baserom.gba", 0x10A374, 0x0000005 - -gUnk_0810A379:: @ 0810A379 - .incbin "baserom.gba", 0x10A379, 0x0000001 - -gUnk_0810A37A:: @ 0810A37A - .incbin "baserom.gba", 0x10A37A, 0x0000004 - -gUnk_0810A37E:: @ 0810A37E - .incbin "baserom.gba", 0x10A37E, 0x0000021 - -gUnk_0810A39F:: @ 0810A39F - .incbin "baserom.gba", 0x10A39F, 0x0000021 - -gUnk_0810A3C0:: @ 0810A3C0 - .incbin "baserom.gba", 0x10A3C0, 0x0000021 - -gUnk_0810A3E1:: @ 0810A3E1 - .incbin "baserom.gba", 0x10A3E1, 0x000001F - -gUnk_0810A400:: @ 0810A400 - .incbin "baserom.gba", 0x10A400, 0x0000002 - -gUnk_0810A402:: @ 0810A402 - .incbin "baserom.gba", 0x10A402, 0x0000005 - -gUnk_0810A407:: @ 0810A407 - .incbin "baserom.gba", 0x10A407, 0x0000001 - -gUnk_0810A408:: @ 0810A408 - .incbin "baserom.gba", 0x10A408, 0x0000004 - -gUnk_0810A40C:: @ 0810A40C - .incbin "baserom.gba", 0x10A40C, 0x0000005 - -gUnk_0810A411:: @ 0810A411 - .incbin "baserom.gba", 0x10A411, 0x0000005 - -gUnk_0810A416:: @ 0810A416 - .incbin "baserom.gba", 0x10A416, 0x000000D - -gUnk_0810A423:: @ 0810A423 - .incbin "baserom.gba", 0x10A423, 0x000000D - -gUnk_0810A430:: @ 0810A430 - .incbin "baserom.gba", 0x10A430, 0x000000D - -gUnk_0810A43D:: @ 0810A43D - .incbin "baserom.gba", 0x10A43D, 0x000000D - -gUnk_0810A44A:: @ 0810A44A - .incbin "baserom.gba", 0x10A44A, 0x000000D - -gUnk_0810A457:: @ 0810A457 - .incbin "baserom.gba", 0x10A457, 0x000000D - -gUnk_0810A464:: @ 0810A464 - .incbin "baserom.gba", 0x10A464, 0x000000D - -gUnk_0810A471:: @ 0810A471 - .incbin "baserom.gba", 0x10A471, 0x000000D - -gUnk_0810A47E:: @ 0810A47E - .incbin "baserom.gba", 0x10A47E, 0x000000D - -gUnk_0810A48B:: @ 0810A48B - .incbin "baserom.gba", 0x10A48B, 0x000000D - -gUnk_0810A498:: @ 0810A498 - .incbin "baserom.gba", 0x10A498, 0x000000D - -gUnk_0810A4A5:: @ 0810A4A5 - .incbin "baserom.gba", 0x10A4A5, 0x000000D - -gUnk_0810A4B2:: @ 0810A4B2 - .incbin "baserom.gba", 0x10A4B2, 0x000000D - -gUnk_0810A4BF:: @ 0810A4BF - .incbin "baserom.gba", 0x10A4BF, 0x000000D - -gUnk_0810A4CC:: @ 0810A4CC - .incbin "baserom.gba", 0x10A4CC, 0x000000D - -gUnk_0810A4D9:: @ 0810A4D9 - .incbin "baserom.gba", 0x10A4D9, 0x000000D - -gUnk_0810A4E6:: @ 0810A4E6 - .incbin "baserom.gba", 0x10A4E6, 0x000000D - -gUnk_0810A4F3:: @ 0810A4F3 - .incbin "baserom.gba", 0x10A4F3, 0x000000D - -gUnk_0810A500:: @ 0810A500 - .incbin "baserom.gba", 0x10A500, 0x000000D - -gUnk_0810A50D:: @ 0810A50D - .incbin "baserom.gba", 0x10A50D, 0x000000D - -gUnk_0810A51A:: @ 0810A51A - .incbin "baserom.gba", 0x10A51A, 0x000000D - -gUnk_0810A527:: @ 0810A527 - .incbin "baserom.gba", 0x10A527, 0x000000D - -gUnk_0810A534:: @ 0810A534 - .incbin "baserom.gba", 0x10A534, 0x000000D - -gUnk_0810A541:: @ 0810A541 - .incbin "baserom.gba", 0x10A541, 0x000000D - -gUnk_0810A54E:: @ 0810A54E - .incbin "baserom.gba", 0x10A54E, 0x000000D - -gUnk_0810A55B:: @ 0810A55B - .incbin "baserom.gba", 0x10A55B, 0x000000D - -gUnk_0810A568:: @ 0810A568 - .incbin "baserom.gba", 0x10A568, 0x000000D - -gUnk_0810A575:: @ 0810A575 - .incbin "baserom.gba", 0x10A575, 0x000000D - -gUnk_0810A582:: @ 0810A582 - .incbin "baserom.gba", 0x10A582, 0x000000D - -gUnk_0810A58F:: @ 0810A58F - .incbin "baserom.gba", 0x10A58F, 0x000000D - -gUnk_0810A59C:: @ 0810A59C - .incbin "baserom.gba", 0x10A59C, 0x000000D - -gUnk_0810A5A9:: @ 0810A5A9 - .incbin "baserom.gba", 0x10A5A9, 0x000000F - -gUnk_0810A5B8:: @ 0810A5B8 - .incbin "baserom.gba", 0x10A5B8, 0x00000B4 - -gUnk_0810A66C:: @ 0810A66C - .incbin "baserom.gba", 0x10A66C, 0x00000BC - -gUnk_0810A728:: @ 0810A728 - .incbin "baserom.gba", 0x10A728, 0x0000040 - -gUnk_0810A768:: @ 0810A768 - .incbin "baserom.gba", 0x10A768, 0x0000005 - -gUnk_0810A76D:: @ 0810A76D - .incbin "baserom.gba", 0x10A76D, 0x0000005 - -gUnk_0810A772:: @ 0810A772 - .incbin "baserom.gba", 0x10A772, 0x0000005 - -gUnk_0810A777:: @ 0810A777 - .incbin "baserom.gba", 0x10A777, 0x0000006 - -gUnk_0810A77D:: @ 0810A77D - .incbin "baserom.gba", 0x10A77D, 0x0000006 - -gUnk_0810A783:: @ 0810A783 - .incbin "baserom.gba", 0x10A783, 0x0000006 - -gUnk_0810A789:: @ 0810A789 - .incbin "baserom.gba", 0x10A789, 0x0000005 - -gUnk_0810A78E:: @ 0810A78E - .incbin "baserom.gba", 0x10A78E, 0x0000006 - -gUnk_0810A794:: @ 0810A794 - .incbin "baserom.gba", 0x10A794, 0x0000006 - -gUnk_0810A79A:: @ 0810A79A - .incbin "baserom.gba", 0x10A79A, 0x0000006 - -gUnk_0810A7A0:: @ 0810A7A0 - .incbin "baserom.gba", 0x10A7A0, 0x0000006 - -gUnk_0810A7A6:: @ 0810A7A6 - .incbin "baserom.gba", 0x10A7A6, 0x0000006 - -gUnk_0810A7AC:: @ 0810A7AC - .incbin "baserom.gba", 0x10A7AC, 0x0000007 - -gUnk_0810A7B3:: @ 0810A7B3 - .incbin "baserom.gba", 0x10A7B3, 0x0000006 - -gUnk_0810A7B9:: @ 0810A7B9 - .incbin "baserom.gba", 0x10A7B9, 0x0000006 - -gUnk_0810A7BF:: @ 0810A7BF - .incbin "baserom.gba", 0x10A7BF, 0x0000006 - -gUnk_0810A7C5:: @ 0810A7C5 - .incbin "baserom.gba", 0x10A7C5, 0x0000005 - -gUnk_0810A7CA:: @ 0810A7CA - .incbin "baserom.gba", 0x10A7CA, 0x0000006 - -gUnk_0810A7D0:: @ 0810A7D0 - .incbin "baserom.gba", 0x10A7D0, 0x0000006 - -gUnk_0810A7D6:: @ 0810A7D6 - .incbin "baserom.gba", 0x10A7D6, 0x0000005 - -gUnk_0810A7DB:: @ 0810A7DB - .incbin "baserom.gba", 0x10A7DB, 0x0000005 - -gUnk_0810A7E0:: @ 0810A7E0 - .incbin "baserom.gba", 0x10A7E0, 0x0000005 - -gUnk_0810A7E5:: @ 0810A7E5 - .incbin "baserom.gba", 0x10A7E5, 0x0000010 - -gUnk_0810A7F5:: @ 0810A7F5 - .incbin "baserom.gba", 0x10A7F5, 0x0000010 - -gUnk_0810A805:: @ 0810A805 - .incbin "baserom.gba", 0x10A805, 0x0000008 - -gUnk_0810A80D:: @ 0810A80D - .incbin "baserom.gba", 0x10A80D, 0x0000008 - -gUnk_0810A815:: @ 0810A815 - .incbin "baserom.gba", 0x10A815, 0x0000005 - -gUnk_0810A81A:: @ 0810A81A - .incbin "baserom.gba", 0x10A81A, 0x0000005 - -gUnk_0810A81F:: @ 0810A81F - .incbin "baserom.gba", 0x10A81F, 0x0000006 - -gUnk_0810A825:: @ 0810A825 - .incbin "baserom.gba", 0x10A825, 0x0000005 - -gUnk_0810A82A:: @ 0810A82A - .incbin "baserom.gba", 0x10A82A, 0x0000005 - -gUnk_0810A82F:: @ 0810A82F - .incbin "baserom.gba", 0x10A82F, 0x0000006 - -gUnk_0810A835:: @ 0810A835 - .incbin "baserom.gba", 0x10A835, 0x0000006 - -gUnk_0810A83B:: @ 0810A83B - .incbin "baserom.gba", 0x10A83B, 0x0000006 - -gUnk_0810A841:: @ 0810A841 - .incbin "baserom.gba", 0x10A841, 0x0000007 - -gUnk_0810A848:: @ 0810A848 - .incbin "baserom.gba", 0x10A848, 0x0000007 - -gUnk_0810A84F:: @ 0810A84F - .incbin "baserom.gba", 0x10A84F, 0x000000F - -gUnk_0810A85E:: @ 0810A85E - .incbin "baserom.gba", 0x10A85E, 0x000000F - -gUnk_0810A86D:: @ 0810A86D - .incbin "baserom.gba", 0x10A86D, 0x0000005 - -gUnk_0810A872:: @ 0810A872 - .incbin "baserom.gba", 0x10A872, 0x0000005 - -gUnk_0810A877:: @ 0810A877 - .incbin "baserom.gba", 0x10A877, 0x0000005 - -gUnk_0810A87C:: @ 0810A87C - .incbin "baserom.gba", 0x10A87C, 0x0000005 - -gUnk_0810A881:: @ 0810A881 - .incbin "baserom.gba", 0x10A881, 0x0000005 - -gUnk_0810A886:: @ 0810A886 - .incbin "baserom.gba", 0x10A886, 0x0000005 - -gUnk_0810A88B:: @ 0810A88B - .incbin "baserom.gba", 0x10A88B, 0x0000006 - -gUnk_0810A891:: @ 0810A891 - .incbin "baserom.gba", 0x10A891, 0x0000006 - -gUnk_0810A897:: @ 0810A897 - .incbin "baserom.gba", 0x10A897, 0x0000005 - -gUnk_0810A89C:: @ 0810A89C - .incbin "baserom.gba", 0x10A89C, 0x0000006 - -gUnk_0810A8A2:: @ 0810A8A2 - .incbin "baserom.gba", 0x10A8A2, 0x0000005 - -gUnk_0810A8A7:: @ 0810A8A7 - .incbin "baserom.gba", 0x10A8A7, 0x0000005 - -gUnk_0810A8AC:: @ 0810A8AC - .incbin "baserom.gba", 0x10A8AC, 0x0000005 - -gUnk_0810A8B1:: @ 0810A8B1 - .incbin "baserom.gba", 0x10A8B1, 0x0000005 - -gUnk_0810A8B6:: @ 0810A8B6 - .incbin "baserom.gba", 0x10A8B6, 0x0000005 - -gUnk_0810A8BB:: @ 0810A8BB - .incbin "baserom.gba", 0x10A8BB, 0x0000005 - -gUnk_0810A8C0:: @ 0810A8C0 - .incbin "baserom.gba", 0x10A8C0, 0x000000B - -gUnk_0810A8CB:: @ 0810A8CB - .incbin "baserom.gba", 0x10A8CB, 0x000000B - -gUnk_0810A8D6:: @ 0810A8D6 - .incbin "baserom.gba", 0x10A8D6, 0x0000005 - -gUnk_0810A8DB:: @ 0810A8DB - .incbin "baserom.gba", 0x10A8DB, 0x0000005 - -gUnk_0810A8E0:: @ 0810A8E0 - .incbin "baserom.gba", 0x10A8E0, 0x0000009 - -gUnk_0810A8E9:: @ 0810A8E9 - .incbin "baserom.gba", 0x10A8E9, 0x0000009 - -gUnk_0810A8F2:: @ 0810A8F2 - .incbin "baserom.gba", 0x10A8F2, 0x0000007 - -gUnk_0810A8F9:: @ 0810A8F9 - .incbin "baserom.gba", 0x10A8F9, 0x0000007 - -gUnk_0810A900:: @ 0810A900 - .incbin "baserom.gba", 0x10A900, 0x0000005 - -gUnk_0810A905:: @ 0810A905 - .incbin "baserom.gba", 0x10A905, 0x0000006 - -gUnk_0810A90B:: @ 0810A90B - .incbin "baserom.gba", 0x10A90B, 0x0000006 - -gUnk_0810A911:: @ 0810A911 - .incbin "baserom.gba", 0x10A911, 0x0000007 - -gUnk_0810A918:: @ 0810A918 - .incbin "baserom.gba", 0x10A918, 0x000010C - -gUnk_0810AA24:: @ 0810AA24 - .incbin "baserom.gba", 0x10AA24, 0x000000C - -gUnk_0810AA30:: @ 0810AA30 - .incbin "baserom.gba", 0x10AA30, 0x0000040 - -gUnk_0810AA70:: @ 0810AA70 - .incbin "baserom.gba", 0x10AA70, 0x0000020 - -gUnk_0810AA90:: @ 0810AA90 - .incbin "baserom.gba", 0x10AA90, 0x0000029 - -gUnk_0810AAB9:: @ 0810AAB9 - .incbin "baserom.gba", 0x10AAB9, 0x0000029 - -gUnk_0810AAE2:: @ 0810AAE2 - .incbin "baserom.gba", 0x10AAE2, 0x0000029 - -gUnk_0810AB0B:: @ 0810AB0B - .incbin "baserom.gba", 0x10AB0B, 0x0000029 - -gUnk_0810AB34:: @ 0810AB34 - .incbin "baserom.gba", 0x10AB34, 0x0000031 - -gUnk_0810AB65:: @ 0810AB65 - .incbin "baserom.gba", 0x10AB65, 0x0000031 - -gUnk_0810AB96:: @ 0810AB96 - .incbin "baserom.gba", 0x10AB96, 0x0000031 - -gUnk_0810ABC7:: @ 0810ABC7 - .incbin "baserom.gba", 0x10ABC7, 0x0000031 - -gUnk_0810ABF8:: @ 0810ABF8 - .incbin "baserom.gba", 0x10ABF8, 0x0000024 - -gUnk_0810AC1C:: @ 0810AC1C - .incbin "baserom.gba", 0x10AC1C, 0x0000010 - -gUnk_0810AC2C:: @ 0810AC2C - .incbin "baserom.gba", 0x10AC2C, 0x0000020 - -gUnk_0810AC4C:: @ 0810AC4C - .incbin "baserom.gba", 0x10AC4C, 0x0000008 - -gUnk_0810AC54:: @ 0810AC54 - .incbin "baserom.gba", 0x10AC54, 0x0000009 - -gUnk_0810AC5D:: @ 0810AC5D - .incbin "baserom.gba", 0x10AC5D, 0x0000013 - -gUnk_0810AC70:: @ 0810AC70 - .incbin "baserom.gba", 0x10AC70, 0x0000008 - -gUnk_0810AC78:: @ 0810AC78 - .incbin "baserom.gba", 0x10AC78, 0x0000009 - -gUnk_0810AC81:: @ 0810AC81 - .incbin "baserom.gba", 0x10AC81, 0x0000019 - -gUnk_0810AC9A:: @ 0810AC9A - .incbin "baserom.gba", 0x10AC9A, 0x0000019 - -gUnk_0810ACB3:: @ 0810ACB3 - .incbin "baserom.gba", 0x10ACB3, 0x0000019 - -gUnk_0810ACCC:: @ 0810ACCC - .incbin "baserom.gba", 0x10ACCC, 0x0000021 - -gUnk_0810ACED:: @ 0810ACED - .incbin "baserom.gba", 0x10ACED, 0x0000021 - -gUnk_0810AD0E:: @ 0810AD0E - .incbin "baserom.gba", 0x10AD0E, 0x0000021 - -gUnk_0810AD2F:: @ 0810AD2F - .incbin "baserom.gba", 0x10AD2F, 0x0000021 - -gUnk_0810AD50:: @ 0810AD50 - .incbin "baserom.gba", 0x10AD50, 0x0000021 - -gUnk_0810AD71:: @ 0810AD71 - .incbin "baserom.gba", 0x10AD71, 0x0000021 - -gUnk_0810AD92:: @ 0810AD92 - .incbin "baserom.gba", 0x10AD92, 0x000001B - -gUnk_0810ADAD:: @ 0810ADAD - .incbin "baserom.gba", 0x10ADAD, 0x0000006 - -gUnk_0810ADB3:: @ 0810ADB3 - .incbin "baserom.gba", 0x10ADB3, 0x0000021 - -gUnk_0810ADD4:: @ 0810ADD4 - .incbin "baserom.gba", 0x10ADD4, 0x0000021 - -gUnk_0810ADF5:: @ 0810ADF5 - .incbin "baserom.gba", 0x10ADF5, 0x0000021 - -gUnk_0810AE16:: @ 0810AE16 - .incbin "baserom.gba", 0x10AE16, 0x0000021 - -gUnk_0810AE37:: @ 0810AE37 - .incbin "baserom.gba", 0x10AE37, 0x0000021 - -gUnk_0810AE58:: @ 0810AE58 - .incbin "baserom.gba", 0x10AE58, 0x0000024 - -gUnk_0810AE7C:: @ 0810AE7C - .incbin "baserom.gba", 0x10AE7C, 0x0000021 - -gUnk_0810AE9D:: @ 0810AE9D - .incbin "baserom.gba", 0x10AE9D, 0x0000003 - -gUnk_0810AEA0:: @ 0810AEA0 - .incbin "baserom.gba", 0x10AEA0, 0x0000024 - -gUnk_0810AEC4:: @ 0810AEC4 - .incbin "baserom.gba", 0x10AEC4, 0x0000024 - -gUnk_0810AEE8:: @ 0810AEE8 - .incbin "baserom.gba", 0x10AEE8, 0x000001F - -gUnk_0810AF07:: @ 0810AF07 - .incbin "baserom.gba", 0x10AF07, 0x0000012 - -gUnk_0810AF19:: @ 0810AF19 - .incbin "baserom.gba", 0x10AF19, 0x000002B - -gUnk_0810AF44:: @ 0810AF44 - .incbin "baserom.gba", 0x10AF44, 0x0000006 - -gUnk_0810AF4A:: @ 0810AF4A - .incbin "baserom.gba", 0x10AF4A, 0x0000031 - -gUnk_0810AF7B:: @ 0810AF7B - .incbin "baserom.gba", 0x10AF7B, 0x0000031 - -gUnk_0810AFAC:: @ 0810AFAC - .incbin "baserom.gba", 0x10AFAC, 0x0000021 - -gUnk_0810AFCD:: @ 0810AFCD - .incbin "baserom.gba", 0x10AFCD, 0x0000021 - -gUnk_0810AFEE:: @ 0810AFEE - .incbin "baserom.gba", 0x10AFEE, 0x000001A - -gUnk_0810B008:: @ 0810B008 - .incbin "baserom.gba", 0x10B008, 0x0000007 - -gUnk_0810B00F:: @ 0810B00F - .incbin "baserom.gba", 0x10B00F, 0x0000021 - -gUnk_0810B030:: @ 0810B030 - .incbin "baserom.gba", 0x10B030, 0x000000C - -gUnk_0810B03C:: @ 0810B03C - .incbin "baserom.gba", 0x10B03C, 0x000000C - -gUnk_0810B048:: @ 0810B048 - .incbin "baserom.gba", 0x10B048, 0x000000C - -gUnk_0810B054:: @ 0810B054 - .incbin "baserom.gba", 0x10B054, 0x000000C - -gUnk_0810B060:: @ 0810B060 - .incbin "baserom.gba", 0x10B060, 0x0000011 - -gUnk_0810B071:: @ 0810B071 - .incbin "baserom.gba", 0x10B071, 0x0000011 - -gUnk_0810B082:: @ 0810B082 - .incbin "baserom.gba", 0x10B082, 0x0000011 - -gUnk_0810B093:: @ 0810B093 - .incbin "baserom.gba", 0x10B093, 0x0000011 - -gUnk_0810B0A4:: @ 0810B0A4 - .incbin "baserom.gba", 0x10B0A4, 0x0000011 - -gUnk_0810B0B5:: @ 0810B0B5 - .incbin "baserom.gba", 0x10B0B5, 0x0000011 - -gUnk_0810B0C6:: @ 0810B0C6 - .incbin "baserom.gba", 0x10B0C6, 0x0000011 - -gUnk_0810B0D7:: @ 0810B0D7 - .incbin "baserom.gba", 0x10B0D7, 0x0000011 - -gUnk_0810B0E8:: @ 0810B0E8 - .incbin "baserom.gba", 0x10B0E8, 0x0000011 - -gUnk_0810B0F9:: @ 0810B0F9 - .incbin "baserom.gba", 0x10B0F9, 0x0000011 - -gUnk_0810B10A:: @ 0810B10A - .incbin "baserom.gba", 0x10B10A, 0x0000011 - -gUnk_0810B11B:: @ 0810B11B - .incbin "baserom.gba", 0x10B11B, 0x0000011 - -gUnk_0810B12C:: @ 0810B12C - .incbin "baserom.gba", 0x10B12C, 0x0000011 - -gUnk_0810B13D:: @ 0810B13D - .incbin "baserom.gba", 0x10B13D, 0x0000011 - -gUnk_0810B14E:: @ 0810B14E - .incbin "baserom.gba", 0x10B14E, 0x0000011 - -gUnk_0810B15F:: @ 0810B15F - .incbin "baserom.gba", 0x10B15F, 0x0000011 - -gUnk_0810B170:: @ 0810B170 - .incbin "baserom.gba", 0x10B170, 0x000001C - -gUnk_0810B18C:: @ 0810B18C - .incbin "baserom.gba", 0x10B18C, 0x000001C - -gUnk_0810B1A8:: @ 0810B1A8 - .incbin "baserom.gba", 0x10B1A8, 0x0000009 - -gUnk_0810B1B1:: @ 0810B1B1 - .incbin "baserom.gba", 0x10B1B1, 0x0000013 - -gUnk_0810B1C4:: @ 0810B1C4 - .incbin "baserom.gba", 0x10B1C4, 0x000001C - -gUnk_0810B1E0:: @ 0810B1E0 - .incbin "baserom.gba", 0x10B1E0, 0x000001C - -gUnk_0810B1FC:: @ 0810B1FC - .incbin "baserom.gba", 0x10B1FC, 0x000001C - -gUnk_0810B218:: @ 0810B218 - .incbin "baserom.gba", 0x10B218, 0x000001C - -gUnk_0810B234:: @ 0810B234 - .incbin "baserom.gba", 0x10B234, 0x000001C - -gUnk_0810B250:: @ 0810B250 - .incbin "baserom.gba", 0x10B250, 0x0000030 - -gUnk_0810B280:: @ 0810B280 - .incbin "baserom.gba", 0x10B280, 0x0000030 - -gUnk_0810B2B0:: @ 0810B2B0 - .incbin "baserom.gba", 0x10B2B0, 0x0000030 - -gUnk_0810B2E0:: @ 0810B2E0 - .incbin "baserom.gba", 0x10B2E0, 0x0000030 - -gUnk_0810B310:: @ 0810B310 - .incbin "baserom.gba", 0x10B310, 0x0000030 - -gUnk_0810B340:: @ 0810B340 - .incbin "baserom.gba", 0x10B340, 0x0000030 - -gUnk_0810B370:: @ 0810B370 - .incbin "baserom.gba", 0x10B370, 0x0000030 - -gUnk_0810B3A0:: @ 0810B3A0 - .incbin "baserom.gba", 0x10B3A0, 0x0000022 - -gUnk_0810B3C2:: @ 0810B3C2 - .incbin "baserom.gba", 0x10B3C2, 0x000000E - -gUnk_0810B3D0:: @ 0810B3D0 - .incbin "baserom.gba", 0x10B3D0, 0x0000028 - -gUnk_0810B3F8:: @ 0810B3F8 - .incbin "baserom.gba", 0x10B3F8, 0x000000F - -gUnk_0810B407:: @ 0810B407 - .incbin "baserom.gba", 0x10B407, 0x0000019 - -gUnk_0810B420:: @ 0810B420 - .incbin "baserom.gba", 0x10B420, 0x0000028 - -gUnk_0810B448:: @ 0810B448 - .incbin "baserom.gba", 0x10B448, 0x0000028 - -gUnk_0810B470:: @ 0810B470 - .incbin "baserom.gba", 0x10B470, 0x0000019 - -gUnk_0810B489:: @ 0810B489 - .incbin "baserom.gba", 0x10B489, 0x0000005 - -gUnk_0810B48E:: @ 0810B48E - .incbin "baserom.gba", 0x10B48E, 0x0000019 - -gUnk_0810B4A7:: @ 0810B4A7 - .incbin "baserom.gba", 0x10B4A7, 0x0000035 - -gUnk_0810B4DC:: @ 0810B4DC - .incbin "baserom.gba", 0x10B4DC, 0x0000010 - -gUnk_0810B4EC:: @ 0810B4EC - .incbin "baserom.gba", 0x10B4EC, 0x0000164 - -gUnk_0810B650:: @ 0810B650 - .incbin "baserom.gba", 0x10B650, 0x0000002 - -gUnk_0810B652:: @ 0810B652 - .incbin "baserom.gba", 0x10B652, 0x0000002 - -gUnk_0810B654:: @ 0810B654 - .incbin "baserom.gba", 0x10B654, 0x0000002 - -gUnk_0810B656:: @ 0810B656 - .incbin "baserom.gba", 0x10B656, 0x0000002 - -gUnk_0810B658:: @ 0810B658 - .incbin "baserom.gba", 0x10B658, 0x0000002 - -gUnk_0810B65A:: @ 0810B65A - .incbin "baserom.gba", 0x10B65A, 0x0000002 - -gUnk_0810B65C:: @ 0810B65C - .incbin "baserom.gba", 0x10B65C, 0x0000002 - -gUnk_0810B65E:: @ 0810B65E - .incbin "baserom.gba", 0x10B65E, 0x0000002 - -gUnk_0810B660:: @ 0810B660 - .incbin "baserom.gba", 0x10B660, 0x0000020 - -gUnk_0810B680:: @ 0810B680 - .incbin "baserom.gba", 0x10B680, 0x000002A - -gUnk_0810B6AA:: @ 0810B6AA - .incbin "baserom.gba", 0x10B6AA, 0x0000009 - -gUnk_0810B6B3:: @ 0810B6B3 - .incbin "baserom.gba", 0x10B6B3, 0x0000021 - -gUnk_0810B6D4:: @ 0810B6D4 - .incbin "baserom.gba", 0x10B6D4, 0x000000C - -gUnk_0810B6E0:: @ 0810B6E0 - .incbin "baserom.gba", 0x10B6E0, 0x000000C - -gUnk_0810B6EC:: @ 0810B6EC - .incbin "baserom.gba", 0x10B6EC, 0x0000054 - -gUnk_0810B740:: @ 0810B740 - .incbin "baserom.gba", 0x10B740, 0x0000008 - -gUnk_0810B748:: @ 0810B748 - .incbin "baserom.gba", 0x10B748, 0x0000002 - -gUnk_0810B74A:: @ 0810B74A - .incbin "baserom.gba", 0x10B74A, 0x0000018 - -gUnk_0810B762:: @ 0810B762 - .incbin "baserom.gba", 0x10B762, 0x0000012 - -gUnk_0810B774:: @ 0810B774 - .incbin "baserom.gba", 0x10B774, 0x0000008 - -gUnk_0810B77C:: @ 0810B77C - .incbin "baserom.gba", 0x10B77C, 0x0000010 - -gUnk_0810B78C:: @ 0810B78C - .incbin "baserom.gba", 0x10B78C, 0x0000004 - -gUnk_0810B790:: @ 0810B790 - .incbin "baserom.gba", 0x10B790, 0x000001C - -gUnk_0810B7AC:: @ 0810B7AC - .incbin "baserom.gba", 0x10B7AC, 0x000000E - -gUnk_0810B7BA:: @ 0810B7BA - .incbin "baserom.gba", 0x10B7BA, 0x0000006 - -gUnk_0810B7C0:: @ 0810B7C0 - .incbin "baserom.gba", 0x10B7C0, 0x000012B - -gUnk_0810B8EB:: @ 0810B8EB - .incbin "baserom.gba", 0x10B8EB, 0x0000037 - -gUnk_0810B922:: @ 0810B922 - .incbin "baserom.gba", 0x10B922, 0x0000049 - -gUnk_0810B96B:: @ 0810B96B - .incbin "baserom.gba", 0x10B96B, 0x0000065 - -gUnk_0810B9D0:: @ 0810B9D0 - .incbin "baserom.gba", 0x10B9D0, 0x0000031 - -gUnk_0810BA01:: @ 0810BA01 - .incbin "baserom.gba", 0x10BA01, 0x0000117 - -gUnk_0810BB18:: @ 0810BB18 - .incbin "baserom.gba", 0x10BB18, 0x0000059 - -gUnk_0810BB71:: @ 0810BB71 - .incbin "baserom.gba", 0x10BB71, 0x000005B - -gUnk_0810BBCC:: @ 0810BBCC - .incbin "baserom.gba", 0x10BBCC, 0x000009C - -gUnk_0810BC68:: @ 0810BC68 - .incbin "baserom.gba", 0x10BC68, 0x0000098 - -gUnk_0810BD00:: @ 0810BD00 - .incbin "baserom.gba", 0x10BD00, 0x0000005 - -gUnk_0810BD05:: @ 0810BD05 - .incbin "baserom.gba", 0x10BD05, 0x0000005 - -gUnk_0810BD0A:: @ 0810BD0A - .incbin "baserom.gba", 0x10BD0A, 0x0000005 - -gUnk_0810BD0F:: @ 0810BD0F - .incbin "baserom.gba", 0x10BD0F, 0x0000005 - -gUnk_0810BD14:: @ 0810BD14 - .incbin "baserom.gba", 0x10BD14, 0x0000011 - -gUnk_0810BD25:: @ 0810BD25 - .incbin "baserom.gba", 0x10BD25, 0x0000011 - -gUnk_0810BD36:: @ 0810BD36 - .incbin "baserom.gba", 0x10BD36, 0x0000011 - -gUnk_0810BD47:: @ 0810BD47 - .incbin "baserom.gba", 0x10BD47, 0x0000011 - -gUnk_0810BD58:: @ 0810BD58 - .incbin "baserom.gba", 0x10BD58, 0x0000016 - -gUnk_0810BD6E:: @ 0810BD6E - .incbin "baserom.gba", 0x10BD6E, 0x000000E - -gUnk_0810BD7C:: @ 0810BD7C - .incbin "baserom.gba", 0x10BD7C, 0x0000010 - -gUnk_0810BD8C:: @ 0810BD8C - .incbin "baserom.gba", 0x10BD8C, 0x0000010 - -gUnk_0810BD9C:: @ 0810BD9C - .incbin "baserom.gba", 0x10BD9C, 0x0000010 - -gUnk_0810BDAC:: @ 0810BDAC - .incbin "baserom.gba", 0x10BDAC, 0x000000C - -gUnk_0810BDB8:: @ 0810BDB8 - .incbin "baserom.gba", 0x10BDB8, 0x000000C - -gUnk_0810BDC4:: @ 0810BDC4 - .incbin "baserom.gba", 0x10BDC4, 0x0000024 - -gUnk_0810BDE8:: @ 0810BDE8 - .incbin "baserom.gba", 0x10BDE8, 0x0000024 - -gUnk_0810BE0C:: @ 0810BE0C - .incbin "baserom.gba", 0x10BE0C, 0x0000003 - -gUnk_0810BE0F:: @ 0810BE0F - .incbin "baserom.gba", 0x10BE0F, 0x0000001 - -gUnk_0810BE10:: @ 0810BE10 - .incbin "baserom.gba", 0x10BE10, 0x0000031 - -gUnk_0810BE41:: @ 0810BE41 - .incbin "baserom.gba", 0x10BE41, 0x00000C2 - -gUnk_0810BF03:: @ 0810BF03 - .incbin "baserom.gba", 0x10BF03, 0x0000104 - -gUnk_0810C007:: @ 0810C007 - .incbin "baserom.gba", 0x10C007, 0x0000008 - -gUnk_0810C00F:: @ 0810C00F - .incbin "baserom.gba", 0x10C00F, 0x0000091 - -gUnk_0810C0A0:: @ 0810C0A0 - .incbin "baserom.gba", 0x10C0A0, 0x0000024 - -gUnk_0810C0C4:: @ 0810C0C4 - .incbin "baserom.gba", 0x10C0C4, 0x0000005 - -gUnk_0810C0C9:: @ 0810C0C9 - .incbin "baserom.gba", 0x10C0C9, 0x0000005 - -gUnk_0810C0CE:: @ 0810C0CE - .incbin "baserom.gba", 0x10C0CE, 0x0000005 - -gUnk_0810C0D3:: @ 0810C0D3 - .incbin "baserom.gba", 0x10C0D3, 0x0000005 - -gUnk_0810C0D8:: @ 0810C0D8 - .incbin "baserom.gba", 0x10C0D8, 0x0000011 - -gUnk_0810C0E9:: @ 0810C0E9 - .incbin "baserom.gba", 0x10C0E9, 0x0000011 - -gUnk_0810C0FA:: @ 0810C0FA - .incbin "baserom.gba", 0x10C0FA, 0x0000011 - -gUnk_0810C10B:: @ 0810C10B - .incbin "baserom.gba", 0x10C10B, 0x0000011 - -gUnk_0810C11C:: @ 0810C11C - .incbin "baserom.gba", 0x10C11C, 0x0000019 - -gUnk_0810C135:: @ 0810C135 - .incbin "baserom.gba", 0x10C135, 0x0000019 - -gUnk_0810C14E:: @ 0810C14E - .incbin "baserom.gba", 0x10C14E, 0x0000019 - -gUnk_0810C167:: @ 0810C167 - .incbin "baserom.gba", 0x10C167, 0x0000019 - -gUnk_0810C180:: @ 0810C180 - .incbin "baserom.gba", 0x10C180, 0x0000019 - -gUnk_0810C199:: @ 0810C199 - .incbin "baserom.gba", 0x10C199, 0x000000D - -gUnk_0810C1A6:: @ 0810C1A6 - .incbin "baserom.gba", 0x10C1A6, 0x0000018 - -gUnk_0810C1BE:: @ 0810C1BE - .incbin "baserom.gba", 0x10C1BE, 0x000000F - -gUnk_0810C1CD:: @ 0810C1CD - .incbin "baserom.gba", 0x10C1CD, 0x000000A - -gUnk_0810C1D7:: @ 0810C1D7 - .incbin "baserom.gba", 0x10C1D7, 0x0000005 - -gUnk_0810C1DC:: @ 0810C1DC - .incbin "baserom.gba", 0x10C1DC, 0x0000008 - -gUnk_0810C1E4:: @ 0810C1E4 - .incbin "baserom.gba", 0x10C1E4, 0x0000021 - -gUnk_0810C205:: @ 0810C205 - .incbin "baserom.gba", 0x10C205, 0x0000001 - -gUnk_0810C206:: @ 0810C206 - .incbin "baserom.gba", 0x10C206, 0x0000062 - -gUnk_0810C268:: @ 0810C268 - .incbin "baserom.gba", 0x10C268, 0x0000008 - -gUnk_0810C270:: @ 0810C270 - .incbin "baserom.gba", 0x10C270, 0x0000005 - -gUnk_0810C275:: @ 0810C275 - .incbin "baserom.gba", 0x10C275, 0x0000005 - -gUnk_0810C27A:: @ 0810C27A - .incbin "baserom.gba", 0x10C27A, 0x0000016 - -gUnk_0810C290:: @ 0810C290 - .incbin "baserom.gba", 0x10C290, 0x0000010 - -gUnk_0810C2A0:: @ 0810C2A0 - .incbin "baserom.gba", 0x10C2A0, 0x0000005 - -gUnk_0810C2A5:: @ 0810C2A5 - .incbin "baserom.gba", 0x10C2A5, 0x000000D - -gUnk_0810C2B2:: @ 0810C2B2 - .incbin "baserom.gba", 0x10C2B2, 0x000001A - -gStampBehaviors1:: @ 0810C2CC - .incbin "baserom.gba", 0x10C2CC, 0x0000010 - -gStampBehaviors2:: @ 0810C2DC - .incbin "baserom.gba", 0x10C2DC, 0x0000008 - -gUnk_0810C2E4:: @ 0810C2E4 - .incbin "baserom.gba", 0x10C2E4, 0x0000010 - -gUnk_0810C2F4:: @ 0810C2F4 - .incbin "baserom.gba", 0x10C2F4, 0x0000031 - -gUnk_0810C325:: @ 0810C325 - .incbin "baserom.gba", 0x10C325, 0x0000007 - -gUnk_0810C32C:: @ 0810C32C - .incbin "baserom.gba", 0x10C32C, 0x0000020 - -gUnk_0810C34C:: @ 0810C34C - .incbin "baserom.gba", 0x10C34C, 0x0000014 - -gUnk_0810C360:: @ 0810C360 - .incbin "baserom.gba", 0x10C360, 0x0000005 - -gUnk_0810C365:: @ 0810C365 - .incbin "baserom.gba", 0x10C365, 0x000001D - -gUnk_0810C382:: @ 0810C382 - .incbin "baserom.gba", 0x10C382, 0x000000E - -gUnk_0810C390:: @ 0810C390 - .incbin "baserom.gba", 0x10C390, 0x000000A - -gUnk_0810C39A:: @ 0810C39A - .incbin "baserom.gba", 0x10C39A, 0x0000026 - -gUnk_0810C3C0:: @ 0810C3C0 - .incbin "baserom.gba", 0x10C3C0, 0x0000008 - -gUnk_0810C3C8:: @ 0810C3C8 - .incbin "baserom.gba", 0x10C3C8, 0x0000019 - -gUnk_0810C3E1:: @ 0810C3E1 - .incbin "baserom.gba", 0x10C3E1, 0x0000011 - -gUnk_0810C3F2:: @ 0810C3F2 - .incbin "baserom.gba", 0x10C3F2, 0x0000011 - -gUnk_0810C403:: @ 0810C403 - .incbin "baserom.gba", 0x10C403, 0x0000011 - -gUnk_0810C414:: @ 0810C414 - .incbin "baserom.gba", 0x10C414, 0x0000001 - -gUnk_0810C415:: @ 0810C415 - .incbin "baserom.gba", 0x10C415, 0x0000013 - -gUnk_0810C428:: @ 0810C428 - .incbin "baserom.gba", 0x10C428, 0x0000008 - -gUnk_0810C430:: @ 0810C430 - .incbin "baserom.gba", 0x10C430, 0x0000005 - -gUnk_0810C435:: @ 0810C435 - .incbin "baserom.gba", 0x10C435, 0x0000008 - -gUnk_0810C43D:: @ 0810C43D - .incbin "baserom.gba", 0x10C43D, 0x0000008 - -gUnk_0810C445:: @ 0810C445 - .incbin "baserom.gba", 0x10C445, 0x0000005 - -gUnk_0810C44A:: @ 0810C44A - .incbin "baserom.gba", 0x10C44A, 0x000001E - -gUnk_0810C468:: @ 0810C468 - .incbin "baserom.gba", 0x10C468, 0x0000024 - -gUnk_0810C48C:: @ 0810C48C - .incbin "baserom.gba", 0x10C48C, 0x000000C - -gUnk_0810C498:: @ 0810C498 - .incbin "baserom.gba", 0x10C498, 0x0000008 - -gUnk_0810C4A0:: @ 0810C4A0 - .incbin "baserom.gba", 0x10C4A0, 0x0000005 - -gUnk_0810C4A5:: @ 0810C4A5 - .incbin "baserom.gba", 0x10C4A5, 0x0000005 - -gUnk_0810C4AA:: @ 0810C4AA - .incbin "baserom.gba", 0x10C4AA, 0x0000005 - -gUnk_0810C4AF:: @ 0810C4AF - .incbin "baserom.gba", 0x10C4AF, 0x0000005 - -gUnk_0810C4B4:: @ 0810C4B4 - .incbin "baserom.gba", 0x10C4B4, 0x0000015 - -gUnk_0810C4C9:: @ 0810C4C9 - .incbin "baserom.gba", 0x10C4C9, 0x0000015 - -gUnk_0810C4DE:: @ 0810C4DE - .incbin "baserom.gba", 0x10C4DE, 0x00000D1 - -gUnk_0810C5AF:: @ 0810C5AF - .incbin "baserom.gba", 0x10C5AF, 0x000000C - -gUnk_0810C5BB:: @ 0810C5BB - .incbin "baserom.gba", 0x10C5BB, 0x0000008 - -gUnk_0810C5C3:: @ 0810C5C3 - .incbin "baserom.gba", 0x10C5C3, 0x00000AB - -gUnk_0810C66E:: @ 0810C66E - .incbin "baserom.gba", 0x10C66E, 0x000001E - -gUnk_0810C68C:: @ 0810C68C - .incbin "baserom.gba", 0x10C68C, 0x000000C - -gUnk_0810C698:: @ 0810C698 - .incbin "baserom.gba", 0x10C698, 0x000004D - -gUnk_0810C6E5:: @ 0810C6E5 - .incbin "baserom.gba", 0x10C6E5, 0x000008D - -gUnk_0810C772:: @ 0810C772 - .incbin "baserom.gba", 0x10C772, 0x0000003 - -gUnk_0810C775:: @ 0810C775 - .incbin "baserom.gba", 0x10C775, 0x000000A - -gUnk_0810C77F:: @ 0810C77F - .incbin "baserom.gba", 0x10C77F, 0x000002D - -gUnk_0810C7AC:: @ 0810C7AC - .incbin "baserom.gba", 0x10C7AC, 0x0000008 - -gUnk_0810C7B4:: @ 0810C7B4 - .incbin "baserom.gba", 0x10C7B4, 0x000000A - -gUnk_0810C7BE:: @ 0810C7BE - .incbin "baserom.gba", 0x10C7BE, 0x000000B - -gUnk_0810C7C9:: @ 0810C7C9 - .incbin "baserom.gba", 0x10C7C9, 0x000000B - -gUnk_0810C7D4:: @ 0810C7D4 - .incbin "baserom.gba", 0x10C7D4, 0x0000030 - -gMailboxBehaviors:: @ 0810C804 - .incbin "baserom.gba", 0x10C804, 0x0000010 - -gUnk_0810C814:: @ 0810C814 - .incbin "baserom.gba", 0x10C814, 0x0000005 - -gUnk_0810C819:: @ 0810C819 - .incbin "baserom.gba", 0x10C819, 0x0000029 - -gUnk_0810C842:: @ 0810C842 - .incbin "baserom.gba", 0x10C842, 0x0000008 - -gUnk_0810C84A:: @ 0810C84A - .incbin "baserom.gba", 0x10C84A, 0x000001E - -gUnk_0810C868:: @ 0810C868 - .incbin "baserom.gba", 0x10C868, 0x0000024 - -gUnk_0810C88C:: @ 0810C88C - .incbin "baserom.gba", 0x10C88C, 0x0000008 - -gUnk_0810C894:: @ 0810C894 - .incbin "baserom.gba", 0x10C894, 0x0000008 - -gUnk_0810C89C:: @ 0810C89C - .incbin "baserom.gba", 0x10C89C, 0x0000011 - -gUnk_0810C8AD:: @ 0810C8AD - .incbin "baserom.gba", 0x10C8AD, 0x0000027 - -gUnk_0810C8D4:: @ 0810C8D4 - .incbin "baserom.gba", 0x10C8D4, 0x000000C - -gUnk_0810C8E0:: @ 0810C8E0 - .incbin "baserom.gba", 0x10C8E0, 0x0000010 - -gUnk_0810C8F0:: @ 0810C8F0 - .incbin "baserom.gba", 0x10C8F0, 0x0000078 - -gUnk_0810C968:: @ 0810C968 - .incbin "baserom.gba", 0x10C968, 0x000003D - -gUnk_0810C9A5:: @ 0810C9A5 - .incbin "baserom.gba", 0x10C9A5, 0x0000005 - -gUnk_0810C9AA:: @ 0810C9AA - .incbin "baserom.gba", 0x10C9AA, 0x0000005 - -gUnk_0810C9AF:: @ 0810C9AF - .incbin "baserom.gba", 0x10C9AF, 0x0000005 - -gUnk_0810C9B4:: @ 0810C9B4 - .incbin "baserom.gba", 0x10C9B4, 0x000003D - -gUnk_0810C9F1:: @ 0810C9F1 - .incbin "baserom.gba", 0x10C9F1, 0x000003D - -gUnk_0810CA2E:: @ 0810CA2E - .incbin "baserom.gba", 0x10CA2E, 0x000003E - -gUnk_0810CA6C:: @ 0810CA6C - .incbin "baserom.gba", 0x10CA6C, 0x0000034 - -gUnk_0810CAA0:: @ 0810CAA0 - .incbin "baserom.gba", 0x10CAA0, 0x000000C - -gUnk_0810CAAC:: @ 0810CAAC - .incbin "baserom.gba", 0x10CAAC, 0x0000050 - -gUnk_0810CAFC:: @ 0810CAFC - .incbin "baserom.gba", 0x10CAFC, 0x0000049 - -gUnk_0810CB45:: @ 0810CB45 - .incbin "baserom.gba", 0x10CB45, 0x0000005 - -gUnk_0810CB4A:: @ 0810CB4A - .incbin "baserom.gba", 0x10CB4A, 0x0000005 - -gUnk_0810CB4F:: @ 0810CB4F - .incbin "baserom.gba", 0x10CB4F, 0x0000005 - -gUnk_0810CB54:: @ 0810CB54 - .incbin "baserom.gba", 0x10CB54, 0x0000018 - -gUnk_0810CB6C:: @ 0810CB6C - .incbin "baserom.gba", 0x10CB6C, 0x000000C - -gUnk_0810CB78:: @ 0810CB78 - .incbin "baserom.gba", 0x10CB78, 0x0000048 - -gUnk_0810CBC0:: @ 0810CBC0 - .incbin "baserom.gba", 0x10CBC0, 0x000000D - -gUnk_0810CBCD:: @ 0810CBCD - .incbin "baserom.gba", 0x10CBCD, 0x000000B - -gUnk_0810CBD8:: @ 0810CBD8 - .incbin "baserom.gba", 0x10CBD8, 0x000000C - -gUnk_0810CBE4:: @ 0810CBE4 - .incbin "baserom.gba", 0x10CBE4, 0x0000020 - -gUnk_0810CC04:: @ 0810CC04 - .incbin "baserom.gba", 0x10CC04, 0x0000004 - -gUnk_0810CC08:: @ 0810CC08 - .incbin "baserom.gba", 0x10CC08, 0x0000180 - -gUnk_0810CD88:: @ 0810CD88 - .incbin "baserom.gba", 0x10CD88, 0x0000018 - -gUnk_0810CDA0:: @ 0810CDA0 - .incbin "baserom.gba", 0x10CDA0, 0x0000011 - -gUnk_0810CDB1:: @ 0810CDB1 - .incbin "baserom.gba", 0x10CDB1, 0x0000011 - -gUnk_0810CDC2:: @ 0810CDC2 - .incbin "baserom.gba", 0x10CDC2, 0x0000012 - -gUnk_0810CDD4:: @ 0810CDD4 - .incbin "baserom.gba", 0x10CDD4, 0x0000024 - -gUnk_0810CDF8:: @ 0810CDF8 - .incbin "baserom.gba", 0x10CDF8, 0x000000C - -gUnk_0810CE04:: @ 0810CE04 - .incbin "baserom.gba", 0x10CE04, 0x0000050 - -gUnk_0810CE54:: @ 0810CE54 - .incbin "baserom.gba", 0x10CE54, 0x0000013 - -gUnk_0810CE67:: @ 0810CE67 - .incbin "baserom.gba", 0x10CE67, 0x000003A - -gUnk_0810CEA1:: @ 0810CEA1 - .incbin "baserom.gba", 0x10CEA1, 0x000004D - -gUnk_0810CEEE:: @ 0810CEEE - .incbin "baserom.gba", 0x10CEEE, 0x0000021 - -gUnk_0810CF0F:: @ 0810CF0F - .incbin "baserom.gba", 0x10CF0F, 0x0000005 - -gUnk_0810CF14:: @ 0810CF14 - .incbin "baserom.gba", 0x10CF14, 0x0000005 - -gUnk_0810CF19:: @ 0810CF19 - .incbin "baserom.gba", 0x10CF19, 0x0000007 - -gUnk_0810CF20:: @ 0810CF20 - .incbin "baserom.gba", 0x10CF20, 0x000002A - -gUnk_0810CF4A:: @ 0810CF4A - .incbin "baserom.gba", 0x10CF4A, 0x0000002 - -gUnk_0810CF4C:: @ 0810CF4C - .incbin "baserom.gba", 0x10CF4C, 0x000002B - -gUnk_0810CF77:: @ 0810CF77 - .incbin "baserom.gba", 0x10CF77, 0x0000010 - -gUnk_0810CF87:: @ 0810CF87 - .incbin "baserom.gba", 0x10CF87, 0x0000057 - -gUnk_0810CFDE:: @ 0810CFDE - .incbin "baserom.gba", 0x10CFDE, 0x0000039 - -gUnk_0810D017:: @ 0810D017 - .incbin "baserom.gba", 0x10D017, 0x000008D - -gUnk_0810D0A4:: @ 0810D0A4 - .incbin "baserom.gba", 0x10D0A4, 0x0000008 - -gUnk_0810D0AC:: @ 0810D0AC - .incbin "baserom.gba", 0x10D0AC, 0x000001E - -gUnk_0810D0CA:: @ 0810D0CA - .incbin "baserom.gba", 0x10D0CA, 0x0000009 - -gUnk_0810D0D3:: @ 0810D0D3 - .incbin "baserom.gba", 0x10D0D3, 0x0000079 - -gUnk_0810D14C:: @ 0810D14C - .incbin "baserom.gba", 0x10D14C, 0x0000227 - -gUnk_0810D373:: @ 0810D373 - .incbin "baserom.gba", 0x10D373, 0x0000003 - -gUnk_0810D376:: @ 0810D376 - .incbin "baserom.gba", 0x10D376, 0x0000013 - -gUnk_0810D389:: @ 0810D389 - .incbin "baserom.gba", 0x10D389, 0x000003E - -gUnk_0810D3C7:: @ 0810D3C7 - .incbin "baserom.gba", 0x10D3C7, 0x0000040 - -gUnk_0810D407:: @ 0810D407 - .incbin "baserom.gba", 0x10D407, 0x00000C7 - -gUnk_0810D4CE:: @ 0810D4CE - .incbin "baserom.gba", 0x10D4CE, 0x0000007 - -gUnk_0810D4D5:: @ 0810D4D5 - .incbin "baserom.gba", 0x10D4D5, 0x000003C - -gUnk_0810D511:: @ 0810D511 - .incbin "baserom.gba", 0x10D511, 0x0000006 - -gUnk_0810D517:: @ 0810D517 - .incbin "baserom.gba", 0x10D517, 0x0000039 - -gUnk_0810D550:: @ 0810D550 - .incbin "baserom.gba", 0x10D550, 0x0000024 - -gUnk_0810D574:: @ 0810D574 - .incbin "baserom.gba", 0x10D574, 0x000005F - -gUnk_0810D5D3:: @ 0810D5D3 - .incbin "baserom.gba", 0x10D5D3, 0x00000DE - -gUnk_0810D6B1:: @ 0810D6B1 - .incbin "baserom.gba", 0x10D6B1, 0x0000056 - -gUnk_0810D707:: @ 0810D707 - .incbin "baserom.gba", 0x10D707, 0x00000D2 - -gUnk_0810D7D9:: @ 0810D7D9 - .incbin "baserom.gba", 0x10D7D9, 0x000002E - -gUnk_0810D807:: @ 0810D807 - .incbin "baserom.gba", 0x10D807, 0x0000021 - -gUnk_0810D828:: @ 0810D828 - .incbin "baserom.gba", 0x10D828, 0x00000DF - -gUnk_0810D907:: @ 0810D907 - .incbin "baserom.gba", 0x10D907, 0x0000100 - -gUnk_0810DA07:: @ 0810DA07 - .incbin "baserom.gba", 0x10DA07, 0x0000007 - -gUnk_0810DA0E:: @ 0810DA0E - .incbin "baserom.gba", 0x10DA0E, 0x00000B2 - -gUnk_0810DAC0:: @ 0810DAC0 - .incbin "baserom.gba", 0x10DAC0, 0x0000041 - -gUnk_0810DB01:: @ 0810DB01 - .incbin "baserom.gba", 0x10DB01, 0x0000003 - -gUnk_0810DB04:: @ 0810DB04 - .incbin "baserom.gba", 0x10DB04, 0x0000005 - -gUnk_0810DB09:: @ 0810DB09 - .incbin "baserom.gba", 0x10DB09, 0x00000FB - -gUnk_0810DC04:: @ 0810DC04 - .incbin "baserom.gba", 0x10DC04, 0x0000017 - -gUnk_0810DC1B:: @ 0810DC1B - .incbin "baserom.gba", 0x10DC1B, 0x00000C0 - -gUnk_0810DCDB:: @ 0810DCDB - .incbin "baserom.gba", 0x10DCDB, 0x0000001 - -gUnk_0810DCDC:: @ 0810DCDC - .incbin "baserom.gba", 0x10DCDC, 0x000012B - -gUnk_0810DE07:: @ 0810DE07 - .incbin "baserom.gba", 0x10DE07, 0x0000046 - -gUnk_0810DE4D:: @ 0810DE4D - .incbin "baserom.gba", 0x10DE4D, 0x0000293 - -gUnk_0810E0E0:: @ 0810E0E0 - .incbin "baserom.gba", 0x10E0E0, 0x0000011 - -gUnk_0810E0F1:: @ 0810E0F1 - .incbin "baserom.gba", 0x10E0F1, 0x000000C - -gUnk_0810E0FD:: @ 0810E0FD - .incbin "baserom.gba", 0x10E0FD, 0x00000C6 - -gUnk_0810E1C3:: @ 0810E1C3 - .incbin "baserom.gba", 0x10E1C3, 0x000002D - -gUnk_0810E1F0:: @ 0810E1F0 - .incbin "baserom.gba", 0x10E1F0, 0x00000FD - -gUnk_0810E2ED:: @ 0810E2ED - .incbin "baserom.gba", 0x10E2ED, 0x0000116 - -gUnk_0810E403:: @ 0810E403 - .incbin "baserom.gba", 0x10E403, 0x000000A - -gUnk_0810E40D:: @ 0810E40D - .incbin "baserom.gba", 0x10E40D, 0x0000009 - -gUnk_0810E416:: @ 0810E416 - .incbin "baserom.gba", 0x10E416, 0x0000072 - -gUnk_0810E488:: @ 0810E488 - .incbin "baserom.gba", 0x10E488, 0x000008E - -gUnk_0810E516:: @ 0810E516 - .incbin "baserom.gba", 0x10E516, 0x000007B - -gUnk_0810E591:: @ 0810E591 - .incbin "baserom.gba", 0x10E591, 0x000005A - -gUnk_0810E5EB:: @ 0810E5EB - .incbin "baserom.gba", 0x10E5EB, 0x000001C - -gUnk_0810E607:: @ 0810E607 - .incbin "baserom.gba", 0x10E607, 0x00000E1 - -gUnk_0810E6E8:: @ 0810E6E8 - .incbin "baserom.gba", 0x10E6E8, 0x0000021 - -gUnk_0810E709:: @ 0810E709 - .incbin "baserom.gba", 0x10E709, 0x00000DB - -gUnk_0810E7E4:: @ 0810E7E4 - .incbin "baserom.gba", 0x10E7E4, 0x000000B - -gUnk_0810E7EF:: @ 0810E7EF - .incbin "baserom.gba", 0x10E7EF, 0x0000009 - -gUnk_0810E7F8:: @ 0810E7F8 - .incbin "baserom.gba", 0x10E7F8, 0x000000F - -gUnk_0810E807:: @ 0810E807 - .incbin "baserom.gba", 0x10E807, 0x0000001 - -gUnk_0810E808:: @ 0810E808 - .incbin "baserom.gba", 0x10E808, 0x00000F0 - -gUnk_0810E8F8:: @ 0810E8F8 - .incbin "baserom.gba", 0x10E8F8, 0x00000F8 - -gUnk_0810E9F0:: @ 0810E9F0 - .incbin "baserom.gba", 0x10E9F0, 0x0000100 - -gUnk_0810EAF0:: @ 0810EAF0 - .incbin "baserom.gba", 0x10EAF0, 0x000000E - -gUnk_0810EAFE:: @ 0810EAFE - .incbin "baserom.gba", 0x10EAFE, 0x000003E - -gUnk_0810EB3C:: @ 0810EB3C - .incbin "baserom.gba", 0x10EB3C, 0x000001F - -gUnk_0810EB5B:: @ 0810EB5B - .incbin "baserom.gba", 0x10EB5B, 0x0000064 - -gUnk_0810EBBF:: @ 0810EBBF - .incbin "baserom.gba", 0x10EBBF, 0x0000010 - -gUnk_0810EBCF:: @ 0810EBCF - .incbin "baserom.gba", 0x10EBCF, 0x0000010 - -gUnk_0810EBDF:: @ 0810EBDF - .incbin "baserom.gba", 0x10EBDF, 0x0000029 - -gUnk_0810EC08:: @ 0810EC08 - .incbin "baserom.gba", 0x10EC08, 0x00000FC - -gUnk_0810ED04:: @ 0810ED04 - .incbin "baserom.gba", 0x10ED04, 0x0000005 - -gUnk_0810ED09:: @ 0810ED09 - .incbin "baserom.gba", 0x10ED09, 0x00000E0 - -gUnk_0810EDE9:: @ 0810EDE9 - .incbin "baserom.gba", 0x10EDE9, 0x0000008 - -gUnk_0810EDF1:: @ 0810EDF1 - .incbin "baserom.gba", 0x10EDF1, 0x0000036 - -gUnk_0810EE27:: @ 0810EE27 - .incbin "baserom.gba", 0x10EE27, 0x0000056 - -gUnk_0810EE7D:: @ 0810EE7D - .incbin "baserom.gba", 0x10EE7D, 0x0000080 - -gUnk_0810EEFD:: @ 0810EEFD - .incbin "baserom.gba", 0x10EEFD, 0x0000148 - -gUnk_0810F045:: @ 0810F045 - .incbin "baserom.gba", 0x10F045, 0x00000AA - -gUnk_0810F0EF:: @ 0810F0EF - .incbin "baserom.gba", 0x10F0EF, 0x0000001 - -gUnk_0810F0F0:: @ 0810F0F0 - .incbin "baserom.gba", 0x10F0F0, 0x0000208 - -gUnk_0810F2F8:: @ 0810F2F8 - .incbin "baserom.gba", 0x10F2F8, 0x0000006 - -gUnk_0810F2FE:: @ 0810F2FE - .incbin "baserom.gba", 0x10F2FE, 0x0000100 - -gUnk_0810F3FE:: @ 0810F3FE - .incbin "baserom.gba", 0x10F3FE, 0x0000002 - -gUnk_0810F400:: @ 0810F400 - .incbin "baserom.gba", 0x10F400, 0x00000E6 - -gUnk_0810F4E6:: @ 0810F4E6 - .incbin "baserom.gba", 0x10F4E6, 0x000000B - -gUnk_0810F4F1:: @ 0810F4F1 - .incbin "baserom.gba", 0x10F4F1, 0x0000007 - -gUnk_0810F4F8:: @ 0810F4F8 - .incbin "baserom.gba", 0x10F4F8, 0x000002C - -gUnk_0810F524:: @ 0810F524 - .incbin "baserom.gba", 0x10F524, 0x0000020 - -gUnk_0810F544:: @ 0810F544 - .incbin "baserom.gba", 0x10F544, 0x000000C - -gUnk_0810F550:: @ 0810F550 - .incbin "baserom.gba", 0x10F550, 0x0000010 - -gUnk_0810F560:: @ 0810F560 - .incbin "baserom.gba", 0x10F560, 0x000003A - -gUnk_0810F59A:: @ 0810F59A - .incbin "baserom.gba", 0x10F59A, 0x000003A - -gUnk_0810F5D4:: @ 0810F5D4 - .incbin "baserom.gba", 0x10F5D4, 0x000001F - -gUnk_0810F5F3:: @ 0810F5F3 - .incbin "baserom.gba", 0x10F5F3, 0x0000005 - -gUnk_0810F5F8:: @ 0810F5F8 - .incbin "baserom.gba", 0x10F5F8, 0x0000016 - -gUnk_0810F60E:: @ 0810F60E - .incbin "baserom.gba", 0x10F60E, 0x0000005 - -gUnk_0810F613:: @ 0810F613 - .incbin "baserom.gba", 0x10F613, 0x0000007 - -gUnk_0810F61A:: @ 0810F61A - .incbin "baserom.gba", 0x10F61A, 0x000002E - -gUnk_0810F648:: @ 0810F648 - .incbin "baserom.gba", 0x10F648, 0x000003A - -gUnk_0810F682:: @ 0810F682 - .incbin "baserom.gba", 0x10F682, 0x000003A - -gUnk_0810F6BC:: @ 0810F6BC - .incbin "baserom.gba", 0x10F6BC, 0x0000018 - -gUnk_0810F6D4:: @ 0810F6D4 - .incbin "baserom.gba", 0x10F6D4, 0x0000010 - -gUnk_0810F6E4:: @ 0810F6E4 - .incbin "baserom.gba", 0x10F6E4, 0x0000002 - -gUnk_0810F6E6:: @ 0810F6E6 - .incbin "baserom.gba", 0x10F6E6, 0x0000003 - -gUnk_0810F6E9:: @ 0810F6E9 - .incbin "baserom.gba", 0x10F6E9, 0x0000005 - -gUnk_0810F6EE:: @ 0810F6EE - .incbin "baserom.gba", 0x10F6EE, 0x0000001 - -gUnk_0810F6EF:: @ 0810F6EF - .incbin "baserom.gba", 0x10F6EF, 0x0000004 - -gUnk_0810F6F3:: @ 0810F6F3 - .incbin "baserom.gba", 0x10F6F3, 0x0000005 - -gUnk_0810F6F8:: @ 0810F6F8 - .incbin "baserom.gba", 0x10F6F8, 0x0000005 - -gUnk_0810F6FD:: @ 0810F6FD - .incbin "baserom.gba", 0x10F6FD, 0x0000003 - -gUnk_0810F700:: @ 0810F700 - .incbin "baserom.gba", 0x10F700, 0x0000002 - -gUnk_0810F702:: @ 0810F702 - .incbin "baserom.gba", 0x10F702, 0x0000005 - -gUnk_0810F707:: @ 0810F707 - .incbin "baserom.gba", 0x10F707, 0x0000005 - -gUnk_0810F70C:: @ 0810F70C - .incbin "baserom.gba", 0x10F70C, 0x0000011 - -gUnk_0810F71D:: @ 0810F71D - .incbin "baserom.gba", 0x10F71D, 0x0000011 - -gUnk_0810F72E:: @ 0810F72E - .incbin "baserom.gba", 0x10F72E, 0x0000011 - -gUnk_0810F73F:: @ 0810F73F - .incbin "baserom.gba", 0x10F73F, 0x0000011 - -gUnk_0810F750:: @ 0810F750 - .incbin "baserom.gba", 0x10F750, 0x0000011 - -gUnk_0810F761:: @ 0810F761 - .incbin "baserom.gba", 0x10F761, 0x0000011 - -gUnk_0810F772:: @ 0810F772 - .incbin "baserom.gba", 0x10F772, 0x0000011 - -gUnk_0810F783:: @ 0810F783 - .incbin "baserom.gba", 0x10F783, 0x0000011 - -gUnk_0810F794:: @ 0810F794 - .incbin "baserom.gba", 0x10F794, 0x0000005 - -gUnk_0810F799:: @ 0810F799 - .incbin "baserom.gba", 0x10F799, 0x0000025 - -gUnk_0810F7BE:: @ 0810F7BE - .incbin "baserom.gba", 0x10F7BE, 0x0000005 - -gUnk_0810F7C3:: @ 0810F7C3 - .incbin "baserom.gba", 0x10F7C3, 0x0000005 - -gUnk_0810F7C8:: @ 0810F7C8 - .incbin "baserom.gba", 0x10F7C8, 0x0000020 - -gUnk_0810F7E8:: @ 0810F7E8 - .incbin "baserom.gba", 0x10F7E8, 0x0000003 - -gUnk_0810F7EB:: @ 0810F7EB - .incbin "baserom.gba", 0x10F7EB, 0x0000003 - -gUnk_0810F7EE:: @ 0810F7EE - .incbin "baserom.gba", 0x10F7EE, 0x000000A - -gUnk_0810F7F8:: @ 0810F7F8 - .incbin "baserom.gba", 0x10F7F8, 0x0000005 - -gUnk_0810F7FD:: @ 0810F7FD - .incbin "baserom.gba", 0x10F7FD, 0x0000003 - -gUnk_0810F800:: @ 0810F800 - .incbin "baserom.gba", 0x10F800, 0x0000002 - -gUnk_0810F802:: @ 0810F802 - .incbin "baserom.gba", 0x10F802, 0x0000006 - -gUnk_0810F808:: @ 0810F808 - .incbin "baserom.gba", 0x10F808, 0x000000C - -gUnk_0810F814:: @ 0810F814 - .incbin "baserom.gba", 0x10F814, 0x0000060 - -gUnk_0810F874:: @ 0810F874 - .incbin "baserom.gba", 0x10F874, 0x0000018 - -gUnk_0810F88C:: @ 0810F88C - .incbin "baserom.gba", 0x10F88C, 0x0000008 - -gUnk_0810F894:: @ 0810F894 - .incbin "baserom.gba", 0x10F894, 0x0000024 - -gUnk_0810F8B8:: @ 0810F8B8 - .incbin "baserom.gba", 0x10F8B8, 0x0000018 - -gUnk_0810F8D0:: @ 0810F8D0 - .incbin "baserom.gba", 0x10F8D0, 0x0000014 - -gUnk_0810F8E4:: @ 0810F8E4 - .incbin "baserom.gba", 0x10F8E4, 0x0000005 - -gUnk_0810F8E9:: @ 0810F8E9 - .incbin "baserom.gba", 0x10F8E9, 0x0000005 - -gUnk_0810F8EE:: @ 0810F8EE - .incbin "baserom.gba", 0x10F8EE, 0x0000001 - -gUnk_0810F8EF:: @ 0810F8EF - .incbin "baserom.gba", 0x10F8EF, 0x0000004 - -gUnk_0810F8F3:: @ 0810F8F3 - .incbin "baserom.gba", 0x10F8F3, 0x0000001 - -gUnk_0810F8F4:: @ 0810F8F4 - .incbin "baserom.gba", 0x10F8F4, 0x0000004 - -gUnk_0810F8F8:: @ 0810F8F8 - .incbin "baserom.gba", 0x10F8F8, 0x0000001 - -gUnk_0810F8F9:: @ 0810F8F9 - .incbin "baserom.gba", 0x10F8F9, 0x0000010 - -gUnk_0810F909:: @ 0810F909 - .incbin "baserom.gba", 0x10F909, 0x0000011 - -gUnk_0810F91A:: @ 0810F91A - .incbin "baserom.gba", 0x10F91A, 0x0000011 - -gUnk_0810F92B:: @ 0810F92B - .incbin "baserom.gba", 0x10F92B, 0x0000011 - -gUnk_0810F93C:: @ 0810F93C - .incbin "baserom.gba", 0x10F93C, 0x0000008 - -gUnk_0810F944:: @ 0810F944 - .incbin "baserom.gba", 0x10F944, 0x0000028 - -gUnk_0810F96C:: @ 0810F96C - .incbin "baserom.gba", 0x10F96C, 0x0000005 - -gUnk_0810F971:: @ 0810F971 - .incbin "baserom.gba", 0x10F971, 0x0000005 - -gUnk_0810F976:: @ 0810F976 - .incbin "baserom.gba", 0x10F976, 0x0000005 - -gUnk_0810F97B:: @ 0810F97B - .incbin "baserom.gba", 0x10F97B, 0x0000011 - -gUnk_0810F98C:: @ 0810F98C - .incbin "baserom.gba", 0x10F98C, 0x0000024 - -gUnk_0810F9B0:: @ 0810F9B0 - .incbin "baserom.gba", 0x10F9B0, 0x0000005 - -gUnk_0810F9B5:: @ 0810F9B5 - .incbin "baserom.gba", 0x10F9B5, 0x0000005 - -gUnk_0810F9BA:: @ 0810F9BA - .incbin "baserom.gba", 0x10F9BA, 0x0000005 - -gUnk_0810F9BF:: @ 0810F9BF - .incbin "baserom.gba", 0x10F9BF, 0x0000011 - -gUnk_0810F9D0:: @ 0810F9D0 - .incbin "baserom.gba", 0x10F9D0, 0x0000020 - -gUnk_0810F9F0:: @ 0810F9F0 - .incbin "baserom.gba", 0x10F9F0, 0x0000004 - -gUnk_0810F9F4:: @ 0810F9F4 - .incbin "baserom.gba", 0x10F9F4, 0x0000004 - -gUnk_0810F9F8:: @ 0810F9F8 - .incbin "baserom.gba", 0x10F9F8, 0x0000001 - -gUnk_0810F9F9:: @ 0810F9F9 - .incbin "baserom.gba", 0x10F9F9, 0x0000005 - -gUnk_0810F9FE:: @ 0810F9FE - .incbin "baserom.gba", 0x10F9FE, 0x0000002 - -gUnk_0810FA00:: @ 0810FA00 - .incbin "baserom.gba", 0x10FA00, 0x0000003 - -gUnk_0810FA03:: @ 0810FA03 - .incbin "baserom.gba", 0x10FA03, 0x0000011 - -gUnk_0810FA14:: @ 0810FA14 - .incbin "baserom.gba", 0x10FA14, 0x0000018 - -gUnk_0810FA2C:: @ 0810FA2C - .incbin "baserom.gba", 0x10FA2C, 0x000000C - -gUnk_0810FA38:: @ 0810FA38 - .incbin "baserom.gba", 0x10FA38, 0x000000C - -gUnk_0810FA44:: @ 0810FA44 - .incbin "baserom.gba", 0x10FA44, 0x0000010 - -gUnk_0810FA54:: @ 0810FA54 - .incbin "baserom.gba", 0x10FA54, 0x0000006 - -gUnk_0810FA5A:: @ 0810FA5A - .incbin "baserom.gba", 0x10FA5A, 0x0000097 - -gUnk_0810FAF1:: @ 0810FAF1 - .incbin "baserom.gba", 0x10FAF1, 0x0000002 - -gUnk_0810FAF3:: @ 0810FAF3 - .incbin "baserom.gba", 0x10FAF3, 0x0000004 - -gUnk_0810FAF7:: @ 0810FAF7 - .incbin "baserom.gba", 0x10FAF7, 0x000002D - -gUnk_0810FB24:: @ 0810FB24 - .incbin "baserom.gba", 0x10FB24, 0x0000015 - -gUnk_0810FB39:: @ 0810FB39 - .incbin "baserom.gba", 0x10FB39, 0x0000015 - -gUnk_0810FB4E:: @ 0810FB4E - .incbin "baserom.gba", 0x10FB4E, 0x0000015 - -gUnk_0810FB63:: @ 0810FB63 - .incbin "baserom.gba", 0x10FB63, 0x0000015 - -gUnk_0810FB78:: @ 0810FB78 - .incbin "baserom.gba", 0x10FB78, 0x0000005 - -gUnk_0810FB7D:: @ 0810FB7D - .incbin "baserom.gba", 0x10FB7D, 0x0000005 - -gUnk_0810FB82:: @ 0810FB82 - .incbin "baserom.gba", 0x10FB82, 0x0000005 - -gUnk_0810FB87:: @ 0810FB87 - .incbin "baserom.gba", 0x10FB87, 0x0000005 - -gUnk_0810FB8C:: @ 0810FB8C - .incbin "baserom.gba", 0x10FB8C, 0x0000021 - -gUnk_0810FBAD:: @ 0810FBAD - .incbin "baserom.gba", 0x10FBAD, 0x0000023 - -gUnk_0810FBD0:: @ 0810FBD0 - .incbin "baserom.gba", 0x10FBD0, 0x000001B - -gUnk_0810FBEB:: @ 0810FBEB - .incbin "baserom.gba", 0x10FBEB, 0x000000E - -gUnk_0810FBF9:: @ 0810FBF9 - .incbin "baserom.gba", 0x10FBF9, 0x0000003 - -gUnk_0810FBFC:: @ 0810FBFC - .incbin "baserom.gba", 0x10FBFC, 0x000000C - -gUnk_0810FC08:: @ 0810FC08 - .incbin "baserom.gba", 0x10FC08, 0x0000048 - -gUnk_0810FC50:: @ 0810FC50 - .incbin "baserom.gba", 0x10FC50, 0x0000004 - -gUnk_0810FC54:: @ 0810FC54 - .incbin "baserom.gba", 0x10FC54, 0x000000A - -gUnk_0810FC5E:: @ 0810FC5E - .incbin "baserom.gba", 0x10FC5E, 0x000000A - -gUnk_0810FC68:: @ 0810FC68 - .incbin "baserom.gba", 0x10FC68, 0x0000045 - -gUnk_0810FCAD:: @ 0810FCAD - .incbin "baserom.gba", 0x10FCAD, 0x0000021 - -gUnk_0810FCCE:: @ 0810FCCE - .incbin "baserom.gba", 0x10FCCE, 0x0000026 - -gUnk_0810FCF4:: @ 0810FCF4 - .incbin "baserom.gba", 0x10FCF4, 0x0000022 - -gUnk_0810FD16:: @ 0810FD16 - .incbin "baserom.gba", 0x10FD16, 0x0000056 - -gUnk_0810FD6C:: @ 0810FD6C - .incbin "baserom.gba", 0x10FD6C, 0x0000034 - -gUnk_0810FDA0:: @ 0810FDA0 - .incbin "baserom.gba", 0x10FDA0, 0x0000004 - -gUnk_0810FDA4:: @ 0810FDA4 - .incbin "baserom.gba", 0x10FDA4, 0x0000014 - -gUnk_0810FDB8:: @ 0810FDB8 - .incbin "baserom.gba", 0x10FDB8, 0x0000010 - -gUnk_0810FDC8:: @ 0810FDC8 - .incbin "baserom.gba", 0x10FDC8, 0x0000020 - -gUnk_0810FDE8:: @ 0810FDE8 - .incbin "baserom.gba", 0x10FDE8, 0x0000005 - -gUnk_0810FDED:: @ 0810FDED - .incbin "baserom.gba", 0x10FDED, 0x0000005 - -gUnk_0810FDF2:: @ 0810FDF2 - .incbin "baserom.gba", 0x10FDF2, 0x0000005 - -gUnk_0810FDF7:: @ 0810FDF7 - .incbin "baserom.gba", 0x10FDF7, 0x000000C - -gUnk_0810FE03:: @ 0810FE03 - .incbin "baserom.gba", 0x10FE03, 0x0000005 - -gUnk_0810FE08:: @ 0810FE08 - .incbin "baserom.gba", 0x10FE08, 0x0000017 - -gUnk_0810FE1F:: @ 0810FE1F - .incbin "baserom.gba", 0x10FE1F, 0x0000049 - -gUnk_0810FE68:: @ 0810FE68 - .incbin "baserom.gba", 0x10FE68, 0x0000028 - -gUnk_0810FE90:: @ 0810FE90 - .incbin "baserom.gba", 0x10FE90, 0x0000020 - -gUnk_0810FEB0:: @ 0810FEB0 - .incbin "baserom.gba", 0x10FEB0, 0x000000C - -gUnk_0810FEBC:: @ 0810FEBC - .incbin "baserom.gba", 0x10FEBC, 0x0000008 - -gUnk_0810FEC4:: @ 0810FEC4 - .incbin "baserom.gba", 0x10FEC4, 0x0000014 - -gUnk_0810FED8:: @ 0810FED8 - .incbin "baserom.gba", 0x10FED8, 0x0000008 - -gUnk_0810FEE0:: @ 0810FEE0 - .incbin "baserom.gba", 0x10FEE0, 0x0000005 - -gUnk_0810FEE5:: @ 0810FEE5 - .incbin "baserom.gba", 0x10FEE5, 0x0000005 - -gUnk_0810FEEA:: @ 0810FEEA - .incbin "baserom.gba", 0x10FEEA, 0x0000005 - -gUnk_0810FEEF:: @ 0810FEEF - .incbin "baserom.gba", 0x10FEEF, 0x0000002 - -gUnk_0810FEF1:: @ 0810FEF1 - .incbin "baserom.gba", 0x10FEF1, 0x0000003 - -gUnk_0810FEF4:: @ 0810FEF4 - .incbin "baserom.gba", 0x10FEF4, 0x0000001 - -gUnk_0810FEF5:: @ 0810FEF5 - .incbin "baserom.gba", 0x10FEF5, 0x0000003 - -gUnk_0810FEF8:: @ 0810FEF8 - .incbin "baserom.gba", 0x10FEF8, 0x000000B - -gUnk_0810FF03:: @ 0810FF03 - .incbin "baserom.gba", 0x10FF03, 0x0000002 - -gUnk_0810FF05:: @ 0810FF05 - .incbin "baserom.gba", 0x10FF05, 0x000000A - -gUnk_0810FF0F:: @ 0810FF0F - .incbin "baserom.gba", 0x10FF0F, 0x0000001 - -gUnk_0810FF10:: @ 0810FF10 - .incbin "baserom.gba", 0x10FF10, 0x0000006 - -gUnk_0810FF16:: @ 0810FF16 - .incbin "baserom.gba", 0x10FF16, 0x0000011 - -gUnk_0810FF27:: @ 0810FF27 - .incbin "baserom.gba", 0x10FF27, 0x0000001 - -gUnk_0810FF28:: @ 0810FF28 - .incbin "baserom.gba", 0x10FF28, 0x0000010 - -gUnk_0810FF38:: @ 0810FF38 - .incbin "baserom.gba", 0x10FF38, 0x0000003 - -gUnk_0810FF3B:: @ 0810FF3B - .incbin "baserom.gba", 0x10FF3B, 0x0000021 - -gUnk_0810FF5C:: @ 0810FF5C - .incbin "baserom.gba", 0x10FF5C, 0x0000008 - -gUnk_0810FF64:: @ 0810FF64 - .incbin "baserom.gba", 0x10FF64, 0x000000C - -gUnk_0810FF70:: @ 0810FF70 - .incbin "baserom.gba", 0x10FF70, 0x0000005 - -gUnk_0810FF75:: @ 0810FF75 - .incbin "baserom.gba", 0x10FF75, 0x0000005 - -gUnk_0810FF7A:: @ 0810FF7A - .incbin "baserom.gba", 0x10FF7A, 0x0000004 - -gUnk_0810FF7E:: @ 0810FF7E - .incbin "baserom.gba", 0x10FF7E, 0x0000001 - -gUnk_0810FF7F:: @ 0810FF7F - .incbin "baserom.gba", 0x10FF7F, 0x0000005 - -gUnk_0810FF84:: @ 0810FF84 - .incbin "baserom.gba", 0x10FF84, 0x0000021 - -gUnk_0810FFA5:: @ 0810FFA5 - .incbin "baserom.gba", 0x10FFA5, 0x0000011 - -gUnk_0810FFB6:: @ 0810FFB6 - .incbin "baserom.gba", 0x10FFB6, 0x000000B - -gUnk_0810FFC1:: @ 0810FFC1 - .incbin "baserom.gba", 0x10FFC1, 0x0000016 - -gUnk_0810FFD7:: @ 0810FFD7 - .incbin "baserom.gba", 0x10FFD7, 0x000001F - -gUnk_0810FFF6:: @ 0810FFF6 - .incbin "baserom.gba", 0x10FFF6, 0x0000008 - -gUnk_0810FFFE:: @ 0810FFFE - .incbin "baserom.gba", 0x10FFFE, 0x0000002 - -gUnk_08110000:: @ 08110000 - .incbin "baserom.gba", 0x110000, 0x0000007 - -gUnk_08110007:: @ 08110007 - .incbin "baserom.gba", 0x110007, 0x000000D - -gUnk_08110014:: @ 08110014 - .incbin "baserom.gba", 0x110014, 0x0000013 - -gUnk_08110027:: @ 08110027 - .incbin "baserom.gba", 0x110027, 0x0000001 - -gUnk_08110028:: @ 08110028 - .incbin "baserom.gba", 0x110028, 0x0000044 - -gUnk_0811006C:: @ 0811006C - .incbin "baserom.gba", 0x11006C, 0x0000014 - -gUnk_08110080:: @ 08110080 - .incbin "baserom.gba", 0x110080, 0x0000008 - -gUnk_08110088:: @ 08110088 - .incbin "baserom.gba", 0x110088, 0x0000005 - -gUnk_0811008D:: @ 0811008D - .incbin "baserom.gba", 0x11008D, 0x0000005 - -gUnk_08110092:: @ 08110092 - .incbin "baserom.gba", 0x110092, 0x0000005 - -gUnk_08110097:: @ 08110097 - .incbin "baserom.gba", 0x110097, 0x0000021 - -gUnk_081100B8:: @ 081100B8 - .incbin "baserom.gba", 0x1100B8, 0x000002C - -gUnk_081100E4:: @ 081100E4 - .incbin "baserom.gba", 0x1100E4, 0x000002C - -gUnk_08110110:: @ 08110110 - .incbin "baserom.gba", 0x110110, 0x0000008 - -gMilkCartBehaviors:: @ 08110118 - .incbin "baserom.gba", 0x110118, 0x0000008 - -gUnk_08110120:: @ 08110120 - .incbin "baserom.gba", 0x110120, 0x0000005 - -gUnk_08110125:: @ 08110125 - .incbin "baserom.gba", 0x110125, 0x0000013 - -gUnk_08110138:: @ 08110138 - .incbin "baserom.gba", 0x110138, 0x0000009 - -gUnk_08110141:: @ 08110141 - .incbin "baserom.gba", 0x110141, 0x000001B - -gUnk_0811015C:: @ 0811015C - .incbin "baserom.gba", 0x11015C, 0x0000008 - -gUnk_08110164:: @ 08110164 - .incbin "baserom.gba", 0x110164, 0x0000018 - -gUnk_0811017C:: @ 0811017C - .incbin "baserom.gba", 0x11017C, 0x000000C - -gUnk_08110188:: @ 08110188 - .incbin "baserom.gba", 0x110188, 0x0000055 - -gUnk_081101DD:: @ 081101DD - .incbin "baserom.gba", 0x1101DD, 0x000001A - -gUnk_081101F7:: @ 081101F7 - .incbin "baserom.gba", 0x1101F7, 0x0000037 - -gUnk_0811022E:: @ 0811022E - .incbin "baserom.gba", 0x11022E, 0x0000046 - -gUnk_08110274:: @ 08110274 - .incbin "baserom.gba", 0x110274, 0x000000C - -gUnk_08110280:: @ 08110280 - .incbin "baserom.gba", 0x110280, 0x0000080 - -gUnk_08110300:: @ 08110300 - .incbin "baserom.gba", 0x110300, 0x0000011 - -gUnk_08110311:: @ 08110311 - .incbin "baserom.gba", 0x110311, 0x0000011 - -gUnk_08110322:: @ 08110322 - .incbin "baserom.gba", 0x110322, 0x0000011 - -gUnk_08110333:: @ 08110333 - .incbin "baserom.gba", 0x110333, 0x0000009 - -gUnk_0811033C:: @ 0811033C - .incbin "baserom.gba", 0x11033C, 0x0000018 - -gUnk_08110354:: @ 08110354 - .incbin "baserom.gba", 0x110354, 0x000000C - -gUnk_08110360:: @ 08110360 - .incbin "baserom.gba", 0x110360, 0x000000C - -gUnk_0811036C:: @ 0811036C - .incbin "baserom.gba", 0x11036C, 0x0000014 - -gUnk_08110380:: @ 08110380 - .incbin "baserom.gba", 0x110380, 0x0000010 - -gUnk_08110390:: @ 08110390 - .incbin "baserom.gba", 0x110390, 0x0000040 - -gUnk_081103D0:: @ 081103D0 - .incbin "baserom.gba", 0x1103D0, 0x000000B - -gUnk_081103DB:: @ 081103DB - .incbin "baserom.gba", 0x1103DB, 0x0000005 - -gUnk_081103E0:: @ 081103E0 - .incbin "baserom.gba", 0x1103E0, 0x0000004 - -gUnk_081103E4:: @ 081103E4 - .incbin "baserom.gba", 0x1103E4, 0x0000005 - -gUnk_081103E9:: @ 081103E9 - .incbin "baserom.gba", 0x1103E9, 0x0000005 - -gUnk_081103EE:: @ 081103EE - .incbin "baserom.gba", 0x1103EE, 0x0000005 - -gUnk_081103F3:: @ 081103F3 - .incbin "baserom.gba", 0x1103F3, 0x0000005 - -gUnk_081103F8:: @ 081103F8 - .incbin "baserom.gba", 0x1103F8, 0x0000006 - -gUnk_081103FE:: @ 081103FE - .incbin "baserom.gba", 0x1103FE, 0x0000002 - -gUnk_08110400:: @ 08110400 - .incbin "baserom.gba", 0x110400, 0x0000009 - -gUnk_08110409:: @ 08110409 - .incbin "baserom.gba", 0x110409, 0x0000011 - -gUnk_0811041A:: @ 0811041A - .incbin "baserom.gba", 0x11041A, 0x0000011 - -gUnk_0811042B:: @ 0811042B - .incbin "baserom.gba", 0x11042B, 0x0000011 - -gUnk_0811043C:: @ 0811043C - .incbin "baserom.gba", 0x11043C, 0x0000005 - -gUnk_08110441:: @ 08110441 - .incbin "baserom.gba", 0x110441, 0x0000005 - -gUnk_08110446:: @ 08110446 - .incbin "baserom.gba", 0x110446, 0x0000005 - -gUnk_0811044B:: @ 0811044B - .incbin "baserom.gba", 0x11044B, 0x0000029 - -gUnk_08110474:: @ 08110474 - .incbin "baserom.gba", 0x110474, 0x0000005 - -gUnk_08110479:: @ 08110479 - .incbin "baserom.gba", 0x110479, 0x0000005 - -gUnk_0811047E:: @ 0811047E - .incbin "baserom.gba", 0x11047E, 0x0000006 - -gUnk_08110484:: @ 08110484 - .incbin "baserom.gba", 0x110484, 0x0000044 - -gUnk_081104C8:: @ 081104C8 - .incbin "baserom.gba", 0x1104C8, 0x0000018 - -gUnk_081104E0:: @ 081104E0 - .incbin "baserom.gba", 0x1104E0, 0x000000C - -gUnk_081104EC:: @ 081104EC - .incbin "baserom.gba", 0x1104EC, 0x000000C - -gUnk_081104F8:: @ 081104F8 - .incbin "baserom.gba", 0x1104F8, 0x0000008 - -gUnk_08110500:: @ 08110500 - .incbin "baserom.gba", 0x110500, 0x0000005 - -gUnk_08110505:: @ 08110505 - .incbin "baserom.gba", 0x110505, 0x0000005 - -gUnk_0811050A:: @ 0811050A - .incbin "baserom.gba", 0x11050A, 0x0000004 - -gUnk_0811050E:: @ 0811050E - .incbin "baserom.gba", 0x11050E, 0x0000001 - -gUnk_0811050F:: @ 0811050F - .incbin "baserom.gba", 0x11050F, 0x0000005 - -gUnk_08110514:: @ 08110514 - .incbin "baserom.gba", 0x110514, 0x0000021 - -gUnk_08110535:: @ 08110535 - .incbin "baserom.gba", 0x110535, 0x0000021 - -gUnk_08110556:: @ 08110556 - .incbin "baserom.gba", 0x110556, 0x0000021 - -gUnk_08110577:: @ 08110577 - .incbin "baserom.gba", 0x110577, 0x0000009 - -gUnk_08110580:: @ 08110580 - .incbin "baserom.gba", 0x110580, 0x0000018 - -gUnk_08110598:: @ 08110598 - .incbin "baserom.gba", 0x110598, 0x0000011 - -gUnk_081105A9:: @ 081105A9 - .incbin "baserom.gba", 0x1105A9, 0x0000011 - -gUnk_081105BA:: @ 081105BA - .incbin "baserom.gba", 0x1105BA, 0x0000011 - -gUnk_081105CB:: @ 081105CB - .incbin "baserom.gba", 0x1105CB, 0x0000011 - -gUnk_081105DC:: @ 081105DC - .incbin "baserom.gba", 0x1105DC, 0x0000005 - -gUnk_081105E1:: @ 081105E1 - .incbin "baserom.gba", 0x1105E1, 0x0000010 - -gUnk_081105F1:: @ 081105F1 - .incbin "baserom.gba", 0x1105F1, 0x0000017 - -gUnk_08110608:: @ 08110608 - .incbin "baserom.gba", 0x110608, 0x0000004 - -gUnk_0811060C:: @ 0811060C - .incbin "baserom.gba", 0x11060C, 0x0000038 - -gUnk_08110644:: @ 08110644 - .incbin "baserom.gba", 0x110644, 0x000000C - -gUnk_08110650:: @ 08110650 - .incbin "baserom.gba", 0x110650, 0x0000008 - -gUnk_08110658:: @ 08110658 - .incbin "baserom.gba", 0x110658, 0x0000005 - -gUnk_0811065D:: @ 0811065D - .incbin "baserom.gba", 0x11065D, 0x0000005 - -gUnk_08110662:: @ 08110662 - .incbin "baserom.gba", 0x110662, 0x0000005 - -gUnk_08110667:: @ 08110667 - .incbin "baserom.gba", 0x110667, 0x0000005 - -gUnk_0811066C:: @ 0811066C - .incbin "baserom.gba", 0x11066C, 0x0000011 - -gUnk_0811067D:: @ 0811067D - .incbin "baserom.gba", 0x11067D, 0x0000005 - -gUnk_08110682:: @ 08110682 - .incbin "baserom.gba", 0x110682, 0x0000026 - -gUnk_081106A8:: @ 081106A8 - .incbin "baserom.gba", 0x1106A8, 0x000002C - -gUnk_081106D4:: @ 081106D4 - .incbin "baserom.gba", 0x1106D4, 0x000000C - -gUnk_081106E0:: @ 081106E0 - .incbin "baserom.gba", 0x1106E0, 0x0000008 - -gUnk_081106E8:: @ 081106E8 - .incbin "baserom.gba", 0x1106E8, 0x0000005 - -gUnk_081106ED:: @ 081106ED - .incbin "baserom.gba", 0x1106ED, 0x0000011 - -gUnk_081106FE:: @ 081106FE - .incbin "baserom.gba", 0x1106FE, 0x0000012 - -gUnk_08110710:: @ 08110710 - .incbin "baserom.gba", 0x110710, 0x0000024 - -gUnk_08110734:: @ 08110734 - .incbin "baserom.gba", 0x110734, 0x0000008 - -gUnk_0811073C:: @ 0811073C - .incbin "baserom.gba", 0x11073C, 0x0000005 - -gUnk_08110741:: @ 08110741 - .incbin "baserom.gba", 0x110741, 0x0000005 - -gUnk_08110746:: @ 08110746 - .incbin "baserom.gba", 0x110746, 0x0000005 - -gUnk_0811074B:: @ 0811074B - .incbin "baserom.gba", 0x11074B, 0x0000005 - -gUnk_08110750:: @ 08110750 - .incbin "baserom.gba", 0x110750, 0x0000011 - -gUnk_08110761:: @ 08110761 - .incbin "baserom.gba", 0x110761, 0x0000011 - -gUnk_08110772:: @ 08110772 - .incbin "baserom.gba", 0x110772, 0x0000011 - -gUnk_08110783:: @ 08110783 - .incbin "baserom.gba", 0x110783, 0x0000011 - -gUnk_08110794:: @ 08110794 - .incbin "baserom.gba", 0x110794, 0x0000005 - -gUnk_08110799:: @ 08110799 - .incbin "baserom.gba", 0x110799, 0x0000011 - -gUnk_081107AA:: @ 081107AA - .incbin "baserom.gba", 0x1107AA, 0x0000009 - -gUnk_081107B3:: @ 081107B3 - .incbin "baserom.gba", 0x1107B3, 0x0000009 - -gUnk_081107BC:: @ 081107BC - .incbin "baserom.gba", 0x1107BC, 0x0000010 - -gUnk_081107CC:: @ 081107CC - .incbin "baserom.gba", 0x1107CC, 0x000003C - -gUnk_08110808:: @ 08110808 - .incbin "baserom.gba", 0x110808, 0x0000038 - -gUnk_08110840:: @ 08110840 - .incbin "baserom.gba", 0x110840, 0x0000019 - -gUnk_08110859:: @ 08110859 - .incbin "baserom.gba", 0x110859, 0x0000005 - -gUnk_0811085E:: @ 0811085E - .incbin "baserom.gba", 0x11085E, 0x0000019 - -gUnk_08110877:: @ 08110877 - .incbin "baserom.gba", 0x110877, 0x0000005 - -gUnk_0811087C:: @ 0811087C - .incbin "baserom.gba", 0x11087C, 0x000001E - -gUnk_0811089A:: @ 0811089A - .incbin "baserom.gba", 0x11089A, 0x0000019 - -gUnk_081108B3:: @ 081108B3 - .incbin "baserom.gba", 0x1108B3, 0x0000019 - -gUnk_081108CC:: @ 081108CC - .incbin "baserom.gba", 0x1108CC, 0x0000019 - -gUnk_081108E5:: @ 081108E5 - .incbin "baserom.gba", 0x1108E5, 0x000000D - -gUnk_081108F2:: @ 081108F2 - .incbin "baserom.gba", 0x1108F2, 0x000000D - -gUnk_081108FF:: @ 081108FF - .incbin "baserom.gba", 0x1108FF, 0x000000D - -gUnk_0811090C:: @ 0811090C - .incbin "baserom.gba", 0x11090C, 0x000000C - -gUnk_08110918:: @ 08110918 - .incbin "baserom.gba", 0x110918, 0x0000005 - -gUnk_0811091D:: @ 0811091D - .incbin "baserom.gba", 0x11091D, 0x0000005 - -gUnk_08110922:: @ 08110922 - .incbin "baserom.gba", 0x110922, 0x0000005 - -gUnk_08110927:: @ 08110927 - .incbin "baserom.gba", 0x110927, 0x0000005 - -gUnk_0811092C:: @ 0811092C - .incbin "baserom.gba", 0x11092C, 0x0000005 - -gUnk_08110931:: @ 08110931 - .incbin "baserom.gba", 0x110931, 0x00000C1 - -gUnk_081109F2:: @ 081109F2 - .incbin "baserom.gba", 0x1109F2, 0x0000006 - -gUnk_081109F8:: @ 081109F8 - .incbin "baserom.gba", 0x1109F8, 0x00000DF - -gUnk_08110AD7:: @ 08110AD7 - .incbin "baserom.gba", 0x110AD7, 0x0000015 - -gUnk_08110AEC:: @ 08110AEC - .incbin "baserom.gba", 0x110AEC, 0x0000010 - -gUnk_08110AFC:: @ 08110AFC - .incbin "baserom.gba", 0x110AFC, 0x0000008 - -gUnk_08110B04:: @ 08110B04 - .incbin "baserom.gba", 0x110B04, 0x0000001 - -gUnk_08110B05:: @ 08110B05 - .incbin "baserom.gba", 0x110B05, 0x000004B - -gUnk_08110B50:: @ 08110B50 - .incbin "baserom.gba", 0x110B50, 0x0000088 - -gUnk_08110BD8:: @ 08110BD8 - .incbin "baserom.gba", 0x110BD8, 0x0000008 - -gUnk_08110BE0:: @ 08110BE0 - .incbin "baserom.gba", 0x110BE0, 0x000001F - -gUnk_08110BFF:: @ 08110BFF - .incbin "baserom.gba", 0x110BFF, 0x0000001 - -gUnk_08110C00:: @ 08110C00 - .incbin "baserom.gba", 0x110C00, 0x0000003 - -gUnk_08110C03:: @ 08110C03 - .incbin "baserom.gba", 0x110C03, 0x0000009 - -gUnk_08110C0C:: @ 08110C0C - .incbin "baserom.gba", 0x110C0C, 0x0000004 - -gUnk_08110C10:: @ 08110C10 - .incbin "baserom.gba", 0x110C10, 0x0000050 - -gUnk_08110C60:: @ 08110C60 - .incbin "baserom.gba", 0x110C60, 0x0000015 - -gUnk_08110C75:: @ 08110C75 - .incbin "baserom.gba", 0x110C75, 0x0000005 - -gUnk_08110C7A:: @ 08110C7A - .incbin "baserom.gba", 0x110C7A, 0x0000005 - -gUnk_08110C7F:: @ 08110C7F - .incbin "baserom.gba", 0x110C7F, 0x0000005 - -gUnk_08110C84:: @ 08110C84 - .incbin "baserom.gba", 0x110C84, 0x0000024 - -gUnk_08110CA8:: @ 08110CA8 - .incbin "baserom.gba", 0x110CA8, 0x0000040 - -gUnk_08110CE8:: @ 08110CE8 - .incbin "baserom.gba", 0x110CE8, 0x000000A - -gUnk_08110CF2:: @ 08110CF2 - .incbin "baserom.gba", 0x110CF2, 0x000000C - -gUnk_08110CFE:: @ 08110CFE - .incbin "baserom.gba", 0x110CFE, 0x0000002 - -gUnk_08110D00:: @ 08110D00 - .incbin "baserom.gba", 0x110D00, 0x0000002 - -gUnk_08110D02:: @ 08110D02 - .incbin "baserom.gba", 0x110D02, 0x0000006 - -gUnk_08110D08:: @ 08110D08 - .incbin "baserom.gba", 0x110D08, 0x0000025 - -gUnk_08110D2D:: @ 08110D2D - .incbin "baserom.gba", 0x110D2D, 0x0000005 - -gUnk_08110D32:: @ 08110D32 - .incbin "baserom.gba", 0x110D32, 0x0000005 - -gUnk_08110D37:: @ 08110D37 - .incbin "baserom.gba", 0x110D37, 0x0000005 - -gUnk_08110D3C:: @ 08110D3C - .incbin "baserom.gba", 0x110D3C, 0x0000025 - -gUnk_08110D61:: @ 08110D61 - .incbin "baserom.gba", 0x110D61, 0x0000005 - -gUnk_08110D66:: @ 08110D66 - .incbin "baserom.gba", 0x110D66, 0x0000005 - -gUnk_08110D6B:: @ 08110D6B - .incbin "baserom.gba", 0x110D6B, 0x0000005 - -gUnk_08110D70:: @ 08110D70 - .incbin "baserom.gba", 0x110D70, 0x000001D - -gUnk_08110D8D:: @ 08110D8D - .incbin "baserom.gba", 0x110D8D, 0x0000005 - -gUnk_08110D92:: @ 08110D92 - .incbin "baserom.gba", 0x110D92, 0x0000005 - -gUnk_08110D97:: @ 08110D97 - .incbin "baserom.gba", 0x110D97, 0x0000005 - -gUnk_08110D9C:: @ 08110D9C - .incbin "baserom.gba", 0x110D9C, 0x000001D - -gUnk_08110DB9:: @ 08110DB9 - .incbin "baserom.gba", 0x110DB9, 0x0000005 - -gUnk_08110DBE:: @ 08110DBE - .incbin "baserom.gba", 0x110DBE, 0x0000005 - -gUnk_08110DC3:: @ 08110DC3 - .incbin "baserom.gba", 0x110DC3, 0x0000005 - -gUnk_08110DC8:: @ 08110DC8 - .incbin "baserom.gba", 0x110DC8, 0x0000038 - -gUnk_08110E00:: @ 08110E00 - .incbin "baserom.gba", 0x110E00, 0x0000006 - -gUnk_08110E06:: @ 08110E06 - .incbin "baserom.gba", 0x110E06, 0x0000003 - -gUnk_08110E09:: @ 08110E09 - .incbin "baserom.gba", 0x110E09, 0x0000005 - -gUnk_08110E0E:: @ 08110E0E - .incbin "baserom.gba", 0x110E0E, 0x0000002 - -gUnk_08110E10:: @ 08110E10 - .incbin "baserom.gba", 0x110E10, 0x000003C - -gUnk_08110E4C:: @ 08110E4C - .incbin "baserom.gba", 0x110E4C, 0x0000010 - -gUnk_08110E5C:: @ 08110E5C - .incbin "baserom.gba", 0x110E5C, 0x0000008 - -gUnk_08110E64:: @ 08110E64 - .incbin "baserom.gba", 0x110E64, 0x0000004 - -gUnk_08110E68:: @ 08110E68 - .incbin "baserom.gba", 0x110E68, 0x0000010 - -gUnk_08110E78:: @ 08110E78 - .incbin "baserom.gba", 0x110E78, 0x0000012 - -gUnk_08110E8A:: @ 08110E8A - .incbin "baserom.gba", 0x110E8A, 0x000000A - -gUnk_08110E94:: @ 08110E94 - .incbin "baserom.gba", 0x110E94, 0x0000008 - -gUnk_08110E9C:: @ 08110E9C - .incbin "baserom.gba", 0x110E9C, 0x0000005 - -gUnk_08110EA1:: @ 08110EA1 - .incbin "baserom.gba", 0x110EA1, 0x0000005 - -gUnk_08110EA6:: @ 08110EA6 - .incbin "baserom.gba", 0x110EA6, 0x0000006 - -gUnk_08110EAC:: @ 08110EAC - .incbin "baserom.gba", 0x110EAC, 0x0000044 - -gUnk_08110EF0:: @ 08110EF0 - .incbin "baserom.gba", 0x110EF0, 0x0000008 - -gUnk_08110EF8:: @ 08110EF8 - .incbin "baserom.gba", 0x110EF8, 0x0000002 - -gUnk_08110EFA:: @ 08110EFA - .incbin "baserom.gba", 0x110EFA, 0x000000F - -gUnk_08110F09:: @ 08110F09 - .incbin "baserom.gba", 0x110F09, 0x0000001 - -gUnk_08110F0A:: @ 08110F0A - .incbin "baserom.gba", 0x110F0A, 0x0000002 - -gUnk_08110F0C:: @ 08110F0C - .incbin "baserom.gba", 0x110F0C, 0x000000A - -gUnk_08110F16:: @ 08110F16 - .incbin "baserom.gba", 0x110F16, 0x00000EA - -gUnk_08111000:: @ 08111000 - .incbin "baserom.gba", 0x111000, 0x0000003 - -gUnk_08111003:: @ 08111003 - .incbin "baserom.gba", 0x111003, 0x000000A - -gUnk_0811100D:: @ 0811100D - .incbin "baserom.gba", 0x11100D, 0x00000CB - -gCat:: @ 081110D8 - .incbin "baserom.gba", 0x1110D8, 0x0000024 - -gUnk_081110FC:: @ 081110FC - .incbin "baserom.gba", 0x1110FC, 0x0000008 - -gUnk_08111104:: @ 08111104 - .incbin "baserom.gba", 0x111104, 0x0000008 - -gUnk_0811110C:: @ 0811110C - .incbin "baserom.gba", 0x11110C, 0x0000001 - -gUnk_0811110D:: @ 0811110D - .incbin "baserom.gba", 0x11110D, 0x0000001 - -gUnk_0811110E:: @ 0811110E - .incbin "baserom.gba", 0x11110E, 0x0000001 - -gUnk_0811110F:: @ 0811110F - .incbin "baserom.gba", 0x11110F, 0x0000002 - -gUnk_08111111:: @ 08111111 - .incbin "baserom.gba", 0x111111, 0x0000002 - -gUnk_08111113:: @ 08111113 - .incbin "baserom.gba", 0x111113, 0x0000001 - -gUnk_08111114:: @ 08111114 - .incbin "baserom.gba", 0x111114, 0x0000008 - -gUnk_0811111C:: @ 0811111C - .incbin "baserom.gba", 0x11111C, 0x0000008 - -gUnk_08111124:: @ 08111124 - .incbin "baserom.gba", 0x111124, 0x0000008 - -gUnk_0811112C:: @ 0811112C - .incbin "baserom.gba", 0x11112C, 0x0000008 - -gUnk_08111134:: @ 08111134 - .incbin "baserom.gba", 0x111134, 0x0000008 - -gUnk_0811113C:: @ 0811113C - .incbin "baserom.gba", 0x11113C, 0x0000008 - -gUnk_08111144:: @ 08111144 - .incbin "baserom.gba", 0x111144, 0x0000008 - -gUnk_0811114C:: @ 0811114C - .incbin "baserom.gba", 0x11114C, 0x0000008 - -gUnk_08111154:: @ 08111154 - .incbin "baserom.gba", 0x111154, 0x0000017 - -gUnk_0811116B:: @ 0811116B - .incbin "baserom.gba", 0x11116B, 0x0000009 - -gUnk_08111174:: @ 08111174 - .incbin "baserom.gba", 0x111174, 0x000003C - -gUnk_081111B0:: @ 081111B0 - .incbin "baserom.gba", 0x1111B0, 0x0000009 - -gUnk_081111B9:: @ 081111B9 - .incbin "baserom.gba", 0x1111B9, 0x0000003 - -gUnk_081111BC:: @ 081111BC - .incbin "baserom.gba", 0x1111BC, 0x0000006 - -gUnk_081111C2:: @ 081111C2 - .incbin "baserom.gba", 0x1111C2, 0x0000011 - -gUnk_081111D3:: @ 081111D3 - .incbin "baserom.gba", 0x1111D3, 0x0000018 - -gUnk_081111EB:: @ 081111EB - .incbin "baserom.gba", 0x1111EB, 0x0000010 - -gUnk_081111FB:: @ 081111FB - .incbin "baserom.gba", 0x1111FB, 0x0000009 - -gUnk_08111204:: @ 08111204 - .incbin "baserom.gba", 0x111204, 0x000000D - -gUnk_08111211:: @ 08111211 - .incbin "baserom.gba", 0x111211, 0x000000D - -gUnk_0811121E:: @ 0811121E - .incbin "baserom.gba", 0x11121E, 0x000000E - -gUnk_0811122C:: @ 0811122C - .incbin "baserom.gba", 0x11122C, 0x000000C - -gUnk_08111238:: @ 08111238 - .incbin "baserom.gba", 0x111238, 0x0000024 - -gUnk_0811125C:: @ 0811125C - .incbin "baserom.gba", 0x11125C, 0x0000028 - -gUnk_08111284:: @ 08111284 - .incbin "baserom.gba", 0x111284, 0x0000080 - -gUnk_08111304:: @ 08111304 - .incbin "baserom.gba", 0x111304, 0x0000009 - -gUnk_0811130D:: @ 0811130D - .incbin "baserom.gba", 0x11130D, 0x0000001 - -gUnk_0811130E:: @ 0811130E - .incbin "baserom.gba", 0x11130E, 0x0000001 - -gUnk_0811130F:: @ 0811130F - .incbin "baserom.gba", 0x11130F, 0x0000009 - -gUnk_08111318:: @ 08111318 - .incbin "baserom.gba", 0x111318, 0x0000006 - -gUnk_0811131E:: @ 0811131E - .incbin "baserom.gba", 0x11131E, 0x0000025 - -gUnk_08111343:: @ 08111343 - .incbin "baserom.gba", 0x111343, 0x0000015 - -gUnk_08111358:: @ 08111358 - .incbin "baserom.gba", 0x111358, 0x0000010 - -gUnk_08111368:: @ 08111368 - .incbin "baserom.gba", 0x111368, 0x000000C - -gUnk_08111374:: @ 08111374 - .incbin "baserom.gba", 0x111374, 0x0000006 - -gUnk_0811137A:: @ 0811137A - .incbin "baserom.gba", 0x11137A, 0x0000006 - -gUnk_08111380:: @ 08111380 - .incbin "baserom.gba", 0x111380, 0x0000005 - -gUnk_08111385:: @ 08111385 - .incbin "baserom.gba", 0x111385, 0x0000005 - -gUnk_0811138A:: @ 0811138A - .incbin "baserom.gba", 0x11138A, 0x0000005 - -gUnk_0811138F:: @ 0811138F - .incbin "baserom.gba", 0x11138F, 0x0000005 - -gUnk_08111394:: @ 08111394 - .incbin "baserom.gba", 0x111394, 0x0000025 - -gUnk_081113B9:: @ 081113B9 - .incbin "baserom.gba", 0x1113B9, 0x0000025 - -gUnk_081113DE:: @ 081113DE - .incbin "baserom.gba", 0x1113DE, 0x0000021 - -gUnk_081113FF:: @ 081113FF - .incbin "baserom.gba", 0x1113FF, 0x0000008 - -gUnk_08111407:: @ 08111407 - .incbin "baserom.gba", 0x111407, 0x0000005 - -gUnk_0811140C:: @ 0811140C - .incbin "baserom.gba", 0x11140C, 0x0000002 - -gUnk_0811140E:: @ 0811140E - .incbin "baserom.gba", 0x11140E, 0x0000005 - -gUnk_08111413:: @ 08111413 - .incbin "baserom.gba", 0x111413, 0x0000009 - -gUnk_0811141C:: @ 0811141C - .incbin "baserom.gba", 0x11141C, 0x0000008 - -gUnk_08111424:: @ 08111424 - .incbin "baserom.gba", 0x111424, 0x0000025 - -gUnk_08111449:: @ 08111449 - .incbin "baserom.gba", 0x111449, 0x0000071 - -gUnk_081114BA:: @ 081114BA - .incbin "baserom.gba", 0x1114BA, 0x0000029 - -gUnk_081114E3:: @ 081114E3 - .incbin "baserom.gba", 0x1114E3, 0x0000005 - -gUnk_081114E8:: @ 081114E8 - .incbin "baserom.gba", 0x1114E8, 0x0000013 - -gUnk_081114FB:: @ 081114FB - .incbin "baserom.gba", 0x1114FB, 0x0000016 - -gUnk_08111511:: @ 08111511 - .incbin "baserom.gba", 0x111511, 0x0000002 - -gUnk_08111513:: @ 08111513 - .incbin "baserom.gba", 0x111513, 0x0000001 - -gUnk_08111514:: @ 08111514 - .incbin "baserom.gba", 0x111514, 0x0000003 - -gUnk_08111517:: @ 08111517 - .incbin "baserom.gba", 0x111517, 0x0000003 - -gUnk_0811151A:: @ 0811151A - .incbin "baserom.gba", 0x11151A, 0x0000001 - -gUnk_0811151B:: @ 0811151B - .incbin "baserom.gba", 0x11151B, 0x0000001 - -gUnk_0811151C:: @ 0811151C - .incbin "baserom.gba", 0x11151C, 0x0000004 - -gUnk_08111520:: @ 08111520 - .incbin "baserom.gba", 0x111520, 0x0000007 - -gUnk_08111527:: @ 08111527 - .incbin "baserom.gba", 0x111527, 0x0000002 - -gUnk_08111529:: @ 08111529 - .incbin "baserom.gba", 0x111529, 0x0000007 - -gUnk_08111530:: @ 08111530 - .incbin "baserom.gba", 0x111530, 0x0000008 - -gUnk_08111538:: @ 08111538 - .incbin "baserom.gba", 0x111538, 0x0000006 - -gUnk_0811153E:: @ 0811153E - .incbin "baserom.gba", 0x11153E, 0x0000006 - -gUnk_08111544:: @ 08111544 - .incbin "baserom.gba", 0x111544, 0x0000005 - -gUnk_08111549:: @ 08111549 - .incbin "baserom.gba", 0x111549, 0x0000005 - -gUnk_0811154E:: @ 0811154E - .incbin "baserom.gba", 0x11154E, 0x0000005 - -gUnk_08111553:: @ 08111553 - .incbin "baserom.gba", 0x111553, 0x0000039 - -gUnk_0811158C:: @ 0811158C - .incbin "baserom.gba", 0x11158C, 0x0000008 - -gUnk_08111594:: @ 08111594 - .incbin "baserom.gba", 0x111594, 0x000002C - -gUnk_081115C0:: @ 081115C0 - .incbin "baserom.gba", 0x1115C0, 0x0000010 - -gUnk_081115D0:: @ 081115D0 - .incbin "baserom.gba", 0x1115D0, 0x000000C - -gUnk_081115DC:: @ 081115DC - .incbin "baserom.gba", 0x1115DC, 0x0000010 - -gUnk_081115EC:: @ 081115EC - .incbin "baserom.gba", 0x1115EC, 0x0000024 - -gUnk_08111610:: @ 08111610 - .incbin "baserom.gba", 0x111610, 0x0000008 - -gUnk_08111618:: @ 08111618 - .incbin "baserom.gba", 0x111618, 0x0000003 - -gUnk_0811161B:: @ 0811161B - .incbin "baserom.gba", 0x11161B, 0x0000005 - -gUnk_08111620:: @ 08111620 - .incbin "baserom.gba", 0x111620, 0x0000003 - -gUnk_08111623:: @ 08111623 - .incbin "baserom.gba", 0x111623, 0x0000008 - -gUnk_0811162B:: @ 0811162B - .incbin "baserom.gba", 0x11162B, 0x000000D - -gUnk_08111638:: @ 08111638 - .incbin "baserom.gba", 0x111638, 0x000002C - -gUnk_08111664:: @ 08111664 - .incbin "baserom.gba", 0x111664, 0x0000016 - -gUnk_0811167A:: @ 0811167A - .incbin "baserom.gba", 0x11167A, 0x0000016 - -gUnk_08111690:: @ 08111690 - .incbin "baserom.gba", 0x111690, 0x0000016 - -gUnk_081116A6:: @ 081116A6 - .incbin "baserom.gba", 0x1116A6, 0x0000016 - -gUnk_081116BC:: @ 081116BC - .incbin "baserom.gba", 0x1116BC, 0x0000016 - -gUnk_081116D2:: @ 081116D2 - .incbin "baserom.gba", 0x1116D2, 0x0000016 - -gUnk_081116E8:: @ 081116E8 - .incbin "baserom.gba", 0x1116E8, 0x0000016 - -gUnk_081116FE:: @ 081116FE - .incbin "baserom.gba", 0x1116FE, 0x0000016 - -gUnk_08111714:: @ 08111714 - .incbin "baserom.gba", 0x111714, 0x0000003 - -gUnk_08111717:: @ 08111717 - .incbin "baserom.gba", 0x111717, 0x0000001 - -gUnk_08111718:: @ 08111718 - .incbin "baserom.gba", 0x111718, 0x0000001 - -gUnk_08111719:: @ 08111719 - .incbin "baserom.gba", 0x111719, 0x0000001 - -gUnk_0811171A:: @ 0811171A - .incbin "baserom.gba", 0x11171A, 0x0000010 - -gUnk_0811172A:: @ 0811172A - .incbin "baserom.gba", 0x11172A, 0x0000016 - -gUnk_08111740:: @ 08111740 - .incbin "baserom.gba", 0x111740, 0x000002C - -gUnk_0811176C:: @ 0811176C - .incbin "baserom.gba", 0x11176C, 0x0000005 - -gUnk_08111771:: @ 08111771 - .incbin "baserom.gba", 0x111771, 0x0000005 - -gUnk_08111776:: @ 08111776 - .incbin "baserom.gba", 0x111776, 0x0000005 - -gUnk_0811177B:: @ 0811177B - .incbin "baserom.gba", 0x11177B, 0x000004D - -gUnk_081117C8:: @ 081117C8 - .incbin "baserom.gba", 0x1117C8, 0x0000031 - -gUnk_081117F9:: @ 081117F9 - .incbin "baserom.gba", 0x1117F9, 0x000001E - -gUnk_08111817:: @ 08111817 - .incbin "baserom.gba", 0x111817, 0x0000002 - -gUnk_08111819:: @ 08111819 - .incbin "baserom.gba", 0x111819, 0x0000002 - -gUnk_0811181B:: @ 0811181B - .incbin "baserom.gba", 0x11181B, 0x0000001 - -gUnk_0811181C:: @ 0811181C - .incbin "baserom.gba", 0x11181C, 0x0000001 - -gUnk_0811181D:: @ 0811181D - .incbin "baserom.gba", 0x11181D, 0x0000001 - -gUnk_0811181E:: @ 0811181E - .incbin "baserom.gba", 0x11181E, 0x0000004 - -gUnk_08111822:: @ 08111822 - .incbin "baserom.gba", 0x111822, 0x0000008 - -gUnk_0811182A:: @ 0811182A - .incbin "baserom.gba", 0x11182A, 0x0000031 - -gUnk_0811185B:: @ 0811185B - .incbin "baserom.gba", 0x11185B, 0x0000071 - -gUnk_081118CC:: @ 081118CC - .incbin "baserom.gba", 0x1118CC, 0x0000024 - -gUnk_081118F0:: @ 081118F0 - .incbin "baserom.gba", 0x1118F0, 0x0000024 - -gUnk_08111914:: @ 08111914 - .incbin "baserom.gba", 0x111914, 0x0000004 - -gUnk_08111918:: @ 08111918 - .incbin "baserom.gba", 0x111918, 0x0000001 - -gUnk_08111919:: @ 08111919 - .incbin "baserom.gba", 0x111919, 0x0000001 - -gUnk_0811191A:: @ 0811191A - .incbin "baserom.gba", 0x11191A, 0x0000001 - -gUnk_0811191B:: @ 0811191B - .incbin "baserom.gba", 0x11191B, 0x0000002 - -gUnk_0811191D:: @ 0811191D - .incbin "baserom.gba", 0x11191D, 0x0000001 - -gUnk_0811191E:: @ 0811191E - .incbin "baserom.gba", 0x11191E, 0x0000002 - -gUnk_08111920:: @ 08111920 - .incbin "baserom.gba", 0x111920, 0x0000002 - -gUnk_08111922:: @ 08111922 - .incbin "baserom.gba", 0x111922, 0x0000006 - -gUnk_08111928:: @ 08111928 - .incbin "baserom.gba", 0x111928, 0x0000010 - -gUnk_08111938:: @ 08111938 - .incbin "baserom.gba", 0x111938, 0x0000028 - -gUnk_08111960:: @ 08111960 - .incbin "baserom.gba", 0x111960, 0x0000005 - -gUnk_08111965:: @ 08111965 - .incbin "baserom.gba", 0x111965, 0x0000005 - -gUnk_0811196A:: @ 0811196A - .incbin "baserom.gba", 0x11196A, 0x0000005 - -gUnk_0811196F:: @ 0811196F - .incbin "baserom.gba", 0x11196F, 0x0000005 - -gUnk_08111974:: @ 08111974 - .incbin "baserom.gba", 0x111974, 0x0000011 - -gUnk_08111985:: @ 08111985 - .incbin "baserom.gba", 0x111985, 0x0000011 - -gUnk_08111996:: @ 08111996 - .incbin "baserom.gba", 0x111996, 0x0000011 - -gUnk_081119A7:: @ 081119A7 - .incbin "baserom.gba", 0x1119A7, 0x0000011 - -gUnk_081119B8:: @ 081119B8 - .incbin "baserom.gba", 0x1119B8, 0x000000C - -gUnk_081119C4:: @ 081119C4 - .incbin "baserom.gba", 0x1119C4, 0x000000C - -gUnk_081119D0:: @ 081119D0 - .incbin "baserom.gba", 0x1119D0, 0x000000C - -gUnk_081119DC:: @ 081119DC - .incbin "baserom.gba", 0x1119DC, 0x000000C - -gUnk_081119E8:: @ 081119E8 - .incbin "baserom.gba", 0x1119E8, 0x0000009 - -gUnk_081119F1:: @ 081119F1 - .incbin "baserom.gba", 0x1119F1, 0x0000005 - -gUnk_081119F6:: @ 081119F6 - .incbin "baserom.gba", 0x1119F6, 0x0000004 - -gUnk_081119FA:: @ 081119FA - .incbin "baserom.gba", 0x1119FA, 0x0000009 - -gUnk_08111A03:: @ 08111A03 - .incbin "baserom.gba", 0x111A03, 0x0000009 - -gUnk_08111A0C:: @ 08111A0C - .incbin "baserom.gba", 0x111A0C, 0x0000008 - -gUnk_08111A14:: @ 08111A14 - .incbin "baserom.gba", 0x111A14, 0x0000002 - -gUnk_08111A16:: @ 08111A16 - .incbin "baserom.gba", 0x111A16, 0x0000002 - -gUnk_08111A18:: @ 08111A18 - .incbin "baserom.gba", 0x111A18, 0x0000001 - -gUnk_08111A19:: @ 08111A19 - .incbin "baserom.gba", 0x111A19, 0x0000003 - -gUnk_08111A1C:: @ 08111A1C - .incbin "baserom.gba", 0x111A1C, 0x0000003 - -gUnk_08111A1F:: @ 08111A1F - .incbin "baserom.gba", 0x111A1F, 0x0000002 - -gUnk_08111A21:: @ 08111A21 - .incbin "baserom.gba", 0x111A21, 0x0000001 - -gUnk_08111A22:: @ 08111A22 - .incbin "baserom.gba", 0x111A22, 0x0000002 - -gUnk_08111A24:: @ 08111A24 - .incbin "baserom.gba", 0x111A24, 0x0000008 - -gUnk_08111A2C:: @ 08111A2C - .incbin "baserom.gba", 0x111A2C, 0x0000054 - -gUnk_08111A80:: @ 08111A80 - .incbin "baserom.gba", 0x111A80, 0x000000C - -gUnk_08111A8C:: @ 08111A8C - .incbin "baserom.gba", 0x111A8C, 0x0000008 - -gUnk_08111A94:: @ 08111A94 - .incbin "baserom.gba", 0x111A94, 0x0000030 - -gUnk_08111AC4:: @ 08111AC4 - .incbin "baserom.gba", 0x111AC4, 0x0000005 - -gUnk_08111AC9:: @ 08111AC9 - .incbin "baserom.gba", 0x111AC9, 0x0000005 - -gUnk_08111ACE:: @ 08111ACE - .incbin "baserom.gba", 0x111ACE, 0x0000005 - -gUnk_08111AD3:: @ 08111AD3 - .incbin "baserom.gba", 0x111AD3, 0x0000005 - -gUnk_08111AD8:: @ 08111AD8 - .incbin "baserom.gba", 0x111AD8, 0x0000021 - -gUnk_08111AF9:: @ 08111AF9 - .incbin "baserom.gba", 0x111AF9, 0x0000021 - -gUnk_08111B1A:: @ 08111B1A - .incbin "baserom.gba", 0x111B1A, 0x0000005 - -gUnk_08111B1F:: @ 08111B1F - .incbin "baserom.gba", 0x111B1F, 0x0000007 - -gUnk_08111B26:: @ 08111B26 - .incbin "baserom.gba", 0x111B26, 0x0000015 - -gUnk_08111B3B:: @ 08111B3B - .incbin "baserom.gba", 0x111B3B, 0x000000B - -gUnk_08111B46:: @ 08111B46 - .incbin "baserom.gba", 0x111B46, 0x000001A - -gUnk_08111B60:: @ 08111B60 - .incbin "baserom.gba", 0x111B60, 0x0000023 - -gUnk_08111B83:: @ 08111B83 - .incbin "baserom.gba", 0x111B83, 0x0000005 - -gUnk_08111B88:: @ 08111B88 - .incbin "baserom.gba", 0x111B88, 0x0000010 - -gUnk_08111B98:: @ 08111B98 - .incbin "baserom.gba", 0x111B98, 0x0000008 - -gUnk_08111BA0:: @ 08111BA0 - .incbin "baserom.gba", 0x111BA0, 0x000001E - -gUnk_08111BBE:: @ 08111BBE - .incbin "baserom.gba", 0x111BBE, 0x0000005 - -gUnk_08111BC3:: @ 08111BC3 - .incbin "baserom.gba", 0x111BC3, 0x0000005 - -gUnk_08111BC8:: @ 08111BC8 - .incbin "baserom.gba", 0x111BC8, 0x0000005 - -gUnk_08111BCD:: @ 08111BCD - .incbin "baserom.gba", 0x111BCD, 0x0000025 - -gUnk_08111BF2:: @ 08111BF2 - .incbin "baserom.gba", 0x111BF2, 0x0000026 - -gUnk_08111C18:: @ 08111C18 - .incbin "baserom.gba", 0x111C18, 0x0000002 - -gUnk_08111C1A:: @ 08111C1A - .incbin "baserom.gba", 0x111C1A, 0x0000002 - -gUnk_08111C1C:: @ 08111C1C - .incbin "baserom.gba", 0x111C1C, 0x0000004 - -gUnk_08111C20:: @ 08111C20 - .incbin "baserom.gba", 0x111C20, 0x0000001 - -gUnk_08111C21:: @ 08111C21 - .incbin "baserom.gba", 0x111C21, 0x0000002 - -gUnk_08111C23:: @ 08111C23 - .incbin "baserom.gba", 0x111C23, 0x0000019 - -gUnk_08111C3C:: @ 08111C3C - .incbin "baserom.gba", 0x111C3C, 0x000000C - -gUnk_08111C48:: @ 08111C48 - .incbin "baserom.gba", 0x111C48, 0x0000008 - -gUnk_08111C50:: @ 08111C50 - .incbin "baserom.gba", 0x111C50, 0x000000C - -gUnk_08111C5C:: @ 08111C5C - .incbin "baserom.gba", 0x111C5C, 0x0000018 - -gUnk_08111C74:: @ 08111C74 - .incbin "baserom.gba", 0x111C74, 0x0000010 - -gUnk_08111C84:: @ 08111C84 - .incbin "baserom.gba", 0x111C84, 0x0000008 - -gUnk_08111C8C:: @ 08111C8C - .incbin "baserom.gba", 0x111C8C, 0x0000010 - -gUnk_08111C9C:: @ 08111C9C - .incbin "baserom.gba", 0x111C9C, 0x000000C - -gUnk_08111CA8:: @ 08111CA8 - .incbin "baserom.gba", 0x111CA8, 0x000000C - -gUnk_08111CB4:: @ 08111CB4 - .incbin "baserom.gba", 0x111CB4, 0x0000004 - -gUnk_08111CB8:: @ 08111CB8 - .incbin "baserom.gba", 0x111CB8, 0x0000004 - -gUnk_08111CBC:: @ 08111CBC - .incbin "baserom.gba", 0x111CBC, 0x0000005 - -gUnk_08111CC1:: @ 08111CC1 - .incbin "baserom.gba", 0x111CC1, 0x0000005 - -gUnk_08111CC6:: @ 08111CC6 - .incbin "baserom.gba", 0x111CC6, 0x0000005 - -gUnk_08111CCB:: @ 08111CCB - .incbin "baserom.gba", 0x111CCB, 0x0000005 - -gUnk_08111CD0:: @ 08111CD0 - .incbin "baserom.gba", 0x111CD0, 0x0000019 - -gUnk_08111CE9:: @ 08111CE9 - .incbin "baserom.gba", 0x111CE9, 0x0000019 - -gUnk_08111D02:: @ 08111D02 - .incbin "baserom.gba", 0x111D02, 0x0000015 - -gUnk_08111D17:: @ 08111D17 - .incbin "baserom.gba", 0x111D17, 0x0000004 - -gUnk_08111D1B:: @ 08111D1B - .incbin "baserom.gba", 0x111D1B, 0x000000F - -gUnk_08111D2A:: @ 08111D2A - .incbin "baserom.gba", 0x111D2A, 0x0000001 - -gUnk_08111D2B:: @ 08111D2B - .incbin "baserom.gba", 0x111D2B, 0x0000009 - -gUnk_08111D34:: @ 08111D34 - .incbin "baserom.gba", 0x111D34, 0x0000024 - -gUnk_08111D58:: @ 08111D58 - .incbin "baserom.gba", 0x111D58, 0x0000030 - -gUnk_08111D88:: @ 08111D88 - .incbin "baserom.gba", 0x111D88, 0x0000020 - -gUnk_08111DA8:: @ 08111DA8 - .incbin "baserom.gba", 0x111DA8, 0x0000008 - -gUnk_08111DB0:: @ 08111DB0 - .incbin "baserom.gba", 0x111DB0, 0x0000066 - -gUnk_08111E16:: @ 08111E16 - .incbin "baserom.gba", 0x111E16, 0x000001A - -gUnk_08111E30:: @ 08111E30 - .incbin "baserom.gba", 0x111E30, 0x0000004 - -gUnk_08111E34:: @ 08111E34 - .incbin "baserom.gba", 0x111E34, 0x00000AD - -gUnk_08111EE1:: @ 08111EE1 - .incbin "baserom.gba", 0x111EE1, 0x0000047 - -gUnk_08111F28:: @ 08111F28 - .incbin "baserom.gba", 0x111F28, 0x0000008 - -gUnk_08111F30:: @ 08111F30 - .incbin "baserom.gba", 0x111F30, 0x0000044 - -gUnk_08111F74:: @ 08111F74 - .incbin "baserom.gba", 0x111F74, 0x0000064 - -gUnk_08111FD8:: @ 08111FD8 - .incbin "baserom.gba", 0x111FD8, 0x000000A - -gUnk_08111FE2:: @ 08111FE2 - .incbin "baserom.gba", 0x111FE2, 0x0000005 - -gUnk_08111FE7:: @ 08111FE7 - .incbin "baserom.gba", 0x111FE7, 0x0000005 - -gUnk_08111FEC:: @ 08111FEC - .incbin "baserom.gba", 0x111FEC, 0x0000005 - -gUnk_08111FF1:: @ 08111FF1 - .incbin "baserom.gba", 0x111FF1, 0x0000005 - -gUnk_08111FF6:: @ 08111FF6 - .incbin "baserom.gba", 0x111FF6, 0x0000011 - -gUnk_08112007:: @ 08112007 - .incbin "baserom.gba", 0x112007, 0x0000007 - -gUnk_0811200E:: @ 0811200E - .incbin "baserom.gba", 0x11200E, 0x000000A - -gUnk_08112018:: @ 08112018 - .incbin "baserom.gba", 0x112018, 0x0000005 - -gUnk_0811201D:: @ 0811201D - .incbin "baserom.gba", 0x11201D, 0x0000005 - -gUnk_08112022:: @ 08112022 - .incbin "baserom.gba", 0x112022, 0x0000005 - -gUnk_08112027:: @ 08112027 - .incbin "baserom.gba", 0x112027, 0x0000005 - -gUnk_0811202C:: @ 0811202C - .incbin "baserom.gba", 0x11202C, 0x0000005 - -gUnk_08112031:: @ 08112031 - .incbin "baserom.gba", 0x112031, 0x0000005 - -gUnk_08112036:: @ 08112036 - .incbin "baserom.gba", 0x112036, 0x0000005 - -gUnk_0811203B:: @ 0811203B - .incbin "baserom.gba", 0x11203B, 0x0000005 - -gUnk_08112040:: @ 08112040 - .incbin "baserom.gba", 0x112040, 0x0000005 - -gUnk_08112045:: @ 08112045 - .incbin "baserom.gba", 0x112045, 0x0000005 - -gUnk_0811204A:: @ 0811204A - .incbin "baserom.gba", 0x11204A, 0x0000005 - -gUnk_0811204F:: @ 0811204F - .incbin "baserom.gba", 0x11204F, 0x0000005 - -gUnk_08112054:: @ 08112054 - .incbin "baserom.gba", 0x112054, 0x0000005 - -gUnk_08112059:: @ 08112059 - .incbin "baserom.gba", 0x112059, 0x0000005 - -gUnk_0811205E:: @ 0811205E - .incbin "baserom.gba", 0x11205E, 0x0000005 - -gUnk_08112063:: @ 08112063 - .incbin "baserom.gba", 0x112063, 0x0000005 - -gUnk_08112068:: @ 08112068 - .incbin "baserom.gba", 0x112068, 0x000000D - -gUnk_08112075:: @ 08112075 - .incbin "baserom.gba", 0x112075, 0x000000D - -gUnk_08112082:: @ 08112082 - .incbin "baserom.gba", 0x112082, 0x000000D - -gUnk_0811208F:: @ 0811208F - .incbin "baserom.gba", 0x11208F, 0x000000D - -gUnk_0811209C:: @ 0811209C - .incbin "baserom.gba", 0x11209C, 0x0000011 - -gUnk_081120AD:: @ 081120AD - .incbin "baserom.gba", 0x1120AD, 0x0000011 - -gUnk_081120BE:: @ 081120BE - .incbin "baserom.gba", 0x1120BE, 0x0000011 - -gUnk_081120CF:: @ 081120CF - .incbin "baserom.gba", 0x1120CF, 0x0000011 - -gUnk_081120E0:: @ 081120E0 - .incbin "baserom.gba", 0x1120E0, 0x0000020 - -gUnk_08112100:: @ 08112100 - .incbin "baserom.gba", 0x112100, 0x0000021 - -gUnk_08112121:: @ 08112121 - .incbin "baserom.gba", 0x112121, 0x000000A - -gUnk_0811212B:: @ 0811212B - .incbin "baserom.gba", 0x11212B, 0x0000089 - -gUnk_081121B4:: @ 081121B4 - .incbin "baserom.gba", 0x1121B4, 0x0000010 - -gUnk_081121C4:: @ 081121C4 - .incbin "baserom.gba", 0x1121C4, 0x0000010 - -gUnk_081121D4:: @ 081121D4 - .incbin "baserom.gba", 0x1121D4, 0x0000008 - -gUnk_081121DC:: @ 081121DC - .incbin "baserom.gba", 0x1121DC, 0x0000008 - -gUnk_081121E4:: @ 081121E4 - .incbin "baserom.gba", 0x1121E4, 0x0000020 - -gUnk_08112204:: @ 08112204 - .incbin "baserom.gba", 0x112204, 0x0000004 - -gUnk_08112208:: @ 08112208 - .incbin "baserom.gba", 0x112208, 0x0000024 - -gUnk_0811222C:: @ 0811222C - .incbin "baserom.gba", 0x11222C, 0x000000C - -gUnk_08112238:: @ 08112238 - .incbin "baserom.gba", 0x112238, 0x000000B - -gUnk_08112243:: @ 08112243 - .incbin "baserom.gba", 0x112243, 0x000001D - -gUnk_08112260:: @ 08112260 - .incbin "baserom.gba", 0x112260, 0x0000018 - -gUnk_08112278:: @ 08112278 - .incbin "baserom.gba", 0x112278, 0x000001C - -gUnk_08112294:: @ 08112294 - .incbin "baserom.gba", 0x112294, 0x0000008 - -gUnk_0811229C:: @ 0811229C - .incbin "baserom.gba", 0x11229C, 0x0000004 - -gUnk_081122A0:: @ 081122A0 - .incbin "baserom.gba", 0x1122A0, 0x0000008 - -gUnk_081122A8:: @ 081122A8 - .incbin "baserom.gba", 0x1122A8, 0x0000008 - -gUnk_081122B0:: @ 081122B0 - .incbin "baserom.gba", 0x1122B0, 0x0000008 - -gUnk_081122B8:: @ 081122B8 - .incbin "baserom.gba", 0x1122B8, 0x0000008 - -gUnk_081122C0:: @ 081122C0 - .incbin "baserom.gba", 0x1122C0, 0x0000009 - -gUnk_081122C9:: @ 081122C9 - .incbin "baserom.gba", 0x1122C9, 0x0000009 - -gUnk_081122D2:: @ 081122D2 - .incbin "baserom.gba", 0x1122D2, 0x0000009 - -gUnk_081122DB:: @ 081122DB - .incbin "baserom.gba", 0x1122DB, 0x0000025 - -gUnk_08112300:: @ 08112300 - .incbin "baserom.gba", 0x112300, 0x0000025 - -gUnk_08112325:: @ 08112325 - .incbin "baserom.gba", 0x112325, 0x0000025 - -gUnk_0811234A:: @ 0811234A - .incbin "baserom.gba", 0x11234A, 0x000003D - -gUnk_08112387:: @ 08112387 - .incbin "baserom.gba", 0x112387, 0x0000019 - -gUnk_081123A0:: @ 081123A0 - .incbin "baserom.gba", 0x1123A0, 0x0000029 - -gUnk_081123C9:: @ 081123C9 - .incbin "baserom.gba", 0x1123C9, 0x0000025 - -gUnk_081123EE:: @ 081123EE - .incbin "baserom.gba", 0x1123EE, 0x0000079 - -gUnk_08112467:: @ 08112467 - .incbin "baserom.gba", 0x112467, 0x0000032 - -gUnk_08112499:: @ 08112499 - .incbin "baserom.gba", 0x112499, 0x0000013 - -gUnk_081124AC:: @ 081124AC - .incbin "baserom.gba", 0x1124AC, 0x0000009 - -gUnk_081124B5:: @ 081124B5 - .incbin "baserom.gba", 0x1124B5, 0x000001D - -gUnk_081124D2:: @ 081124D2 - .incbin "baserom.gba", 0x1124D2, 0x0000019 - -gUnk_081124EB:: @ 081124EB - .incbin "baserom.gba", 0x1124EB, 0x0000014 - -gUnk_081124FF:: @ 081124FF - .incbin "baserom.gba", 0x1124FF, 0x0000025 - -gUnk_08112524:: @ 08112524 - .incbin "baserom.gba", 0x112524, 0x0000019 - -gUnk_0811253D:: @ 0811253D - .incbin "baserom.gba", 0x11253D, 0x0000045 - -gUnk_08112582:: @ 08112582 - .incbin "baserom.gba", 0x112582, 0x0000016 - -gUnk_08112598:: @ 08112598 - .incbin "baserom.gba", 0x112598, 0x000005C - -gUnk_081125F4:: @ 081125F4 - .incbin "baserom.gba", 0x1125F4, 0x000000C - -gUnk_08112600:: @ 08112600 - .incbin "baserom.gba", 0x112600, 0x0000074 - -gUnk_08112674:: @ 08112674 - .incbin "baserom.gba", 0x112674, 0x0000060 - -gUnk_081126D4:: @ 081126D4 - .incbin "baserom.gba", 0x1126D4, 0x0000010 - -gUnk_081126E4:: @ 081126E4 - .incbin "baserom.gba", 0x1126E4, 0x0000004 - -gUnk_081126E8:: @ 081126E8 - .incbin "baserom.gba", 0x1126E8, 0x0000008 - -gUnk_081126F0:: @ 081126F0 - .incbin "baserom.gba", 0x1126F0, 0x000024C - -gUnk_0811293C:: @ 0811293C - .incbin "baserom.gba", 0x11293C, 0x0000001 - -gUnk_0811293D:: @ 0811293D - .incbin "baserom.gba", 0x11293D, 0x00002B3 - -gUnk_08112BF0:: @ 08112BF0 - .incbin "baserom.gba", 0x112BF0, 0x0000050 - -gUnk_08112C40:: @ 08112C40 - .incbin "baserom.gba", 0x112C40, 0x000000A - -gUnk_08112C4A:: @ 08112C4A - .incbin "baserom.gba", 0x112C4A, 0x0000006 - -gUnk_08112C50:: @ 08112C50 - .incbin "baserom.gba", 0x112C50, 0x000000C - -gUnk_08112C5C:: @ 08112C5C - .incbin "baserom.gba", 0x112C5C, 0x0000004 - -gUnk_08112C60:: @ 08112C60 - .incbin "baserom.gba", 0x112C60, 0x0000008 - -gUnk_08112C68:: @ 08112C68 - .incbin "baserom.gba", 0x112C68, 0x0000005 - -gUnk_08112C6D:: @ 08112C6D - .incbin "baserom.gba", 0x112C6D, 0x0000005 - -gUnk_08112C72:: @ 08112C72 - .incbin "baserom.gba", 0x112C72, 0x0000005 - -gUnk_08112C77:: @ 08112C77 - .incbin "baserom.gba", 0x112C77, 0x0000005 - -gUnk_08112C7C:: @ 08112C7C - .incbin "baserom.gba", 0x112C7C, 0x0000021 - -gUnk_08112C9D:: @ 08112C9D - .incbin "baserom.gba", 0x112C9D, 0x0000021 - -gUnk_08112CBE:: @ 08112CBE - .incbin "baserom.gba", 0x112CBE, 0x0000021 - -gUnk_08112CDF:: @ 08112CDF - .incbin "baserom.gba", 0x112CDF, 0x0000021 - -gUnk_08112D00:: @ 08112D00 - .incbin "baserom.gba", 0x112D00, 0x0000005 - -gUnk_08112D05:: @ 08112D05 - .incbin "baserom.gba", 0x112D05, 0x0000005 - -gUnk_08112D0A:: @ 08112D0A - .incbin "baserom.gba", 0x112D0A, 0x0000005 - -gUnk_08112D0F:: @ 08112D0F - .incbin "baserom.gba", 0x112D0F, 0x0000005 - -gUnk_08112D14:: @ 08112D14 - .incbin "baserom.gba", 0x112D14, 0x0000034 - -gUnk_08112D48:: @ 08112D48 - .incbin "baserom.gba", 0x112D48, 0x0000008 - -gUnk_08112D50:: @ 08112D50 - .incbin "baserom.gba", 0x112D50, 0x000000A - -gUnk_08112D5A:: @ 08112D5A - .incbin "baserom.gba", 0x112D5A, 0x0000015 - -gUnk_08112D6F:: @ 08112D6F - .incbin "baserom.gba", 0x112D6F, 0x0000009 - -gUnk_08112D78:: @ 08112D78 - .incbin "baserom.gba", 0x112D78, 0x0000011 - -gUnk_08112D89:: @ 08112D89 - .incbin "baserom.gba", 0x112D89, 0x0000011 - -gUnk_08112D9A:: @ 08112D9A - .incbin "baserom.gba", 0x112D9A, 0x000004D - -gUnk_08112DE7:: @ 08112DE7 - .incbin "baserom.gba", 0x112DE7, 0x0000005 - -gUnk_08112DEC:: @ 08112DEC - .incbin "baserom.gba", 0x112DEC, 0x0000030 - -gUnk_08112E1C:: @ 08112E1C - .incbin "baserom.gba", 0x112E1C, 0x0000010 - -gUnk_08112E2C:: @ 08112E2C - .incbin "baserom.gba", 0x112E2C, 0x0000028 - -gUnk_08112E54:: @ 08112E54 - .incbin "baserom.gba", 0x112E54, 0x0000008 - -gUnk_08112E5C:: @ 08112E5C - .incbin "baserom.gba", 0x112E5C, 0x0000049 - -gUnk_08112EA5:: @ 08112EA5 - .incbin "baserom.gba", 0x112EA5, 0x0000005 - -gUnk_08112EAA:: @ 08112EAA - .incbin "baserom.gba", 0x112EAA, 0x0000005 - -gUnk_08112EAF:: @ 08112EAF - .incbin "baserom.gba", 0x112EAF, 0x0000005 - -gUnk_08112EB4:: @ 08112EB4 - .incbin "baserom.gba", 0x112EB4, 0x0000071 - -gUnk_08112F25:: @ 08112F25 - .incbin "baserom.gba", 0x112F25, 0x0000005 - -gUnk_08112F2A:: @ 08112F2A - .incbin "baserom.gba", 0x112F2A, 0x0000005 - -gUnk_08112F2F:: @ 08112F2F - .incbin "baserom.gba", 0x112F2F, 0x0000005 - -gUnk_08112F34:: @ 08112F34 - .incbin "baserom.gba", 0x112F34, 0x0000044 - -gUnk_08112F78:: @ 08112F78 - .incbin "baserom.gba", 0x112F78, 0x0000008 - -gUnk_08112F80:: @ 08112F80 - .incbin "baserom.gba", 0x112F80, 0x0000008 - -gUnk_08112F88:: @ 08112F88 - .incbin "baserom.gba", 0x112F88, 0x000003C - -gUnk_08112FC4:: @ 08112FC4 - .incbin "baserom.gba", 0x112FC4, 0x0000011 - -gUnk_08112FD5:: @ 08112FD5 - .incbin "baserom.gba", 0x112FD5, 0x000001F - -gUnk_08112FF4:: @ 08112FF4 - .incbin "baserom.gba", 0x112FF4, 0x0000010 - -gUnk_08113004:: @ 08113004 - .incbin "baserom.gba", 0x113004, 0x0000020 - -gUnk_08113024:: @ 08113024 - .incbin "baserom.gba", 0x113024, 0x0000008 - -gUnk_0811302C:: @ 0811302C - .incbin "baserom.gba", 0x11302C, 0x0000044 - -gUnk_08113070:: @ 08113070 - .incbin "baserom.gba", 0x113070, 0x0000008 - -gUnk_08113078:: @ 08113078 - .incbin "baserom.gba", 0x113078, 0x0000006 - -gUnk_0811307E:: @ 0811307E - .incbin "baserom.gba", 0x11307E, 0x0000005 - -gUnk_08113083:: @ 08113083 - .incbin "baserom.gba", 0x113083, 0x000000D - -gUnk_08113090:: @ 08113090 - .incbin "baserom.gba", 0x113090, 0x0000010 - -gUnk_081130A0:: @ 081130A0 - .incbin "baserom.gba", 0x1130A0, 0x0000038 - -gUnk_081130D8:: @ 081130D8 - .incbin "baserom.gba", 0x1130D8, 0x0000005 - -gUnk_081130DD:: @ 081130DD - .incbin "baserom.gba", 0x1130DD, 0x000000D - -gUnk_081130EA:: @ 081130EA - .incbin "baserom.gba", 0x1130EA, 0x000000D - -gUnk_081130F7:: @ 081130F7 - .incbin "baserom.gba", 0x1130F7, 0x000000B - -gUnk_08113102:: @ 08113102 - .incbin "baserom.gba", 0x113102, 0x0000006 - -gUnk_08113108:: @ 08113108 - .incbin "baserom.gba", 0x113108, 0x0000038 - -gUnk_08113140:: @ 08113140 - .incbin "baserom.gba", 0x113140, 0x0000018 - -gUnk_08113158:: @ 08113158 - .incbin "baserom.gba", 0x113158, 0x0000010 - -gUnk_08113168:: @ 08113168 - .incbin "baserom.gba", 0x113168, 0x0000025 - -gUnk_0811318D:: @ 0811318D - .incbin "baserom.gba", 0x11318D, 0x0000005 - -gUnk_08113192:: @ 08113192 - .incbin "baserom.gba", 0x113192, 0x0000005 - -gUnk_08113197:: @ 08113197 - .incbin "baserom.gba", 0x113197, 0x0000005 - -gUnk_0811319C:: @ 0811319C - .incbin "baserom.gba", 0x11319C, 0x0000044 - -gUnk_081131E0:: @ 081131E0 - .incbin "baserom.gba", 0x1131E0, 0x0000025 - -gUnk_08113205:: @ 08113205 - .incbin "baserom.gba", 0x113205, 0x0000005 - -gUnk_0811320A:: @ 0811320A - .incbin "baserom.gba", 0x11320A, 0x0000005 - -gUnk_0811320F:: @ 0811320F - .incbin "baserom.gba", 0x11320F, 0x0000005 - -gUnk_08113214:: @ 08113214 - .incbin "baserom.gba", 0x113214, 0x0000044 - -gUnk_08113258:: @ 08113258 - .incbin "baserom.gba", 0x113258, 0x0000005 - -gUnk_0811325D:: @ 0811325D - .incbin "baserom.gba", 0x11325D, 0x0000011 - -gUnk_0811326E:: @ 0811326E - .incbin "baserom.gba", 0x11326E, 0x0000031 - -gUnk_0811329F:: @ 0811329F - .incbin "baserom.gba", 0x11329F, 0x0000045 - -gUnk_081132E4:: @ 081132E4 - .incbin "baserom.gba", 0x1132E4, 0x0000030 - -gUnk_08113314:: @ 08113314 - .incbin "baserom.gba", 0x113314, 0x0000030 - -gUnk_08113344:: @ 08113344 - .incbin "baserom.gba", 0x113344, 0x0000006 - -gUnk_0811334A:: @ 0811334A - .incbin "baserom.gba", 0x11334A, 0x0000006 - -gUnk_08113350:: @ 08113350 - .incbin "baserom.gba", 0x113350, 0x0000019 - -gUnk_08113369:: @ 08113369 - .incbin "baserom.gba", 0x113369, 0x0000005 - -gUnk_0811336E:: @ 0811336E - .incbin "baserom.gba", 0x11336E, 0x0000009 - -gUnk_08113377:: @ 08113377 - .incbin "baserom.gba", 0x113377, 0x0000009 - -gUnk_08113380:: @ 08113380 - .incbin "baserom.gba", 0x113380, 0x0000024 - -gUnk_081133A4:: @ 081133A4 - .incbin "baserom.gba", 0x1133A4, 0x0000010 - -gUnk_081133B4:: @ 081133B4 - .incbin "baserom.gba", 0x1133B4, 0x0000004 - -gUnk_081133B8:: @ 081133B8 - .incbin "baserom.gba", 0x1133B8, 0x0000031 - -gUnk_081133E9:: @ 081133E9 - .incbin "baserom.gba", 0x1133E9, 0x0000011 - -gUnk_081133FA:: @ 081133FA - .incbin "baserom.gba", 0x1133FA, 0x0000019 - -gUnk_08113413:: @ 08113413 - .incbin "baserom.gba", 0x113413, 0x0000021 - -gUnk_08113434:: @ 08113434 - .incbin "baserom.gba", 0x113434, 0x0000009 - -gUnk_0811343D:: @ 0811343D - .incbin "baserom.gba", 0x11343D, 0x0000002 - -gUnk_0811343F:: @ 0811343F - .incbin "baserom.gba", 0x11343F, 0x0000007 - -gUnk_08113446:: @ 08113446 - .incbin "baserom.gba", 0x113446, 0x0000009 - -gUnk_0811344F:: @ 0811344F - .incbin "baserom.gba", 0x11344F, 0x0000041 - -gUnk_08113490:: @ 08113490 - .incbin "baserom.gba", 0x113490, 0x0000044 - -gUnk_081134D4:: @ 081134D4 - .incbin "baserom.gba", 0x1134D4, 0x0000034 - -gUnk_08113508:: @ 08113508 - .incbin "baserom.gba", 0x113508, 0x0000024 - -gUnk_0811352C:: @ 0811352C - .incbin "baserom.gba", 0x11352C, 0x0000021 - -gUnk_0811354D:: @ 0811354D - .incbin "baserom.gba", 0x11354D, 0x0000019 - -gUnk_08113566:: @ 08113566 - .incbin "baserom.gba", 0x113566, 0x0000008 - -gUnk_0811356E:: @ 0811356E - .incbin "baserom.gba", 0x11356E, 0x0000021 - -gUnk_0811358F:: @ 0811358F - .incbin "baserom.gba", 0x11358F, 0x0000021 - -gUnk_081135B0:: @ 081135B0 - .incbin "baserom.gba", 0x1135B0, 0x000002D - -gUnk_081135DD:: @ 081135DD - .incbin "baserom.gba", 0x1135DD, 0x0000005 - -gUnk_081135E2:: @ 081135E2 - .incbin "baserom.gba", 0x1135E2, 0x0000006 - -gUnk_081135E8:: @ 081135E8 - .incbin "baserom.gba", 0x1135E8, 0x0000044 - -gUnk_0811362C:: @ 0811362C - .incbin "baserom.gba", 0x11362C, 0x0000005 - -gUnk_08113631:: @ 08113631 - .incbin "baserom.gba", 0x113631, 0x0000005 - -gUnk_08113636:: @ 08113636 - .incbin "baserom.gba", 0x113636, 0x0000005 - -gUnk_0811363B:: @ 0811363B - .incbin "baserom.gba", 0x11363B, 0x0000005 - -gUnk_08113640:: @ 08113640 - .incbin "baserom.gba", 0x113640, 0x0000005 - -gUnk_08113645:: @ 08113645 - .incbin "baserom.gba", 0x113645, 0x0000005 - -gUnk_0811364A:: @ 0811364A - .incbin "baserom.gba", 0x11364A, 0x0000066 - -gUnk_081136B0:: @ 081136B0 - .incbin "baserom.gba", 0x1136B0, 0x0000028 - -gUnk_081136D8:: @ 081136D8 - .incbin "baserom.gba", 0x1136D8, 0x0000011 - -gUnk_081136E9:: @ 081136E9 - .incbin "baserom.gba", 0x1136E9, 0x0000011 - -gUnk_081136FA:: @ 081136FA - .incbin "baserom.gba", 0x1136FA, 0x0000011 - -gUnk_0811370B:: @ 0811370B - .incbin "baserom.gba", 0x11370B, 0x0000011 - -gUnk_0811371C:: @ 0811371C - .incbin "baserom.gba", 0x11371C, 0x0000005 - -gUnk_08113721:: @ 08113721 - .incbin "baserom.gba", 0x113721, 0x0000005 - -gUnk_08113726:: @ 08113726 - .incbin "baserom.gba", 0x113726, 0x0000005 - -gUnk_0811372B:: @ 0811372B - .incbin "baserom.gba", 0x11372B, 0x0000005 - -gUnk_08113730:: @ 08113730 - .incbin "baserom.gba", 0x113730, 0x0000024 - -gUnk_08113754:: @ 08113754 - .incbin "baserom.gba", 0x113754, 0x000000C - -gUnk_08113760:: @ 08113760 - .incbin "baserom.gba", 0x113760, 0x0000050 - -gUnk_081137B0:: @ 081137B0 - .incbin "baserom.gba", 0x1137B0, 0x0000039 - -gUnk_081137E9:: @ 081137E9 - .incbin "baserom.gba", 0x1137E9, 0x0000088 - -gUnk_08113871:: @ 08113871 - .incbin "baserom.gba", 0x113871, 0x0000021 - -gUnk_08113892:: @ 08113892 - .incbin "baserom.gba", 0x113892, 0x0000005 - -gUnk_08113897:: @ 08113897 - .incbin "baserom.gba", 0x113897, 0x0000019 - -gUnk_081138B0:: @ 081138B0 - .incbin "baserom.gba", 0x1138B0, 0x0000008 - -gUnk_081138B8:: @ 081138B8 - .incbin "baserom.gba", 0x1138B8, 0x0000024 - -gUnk_081138DC:: @ 081138DC - .incbin "baserom.gba", 0x1138DC, 0x0000005 - -gUnk_081138E1:: @ 081138E1 - .incbin "baserom.gba", 0x1138E1, 0x000001B - -gUnk_081138FC:: @ 081138FC - .incbin "baserom.gba", 0x1138FC, 0x0000014 - -gUnk_08113910:: @ 08113910 - .incbin "baserom.gba", 0x113910, 0x0000020 - -gUnk_08113930:: @ 08113930 - .incbin "baserom.gba", 0x113930, 0x0000080 - -gUnk_081139B0:: @ 081139B0 - .incbin "baserom.gba", 0x1139B0, 0x000001D - -gUnk_081139CD:: @ 081139CD - .incbin "baserom.gba", 0x1139CD, 0x000001D - -gUnk_081139EA:: @ 081139EA - .incbin "baserom.gba", 0x1139EA, 0x000001E - -gUnk_08113A08:: @ 08113A08 - .incbin "baserom.gba", 0x113A08, 0x0000014 - -gUnk_08113A1C:: @ 08113A1C - .incbin "baserom.gba", 0x113A1C, 0x0000060 - -gUnk_08113A7C:: @ 08113A7C - .incbin "baserom.gba", 0x113A7C, 0x0000010 - -gUnk_08113A8C:: @ 08113A8C - .incbin "baserom.gba", 0x113A8C, 0x0000030 - -gUnk_08113ABC:: @ 08113ABC - .incbin "baserom.gba", 0x113ABC, 0x0000050 - -gUnk_08113B0C:: @ 08113B0C - .incbin "baserom.gba", 0x113B0C, 0x0000006 - -gUnk_08113B12:: @ 08113B12 - .incbin "baserom.gba", 0x113B12, 0x0000004 - -gUnk_08113B16:: @ 08113B16 - .incbin "baserom.gba", 0x113B16, 0x0000008 - -gUnk_08113B1E:: @ 08113B1E - .incbin "baserom.gba", 0x113B1E, 0x0000004 - -gUnk_08113B22:: @ 08113B22 - .incbin "baserom.gba", 0x113B22, 0x0000006 - -gUnk_08113B28:: @ 08113B28 - .incbin "baserom.gba", 0x113B28, 0x0000008 - -gUnk_08113B30:: @ 08113B30 - .incbin "baserom.gba", 0x113B30, 0x0000008 - -gUnk_08113B38:: @ 08113B38 - .incbin "baserom.gba", 0x113B38, 0x0000007 - -gUnk_08113B3F:: @ 08113B3F - .incbin "baserom.gba", 0x113B3F, 0x0000005 - -gUnk_08113B44:: @ 08113B44 - .incbin "baserom.gba", 0x113B44, 0x0000005 - -gUnk_08113B49:: @ 08113B49 - .incbin "baserom.gba", 0x113B49, 0x0000005 - -gUnk_08113B4E:: @ 08113B4E - .incbin "baserom.gba", 0x113B4E, 0x0000005 - -gUnk_08113B53:: @ 08113B53 - .incbin "baserom.gba", 0x113B53, 0x0000011 - -gUnk_08113B64:: @ 08113B64 - .incbin "baserom.gba", 0x113B64, 0x0000011 - -gUnk_08113B75:: @ 08113B75 - .incbin "baserom.gba", 0x113B75, 0x0000011 - -gUnk_08113B86:: @ 08113B86 - .incbin "baserom.gba", 0x113B86, 0x0000012 - -gUnk_08113B98:: @ 08113B98 - .incbin "baserom.gba", 0x113B98, 0x0000024 - -gUnk_08113BBC:: @ 08113BBC - .incbin "baserom.gba", 0x113BBC, 0x0000005 - -gUnk_08113BC1:: @ 08113BC1 - .incbin "baserom.gba", 0x113BC1, 0x0000005 - -gUnk_08113BC6:: @ 08113BC6 - .incbin "baserom.gba", 0x113BC6, 0x0000005 - -gUnk_08113BCB:: @ 08113BCB - .incbin "baserom.gba", 0x113BCB, 0x0000005 - -gUnk_08113BD0:: @ 08113BD0 - .incbin "baserom.gba", 0x113BD0, 0x0000011 - -gUnk_08113BE1:: @ 08113BE1 - .incbin "baserom.gba", 0x113BE1, 0x0000011 - -gUnk_08113BF2:: @ 08113BF2 - .incbin "baserom.gba", 0x113BF2, 0x0000011 - -gUnk_08113C03:: @ 08113C03 - .incbin "baserom.gba", 0x113C03, 0x0000011 - -gUnk_08113C14:: @ 08113C14 - .incbin "baserom.gba", 0x113C14, 0x0000024 - -gUnk_08113C38:: @ 08113C38 - .incbin "baserom.gba", 0x113C38, 0x0000005 - -gUnk_08113C3D:: @ 08113C3D - .incbin "baserom.gba", 0x113C3D, 0x0000005 - -gUnk_08113C42:: @ 08113C42 - .incbin "baserom.gba", 0x113C42, 0x0000005 - -gUnk_08113C47:: @ 08113C47 - .incbin "baserom.gba", 0x113C47, 0x0000011 - -gUnk_08113C58:: @ 08113C58 - .incbin "baserom.gba", 0x113C58, 0x0000024 - -gUnk_08113C7C:: @ 08113C7C - .incbin "baserom.gba", 0x113C7C, 0x0000005 - -gUnk_08113C81:: @ 08113C81 - .incbin "baserom.gba", 0x113C81, 0x0000005 - -gUnk_08113C86:: @ 08113C86 - .incbin "baserom.gba", 0x113C86, 0x0000005 - -gUnk_08113C8B:: @ 08113C8B - .incbin "baserom.gba", 0x113C8B, 0x0000005 - -gUnk_08113C90:: @ 08113C90 - .incbin "baserom.gba", 0x113C90, 0x0000011 - -gUnk_08113CA1:: @ 08113CA1 - .incbin "baserom.gba", 0x113CA1, 0x0000011 - -gUnk_08113CB2:: @ 08113CB2 - .incbin "baserom.gba", 0x113CB2, 0x0000011 - -gUnk_08113CC3:: @ 08113CC3 - .incbin "baserom.gba", 0x113CC3, 0x0000011 - -gUnk_08113CD4:: @ 08113CD4 - .incbin "baserom.gba", 0x113CD4, 0x0000024 - -gUnk_08113CF8:: @ 08113CF8 - .incbin "baserom.gba", 0x113CF8, 0x0000005 - -gUnk_08113CFD:: @ 08113CFD - .incbin "baserom.gba", 0x113CFD, 0x0000005 - -gUnk_08113D02:: @ 08113D02 - .incbin "baserom.gba", 0x113D02, 0x0000005 - -gUnk_08113D07:: @ 08113D07 - .incbin "baserom.gba", 0x113D07, 0x0000015 - -gUnk_08113D1C:: @ 08113D1C - .incbin "baserom.gba", 0x113D1C, 0x0000024 - -gUnk_08113D40:: @ 08113D40 - .incbin "baserom.gba", 0x113D40, 0x0000005 - -gUnk_08113D45:: @ 08113D45 - .incbin "baserom.gba", 0x113D45, 0x0000005 - -gUnk_08113D4A:: @ 08113D4A - .incbin "baserom.gba", 0x113D4A, 0x0000005 - -gUnk_08113D4F:: @ 08113D4F - .incbin "baserom.gba", 0x113D4F, 0x0000011 - -gUnk_08113D60:: @ 08113D60 - .incbin "baserom.gba", 0x113D60, 0x0000024 - -gUnk_08113D84:: @ 08113D84 - .incbin "baserom.gba", 0x113D84, 0x0000008 - -gUnk_08113D8C:: @ 08113D8C - .incbin "baserom.gba", 0x113D8C, 0x0000010 - -gUnk_08113D9C:: @ 08113D9C - .incbin "baserom.gba", 0x113D9C, 0x0000011 - -gUnk_08113DAD:: @ 08113DAD - .incbin "baserom.gba", 0x113DAD, 0x0000005 - -gUnk_08113DB2:: @ 08113DB2 - .incbin "baserom.gba", 0x113DB2, 0x0000029 - -gUnk_08113DDB:: @ 08113DDB - .incbin "baserom.gba", 0x113DDB, 0x00000D9 - -gUnk_08113EB4:: @ 08113EB4 - .incbin "baserom.gba", 0x113EB4, 0x0000011 - -gUnk_08113EC5:: @ 08113EC5 - .incbin "baserom.gba", 0x113EC5, 0x0000011 - -gUnk_08113ED6:: @ 08113ED6 - .incbin "baserom.gba", 0x113ED6, 0x0000011 - -gUnk_08113EE7:: @ 08113EE7 - .incbin "baserom.gba", 0x113EE7, 0x0000005 - -gUnk_08113EEC:: @ 08113EEC - .incbin "baserom.gba", 0x113EEC, 0x0000005 - -gUnk_08113EF1:: @ 08113EF1 - .incbin "baserom.gba", 0x113EF1, 0x0000007 - -gUnk_08113EF8:: @ 08113EF8 - .incbin "baserom.gba", 0x113EF8, 0x000004C - -gUnk_08113F44:: @ 08113F44 - .incbin "baserom.gba", 0x113F44, 0x0000004 - -gUnk_08113F48:: @ 08113F48 - .incbin "baserom.gba", 0x113F48, 0x0000078 - -gUnk_08113FC0:: @ 08113FC0 - .incbin "baserom.gba", 0x113FC0, 0x0000005 - -gUnk_08113FC5:: @ 08113FC5 - .incbin "baserom.gba", 0x113FC5, 0x0000005 - -gUnk_08113FCA:: @ 08113FCA - .incbin "baserom.gba", 0x113FCA, 0x0000005 - -gUnk_08113FCF:: @ 08113FCF - .incbin "baserom.gba", 0x113FCF, 0x0000005 - -gUnk_08113FD4:: @ 08113FD4 - .incbin "baserom.gba", 0x113FD4, 0x0000011 - -gUnk_08113FE5:: @ 08113FE5 - .incbin "baserom.gba", 0x113FE5, 0x000004D - -gUnk_08114032:: @ 08114032 - .incbin "baserom.gba", 0x114032, 0x000000D - -gUnk_0811403F:: @ 0811403F - .incbin "baserom.gba", 0x11403F, 0x0000011 - -gUnk_08114050:: @ 08114050 - .incbin "baserom.gba", 0x114050, 0x0000011 - -gUnk_08114061:: @ 08114061 - .incbin "baserom.gba", 0x114061, 0x0000029 - -gUnk_0811408A:: @ 0811408A - .incbin "baserom.gba", 0x11408A, 0x000000E - -gUnk_08114098:: @ 08114098 - .incbin "baserom.gba", 0x114098, 0x0000034 - -gUnk_081140CC:: @ 081140CC - .incbin "baserom.gba", 0x1140CC, 0x0000008 - -gUnk_081140D4:: @ 081140D4 - .incbin "baserom.gba", 0x1140D4, 0x000002C - -gUnk_08114100:: @ 08114100 - .incbin "baserom.gba", 0x114100, 0x0000004 - -gUnk_08114104:: @ 08114104 - .incbin "baserom.gba", 0x114104, 0x0000030 - -gUnk_08114134:: @ 08114134 - .incbin "baserom.gba", 0x114134, 0x0000010 - -gUnk_08114144:: @ 08114144 - .incbin "baserom.gba", 0x114144, 0x0000010 - -gUnk_08114154:: @ 08114154 - .incbin "baserom.gba", 0x114154, 0x0000008 - -gUnk_0811415C:: @ 0811415C - .incbin "baserom.gba", 0x11415C, 0x0000048 - -gUnk_081141A4:: @ 081141A4 - .incbin "baserom.gba", 0x1141A4, 0x0000040 - -gUnk_081141E4:: @ 081141E4 - .incbin "baserom.gba", 0x1141E4, 0x0000010 - -gUnk_081141F4:: @ 081141F4 - .incbin "baserom.gba", 0x1141F4, 0x0000014 - -gUnk_08114208:: @ 08114208 - .incbin "baserom.gba", 0x114208, 0x0000005 - -gUnk_0811420D:: @ 0811420D - .incbin "baserom.gba", 0x11420D, 0x0000004 - -gUnk_08114211:: @ 08114211 - .incbin "baserom.gba", 0x114211, 0x0000005 - -gUnk_08114216:: @ 08114216 - .incbin "baserom.gba", 0x114216, 0x0000009 - -gUnk_0811421F:: @ 0811421F - .incbin "baserom.gba", 0x11421F, 0x0000009 - -gUnk_08114228:: @ 08114228 - .incbin "baserom.gba", 0x114228, 0x0000014 - -gUnk_0811423C:: @ 0811423C - .incbin "baserom.gba", 0x11423C, 0x0000008 - -gUnk_08114244:: @ 08114244 - .incbin "baserom.gba", 0x114244, 0x0000019 - -gUnk_0811425D:: @ 0811425D - .incbin "baserom.gba", 0x11425D, 0x0000019 - -gUnk_08114276:: @ 08114276 - .incbin "baserom.gba", 0x114276, 0x0000019 - -gUnk_0811428F:: @ 0811428F - .incbin "baserom.gba", 0x11428F, 0x0000019 - -gUnk_081142A8:: @ 081142A8 - .incbin "baserom.gba", 0x1142A8, 0x0000014 - -gUnk_081142BC:: @ 081142BC - .incbin "baserom.gba", 0x1142BC, 0x0000010 - -gUnk_081142CC:: @ 081142CC - .incbin "baserom.gba", 0x1142CC, 0x0000010 - -gUnk_081142DC:: @ 081142DC - .incbin "baserom.gba", 0x1142DC, 0x0000020 - -gUnk_081142FC:: @ 081142FC - .incbin "baserom.gba", 0x1142FC, 0x0000008 - -gUnk_08114304:: @ 08114304 - .incbin "baserom.gba", 0x114304, 0x0000004 - -gUnk_08114308:: @ 08114308 - .incbin "baserom.gba", 0x114308, 0x0000128 - -gUnk_08114430:: @ 08114430 - .incbin "baserom.gba", 0x114430, 0x0000002 - -gUnk_08114432:: @ 08114432 - .incbin "baserom.gba", 0x114432, 0x0000012 - -gUnk_08114444:: @ 08114444 - .incbin "baserom.gba", 0x114444, 0x0000084 - -gUnk_081144C8:: @ 081144C8 - .incbin "baserom.gba", 0x1144C8, 0x0000005 - -gUnk_081144CD:: @ 081144CD - .incbin "baserom.gba", 0x1144CD, 0x0000005 - -gUnk_081144D2:: @ 081144D2 - .incbin "baserom.gba", 0x1144D2, 0x0000005 - -gUnk_081144D7:: @ 081144D7 - .incbin "baserom.gba", 0x1144D7, 0x0000005 - -gUnk_081144DC:: @ 081144DC - .incbin "baserom.gba", 0x1144DC, 0x0000014 - -gUnk_081144F0:: @ 081144F0 - .incbin "baserom.gba", 0x1144F0, 0x000000C - -gUnk_081144FC:: @ 081144FC - .incbin "baserom.gba", 0x1144FC, 0x0000035 - -gUnk_08114531:: @ 08114531 - .incbin "baserom.gba", 0x114531, 0x000000B - -gUnk_0811453C:: @ 0811453C - .incbin "baserom.gba", 0x11453C, 0x0000011 - -gUnk_0811454D:: @ 0811454D - .incbin "baserom.gba", 0x11454D, 0x0000011 - -gUnk_0811455E:: @ 0811455E - .incbin "baserom.gba", 0x11455E, 0x0000011 - -gUnk_0811456F:: @ 0811456F - .incbin "baserom.gba", 0x11456F, 0x0000005 - -gUnk_08114574:: @ 08114574 - .incbin "baserom.gba", 0x114574, 0x0000005 - -gUnk_08114579:: @ 08114579 - .incbin "baserom.gba", 0x114579, 0x0000007 - -gUnk_08114580:: @ 08114580 - .incbin "baserom.gba", 0x114580, 0x0000034 - -gUnk_081145B4:: @ 081145B4 - .incbin "baserom.gba", 0x1145B4, 0x0000014 - -gUnk_081145C8:: @ 081145C8 - .incbin "baserom.gba", 0x1145C8, 0x0000008 - -gUnk_081145D0:: @ 081145D0 - .incbin "baserom.gba", 0x1145D0, 0x0000004 - -gUnk_081145D4:: @ 081145D4 - .incbin "baserom.gba", 0x1145D4, 0x0000010 - -gUnk_081145E4:: @ 081145E4 - .incbin "baserom.gba", 0x1145E4, 0x00000D4 - -gUnk_081146B8:: @ 081146B8 - .incbin "baserom.gba", 0x1146B8, 0x0000018 - -gUnk_081146D0:: @ 081146D0 - .incbin "baserom.gba", 0x1146D0, 0x0000014 - -gUnk_081146E4:: @ 081146E4 - .incbin "baserom.gba", 0x1146E4, 0x0000010 - -gUnk_081146F4:: @ 081146F4 - .incbin "baserom.gba", 0x1146F4, 0x00000A8 - -gUnk_0811479C:: @ 0811479C - .incbin "baserom.gba", 0x11479C, 0x0000048 - -gUnk_081147E4:: @ 081147E4 - .incbin "baserom.gba", 0x1147E4, 0x0000020 - -gUnk_08114804:: @ 08114804 - .incbin "baserom.gba", 0x114804, 0x0000010 - -gUnk_08114814:: @ 08114814 - .incbin "baserom.gba", 0x114814, 0x0000010 - -gUnk_08114824:: @ 08114824 - .incbin "baserom.gba", 0x114824, 0x0000040 - -gUnk_08114864:: @ 08114864 - .incbin "baserom.gba", 0x114864, 0x0000010 - -gUnk_08114874:: @ 08114874 - .incbin "baserom.gba", 0x114874, 0x0000030 - -gUnk_081148A4:: @ 081148A4 - .incbin "baserom.gba", 0x1148A4, 0x0000020 - -gUnk_081148C4:: @ 081148C4 - .incbin "baserom.gba", 0x1148C4, 0x0000020 - -gUnk_081148E4:: @ 081148E4 - .incbin "baserom.gba", 0x1148E4, 0x0000030 - -gUnk_08114914:: @ 08114914 - .incbin "baserom.gba", 0x114914, 0x0000030 - -gUnk_08114944:: @ 08114944 - .incbin "baserom.gba", 0x114944, 0x0000030 - -gUnk_08114974:: @ 08114974 - .incbin "baserom.gba", 0x114974, 0x0000010 - -gUnk_08114984:: @ 08114984 - .incbin "baserom.gba", 0x114984, 0x0000010 - -gUnk_08114994:: @ 08114994 - .incbin "baserom.gba", 0x114994, 0x0000010 - -gUnk_081149A4:: @ 081149A4 - .incbin "baserom.gba", 0x1149A4, 0x0000010 - -gUnk_081149B4:: @ 081149B4 - .incbin "baserom.gba", 0x1149B4, 0x0000010 - -gUnk_081149C4:: @ 081149C4 - .incbin "baserom.gba", 0x1149C4, 0x0000030 - -gUnk_081149F4:: @ 081149F4 - .incbin "baserom.gba", 0x1149F4, 0x0000020 - -gUnk_08114A14:: @ 08114A14 - .incbin "baserom.gba", 0x114A14, 0x0000058 - -gUnk_08114A6C:: @ 08114A6C - .incbin "baserom.gba", 0x114A6C, 0x0000020 - -gUnk_08114A8C:: @ 08114A8C - .incbin "baserom.gba", 0x114A8C, 0x0000030 - -gUnk_08114ABC:: @ 08114ABC - .incbin "baserom.gba", 0x114ABC, 0x0000028 - -gUnk_08114AE4:: @ 08114AE4 - .incbin "baserom.gba", 0x114AE4, 0x0000400 - -gUnk_08114EE4:: @ 08114EE4 - .incbin "baserom.gba", 0x114EE4, 0x0000018 - -gUnk_08114EFC:: @ 08114EFC - .incbin "baserom.gba", 0x114EFC, 0x0000010 - -gUnk_08114F0C:: @ 08114F0C - .incbin "baserom.gba", 0x114F0C, 0x0000024 - -gUnk_08114F30:: @ 08114F30 - .incbin "baserom.gba", 0x114F30, 0x0000004 - -gUnk_08114F34:: @ 08114F34 - .incbin "baserom.gba", 0x114F34, 0x0000004 - -gUnk_08114F38:: @ 08114F38 - .incbin "baserom.gba", 0x114F38, 0x0000020 - -gUnk_08114F58:: @ 08114F58 - .incbin "baserom.gba", 0x114F58, 0x0000020 - -gUnk_08114F78:: @ 08114F78 - .incbin "baserom.gba", 0x114F78, 0x0000008 - -gUnk_08114F80:: @ 08114F80 - .incbin "baserom.gba", 0x114F80, 0x0000008 - -gUnk_08114F88:: @ 08114F88 - .incbin "baserom.gba", 0x114F88, 0x0000010 - -gUnk_08114F98:: @ 08114F98 - .incbin "baserom.gba", 0x114F98, 0x00003F4 - -gUnk_0811538C:: @ 0811538C - .incbin "baserom.gba", 0x11538C, 0x0000153 - -gUnk_081154DF:: @ 081154DF - .incbin "baserom.gba", 0x1154DF, 0x0000042 - -gUnk_08115521:: @ 08115521 - .incbin "baserom.gba", 0x115521, 0x0000002 - -gUnk_08115523:: @ 08115523 - .incbin "baserom.gba", 0x115523, 0x0000003 - -gUnk_08115526:: @ 08115526 - .incbin "baserom.gba", 0x115526, 0x00001FE - -gUnk_08115724:: @ 08115724 - .incbin "baserom.gba", 0x115724, 0x00003D4 - -gUnk_08115AF8:: @ 08115AF8 - .incbin "baserom.gba", 0x115AF8, 0x00003A4 - -gUnk_08115E9C:: @ 08115E9C - .incbin "baserom.gba", 0x115E9C, 0x0000176 - -gUnk_08116012:: @ 08116012 - .incbin "baserom.gba", 0x116012, 0x000026E - -gUnk_08116280:: @ 08116280 - .incbin "baserom.gba", 0x116280, 0x00002B0 - -gUnk_08116530:: @ 08116530 - .incbin "baserom.gba", 0x116530, 0x00001D3 - -gUnk_08116703:: @ 08116703 - .incbin "baserom.gba", 0x116703, 0x0000085 - -gUnk_08116788:: @ 08116788 - .incbin "baserom.gba", 0x116788, 0x0000100 - -gUnk_08116888:: @ 08116888 - .incbin "baserom.gba", 0x116888, 0x0000017 - -gUnk_0811689F:: @ 0811689F - .incbin "baserom.gba", 0x11689F, 0x00001FD - -gUnk_08116A9C:: @ 08116A9C - .incbin "baserom.gba", 0x116A9C, 0x0000270 - -gUnk_08116D0C:: @ 08116D0C - .incbin "baserom.gba", 0x116D0C, 0x00000C8 - -gUnk_08116DD4:: @ 08116DD4 - .incbin "baserom.gba", 0x116DD4, 0x0000071 - -gUnk_08116E45:: @ 08116E45 - .incbin "baserom.gba", 0x116E45, 0x000011F - -gUnk_08116F64:: @ 08116F64 - .incbin "baserom.gba", 0x116F64, 0x00002A4 - -gUnk_08117208:: @ 08117208 - .incbin "baserom.gba", 0x117208, 0x0000038 - -gUnk_08117240:: @ 08117240 - .incbin "baserom.gba", 0x117240, 0x000039C - -gUnk_081175DC:: @ 081175DC - .incbin "baserom.gba", 0x1175DC, 0x00002D4 - -gUnk_081178B0:: @ 081178B0 - .incbin "baserom.gba", 0x1178B0, 0x00002D4 - -gUnk_08117B84:: @ 08117B84 - .incbin "baserom.gba", 0x117B84, 0x00001E0 - -gUnk_08117D64:: @ 08117D64 - .incbin "baserom.gba", 0x117D64, 0x00000DC - -gUnk_08117E40:: @ 08117E40 - .incbin "baserom.gba", 0x117E40, 0x0000128 - -gUnk_08117F68:: @ 08117F68 - .incbin "baserom.gba", 0x117F68, 0x000006C - -gUnk_08117FD4:: @ 08117FD4 - .incbin "baserom.gba", 0x117FD4, 0x00001AD - -gUnk_08118181:: @ 08118181 - .incbin "baserom.gba", 0x118181, 0x0000033 - -gUnk_081181B4:: @ 081181B4 - .incbin "baserom.gba", 0x1181B4, 0x0000030 - -gUnk_081181E4:: @ 081181E4 - .incbin "baserom.gba", 0x1181E4, 0x0000054 - -gUnk_08118238:: @ 08118238 - .incbin "baserom.gba", 0x118238, 0x000002C - -gUnk_08118264:: @ 08118264 - .incbin "baserom.gba", 0x118264, 0x0000034 - -gUnk_08118298:: @ 08118298 - .incbin "baserom.gba", 0x118298, 0x0000100 - -gUnk_08118398:: @ 08118398 - .incbin "baserom.gba", 0x118398, 0x0000024 - -gUnk_081183BC:: @ 081183BC - .incbin "baserom.gba", 0x1183BC, 0x00000B0 - -gUnk_0811846C:: @ 0811846C - .incbin "baserom.gba", 0x11846C, 0x000003C - -gUnk_081184A8:: @ 081184A8 - .incbin "baserom.gba", 0x1184A8, 0x00000B0 - -gUnk_08118558:: @ 08118558 - .incbin "baserom.gba", 0x118558, 0x00001C8 - -gUnk_08118720:: @ 08118720 - .incbin "baserom.gba", 0x118720, 0x0000048 - -gUnk_08118768:: @ 08118768 - .incbin "baserom.gba", 0x118768, 0x0000018 - -gUnk_08118780:: @ 08118780 - .incbin "baserom.gba", 0x118780, 0x0000008 - -gUnk_08118788:: @ 08118788 - .incbin "baserom.gba", 0x118788, 0x000000C - -gUnk_08118794:: @ 08118794 - .incbin "baserom.gba", 0x118794, 0x000012C - -gUnk_081188C0:: @ 081188C0 - .incbin "baserom.gba", 0x1188C0, 0x0000088 - -gUnk_08118948:: @ 08118948 - .incbin "baserom.gba", 0x118948, 0x0000018 - -gUnk_08118960:: @ 08118960 - .incbin "baserom.gba", 0x118960, 0x0000014 - -gUnk_08118974:: @ 08118974 - .incbin "baserom.gba", 0x118974, 0x0000014 - -gUnk_08118988:: @ 08118988 - .incbin "baserom.gba", 0x118988, 0x0000278 - -gUnk_08118C00:: @ 08118C00 - .incbin "baserom.gba", 0x118C00, 0x0000138 - -gUnk_08118D38:: @ 08118D38 - .incbin "baserom.gba", 0x118D38, 0x000006C - -gUnk_08118DA4:: @ 08118DA4 - .incbin "baserom.gba", 0x118DA4, 0x000002C - -gUnk_08118DD0:: @ 08118DD0 - .incbin "baserom.gba", 0x118DD0, 0x000000C - -gUnk_08118DDC:: @ 08118DDC - .incbin "baserom.gba", 0x118DDC, 0x0000080 - -gUnk_08118E5C:: @ 08118E5C - .incbin "baserom.gba", 0x118E5C, 0x00000A8 - -gUnk_08118F04:: @ 08118F04 - .incbin "baserom.gba", 0x118F04, 0x0000038 - -gUnk_08118F3C:: @ 08118F3C - .incbin "baserom.gba", 0x118F3C, 0x0000028 - -gUnk_08118F64:: @ 08118F64 - .incbin "baserom.gba", 0x118F64, 0x0000034 - -gUnk_08118F98:: @ 08118F98 - .incbin "baserom.gba", 0x118F98, 0x0000108 - -gUnk_081190A0:: @ 081190A0 - .incbin "baserom.gba", 0x1190A0, 0x0000044 - -gUnk_081190E4:: @ 081190E4 - .incbin "baserom.gba", 0x1190E4, 0x0000038 - -gUnk_0811911C:: @ 0811911C - .incbin "baserom.gba", 0x11911C, 0x0000010 - -gUnk_0811912C:: @ 0811912C - .incbin "baserom.gba", 0x11912C, 0x000005C - -gUnk_08119188:: @ 08119188 - .incbin "baserom.gba", 0x119188, 0x0000120 - -gUnk_081192A8:: @ 081192A8 - .incbin "baserom.gba", 0x1192A8, 0x00002A0 - -gUnk_08119548:: @ 08119548 - .incbin "baserom.gba", 0x119548, 0x000027C - -gUnk_081197C4:: @ 081197C4 - .incbin "baserom.gba", 0x1197C4, 0x0000030 - -gUnk_081197F4:: @ 081197F4 - .incbin "baserom.gba", 0x1197F4, 0x00000D0 - -gUnk_081198C4:: @ 081198C4 - .incbin "baserom.gba", 0x1198C4, 0x0000028 - -gUnk_081198EC:: @ 081198EC - .incbin "baserom.gba", 0x1198EC, 0x00000B8 - -gUnk_081199A4:: @ 081199A4 - .incbin "baserom.gba", 0x1199A4, 0x0000054 - -gUnk_081199F8:: @ 081199F8 - .incbin "baserom.gba", 0x1199F8, 0x000007C - -gUnk_08119A74:: @ 08119A74 - .incbin "baserom.gba", 0x119A74, 0x000007C - -gUnk_08119AF0:: @ 08119AF0 - .incbin "baserom.gba", 0x119AF0, 0x000008C - -gUnk_08119B7C:: @ 08119B7C - .incbin "baserom.gba", 0x119B7C, 0x0000074 - -gUnk_08119BF0:: @ 08119BF0 - .incbin "baserom.gba", 0x119BF0, 0x0000074 - -gUnk_08119C64:: @ 08119C64 - .incbin "baserom.gba", 0x119C64, 0x0000090 - -gUnk_08119CF4:: @ 08119CF4 - .incbin "baserom.gba", 0x119CF4, 0x0000060 - -gUnk_08119D54:: @ 08119D54 - .incbin "baserom.gba", 0x119D54, 0x0000054 - -gUnk_08119DA8:: @ 08119DA8 - .incbin "baserom.gba", 0x119DA8, 0x0000054 - -gUnk_08119DFC:: @ 08119DFC - .incbin "baserom.gba", 0x119DFC, 0x000001C - -gUnk_08119E18:: @ 08119E18 - .incbin "baserom.gba", 0x119E18, 0x000002C - -gUnk_08119E44:: @ 08119E44 - .incbin "baserom.gba", 0x119E44, 0x000006C - -gUnk_08119EB0:: @ 08119EB0 - .incbin "baserom.gba", 0x119EB0, 0x0000028 - -gUnk_08119ED8:: @ 08119ED8 - .incbin "baserom.gba", 0x119ED8, 0x00000A8 - -gUnk_08119F80:: @ 08119F80 - .incbin "baserom.gba", 0x119F80, 0x0000024 - -gUnk_08119FA4:: @ 08119FA4 - .incbin "baserom.gba", 0x119FA4, 0x0000024 - -gUnk_08119FC8:: @ 08119FC8 - .incbin "baserom.gba", 0x119FC8, 0x000000C - -gUnk_08119FD4:: @ 08119FD4 - .incbin "baserom.gba", 0x119FD4, 0x0000048 - -gUnk_0811A01C:: @ 0811A01C - .incbin "baserom.gba", 0x11A01C, 0x0000030 - -gUnk_0811A04C:: @ 0811A04C - .incbin "baserom.gba", 0x11A04C, 0x000001C - -gUnk_0811A068:: @ 0811A068 - .incbin "baserom.gba", 0x11A068, 0x000003C - -gUnk_0811A0A4:: @ 0811A0A4 - .incbin "baserom.gba", 0x11A0A4, 0x0000028 - -gUnk_0811A0CC:: @ 0811A0CC - .incbin "baserom.gba", 0x11A0CC, 0x0000018 - -gUnk_0811A0E4:: @ 0811A0E4 - .incbin "baserom.gba", 0x11A0E4, 0x0000040 - -gUnk_0811A124:: @ 0811A124 - .incbin "baserom.gba", 0x11A124, 0x0000020 - -gUnk_0811A144:: @ 0811A144 - .incbin "baserom.gba", 0x11A144, 0x0000038 - -gUnk_0811A17C:: @ 0811A17C - .incbin "baserom.gba", 0x11A17C, 0x000004C - -gUnk_0811A1C8:: @ 0811A1C8 - .incbin "baserom.gba", 0x11A1C8, 0x0000030 - -gUnk_0811A1F8:: @ 0811A1F8 - .incbin "baserom.gba", 0x11A1F8, 0x0000030 - -gUnk_0811A228:: @ 0811A228 - .incbin "baserom.gba", 0x11A228, 0x0000058 - -gUnk_0811A280:: @ 0811A280 - .incbin "baserom.gba", 0x11A280, 0x000000C - -gUnk_0811A28C:: @ 0811A28C - .incbin "baserom.gba", 0x11A28C, 0x000001C - -gUnk_0811A2A8:: @ 0811A2A8 - .incbin "baserom.gba", 0x11A2A8, 0x0000028 - -gUnk_0811A2D0:: @ 0811A2D0 - .incbin "baserom.gba", 0x11A2D0, 0x000002C - -gUnk_0811A2FC:: @ 0811A2FC - .incbin "baserom.gba", 0x11A2FC, 0x0000214 - -gUnk_0811A510:: @ 0811A510 - .incbin "baserom.gba", 0x11A510, 0x000024C - -gUnk_0811A75C:: @ 0811A75C - .incbin "baserom.gba", 0x11A75C, 0x000004C - -gUnk_0811A7A8:: @ 0811A7A8 - .incbin "baserom.gba", 0x11A7A8, 0x00000C4 - -gUnk_0811A86C:: @ 0811A86C - .incbin "baserom.gba", 0x11A86C, 0x0000060 - -gUnk_0811A8CC:: @ 0811A8CC - .incbin "baserom.gba", 0x11A8CC, 0x00000E8 - -gUnk_0811A9B4:: @ 0811A9B4 - .incbin "baserom.gba", 0x11A9B4, 0x0000078 - -gUnk_0811AA2C:: @ 0811AA2C - .incbin "baserom.gba", 0x11AA2C, 0x0000050 - -gUnk_0811AA7C:: @ 0811AA7C - .incbin "baserom.gba", 0x11AA7C, 0x000009C - -gUnk_0811AB18:: @ 0811AB18 - .incbin "baserom.gba", 0x11AB18, 0x00000E0 - -gUnk_0811ABF8:: @ 0811ABF8 - .incbin "baserom.gba", 0x11ABF8, 0x0000019 - -gUnk_0811AC11:: @ 0811AC11 - .incbin "baserom.gba", 0x11AC11, 0x0000113 - -gUnk_0811AD24:: @ 0811AD24 - .incbin "baserom.gba", 0x11AD24, 0x00000A8 - -gUnk_0811ADCC:: @ 0811ADCC - .incbin "baserom.gba", 0x11ADCC, 0x00000E4 - -gUnk_0811AEB0:: @ 0811AEB0 - .incbin "baserom.gba", 0x11AEB0, 0x0000028 - -gUnk_0811AED8:: @ 0811AED8 - .incbin "baserom.gba", 0x11AED8, 0x000004C - -gUnk_0811AF24:: @ 0811AF24 - .incbin "baserom.gba", 0x11AF24, 0x0000010 - -gUnk_0811AF34:: @ 0811AF34 - .incbin "baserom.gba", 0x11AF34, 0x0000030 - -gUnk_0811AF64:: @ 0811AF64 - .incbin "baserom.gba", 0x11AF64, 0x0000028 - -gUnk_0811AF8C:: @ 0811AF8C - .incbin "baserom.gba", 0x11AF8C, 0x0000030 - -gUnk_0811AFBC:: @ 0811AFBC - .incbin "baserom.gba", 0x11AFBC, 0x0000014 - -gUnk_0811AFD0:: @ 0811AFD0 - .incbin "baserom.gba", 0x11AFD0, 0x0000030 - -gUnk_0811B000:: @ 0811B000 - .incbin "baserom.gba", 0x11B000, 0x000001C - -gUnk_0811B01C:: @ 0811B01C - .incbin "baserom.gba", 0x11B01C, 0x0000010 - -gUnk_0811B02C:: @ 0811B02C - .incbin "baserom.gba", 0x11B02C, 0x0000084 - -gUnk_0811B0B0:: @ 0811B0B0 - .incbin "baserom.gba", 0x11B0B0, 0x0000080 - -gUnk_0811B130:: @ 0811B130 - .incbin "baserom.gba", 0x11B130, 0x0000048 - -gUnk_0811B178:: @ 0811B178 - .incbin "baserom.gba", 0x11B178, 0x0000018 - -gUnk_0811B190:: @ 0811B190 - .incbin "baserom.gba", 0x11B190, 0x0000084 - -gUnk_0811B214:: @ 0811B214 - .incbin "baserom.gba", 0x11B214, 0x0000044 - -gUnk_0811B258:: @ 0811B258 - .incbin "baserom.gba", 0x11B258, 0x000003C - -gUnk_0811B294:: @ 0811B294 - .incbin "baserom.gba", 0x11B294, 0x0000068 - -gUnk_0811B2FC:: @ 0811B2FC - .incbin "baserom.gba", 0x11B2FC, 0x0000050 - -gUnk_0811B34C:: @ 0811B34C - .incbin "baserom.gba", 0x11B34C, 0x0000048 - -gUnk_0811B394:: @ 0811B394 - .incbin "baserom.gba", 0x11B394, 0x0000010 - -gUnk_0811B3A4:: @ 0811B3A4 - .incbin "baserom.gba", 0x11B3A4, 0x0000010 - -gUnk_0811B3B4:: @ 0811B3B4 - .incbin "baserom.gba", 0x11B3B4, 0x0000014 - -gUnk_0811B3C8:: @ 0811B3C8 - .incbin "baserom.gba", 0x11B3C8, 0x0000040 - -gUnk_0811B408:: @ 0811B408 - .incbin "baserom.gba", 0x11B408, 0x0000138 - -gUnk_0811B540:: @ 0811B540 - .incbin "baserom.gba", 0x11B540, 0x0000024 - -gUnk_0811B564:: @ 0811B564 - .incbin "baserom.gba", 0x11B564, 0x0000014 - -gUnk_0811B578:: @ 0811B578 - .incbin "baserom.gba", 0x11B578, 0x00003C8 - -gUnk_0811B940:: @ 0811B940 - .incbin "baserom.gba", 0x11B940, 0x000004C - -gUnk_0811B98C:: @ 0811B98C - .incbin "baserom.gba", 0x11B98C, 0x0000014 - -gUnk_0811B9A0:: @ 0811B9A0 - .incbin "baserom.gba", 0x11B9A0, 0x0000008 - -gUnk_0811B9A8:: @ 0811B9A8 - .incbin "baserom.gba", 0x11B9A8, 0x0000020 - -gUnk_0811B9C8:: @ 0811B9C8 - .incbin "baserom.gba", 0x11B9C8, 0x0000008 - -gUnk_0811B9D0:: @ 0811B9D0 - .incbin "baserom.gba", 0x11B9D0, 0x0000008 - -gUnk_0811B9D8:: @ 0811B9D8 - .incbin "baserom.gba", 0x11B9D8, 0x0000008 - -gUnk_0811B9E0:: @ 0811B9E0 - .incbin "baserom.gba", 0x11B9E0, 0x0000080 - -gUnk_0811BA60:: @ 0811BA60 - .incbin "baserom.gba", 0x11BA60, 0x0000008 - -gUnk_0811BA68:: @ 0811BA68 - .incbin "baserom.gba", 0x11BA68, 0x000000C - -gUnk_0811BA74:: @ 0811BA74 - .incbin "baserom.gba", 0x11BA74, 0x0000008 - -gUnk_0811BA7C:: @ 0811BA7C - .incbin "baserom.gba", 0x11BA7C, 0x000000C - -gUnk_0811BA88:: @ 0811BA88 - .incbin "baserom.gba", 0x11BA88, 0x000000C - -gUnk_0811BA94:: @ 0811BA94 - .incbin "baserom.gba", 0x11BA94, 0x0000008 - -gUnk_0811BA9C:: @ 0811BA9C - .incbin "baserom.gba", 0x11BA9C, 0x0000020 - -gUnk_0811BABC:: @ 0811BABC - .incbin "baserom.gba", 0x11BABC, 0x0000008 - -gUnk_0811BAC4:: @ 0811BAC4 - .incbin "baserom.gba", 0x11BAC4, 0x0000010 - -gUnk_0811BAD4:: @ 0811BAD4 - .incbin "baserom.gba", 0x11BAD4, 0x0000010 - -gUnk_0811BAE4:: @ 0811BAE4 - .incbin "baserom.gba", 0x11BAE4, 0x000000C - -gUnk_0811BAF0:: @ 0811BAF0 - .incbin "baserom.gba", 0x11BAF0, 0x000003C - -gUnk_0811BB2C:: @ 0811BB2C - .incbin "baserom.gba", 0x11BB2C, 0x000000C - -gUnk_0811BB38:: @ 0811BB38 - .incbin "baserom.gba", 0x11BB38, 0x0000004 - -gUnk_0811BB3C:: @ 0811BB3C - .incbin "baserom.gba", 0x11BB3C, 0x000000C - -gUnk_0811BB48:: @ 0811BB48 - .incbin "baserom.gba", 0x11BB48, 0x0000008 - -gUnk_0811BB50:: @ 0811BB50 - .incbin "baserom.gba", 0x11BB50, 0x0000008 - -gUnk_0811BB58:: @ 0811BB58 - .incbin "baserom.gba", 0x11BB58, 0x0000008 - -gUnk_0811BB60:: @ 0811BB60 - .incbin "baserom.gba", 0x11BB60, 0x0000008 - -gUnk_0811BB68:: @ 0811BB68 - .incbin "baserom.gba", 0x11BB68, 0x0000008 - -gUnk_0811BB70:: @ 0811BB70 - .incbin "baserom.gba", 0x11BB70, 0x0000010 - -gUnk_0811BB80:: @ 0811BB80 - .incbin "baserom.gba", 0x11BB80, 0x0000008 - -gUnk_0811BB88:: @ 0811BB88 - .incbin "baserom.gba", 0x11BB88, 0x0000008 - -gUnk_0811BB90:: @ 0811BB90 - .incbin "baserom.gba", 0x11BB90, 0x0000008 - -gUnk_0811BB98:: @ 0811BB98 - .incbin "baserom.gba", 0x11BB98, 0x0000014 - -gUnk_0811BBAC:: @ 0811BBAC - .incbin "baserom.gba", 0x11BBAC, 0x0000010 - -gUnk_0811BBBC:: @ 0811BBBC - .incbin "baserom.gba", 0x11BBBC, 0x0000006 - -gUnk_0811BBC2:: @ 0811BBC2 - .incbin "baserom.gba", 0x11BBC2, 0x0000006 - -gUnk_0811BBC8:: @ 0811BBC8 - .incbin "baserom.gba", 0x11BBC8, 0x0000006 - -gUnk_0811BBCE:: @ 0811BBCE - .incbin "baserom.gba", 0x11BBCE, 0x0000006 - -gUnk_0811BBD4:: @ 0811BBD4 - .incbin "baserom.gba", 0x11BBD4, 0x0000010 - -gUnk_0811BBE4:: @ 0811BBE4 - .incbin "baserom.gba", 0x11BBE4, 0x0000008 - -gUnk_0811BBEC:: @ 0811BBEC - .incbin "baserom.gba", 0x11BBEC, 0x000000C - -gUnk_0811BBF8:: @ 0811BBF8 - .incbin "baserom.gba", 0x11BBF8, 0x0000010 - -gUnk_0811BC08:: @ 0811BC08 - .incbin "baserom.gba", 0x11BC08, 0x0000020 - -gUnk_0811BC28:: @ 0811BC28 - .incbin "baserom.gba", 0x11BC28, 0x0000008 - -gUnk_0811BC30:: @ 0811BC30 - .incbin "baserom.gba", 0x11BC30, 0x0000008 - -gUnk_0811BC38:: @ 0811BC38 - .incbin "baserom.gba", 0x11BC38, 0x0000008 - -gUnk_0811BC40:: @ 0811BC40 - .incbin "baserom.gba", 0x11BC40, 0x0000008 - -gUnk_0811BC48:: @ 0811BC48 - .incbin "baserom.gba", 0x11BC48, 0x0000018 - -gUnk_0811BC60:: @ 0811BC60 - .incbin "baserom.gba", 0x11BC60, 0x0000020 - -gUnk_0811BC80:: @ 0811BC80 - .incbin "baserom.gba", 0x11BC80, 0x0000008 - -gUnk_0811BC88:: @ 0811BC88 - .incbin "baserom.gba", 0x11BC88, 0x0000010 - -gUnk_0811BC98:: @ 0811BC98 - .incbin "baserom.gba", 0x11BC98, 0x000001C - -gUnk_0811BCB4:: @ 0811BCB4 - .incbin "baserom.gba", 0x11BCB4, 0x0000010 diff --git a/data/data_0810821C.s b/data/data_0810821C.s new file mode 100644 index 00000000..c0cae962 --- /dev/null +++ b/data/data_0810821C.s @@ -0,0 +1,5852 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_0810821C:: @ 0810821C + .incbin "baserom.gba", 0x10821C, 0x000000C + +gUnk_08108228:: @ 08108228 + .incbin "baserom.gba", 0x108228, 0x0000030 + +gUnk_08108258:: @ 08108258 + .incbin "baserom.gba", 0x108258, 0x0000030 + +gUnk_08108288:: @ 08108288 + .incbin "baserom.gba", 0x108288, 0x0000030 + +gUnk_081082B8:: @ 081082B8 + .incbin "baserom.gba", 0x1082B8, 0x0000030 + +gUnk_081082E8:: @ 081082E8 + .incbin "baserom.gba", 0x1082E8, 0x0000018 + +gUnk_08108300:: @ 08108300 + .incbin "baserom.gba", 0x108300, 0x0000008 + +gUnk_08108308:: @ 08108308 + .incbin "baserom.gba", 0x108308, 0x000000C + +gUnk_08108314:: @ 08108314 + .incbin "baserom.gba", 0x108314, 0x0000040 + +gUnk_08108354:: @ 08108354 + .incbin "baserom.gba", 0x108354, 0x000002C + +gUnk_08108380:: @ 08108380 + .incbin "baserom.gba", 0x108380, 0x0000010 + +gUnk_08108390:: @ 08108390 + .incbin "baserom.gba", 0x108390, 0x0000008 + +gUnk_08108398:: @ 08108398 + .incbin "baserom.gba", 0x108398, 0x0000016 + +gUnk_081083AE:: @ 081083AE + .incbin "baserom.gba", 0x1083AE, 0x0000016 + +gUnk_081083C4:: @ 081083C4 + .incbin "baserom.gba", 0x1083C4, 0x0000016 + +gUnk_081083DA:: @ 081083DA + .incbin "baserom.gba", 0x1083DA, 0x0000018 + +gUnk_081083F2:: @ 081083F2 + .incbin "baserom.gba", 0x1083F2, 0x0000016 + +gUnk_08108408:: @ 08108408 + .incbin "baserom.gba", 0x108408, 0x000003C + +gUnk_08108444:: @ 08108444 + .incbin "baserom.gba", 0x108444, 0x0000024 + +gUnk_08108468:: @ 08108468 + .incbin "baserom.gba", 0x108468, 0x0000026 + +gUnk_0810848E:: @ 0810848E + .incbin "baserom.gba", 0x10848E, 0x0000035 + +gUnk_081084C3:: @ 081084C3 + .incbin "baserom.gba", 0x1084C3, 0x0000005 + +gUnk_081084C8:: @ 081084C8 + .incbin "baserom.gba", 0x1084C8, 0x000004A + +gUnk_08108512:: @ 08108512 + .incbin "baserom.gba", 0x108512, 0x000001E + +gUnk_08108530:: @ 08108530 + .incbin "baserom.gba", 0x108530, 0x0000058 + +gUnk_08108588:: @ 08108588 + .incbin "baserom.gba", 0x108588, 0x0000012 + +gUnk_0810859A:: @ 0810859A + .incbin "baserom.gba", 0x10859A, 0x000000A + +gUnk_081085A4:: @ 081085A4 + .incbin "baserom.gba", 0x1085A4, 0x0000014 + +gUnk_081085B8:: @ 081085B8 + .incbin "baserom.gba", 0x1085B8, 0x0000020 + +gUnk_081085D8:: @ 081085D8 + .incbin "baserom.gba", 0x1085D8, 0x0000020 + +gUnk_081085F8:: @ 081085F8 + .incbin "baserom.gba", 0x1085F8, 0x0000014 + +gUnk_0810860C:: @ 0810860C + .incbin "baserom.gba", 0x10860C, 0x0000014 + +gUnk_08108620:: @ 08108620 + .incbin "baserom.gba", 0x108620, 0x0000018 + +gUnk_08108638:: @ 08108638 + .incbin "baserom.gba", 0x108638, 0x0000010 + +gUnk_08108648:: @ 08108648 + .incbin "baserom.gba", 0x108648, 0x000000C + +gUnk_08108654:: @ 08108654 + .incbin "baserom.gba", 0x108654, 0x0000008 + +gUnk_0810865C:: @ 0810865C + .incbin "baserom.gba", 0x10865C, 0x000000C + +gUnk_08108668:: @ 08108668 + .incbin "baserom.gba", 0x108668, 0x0000008 + +gUnk_08108670:: @ 08108670 + .incbin "baserom.gba", 0x108670, 0x000000C + +gUnk_0810867C:: @ 0810867C + .incbin "baserom.gba", 0x10867C, 0x000000C + +gUnk_08108688:: @ 08108688 + .incbin "baserom.gba", 0x108688, 0x000000C + +gUnk_08108694:: @ 08108694 + .incbin "baserom.gba", 0x108694, 0x000000C + +gUnk_081086A0:: @ 081086A0 + .incbin "baserom.gba", 0x1086A0, 0x0000009 + +gUnk_081086A9:: @ 081086A9 + .incbin "baserom.gba", 0x1086A9, 0x0000003 + +gUnk_081086AC:: @ 081086AC + .incbin "baserom.gba", 0x1086AC, 0x000000C + +gUnk_081086B8:: @ 081086B8 + .incbin "baserom.gba", 0x1086B8, 0x000000C + +gUnk_081086C4:: @ 081086C4 + .incbin "baserom.gba", 0x1086C4, 0x000000C + +gUnk_081086D0:: @ 081086D0 + .incbin "baserom.gba", 0x1086D0, 0x0000001 + +gUnk_081086D1:: @ 081086D1 + .incbin "baserom.gba", 0x1086D1, 0x000000B + +gUnk_081086DC:: @ 081086DC + .incbin "baserom.gba", 0x1086DC, 0x0000008 + +gUnk_081086E4:: @ 081086E4 + .incbin "baserom.gba", 0x1086E4, 0x0000008 + +gUnk_081086EC:: @ 081086EC + .incbin "baserom.gba", 0x1086EC, 0x0000008 + +gUnk_081086F4:: @ 081086F4 + .incbin "baserom.gba", 0x1086F4, 0x0000008 + +gUnk_081086FC:: @ 081086FC + .incbin "baserom.gba", 0x1086FC, 0x0000008 + +gUnk_08108704:: @ 08108704 + .incbin "baserom.gba", 0x108704, 0x0000003 + +gUnk_08108707:: @ 08108707 + .incbin "baserom.gba", 0x108707, 0x0000005 + +gUnk_0810870C:: @ 0810870C + .incbin "baserom.gba", 0x10870C, 0x0000008 + +gUnk_08108714:: @ 08108714 + .incbin "baserom.gba", 0x108714, 0x0000008 + +gUnk_0810871C:: @ 0810871C + .incbin "baserom.gba", 0x10871C, 0x0000008 + +gUnk_08108724:: @ 08108724 + .incbin "baserom.gba", 0x108724, 0x0000008 + +gUnk_0810872C:: @ 0810872C + .incbin "baserom.gba", 0x10872C, 0x0000008 + +gUnk_08108734:: @ 08108734 + .incbin "baserom.gba", 0x108734, 0x0000008 + +gUnk_0810873C:: @ 0810873C + .incbin "baserom.gba", 0x10873C, 0x0000008 + +gUnk_08108744:: @ 08108744 + .incbin "baserom.gba", 0x108744, 0x0000006 + +gUnk_0810874A:: @ 0810874A + .incbin "baserom.gba", 0x10874A, 0x0000002 + +gUnk_0810874C:: @ 0810874C + .incbin "baserom.gba", 0x10874C, 0x0000008 + +gUnk_08108754:: @ 08108754 + .incbin "baserom.gba", 0x108754, 0x0000008 + +gUnk_0810875C:: @ 0810875C + .incbin "baserom.gba", 0x10875C, 0x0000002 + +gUnk_0810875E:: @ 0810875E + .incbin "baserom.gba", 0x10875E, 0x0000006 + +gUnk_08108764:: @ 08108764 + .incbin "baserom.gba", 0x108764, 0x00000AF + +gUnk_08108813:: @ 08108813 + .incbin "baserom.gba", 0x108813, 0x0000031 + +gUnk_08108844:: @ 08108844 + .incbin "baserom.gba", 0x108844, 0x0000020 + +gUnk_08108864:: @ 08108864 + .incbin "baserom.gba", 0x108864, 0x0000237 + +gUnk_08108A9B:: @ 08108A9B + .incbin "baserom.gba", 0x108A9B, 0x0000177 + +gUnk_08108C12:: @ 08108C12 + .incbin "baserom.gba", 0x108C12, 0x0000016 + +gUnk_08108C28:: @ 08108C28 + .incbin "baserom.gba", 0x108C28, 0x000001C + +gUnk_08108C44:: @ 08108C44 + .incbin "baserom.gba", 0x108C44, 0x0000010 + +gUnk_08108C54:: @ 08108C54 + .incbin "baserom.gba", 0x108C54, 0x0000008 + +gUnk_08108C5C:: @ 08108C5C + .incbin "baserom.gba", 0x108C5C, 0x0000008 + +gUnk_08108C64:: @ 08108C64 + .incbin "baserom.gba", 0x108C64, 0x0000008 + +gUnk_08108C6C:: @ 08108C6C + .incbin "baserom.gba", 0x108C6C, 0x000000B + +gUnk_08108C77:: @ 08108C77 + .incbin "baserom.gba", 0x108C77, 0x0000005 + +gUnk_08108C7C:: @ 08108C7C + .incbin "baserom.gba", 0x108C7C, 0x0000004 + +gUnk_08108C80:: @ 08108C80 + .incbin "baserom.gba", 0x108C80, 0x0000008 + +gUnk_08108C88:: @ 08108C88 + .incbin "baserom.gba", 0x108C88, 0x0000004 + +gUnk_08108C8C:: @ 08108C8C + .incbin "baserom.gba", 0x108C8C, 0x0000008 + +gUnk_08108C94:: @ 08108C94 + .incbin "baserom.gba", 0x108C94, 0x0000008 + +gUnk_08108C9C:: @ 08108C9C + .incbin "baserom.gba", 0x108C9C, 0x000000C + +gUnk_08108CA8:: @ 08108CA8 + .incbin "baserom.gba", 0x108CA8, 0x0000024 + +gUnk_08108CCC:: @ 08108CCC + .incbin "baserom.gba", 0x108CCC, 0x0000010 + +gUnk_08108CDC:: @ 08108CDC + .incbin "baserom.gba", 0x108CDC, 0x000000C + +gUnk_08108CE8:: @ 08108CE8 + .incbin "baserom.gba", 0x108CE8, 0x0000014 + +gUnk_08108CFC:: @ 08108CFC + .incbin "baserom.gba", 0x108CFC, 0x0000008 + +gUnk_08108D04:: @ 08108D04 + .incbin "baserom.gba", 0x108D04, 0x000000C + +gUnk_08108D10:: @ 08108D10 + .incbin "baserom.gba", 0x108D10, 0x000000C + +gUnk_08108D1C:: @ 08108D1C + .incbin "baserom.gba", 0x108D1C, 0x0000004 + +gUnk_08108D20:: @ 08108D20 + .incbin "baserom.gba", 0x108D20, 0x0000008 + +gUnk_08108D28:: @ 08108D28 + .incbin "baserom.gba", 0x108D28, 0x0000008 + +gUnk_08108D30:: @ 08108D30 + .incbin "baserom.gba", 0x108D30, 0x000000C + +gUnk_08108D3C:: @ 08108D3C + .incbin "baserom.gba", 0x108D3C, 0x0000008 + +gUnk_08108D44:: @ 08108D44 + .incbin "baserom.gba", 0x108D44, 0x000000C + +gUnk_08108D50:: @ 08108D50 + .incbin "baserom.gba", 0x108D50, 0x000000C + +gUnk_08108D5C:: @ 08108D5C + .incbin "baserom.gba", 0x108D5C, 0x0000018 + +gUnk_08108D74:: @ 08108D74 + .incbin "baserom.gba", 0x108D74, 0x0000008 + +gUnk_08108D7C:: @ 08108D7C + .incbin "baserom.gba", 0x108D7C, 0x0000010 + +gUnk_08108D8C:: @ 08108D8C + .incbin "baserom.gba", 0x108D8C, 0x000000B + +gUnk_08108D97:: @ 08108D97 + .incbin "baserom.gba", 0x108D97, 0x0000001 + +gUnk_08108D98:: @ 08108D98 + .incbin "baserom.gba", 0x108D98, 0x0000010 + +gUnk_08108DA8:: @ 08108DA8 + .incbin "baserom.gba", 0x108DA8, 0x0000014 + +gUnk_08108DBC:: @ 08108DBC + .incbin "baserom.gba", 0x108DBC, 0x0000008 + +gUnk_08108DC4:: @ 08108DC4 + .incbin "baserom.gba", 0x108DC4, 0x0000014 + +gUnk_08108DD8:: @ 08108DD8 + .incbin "baserom.gba", 0x108DD8, 0x0000008 + +gUnk_08108DE0:: @ 08108DE0 + .incbin "baserom.gba", 0x108DE0, 0x0000008 + +gUnk_08108DE8:: @ 08108DE8 + .incbin "baserom.gba", 0x108DE8, 0x0000040 + +gUnk_08108E28:: @ 08108E28 + .incbin "baserom.gba", 0x108E28, 0x0000008 + +gUnk_08108E30:: @ 08108E30 + .incbin "baserom.gba", 0x108E30, 0x0000018 + +gUnk_08108E48:: @ 08108E48 + .incbin "baserom.gba", 0x108E48, 0x0000002 + +gUnk_08108E4A:: @ 08108E4A + .incbin "baserom.gba", 0x108E4A, 0x0000016 + +gUnk_08108E60:: @ 08108E60 + .incbin "baserom.gba", 0x108E60, 0x000000C + +gUnk_08108E6C:: @ 08108E6C + .incbin "baserom.gba", 0x108E6C, 0x000000C + +gUnk_08108E78:: @ 08108E78 + .incbin "baserom.gba", 0x108E78, 0x0000018 + +gUnk_08108E90:: @ 08108E90 + .incbin "baserom.gba", 0x108E90, 0x0000008 + +gUnk_08108E98:: @ 08108E98 + .incbin "baserom.gba", 0x108E98, 0x000000C + +gUnk_08108EA4:: @ 08108EA4 + .incbin "baserom.gba", 0x108EA4, 0x0000018 + +gUnk_08108EBC:: @ 08108EBC + .incbin "baserom.gba", 0x108EBC, 0x0000008 + +gUnk_08108EC4:: @ 08108EC4 + .incbin "baserom.gba", 0x108EC4, 0x000000C + +gUnk_08108ED0:: @ 08108ED0 + .incbin "baserom.gba", 0x108ED0, 0x0000018 + +gUnk_08108EE8:: @ 08108EE8 + .incbin "baserom.gba", 0x108EE8, 0x0000008 + +gUnk_08108EF0:: @ 08108EF0 + .incbin "baserom.gba", 0x108EF0, 0x000000C + +gUnk_08108EFC:: @ 08108EFC + .incbin "baserom.gba", 0x108EFC, 0x0000018 + +gUnk_08108F14:: @ 08108F14 + .incbin "baserom.gba", 0x108F14, 0x0000008 + +gUnk_08108F1C:: @ 08108F1C + .incbin "baserom.gba", 0x108F1C, 0x000000C + +gUnk_08108F28:: @ 08108F28 + .incbin "baserom.gba", 0x108F28, 0x0000018 + +gUnk_08108F40:: @ 08108F40 + .incbin "baserom.gba", 0x108F40, 0x0000008 + +gUnk_08108F48:: @ 08108F48 + .incbin "baserom.gba", 0x108F48, 0x0000004 + +gUnk_08108F4C:: @ 08108F4C + .incbin "baserom.gba", 0x108F4C, 0x0000008 + +gUnk_08108F54:: @ 08108F54 + .incbin "baserom.gba", 0x108F54, 0x0000018 + +gUnk_08108F6C:: @ 08108F6C + .incbin "baserom.gba", 0x108F6C, 0x0000008 + +gUnk_08108F74:: @ 08108F74 + .incbin "baserom.gba", 0x108F74, 0x000000C + +gUnk_08108F80:: @ 08108F80 + .incbin "baserom.gba", 0x108F80, 0x0000018 + +gUnk_08108F98:: @ 08108F98 + .incbin "baserom.gba", 0x108F98, 0x0000008 + +gUnk_08108FA0:: @ 08108FA0 + .incbin "baserom.gba", 0x108FA0, 0x000000C + +gUnk_08108FAC:: @ 08108FAC + .incbin "baserom.gba", 0x108FAC, 0x0000018 + +gUnk_08108FC4:: @ 08108FC4 + .incbin "baserom.gba", 0x108FC4, 0x0000008 + +gUnk_08108FCC:: @ 08108FCC + .incbin "baserom.gba", 0x108FCC, 0x000000C + +gUnk_08108FD8:: @ 08108FD8 + .incbin "baserom.gba", 0x108FD8, 0x0000018 + +gUnk_08108FF0:: @ 08108FF0 + .incbin "baserom.gba", 0x108FF0, 0x0000008 + +gUnk_08108FF8:: @ 08108FF8 + .incbin "baserom.gba", 0x108FF8, 0x000000C + +gUnk_08109004:: @ 08109004 + .incbin "baserom.gba", 0x109004, 0x0000001 + +gUnk_08109005:: @ 08109005 + .incbin "baserom.gba", 0x109005, 0x0000014 + +gUnk_08109019:: @ 08109019 + .incbin "baserom.gba", 0x109019, 0x0000003 + +gUnk_0810901C:: @ 0810901C + .incbin "baserom.gba", 0x10901C, 0x0000008 + +gUnk_08109024:: @ 08109024 + .incbin "baserom.gba", 0x109024, 0x000000C + +gUnk_08109030:: @ 08109030 + .incbin "baserom.gba", 0x109030, 0x0000003 + +gUnk_08109033:: @ 08109033 + .incbin "baserom.gba", 0x109033, 0x0000015 + +gUnk_08109048:: @ 08109048 + .incbin "baserom.gba", 0x109048, 0x0000008 + +gUnk_08109050:: @ 08109050 + .incbin "baserom.gba", 0x109050, 0x000000C + +gUnk_0810905C:: @ 0810905C + .incbin "baserom.gba", 0x10905C, 0x0000018 + +gUnk_08109074:: @ 08109074 + .incbin "baserom.gba", 0x109074, 0x0000008 + +gUnk_0810907C:: @ 0810907C + .incbin "baserom.gba", 0x10907C, 0x000000C + +gUnk_08109088:: @ 08109088 + .incbin "baserom.gba", 0x109088, 0x0000018 + +gUnk_081090A0:: @ 081090A0 + .incbin "baserom.gba", 0x1090A0, 0x0000008 + +gUnk_081090A8:: @ 081090A8 + .incbin "baserom.gba", 0x1090A8, 0x000000C + +gUnk_081090B4:: @ 081090B4 + .incbin "baserom.gba", 0x1090B4, 0x0000018 + +gUnk_081090CC:: @ 081090CC + .incbin "baserom.gba", 0x1090CC, 0x0000008 + +gUnk_081090D4:: @ 081090D4 + .incbin "baserom.gba", 0x1090D4, 0x000000C + +gUnk_081090E0:: @ 081090E0 + .incbin "baserom.gba", 0x1090E0, 0x0000018 + +gUnk_081090F8:: @ 081090F8 + .incbin "baserom.gba", 0x1090F8, 0x0000008 + +gUnk_08109100:: @ 08109100 + .incbin "baserom.gba", 0x109100, 0x000000C + +gUnk_0810910C:: @ 0810910C + .incbin "baserom.gba", 0x10910C, 0x0000018 + +gUnk_08109124:: @ 08109124 + .incbin "baserom.gba", 0x109124, 0x0000008 + +gUnk_0810912C:: @ 0810912C + .incbin "baserom.gba", 0x10912C, 0x000000C + +gUnk_08109138:: @ 08109138 + .incbin "baserom.gba", 0x109138, 0x0000008 + +gUnk_08109140:: @ 08109140 + .incbin "baserom.gba", 0x109140, 0x0000018 + +gUnk_08109158:: @ 08109158 + .incbin "baserom.gba", 0x109158, 0x0000008 + +gUnk_08109160:: @ 08109160 + .incbin "baserom.gba", 0x109160, 0x0000018 + +gUnk_08109178:: @ 08109178 + .incbin "baserom.gba", 0x109178, 0x0000008 + +gUnk_08109180:: @ 08109180 + .incbin "baserom.gba", 0x109180, 0x000000C + +gUnk_0810918C:: @ 0810918C + .incbin "baserom.gba", 0x10918C, 0x0000008 + +gUnk_08109194:: @ 08109194 + .incbin "baserom.gba", 0x109194, 0x0000009 + +gUnk_0810919D:: @ 0810919D + .incbin "baserom.gba", 0x10919D, 0x0000047 + +gUnk_081091E4:: @ 081091E4 + .incbin "baserom.gba", 0x1091E4, 0x000000A + +gUnk_081091EE:: @ 081091EE + .incbin "baserom.gba", 0x1091EE, 0x000000A + +gUnk_081091F8:: @ 081091F8 + .incbin "baserom.gba", 0x1091F8, 0x000000A + +gUnk_08109202:: @ 08109202 + .incbin "baserom.gba", 0x109202, 0x0000012 + +gUnk_08109214:: @ 08109214 + .incbin "baserom.gba", 0x109214, 0x000001C + +gUnk_08109230:: @ 08109230 + .incbin "baserom.gba", 0x109230, 0x0000014 + +gUnk_08109244:: @ 08109244 + .incbin "baserom.gba", 0x109244, 0x0000004 + +gUnk_08109248:: @ 08109248 + .incbin "baserom.gba", 0x109248, 0x0000024 + +gUnk_0810926C:: @ 0810926C + .incbin "baserom.gba", 0x10926C, 0x0000040 + +gUnk_081092AC:: @ 081092AC + .incbin "baserom.gba", 0x1092AC, 0x0000028 + +gUnk_081092D4:: @ 081092D4 + .incbin "baserom.gba", 0x1092D4, 0x000002F + +gUnk_08109303:: @ 08109303 + .incbin "baserom.gba", 0x109303, 0x000005E + +gUnk_08109361:: @ 08109361 + .incbin "baserom.gba", 0x109361, 0x00000A5 + +gUnk_08109406:: @ 08109406 + .incbin "baserom.gba", 0x109406, 0x0000028 + +gUnk_0810942E:: @ 0810942E + .incbin "baserom.gba", 0x10942E, 0x00000A0 + +gUnk_081094CE:: @ 081094CE + .incbin "baserom.gba", 0x1094CE, 0x00000FB + +gUnk_081095C9:: @ 081095C9 + .incbin "baserom.gba", 0x1095C9, 0x000014C + +gUnk_08109715:: @ 08109715 + .incbin "baserom.gba", 0x109715, 0x0000063 + +gUnk_08109778:: @ 08109778 + .incbin "baserom.gba", 0x109778, 0x0000005 + +gUnk_0810977D:: @ 0810977D + .incbin "baserom.gba", 0x10977D, 0x0000017 + +gUnk_08109794:: @ 08109794 + .incbin "baserom.gba", 0x109794, 0x0000104 + +gUnk_08109898:: @ 08109898 + .incbin "baserom.gba", 0x109898, 0x000000F + +gUnk_081098A7:: @ 081098A7 + .incbin "baserom.gba", 0x1098A7, 0x000005F + +gUnk_08109906:: @ 08109906 + .incbin "baserom.gba", 0x109906, 0x000012A + +gUnk_08109A30:: @ 08109A30 + .incbin "baserom.gba", 0x109A30, 0x0000028 + +gUnk_08109A58:: @ 08109A58 + .incbin "baserom.gba", 0x109A58, 0x0000010 + +gUnk_08109A68:: @ 08109A68 + .incbin "baserom.gba", 0x109A68, 0x0000010 + +gUnk_08109A78:: @ 08109A78 + .incbin "baserom.gba", 0x109A78, 0x0000010 + +gUnk_08109A88:: @ 08109A88 + .incbin "baserom.gba", 0x109A88, 0x0000010 + +gUnk_08109A98:: @ 08109A98 + .incbin "baserom.gba", 0x109A98, 0x0000006 + +gUnk_08109A9E:: @ 08109A9E + .incbin "baserom.gba", 0x109A9E, 0x000000A + +gUnk_08109AA8:: @ 08109AA8 + .incbin "baserom.gba", 0x109AA8, 0x0000010 + +gUnk_08109AB8:: @ 08109AB8 + .incbin "baserom.gba", 0x109AB8, 0x0000010 + +gUnk_08109AC8:: @ 08109AC8 + .incbin "baserom.gba", 0x109AC8, 0x0000008 + +gUnk_08109AD0:: @ 08109AD0 + .incbin "baserom.gba", 0x109AD0, 0x0000008 + +gUnk_08109AD8:: @ 08109AD8 + .incbin "baserom.gba", 0x109AD8, 0x0000005 + +gUnk_08109ADD:: @ 08109ADD + .incbin "baserom.gba", 0x109ADD, 0x0000005 + +gUnk_08109AE2:: @ 08109AE2 + .incbin "baserom.gba", 0x109AE2, 0x0000005 + +gUnk_08109AE7:: @ 08109AE7 + .incbin "baserom.gba", 0x109AE7, 0x0000005 + +gUnk_08109AEC:: @ 08109AEC + .incbin "baserom.gba", 0x109AEC, 0x0000011 + +gUnk_08109AFD:: @ 08109AFD + .incbin "baserom.gba", 0x109AFD, 0x000000B + +gUnk_08109B08:: @ 08109B08 + .incbin "baserom.gba", 0x109B08, 0x0000006 + +gUnk_08109B0E:: @ 08109B0E + .incbin "baserom.gba", 0x109B0E, 0x000002D + +gUnk_08109B3B:: @ 08109B3B + .incbin "baserom.gba", 0x109B3B, 0x0000025 + +gUnk_08109B60:: @ 08109B60 + .incbin "baserom.gba", 0x109B60, 0x0000020 + +gUnk_08109B80:: @ 08109B80 + .incbin "baserom.gba", 0x109B80, 0x000003C + +gUnk_08109BBC:: @ 08109BBC + .incbin "baserom.gba", 0x109BBC, 0x000000C + +gUnk_08109BC8:: @ 08109BC8 + .incbin "baserom.gba", 0x109BC8, 0x0000005 + +gUnk_08109BCD:: @ 08109BCD + .incbin "baserom.gba", 0x109BCD, 0x0000005 + +gUnk_08109BD2:: @ 08109BD2 + .incbin "baserom.gba", 0x109BD2, 0x0000005 + +gUnk_08109BD7:: @ 08109BD7 + .incbin "baserom.gba", 0x109BD7, 0x0000011 + +gUnk_08109BE8:: @ 08109BE8 + .incbin "baserom.gba", 0x109BE8, 0x0000011 + +gUnk_08109BF9:: @ 08109BF9 + .incbin "baserom.gba", 0x109BF9, 0x0000035 + +gUnk_08109C2E:: @ 08109C2E + .incbin "baserom.gba", 0x109C2E, 0x000001D + +gUnk_08109C4B:: @ 08109C4B + .incbin "baserom.gba", 0x109C4B, 0x0000009 + +gUnk_08109C54:: @ 08109C54 + .incbin "baserom.gba", 0x109C54, 0x0000005 + +gUnk_08109C59:: @ 08109C59 + .incbin "baserom.gba", 0x109C59, 0x0000007 + +gUnk_08109C60:: @ 08109C60 + .incbin "baserom.gba", 0x109C60, 0x0000038 + +gUnk_08109C98:: @ 08109C98 + .incbin "baserom.gba", 0x109C98, 0x0000080 + +gUnk_08109D18:: @ 08109D18 + .incbin "baserom.gba", 0x109D18, 0x0000063 + +gUnk_08109D7B:: @ 08109D7B + .incbin "baserom.gba", 0x109D7B, 0x000002E + +gUnk_08109DA9:: @ 08109DA9 + .incbin "baserom.gba", 0x109DA9, 0x000001F + +gUnk_08109DC8:: @ 08109DC8 + .incbin "baserom.gba", 0x109DC8, 0x000003F + +gUnk_08109E07:: @ 08109E07 + .incbin "baserom.gba", 0x109E07, 0x000010E + +gUnk_08109F15:: @ 08109F15 + .incbin "baserom.gba", 0x109F15, 0x0000052 + +gUnk_08109F67:: @ 08109F67 + .incbin "baserom.gba", 0x109F67, 0x0000005 + +gUnk_08109F6C:: @ 08109F6C + .incbin "baserom.gba", 0x109F6C, 0x000002B + +gUnk_08109F97:: @ 08109F97 + .incbin "baserom.gba", 0x109F97, 0x00000B1 + +gUnk_0810A048:: @ 0810A048 + .incbin "baserom.gba", 0x10A048, 0x0000111 + +gUnk_0810A159:: @ 0810A159 + .incbin "baserom.gba", 0x10A159, 0x0000048 + +gUnk_0810A1A1:: @ 0810A1A1 + .incbin "baserom.gba", 0x10A1A1, 0x00001A7 + +gUnk_0810A348:: @ 0810A348 + .incbin "baserom.gba", 0x10A348, 0x000000C + +gUnk_0810A354:: @ 0810A354 + .incbin "baserom.gba", 0x10A354, 0x0000006 + +gUnk_0810A35A:: @ 0810A35A + .incbin "baserom.gba", 0x10A35A, 0x0000008 + +gUnk_0810A362:: @ 0810A362 + .incbin "baserom.gba", 0x10A362, 0x0000008 + +gUnk_0810A36A:: @ 0810A36A + .incbin "baserom.gba", 0x10A36A, 0x0000005 + +gUnk_0810A36F:: @ 0810A36F + .incbin "baserom.gba", 0x10A36F, 0x0000005 + +gUnk_0810A374:: @ 0810A374 + .incbin "baserom.gba", 0x10A374, 0x0000005 + +gUnk_0810A379:: @ 0810A379 + .incbin "baserom.gba", 0x10A379, 0x0000001 + +gUnk_0810A37A:: @ 0810A37A + .incbin "baserom.gba", 0x10A37A, 0x0000004 + +gUnk_0810A37E:: @ 0810A37E + .incbin "baserom.gba", 0x10A37E, 0x0000021 + +gUnk_0810A39F:: @ 0810A39F + .incbin "baserom.gba", 0x10A39F, 0x0000021 + +gUnk_0810A3C0:: @ 0810A3C0 + .incbin "baserom.gba", 0x10A3C0, 0x0000021 + +gUnk_0810A3E1:: @ 0810A3E1 + .incbin "baserom.gba", 0x10A3E1, 0x000001F + +gUnk_0810A400:: @ 0810A400 + .incbin "baserom.gba", 0x10A400, 0x0000002 + +gUnk_0810A402:: @ 0810A402 + .incbin "baserom.gba", 0x10A402, 0x0000005 + +gUnk_0810A407:: @ 0810A407 + .incbin "baserom.gba", 0x10A407, 0x0000001 + +gUnk_0810A408:: @ 0810A408 + .incbin "baserom.gba", 0x10A408, 0x0000004 + +gUnk_0810A40C:: @ 0810A40C + .incbin "baserom.gba", 0x10A40C, 0x0000005 + +gUnk_0810A411:: @ 0810A411 + .incbin "baserom.gba", 0x10A411, 0x0000005 + +gUnk_0810A416:: @ 0810A416 + .incbin "baserom.gba", 0x10A416, 0x000000D + +gUnk_0810A423:: @ 0810A423 + .incbin "baserom.gba", 0x10A423, 0x000000D + +gUnk_0810A430:: @ 0810A430 + .incbin "baserom.gba", 0x10A430, 0x000000D + +gUnk_0810A43D:: @ 0810A43D + .incbin "baserom.gba", 0x10A43D, 0x000000D + +gUnk_0810A44A:: @ 0810A44A + .incbin "baserom.gba", 0x10A44A, 0x000000D + +gUnk_0810A457:: @ 0810A457 + .incbin "baserom.gba", 0x10A457, 0x000000D + +gUnk_0810A464:: @ 0810A464 + .incbin "baserom.gba", 0x10A464, 0x000000D + +gUnk_0810A471:: @ 0810A471 + .incbin "baserom.gba", 0x10A471, 0x000000D + +gUnk_0810A47E:: @ 0810A47E + .incbin "baserom.gba", 0x10A47E, 0x000000D + +gUnk_0810A48B:: @ 0810A48B + .incbin "baserom.gba", 0x10A48B, 0x000000D + +gUnk_0810A498:: @ 0810A498 + .incbin "baserom.gba", 0x10A498, 0x000000D + +gUnk_0810A4A5:: @ 0810A4A5 + .incbin "baserom.gba", 0x10A4A5, 0x000000D + +gUnk_0810A4B2:: @ 0810A4B2 + .incbin "baserom.gba", 0x10A4B2, 0x000000D + +gUnk_0810A4BF:: @ 0810A4BF + .incbin "baserom.gba", 0x10A4BF, 0x000000D + +gUnk_0810A4CC:: @ 0810A4CC + .incbin "baserom.gba", 0x10A4CC, 0x000000D + +gUnk_0810A4D9:: @ 0810A4D9 + .incbin "baserom.gba", 0x10A4D9, 0x000000D + +gUnk_0810A4E6:: @ 0810A4E6 + .incbin "baserom.gba", 0x10A4E6, 0x000000D + +gUnk_0810A4F3:: @ 0810A4F3 + .incbin "baserom.gba", 0x10A4F3, 0x000000D + +gUnk_0810A500:: @ 0810A500 + .incbin "baserom.gba", 0x10A500, 0x000000D + +gUnk_0810A50D:: @ 0810A50D + .incbin "baserom.gba", 0x10A50D, 0x000000D + +gUnk_0810A51A:: @ 0810A51A + .incbin "baserom.gba", 0x10A51A, 0x000000D + +gUnk_0810A527:: @ 0810A527 + .incbin "baserom.gba", 0x10A527, 0x000000D + +gUnk_0810A534:: @ 0810A534 + .incbin "baserom.gba", 0x10A534, 0x000000D + +gUnk_0810A541:: @ 0810A541 + .incbin "baserom.gba", 0x10A541, 0x000000D + +gUnk_0810A54E:: @ 0810A54E + .incbin "baserom.gba", 0x10A54E, 0x000000D + +gUnk_0810A55B:: @ 0810A55B + .incbin "baserom.gba", 0x10A55B, 0x000000D + +gUnk_0810A568:: @ 0810A568 + .incbin "baserom.gba", 0x10A568, 0x000000D + +gUnk_0810A575:: @ 0810A575 + .incbin "baserom.gba", 0x10A575, 0x000000D + +gUnk_0810A582:: @ 0810A582 + .incbin "baserom.gba", 0x10A582, 0x000000D + +gUnk_0810A58F:: @ 0810A58F + .incbin "baserom.gba", 0x10A58F, 0x000000D + +gUnk_0810A59C:: @ 0810A59C + .incbin "baserom.gba", 0x10A59C, 0x000000D + +gUnk_0810A5A9:: @ 0810A5A9 + .incbin "baserom.gba", 0x10A5A9, 0x000000F + +gUnk_0810A5B8:: @ 0810A5B8 + .incbin "baserom.gba", 0x10A5B8, 0x00000B4 + +gUnk_0810A66C:: @ 0810A66C + .incbin "baserom.gba", 0x10A66C, 0x00000BC + +gUnk_0810A728:: @ 0810A728 + .incbin "baserom.gba", 0x10A728, 0x0000040 + +gUnk_0810A768:: @ 0810A768 + .incbin "baserom.gba", 0x10A768, 0x0000005 + +gUnk_0810A76D:: @ 0810A76D + .incbin "baserom.gba", 0x10A76D, 0x0000005 + +gUnk_0810A772:: @ 0810A772 + .incbin "baserom.gba", 0x10A772, 0x0000005 + +gUnk_0810A777:: @ 0810A777 + .incbin "baserom.gba", 0x10A777, 0x0000006 + +gUnk_0810A77D:: @ 0810A77D + .incbin "baserom.gba", 0x10A77D, 0x0000006 + +gUnk_0810A783:: @ 0810A783 + .incbin "baserom.gba", 0x10A783, 0x0000006 + +gUnk_0810A789:: @ 0810A789 + .incbin "baserom.gba", 0x10A789, 0x0000005 + +gUnk_0810A78E:: @ 0810A78E + .incbin "baserom.gba", 0x10A78E, 0x0000006 + +gUnk_0810A794:: @ 0810A794 + .incbin "baserom.gba", 0x10A794, 0x0000006 + +gUnk_0810A79A:: @ 0810A79A + .incbin "baserom.gba", 0x10A79A, 0x0000006 + +gUnk_0810A7A0:: @ 0810A7A0 + .incbin "baserom.gba", 0x10A7A0, 0x0000006 + +gUnk_0810A7A6:: @ 0810A7A6 + .incbin "baserom.gba", 0x10A7A6, 0x0000006 + +gUnk_0810A7AC:: @ 0810A7AC + .incbin "baserom.gba", 0x10A7AC, 0x0000007 + +gUnk_0810A7B3:: @ 0810A7B3 + .incbin "baserom.gba", 0x10A7B3, 0x0000006 + +gUnk_0810A7B9:: @ 0810A7B9 + .incbin "baserom.gba", 0x10A7B9, 0x0000006 + +gUnk_0810A7BF:: @ 0810A7BF + .incbin "baserom.gba", 0x10A7BF, 0x0000006 + +gUnk_0810A7C5:: @ 0810A7C5 + .incbin "baserom.gba", 0x10A7C5, 0x0000005 + +gUnk_0810A7CA:: @ 0810A7CA + .incbin "baserom.gba", 0x10A7CA, 0x0000006 + +gUnk_0810A7D0:: @ 0810A7D0 + .incbin "baserom.gba", 0x10A7D0, 0x0000006 + +gUnk_0810A7D6:: @ 0810A7D6 + .incbin "baserom.gba", 0x10A7D6, 0x0000005 + +gUnk_0810A7DB:: @ 0810A7DB + .incbin "baserom.gba", 0x10A7DB, 0x0000005 + +gUnk_0810A7E0:: @ 0810A7E0 + .incbin "baserom.gba", 0x10A7E0, 0x0000005 + +gUnk_0810A7E5:: @ 0810A7E5 + .incbin "baserom.gba", 0x10A7E5, 0x0000010 + +gUnk_0810A7F5:: @ 0810A7F5 + .incbin "baserom.gba", 0x10A7F5, 0x0000010 + +gUnk_0810A805:: @ 0810A805 + .incbin "baserom.gba", 0x10A805, 0x0000008 + +gUnk_0810A80D:: @ 0810A80D + .incbin "baserom.gba", 0x10A80D, 0x0000008 + +gUnk_0810A815:: @ 0810A815 + .incbin "baserom.gba", 0x10A815, 0x0000005 + +gUnk_0810A81A:: @ 0810A81A + .incbin "baserom.gba", 0x10A81A, 0x0000005 + +gUnk_0810A81F:: @ 0810A81F + .incbin "baserom.gba", 0x10A81F, 0x0000006 + +gUnk_0810A825:: @ 0810A825 + .incbin "baserom.gba", 0x10A825, 0x0000005 + +gUnk_0810A82A:: @ 0810A82A + .incbin "baserom.gba", 0x10A82A, 0x0000005 + +gUnk_0810A82F:: @ 0810A82F + .incbin "baserom.gba", 0x10A82F, 0x0000006 + +gUnk_0810A835:: @ 0810A835 + .incbin "baserom.gba", 0x10A835, 0x0000006 + +gUnk_0810A83B:: @ 0810A83B + .incbin "baserom.gba", 0x10A83B, 0x0000006 + +gUnk_0810A841:: @ 0810A841 + .incbin "baserom.gba", 0x10A841, 0x0000007 + +gUnk_0810A848:: @ 0810A848 + .incbin "baserom.gba", 0x10A848, 0x0000007 + +gUnk_0810A84F:: @ 0810A84F + .incbin "baserom.gba", 0x10A84F, 0x000000F + +gUnk_0810A85E:: @ 0810A85E + .incbin "baserom.gba", 0x10A85E, 0x000000F + +gUnk_0810A86D:: @ 0810A86D + .incbin "baserom.gba", 0x10A86D, 0x0000005 + +gUnk_0810A872:: @ 0810A872 + .incbin "baserom.gba", 0x10A872, 0x0000005 + +gUnk_0810A877:: @ 0810A877 + .incbin "baserom.gba", 0x10A877, 0x0000005 + +gUnk_0810A87C:: @ 0810A87C + .incbin "baserom.gba", 0x10A87C, 0x0000005 + +gUnk_0810A881:: @ 0810A881 + .incbin "baserom.gba", 0x10A881, 0x0000005 + +gUnk_0810A886:: @ 0810A886 + .incbin "baserom.gba", 0x10A886, 0x0000005 + +gUnk_0810A88B:: @ 0810A88B + .incbin "baserom.gba", 0x10A88B, 0x0000006 + +gUnk_0810A891:: @ 0810A891 + .incbin "baserom.gba", 0x10A891, 0x0000006 + +gUnk_0810A897:: @ 0810A897 + .incbin "baserom.gba", 0x10A897, 0x0000005 + +gUnk_0810A89C:: @ 0810A89C + .incbin "baserom.gba", 0x10A89C, 0x0000006 + +gUnk_0810A8A2:: @ 0810A8A2 + .incbin "baserom.gba", 0x10A8A2, 0x0000005 + +gUnk_0810A8A7:: @ 0810A8A7 + .incbin "baserom.gba", 0x10A8A7, 0x0000005 + +gUnk_0810A8AC:: @ 0810A8AC + .incbin "baserom.gba", 0x10A8AC, 0x0000005 + +gUnk_0810A8B1:: @ 0810A8B1 + .incbin "baserom.gba", 0x10A8B1, 0x0000005 + +gUnk_0810A8B6:: @ 0810A8B6 + .incbin "baserom.gba", 0x10A8B6, 0x0000005 + +gUnk_0810A8BB:: @ 0810A8BB + .incbin "baserom.gba", 0x10A8BB, 0x0000005 + +gUnk_0810A8C0:: @ 0810A8C0 + .incbin "baserom.gba", 0x10A8C0, 0x000000B + +gUnk_0810A8CB:: @ 0810A8CB + .incbin "baserom.gba", 0x10A8CB, 0x000000B + +gUnk_0810A8D6:: @ 0810A8D6 + .incbin "baserom.gba", 0x10A8D6, 0x0000005 + +gUnk_0810A8DB:: @ 0810A8DB + .incbin "baserom.gba", 0x10A8DB, 0x0000005 + +gUnk_0810A8E0:: @ 0810A8E0 + .incbin "baserom.gba", 0x10A8E0, 0x0000009 + +gUnk_0810A8E9:: @ 0810A8E9 + .incbin "baserom.gba", 0x10A8E9, 0x0000009 + +gUnk_0810A8F2:: @ 0810A8F2 + .incbin "baserom.gba", 0x10A8F2, 0x0000007 + +gUnk_0810A8F9:: @ 0810A8F9 + .incbin "baserom.gba", 0x10A8F9, 0x0000007 + +gUnk_0810A900:: @ 0810A900 + .incbin "baserom.gba", 0x10A900, 0x0000005 + +gUnk_0810A905:: @ 0810A905 + .incbin "baserom.gba", 0x10A905, 0x0000006 + +gUnk_0810A90B:: @ 0810A90B + .incbin "baserom.gba", 0x10A90B, 0x0000006 + +gUnk_0810A911:: @ 0810A911 + .incbin "baserom.gba", 0x10A911, 0x0000007 + +gUnk_0810A918:: @ 0810A918 + .incbin "baserom.gba", 0x10A918, 0x000010C + +gUnk_0810AA24:: @ 0810AA24 + .incbin "baserom.gba", 0x10AA24, 0x000000C + +gUnk_0810AA30:: @ 0810AA30 + .incbin "baserom.gba", 0x10AA30, 0x0000040 + +gUnk_0810AA70:: @ 0810AA70 + .incbin "baserom.gba", 0x10AA70, 0x0000020 + +gUnk_0810AA90:: @ 0810AA90 + .incbin "baserom.gba", 0x10AA90, 0x0000029 + +gUnk_0810AAB9:: @ 0810AAB9 + .incbin "baserom.gba", 0x10AAB9, 0x0000029 + +gUnk_0810AAE2:: @ 0810AAE2 + .incbin "baserom.gba", 0x10AAE2, 0x0000029 + +gUnk_0810AB0B:: @ 0810AB0B + .incbin "baserom.gba", 0x10AB0B, 0x0000029 + +gUnk_0810AB34:: @ 0810AB34 + .incbin "baserom.gba", 0x10AB34, 0x0000031 + +gUnk_0810AB65:: @ 0810AB65 + .incbin "baserom.gba", 0x10AB65, 0x0000031 + +gUnk_0810AB96:: @ 0810AB96 + .incbin "baserom.gba", 0x10AB96, 0x0000031 + +gUnk_0810ABC7:: @ 0810ABC7 + .incbin "baserom.gba", 0x10ABC7, 0x0000031 + +gUnk_0810ABF8:: @ 0810ABF8 + .incbin "baserom.gba", 0x10ABF8, 0x0000024 + +gUnk_0810AC1C:: @ 0810AC1C + .incbin "baserom.gba", 0x10AC1C, 0x0000010 + +gUnk_0810AC2C:: @ 0810AC2C + .incbin "baserom.gba", 0x10AC2C, 0x0000020 + +gUnk_0810AC4C:: @ 0810AC4C + .incbin "baserom.gba", 0x10AC4C, 0x0000008 + +gUnk_0810AC54:: @ 0810AC54 + .incbin "baserom.gba", 0x10AC54, 0x0000009 + +gUnk_0810AC5D:: @ 0810AC5D + .incbin "baserom.gba", 0x10AC5D, 0x0000013 + +gUnk_0810AC70:: @ 0810AC70 + .incbin "baserom.gba", 0x10AC70, 0x0000008 + +gUnk_0810AC78:: @ 0810AC78 + .incbin "baserom.gba", 0x10AC78, 0x0000009 + +gUnk_0810AC81:: @ 0810AC81 + .incbin "baserom.gba", 0x10AC81, 0x0000019 + +gUnk_0810AC9A:: @ 0810AC9A + .incbin "baserom.gba", 0x10AC9A, 0x0000019 + +gUnk_0810ACB3:: @ 0810ACB3 + .incbin "baserom.gba", 0x10ACB3, 0x0000019 + +gUnk_0810ACCC:: @ 0810ACCC + .incbin "baserom.gba", 0x10ACCC, 0x0000021 + +gUnk_0810ACED:: @ 0810ACED + .incbin "baserom.gba", 0x10ACED, 0x0000021 + +gUnk_0810AD0E:: @ 0810AD0E + .incbin "baserom.gba", 0x10AD0E, 0x0000021 + +gUnk_0810AD2F:: @ 0810AD2F + .incbin "baserom.gba", 0x10AD2F, 0x0000021 + +gUnk_0810AD50:: @ 0810AD50 + .incbin "baserom.gba", 0x10AD50, 0x0000021 + +gUnk_0810AD71:: @ 0810AD71 + .incbin "baserom.gba", 0x10AD71, 0x0000021 + +gUnk_0810AD92:: @ 0810AD92 + .incbin "baserom.gba", 0x10AD92, 0x000001B + +gUnk_0810ADAD:: @ 0810ADAD + .incbin "baserom.gba", 0x10ADAD, 0x0000006 + +gUnk_0810ADB3:: @ 0810ADB3 + .incbin "baserom.gba", 0x10ADB3, 0x0000021 + +gUnk_0810ADD4:: @ 0810ADD4 + .incbin "baserom.gba", 0x10ADD4, 0x0000021 + +gUnk_0810ADF5:: @ 0810ADF5 + .incbin "baserom.gba", 0x10ADF5, 0x0000021 + +gUnk_0810AE16:: @ 0810AE16 + .incbin "baserom.gba", 0x10AE16, 0x0000021 + +gUnk_0810AE37:: @ 0810AE37 + .incbin "baserom.gba", 0x10AE37, 0x0000021 + +gUnk_0810AE58:: @ 0810AE58 + .incbin "baserom.gba", 0x10AE58, 0x0000024 + +gUnk_0810AE7C:: @ 0810AE7C + .incbin "baserom.gba", 0x10AE7C, 0x0000021 + +gUnk_0810AE9D:: @ 0810AE9D + .incbin "baserom.gba", 0x10AE9D, 0x0000003 + +gUnk_0810AEA0:: @ 0810AEA0 + .incbin "baserom.gba", 0x10AEA0, 0x0000024 + +gUnk_0810AEC4:: @ 0810AEC4 + .incbin "baserom.gba", 0x10AEC4, 0x0000024 + +gUnk_0810AEE8:: @ 0810AEE8 + .incbin "baserom.gba", 0x10AEE8, 0x000001F + +gUnk_0810AF07:: @ 0810AF07 + .incbin "baserom.gba", 0x10AF07, 0x0000012 + +gUnk_0810AF19:: @ 0810AF19 + .incbin "baserom.gba", 0x10AF19, 0x000002B + +gUnk_0810AF44:: @ 0810AF44 + .incbin "baserom.gba", 0x10AF44, 0x0000006 + +gUnk_0810AF4A:: @ 0810AF4A + .incbin "baserom.gba", 0x10AF4A, 0x0000031 + +gUnk_0810AF7B:: @ 0810AF7B + .incbin "baserom.gba", 0x10AF7B, 0x0000031 + +gUnk_0810AFAC:: @ 0810AFAC + .incbin "baserom.gba", 0x10AFAC, 0x0000021 + +gUnk_0810AFCD:: @ 0810AFCD + .incbin "baserom.gba", 0x10AFCD, 0x0000021 + +gUnk_0810AFEE:: @ 0810AFEE + .incbin "baserom.gba", 0x10AFEE, 0x000001A + +gUnk_0810B008:: @ 0810B008 + .incbin "baserom.gba", 0x10B008, 0x0000007 + +gUnk_0810B00F:: @ 0810B00F + .incbin "baserom.gba", 0x10B00F, 0x0000021 + +gUnk_0810B030:: @ 0810B030 + .incbin "baserom.gba", 0x10B030, 0x000000C + +gUnk_0810B03C:: @ 0810B03C + .incbin "baserom.gba", 0x10B03C, 0x000000C + +gUnk_0810B048:: @ 0810B048 + .incbin "baserom.gba", 0x10B048, 0x000000C + +gUnk_0810B054:: @ 0810B054 + .incbin "baserom.gba", 0x10B054, 0x000000C + +gUnk_0810B060:: @ 0810B060 + .incbin "baserom.gba", 0x10B060, 0x0000011 + +gUnk_0810B071:: @ 0810B071 + .incbin "baserom.gba", 0x10B071, 0x0000011 + +gUnk_0810B082:: @ 0810B082 + .incbin "baserom.gba", 0x10B082, 0x0000011 + +gUnk_0810B093:: @ 0810B093 + .incbin "baserom.gba", 0x10B093, 0x0000011 + +gUnk_0810B0A4:: @ 0810B0A4 + .incbin "baserom.gba", 0x10B0A4, 0x0000011 + +gUnk_0810B0B5:: @ 0810B0B5 + .incbin "baserom.gba", 0x10B0B5, 0x0000011 + +gUnk_0810B0C6:: @ 0810B0C6 + .incbin "baserom.gba", 0x10B0C6, 0x0000011 + +gUnk_0810B0D7:: @ 0810B0D7 + .incbin "baserom.gba", 0x10B0D7, 0x0000011 + +gUnk_0810B0E8:: @ 0810B0E8 + .incbin "baserom.gba", 0x10B0E8, 0x0000011 + +gUnk_0810B0F9:: @ 0810B0F9 + .incbin "baserom.gba", 0x10B0F9, 0x0000011 + +gUnk_0810B10A:: @ 0810B10A + .incbin "baserom.gba", 0x10B10A, 0x0000011 + +gUnk_0810B11B:: @ 0810B11B + .incbin "baserom.gba", 0x10B11B, 0x0000011 + +gUnk_0810B12C:: @ 0810B12C + .incbin "baserom.gba", 0x10B12C, 0x0000011 + +gUnk_0810B13D:: @ 0810B13D + .incbin "baserom.gba", 0x10B13D, 0x0000011 + +gUnk_0810B14E:: @ 0810B14E + .incbin "baserom.gba", 0x10B14E, 0x0000011 + +gUnk_0810B15F:: @ 0810B15F + .incbin "baserom.gba", 0x10B15F, 0x0000011 + +gUnk_0810B170:: @ 0810B170 + .incbin "baserom.gba", 0x10B170, 0x000001C + +gUnk_0810B18C:: @ 0810B18C + .incbin "baserom.gba", 0x10B18C, 0x000001C + +gUnk_0810B1A8:: @ 0810B1A8 + .incbin "baserom.gba", 0x10B1A8, 0x0000009 + +gUnk_0810B1B1:: @ 0810B1B1 + .incbin "baserom.gba", 0x10B1B1, 0x0000013 + +gUnk_0810B1C4:: @ 0810B1C4 + .incbin "baserom.gba", 0x10B1C4, 0x000001C + +gUnk_0810B1E0:: @ 0810B1E0 + .incbin "baserom.gba", 0x10B1E0, 0x000001C + +gUnk_0810B1FC:: @ 0810B1FC + .incbin "baserom.gba", 0x10B1FC, 0x000001C + +gUnk_0810B218:: @ 0810B218 + .incbin "baserom.gba", 0x10B218, 0x000001C + +gUnk_0810B234:: @ 0810B234 + .incbin "baserom.gba", 0x10B234, 0x000001C + +gUnk_0810B250:: @ 0810B250 + .incbin "baserom.gba", 0x10B250, 0x0000030 + +gUnk_0810B280:: @ 0810B280 + .incbin "baserom.gba", 0x10B280, 0x0000030 + +gUnk_0810B2B0:: @ 0810B2B0 + .incbin "baserom.gba", 0x10B2B0, 0x0000030 + +gUnk_0810B2E0:: @ 0810B2E0 + .incbin "baserom.gba", 0x10B2E0, 0x0000030 + +gUnk_0810B310:: @ 0810B310 + .incbin "baserom.gba", 0x10B310, 0x0000030 + +gUnk_0810B340:: @ 0810B340 + .incbin "baserom.gba", 0x10B340, 0x0000030 + +gUnk_0810B370:: @ 0810B370 + .incbin "baserom.gba", 0x10B370, 0x0000030 + +gUnk_0810B3A0:: @ 0810B3A0 + .incbin "baserom.gba", 0x10B3A0, 0x0000022 + +gUnk_0810B3C2:: @ 0810B3C2 + .incbin "baserom.gba", 0x10B3C2, 0x000000E + +gUnk_0810B3D0:: @ 0810B3D0 + .incbin "baserom.gba", 0x10B3D0, 0x0000028 + +gUnk_0810B3F8:: @ 0810B3F8 + .incbin "baserom.gba", 0x10B3F8, 0x000000F + +gUnk_0810B407:: @ 0810B407 + .incbin "baserom.gba", 0x10B407, 0x0000019 + +gUnk_0810B420:: @ 0810B420 + .incbin "baserom.gba", 0x10B420, 0x0000028 + +gUnk_0810B448:: @ 0810B448 + .incbin "baserom.gba", 0x10B448, 0x0000028 + +gUnk_0810B470:: @ 0810B470 + .incbin "baserom.gba", 0x10B470, 0x0000019 + +gUnk_0810B489:: @ 0810B489 + .incbin "baserom.gba", 0x10B489, 0x0000005 + +gUnk_0810B48E:: @ 0810B48E + .incbin "baserom.gba", 0x10B48E, 0x0000019 + +gUnk_0810B4A7:: @ 0810B4A7 + .incbin "baserom.gba", 0x10B4A7, 0x0000035 + +gUnk_0810B4DC:: @ 0810B4DC + .incbin "baserom.gba", 0x10B4DC, 0x0000010 + +gUnk_0810B4EC:: @ 0810B4EC + .incbin "baserom.gba", 0x10B4EC, 0x0000164 + +gUnk_0810B650:: @ 0810B650 + .incbin "baserom.gba", 0x10B650, 0x0000002 + +gUnk_0810B652:: @ 0810B652 + .incbin "baserom.gba", 0x10B652, 0x0000002 + +gUnk_0810B654:: @ 0810B654 + .incbin "baserom.gba", 0x10B654, 0x0000002 + +gUnk_0810B656:: @ 0810B656 + .incbin "baserom.gba", 0x10B656, 0x0000002 + +gUnk_0810B658:: @ 0810B658 + .incbin "baserom.gba", 0x10B658, 0x0000002 + +gUnk_0810B65A:: @ 0810B65A + .incbin "baserom.gba", 0x10B65A, 0x0000002 + +gUnk_0810B65C:: @ 0810B65C + .incbin "baserom.gba", 0x10B65C, 0x0000002 + +gUnk_0810B65E:: @ 0810B65E + .incbin "baserom.gba", 0x10B65E, 0x0000002 + +gUnk_0810B660:: @ 0810B660 + .incbin "baserom.gba", 0x10B660, 0x0000020 + +gUnk_0810B680:: @ 0810B680 + .incbin "baserom.gba", 0x10B680, 0x000002A + +gUnk_0810B6AA:: @ 0810B6AA + .incbin "baserom.gba", 0x10B6AA, 0x0000009 + +gUnk_0810B6B3:: @ 0810B6B3 + .incbin "baserom.gba", 0x10B6B3, 0x0000021 + +gUnk_0810B6D4:: @ 0810B6D4 + .incbin "baserom.gba", 0x10B6D4, 0x000000C + +gUnk_0810B6E0:: @ 0810B6E0 + .incbin "baserom.gba", 0x10B6E0, 0x000000C + +gUnk_0810B6EC:: @ 0810B6EC + .incbin "baserom.gba", 0x10B6EC, 0x0000054 + +gUnk_0810B740:: @ 0810B740 + .incbin "baserom.gba", 0x10B740, 0x0000008 + +gUnk_0810B748:: @ 0810B748 + .incbin "baserom.gba", 0x10B748, 0x0000002 + +gUnk_0810B74A:: @ 0810B74A + .incbin "baserom.gba", 0x10B74A, 0x0000018 + +gUnk_0810B762:: @ 0810B762 + .incbin "baserom.gba", 0x10B762, 0x0000012 + +gUnk_0810B774:: @ 0810B774 + .incbin "baserom.gba", 0x10B774, 0x0000008 + +gUnk_0810B77C:: @ 0810B77C + .incbin "baserom.gba", 0x10B77C, 0x0000010 + +gUnk_0810B78C:: @ 0810B78C + .incbin "baserom.gba", 0x10B78C, 0x0000004 + +gUnk_0810B790:: @ 0810B790 + .incbin "baserom.gba", 0x10B790, 0x000001C + +gUnk_0810B7AC:: @ 0810B7AC + .incbin "baserom.gba", 0x10B7AC, 0x000000E + +gUnk_0810B7BA:: @ 0810B7BA + .incbin "baserom.gba", 0x10B7BA, 0x0000006 + +gUnk_0810B7C0:: @ 0810B7C0 + .incbin "baserom.gba", 0x10B7C0, 0x000012B + +gUnk_0810B8EB:: @ 0810B8EB + .incbin "baserom.gba", 0x10B8EB, 0x0000037 + +gUnk_0810B922:: @ 0810B922 + .incbin "baserom.gba", 0x10B922, 0x0000049 + +gUnk_0810B96B:: @ 0810B96B + .incbin "baserom.gba", 0x10B96B, 0x0000065 + +gUnk_0810B9D0:: @ 0810B9D0 + .incbin "baserom.gba", 0x10B9D0, 0x0000031 + +gUnk_0810BA01:: @ 0810BA01 + .incbin "baserom.gba", 0x10BA01, 0x0000117 + +gUnk_0810BB18:: @ 0810BB18 + .incbin "baserom.gba", 0x10BB18, 0x0000059 + +gUnk_0810BB71:: @ 0810BB71 + .incbin "baserom.gba", 0x10BB71, 0x000005B + +gUnk_0810BBCC:: @ 0810BBCC + .incbin "baserom.gba", 0x10BBCC, 0x000009C + +gUnk_0810BC68:: @ 0810BC68 + .incbin "baserom.gba", 0x10BC68, 0x0000098 + +gUnk_0810BD00:: @ 0810BD00 + .incbin "baserom.gba", 0x10BD00, 0x0000005 + +gUnk_0810BD05:: @ 0810BD05 + .incbin "baserom.gba", 0x10BD05, 0x0000005 + +gUnk_0810BD0A:: @ 0810BD0A + .incbin "baserom.gba", 0x10BD0A, 0x0000005 + +gUnk_0810BD0F:: @ 0810BD0F + .incbin "baserom.gba", 0x10BD0F, 0x0000005 + +gUnk_0810BD14:: @ 0810BD14 + .incbin "baserom.gba", 0x10BD14, 0x0000011 + +gUnk_0810BD25:: @ 0810BD25 + .incbin "baserom.gba", 0x10BD25, 0x0000011 + +gUnk_0810BD36:: @ 0810BD36 + .incbin "baserom.gba", 0x10BD36, 0x0000011 + +gUnk_0810BD47:: @ 0810BD47 + .incbin "baserom.gba", 0x10BD47, 0x0000011 + +gUnk_0810BD58:: @ 0810BD58 + .incbin "baserom.gba", 0x10BD58, 0x0000016 + +gUnk_0810BD6E:: @ 0810BD6E + .incbin "baserom.gba", 0x10BD6E, 0x000000E + +gUnk_0810BD7C:: @ 0810BD7C + .incbin "baserom.gba", 0x10BD7C, 0x0000010 + +gUnk_0810BD8C:: @ 0810BD8C + .incbin "baserom.gba", 0x10BD8C, 0x0000010 + +gUnk_0810BD9C:: @ 0810BD9C + .incbin "baserom.gba", 0x10BD9C, 0x0000010 + +gUnk_0810BDAC:: @ 0810BDAC + .incbin "baserom.gba", 0x10BDAC, 0x000000C + +gUnk_0810BDB8:: @ 0810BDB8 + .incbin "baserom.gba", 0x10BDB8, 0x000000C + +gUnk_0810BDC4:: @ 0810BDC4 + .incbin "baserom.gba", 0x10BDC4, 0x0000024 + +gUnk_0810BDE8:: @ 0810BDE8 + .incbin "baserom.gba", 0x10BDE8, 0x0000024 + +gUnk_0810BE0C:: @ 0810BE0C + .incbin "baserom.gba", 0x10BE0C, 0x0000003 + +gUnk_0810BE0F:: @ 0810BE0F + .incbin "baserom.gba", 0x10BE0F, 0x0000001 + +gUnk_0810BE10:: @ 0810BE10 + .incbin "baserom.gba", 0x10BE10, 0x0000031 + +gUnk_0810BE41:: @ 0810BE41 + .incbin "baserom.gba", 0x10BE41, 0x00000C2 + +gUnk_0810BF03:: @ 0810BF03 + .incbin "baserom.gba", 0x10BF03, 0x0000104 + +gUnk_0810C007:: @ 0810C007 + .incbin "baserom.gba", 0x10C007, 0x0000008 + +gUnk_0810C00F:: @ 0810C00F + .incbin "baserom.gba", 0x10C00F, 0x0000091 + +gUnk_0810C0A0:: @ 0810C0A0 + .incbin "baserom.gba", 0x10C0A0, 0x0000024 + +gUnk_0810C0C4:: @ 0810C0C4 + .incbin "baserom.gba", 0x10C0C4, 0x0000005 + +gUnk_0810C0C9:: @ 0810C0C9 + .incbin "baserom.gba", 0x10C0C9, 0x0000005 + +gUnk_0810C0CE:: @ 0810C0CE + .incbin "baserom.gba", 0x10C0CE, 0x0000005 + +gUnk_0810C0D3:: @ 0810C0D3 + .incbin "baserom.gba", 0x10C0D3, 0x0000005 + +gUnk_0810C0D8:: @ 0810C0D8 + .incbin "baserom.gba", 0x10C0D8, 0x0000011 + +gUnk_0810C0E9:: @ 0810C0E9 + .incbin "baserom.gba", 0x10C0E9, 0x0000011 + +gUnk_0810C0FA:: @ 0810C0FA + .incbin "baserom.gba", 0x10C0FA, 0x0000011 + +gUnk_0810C10B:: @ 0810C10B + .incbin "baserom.gba", 0x10C10B, 0x0000011 + +gUnk_0810C11C:: @ 0810C11C + .incbin "baserom.gba", 0x10C11C, 0x0000019 + +gUnk_0810C135:: @ 0810C135 + .incbin "baserom.gba", 0x10C135, 0x0000019 + +gUnk_0810C14E:: @ 0810C14E + .incbin "baserom.gba", 0x10C14E, 0x0000019 + +gUnk_0810C167:: @ 0810C167 + .incbin "baserom.gba", 0x10C167, 0x0000019 + +gUnk_0810C180:: @ 0810C180 + .incbin "baserom.gba", 0x10C180, 0x0000019 + +gUnk_0810C199:: @ 0810C199 + .incbin "baserom.gba", 0x10C199, 0x000000D + +gUnk_0810C1A6:: @ 0810C1A6 + .incbin "baserom.gba", 0x10C1A6, 0x0000018 + +gUnk_0810C1BE:: @ 0810C1BE + .incbin "baserom.gba", 0x10C1BE, 0x000000F + +gUnk_0810C1CD:: @ 0810C1CD + .incbin "baserom.gba", 0x10C1CD, 0x000000A + +gUnk_0810C1D7:: @ 0810C1D7 + .incbin "baserom.gba", 0x10C1D7, 0x0000005 + +gUnk_0810C1DC:: @ 0810C1DC + .incbin "baserom.gba", 0x10C1DC, 0x0000008 + +gUnk_0810C1E4:: @ 0810C1E4 + .incbin "baserom.gba", 0x10C1E4, 0x0000021 + +gUnk_0810C205:: @ 0810C205 + .incbin "baserom.gba", 0x10C205, 0x0000001 + +gUnk_0810C206:: @ 0810C206 + .incbin "baserom.gba", 0x10C206, 0x0000062 + +gUnk_0810C268:: @ 0810C268 + .incbin "baserom.gba", 0x10C268, 0x0000008 + +gUnk_0810C270:: @ 0810C270 + .incbin "baserom.gba", 0x10C270, 0x0000005 + +gUnk_0810C275:: @ 0810C275 + .incbin "baserom.gba", 0x10C275, 0x0000005 + +gUnk_0810C27A:: @ 0810C27A + .incbin "baserom.gba", 0x10C27A, 0x0000016 + +gUnk_0810C290:: @ 0810C290 + .incbin "baserom.gba", 0x10C290, 0x0000010 + +gUnk_0810C2A0:: @ 0810C2A0 + .incbin "baserom.gba", 0x10C2A0, 0x0000005 + +gUnk_0810C2A5:: @ 0810C2A5 + .incbin "baserom.gba", 0x10C2A5, 0x000000D + +gUnk_0810C2B2:: @ 0810C2B2 + .incbin "baserom.gba", 0x10C2B2, 0x000001A + +gStampBehaviors1:: @ 0810C2CC + .incbin "baserom.gba", 0x10C2CC, 0x0000010 + +gStampBehaviors2:: @ 0810C2DC + .incbin "baserom.gba", 0x10C2DC, 0x0000008 + +gUnk_0810C2E4:: @ 0810C2E4 + .incbin "baserom.gba", 0x10C2E4, 0x0000010 + +gUnk_0810C2F4:: @ 0810C2F4 + .incbin "baserom.gba", 0x10C2F4, 0x0000031 + +gUnk_0810C325:: @ 0810C325 + .incbin "baserom.gba", 0x10C325, 0x0000007 + +gUnk_0810C32C:: @ 0810C32C + .incbin "baserom.gba", 0x10C32C, 0x0000020 + +gUnk_0810C34C:: @ 0810C34C + .incbin "baserom.gba", 0x10C34C, 0x0000014 + +gUnk_0810C360:: @ 0810C360 + .incbin "baserom.gba", 0x10C360, 0x0000005 + +gUnk_0810C365:: @ 0810C365 + .incbin "baserom.gba", 0x10C365, 0x000001D + +gUnk_0810C382:: @ 0810C382 + .incbin "baserom.gba", 0x10C382, 0x000000E + +gUnk_0810C390:: @ 0810C390 + .incbin "baserom.gba", 0x10C390, 0x000000A + +gUnk_0810C39A:: @ 0810C39A + .incbin "baserom.gba", 0x10C39A, 0x0000026 + +gUnk_0810C3C0:: @ 0810C3C0 + .incbin "baserom.gba", 0x10C3C0, 0x0000008 + +gUnk_0810C3C8:: @ 0810C3C8 + .incbin "baserom.gba", 0x10C3C8, 0x0000019 + +gUnk_0810C3E1:: @ 0810C3E1 + .incbin "baserom.gba", 0x10C3E1, 0x0000011 + +gUnk_0810C3F2:: @ 0810C3F2 + .incbin "baserom.gba", 0x10C3F2, 0x0000011 + +gUnk_0810C403:: @ 0810C403 + .incbin "baserom.gba", 0x10C403, 0x0000011 + +gUnk_0810C414:: @ 0810C414 + .incbin "baserom.gba", 0x10C414, 0x0000001 + +gUnk_0810C415:: @ 0810C415 + .incbin "baserom.gba", 0x10C415, 0x0000013 + +gUnk_0810C428:: @ 0810C428 + .incbin "baserom.gba", 0x10C428, 0x0000008 + +gUnk_0810C430:: @ 0810C430 + .incbin "baserom.gba", 0x10C430, 0x0000005 + +gUnk_0810C435:: @ 0810C435 + .incbin "baserom.gba", 0x10C435, 0x0000008 + +gUnk_0810C43D:: @ 0810C43D + .incbin "baserom.gba", 0x10C43D, 0x0000008 + +gUnk_0810C445:: @ 0810C445 + .incbin "baserom.gba", 0x10C445, 0x0000005 + +gUnk_0810C44A:: @ 0810C44A + .incbin "baserom.gba", 0x10C44A, 0x000001E + +gUnk_0810C468:: @ 0810C468 + .incbin "baserom.gba", 0x10C468, 0x0000024 + +gUnk_0810C48C:: @ 0810C48C + .incbin "baserom.gba", 0x10C48C, 0x000000C + +gUnk_0810C498:: @ 0810C498 + .incbin "baserom.gba", 0x10C498, 0x0000008 + +gUnk_0810C4A0:: @ 0810C4A0 + .incbin "baserom.gba", 0x10C4A0, 0x0000005 + +gUnk_0810C4A5:: @ 0810C4A5 + .incbin "baserom.gba", 0x10C4A5, 0x0000005 + +gUnk_0810C4AA:: @ 0810C4AA + .incbin "baserom.gba", 0x10C4AA, 0x0000005 + +gUnk_0810C4AF:: @ 0810C4AF + .incbin "baserom.gba", 0x10C4AF, 0x0000005 + +gUnk_0810C4B4:: @ 0810C4B4 + .incbin "baserom.gba", 0x10C4B4, 0x0000015 + +gUnk_0810C4C9:: @ 0810C4C9 + .incbin "baserom.gba", 0x10C4C9, 0x0000015 + +gUnk_0810C4DE:: @ 0810C4DE + .incbin "baserom.gba", 0x10C4DE, 0x00000D1 + +gUnk_0810C5AF:: @ 0810C5AF + .incbin "baserom.gba", 0x10C5AF, 0x000000C + +gUnk_0810C5BB:: @ 0810C5BB + .incbin "baserom.gba", 0x10C5BB, 0x0000008 + +gUnk_0810C5C3:: @ 0810C5C3 + .incbin "baserom.gba", 0x10C5C3, 0x00000AB + +gUnk_0810C66E:: @ 0810C66E + .incbin "baserom.gba", 0x10C66E, 0x000001E + +gUnk_0810C68C:: @ 0810C68C + .incbin "baserom.gba", 0x10C68C, 0x000000C + +gUnk_0810C698:: @ 0810C698 + .incbin "baserom.gba", 0x10C698, 0x000004D + +gUnk_0810C6E5:: @ 0810C6E5 + .incbin "baserom.gba", 0x10C6E5, 0x000008D + +gUnk_0810C772:: @ 0810C772 + .incbin "baserom.gba", 0x10C772, 0x0000003 + +gUnk_0810C775:: @ 0810C775 + .incbin "baserom.gba", 0x10C775, 0x000000A + +gUnk_0810C77F:: @ 0810C77F + .incbin "baserom.gba", 0x10C77F, 0x000002D + +gUnk_0810C7AC:: @ 0810C7AC + .incbin "baserom.gba", 0x10C7AC, 0x0000008 + +gUnk_0810C7B4:: @ 0810C7B4 + .incbin "baserom.gba", 0x10C7B4, 0x000000A + +gUnk_0810C7BE:: @ 0810C7BE + .incbin "baserom.gba", 0x10C7BE, 0x000000B + +gUnk_0810C7C9:: @ 0810C7C9 + .incbin "baserom.gba", 0x10C7C9, 0x000000B + +gUnk_0810C7D4:: @ 0810C7D4 + .incbin "baserom.gba", 0x10C7D4, 0x0000030 + +gMailboxBehaviors:: @ 0810C804 + .incbin "baserom.gba", 0x10C804, 0x0000010 + +gUnk_0810C814:: @ 0810C814 + .incbin "baserom.gba", 0x10C814, 0x0000005 + +gUnk_0810C819:: @ 0810C819 + .incbin "baserom.gba", 0x10C819, 0x0000029 + +gUnk_0810C842:: @ 0810C842 + .incbin "baserom.gba", 0x10C842, 0x0000008 + +gUnk_0810C84A:: @ 0810C84A + .incbin "baserom.gba", 0x10C84A, 0x000001E + +gUnk_0810C868:: @ 0810C868 + .incbin "baserom.gba", 0x10C868, 0x0000024 + +gUnk_0810C88C:: @ 0810C88C + .incbin "baserom.gba", 0x10C88C, 0x0000008 + +gUnk_0810C894:: @ 0810C894 + .incbin "baserom.gba", 0x10C894, 0x0000008 + +gUnk_0810C89C:: @ 0810C89C + .incbin "baserom.gba", 0x10C89C, 0x0000011 + +gUnk_0810C8AD:: @ 0810C8AD + .incbin "baserom.gba", 0x10C8AD, 0x0000027 + +gUnk_0810C8D4:: @ 0810C8D4 + .incbin "baserom.gba", 0x10C8D4, 0x000000C + +gUnk_0810C8E0:: @ 0810C8E0 + .incbin "baserom.gba", 0x10C8E0, 0x0000010 + +gUnk_0810C8F0:: @ 0810C8F0 + .incbin "baserom.gba", 0x10C8F0, 0x0000078 + +gUnk_0810C968:: @ 0810C968 + .incbin "baserom.gba", 0x10C968, 0x000003D + +gUnk_0810C9A5:: @ 0810C9A5 + .incbin "baserom.gba", 0x10C9A5, 0x0000005 + +gUnk_0810C9AA:: @ 0810C9AA + .incbin "baserom.gba", 0x10C9AA, 0x0000005 + +gUnk_0810C9AF:: @ 0810C9AF + .incbin "baserom.gba", 0x10C9AF, 0x0000005 + +gUnk_0810C9B4:: @ 0810C9B4 + .incbin "baserom.gba", 0x10C9B4, 0x000003D + +gUnk_0810C9F1:: @ 0810C9F1 + .incbin "baserom.gba", 0x10C9F1, 0x000003D + +gUnk_0810CA2E:: @ 0810CA2E + .incbin "baserom.gba", 0x10CA2E, 0x000003E + +gUnk_0810CA6C:: @ 0810CA6C + .incbin "baserom.gba", 0x10CA6C, 0x0000034 + +gUnk_0810CAA0:: @ 0810CAA0 + .incbin "baserom.gba", 0x10CAA0, 0x000000C + +gUnk_0810CAAC:: @ 0810CAAC + .incbin "baserom.gba", 0x10CAAC, 0x0000050 + +gUnk_0810CAFC:: @ 0810CAFC + .incbin "baserom.gba", 0x10CAFC, 0x0000049 + +gUnk_0810CB45:: @ 0810CB45 + .incbin "baserom.gba", 0x10CB45, 0x0000005 + +gUnk_0810CB4A:: @ 0810CB4A + .incbin "baserom.gba", 0x10CB4A, 0x0000005 + +gUnk_0810CB4F:: @ 0810CB4F + .incbin "baserom.gba", 0x10CB4F, 0x0000005 + +gUnk_0810CB54:: @ 0810CB54 + .incbin "baserom.gba", 0x10CB54, 0x0000018 + +gUnk_0810CB6C:: @ 0810CB6C + .incbin "baserom.gba", 0x10CB6C, 0x000000C + +gUnk_0810CB78:: @ 0810CB78 + .incbin "baserom.gba", 0x10CB78, 0x0000048 + +gUnk_0810CBC0:: @ 0810CBC0 + .incbin "baserom.gba", 0x10CBC0, 0x000000D + +gUnk_0810CBCD:: @ 0810CBCD + .incbin "baserom.gba", 0x10CBCD, 0x000000B + +gUnk_0810CBD8:: @ 0810CBD8 + .incbin "baserom.gba", 0x10CBD8, 0x000000C + +gUnk_0810CBE4:: @ 0810CBE4 + .incbin "baserom.gba", 0x10CBE4, 0x0000020 + +gUnk_0810CC04:: @ 0810CC04 + .incbin "baserom.gba", 0x10CC04, 0x0000004 + +gUnk_0810CC08:: @ 0810CC08 + .incbin "baserom.gba", 0x10CC08, 0x0000180 + +gUnk_0810CD88:: @ 0810CD88 + .incbin "baserom.gba", 0x10CD88, 0x0000018 + +gUnk_0810CDA0:: @ 0810CDA0 + .incbin "baserom.gba", 0x10CDA0, 0x0000011 + +gUnk_0810CDB1:: @ 0810CDB1 + .incbin "baserom.gba", 0x10CDB1, 0x0000011 + +gUnk_0810CDC2:: @ 0810CDC2 + .incbin "baserom.gba", 0x10CDC2, 0x0000012 + +gUnk_0810CDD4:: @ 0810CDD4 + .incbin "baserom.gba", 0x10CDD4, 0x0000024 + +gUnk_0810CDF8:: @ 0810CDF8 + .incbin "baserom.gba", 0x10CDF8, 0x000000C + +gUnk_0810CE04:: @ 0810CE04 + .incbin "baserom.gba", 0x10CE04, 0x0000050 + +gUnk_0810CE54:: @ 0810CE54 + .incbin "baserom.gba", 0x10CE54, 0x0000013 + +gUnk_0810CE67:: @ 0810CE67 + .incbin "baserom.gba", 0x10CE67, 0x000003A + +gUnk_0810CEA1:: @ 0810CEA1 + .incbin "baserom.gba", 0x10CEA1, 0x000004D + +gUnk_0810CEEE:: @ 0810CEEE + .incbin "baserom.gba", 0x10CEEE, 0x0000021 + +gUnk_0810CF0F:: @ 0810CF0F + .incbin "baserom.gba", 0x10CF0F, 0x0000005 + +gUnk_0810CF14:: @ 0810CF14 + .incbin "baserom.gba", 0x10CF14, 0x0000005 + +gUnk_0810CF19:: @ 0810CF19 + .incbin "baserom.gba", 0x10CF19, 0x0000007 + +gUnk_0810CF20:: @ 0810CF20 + .incbin "baserom.gba", 0x10CF20, 0x000002A + +gUnk_0810CF4A:: @ 0810CF4A + .incbin "baserom.gba", 0x10CF4A, 0x0000002 + +gUnk_0810CF4C:: @ 0810CF4C + .incbin "baserom.gba", 0x10CF4C, 0x000002B + +gUnk_0810CF77:: @ 0810CF77 + .incbin "baserom.gba", 0x10CF77, 0x0000010 + +gUnk_0810CF87:: @ 0810CF87 + .incbin "baserom.gba", 0x10CF87, 0x0000057 + +gUnk_0810CFDE:: @ 0810CFDE + .incbin "baserom.gba", 0x10CFDE, 0x0000039 + +gUnk_0810D017:: @ 0810D017 + .incbin "baserom.gba", 0x10D017, 0x000008D + +gUnk_0810D0A4:: @ 0810D0A4 + .incbin "baserom.gba", 0x10D0A4, 0x0000008 + +gUnk_0810D0AC:: @ 0810D0AC + .incbin "baserom.gba", 0x10D0AC, 0x000001E + +gUnk_0810D0CA:: @ 0810D0CA + .incbin "baserom.gba", 0x10D0CA, 0x0000009 + +gUnk_0810D0D3:: @ 0810D0D3 + .incbin "baserom.gba", 0x10D0D3, 0x0000079 + +gUnk_0810D14C:: @ 0810D14C + .incbin "baserom.gba", 0x10D14C, 0x0000227 + +gUnk_0810D373:: @ 0810D373 + .incbin "baserom.gba", 0x10D373, 0x0000003 + +gUnk_0810D376:: @ 0810D376 + .incbin "baserom.gba", 0x10D376, 0x0000013 + +gUnk_0810D389:: @ 0810D389 + .incbin "baserom.gba", 0x10D389, 0x000003E + +gUnk_0810D3C7:: @ 0810D3C7 + .incbin "baserom.gba", 0x10D3C7, 0x0000040 + +gUnk_0810D407:: @ 0810D407 + .incbin "baserom.gba", 0x10D407, 0x00000C7 + +gUnk_0810D4CE:: @ 0810D4CE + .incbin "baserom.gba", 0x10D4CE, 0x0000007 + +gUnk_0810D4D5:: @ 0810D4D5 + .incbin "baserom.gba", 0x10D4D5, 0x000003C + +gUnk_0810D511:: @ 0810D511 + .incbin "baserom.gba", 0x10D511, 0x0000006 + +gUnk_0810D517:: @ 0810D517 + .incbin "baserom.gba", 0x10D517, 0x0000039 + +gUnk_0810D550:: @ 0810D550 + .incbin "baserom.gba", 0x10D550, 0x0000024 + +gUnk_0810D574:: @ 0810D574 + .incbin "baserom.gba", 0x10D574, 0x000005F + +gUnk_0810D5D3:: @ 0810D5D3 + .incbin "baserom.gba", 0x10D5D3, 0x00000DE + +gUnk_0810D6B1:: @ 0810D6B1 + .incbin "baserom.gba", 0x10D6B1, 0x0000056 + +gUnk_0810D707:: @ 0810D707 + .incbin "baserom.gba", 0x10D707, 0x00000D2 + +gUnk_0810D7D9:: @ 0810D7D9 + .incbin "baserom.gba", 0x10D7D9, 0x000002E + +gUnk_0810D807:: @ 0810D807 + .incbin "baserom.gba", 0x10D807, 0x0000021 + +gUnk_0810D828:: @ 0810D828 + .incbin "baserom.gba", 0x10D828, 0x00000DF + +gUnk_0810D907:: @ 0810D907 + .incbin "baserom.gba", 0x10D907, 0x0000100 + +gUnk_0810DA07:: @ 0810DA07 + .incbin "baserom.gba", 0x10DA07, 0x0000007 + +gUnk_0810DA0E:: @ 0810DA0E + .incbin "baserom.gba", 0x10DA0E, 0x00000B2 + +gUnk_0810DAC0:: @ 0810DAC0 + .incbin "baserom.gba", 0x10DAC0, 0x0000041 + +gUnk_0810DB01:: @ 0810DB01 + .incbin "baserom.gba", 0x10DB01, 0x0000003 + +gUnk_0810DB04:: @ 0810DB04 + .incbin "baserom.gba", 0x10DB04, 0x0000005 + +gUnk_0810DB09:: @ 0810DB09 + .incbin "baserom.gba", 0x10DB09, 0x00000FB + +gUnk_0810DC04:: @ 0810DC04 + .incbin "baserom.gba", 0x10DC04, 0x0000017 + +gUnk_0810DC1B:: @ 0810DC1B + .incbin "baserom.gba", 0x10DC1B, 0x00000C0 + +gUnk_0810DCDB:: @ 0810DCDB + .incbin "baserom.gba", 0x10DCDB, 0x0000001 + +gUnk_0810DCDC:: @ 0810DCDC + .incbin "baserom.gba", 0x10DCDC, 0x000012B + +gUnk_0810DE07:: @ 0810DE07 + .incbin "baserom.gba", 0x10DE07, 0x0000046 + +gUnk_0810DE4D:: @ 0810DE4D + .incbin "baserom.gba", 0x10DE4D, 0x0000293 + +gUnk_0810E0E0:: @ 0810E0E0 + .incbin "baserom.gba", 0x10E0E0, 0x0000011 + +gUnk_0810E0F1:: @ 0810E0F1 + .incbin "baserom.gba", 0x10E0F1, 0x000000C + +gUnk_0810E0FD:: @ 0810E0FD + .incbin "baserom.gba", 0x10E0FD, 0x00000C6 + +gUnk_0810E1C3:: @ 0810E1C3 + .incbin "baserom.gba", 0x10E1C3, 0x000002D + +gUnk_0810E1F0:: @ 0810E1F0 + .incbin "baserom.gba", 0x10E1F0, 0x00000FD + +gUnk_0810E2ED:: @ 0810E2ED + .incbin "baserom.gba", 0x10E2ED, 0x0000116 + +gUnk_0810E403:: @ 0810E403 + .incbin "baserom.gba", 0x10E403, 0x000000A + +gUnk_0810E40D:: @ 0810E40D + .incbin "baserom.gba", 0x10E40D, 0x0000009 + +gUnk_0810E416:: @ 0810E416 + .incbin "baserom.gba", 0x10E416, 0x0000072 + +gUnk_0810E488:: @ 0810E488 + .incbin "baserom.gba", 0x10E488, 0x000008E + +gUnk_0810E516:: @ 0810E516 + .incbin "baserom.gba", 0x10E516, 0x000007B + +gUnk_0810E591:: @ 0810E591 + .incbin "baserom.gba", 0x10E591, 0x000005A + +gUnk_0810E5EB:: @ 0810E5EB + .incbin "baserom.gba", 0x10E5EB, 0x000001C + +gUnk_0810E607:: @ 0810E607 + .incbin "baserom.gba", 0x10E607, 0x00000E1 + +gUnk_0810E6E8:: @ 0810E6E8 + .incbin "baserom.gba", 0x10E6E8, 0x0000021 + +gUnk_0810E709:: @ 0810E709 + .incbin "baserom.gba", 0x10E709, 0x00000DB + +gUnk_0810E7E4:: @ 0810E7E4 + .incbin "baserom.gba", 0x10E7E4, 0x000000B + +gUnk_0810E7EF:: @ 0810E7EF + .incbin "baserom.gba", 0x10E7EF, 0x0000009 + +gUnk_0810E7F8:: @ 0810E7F8 + .incbin "baserom.gba", 0x10E7F8, 0x000000F + +gUnk_0810E807:: @ 0810E807 + .incbin "baserom.gba", 0x10E807, 0x0000001 + +gUnk_0810E808:: @ 0810E808 + .incbin "baserom.gba", 0x10E808, 0x00000F0 + +gUnk_0810E8F8:: @ 0810E8F8 + .incbin "baserom.gba", 0x10E8F8, 0x00000F8 + +gUnk_0810E9F0:: @ 0810E9F0 + .incbin "baserom.gba", 0x10E9F0, 0x0000100 + +gUnk_0810EAF0:: @ 0810EAF0 + .incbin "baserom.gba", 0x10EAF0, 0x000000E + +gUnk_0810EAFE:: @ 0810EAFE + .incbin "baserom.gba", 0x10EAFE, 0x000003E + +gUnk_0810EB3C:: @ 0810EB3C + .incbin "baserom.gba", 0x10EB3C, 0x000001F + +gUnk_0810EB5B:: @ 0810EB5B + .incbin "baserom.gba", 0x10EB5B, 0x0000064 + +gUnk_0810EBBF:: @ 0810EBBF + .incbin "baserom.gba", 0x10EBBF, 0x0000010 + +gUnk_0810EBCF:: @ 0810EBCF + .incbin "baserom.gba", 0x10EBCF, 0x0000010 + +gUnk_0810EBDF:: @ 0810EBDF + .incbin "baserom.gba", 0x10EBDF, 0x0000029 + +gUnk_0810EC08:: @ 0810EC08 + .incbin "baserom.gba", 0x10EC08, 0x00000FC + +gUnk_0810ED04:: @ 0810ED04 + .incbin "baserom.gba", 0x10ED04, 0x0000005 + +gUnk_0810ED09:: @ 0810ED09 + .incbin "baserom.gba", 0x10ED09, 0x00000E0 + +gUnk_0810EDE9:: @ 0810EDE9 + .incbin "baserom.gba", 0x10EDE9, 0x0000008 + +gUnk_0810EDF1:: @ 0810EDF1 + .incbin "baserom.gba", 0x10EDF1, 0x0000036 + +gUnk_0810EE27:: @ 0810EE27 + .incbin "baserom.gba", 0x10EE27, 0x0000056 + +gUnk_0810EE7D:: @ 0810EE7D + .incbin "baserom.gba", 0x10EE7D, 0x0000080 + +gUnk_0810EEFD:: @ 0810EEFD + .incbin "baserom.gba", 0x10EEFD, 0x0000148 + +gUnk_0810F045:: @ 0810F045 + .incbin "baserom.gba", 0x10F045, 0x00000AA + +gUnk_0810F0EF:: @ 0810F0EF + .incbin "baserom.gba", 0x10F0EF, 0x0000001 + +gUnk_0810F0F0:: @ 0810F0F0 + .incbin "baserom.gba", 0x10F0F0, 0x0000208 + +gUnk_0810F2F8:: @ 0810F2F8 + .incbin "baserom.gba", 0x10F2F8, 0x0000006 + +gUnk_0810F2FE:: @ 0810F2FE + .incbin "baserom.gba", 0x10F2FE, 0x0000100 + +gUnk_0810F3FE:: @ 0810F3FE + .incbin "baserom.gba", 0x10F3FE, 0x0000002 + +gUnk_0810F400:: @ 0810F400 + .incbin "baserom.gba", 0x10F400, 0x00000E6 + +gUnk_0810F4E6:: @ 0810F4E6 + .incbin "baserom.gba", 0x10F4E6, 0x000000B + +gUnk_0810F4F1:: @ 0810F4F1 + .incbin "baserom.gba", 0x10F4F1, 0x0000007 + +gUnk_0810F4F8:: @ 0810F4F8 + .incbin "baserom.gba", 0x10F4F8, 0x000002C + +gUnk_0810F524:: @ 0810F524 + .incbin "baserom.gba", 0x10F524, 0x0000020 + +gUnk_0810F544:: @ 0810F544 + .incbin "baserom.gba", 0x10F544, 0x000000C + +gUnk_0810F550:: @ 0810F550 + .incbin "baserom.gba", 0x10F550, 0x0000010 + +gUnk_0810F560:: @ 0810F560 + .incbin "baserom.gba", 0x10F560, 0x000003A + +gUnk_0810F59A:: @ 0810F59A + .incbin "baserom.gba", 0x10F59A, 0x000003A + +gUnk_0810F5D4:: @ 0810F5D4 + .incbin "baserom.gba", 0x10F5D4, 0x000001F + +gUnk_0810F5F3:: @ 0810F5F3 + .incbin "baserom.gba", 0x10F5F3, 0x0000005 + +gUnk_0810F5F8:: @ 0810F5F8 + .incbin "baserom.gba", 0x10F5F8, 0x0000016 + +gUnk_0810F60E:: @ 0810F60E + .incbin "baserom.gba", 0x10F60E, 0x0000005 + +gUnk_0810F613:: @ 0810F613 + .incbin "baserom.gba", 0x10F613, 0x0000007 + +gUnk_0810F61A:: @ 0810F61A + .incbin "baserom.gba", 0x10F61A, 0x000002E + +gUnk_0810F648:: @ 0810F648 + .incbin "baserom.gba", 0x10F648, 0x000003A + +gUnk_0810F682:: @ 0810F682 + .incbin "baserom.gba", 0x10F682, 0x000003A + +gUnk_0810F6BC:: @ 0810F6BC + .incbin "baserom.gba", 0x10F6BC, 0x0000018 + +gUnk_0810F6D4:: @ 0810F6D4 + .incbin "baserom.gba", 0x10F6D4, 0x0000010 + +gUnk_0810F6E4:: @ 0810F6E4 + .incbin "baserom.gba", 0x10F6E4, 0x0000002 + +gUnk_0810F6E6:: @ 0810F6E6 + .incbin "baserom.gba", 0x10F6E6, 0x0000003 + +gUnk_0810F6E9:: @ 0810F6E9 + .incbin "baserom.gba", 0x10F6E9, 0x0000005 + +gUnk_0810F6EE:: @ 0810F6EE + .incbin "baserom.gba", 0x10F6EE, 0x0000001 + +gUnk_0810F6EF:: @ 0810F6EF + .incbin "baserom.gba", 0x10F6EF, 0x0000004 + +gUnk_0810F6F3:: @ 0810F6F3 + .incbin "baserom.gba", 0x10F6F3, 0x0000005 + +gUnk_0810F6F8:: @ 0810F6F8 + .incbin "baserom.gba", 0x10F6F8, 0x0000005 + +gUnk_0810F6FD:: @ 0810F6FD + .incbin "baserom.gba", 0x10F6FD, 0x0000003 + +gUnk_0810F700:: @ 0810F700 + .incbin "baserom.gba", 0x10F700, 0x0000002 + +gUnk_0810F702:: @ 0810F702 + .incbin "baserom.gba", 0x10F702, 0x0000005 + +gUnk_0810F707:: @ 0810F707 + .incbin "baserom.gba", 0x10F707, 0x0000005 + +gUnk_0810F70C:: @ 0810F70C + .incbin "baserom.gba", 0x10F70C, 0x0000011 + +gUnk_0810F71D:: @ 0810F71D + .incbin "baserom.gba", 0x10F71D, 0x0000011 + +gUnk_0810F72E:: @ 0810F72E + .incbin "baserom.gba", 0x10F72E, 0x0000011 + +gUnk_0810F73F:: @ 0810F73F + .incbin "baserom.gba", 0x10F73F, 0x0000011 + +gUnk_0810F750:: @ 0810F750 + .incbin "baserom.gba", 0x10F750, 0x0000011 + +gUnk_0810F761:: @ 0810F761 + .incbin "baserom.gba", 0x10F761, 0x0000011 + +gUnk_0810F772:: @ 0810F772 + .incbin "baserom.gba", 0x10F772, 0x0000011 + +gUnk_0810F783:: @ 0810F783 + .incbin "baserom.gba", 0x10F783, 0x0000011 + +gUnk_0810F794:: @ 0810F794 + .incbin "baserom.gba", 0x10F794, 0x0000005 + +gUnk_0810F799:: @ 0810F799 + .incbin "baserom.gba", 0x10F799, 0x0000025 + +gUnk_0810F7BE:: @ 0810F7BE + .incbin "baserom.gba", 0x10F7BE, 0x0000005 + +gUnk_0810F7C3:: @ 0810F7C3 + .incbin "baserom.gba", 0x10F7C3, 0x0000005 + +gUnk_0810F7C8:: @ 0810F7C8 + .incbin "baserom.gba", 0x10F7C8, 0x0000020 + +gUnk_0810F7E8:: @ 0810F7E8 + .incbin "baserom.gba", 0x10F7E8, 0x0000003 + +gUnk_0810F7EB:: @ 0810F7EB + .incbin "baserom.gba", 0x10F7EB, 0x0000003 + +gUnk_0810F7EE:: @ 0810F7EE + .incbin "baserom.gba", 0x10F7EE, 0x000000A + +gUnk_0810F7F8:: @ 0810F7F8 + .incbin "baserom.gba", 0x10F7F8, 0x0000005 + +gUnk_0810F7FD:: @ 0810F7FD + .incbin "baserom.gba", 0x10F7FD, 0x0000003 + +gUnk_0810F800:: @ 0810F800 + .incbin "baserom.gba", 0x10F800, 0x0000002 + +gUnk_0810F802:: @ 0810F802 + .incbin "baserom.gba", 0x10F802, 0x0000006 + +gUnk_0810F808:: @ 0810F808 + .incbin "baserom.gba", 0x10F808, 0x000000C + +gUnk_0810F814:: @ 0810F814 + .incbin "baserom.gba", 0x10F814, 0x0000060 + +gUnk_0810F874:: @ 0810F874 + .incbin "baserom.gba", 0x10F874, 0x0000018 + +gUnk_0810F88C:: @ 0810F88C + .incbin "baserom.gba", 0x10F88C, 0x0000008 + +gUnk_0810F894:: @ 0810F894 + .incbin "baserom.gba", 0x10F894, 0x0000024 + +gUnk_0810F8B8:: @ 0810F8B8 + .incbin "baserom.gba", 0x10F8B8, 0x0000018 + +gUnk_0810F8D0:: @ 0810F8D0 + .incbin "baserom.gba", 0x10F8D0, 0x0000014 + +gUnk_0810F8E4:: @ 0810F8E4 + .incbin "baserom.gba", 0x10F8E4, 0x0000005 + +gUnk_0810F8E9:: @ 0810F8E9 + .incbin "baserom.gba", 0x10F8E9, 0x0000005 + +gUnk_0810F8EE:: @ 0810F8EE + .incbin "baserom.gba", 0x10F8EE, 0x0000001 + +gUnk_0810F8EF:: @ 0810F8EF + .incbin "baserom.gba", 0x10F8EF, 0x0000004 + +gUnk_0810F8F3:: @ 0810F8F3 + .incbin "baserom.gba", 0x10F8F3, 0x0000001 + +gUnk_0810F8F4:: @ 0810F8F4 + .incbin "baserom.gba", 0x10F8F4, 0x0000004 + +gUnk_0810F8F8:: @ 0810F8F8 + .incbin "baserom.gba", 0x10F8F8, 0x0000001 + +gUnk_0810F8F9:: @ 0810F8F9 + .incbin "baserom.gba", 0x10F8F9, 0x0000010 + +gUnk_0810F909:: @ 0810F909 + .incbin "baserom.gba", 0x10F909, 0x0000011 + +gUnk_0810F91A:: @ 0810F91A + .incbin "baserom.gba", 0x10F91A, 0x0000011 + +gUnk_0810F92B:: @ 0810F92B + .incbin "baserom.gba", 0x10F92B, 0x0000011 + +gUnk_0810F93C:: @ 0810F93C + .incbin "baserom.gba", 0x10F93C, 0x0000008 + +gUnk_0810F944:: @ 0810F944 + .incbin "baserom.gba", 0x10F944, 0x0000028 + +gUnk_0810F96C:: @ 0810F96C + .incbin "baserom.gba", 0x10F96C, 0x0000005 + +gUnk_0810F971:: @ 0810F971 + .incbin "baserom.gba", 0x10F971, 0x0000005 + +gUnk_0810F976:: @ 0810F976 + .incbin "baserom.gba", 0x10F976, 0x0000005 + +gUnk_0810F97B:: @ 0810F97B + .incbin "baserom.gba", 0x10F97B, 0x0000011 + +gUnk_0810F98C:: @ 0810F98C + .incbin "baserom.gba", 0x10F98C, 0x0000024 + +gUnk_0810F9B0:: @ 0810F9B0 + .incbin "baserom.gba", 0x10F9B0, 0x0000005 + +gUnk_0810F9B5:: @ 0810F9B5 + .incbin "baserom.gba", 0x10F9B5, 0x0000005 + +gUnk_0810F9BA:: @ 0810F9BA + .incbin "baserom.gba", 0x10F9BA, 0x0000005 + +gUnk_0810F9BF:: @ 0810F9BF + .incbin "baserom.gba", 0x10F9BF, 0x0000011 + +gUnk_0810F9D0:: @ 0810F9D0 + .incbin "baserom.gba", 0x10F9D0, 0x0000020 + +gUnk_0810F9F0:: @ 0810F9F0 + .incbin "baserom.gba", 0x10F9F0, 0x0000004 + +gUnk_0810F9F4:: @ 0810F9F4 + .incbin "baserom.gba", 0x10F9F4, 0x0000004 + +gUnk_0810F9F8:: @ 0810F9F8 + .incbin "baserom.gba", 0x10F9F8, 0x0000001 + +gUnk_0810F9F9:: @ 0810F9F9 + .incbin "baserom.gba", 0x10F9F9, 0x0000005 + +gUnk_0810F9FE:: @ 0810F9FE + .incbin "baserom.gba", 0x10F9FE, 0x0000002 + +gUnk_0810FA00:: @ 0810FA00 + .incbin "baserom.gba", 0x10FA00, 0x0000003 + +gUnk_0810FA03:: @ 0810FA03 + .incbin "baserom.gba", 0x10FA03, 0x0000011 + +gUnk_0810FA14:: @ 0810FA14 + .incbin "baserom.gba", 0x10FA14, 0x0000018 + +gUnk_0810FA2C:: @ 0810FA2C + .incbin "baserom.gba", 0x10FA2C, 0x000000C + +gUnk_0810FA38:: @ 0810FA38 + .incbin "baserom.gba", 0x10FA38, 0x000000C + +gUnk_0810FA44:: @ 0810FA44 + .incbin "baserom.gba", 0x10FA44, 0x0000010 + +gUnk_0810FA54:: @ 0810FA54 + .incbin "baserom.gba", 0x10FA54, 0x0000006 + +gUnk_0810FA5A:: @ 0810FA5A + .incbin "baserom.gba", 0x10FA5A, 0x0000097 + +gUnk_0810FAF1:: @ 0810FAF1 + .incbin "baserom.gba", 0x10FAF1, 0x0000002 + +gUnk_0810FAF3:: @ 0810FAF3 + .incbin "baserom.gba", 0x10FAF3, 0x0000004 + +gUnk_0810FAF7:: @ 0810FAF7 + .incbin "baserom.gba", 0x10FAF7, 0x000002D + +gUnk_0810FB24:: @ 0810FB24 + .incbin "baserom.gba", 0x10FB24, 0x0000015 + +gUnk_0810FB39:: @ 0810FB39 + .incbin "baserom.gba", 0x10FB39, 0x0000015 + +gUnk_0810FB4E:: @ 0810FB4E + .incbin "baserom.gba", 0x10FB4E, 0x0000015 + +gUnk_0810FB63:: @ 0810FB63 + .incbin "baserom.gba", 0x10FB63, 0x0000015 + +gUnk_0810FB78:: @ 0810FB78 + .incbin "baserom.gba", 0x10FB78, 0x0000005 + +gUnk_0810FB7D:: @ 0810FB7D + .incbin "baserom.gba", 0x10FB7D, 0x0000005 + +gUnk_0810FB82:: @ 0810FB82 + .incbin "baserom.gba", 0x10FB82, 0x0000005 + +gUnk_0810FB87:: @ 0810FB87 + .incbin "baserom.gba", 0x10FB87, 0x0000005 + +gUnk_0810FB8C:: @ 0810FB8C + .incbin "baserom.gba", 0x10FB8C, 0x0000021 + +gUnk_0810FBAD:: @ 0810FBAD + .incbin "baserom.gba", 0x10FBAD, 0x0000023 + +gUnk_0810FBD0:: @ 0810FBD0 + .incbin "baserom.gba", 0x10FBD0, 0x000001B + +gUnk_0810FBEB:: @ 0810FBEB + .incbin "baserom.gba", 0x10FBEB, 0x000000E + +gUnk_0810FBF9:: @ 0810FBF9 + .incbin "baserom.gba", 0x10FBF9, 0x0000003 + +gUnk_0810FBFC:: @ 0810FBFC + .incbin "baserom.gba", 0x10FBFC, 0x000000C + +gUnk_0810FC08:: @ 0810FC08 + .incbin "baserom.gba", 0x10FC08, 0x0000048 + +gUnk_0810FC50:: @ 0810FC50 + .incbin "baserom.gba", 0x10FC50, 0x0000004 + +gUnk_0810FC54:: @ 0810FC54 + .incbin "baserom.gba", 0x10FC54, 0x000000A + +gUnk_0810FC5E:: @ 0810FC5E + .incbin "baserom.gba", 0x10FC5E, 0x000000A + +gUnk_0810FC68:: @ 0810FC68 + .incbin "baserom.gba", 0x10FC68, 0x0000045 + +gUnk_0810FCAD:: @ 0810FCAD + .incbin "baserom.gba", 0x10FCAD, 0x0000021 + +gUnk_0810FCCE:: @ 0810FCCE + .incbin "baserom.gba", 0x10FCCE, 0x0000026 + +gUnk_0810FCF4:: @ 0810FCF4 + .incbin "baserom.gba", 0x10FCF4, 0x0000022 + +gUnk_0810FD16:: @ 0810FD16 + .incbin "baserom.gba", 0x10FD16, 0x0000056 + +gUnk_0810FD6C:: @ 0810FD6C + .incbin "baserom.gba", 0x10FD6C, 0x0000034 + +gUnk_0810FDA0:: @ 0810FDA0 + .incbin "baserom.gba", 0x10FDA0, 0x0000004 + +gUnk_0810FDA4:: @ 0810FDA4 + .incbin "baserom.gba", 0x10FDA4, 0x0000014 + +gUnk_0810FDB8:: @ 0810FDB8 + .incbin "baserom.gba", 0x10FDB8, 0x0000010 + +gUnk_0810FDC8:: @ 0810FDC8 + .incbin "baserom.gba", 0x10FDC8, 0x0000020 + +gUnk_0810FDE8:: @ 0810FDE8 + .incbin "baserom.gba", 0x10FDE8, 0x0000005 + +gUnk_0810FDED:: @ 0810FDED + .incbin "baserom.gba", 0x10FDED, 0x0000005 + +gUnk_0810FDF2:: @ 0810FDF2 + .incbin "baserom.gba", 0x10FDF2, 0x0000005 + +gUnk_0810FDF7:: @ 0810FDF7 + .incbin "baserom.gba", 0x10FDF7, 0x000000C + +gUnk_0810FE03:: @ 0810FE03 + .incbin "baserom.gba", 0x10FE03, 0x0000005 + +gUnk_0810FE08:: @ 0810FE08 + .incbin "baserom.gba", 0x10FE08, 0x0000017 + +gUnk_0810FE1F:: @ 0810FE1F + .incbin "baserom.gba", 0x10FE1F, 0x0000049 + +gUnk_0810FE68:: @ 0810FE68 + .incbin "baserom.gba", 0x10FE68, 0x0000028 + +gUnk_0810FE90:: @ 0810FE90 + .incbin "baserom.gba", 0x10FE90, 0x0000020 + +gUnk_0810FEB0:: @ 0810FEB0 + .incbin "baserom.gba", 0x10FEB0, 0x000000C + +gUnk_0810FEBC:: @ 0810FEBC + .incbin "baserom.gba", 0x10FEBC, 0x0000008 + +gUnk_0810FEC4:: @ 0810FEC4 + .incbin "baserom.gba", 0x10FEC4, 0x0000014 + +gUnk_0810FED8:: @ 0810FED8 + .incbin "baserom.gba", 0x10FED8, 0x0000008 + +gUnk_0810FEE0:: @ 0810FEE0 + .incbin "baserom.gba", 0x10FEE0, 0x0000005 + +gUnk_0810FEE5:: @ 0810FEE5 + .incbin "baserom.gba", 0x10FEE5, 0x0000005 + +gUnk_0810FEEA:: @ 0810FEEA + .incbin "baserom.gba", 0x10FEEA, 0x0000005 + +gUnk_0810FEEF:: @ 0810FEEF + .incbin "baserom.gba", 0x10FEEF, 0x0000002 + +gUnk_0810FEF1:: @ 0810FEF1 + .incbin "baserom.gba", 0x10FEF1, 0x0000003 + +gUnk_0810FEF4:: @ 0810FEF4 + .incbin "baserom.gba", 0x10FEF4, 0x0000001 + +gUnk_0810FEF5:: @ 0810FEF5 + .incbin "baserom.gba", 0x10FEF5, 0x0000003 + +gUnk_0810FEF8:: @ 0810FEF8 + .incbin "baserom.gba", 0x10FEF8, 0x000000B + +gUnk_0810FF03:: @ 0810FF03 + .incbin "baserom.gba", 0x10FF03, 0x0000002 + +gUnk_0810FF05:: @ 0810FF05 + .incbin "baserom.gba", 0x10FF05, 0x000000A + +gUnk_0810FF0F:: @ 0810FF0F + .incbin "baserom.gba", 0x10FF0F, 0x0000001 + +gUnk_0810FF10:: @ 0810FF10 + .incbin "baserom.gba", 0x10FF10, 0x0000006 + +gUnk_0810FF16:: @ 0810FF16 + .incbin "baserom.gba", 0x10FF16, 0x0000011 + +gUnk_0810FF27:: @ 0810FF27 + .incbin "baserom.gba", 0x10FF27, 0x0000001 + +gUnk_0810FF28:: @ 0810FF28 + .incbin "baserom.gba", 0x10FF28, 0x0000010 + +gUnk_0810FF38:: @ 0810FF38 + .incbin "baserom.gba", 0x10FF38, 0x0000003 + +gUnk_0810FF3B:: @ 0810FF3B + .incbin "baserom.gba", 0x10FF3B, 0x0000021 + +gUnk_0810FF5C:: @ 0810FF5C + .incbin "baserom.gba", 0x10FF5C, 0x0000008 + +gUnk_0810FF64:: @ 0810FF64 + .incbin "baserom.gba", 0x10FF64, 0x000000C + +gUnk_0810FF70:: @ 0810FF70 + .incbin "baserom.gba", 0x10FF70, 0x0000005 + +gUnk_0810FF75:: @ 0810FF75 + .incbin "baserom.gba", 0x10FF75, 0x0000005 + +gUnk_0810FF7A:: @ 0810FF7A + .incbin "baserom.gba", 0x10FF7A, 0x0000004 + +gUnk_0810FF7E:: @ 0810FF7E + .incbin "baserom.gba", 0x10FF7E, 0x0000001 + +gUnk_0810FF7F:: @ 0810FF7F + .incbin "baserom.gba", 0x10FF7F, 0x0000005 + +gUnk_0810FF84:: @ 0810FF84 + .incbin "baserom.gba", 0x10FF84, 0x0000021 + +gUnk_0810FFA5:: @ 0810FFA5 + .incbin "baserom.gba", 0x10FFA5, 0x0000011 + +gUnk_0810FFB6:: @ 0810FFB6 + .incbin "baserom.gba", 0x10FFB6, 0x000000B + +gUnk_0810FFC1:: @ 0810FFC1 + .incbin "baserom.gba", 0x10FFC1, 0x0000016 + +gUnk_0810FFD7:: @ 0810FFD7 + .incbin "baserom.gba", 0x10FFD7, 0x000001F + +gUnk_0810FFF6:: @ 0810FFF6 + .incbin "baserom.gba", 0x10FFF6, 0x0000008 + +gUnk_0810FFFE:: @ 0810FFFE + .incbin "baserom.gba", 0x10FFFE, 0x0000002 + +gUnk_08110000:: @ 08110000 + .incbin "baserom.gba", 0x110000, 0x0000007 + +gUnk_08110007:: @ 08110007 + .incbin "baserom.gba", 0x110007, 0x000000D + +gUnk_08110014:: @ 08110014 + .incbin "baserom.gba", 0x110014, 0x0000013 + +gUnk_08110027:: @ 08110027 + .incbin "baserom.gba", 0x110027, 0x0000001 + +gUnk_08110028:: @ 08110028 + .incbin "baserom.gba", 0x110028, 0x0000044 + +gUnk_0811006C:: @ 0811006C + .incbin "baserom.gba", 0x11006C, 0x0000014 + +gUnk_08110080:: @ 08110080 + .incbin "baserom.gba", 0x110080, 0x0000008 + +gUnk_08110088:: @ 08110088 + .incbin "baserom.gba", 0x110088, 0x0000005 + +gUnk_0811008D:: @ 0811008D + .incbin "baserom.gba", 0x11008D, 0x0000005 + +gUnk_08110092:: @ 08110092 + .incbin "baserom.gba", 0x110092, 0x0000005 + +gUnk_08110097:: @ 08110097 + .incbin "baserom.gba", 0x110097, 0x0000021 + +gUnk_081100B8:: @ 081100B8 + .incbin "baserom.gba", 0x1100B8, 0x000002C + +gUnk_081100E4:: @ 081100E4 + .incbin "baserom.gba", 0x1100E4, 0x000002C + +gUnk_08110110:: @ 08110110 + .incbin "baserom.gba", 0x110110, 0x0000008 + +gMilkCartBehaviors:: @ 08110118 + .incbin "baserom.gba", 0x110118, 0x0000008 + +gUnk_08110120:: @ 08110120 + .incbin "baserom.gba", 0x110120, 0x0000005 + +gUnk_08110125:: @ 08110125 + .incbin "baserom.gba", 0x110125, 0x0000013 + +gUnk_08110138:: @ 08110138 + .incbin "baserom.gba", 0x110138, 0x0000009 + +gUnk_08110141:: @ 08110141 + .incbin "baserom.gba", 0x110141, 0x000001B + +gUnk_0811015C:: @ 0811015C + .incbin "baserom.gba", 0x11015C, 0x0000008 + +gUnk_08110164:: @ 08110164 + .incbin "baserom.gba", 0x110164, 0x0000018 + +gUnk_0811017C:: @ 0811017C + .incbin "baserom.gba", 0x11017C, 0x000000C + +gUnk_08110188:: @ 08110188 + .incbin "baserom.gba", 0x110188, 0x0000055 + +gUnk_081101DD:: @ 081101DD + .incbin "baserom.gba", 0x1101DD, 0x000001A + +gUnk_081101F7:: @ 081101F7 + .incbin "baserom.gba", 0x1101F7, 0x0000037 + +gUnk_0811022E:: @ 0811022E + .incbin "baserom.gba", 0x11022E, 0x0000046 + +gUnk_08110274:: @ 08110274 + .incbin "baserom.gba", 0x110274, 0x000000C + +gUnk_08110280:: @ 08110280 + .incbin "baserom.gba", 0x110280, 0x0000080 + +gUnk_08110300:: @ 08110300 + .incbin "baserom.gba", 0x110300, 0x0000011 + +gUnk_08110311:: @ 08110311 + .incbin "baserom.gba", 0x110311, 0x0000011 + +gUnk_08110322:: @ 08110322 + .incbin "baserom.gba", 0x110322, 0x0000011 + +gUnk_08110333:: @ 08110333 + .incbin "baserom.gba", 0x110333, 0x0000009 + +gUnk_0811033C:: @ 0811033C + .incbin "baserom.gba", 0x11033C, 0x0000018 + +gUnk_08110354:: @ 08110354 + .incbin "baserom.gba", 0x110354, 0x000000C + +gUnk_08110360:: @ 08110360 + .incbin "baserom.gba", 0x110360, 0x000000C + +gUnk_0811036C:: @ 0811036C + .incbin "baserom.gba", 0x11036C, 0x0000014 + +gUnk_08110380:: @ 08110380 + .incbin "baserom.gba", 0x110380, 0x0000010 + +gUnk_08110390:: @ 08110390 + .incbin "baserom.gba", 0x110390, 0x0000040 + +gUnk_081103D0:: @ 081103D0 + .incbin "baserom.gba", 0x1103D0, 0x000000B + +gUnk_081103DB:: @ 081103DB + .incbin "baserom.gba", 0x1103DB, 0x0000005 + +gUnk_081103E0:: @ 081103E0 + .incbin "baserom.gba", 0x1103E0, 0x0000004 + +gUnk_081103E4:: @ 081103E4 + .incbin "baserom.gba", 0x1103E4, 0x0000005 + +gUnk_081103E9:: @ 081103E9 + .incbin "baserom.gba", 0x1103E9, 0x0000005 + +gUnk_081103EE:: @ 081103EE + .incbin "baserom.gba", 0x1103EE, 0x0000005 + +gUnk_081103F3:: @ 081103F3 + .incbin "baserom.gba", 0x1103F3, 0x0000005 + +gUnk_081103F8:: @ 081103F8 + .incbin "baserom.gba", 0x1103F8, 0x0000006 + +gUnk_081103FE:: @ 081103FE + .incbin "baserom.gba", 0x1103FE, 0x0000002 + +gUnk_08110400:: @ 08110400 + .incbin "baserom.gba", 0x110400, 0x0000009 + +gUnk_08110409:: @ 08110409 + .incbin "baserom.gba", 0x110409, 0x0000011 + +gUnk_0811041A:: @ 0811041A + .incbin "baserom.gba", 0x11041A, 0x0000011 + +gUnk_0811042B:: @ 0811042B + .incbin "baserom.gba", 0x11042B, 0x0000011 + +gUnk_0811043C:: @ 0811043C + .incbin "baserom.gba", 0x11043C, 0x0000005 + +gUnk_08110441:: @ 08110441 + .incbin "baserom.gba", 0x110441, 0x0000005 + +gUnk_08110446:: @ 08110446 + .incbin "baserom.gba", 0x110446, 0x0000005 + +gUnk_0811044B:: @ 0811044B + .incbin "baserom.gba", 0x11044B, 0x0000029 + +gUnk_08110474:: @ 08110474 + .incbin "baserom.gba", 0x110474, 0x0000005 + +gUnk_08110479:: @ 08110479 + .incbin "baserom.gba", 0x110479, 0x0000005 + +gUnk_0811047E:: @ 0811047E + .incbin "baserom.gba", 0x11047E, 0x0000006 + +gUnk_08110484:: @ 08110484 + .incbin "baserom.gba", 0x110484, 0x0000044 + +gUnk_081104C8:: @ 081104C8 + .incbin "baserom.gba", 0x1104C8, 0x0000018 + +gUnk_081104E0:: @ 081104E0 + .incbin "baserom.gba", 0x1104E0, 0x000000C + +gUnk_081104EC:: @ 081104EC + .incbin "baserom.gba", 0x1104EC, 0x000000C + +gUnk_081104F8:: @ 081104F8 + .incbin "baserom.gba", 0x1104F8, 0x0000008 + +gUnk_08110500:: @ 08110500 + .incbin "baserom.gba", 0x110500, 0x0000005 + +gUnk_08110505:: @ 08110505 + .incbin "baserom.gba", 0x110505, 0x0000005 + +gUnk_0811050A:: @ 0811050A + .incbin "baserom.gba", 0x11050A, 0x0000004 + +gUnk_0811050E:: @ 0811050E + .incbin "baserom.gba", 0x11050E, 0x0000001 + +gUnk_0811050F:: @ 0811050F + .incbin "baserom.gba", 0x11050F, 0x0000005 + +gUnk_08110514:: @ 08110514 + .incbin "baserom.gba", 0x110514, 0x0000021 + +gUnk_08110535:: @ 08110535 + .incbin "baserom.gba", 0x110535, 0x0000021 + +gUnk_08110556:: @ 08110556 + .incbin "baserom.gba", 0x110556, 0x0000021 + +gUnk_08110577:: @ 08110577 + .incbin "baserom.gba", 0x110577, 0x0000009 + +gUnk_08110580:: @ 08110580 + .incbin "baserom.gba", 0x110580, 0x0000018 + +gUnk_08110598:: @ 08110598 + .incbin "baserom.gba", 0x110598, 0x0000011 + +gUnk_081105A9:: @ 081105A9 + .incbin "baserom.gba", 0x1105A9, 0x0000011 + +gUnk_081105BA:: @ 081105BA + .incbin "baserom.gba", 0x1105BA, 0x0000011 + +gUnk_081105CB:: @ 081105CB + .incbin "baserom.gba", 0x1105CB, 0x0000011 + +gUnk_081105DC:: @ 081105DC + .incbin "baserom.gba", 0x1105DC, 0x0000005 + +gUnk_081105E1:: @ 081105E1 + .incbin "baserom.gba", 0x1105E1, 0x0000010 + +gUnk_081105F1:: @ 081105F1 + .incbin "baserom.gba", 0x1105F1, 0x0000017 + +gUnk_08110608:: @ 08110608 + .incbin "baserom.gba", 0x110608, 0x0000004 + +gUnk_0811060C:: @ 0811060C + .incbin "baserom.gba", 0x11060C, 0x0000038 + +gUnk_08110644:: @ 08110644 + .incbin "baserom.gba", 0x110644, 0x000000C + +gUnk_08110650:: @ 08110650 + .incbin "baserom.gba", 0x110650, 0x0000008 + +gUnk_08110658:: @ 08110658 + .incbin "baserom.gba", 0x110658, 0x0000005 + +gUnk_0811065D:: @ 0811065D + .incbin "baserom.gba", 0x11065D, 0x0000005 + +gUnk_08110662:: @ 08110662 + .incbin "baserom.gba", 0x110662, 0x0000005 + +gUnk_08110667:: @ 08110667 + .incbin "baserom.gba", 0x110667, 0x0000005 + +gUnk_0811066C:: @ 0811066C + .incbin "baserom.gba", 0x11066C, 0x0000011 + +gUnk_0811067D:: @ 0811067D + .incbin "baserom.gba", 0x11067D, 0x0000005 + +gUnk_08110682:: @ 08110682 + .incbin "baserom.gba", 0x110682, 0x0000026 + +gUnk_081106A8:: @ 081106A8 + .incbin "baserom.gba", 0x1106A8, 0x000002C + +gUnk_081106D4:: @ 081106D4 + .incbin "baserom.gba", 0x1106D4, 0x000000C + +gUnk_081106E0:: @ 081106E0 + .incbin "baserom.gba", 0x1106E0, 0x0000008 + +gUnk_081106E8:: @ 081106E8 + .incbin "baserom.gba", 0x1106E8, 0x0000005 + +gUnk_081106ED:: @ 081106ED + .incbin "baserom.gba", 0x1106ED, 0x0000011 + +gUnk_081106FE:: @ 081106FE + .incbin "baserom.gba", 0x1106FE, 0x0000012 + +gUnk_08110710:: @ 08110710 + .incbin "baserom.gba", 0x110710, 0x0000024 + +gUnk_08110734:: @ 08110734 + .incbin "baserom.gba", 0x110734, 0x0000008 + +gUnk_0811073C:: @ 0811073C + .incbin "baserom.gba", 0x11073C, 0x0000005 + +gUnk_08110741:: @ 08110741 + .incbin "baserom.gba", 0x110741, 0x0000005 + +gUnk_08110746:: @ 08110746 + .incbin "baserom.gba", 0x110746, 0x0000005 + +gUnk_0811074B:: @ 0811074B + .incbin "baserom.gba", 0x11074B, 0x0000005 + +gUnk_08110750:: @ 08110750 + .incbin "baserom.gba", 0x110750, 0x0000011 + +gUnk_08110761:: @ 08110761 + .incbin "baserom.gba", 0x110761, 0x0000011 + +gUnk_08110772:: @ 08110772 + .incbin "baserom.gba", 0x110772, 0x0000011 + +gUnk_08110783:: @ 08110783 + .incbin "baserom.gba", 0x110783, 0x0000011 + +gUnk_08110794:: @ 08110794 + .incbin "baserom.gba", 0x110794, 0x0000005 + +gUnk_08110799:: @ 08110799 + .incbin "baserom.gba", 0x110799, 0x0000011 + +gUnk_081107AA:: @ 081107AA + .incbin "baserom.gba", 0x1107AA, 0x0000009 + +gUnk_081107B3:: @ 081107B3 + .incbin "baserom.gba", 0x1107B3, 0x0000009 + +gUnk_081107BC:: @ 081107BC + .incbin "baserom.gba", 0x1107BC, 0x0000010 + +gUnk_081107CC:: @ 081107CC + .incbin "baserom.gba", 0x1107CC, 0x000003C + +gUnk_08110808:: @ 08110808 + .incbin "baserom.gba", 0x110808, 0x0000038 + +gUnk_08110840:: @ 08110840 + .incbin "baserom.gba", 0x110840, 0x0000019 + +gUnk_08110859:: @ 08110859 + .incbin "baserom.gba", 0x110859, 0x0000005 + +gUnk_0811085E:: @ 0811085E + .incbin "baserom.gba", 0x11085E, 0x0000019 + +gUnk_08110877:: @ 08110877 + .incbin "baserom.gba", 0x110877, 0x0000005 + +gUnk_0811087C:: @ 0811087C + .incbin "baserom.gba", 0x11087C, 0x000001E + +gUnk_0811089A:: @ 0811089A + .incbin "baserom.gba", 0x11089A, 0x0000019 + +gUnk_081108B3:: @ 081108B3 + .incbin "baserom.gba", 0x1108B3, 0x0000019 + +gUnk_081108CC:: @ 081108CC + .incbin "baserom.gba", 0x1108CC, 0x0000019 + +gUnk_081108E5:: @ 081108E5 + .incbin "baserom.gba", 0x1108E5, 0x000000D + +gUnk_081108F2:: @ 081108F2 + .incbin "baserom.gba", 0x1108F2, 0x000000D + +gUnk_081108FF:: @ 081108FF + .incbin "baserom.gba", 0x1108FF, 0x000000D + +gUnk_0811090C:: @ 0811090C + .incbin "baserom.gba", 0x11090C, 0x000000C + +gUnk_08110918:: @ 08110918 + .incbin "baserom.gba", 0x110918, 0x0000005 + +gUnk_0811091D:: @ 0811091D + .incbin "baserom.gba", 0x11091D, 0x0000005 + +gUnk_08110922:: @ 08110922 + .incbin "baserom.gba", 0x110922, 0x0000005 + +gUnk_08110927:: @ 08110927 + .incbin "baserom.gba", 0x110927, 0x0000005 + +gUnk_0811092C:: @ 0811092C + .incbin "baserom.gba", 0x11092C, 0x0000005 + +gUnk_08110931:: @ 08110931 + .incbin "baserom.gba", 0x110931, 0x00000C1 + +gUnk_081109F2:: @ 081109F2 + .incbin "baserom.gba", 0x1109F2, 0x0000006 + +gUnk_081109F8:: @ 081109F8 + .incbin "baserom.gba", 0x1109F8, 0x00000DF + +gUnk_08110AD7:: @ 08110AD7 + .incbin "baserom.gba", 0x110AD7, 0x0000015 + +gUnk_08110AEC:: @ 08110AEC + .incbin "baserom.gba", 0x110AEC, 0x0000010 + +gUnk_08110AFC:: @ 08110AFC + .incbin "baserom.gba", 0x110AFC, 0x0000008 + +gUnk_08110B04:: @ 08110B04 + .incbin "baserom.gba", 0x110B04, 0x0000001 + +gUnk_08110B05:: @ 08110B05 + .incbin "baserom.gba", 0x110B05, 0x000004B + +gUnk_08110B50:: @ 08110B50 + .incbin "baserom.gba", 0x110B50, 0x0000088 + +gUnk_08110BD8:: @ 08110BD8 + .incbin "baserom.gba", 0x110BD8, 0x0000008 + +gUnk_08110BE0:: @ 08110BE0 + .incbin "baserom.gba", 0x110BE0, 0x000001F + +gUnk_08110BFF:: @ 08110BFF + .incbin "baserom.gba", 0x110BFF, 0x0000001 + +gUnk_08110C00:: @ 08110C00 + .incbin "baserom.gba", 0x110C00, 0x0000003 + +gUnk_08110C03:: @ 08110C03 + .incbin "baserom.gba", 0x110C03, 0x0000009 + +gUnk_08110C0C:: @ 08110C0C + .incbin "baserom.gba", 0x110C0C, 0x0000004 + +gUnk_08110C10:: @ 08110C10 + .incbin "baserom.gba", 0x110C10, 0x0000050 + +gUnk_08110C60:: @ 08110C60 + .incbin "baserom.gba", 0x110C60, 0x0000015 + +gUnk_08110C75:: @ 08110C75 + .incbin "baserom.gba", 0x110C75, 0x0000005 + +gUnk_08110C7A:: @ 08110C7A + .incbin "baserom.gba", 0x110C7A, 0x0000005 + +gUnk_08110C7F:: @ 08110C7F + .incbin "baserom.gba", 0x110C7F, 0x0000005 + +gUnk_08110C84:: @ 08110C84 + .incbin "baserom.gba", 0x110C84, 0x0000024 + +gUnk_08110CA8:: @ 08110CA8 + .incbin "baserom.gba", 0x110CA8, 0x0000040 + +gUnk_08110CE8:: @ 08110CE8 + .incbin "baserom.gba", 0x110CE8, 0x000000A + +gUnk_08110CF2:: @ 08110CF2 + .incbin "baserom.gba", 0x110CF2, 0x000000C + +gUnk_08110CFE:: @ 08110CFE + .incbin "baserom.gba", 0x110CFE, 0x0000002 + +gUnk_08110D00:: @ 08110D00 + .incbin "baserom.gba", 0x110D00, 0x0000002 + +gUnk_08110D02:: @ 08110D02 + .incbin "baserom.gba", 0x110D02, 0x0000006 + +gUnk_08110D08:: @ 08110D08 + .incbin "baserom.gba", 0x110D08, 0x0000025 + +gUnk_08110D2D:: @ 08110D2D + .incbin "baserom.gba", 0x110D2D, 0x0000005 + +gUnk_08110D32:: @ 08110D32 + .incbin "baserom.gba", 0x110D32, 0x0000005 + +gUnk_08110D37:: @ 08110D37 + .incbin "baserom.gba", 0x110D37, 0x0000005 + +gUnk_08110D3C:: @ 08110D3C + .incbin "baserom.gba", 0x110D3C, 0x0000025 + +gUnk_08110D61:: @ 08110D61 + .incbin "baserom.gba", 0x110D61, 0x0000005 + +gUnk_08110D66:: @ 08110D66 + .incbin "baserom.gba", 0x110D66, 0x0000005 + +gUnk_08110D6B:: @ 08110D6B + .incbin "baserom.gba", 0x110D6B, 0x0000005 + +gUnk_08110D70:: @ 08110D70 + .incbin "baserom.gba", 0x110D70, 0x000001D + +gUnk_08110D8D:: @ 08110D8D + .incbin "baserom.gba", 0x110D8D, 0x0000005 + +gUnk_08110D92:: @ 08110D92 + .incbin "baserom.gba", 0x110D92, 0x0000005 + +gUnk_08110D97:: @ 08110D97 + .incbin "baserom.gba", 0x110D97, 0x0000005 + +gUnk_08110D9C:: @ 08110D9C + .incbin "baserom.gba", 0x110D9C, 0x000001D + +gUnk_08110DB9:: @ 08110DB9 + .incbin "baserom.gba", 0x110DB9, 0x0000005 + +gUnk_08110DBE:: @ 08110DBE + .incbin "baserom.gba", 0x110DBE, 0x0000005 + +gUnk_08110DC3:: @ 08110DC3 + .incbin "baserom.gba", 0x110DC3, 0x0000005 + +gUnk_08110DC8:: @ 08110DC8 + .incbin "baserom.gba", 0x110DC8, 0x0000038 + +gUnk_08110E00:: @ 08110E00 + .incbin "baserom.gba", 0x110E00, 0x0000006 + +gUnk_08110E06:: @ 08110E06 + .incbin "baserom.gba", 0x110E06, 0x0000003 + +gUnk_08110E09:: @ 08110E09 + .incbin "baserom.gba", 0x110E09, 0x0000005 + +gUnk_08110E0E:: @ 08110E0E + .incbin "baserom.gba", 0x110E0E, 0x0000002 + +gUnk_08110E10:: @ 08110E10 + .incbin "baserom.gba", 0x110E10, 0x000003C + +gUnk_08110E4C:: @ 08110E4C + .incbin "baserom.gba", 0x110E4C, 0x0000010 + +gUnk_08110E5C:: @ 08110E5C + .incbin "baserom.gba", 0x110E5C, 0x0000008 + +gUnk_08110E64:: @ 08110E64 + .incbin "baserom.gba", 0x110E64, 0x0000004 + +gUnk_08110E68:: @ 08110E68 + .incbin "baserom.gba", 0x110E68, 0x0000010 + +gUnk_08110E78:: @ 08110E78 + .incbin "baserom.gba", 0x110E78, 0x0000012 + +gUnk_08110E8A:: @ 08110E8A + .incbin "baserom.gba", 0x110E8A, 0x000000A + +gUnk_08110E94:: @ 08110E94 + .incbin "baserom.gba", 0x110E94, 0x0000008 + +gUnk_08110E9C:: @ 08110E9C + .incbin "baserom.gba", 0x110E9C, 0x0000005 + +gUnk_08110EA1:: @ 08110EA1 + .incbin "baserom.gba", 0x110EA1, 0x0000005 + +gUnk_08110EA6:: @ 08110EA6 + .incbin "baserom.gba", 0x110EA6, 0x0000006 + +gUnk_08110EAC:: @ 08110EAC + .incbin "baserom.gba", 0x110EAC, 0x0000044 + +gUnk_08110EF0:: @ 08110EF0 + .incbin "baserom.gba", 0x110EF0, 0x0000008 + +gUnk_08110EF8:: @ 08110EF8 + .incbin "baserom.gba", 0x110EF8, 0x0000002 + +gUnk_08110EFA:: @ 08110EFA + .incbin "baserom.gba", 0x110EFA, 0x000000F + +gUnk_08110F09:: @ 08110F09 + .incbin "baserom.gba", 0x110F09, 0x0000001 + +gUnk_08110F0A:: @ 08110F0A + .incbin "baserom.gba", 0x110F0A, 0x0000002 + +gUnk_08110F0C:: @ 08110F0C + .incbin "baserom.gba", 0x110F0C, 0x000000A + +gUnk_08110F16:: @ 08110F16 + .incbin "baserom.gba", 0x110F16, 0x00000EA + +gUnk_08111000:: @ 08111000 + .incbin "baserom.gba", 0x111000, 0x0000003 + +gUnk_08111003:: @ 08111003 + .incbin "baserom.gba", 0x111003, 0x000000A + +gUnk_0811100D:: @ 0811100D + .incbin "baserom.gba", 0x11100D, 0x00000CB + +gCat:: @ 081110D8 + .incbin "baserom.gba", 0x1110D8, 0x0000024 + +gUnk_081110FC:: @ 081110FC + .incbin "baserom.gba", 0x1110FC, 0x0000008 + +gUnk_08111104:: @ 08111104 + .incbin "baserom.gba", 0x111104, 0x0000008 + +gUnk_0811110C:: @ 0811110C + .incbin "baserom.gba", 0x11110C, 0x0000001 + +gUnk_0811110D:: @ 0811110D + .incbin "baserom.gba", 0x11110D, 0x0000001 + +gUnk_0811110E:: @ 0811110E + .incbin "baserom.gba", 0x11110E, 0x0000001 + +gUnk_0811110F:: @ 0811110F + .incbin "baserom.gba", 0x11110F, 0x0000002 + +gUnk_08111111:: @ 08111111 + .incbin "baserom.gba", 0x111111, 0x0000002 + +gUnk_08111113:: @ 08111113 + .incbin "baserom.gba", 0x111113, 0x0000001 + +gUnk_08111114:: @ 08111114 + .incbin "baserom.gba", 0x111114, 0x0000008 + +gUnk_0811111C:: @ 0811111C + .incbin "baserom.gba", 0x11111C, 0x0000008 + +gUnk_08111124:: @ 08111124 + .incbin "baserom.gba", 0x111124, 0x0000008 + +gUnk_0811112C:: @ 0811112C + .incbin "baserom.gba", 0x11112C, 0x0000008 + +gUnk_08111134:: @ 08111134 + .incbin "baserom.gba", 0x111134, 0x0000008 + +gUnk_0811113C:: @ 0811113C + .incbin "baserom.gba", 0x11113C, 0x0000008 + +gUnk_08111144:: @ 08111144 + .incbin "baserom.gba", 0x111144, 0x0000008 + +gUnk_0811114C:: @ 0811114C + .incbin "baserom.gba", 0x11114C, 0x0000008 + +gUnk_08111154:: @ 08111154 + .incbin "baserom.gba", 0x111154, 0x0000017 + +gUnk_0811116B:: @ 0811116B + .incbin "baserom.gba", 0x11116B, 0x0000009 + +gUnk_08111174:: @ 08111174 + .incbin "baserom.gba", 0x111174, 0x000003C + +gUnk_081111B0:: @ 081111B0 + .incbin "baserom.gba", 0x1111B0, 0x0000009 + +gUnk_081111B9:: @ 081111B9 + .incbin "baserom.gba", 0x1111B9, 0x0000003 + +gUnk_081111BC:: @ 081111BC + .incbin "baserom.gba", 0x1111BC, 0x0000006 + +gUnk_081111C2:: @ 081111C2 + .incbin "baserom.gba", 0x1111C2, 0x0000011 + +gUnk_081111D3:: @ 081111D3 + .incbin "baserom.gba", 0x1111D3, 0x0000018 + +gUnk_081111EB:: @ 081111EB + .incbin "baserom.gba", 0x1111EB, 0x0000010 + +gUnk_081111FB:: @ 081111FB + .incbin "baserom.gba", 0x1111FB, 0x0000009 + +gUnk_08111204:: @ 08111204 + .incbin "baserom.gba", 0x111204, 0x000000D + +gUnk_08111211:: @ 08111211 + .incbin "baserom.gba", 0x111211, 0x000000D + +gUnk_0811121E:: @ 0811121E + .incbin "baserom.gba", 0x11121E, 0x000000E + +gUnk_0811122C:: @ 0811122C + .incbin "baserom.gba", 0x11122C, 0x000000C + +gUnk_08111238:: @ 08111238 + .incbin "baserom.gba", 0x111238, 0x0000024 + +gUnk_0811125C:: @ 0811125C + .incbin "baserom.gba", 0x11125C, 0x0000028 + +gUnk_08111284:: @ 08111284 + .incbin "baserom.gba", 0x111284, 0x0000080 + +gUnk_08111304:: @ 08111304 + .incbin "baserom.gba", 0x111304, 0x0000009 + +gUnk_0811130D:: @ 0811130D + .incbin "baserom.gba", 0x11130D, 0x0000001 + +gUnk_0811130E:: @ 0811130E + .incbin "baserom.gba", 0x11130E, 0x0000001 + +gUnk_0811130F:: @ 0811130F + .incbin "baserom.gba", 0x11130F, 0x0000009 + +gUnk_08111318:: @ 08111318 + .incbin "baserom.gba", 0x111318, 0x0000006 + +gUnk_0811131E:: @ 0811131E + .incbin "baserom.gba", 0x11131E, 0x0000025 + +gUnk_08111343:: @ 08111343 + .incbin "baserom.gba", 0x111343, 0x0000015 + +gUnk_08111358:: @ 08111358 + .incbin "baserom.gba", 0x111358, 0x0000010 + +gUnk_08111368:: @ 08111368 + .incbin "baserom.gba", 0x111368, 0x000000C + +gUnk_08111374:: @ 08111374 + .incbin "baserom.gba", 0x111374, 0x0000006 + +gUnk_0811137A:: @ 0811137A + .incbin "baserom.gba", 0x11137A, 0x0000006 + +gUnk_08111380:: @ 08111380 + .incbin "baserom.gba", 0x111380, 0x0000005 + +gUnk_08111385:: @ 08111385 + .incbin "baserom.gba", 0x111385, 0x0000005 + +gUnk_0811138A:: @ 0811138A + .incbin "baserom.gba", 0x11138A, 0x0000005 + +gUnk_0811138F:: @ 0811138F + .incbin "baserom.gba", 0x11138F, 0x0000005 + +gUnk_08111394:: @ 08111394 + .incbin "baserom.gba", 0x111394, 0x0000025 + +gUnk_081113B9:: @ 081113B9 + .incbin "baserom.gba", 0x1113B9, 0x0000025 + +gUnk_081113DE:: @ 081113DE + .incbin "baserom.gba", 0x1113DE, 0x0000021 + +gUnk_081113FF:: @ 081113FF + .incbin "baserom.gba", 0x1113FF, 0x0000008 + +gUnk_08111407:: @ 08111407 + .incbin "baserom.gba", 0x111407, 0x0000005 + +gUnk_0811140C:: @ 0811140C + .incbin "baserom.gba", 0x11140C, 0x0000002 + +gUnk_0811140E:: @ 0811140E + .incbin "baserom.gba", 0x11140E, 0x0000005 + +gUnk_08111413:: @ 08111413 + .incbin "baserom.gba", 0x111413, 0x0000009 + +gUnk_0811141C:: @ 0811141C + .incbin "baserom.gba", 0x11141C, 0x0000008 + +gUnk_08111424:: @ 08111424 + .incbin "baserom.gba", 0x111424, 0x0000025 + +gUnk_08111449:: @ 08111449 + .incbin "baserom.gba", 0x111449, 0x0000071 + +gUnk_081114BA:: @ 081114BA + .incbin "baserom.gba", 0x1114BA, 0x0000029 + +gUnk_081114E3:: @ 081114E3 + .incbin "baserom.gba", 0x1114E3, 0x0000005 + +gUnk_081114E8:: @ 081114E8 + .incbin "baserom.gba", 0x1114E8, 0x0000013 + +gUnk_081114FB:: @ 081114FB + .incbin "baserom.gba", 0x1114FB, 0x0000016 + +gUnk_08111511:: @ 08111511 + .incbin "baserom.gba", 0x111511, 0x0000002 + +gUnk_08111513:: @ 08111513 + .incbin "baserom.gba", 0x111513, 0x0000001 + +gUnk_08111514:: @ 08111514 + .incbin "baserom.gba", 0x111514, 0x0000003 + +gUnk_08111517:: @ 08111517 + .incbin "baserom.gba", 0x111517, 0x0000003 + +gUnk_0811151A:: @ 0811151A + .incbin "baserom.gba", 0x11151A, 0x0000001 + +gUnk_0811151B:: @ 0811151B + .incbin "baserom.gba", 0x11151B, 0x0000001 + +gUnk_0811151C:: @ 0811151C + .incbin "baserom.gba", 0x11151C, 0x0000004 + +gUnk_08111520:: @ 08111520 + .incbin "baserom.gba", 0x111520, 0x0000007 + +gUnk_08111527:: @ 08111527 + .incbin "baserom.gba", 0x111527, 0x0000002 + +gUnk_08111529:: @ 08111529 + .incbin "baserom.gba", 0x111529, 0x0000007 + +gUnk_08111530:: @ 08111530 + .incbin "baserom.gba", 0x111530, 0x0000008 + +gUnk_08111538:: @ 08111538 + .incbin "baserom.gba", 0x111538, 0x0000006 + +gUnk_0811153E:: @ 0811153E + .incbin "baserom.gba", 0x11153E, 0x0000006 + +gUnk_08111544:: @ 08111544 + .incbin "baserom.gba", 0x111544, 0x0000005 + +gUnk_08111549:: @ 08111549 + .incbin "baserom.gba", 0x111549, 0x0000005 + +gUnk_0811154E:: @ 0811154E + .incbin "baserom.gba", 0x11154E, 0x0000005 + +gUnk_08111553:: @ 08111553 + .incbin "baserom.gba", 0x111553, 0x0000039 + +gUnk_0811158C:: @ 0811158C + .incbin "baserom.gba", 0x11158C, 0x0000008 + +gUnk_08111594:: @ 08111594 + .incbin "baserom.gba", 0x111594, 0x000002C + +gUnk_081115C0:: @ 081115C0 + .incbin "baserom.gba", 0x1115C0, 0x0000010 + +gUnk_081115D0:: @ 081115D0 + .incbin "baserom.gba", 0x1115D0, 0x000000C + +gUnk_081115DC:: @ 081115DC + .incbin "baserom.gba", 0x1115DC, 0x0000010 + +gUnk_081115EC:: @ 081115EC + .incbin "baserom.gba", 0x1115EC, 0x0000024 + +gUnk_08111610:: @ 08111610 + .incbin "baserom.gba", 0x111610, 0x0000008 + +gUnk_08111618:: @ 08111618 + .incbin "baserom.gba", 0x111618, 0x0000003 + +gUnk_0811161B:: @ 0811161B + .incbin "baserom.gba", 0x11161B, 0x0000005 + +gUnk_08111620:: @ 08111620 + .incbin "baserom.gba", 0x111620, 0x0000003 + +gUnk_08111623:: @ 08111623 + .incbin "baserom.gba", 0x111623, 0x0000008 + +gUnk_0811162B:: @ 0811162B + .incbin "baserom.gba", 0x11162B, 0x000000D + +gUnk_08111638:: @ 08111638 + .incbin "baserom.gba", 0x111638, 0x000002C + +gUnk_08111664:: @ 08111664 + .incbin "baserom.gba", 0x111664, 0x0000016 + +gUnk_0811167A:: @ 0811167A + .incbin "baserom.gba", 0x11167A, 0x0000016 + +gUnk_08111690:: @ 08111690 + .incbin "baserom.gba", 0x111690, 0x0000016 + +gUnk_081116A6:: @ 081116A6 + .incbin "baserom.gba", 0x1116A6, 0x0000016 + +gUnk_081116BC:: @ 081116BC + .incbin "baserom.gba", 0x1116BC, 0x0000016 + +gUnk_081116D2:: @ 081116D2 + .incbin "baserom.gba", 0x1116D2, 0x0000016 + +gUnk_081116E8:: @ 081116E8 + .incbin "baserom.gba", 0x1116E8, 0x0000016 + +gUnk_081116FE:: @ 081116FE + .incbin "baserom.gba", 0x1116FE, 0x0000016 + +gUnk_08111714:: @ 08111714 + .incbin "baserom.gba", 0x111714, 0x0000003 + +gUnk_08111717:: @ 08111717 + .incbin "baserom.gba", 0x111717, 0x0000001 + +gUnk_08111718:: @ 08111718 + .incbin "baserom.gba", 0x111718, 0x0000001 + +gUnk_08111719:: @ 08111719 + .incbin "baserom.gba", 0x111719, 0x0000001 + +gUnk_0811171A:: @ 0811171A + .incbin "baserom.gba", 0x11171A, 0x0000010 + +gUnk_0811172A:: @ 0811172A + .incbin "baserom.gba", 0x11172A, 0x0000016 + +gUnk_08111740:: @ 08111740 + .incbin "baserom.gba", 0x111740, 0x000002C + +gUnk_0811176C:: @ 0811176C + .incbin "baserom.gba", 0x11176C, 0x0000005 + +gUnk_08111771:: @ 08111771 + .incbin "baserom.gba", 0x111771, 0x0000005 + +gUnk_08111776:: @ 08111776 + .incbin "baserom.gba", 0x111776, 0x0000005 + +gUnk_0811177B:: @ 0811177B + .incbin "baserom.gba", 0x11177B, 0x000004D + +gUnk_081117C8:: @ 081117C8 + .incbin "baserom.gba", 0x1117C8, 0x0000031 + +gUnk_081117F9:: @ 081117F9 + .incbin "baserom.gba", 0x1117F9, 0x000001E + +gUnk_08111817:: @ 08111817 + .incbin "baserom.gba", 0x111817, 0x0000002 + +gUnk_08111819:: @ 08111819 + .incbin "baserom.gba", 0x111819, 0x0000002 + +gUnk_0811181B:: @ 0811181B + .incbin "baserom.gba", 0x11181B, 0x0000001 + +gUnk_0811181C:: @ 0811181C + .incbin "baserom.gba", 0x11181C, 0x0000001 + +gUnk_0811181D:: @ 0811181D + .incbin "baserom.gba", 0x11181D, 0x0000001 + +gUnk_0811181E:: @ 0811181E + .incbin "baserom.gba", 0x11181E, 0x0000004 + +gUnk_08111822:: @ 08111822 + .incbin "baserom.gba", 0x111822, 0x0000008 + +gUnk_0811182A:: @ 0811182A + .incbin "baserom.gba", 0x11182A, 0x0000031 + +gUnk_0811185B:: @ 0811185B + .incbin "baserom.gba", 0x11185B, 0x0000071 + +gUnk_081118CC:: @ 081118CC + .incbin "baserom.gba", 0x1118CC, 0x0000024 + +gUnk_081118F0:: @ 081118F0 + .incbin "baserom.gba", 0x1118F0, 0x0000024 + +gUnk_08111914:: @ 08111914 + .incbin "baserom.gba", 0x111914, 0x0000004 + +gUnk_08111918:: @ 08111918 + .incbin "baserom.gba", 0x111918, 0x0000001 + +gUnk_08111919:: @ 08111919 + .incbin "baserom.gba", 0x111919, 0x0000001 + +gUnk_0811191A:: @ 0811191A + .incbin "baserom.gba", 0x11191A, 0x0000001 + +gUnk_0811191B:: @ 0811191B + .incbin "baserom.gba", 0x11191B, 0x0000002 + +gUnk_0811191D:: @ 0811191D + .incbin "baserom.gba", 0x11191D, 0x0000001 + +gUnk_0811191E:: @ 0811191E + .incbin "baserom.gba", 0x11191E, 0x0000002 + +gUnk_08111920:: @ 08111920 + .incbin "baserom.gba", 0x111920, 0x0000002 + +gUnk_08111922:: @ 08111922 + .incbin "baserom.gba", 0x111922, 0x0000006 + +gUnk_08111928:: @ 08111928 + .incbin "baserom.gba", 0x111928, 0x0000010 + +gUnk_08111938:: @ 08111938 + .incbin "baserom.gba", 0x111938, 0x0000028 + +gUnk_08111960:: @ 08111960 + .incbin "baserom.gba", 0x111960, 0x0000005 + +gUnk_08111965:: @ 08111965 + .incbin "baserom.gba", 0x111965, 0x0000005 + +gUnk_0811196A:: @ 0811196A + .incbin "baserom.gba", 0x11196A, 0x0000005 + +gUnk_0811196F:: @ 0811196F + .incbin "baserom.gba", 0x11196F, 0x0000005 + +gUnk_08111974:: @ 08111974 + .incbin "baserom.gba", 0x111974, 0x0000011 + +gUnk_08111985:: @ 08111985 + .incbin "baserom.gba", 0x111985, 0x0000011 + +gUnk_08111996:: @ 08111996 + .incbin "baserom.gba", 0x111996, 0x0000011 + +gUnk_081119A7:: @ 081119A7 + .incbin "baserom.gba", 0x1119A7, 0x0000011 + +gUnk_081119B8:: @ 081119B8 + .incbin "baserom.gba", 0x1119B8, 0x000000C + +gUnk_081119C4:: @ 081119C4 + .incbin "baserom.gba", 0x1119C4, 0x000000C + +gUnk_081119D0:: @ 081119D0 + .incbin "baserom.gba", 0x1119D0, 0x000000C + +gUnk_081119DC:: @ 081119DC + .incbin "baserom.gba", 0x1119DC, 0x000000C + +gUnk_081119E8:: @ 081119E8 + .incbin "baserom.gba", 0x1119E8, 0x0000009 + +gUnk_081119F1:: @ 081119F1 + .incbin "baserom.gba", 0x1119F1, 0x0000005 + +gUnk_081119F6:: @ 081119F6 + .incbin "baserom.gba", 0x1119F6, 0x0000004 + +gUnk_081119FA:: @ 081119FA + .incbin "baserom.gba", 0x1119FA, 0x0000009 + +gUnk_08111A03:: @ 08111A03 + .incbin "baserom.gba", 0x111A03, 0x0000009 + +gUnk_08111A0C:: @ 08111A0C + .incbin "baserom.gba", 0x111A0C, 0x0000008 + +gUnk_08111A14:: @ 08111A14 + .incbin "baserom.gba", 0x111A14, 0x0000002 + +gUnk_08111A16:: @ 08111A16 + .incbin "baserom.gba", 0x111A16, 0x0000002 + +gUnk_08111A18:: @ 08111A18 + .incbin "baserom.gba", 0x111A18, 0x0000001 + +gUnk_08111A19:: @ 08111A19 + .incbin "baserom.gba", 0x111A19, 0x0000003 + +gUnk_08111A1C:: @ 08111A1C + .incbin "baserom.gba", 0x111A1C, 0x0000003 + +gUnk_08111A1F:: @ 08111A1F + .incbin "baserom.gba", 0x111A1F, 0x0000002 + +gUnk_08111A21:: @ 08111A21 + .incbin "baserom.gba", 0x111A21, 0x0000001 + +gUnk_08111A22:: @ 08111A22 + .incbin "baserom.gba", 0x111A22, 0x0000002 + +gUnk_08111A24:: @ 08111A24 + .incbin "baserom.gba", 0x111A24, 0x0000008 + +gUnk_08111A2C:: @ 08111A2C + .incbin "baserom.gba", 0x111A2C, 0x0000054 + +gUnk_08111A80:: @ 08111A80 + .incbin "baserom.gba", 0x111A80, 0x000000C + +gUnk_08111A8C:: @ 08111A8C + .incbin "baserom.gba", 0x111A8C, 0x0000008 + +gUnk_08111A94:: @ 08111A94 + .incbin "baserom.gba", 0x111A94, 0x0000030 + +gUnk_08111AC4:: @ 08111AC4 + .incbin "baserom.gba", 0x111AC4, 0x0000005 + +gUnk_08111AC9:: @ 08111AC9 + .incbin "baserom.gba", 0x111AC9, 0x0000005 + +gUnk_08111ACE:: @ 08111ACE + .incbin "baserom.gba", 0x111ACE, 0x0000005 + +gUnk_08111AD3:: @ 08111AD3 + .incbin "baserom.gba", 0x111AD3, 0x0000005 + +gUnk_08111AD8:: @ 08111AD8 + .incbin "baserom.gba", 0x111AD8, 0x0000021 + +gUnk_08111AF9:: @ 08111AF9 + .incbin "baserom.gba", 0x111AF9, 0x0000021 + +gUnk_08111B1A:: @ 08111B1A + .incbin "baserom.gba", 0x111B1A, 0x0000005 + +gUnk_08111B1F:: @ 08111B1F + .incbin "baserom.gba", 0x111B1F, 0x0000007 + +gUnk_08111B26:: @ 08111B26 + .incbin "baserom.gba", 0x111B26, 0x0000015 + +gUnk_08111B3B:: @ 08111B3B + .incbin "baserom.gba", 0x111B3B, 0x000000B + +gUnk_08111B46:: @ 08111B46 + .incbin "baserom.gba", 0x111B46, 0x000001A + +gUnk_08111B60:: @ 08111B60 + .incbin "baserom.gba", 0x111B60, 0x0000023 + +gUnk_08111B83:: @ 08111B83 + .incbin "baserom.gba", 0x111B83, 0x0000005 + +gUnk_08111B88:: @ 08111B88 + .incbin "baserom.gba", 0x111B88, 0x0000010 + +gUnk_08111B98:: @ 08111B98 + .incbin "baserom.gba", 0x111B98, 0x0000008 + +gUnk_08111BA0:: @ 08111BA0 + .incbin "baserom.gba", 0x111BA0, 0x000001E + +gUnk_08111BBE:: @ 08111BBE + .incbin "baserom.gba", 0x111BBE, 0x0000005 + +gUnk_08111BC3:: @ 08111BC3 + .incbin "baserom.gba", 0x111BC3, 0x0000005 + +gUnk_08111BC8:: @ 08111BC8 + .incbin "baserom.gba", 0x111BC8, 0x0000005 + +gUnk_08111BCD:: @ 08111BCD + .incbin "baserom.gba", 0x111BCD, 0x0000025 + +gUnk_08111BF2:: @ 08111BF2 + .incbin "baserom.gba", 0x111BF2, 0x0000026 + +gUnk_08111C18:: @ 08111C18 + .incbin "baserom.gba", 0x111C18, 0x0000002 + +gUnk_08111C1A:: @ 08111C1A + .incbin "baserom.gba", 0x111C1A, 0x0000002 + +gUnk_08111C1C:: @ 08111C1C + .incbin "baserom.gba", 0x111C1C, 0x0000004 + +gUnk_08111C20:: @ 08111C20 + .incbin "baserom.gba", 0x111C20, 0x0000001 + +gUnk_08111C21:: @ 08111C21 + .incbin "baserom.gba", 0x111C21, 0x0000002 + +gUnk_08111C23:: @ 08111C23 + .incbin "baserom.gba", 0x111C23, 0x0000019 + +gUnk_08111C3C:: @ 08111C3C + .incbin "baserom.gba", 0x111C3C, 0x000000C + +gUnk_08111C48:: @ 08111C48 + .incbin "baserom.gba", 0x111C48, 0x0000008 + +gUnk_08111C50:: @ 08111C50 + .incbin "baserom.gba", 0x111C50, 0x000000C + +gUnk_08111C5C:: @ 08111C5C + .incbin "baserom.gba", 0x111C5C, 0x0000018 + +gUnk_08111C74:: @ 08111C74 + .incbin "baserom.gba", 0x111C74, 0x0000010 + +gUnk_08111C84:: @ 08111C84 + .incbin "baserom.gba", 0x111C84, 0x0000008 + +gUnk_08111C8C:: @ 08111C8C + .incbin "baserom.gba", 0x111C8C, 0x0000010 + +gUnk_08111C9C:: @ 08111C9C + .incbin "baserom.gba", 0x111C9C, 0x000000C + +gUnk_08111CA8:: @ 08111CA8 + .incbin "baserom.gba", 0x111CA8, 0x000000C + +gUnk_08111CB4:: @ 08111CB4 + .incbin "baserom.gba", 0x111CB4, 0x0000004 + +gUnk_08111CB8:: @ 08111CB8 + .incbin "baserom.gba", 0x111CB8, 0x0000004 + +gUnk_08111CBC:: @ 08111CBC + .incbin "baserom.gba", 0x111CBC, 0x0000005 + +gUnk_08111CC1:: @ 08111CC1 + .incbin "baserom.gba", 0x111CC1, 0x0000005 + +gUnk_08111CC6:: @ 08111CC6 + .incbin "baserom.gba", 0x111CC6, 0x0000005 + +gUnk_08111CCB:: @ 08111CCB + .incbin "baserom.gba", 0x111CCB, 0x0000005 + +gUnk_08111CD0:: @ 08111CD0 + .incbin "baserom.gba", 0x111CD0, 0x0000019 + +gUnk_08111CE9:: @ 08111CE9 + .incbin "baserom.gba", 0x111CE9, 0x0000019 + +gUnk_08111D02:: @ 08111D02 + .incbin "baserom.gba", 0x111D02, 0x0000015 + +gUnk_08111D17:: @ 08111D17 + .incbin "baserom.gba", 0x111D17, 0x0000004 + +gUnk_08111D1B:: @ 08111D1B + .incbin "baserom.gba", 0x111D1B, 0x000000F + +gUnk_08111D2A:: @ 08111D2A + .incbin "baserom.gba", 0x111D2A, 0x0000001 + +gUnk_08111D2B:: @ 08111D2B + .incbin "baserom.gba", 0x111D2B, 0x0000009 + +gUnk_08111D34:: @ 08111D34 + .incbin "baserom.gba", 0x111D34, 0x0000024 + +gUnk_08111D58:: @ 08111D58 + .incbin "baserom.gba", 0x111D58, 0x0000030 + +gUnk_08111D88:: @ 08111D88 + .incbin "baserom.gba", 0x111D88, 0x0000020 + +gUnk_08111DA8:: @ 08111DA8 + .incbin "baserom.gba", 0x111DA8, 0x0000008 + +gUnk_08111DB0:: @ 08111DB0 + .incbin "baserom.gba", 0x111DB0, 0x0000066 + +gUnk_08111E16:: @ 08111E16 + .incbin "baserom.gba", 0x111E16, 0x000001A + +gUnk_08111E30:: @ 08111E30 + .incbin "baserom.gba", 0x111E30, 0x0000004 + +gUnk_08111E34:: @ 08111E34 + .incbin "baserom.gba", 0x111E34, 0x00000AD + +gUnk_08111EE1:: @ 08111EE1 + .incbin "baserom.gba", 0x111EE1, 0x0000047 + +gUnk_08111F28:: @ 08111F28 + .incbin "baserom.gba", 0x111F28, 0x0000008 + +gUnk_08111F30:: @ 08111F30 + .incbin "baserom.gba", 0x111F30, 0x0000044 + +gUnk_08111F74:: @ 08111F74 + .incbin "baserom.gba", 0x111F74, 0x0000064 + +gUnk_08111FD8:: @ 08111FD8 + .incbin "baserom.gba", 0x111FD8, 0x000000A + +gUnk_08111FE2:: @ 08111FE2 + .incbin "baserom.gba", 0x111FE2, 0x0000005 + +gUnk_08111FE7:: @ 08111FE7 + .incbin "baserom.gba", 0x111FE7, 0x0000005 + +gUnk_08111FEC:: @ 08111FEC + .incbin "baserom.gba", 0x111FEC, 0x0000005 + +gUnk_08111FF1:: @ 08111FF1 + .incbin "baserom.gba", 0x111FF1, 0x0000005 + +gUnk_08111FF6:: @ 08111FF6 + .incbin "baserom.gba", 0x111FF6, 0x0000011 + +gUnk_08112007:: @ 08112007 + .incbin "baserom.gba", 0x112007, 0x0000007 + +gUnk_0811200E:: @ 0811200E + .incbin "baserom.gba", 0x11200E, 0x000000A + +gUnk_08112018:: @ 08112018 + .incbin "baserom.gba", 0x112018, 0x0000005 + +gUnk_0811201D:: @ 0811201D + .incbin "baserom.gba", 0x11201D, 0x0000005 + +gUnk_08112022:: @ 08112022 + .incbin "baserom.gba", 0x112022, 0x0000005 + +gUnk_08112027:: @ 08112027 + .incbin "baserom.gba", 0x112027, 0x0000005 + +gUnk_0811202C:: @ 0811202C + .incbin "baserom.gba", 0x11202C, 0x0000005 + +gUnk_08112031:: @ 08112031 + .incbin "baserom.gba", 0x112031, 0x0000005 + +gUnk_08112036:: @ 08112036 + .incbin "baserom.gba", 0x112036, 0x0000005 + +gUnk_0811203B:: @ 0811203B + .incbin "baserom.gba", 0x11203B, 0x0000005 + +gUnk_08112040:: @ 08112040 + .incbin "baserom.gba", 0x112040, 0x0000005 + +gUnk_08112045:: @ 08112045 + .incbin "baserom.gba", 0x112045, 0x0000005 + +gUnk_0811204A:: @ 0811204A + .incbin "baserom.gba", 0x11204A, 0x0000005 + +gUnk_0811204F:: @ 0811204F + .incbin "baserom.gba", 0x11204F, 0x0000005 + +gUnk_08112054:: @ 08112054 + .incbin "baserom.gba", 0x112054, 0x0000005 + +gUnk_08112059:: @ 08112059 + .incbin "baserom.gba", 0x112059, 0x0000005 + +gUnk_0811205E:: @ 0811205E + .incbin "baserom.gba", 0x11205E, 0x0000005 + +gUnk_08112063:: @ 08112063 + .incbin "baserom.gba", 0x112063, 0x0000005 + +gUnk_08112068:: @ 08112068 + .incbin "baserom.gba", 0x112068, 0x000000D + +gUnk_08112075:: @ 08112075 + .incbin "baserom.gba", 0x112075, 0x000000D + +gUnk_08112082:: @ 08112082 + .incbin "baserom.gba", 0x112082, 0x000000D + +gUnk_0811208F:: @ 0811208F + .incbin "baserom.gba", 0x11208F, 0x000000D + +gUnk_0811209C:: @ 0811209C + .incbin "baserom.gba", 0x11209C, 0x0000011 + +gUnk_081120AD:: @ 081120AD + .incbin "baserom.gba", 0x1120AD, 0x0000011 + +gUnk_081120BE:: @ 081120BE + .incbin "baserom.gba", 0x1120BE, 0x0000011 + +gUnk_081120CF:: @ 081120CF + .incbin "baserom.gba", 0x1120CF, 0x0000011 + +gUnk_081120E0:: @ 081120E0 + .incbin "baserom.gba", 0x1120E0, 0x0000020 + +gUnk_08112100:: @ 08112100 + .incbin "baserom.gba", 0x112100, 0x0000021 + +gUnk_08112121:: @ 08112121 + .incbin "baserom.gba", 0x112121, 0x000000A + +gUnk_0811212B:: @ 0811212B + .incbin "baserom.gba", 0x11212B, 0x0000089 + +gUnk_081121B4:: @ 081121B4 + .incbin "baserom.gba", 0x1121B4, 0x0000010 + +gUnk_081121C4:: @ 081121C4 + .incbin "baserom.gba", 0x1121C4, 0x0000010 + +gUnk_081121D4:: @ 081121D4 + .incbin "baserom.gba", 0x1121D4, 0x0000008 + +gUnk_081121DC:: @ 081121DC + .incbin "baserom.gba", 0x1121DC, 0x0000008 + +gUnk_081121E4:: @ 081121E4 + .incbin "baserom.gba", 0x1121E4, 0x0000020 + +gUnk_08112204:: @ 08112204 + .incbin "baserom.gba", 0x112204, 0x0000004 + +gUnk_08112208:: @ 08112208 + .incbin "baserom.gba", 0x112208, 0x0000024 + +gUnk_0811222C:: @ 0811222C + .incbin "baserom.gba", 0x11222C, 0x000000C + +gUnk_08112238:: @ 08112238 + .incbin "baserom.gba", 0x112238, 0x000000B + +gUnk_08112243:: @ 08112243 + .incbin "baserom.gba", 0x112243, 0x000001D + +gUnk_08112260:: @ 08112260 + .incbin "baserom.gba", 0x112260, 0x0000018 + +gUnk_08112278:: @ 08112278 + .incbin "baserom.gba", 0x112278, 0x000001C + +gUnk_08112294:: @ 08112294 + .incbin "baserom.gba", 0x112294, 0x0000008 + +gUnk_0811229C:: @ 0811229C + .incbin "baserom.gba", 0x11229C, 0x0000004 + +gUnk_081122A0:: @ 081122A0 + .incbin "baserom.gba", 0x1122A0, 0x0000008 + +gUnk_081122A8:: @ 081122A8 + .incbin "baserom.gba", 0x1122A8, 0x0000008 + +gUnk_081122B0:: @ 081122B0 + .incbin "baserom.gba", 0x1122B0, 0x0000008 + +gUnk_081122B8:: @ 081122B8 + .incbin "baserom.gba", 0x1122B8, 0x0000008 + +gUnk_081122C0:: @ 081122C0 + .incbin "baserom.gba", 0x1122C0, 0x0000009 + +gUnk_081122C9:: @ 081122C9 + .incbin "baserom.gba", 0x1122C9, 0x0000009 + +gUnk_081122D2:: @ 081122D2 + .incbin "baserom.gba", 0x1122D2, 0x0000009 + +gUnk_081122DB:: @ 081122DB + .incbin "baserom.gba", 0x1122DB, 0x0000025 + +gUnk_08112300:: @ 08112300 + .incbin "baserom.gba", 0x112300, 0x0000025 + +gUnk_08112325:: @ 08112325 + .incbin "baserom.gba", 0x112325, 0x0000025 + +gUnk_0811234A:: @ 0811234A + .incbin "baserom.gba", 0x11234A, 0x000003D + +gUnk_08112387:: @ 08112387 + .incbin "baserom.gba", 0x112387, 0x0000019 + +gUnk_081123A0:: @ 081123A0 + .incbin "baserom.gba", 0x1123A0, 0x0000029 + +gUnk_081123C9:: @ 081123C9 + .incbin "baserom.gba", 0x1123C9, 0x0000025 + +gUnk_081123EE:: @ 081123EE + .incbin "baserom.gba", 0x1123EE, 0x0000079 + +gUnk_08112467:: @ 08112467 + .incbin "baserom.gba", 0x112467, 0x0000032 + +gUnk_08112499:: @ 08112499 + .incbin "baserom.gba", 0x112499, 0x0000013 + +gUnk_081124AC:: @ 081124AC + .incbin "baserom.gba", 0x1124AC, 0x0000009 + +gUnk_081124B5:: @ 081124B5 + .incbin "baserom.gba", 0x1124B5, 0x000001D + +gUnk_081124D2:: @ 081124D2 + .incbin "baserom.gba", 0x1124D2, 0x0000019 + +gUnk_081124EB:: @ 081124EB + .incbin "baserom.gba", 0x1124EB, 0x0000014 + +gUnk_081124FF:: @ 081124FF + .incbin "baserom.gba", 0x1124FF, 0x0000025 + +gUnk_08112524:: @ 08112524 + .incbin "baserom.gba", 0x112524, 0x0000019 + +gUnk_0811253D:: @ 0811253D + .incbin "baserom.gba", 0x11253D, 0x0000045 + +gUnk_08112582:: @ 08112582 + .incbin "baserom.gba", 0x112582, 0x0000016 + +gUnk_08112598:: @ 08112598 + .incbin "baserom.gba", 0x112598, 0x000005C + +gUnk_081125F4:: @ 081125F4 + .incbin "baserom.gba", 0x1125F4, 0x000000C + +gUnk_08112600:: @ 08112600 + .incbin "baserom.gba", 0x112600, 0x0000074 + +gUnk_08112674:: @ 08112674 + .incbin "baserom.gba", 0x112674, 0x0000060 + +gUnk_081126D4:: @ 081126D4 + .incbin "baserom.gba", 0x1126D4, 0x0000010 + +gUnk_081126E4:: @ 081126E4 + .incbin "baserom.gba", 0x1126E4, 0x0000004 + +gUnk_081126E8:: @ 081126E8 + .incbin "baserom.gba", 0x1126E8, 0x0000008 + +gUnk_081126F0:: @ 081126F0 + .incbin "baserom.gba", 0x1126F0, 0x000024C + +gUnk_0811293C:: @ 0811293C + .incbin "baserom.gba", 0x11293C, 0x0000001 + +gUnk_0811293D:: @ 0811293D + .incbin "baserom.gba", 0x11293D, 0x00002B3 + +gUnk_08112BF0:: @ 08112BF0 + .incbin "baserom.gba", 0x112BF0, 0x0000050 + +gUnk_08112C40:: @ 08112C40 + .incbin "baserom.gba", 0x112C40, 0x000000A + +gUnk_08112C4A:: @ 08112C4A + .incbin "baserom.gba", 0x112C4A, 0x0000006 + +gUnk_08112C50:: @ 08112C50 + .incbin "baserom.gba", 0x112C50, 0x000000C + +gUnk_08112C5C:: @ 08112C5C + .incbin "baserom.gba", 0x112C5C, 0x0000004 + +gUnk_08112C60:: @ 08112C60 + .incbin "baserom.gba", 0x112C60, 0x0000008 + +gUnk_08112C68:: @ 08112C68 + .incbin "baserom.gba", 0x112C68, 0x0000005 + +gUnk_08112C6D:: @ 08112C6D + .incbin "baserom.gba", 0x112C6D, 0x0000005 + +gUnk_08112C72:: @ 08112C72 + .incbin "baserom.gba", 0x112C72, 0x0000005 + +gUnk_08112C77:: @ 08112C77 + .incbin "baserom.gba", 0x112C77, 0x0000005 + +gUnk_08112C7C:: @ 08112C7C + .incbin "baserom.gba", 0x112C7C, 0x0000021 + +gUnk_08112C9D:: @ 08112C9D + .incbin "baserom.gba", 0x112C9D, 0x0000021 + +gUnk_08112CBE:: @ 08112CBE + .incbin "baserom.gba", 0x112CBE, 0x0000021 + +gUnk_08112CDF:: @ 08112CDF + .incbin "baserom.gba", 0x112CDF, 0x0000021 + +gUnk_08112D00:: @ 08112D00 + .incbin "baserom.gba", 0x112D00, 0x0000005 + +gUnk_08112D05:: @ 08112D05 + .incbin "baserom.gba", 0x112D05, 0x0000005 + +gUnk_08112D0A:: @ 08112D0A + .incbin "baserom.gba", 0x112D0A, 0x0000005 + +gUnk_08112D0F:: @ 08112D0F + .incbin "baserom.gba", 0x112D0F, 0x0000005 + +gUnk_08112D14:: @ 08112D14 + .incbin "baserom.gba", 0x112D14, 0x0000034 + +gUnk_08112D48:: @ 08112D48 + .incbin "baserom.gba", 0x112D48, 0x0000008 + +gUnk_08112D50:: @ 08112D50 + .incbin "baserom.gba", 0x112D50, 0x000000A + +gUnk_08112D5A:: @ 08112D5A + .incbin "baserom.gba", 0x112D5A, 0x0000015 + +gUnk_08112D6F:: @ 08112D6F + .incbin "baserom.gba", 0x112D6F, 0x0000009 + +gUnk_08112D78:: @ 08112D78 + .incbin "baserom.gba", 0x112D78, 0x0000011 + +gUnk_08112D89:: @ 08112D89 + .incbin "baserom.gba", 0x112D89, 0x0000011 + +gUnk_08112D9A:: @ 08112D9A + .incbin "baserom.gba", 0x112D9A, 0x000004D + +gUnk_08112DE7:: @ 08112DE7 + .incbin "baserom.gba", 0x112DE7, 0x0000005 + +gUnk_08112DEC:: @ 08112DEC + .incbin "baserom.gba", 0x112DEC, 0x0000030 + +gUnk_08112E1C:: @ 08112E1C + .incbin "baserom.gba", 0x112E1C, 0x0000010 + +gUnk_08112E2C:: @ 08112E2C + .incbin "baserom.gba", 0x112E2C, 0x0000028 + +gUnk_08112E54:: @ 08112E54 + .incbin "baserom.gba", 0x112E54, 0x0000008 + +gUnk_08112E5C:: @ 08112E5C + .incbin "baserom.gba", 0x112E5C, 0x0000049 + +gUnk_08112EA5:: @ 08112EA5 + .incbin "baserom.gba", 0x112EA5, 0x0000005 + +gUnk_08112EAA:: @ 08112EAA + .incbin "baserom.gba", 0x112EAA, 0x0000005 + +gUnk_08112EAF:: @ 08112EAF + .incbin "baserom.gba", 0x112EAF, 0x0000005 + +gUnk_08112EB4:: @ 08112EB4 + .incbin "baserom.gba", 0x112EB4, 0x0000071 + +gUnk_08112F25:: @ 08112F25 + .incbin "baserom.gba", 0x112F25, 0x0000005 + +gUnk_08112F2A:: @ 08112F2A + .incbin "baserom.gba", 0x112F2A, 0x0000005 + +gUnk_08112F2F:: @ 08112F2F + .incbin "baserom.gba", 0x112F2F, 0x0000005 + +gUnk_08112F34:: @ 08112F34 + .incbin "baserom.gba", 0x112F34, 0x0000044 + +gUnk_08112F78:: @ 08112F78 + .incbin "baserom.gba", 0x112F78, 0x0000008 + +gUnk_08112F80:: @ 08112F80 + .incbin "baserom.gba", 0x112F80, 0x0000008 + +gUnk_08112F88:: @ 08112F88 + .incbin "baserom.gba", 0x112F88, 0x000003C + +gUnk_08112FC4:: @ 08112FC4 + .incbin "baserom.gba", 0x112FC4, 0x0000011 + +gUnk_08112FD5:: @ 08112FD5 + .incbin "baserom.gba", 0x112FD5, 0x000001F + +gUnk_08112FF4:: @ 08112FF4 + .incbin "baserom.gba", 0x112FF4, 0x0000010 + +gUnk_08113004:: @ 08113004 + .incbin "baserom.gba", 0x113004, 0x0000020 + +gUnk_08113024:: @ 08113024 + .incbin "baserom.gba", 0x113024, 0x0000008 + +gUnk_0811302C:: @ 0811302C + .incbin "baserom.gba", 0x11302C, 0x0000044 + +gUnk_08113070:: @ 08113070 + .incbin "baserom.gba", 0x113070, 0x0000008 + +gUnk_08113078:: @ 08113078 + .incbin "baserom.gba", 0x113078, 0x0000006 + +gUnk_0811307E:: @ 0811307E + .incbin "baserom.gba", 0x11307E, 0x0000005 + +gUnk_08113083:: @ 08113083 + .incbin "baserom.gba", 0x113083, 0x000000D + +gUnk_08113090:: @ 08113090 + .incbin "baserom.gba", 0x113090, 0x0000010 + +gUnk_081130A0:: @ 081130A0 + .incbin "baserom.gba", 0x1130A0, 0x0000038 + +gUnk_081130D8:: @ 081130D8 + .incbin "baserom.gba", 0x1130D8, 0x0000005 + +gUnk_081130DD:: @ 081130DD + .incbin "baserom.gba", 0x1130DD, 0x000000D + +gUnk_081130EA:: @ 081130EA + .incbin "baserom.gba", 0x1130EA, 0x000000D + +gUnk_081130F7:: @ 081130F7 + .incbin "baserom.gba", 0x1130F7, 0x000000B + +gUnk_08113102:: @ 08113102 + .incbin "baserom.gba", 0x113102, 0x0000006 + +gUnk_08113108:: @ 08113108 + .incbin "baserom.gba", 0x113108, 0x0000038 + +gUnk_08113140:: @ 08113140 + .incbin "baserom.gba", 0x113140, 0x0000018 + +gUnk_08113158:: @ 08113158 + .incbin "baserom.gba", 0x113158, 0x0000010 + +gUnk_08113168:: @ 08113168 + .incbin "baserom.gba", 0x113168, 0x0000025 + +gUnk_0811318D:: @ 0811318D + .incbin "baserom.gba", 0x11318D, 0x0000005 + +gUnk_08113192:: @ 08113192 + .incbin "baserom.gba", 0x113192, 0x0000005 + +gUnk_08113197:: @ 08113197 + .incbin "baserom.gba", 0x113197, 0x0000005 + +gUnk_0811319C:: @ 0811319C + .incbin "baserom.gba", 0x11319C, 0x0000044 + +gUnk_081131E0:: @ 081131E0 + .incbin "baserom.gba", 0x1131E0, 0x0000025 + +gUnk_08113205:: @ 08113205 + .incbin "baserom.gba", 0x113205, 0x0000005 + +gUnk_0811320A:: @ 0811320A + .incbin "baserom.gba", 0x11320A, 0x0000005 + +gUnk_0811320F:: @ 0811320F + .incbin "baserom.gba", 0x11320F, 0x0000005 + +gUnk_08113214:: @ 08113214 + .incbin "baserom.gba", 0x113214, 0x0000044 + +gUnk_08113258:: @ 08113258 + .incbin "baserom.gba", 0x113258, 0x0000005 + +gUnk_0811325D:: @ 0811325D + .incbin "baserom.gba", 0x11325D, 0x0000011 + +gUnk_0811326E:: @ 0811326E + .incbin "baserom.gba", 0x11326E, 0x0000031 + +gUnk_0811329F:: @ 0811329F + .incbin "baserom.gba", 0x11329F, 0x0000045 + +gUnk_081132E4:: @ 081132E4 + .incbin "baserom.gba", 0x1132E4, 0x0000030 + +gUnk_08113314:: @ 08113314 + .incbin "baserom.gba", 0x113314, 0x0000030 + +gUnk_08113344:: @ 08113344 + .incbin "baserom.gba", 0x113344, 0x0000006 + +gUnk_0811334A:: @ 0811334A + .incbin "baserom.gba", 0x11334A, 0x0000006 + +gUnk_08113350:: @ 08113350 + .incbin "baserom.gba", 0x113350, 0x0000019 + +gUnk_08113369:: @ 08113369 + .incbin "baserom.gba", 0x113369, 0x0000005 + +gUnk_0811336E:: @ 0811336E + .incbin "baserom.gba", 0x11336E, 0x0000009 + +gUnk_08113377:: @ 08113377 + .incbin "baserom.gba", 0x113377, 0x0000009 + +gUnk_08113380:: @ 08113380 + .incbin "baserom.gba", 0x113380, 0x0000024 + +gUnk_081133A4:: @ 081133A4 + .incbin "baserom.gba", 0x1133A4, 0x0000010 + +gUnk_081133B4:: @ 081133B4 + .incbin "baserom.gba", 0x1133B4, 0x0000004 + +gUnk_081133B8:: @ 081133B8 + .incbin "baserom.gba", 0x1133B8, 0x0000031 + +gUnk_081133E9:: @ 081133E9 + .incbin "baserom.gba", 0x1133E9, 0x0000011 + +gUnk_081133FA:: @ 081133FA + .incbin "baserom.gba", 0x1133FA, 0x0000019 + +gUnk_08113413:: @ 08113413 + .incbin "baserom.gba", 0x113413, 0x0000021 + +gUnk_08113434:: @ 08113434 + .incbin "baserom.gba", 0x113434, 0x0000009 + +gUnk_0811343D:: @ 0811343D + .incbin "baserom.gba", 0x11343D, 0x0000002 + +gUnk_0811343F:: @ 0811343F + .incbin "baserom.gba", 0x11343F, 0x0000007 + +gUnk_08113446:: @ 08113446 + .incbin "baserom.gba", 0x113446, 0x0000009 + +gUnk_0811344F:: @ 0811344F + .incbin "baserom.gba", 0x11344F, 0x0000041 + +gUnk_08113490:: @ 08113490 + .incbin "baserom.gba", 0x113490, 0x0000044 + +gUnk_081134D4:: @ 081134D4 + .incbin "baserom.gba", 0x1134D4, 0x0000034 + +gUnk_08113508:: @ 08113508 + .incbin "baserom.gba", 0x113508, 0x0000024 + +gUnk_0811352C:: @ 0811352C + .incbin "baserom.gba", 0x11352C, 0x0000021 + +gUnk_0811354D:: @ 0811354D + .incbin "baserom.gba", 0x11354D, 0x0000019 + +gUnk_08113566:: @ 08113566 + .incbin "baserom.gba", 0x113566, 0x0000008 + +gUnk_0811356E:: @ 0811356E + .incbin "baserom.gba", 0x11356E, 0x0000021 + +gUnk_0811358F:: @ 0811358F + .incbin "baserom.gba", 0x11358F, 0x0000021 + +gUnk_081135B0:: @ 081135B0 + .incbin "baserom.gba", 0x1135B0, 0x000002D + +gUnk_081135DD:: @ 081135DD + .incbin "baserom.gba", 0x1135DD, 0x0000005 + +gUnk_081135E2:: @ 081135E2 + .incbin "baserom.gba", 0x1135E2, 0x0000006 + +gUnk_081135E8:: @ 081135E8 + .incbin "baserom.gba", 0x1135E8, 0x0000044 + +gUnk_0811362C:: @ 0811362C + .incbin "baserom.gba", 0x11362C, 0x0000005 + +gUnk_08113631:: @ 08113631 + .incbin "baserom.gba", 0x113631, 0x0000005 + +gUnk_08113636:: @ 08113636 + .incbin "baserom.gba", 0x113636, 0x0000005 + +gUnk_0811363B:: @ 0811363B + .incbin "baserom.gba", 0x11363B, 0x0000005 + +gUnk_08113640:: @ 08113640 + .incbin "baserom.gba", 0x113640, 0x0000005 + +gUnk_08113645:: @ 08113645 + .incbin "baserom.gba", 0x113645, 0x0000005 + +gUnk_0811364A:: @ 0811364A + .incbin "baserom.gba", 0x11364A, 0x0000066 + +gUnk_081136B0:: @ 081136B0 + .incbin "baserom.gba", 0x1136B0, 0x0000028 + +gUnk_081136D8:: @ 081136D8 + .incbin "baserom.gba", 0x1136D8, 0x0000011 + +gUnk_081136E9:: @ 081136E9 + .incbin "baserom.gba", 0x1136E9, 0x0000011 + +gUnk_081136FA:: @ 081136FA + .incbin "baserom.gba", 0x1136FA, 0x0000011 + +gUnk_0811370B:: @ 0811370B + .incbin "baserom.gba", 0x11370B, 0x0000011 + +gUnk_0811371C:: @ 0811371C + .incbin "baserom.gba", 0x11371C, 0x0000005 + +gUnk_08113721:: @ 08113721 + .incbin "baserom.gba", 0x113721, 0x0000005 + +gUnk_08113726:: @ 08113726 + .incbin "baserom.gba", 0x113726, 0x0000005 + +gUnk_0811372B:: @ 0811372B + .incbin "baserom.gba", 0x11372B, 0x0000005 + +gUnk_08113730:: @ 08113730 + .incbin "baserom.gba", 0x113730, 0x0000024 + +gUnk_08113754:: @ 08113754 + .incbin "baserom.gba", 0x113754, 0x000000C + +gUnk_08113760:: @ 08113760 + .incbin "baserom.gba", 0x113760, 0x0000050 + +gUnk_081137B0:: @ 081137B0 + .incbin "baserom.gba", 0x1137B0, 0x0000039 + +gUnk_081137E9:: @ 081137E9 + .incbin "baserom.gba", 0x1137E9, 0x0000088 + +gUnk_08113871:: @ 08113871 + .incbin "baserom.gba", 0x113871, 0x0000021 + +gUnk_08113892:: @ 08113892 + .incbin "baserom.gba", 0x113892, 0x0000005 + +gUnk_08113897:: @ 08113897 + .incbin "baserom.gba", 0x113897, 0x0000019 + +gUnk_081138B0:: @ 081138B0 + .incbin "baserom.gba", 0x1138B0, 0x0000008 + +gUnk_081138B8:: @ 081138B8 + .incbin "baserom.gba", 0x1138B8, 0x0000024 + +gUnk_081138DC:: @ 081138DC + .incbin "baserom.gba", 0x1138DC, 0x0000005 + +gUnk_081138E1:: @ 081138E1 + .incbin "baserom.gba", 0x1138E1, 0x000001B + +gUnk_081138FC:: @ 081138FC + .incbin "baserom.gba", 0x1138FC, 0x0000014 + +gUnk_08113910:: @ 08113910 + .incbin "baserom.gba", 0x113910, 0x0000020 + +gUnk_08113930:: @ 08113930 + .incbin "baserom.gba", 0x113930, 0x0000080 + +gUnk_081139B0:: @ 081139B0 + .incbin "baserom.gba", 0x1139B0, 0x000001D + +gUnk_081139CD:: @ 081139CD + .incbin "baserom.gba", 0x1139CD, 0x000001D + +gUnk_081139EA:: @ 081139EA + .incbin "baserom.gba", 0x1139EA, 0x000001E + +gUnk_08113A08:: @ 08113A08 + .incbin "baserom.gba", 0x113A08, 0x0000014 + +gUnk_08113A1C:: @ 08113A1C + .incbin "baserom.gba", 0x113A1C, 0x0000060 + +gUnk_08113A7C:: @ 08113A7C + .incbin "baserom.gba", 0x113A7C, 0x0000010 + +gUnk_08113A8C:: @ 08113A8C + .incbin "baserom.gba", 0x113A8C, 0x0000030 + +gUnk_08113ABC:: @ 08113ABC + .incbin "baserom.gba", 0x113ABC, 0x0000050 + +gUnk_08113B0C:: @ 08113B0C + .incbin "baserom.gba", 0x113B0C, 0x0000006 + +gUnk_08113B12:: @ 08113B12 + .incbin "baserom.gba", 0x113B12, 0x0000004 + +gUnk_08113B16:: @ 08113B16 + .incbin "baserom.gba", 0x113B16, 0x0000008 + +gUnk_08113B1E:: @ 08113B1E + .incbin "baserom.gba", 0x113B1E, 0x0000004 + +gUnk_08113B22:: @ 08113B22 + .incbin "baserom.gba", 0x113B22, 0x0000006 + +gUnk_08113B28:: @ 08113B28 + .incbin "baserom.gba", 0x113B28, 0x0000008 + +gUnk_08113B30:: @ 08113B30 + .incbin "baserom.gba", 0x113B30, 0x0000008 + +gUnk_08113B38:: @ 08113B38 + .incbin "baserom.gba", 0x113B38, 0x0000007 + +gUnk_08113B3F:: @ 08113B3F + .incbin "baserom.gba", 0x113B3F, 0x0000005 + +gUnk_08113B44:: @ 08113B44 + .incbin "baserom.gba", 0x113B44, 0x0000005 + +gUnk_08113B49:: @ 08113B49 + .incbin "baserom.gba", 0x113B49, 0x0000005 + +gUnk_08113B4E:: @ 08113B4E + .incbin "baserom.gba", 0x113B4E, 0x0000005 + +gUnk_08113B53:: @ 08113B53 + .incbin "baserom.gba", 0x113B53, 0x0000011 + +gUnk_08113B64:: @ 08113B64 + .incbin "baserom.gba", 0x113B64, 0x0000011 + +gUnk_08113B75:: @ 08113B75 + .incbin "baserom.gba", 0x113B75, 0x0000011 + +gUnk_08113B86:: @ 08113B86 + .incbin "baserom.gba", 0x113B86, 0x0000012 + +gUnk_08113B98:: @ 08113B98 + .incbin "baserom.gba", 0x113B98, 0x0000024 + +gUnk_08113BBC:: @ 08113BBC + .incbin "baserom.gba", 0x113BBC, 0x0000005 + +gUnk_08113BC1:: @ 08113BC1 + .incbin "baserom.gba", 0x113BC1, 0x0000005 + +gUnk_08113BC6:: @ 08113BC6 + .incbin "baserom.gba", 0x113BC6, 0x0000005 + +gUnk_08113BCB:: @ 08113BCB + .incbin "baserom.gba", 0x113BCB, 0x0000005 + +gUnk_08113BD0:: @ 08113BD0 + .incbin "baserom.gba", 0x113BD0, 0x0000011 + +gUnk_08113BE1:: @ 08113BE1 + .incbin "baserom.gba", 0x113BE1, 0x0000011 + +gUnk_08113BF2:: @ 08113BF2 + .incbin "baserom.gba", 0x113BF2, 0x0000011 + +gUnk_08113C03:: @ 08113C03 + .incbin "baserom.gba", 0x113C03, 0x0000011 + +gUnk_08113C14:: @ 08113C14 + .incbin "baserom.gba", 0x113C14, 0x0000024 + +gUnk_08113C38:: @ 08113C38 + .incbin "baserom.gba", 0x113C38, 0x0000005 + +gUnk_08113C3D:: @ 08113C3D + .incbin "baserom.gba", 0x113C3D, 0x0000005 + +gUnk_08113C42:: @ 08113C42 + .incbin "baserom.gba", 0x113C42, 0x0000005 + +gUnk_08113C47:: @ 08113C47 + .incbin "baserom.gba", 0x113C47, 0x0000011 + +gUnk_08113C58:: @ 08113C58 + .incbin "baserom.gba", 0x113C58, 0x0000024 + +gUnk_08113C7C:: @ 08113C7C + .incbin "baserom.gba", 0x113C7C, 0x0000005 + +gUnk_08113C81:: @ 08113C81 + .incbin "baserom.gba", 0x113C81, 0x0000005 + +gUnk_08113C86:: @ 08113C86 + .incbin "baserom.gba", 0x113C86, 0x0000005 + +gUnk_08113C8B:: @ 08113C8B + .incbin "baserom.gba", 0x113C8B, 0x0000005 + +gUnk_08113C90:: @ 08113C90 + .incbin "baserom.gba", 0x113C90, 0x0000011 + +gUnk_08113CA1:: @ 08113CA1 + .incbin "baserom.gba", 0x113CA1, 0x0000011 + +gUnk_08113CB2:: @ 08113CB2 + .incbin "baserom.gba", 0x113CB2, 0x0000011 + +gUnk_08113CC3:: @ 08113CC3 + .incbin "baserom.gba", 0x113CC3, 0x0000011 + +gUnk_08113CD4:: @ 08113CD4 + .incbin "baserom.gba", 0x113CD4, 0x0000024 + +gUnk_08113CF8:: @ 08113CF8 + .incbin "baserom.gba", 0x113CF8, 0x0000005 + +gUnk_08113CFD:: @ 08113CFD + .incbin "baserom.gba", 0x113CFD, 0x0000005 + +gUnk_08113D02:: @ 08113D02 + .incbin "baserom.gba", 0x113D02, 0x0000005 + +gUnk_08113D07:: @ 08113D07 + .incbin "baserom.gba", 0x113D07, 0x0000015 + +gUnk_08113D1C:: @ 08113D1C + .incbin "baserom.gba", 0x113D1C, 0x0000024 + +gUnk_08113D40:: @ 08113D40 + .incbin "baserom.gba", 0x113D40, 0x0000005 + +gUnk_08113D45:: @ 08113D45 + .incbin "baserom.gba", 0x113D45, 0x0000005 + +gUnk_08113D4A:: @ 08113D4A + .incbin "baserom.gba", 0x113D4A, 0x0000005 + +gUnk_08113D4F:: @ 08113D4F + .incbin "baserom.gba", 0x113D4F, 0x0000011 + +gUnk_08113D60:: @ 08113D60 + .incbin "baserom.gba", 0x113D60, 0x0000024 + +gUnk_08113D84:: @ 08113D84 + .incbin "baserom.gba", 0x113D84, 0x0000008 + +gUnk_08113D8C:: @ 08113D8C + .incbin "baserom.gba", 0x113D8C, 0x0000010 + +gUnk_08113D9C:: @ 08113D9C + .incbin "baserom.gba", 0x113D9C, 0x0000011 + +gUnk_08113DAD:: @ 08113DAD + .incbin "baserom.gba", 0x113DAD, 0x0000005 + +gUnk_08113DB2:: @ 08113DB2 + .incbin "baserom.gba", 0x113DB2, 0x0000029 + +gUnk_08113DDB:: @ 08113DDB + .incbin "baserom.gba", 0x113DDB, 0x00000D9 + +gUnk_08113EB4:: @ 08113EB4 + .incbin "baserom.gba", 0x113EB4, 0x0000011 + +gUnk_08113EC5:: @ 08113EC5 + .incbin "baserom.gba", 0x113EC5, 0x0000011 + +gUnk_08113ED6:: @ 08113ED6 + .incbin "baserom.gba", 0x113ED6, 0x0000011 + +gUnk_08113EE7:: @ 08113EE7 + .incbin "baserom.gba", 0x113EE7, 0x0000005 + +gUnk_08113EEC:: @ 08113EEC + .incbin "baserom.gba", 0x113EEC, 0x0000005 + +gUnk_08113EF1:: @ 08113EF1 + .incbin "baserom.gba", 0x113EF1, 0x0000007 + +gUnk_08113EF8:: @ 08113EF8 + .incbin "baserom.gba", 0x113EF8, 0x000004C + +gUnk_08113F44:: @ 08113F44 + .incbin "baserom.gba", 0x113F44, 0x0000004 + +gUnk_08113F48:: @ 08113F48 + .incbin "baserom.gba", 0x113F48, 0x0000078 + +gUnk_08113FC0:: @ 08113FC0 + .incbin "baserom.gba", 0x113FC0, 0x0000005 + +gUnk_08113FC5:: @ 08113FC5 + .incbin "baserom.gba", 0x113FC5, 0x0000005 + +gUnk_08113FCA:: @ 08113FCA + .incbin "baserom.gba", 0x113FCA, 0x0000005 + +gUnk_08113FCF:: @ 08113FCF + .incbin "baserom.gba", 0x113FCF, 0x0000005 + +gUnk_08113FD4:: @ 08113FD4 + .incbin "baserom.gba", 0x113FD4, 0x0000011 + +gUnk_08113FE5:: @ 08113FE5 + .incbin "baserom.gba", 0x113FE5, 0x000004D + +gUnk_08114032:: @ 08114032 + .incbin "baserom.gba", 0x114032, 0x000000D + +gUnk_0811403F:: @ 0811403F + .incbin "baserom.gba", 0x11403F, 0x0000011 + +gUnk_08114050:: @ 08114050 + .incbin "baserom.gba", 0x114050, 0x0000011 + +gUnk_08114061:: @ 08114061 + .incbin "baserom.gba", 0x114061, 0x0000029 + +gUnk_0811408A:: @ 0811408A + .incbin "baserom.gba", 0x11408A, 0x000000E + +gUnk_08114098:: @ 08114098 + .incbin "baserom.gba", 0x114098, 0x0000034 + +gUnk_081140CC:: @ 081140CC + .incbin "baserom.gba", 0x1140CC, 0x0000008 + +gUnk_081140D4:: @ 081140D4 + .incbin "baserom.gba", 0x1140D4, 0x000002C + +gUnk_08114100:: @ 08114100 + .incbin "baserom.gba", 0x114100, 0x0000004 + +gUnk_08114104:: @ 08114104 + .incbin "baserom.gba", 0x114104, 0x0000030 + +gUnk_08114134:: @ 08114134 + .incbin "baserom.gba", 0x114134, 0x0000010 + +gUnk_08114144:: @ 08114144 + .incbin "baserom.gba", 0x114144, 0x0000010 + +gUnk_08114154:: @ 08114154 + .incbin "baserom.gba", 0x114154, 0x0000008 + +gUnk_0811415C:: @ 0811415C + .incbin "baserom.gba", 0x11415C, 0x0000048 + +gUnk_081141A4:: @ 081141A4 + .incbin "baserom.gba", 0x1141A4, 0x0000040 + +gUnk_081141E4:: @ 081141E4 + .incbin "baserom.gba", 0x1141E4, 0x0000010 + +gUnk_081141F4:: @ 081141F4 + .incbin "baserom.gba", 0x1141F4, 0x0000014 + +gUnk_08114208:: @ 08114208 + .incbin "baserom.gba", 0x114208, 0x0000005 + +gUnk_0811420D:: @ 0811420D + .incbin "baserom.gba", 0x11420D, 0x0000004 + +gUnk_08114211:: @ 08114211 + .incbin "baserom.gba", 0x114211, 0x0000005 + +gUnk_08114216:: @ 08114216 + .incbin "baserom.gba", 0x114216, 0x0000009 + +gUnk_0811421F:: @ 0811421F + .incbin "baserom.gba", 0x11421F, 0x0000009 + +gUnk_08114228:: @ 08114228 + .incbin "baserom.gba", 0x114228, 0x0000014 + +gUnk_0811423C:: @ 0811423C + .incbin "baserom.gba", 0x11423C, 0x0000008 + +gUnk_08114244:: @ 08114244 + .incbin "baserom.gba", 0x114244, 0x0000019 + +gUnk_0811425D:: @ 0811425D + .incbin "baserom.gba", 0x11425D, 0x0000019 + +gUnk_08114276:: @ 08114276 + .incbin "baserom.gba", 0x114276, 0x0000019 + +gUnk_0811428F:: @ 0811428F + .incbin "baserom.gba", 0x11428F, 0x0000019 + +gUnk_081142A8:: @ 081142A8 + .incbin "baserom.gba", 0x1142A8, 0x0000014 + +gUnk_081142BC:: @ 081142BC + .incbin "baserom.gba", 0x1142BC, 0x0000010 + +gUnk_081142CC:: @ 081142CC + .incbin "baserom.gba", 0x1142CC, 0x0000010 + +gUnk_081142DC:: @ 081142DC + .incbin "baserom.gba", 0x1142DC, 0x0000020 + +gUnk_081142FC:: @ 081142FC + .incbin "baserom.gba", 0x1142FC, 0x0000008 + +gUnk_08114304:: @ 08114304 + .incbin "baserom.gba", 0x114304, 0x0000004 + +gUnk_08114308:: @ 08114308 + .incbin "baserom.gba", 0x114308, 0x0000128 + +gUnk_08114430:: @ 08114430 + .incbin "baserom.gba", 0x114430, 0x0000002 + +gUnk_08114432:: @ 08114432 + .incbin "baserom.gba", 0x114432, 0x0000012 + +gUnk_08114444:: @ 08114444 + .incbin "baserom.gba", 0x114444, 0x0000084 + +gUnk_081144C8:: @ 081144C8 + .incbin "baserom.gba", 0x1144C8, 0x0000005 + +gUnk_081144CD:: @ 081144CD + .incbin "baserom.gba", 0x1144CD, 0x0000005 + +gUnk_081144D2:: @ 081144D2 + .incbin "baserom.gba", 0x1144D2, 0x0000005 + +gUnk_081144D7:: @ 081144D7 + .incbin "baserom.gba", 0x1144D7, 0x0000005 + +gUnk_081144DC:: @ 081144DC + .incbin "baserom.gba", 0x1144DC, 0x0000014 + +gUnk_081144F0:: @ 081144F0 + .incbin "baserom.gba", 0x1144F0, 0x000000C + +gUnk_081144FC:: @ 081144FC + .incbin "baserom.gba", 0x1144FC, 0x0000035 + +gUnk_08114531:: @ 08114531 + .incbin "baserom.gba", 0x114531, 0x000000B + +gUnk_0811453C:: @ 0811453C + .incbin "baserom.gba", 0x11453C, 0x0000011 + +gUnk_0811454D:: @ 0811454D + .incbin "baserom.gba", 0x11454D, 0x0000011 + +gUnk_0811455E:: @ 0811455E + .incbin "baserom.gba", 0x11455E, 0x0000011 + +gUnk_0811456F:: @ 0811456F + .incbin "baserom.gba", 0x11456F, 0x0000005 + +gUnk_08114574:: @ 08114574 + .incbin "baserom.gba", 0x114574, 0x0000005 + +gUnk_08114579:: @ 08114579 + .incbin "baserom.gba", 0x114579, 0x0000007 + +gUnk_08114580:: @ 08114580 + .incbin "baserom.gba", 0x114580, 0x0000034 + +gUnk_081145B4:: @ 081145B4 + .incbin "baserom.gba", 0x1145B4, 0x0000014 + +gUnk_081145C8:: @ 081145C8 + .incbin "baserom.gba", 0x1145C8, 0x0000008 + +gUnk_081145D0:: @ 081145D0 + .incbin "baserom.gba", 0x1145D0, 0x0000004 + +gUnk_081145D4:: @ 081145D4 + .incbin "baserom.gba", 0x1145D4, 0x0000010 + +gUnk_081145E4:: @ 081145E4 + .incbin "baserom.gba", 0x1145E4, 0x00000D4 + +gUnk_081146B8:: @ 081146B8 + .incbin "baserom.gba", 0x1146B8, 0x0000018 + +gUnk_081146D0:: @ 081146D0 + .incbin "baserom.gba", 0x1146D0, 0x0000014 + +gUnk_081146E4:: @ 081146E4 + .incbin "baserom.gba", 0x1146E4, 0x0000010 + +gUnk_081146F4:: @ 081146F4 + .incbin "baserom.gba", 0x1146F4, 0x00000A8 + +gUnk_0811479C:: @ 0811479C + .incbin "baserom.gba", 0x11479C, 0x0000048 + +gUnk_081147E4:: @ 081147E4 + .incbin "baserom.gba", 0x1147E4, 0x0000020 + +gUnk_08114804:: @ 08114804 + .incbin "baserom.gba", 0x114804, 0x0000010 + +gUnk_08114814:: @ 08114814 + .incbin "baserom.gba", 0x114814, 0x0000010 + +gUnk_08114824:: @ 08114824 + .incbin "baserom.gba", 0x114824, 0x0000040 + +gUnk_08114864:: @ 08114864 + .incbin "baserom.gba", 0x114864, 0x0000010 + +gUnk_08114874:: @ 08114874 + .incbin "baserom.gba", 0x114874, 0x0000030 + +gUnk_081148A4:: @ 081148A4 + .incbin "baserom.gba", 0x1148A4, 0x0000020 + +gUnk_081148C4:: @ 081148C4 + .incbin "baserom.gba", 0x1148C4, 0x0000020 + +gUnk_081148E4:: @ 081148E4 + .incbin "baserom.gba", 0x1148E4, 0x0000030 + +gUnk_08114914:: @ 08114914 + .incbin "baserom.gba", 0x114914, 0x0000030 + +gUnk_08114944:: @ 08114944 + .incbin "baserom.gba", 0x114944, 0x0000030 + +gUnk_08114974:: @ 08114974 + .incbin "baserom.gba", 0x114974, 0x0000010 + +gUnk_08114984:: @ 08114984 + .incbin "baserom.gba", 0x114984, 0x0000010 + +gUnk_08114994:: @ 08114994 + .incbin "baserom.gba", 0x114994, 0x0000010 + +gUnk_081149A4:: @ 081149A4 + .incbin "baserom.gba", 0x1149A4, 0x0000010 + +gUnk_081149B4:: @ 081149B4 + .incbin "baserom.gba", 0x1149B4, 0x0000010 + +gUnk_081149C4:: @ 081149C4 + .incbin "baserom.gba", 0x1149C4, 0x0000030 + +gUnk_081149F4:: @ 081149F4 + .incbin "baserom.gba", 0x1149F4, 0x0000020 + +gUnk_08114A14:: @ 08114A14 + .incbin "baserom.gba", 0x114A14, 0x0000058 + +gUnk_08114A6C:: @ 08114A6C + .incbin "baserom.gba", 0x114A6C, 0x0000020 + +gUnk_08114A8C:: @ 08114A8C + .incbin "baserom.gba", 0x114A8C, 0x0000030 + +gUnk_08114ABC:: @ 08114ABC + .incbin "baserom.gba", 0x114ABC, 0x0000028 + +gUnk_08114AE4:: @ 08114AE4 + .incbin "baserom.gba", 0x114AE4, 0x0000400 + +gUnk_08114EE4:: @ 08114EE4 + .incbin "baserom.gba", 0x114EE4, 0x0000018 + +gUnk_08114EFC:: @ 08114EFC + .incbin "baserom.gba", 0x114EFC, 0x0000010 + +gUnk_08114F0C:: @ 08114F0C + .incbin "baserom.gba", 0x114F0C, 0x0000024 + +gUnk_08114F30:: @ 08114F30 + .incbin "baserom.gba", 0x114F30, 0x0000004 + +gUnk_08114F34:: @ 08114F34 + .incbin "baserom.gba", 0x114F34, 0x0000004 + +gUnk_08114F38:: @ 08114F38 + .incbin "baserom.gba", 0x114F38, 0x0000020 + +gUnk_08114F58:: @ 08114F58 + .incbin "baserom.gba", 0x114F58, 0x0000020 + +gUnk_08114F78:: @ 08114F78 + .incbin "baserom.gba", 0x114F78, 0x0000008 + +gUnk_08114F80:: @ 08114F80 + .incbin "baserom.gba", 0x114F80, 0x0000008 + +gUnk_08114F88:: @ 08114F88 + .incbin "baserom.gba", 0x114F88, 0x0000010 + +gUnk_08114F98:: @ 08114F98 + .incbin "baserom.gba", 0x114F98, 0x00003F4 + +gUnk_0811538C:: @ 0811538C + .incbin "baserom.gba", 0x11538C, 0x0000153 + +gUnk_081154DF:: @ 081154DF + .incbin "baserom.gba", 0x1154DF, 0x0000042 + +gUnk_08115521:: @ 08115521 + .incbin "baserom.gba", 0x115521, 0x0000002 + +gUnk_08115523:: @ 08115523 + .incbin "baserom.gba", 0x115523, 0x0000003 + +gUnk_08115526:: @ 08115526 + .incbin "baserom.gba", 0x115526, 0x00001FE + +gUnk_08115724:: @ 08115724 + .incbin "baserom.gba", 0x115724, 0x00003D4 + +gUnk_08115AF8:: @ 08115AF8 + .incbin "baserom.gba", 0x115AF8, 0x00003A4 + +gUnk_08115E9C:: @ 08115E9C + .incbin "baserom.gba", 0x115E9C, 0x0000176 + +gUnk_08116012:: @ 08116012 + .incbin "baserom.gba", 0x116012, 0x000026E + +gUnk_08116280:: @ 08116280 + .incbin "baserom.gba", 0x116280, 0x00002B0 + +gUnk_08116530:: @ 08116530 + .incbin "baserom.gba", 0x116530, 0x00001D3 + +gUnk_08116703:: @ 08116703 + .incbin "baserom.gba", 0x116703, 0x0000085 + +gUnk_08116788:: @ 08116788 + .incbin "baserom.gba", 0x116788, 0x0000100 + +gUnk_08116888:: @ 08116888 + .incbin "baserom.gba", 0x116888, 0x0000017 + +gUnk_0811689F:: @ 0811689F + .incbin "baserom.gba", 0x11689F, 0x00001FD + +gUnk_08116A9C:: @ 08116A9C + .incbin "baserom.gba", 0x116A9C, 0x0000270 + +gUnk_08116D0C:: @ 08116D0C + .incbin "baserom.gba", 0x116D0C, 0x00000C8 + +gUnk_08116DD4:: @ 08116DD4 + .incbin "baserom.gba", 0x116DD4, 0x0000071 + +gUnk_08116E45:: @ 08116E45 + .incbin "baserom.gba", 0x116E45, 0x000011F + +gUnk_08116F64:: @ 08116F64 + .incbin "baserom.gba", 0x116F64, 0x00002A4 + +gUnk_08117208:: @ 08117208 + .incbin "baserom.gba", 0x117208, 0x0000038 + +gUnk_08117240:: @ 08117240 + .incbin "baserom.gba", 0x117240, 0x000039C + +gUnk_081175DC:: @ 081175DC + .incbin "baserom.gba", 0x1175DC, 0x00002D4 + +gUnk_081178B0:: @ 081178B0 + .incbin "baserom.gba", 0x1178B0, 0x00002D4 + +gUnk_08117B84:: @ 08117B84 + .incbin "baserom.gba", 0x117B84, 0x00001E0 + +gUnk_08117D64:: @ 08117D64 + .incbin "baserom.gba", 0x117D64, 0x00000DC + +gUnk_08117E40:: @ 08117E40 + .incbin "baserom.gba", 0x117E40, 0x0000128 + +gUnk_08117F68:: @ 08117F68 + .incbin "baserom.gba", 0x117F68, 0x000006C + +gUnk_08117FD4:: @ 08117FD4 + .incbin "baserom.gba", 0x117FD4, 0x00001AD + +gUnk_08118181:: @ 08118181 + .incbin "baserom.gba", 0x118181, 0x0000033 + +gUnk_081181B4:: @ 081181B4 + .incbin "baserom.gba", 0x1181B4, 0x0000030 + +gUnk_081181E4:: @ 081181E4 + .incbin "baserom.gba", 0x1181E4, 0x0000054 + +gUnk_08118238:: @ 08118238 + .incbin "baserom.gba", 0x118238, 0x000002C + +gUnk_08118264:: @ 08118264 + .incbin "baserom.gba", 0x118264, 0x0000034 + +gUnk_08118298:: @ 08118298 + .incbin "baserom.gba", 0x118298, 0x0000100 + +gUnk_08118398:: @ 08118398 + .incbin "baserom.gba", 0x118398, 0x0000024 + +gUnk_081183BC:: @ 081183BC + .incbin "baserom.gba", 0x1183BC, 0x00000B0 + +gUnk_0811846C:: @ 0811846C + .incbin "baserom.gba", 0x11846C, 0x000003C + +gUnk_081184A8:: @ 081184A8 + .incbin "baserom.gba", 0x1184A8, 0x00000B0 + +gUnk_08118558:: @ 08118558 + .incbin "baserom.gba", 0x118558, 0x00001C8 + +gUnk_08118720:: @ 08118720 + .incbin "baserom.gba", 0x118720, 0x0000048 + +gUnk_08118768:: @ 08118768 + .incbin "baserom.gba", 0x118768, 0x0000018 + +gUnk_08118780:: @ 08118780 + .incbin "baserom.gba", 0x118780, 0x0000008 + +gUnk_08118788:: @ 08118788 + .incbin "baserom.gba", 0x118788, 0x000000C + +gUnk_08118794:: @ 08118794 + .incbin "baserom.gba", 0x118794, 0x000012C + +gUnk_081188C0:: @ 081188C0 + .incbin "baserom.gba", 0x1188C0, 0x0000088 + +gUnk_08118948:: @ 08118948 + .incbin "baserom.gba", 0x118948, 0x0000018 + +gUnk_08118960:: @ 08118960 + .incbin "baserom.gba", 0x118960, 0x0000014 + +gUnk_08118974:: @ 08118974 + .incbin "baserom.gba", 0x118974, 0x0000014 + +gUnk_08118988:: @ 08118988 + .incbin "baserom.gba", 0x118988, 0x0000278 + +gUnk_08118C00:: @ 08118C00 + .incbin "baserom.gba", 0x118C00, 0x0000138 + +gUnk_08118D38:: @ 08118D38 + .incbin "baserom.gba", 0x118D38, 0x000006C + +gUnk_08118DA4:: @ 08118DA4 + .incbin "baserom.gba", 0x118DA4, 0x000002C + +gUnk_08118DD0:: @ 08118DD0 + .incbin "baserom.gba", 0x118DD0, 0x000000C + +gUnk_08118DDC:: @ 08118DDC + .incbin "baserom.gba", 0x118DDC, 0x0000080 + +gUnk_08118E5C:: @ 08118E5C + .incbin "baserom.gba", 0x118E5C, 0x00000A8 + +gUnk_08118F04:: @ 08118F04 + .incbin "baserom.gba", 0x118F04, 0x0000038 + +gUnk_08118F3C:: @ 08118F3C + .incbin "baserom.gba", 0x118F3C, 0x0000028 + +gUnk_08118F64:: @ 08118F64 + .incbin "baserom.gba", 0x118F64, 0x0000034 + +gUnk_08118F98:: @ 08118F98 + .incbin "baserom.gba", 0x118F98, 0x0000108 + +gUnk_081190A0:: @ 081190A0 + .incbin "baserom.gba", 0x1190A0, 0x0000044 + +gUnk_081190E4:: @ 081190E4 + .incbin "baserom.gba", 0x1190E4, 0x0000038 + +gUnk_0811911C:: @ 0811911C + .incbin "baserom.gba", 0x11911C, 0x0000010 + +gUnk_0811912C:: @ 0811912C + .incbin "baserom.gba", 0x11912C, 0x000005C + +gUnk_08119188:: @ 08119188 + .incbin "baserom.gba", 0x119188, 0x0000120 + +gUnk_081192A8:: @ 081192A8 + .incbin "baserom.gba", 0x1192A8, 0x00002A0 + +gUnk_08119548:: @ 08119548 + .incbin "baserom.gba", 0x119548, 0x000027C + +gUnk_081197C4:: @ 081197C4 + .incbin "baserom.gba", 0x1197C4, 0x0000030 + +gUnk_081197F4:: @ 081197F4 + .incbin "baserom.gba", 0x1197F4, 0x00000D0 + +gUnk_081198C4:: @ 081198C4 + .incbin "baserom.gba", 0x1198C4, 0x0000028 + +gUnk_081198EC:: @ 081198EC + .incbin "baserom.gba", 0x1198EC, 0x00000B8 + +gUnk_081199A4:: @ 081199A4 + .incbin "baserom.gba", 0x1199A4, 0x0000054 + +gUnk_081199F8:: @ 081199F8 + .incbin "baserom.gba", 0x1199F8, 0x000007C + +gUnk_08119A74:: @ 08119A74 + .incbin "baserom.gba", 0x119A74, 0x000007C + +gUnk_08119AF0:: @ 08119AF0 + .incbin "baserom.gba", 0x119AF0, 0x000008C + +gUnk_08119B7C:: @ 08119B7C + .incbin "baserom.gba", 0x119B7C, 0x0000074 + +gUnk_08119BF0:: @ 08119BF0 + .incbin "baserom.gba", 0x119BF0, 0x0000074 + +gUnk_08119C64:: @ 08119C64 + .incbin "baserom.gba", 0x119C64, 0x0000090 + +gUnk_08119CF4:: @ 08119CF4 + .incbin "baserom.gba", 0x119CF4, 0x0000060 + +gUnk_08119D54:: @ 08119D54 + .incbin "baserom.gba", 0x119D54, 0x0000054 + +gUnk_08119DA8:: @ 08119DA8 + .incbin "baserom.gba", 0x119DA8, 0x0000054 + +gUnk_08119DFC:: @ 08119DFC + .incbin "baserom.gba", 0x119DFC, 0x000001C + +gUnk_08119E18:: @ 08119E18 + .incbin "baserom.gba", 0x119E18, 0x000002C + +gUnk_08119E44:: @ 08119E44 + .incbin "baserom.gba", 0x119E44, 0x000006C + +gUnk_08119EB0:: @ 08119EB0 + .incbin "baserom.gba", 0x119EB0, 0x0000028 + +gUnk_08119ED8:: @ 08119ED8 + .incbin "baserom.gba", 0x119ED8, 0x00000A8 + +gUnk_08119F80:: @ 08119F80 + .incbin "baserom.gba", 0x119F80, 0x0000024 + +gUnk_08119FA4:: @ 08119FA4 + .incbin "baserom.gba", 0x119FA4, 0x0000024 + +gUnk_08119FC8:: @ 08119FC8 + .incbin "baserom.gba", 0x119FC8, 0x000000C + +gUnk_08119FD4:: @ 08119FD4 + .incbin "baserom.gba", 0x119FD4, 0x0000048 + +gUnk_0811A01C:: @ 0811A01C + .incbin "baserom.gba", 0x11A01C, 0x0000030 + +gUnk_0811A04C:: @ 0811A04C + .incbin "baserom.gba", 0x11A04C, 0x000001C + +gUnk_0811A068:: @ 0811A068 + .incbin "baserom.gba", 0x11A068, 0x000003C + +gUnk_0811A0A4:: @ 0811A0A4 + .incbin "baserom.gba", 0x11A0A4, 0x0000028 + +gUnk_0811A0CC:: @ 0811A0CC + .incbin "baserom.gba", 0x11A0CC, 0x0000018 + +gUnk_0811A0E4:: @ 0811A0E4 + .incbin "baserom.gba", 0x11A0E4, 0x0000040 + +gUnk_0811A124:: @ 0811A124 + .incbin "baserom.gba", 0x11A124, 0x0000020 + +gUnk_0811A144:: @ 0811A144 + .incbin "baserom.gba", 0x11A144, 0x0000038 + +gUnk_0811A17C:: @ 0811A17C + .incbin "baserom.gba", 0x11A17C, 0x000004C + +gUnk_0811A1C8:: @ 0811A1C8 + .incbin "baserom.gba", 0x11A1C8, 0x0000030 + +gUnk_0811A1F8:: @ 0811A1F8 + .incbin "baserom.gba", 0x11A1F8, 0x0000030 + +gUnk_0811A228:: @ 0811A228 + .incbin "baserom.gba", 0x11A228, 0x0000058 + +gUnk_0811A280:: @ 0811A280 + .incbin "baserom.gba", 0x11A280, 0x000000C + +gUnk_0811A28C:: @ 0811A28C + .incbin "baserom.gba", 0x11A28C, 0x000001C + +gUnk_0811A2A8:: @ 0811A2A8 + .incbin "baserom.gba", 0x11A2A8, 0x0000028 + +gUnk_0811A2D0:: @ 0811A2D0 + .incbin "baserom.gba", 0x11A2D0, 0x000002C + +gUnk_0811A2FC:: @ 0811A2FC + .incbin "baserom.gba", 0x11A2FC, 0x0000214 + +gUnk_0811A510:: @ 0811A510 + .incbin "baserom.gba", 0x11A510, 0x000024C + +gUnk_0811A75C:: @ 0811A75C + .incbin "baserom.gba", 0x11A75C, 0x000004C + +gUnk_0811A7A8:: @ 0811A7A8 + .incbin "baserom.gba", 0x11A7A8, 0x00000C4 + +gUnk_0811A86C:: @ 0811A86C + .incbin "baserom.gba", 0x11A86C, 0x0000060 + +gUnk_0811A8CC:: @ 0811A8CC + .incbin "baserom.gba", 0x11A8CC, 0x00000E8 + +gUnk_0811A9B4:: @ 0811A9B4 + .incbin "baserom.gba", 0x11A9B4, 0x0000078 + +gUnk_0811AA2C:: @ 0811AA2C + .incbin "baserom.gba", 0x11AA2C, 0x0000050 + +gUnk_0811AA7C:: @ 0811AA7C + .incbin "baserom.gba", 0x11AA7C, 0x000009C + +gUnk_0811AB18:: @ 0811AB18 + .incbin "baserom.gba", 0x11AB18, 0x00000E0 + +gUnk_0811ABF8:: @ 0811ABF8 + .incbin "baserom.gba", 0x11ABF8, 0x0000019 + +gUnk_0811AC11:: @ 0811AC11 + .incbin "baserom.gba", 0x11AC11, 0x0000113 + +gUnk_0811AD24:: @ 0811AD24 + .incbin "baserom.gba", 0x11AD24, 0x00000A8 + +gUnk_0811ADCC:: @ 0811ADCC + .incbin "baserom.gba", 0x11ADCC, 0x00000E4 + +gUnk_0811AEB0:: @ 0811AEB0 + .incbin "baserom.gba", 0x11AEB0, 0x0000028 + +gUnk_0811AED8:: @ 0811AED8 + .incbin "baserom.gba", 0x11AED8, 0x000004C + +gUnk_0811AF24:: @ 0811AF24 + .incbin "baserom.gba", 0x11AF24, 0x0000010 + +gUnk_0811AF34:: @ 0811AF34 + .incbin "baserom.gba", 0x11AF34, 0x0000030 + +gUnk_0811AF64:: @ 0811AF64 + .incbin "baserom.gba", 0x11AF64, 0x0000028 + +gUnk_0811AF8C:: @ 0811AF8C + .incbin "baserom.gba", 0x11AF8C, 0x0000030 + +gUnk_0811AFBC:: @ 0811AFBC + .incbin "baserom.gba", 0x11AFBC, 0x0000014 + +gUnk_0811AFD0:: @ 0811AFD0 + .incbin "baserom.gba", 0x11AFD0, 0x0000030 + +gUnk_0811B000:: @ 0811B000 + .incbin "baserom.gba", 0x11B000, 0x000001C + +gUnk_0811B01C:: @ 0811B01C + .incbin "baserom.gba", 0x11B01C, 0x0000010 + +gUnk_0811B02C:: @ 0811B02C + .incbin "baserom.gba", 0x11B02C, 0x0000084 + +gUnk_0811B0B0:: @ 0811B0B0 + .incbin "baserom.gba", 0x11B0B0, 0x0000080 + +gUnk_0811B130:: @ 0811B130 + .incbin "baserom.gba", 0x11B130, 0x0000048 + +gUnk_0811B178:: @ 0811B178 + .incbin "baserom.gba", 0x11B178, 0x0000018 + +gUnk_0811B190:: @ 0811B190 + .incbin "baserom.gba", 0x11B190, 0x0000084 + +gUnk_0811B214:: @ 0811B214 + .incbin "baserom.gba", 0x11B214, 0x0000044 + +gUnk_0811B258:: @ 0811B258 + .incbin "baserom.gba", 0x11B258, 0x000003C + +gUnk_0811B294:: @ 0811B294 + .incbin "baserom.gba", 0x11B294, 0x0000068 + +gUnk_0811B2FC:: @ 0811B2FC + .incbin "baserom.gba", 0x11B2FC, 0x0000050 + +gUnk_0811B34C:: @ 0811B34C + .incbin "baserom.gba", 0x11B34C, 0x0000048 + +gUnk_0811B394:: @ 0811B394 + .incbin "baserom.gba", 0x11B394, 0x0000010 + +gUnk_0811B3A4:: @ 0811B3A4 + .incbin "baserom.gba", 0x11B3A4, 0x0000010 + +gUnk_0811B3B4:: @ 0811B3B4 + .incbin "baserom.gba", 0x11B3B4, 0x0000014 + +gUnk_0811B3C8:: @ 0811B3C8 + .incbin "baserom.gba", 0x11B3C8, 0x0000040 + +gUnk_0811B408:: @ 0811B408 + .incbin "baserom.gba", 0x11B408, 0x0000138 + +gUnk_0811B540:: @ 0811B540 + .incbin "baserom.gba", 0x11B540, 0x0000024 + +gUnk_0811B564:: @ 0811B564 + .incbin "baserom.gba", 0x11B564, 0x0000014 + +gUnk_0811B578:: @ 0811B578 + .incbin "baserom.gba", 0x11B578, 0x00003C8 + +gUnk_0811B940:: @ 0811B940 + .incbin "baserom.gba", 0x11B940, 0x000004C + +gUnk_0811B98C:: @ 0811B98C + .incbin "baserom.gba", 0x11B98C, 0x0000014 + +gUnk_0811B9A0:: @ 0811B9A0 + .incbin "baserom.gba", 0x11B9A0, 0x0000008 + +gUnk_0811B9A8:: @ 0811B9A8 + .incbin "baserom.gba", 0x11B9A8, 0x0000020 + +gUnk_0811B9C8:: @ 0811B9C8 + .incbin "baserom.gba", 0x11B9C8, 0x0000008 + +gUnk_0811B9D0:: @ 0811B9D0 + .incbin "baserom.gba", 0x11B9D0, 0x0000008 + +gUnk_0811B9D8:: @ 0811B9D8 + .incbin "baserom.gba", 0x11B9D8, 0x0000008 + +gUnk_0811B9E0:: @ 0811B9E0 + .incbin "baserom.gba", 0x11B9E0, 0x0000080 + +gUnk_0811BA60:: @ 0811BA60 + .incbin "baserom.gba", 0x11BA60, 0x0000008 + +gUnk_0811BA68:: @ 0811BA68 + .incbin "baserom.gba", 0x11BA68, 0x000000C + +gUnk_0811BA74:: @ 0811BA74 + .incbin "baserom.gba", 0x11BA74, 0x0000008 + +gUnk_0811BA7C:: @ 0811BA7C + .incbin "baserom.gba", 0x11BA7C, 0x000000C + +gUnk_0811BA88:: @ 0811BA88 + .incbin "baserom.gba", 0x11BA88, 0x000000C + +gUnk_0811BA94:: @ 0811BA94 + .incbin "baserom.gba", 0x11BA94, 0x0000008 + +gUnk_0811BA9C:: @ 0811BA9C + .incbin "baserom.gba", 0x11BA9C, 0x0000020 + +gUnk_0811BABC:: @ 0811BABC + .incbin "baserom.gba", 0x11BABC, 0x0000008 + +gUnk_0811BAC4:: @ 0811BAC4 + .incbin "baserom.gba", 0x11BAC4, 0x0000010 + +gUnk_0811BAD4:: @ 0811BAD4 + .incbin "baserom.gba", 0x11BAD4, 0x0000010 + +gUnk_0811BAE4:: @ 0811BAE4 + .incbin "baserom.gba", 0x11BAE4, 0x000000C + +gUnk_0811BAF0:: @ 0811BAF0 + .incbin "baserom.gba", 0x11BAF0, 0x000003C + +gUnk_0811BB2C:: @ 0811BB2C + .incbin "baserom.gba", 0x11BB2C, 0x000000C + +gUnk_0811BB38:: @ 0811BB38 + .incbin "baserom.gba", 0x11BB38, 0x0000004 + +gUnk_0811BB3C:: @ 0811BB3C + .incbin "baserom.gba", 0x11BB3C, 0x000000C + +gUnk_0811BB48:: @ 0811BB48 + .incbin "baserom.gba", 0x11BB48, 0x0000008 + +gUnk_0811BB50:: @ 0811BB50 + .incbin "baserom.gba", 0x11BB50, 0x0000008 + +gUnk_0811BB58:: @ 0811BB58 + .incbin "baserom.gba", 0x11BB58, 0x0000008 + +gUnk_0811BB60:: @ 0811BB60 + .incbin "baserom.gba", 0x11BB60, 0x0000008 + +gUnk_0811BB68:: @ 0811BB68 + .incbin "baserom.gba", 0x11BB68, 0x0000008 + +gUnk_0811BB70:: @ 0811BB70 + .incbin "baserom.gba", 0x11BB70, 0x0000010 + +gUnk_0811BB80:: @ 0811BB80 + .incbin "baserom.gba", 0x11BB80, 0x0000008 + +gUnk_0811BB88:: @ 0811BB88 + .incbin "baserom.gba", 0x11BB88, 0x0000008 + +gUnk_0811BB90:: @ 0811BB90 + .incbin "baserom.gba", 0x11BB90, 0x0000008 + +gUnk_0811BB98:: @ 0811BB98 + .incbin "baserom.gba", 0x11BB98, 0x0000014 + +gUnk_0811BBAC:: @ 0811BBAC + .incbin "baserom.gba", 0x11BBAC, 0x0000010 + +gUnk_0811BBBC:: @ 0811BBBC + .incbin "baserom.gba", 0x11BBBC, 0x0000006 + +gUnk_0811BBC2:: @ 0811BBC2 + .incbin "baserom.gba", 0x11BBC2, 0x0000006 + +gUnk_0811BBC8:: @ 0811BBC8 + .incbin "baserom.gba", 0x11BBC8, 0x0000006 + +gUnk_0811BBCE:: @ 0811BBCE + .incbin "baserom.gba", 0x11BBCE, 0x0000006 + +gUnk_0811BBD4:: @ 0811BBD4 + .incbin "baserom.gba", 0x11BBD4, 0x0000010 + +gUnk_0811BBE4:: @ 0811BBE4 + .incbin "baserom.gba", 0x11BBE4, 0x0000008 + +gUnk_0811BBEC:: @ 0811BBEC + .incbin "baserom.gba", 0x11BBEC, 0x000000C + +gUnk_0811BBF8:: @ 0811BBF8 + .incbin "baserom.gba", 0x11BBF8, 0x0000010 + +gUnk_0811BC08:: @ 0811BC08 + .incbin "baserom.gba", 0x11BC08, 0x0000020 + +gUnk_0811BC28:: @ 0811BC28 + .incbin "baserom.gba", 0x11BC28, 0x0000008 + +gUnk_0811BC30:: @ 0811BC30 + .incbin "baserom.gba", 0x11BC30, 0x0000008 + +gUnk_0811BC38:: @ 0811BC38 + .incbin "baserom.gba", 0x11BC38, 0x0000008 + +gUnk_0811BC40:: @ 0811BC40 + .incbin "baserom.gba", 0x11BC40, 0x0000008 + +gUnk_0811BC48:: @ 0811BC48 + .incbin "baserom.gba", 0x11BC48, 0x0000018 + +gUnk_0811BC60:: @ 0811BC60 + .incbin "baserom.gba", 0x11BC60, 0x0000020 + +gUnk_0811BC80:: @ 0811BC80 + .incbin "baserom.gba", 0x11BC80, 0x0000008 + +gUnk_0811BC88:: @ 0811BC88 + .incbin "baserom.gba", 0x11BC88, 0x0000010 + +gUnk_0811BC98:: @ 0811BC98 + .incbin "baserom.gba", 0x11BC98, 0x000001C + +gUnk_0811BCB4:: @ 0811BCB4 + .incbin "baserom.gba", 0x11BCB4, 0x0000010 diff --git a/linker.ld b/linker.ld index 46227a68..69466cf5 100644 --- a/linker.ld +++ b/linker.ld @@ -918,6 +918,8 @@ SECTIONS { data/data_080D5360.o(.rodata); src/mainLoop.o(.rodata); data/data_08100CD4.o(.rodata); + src/manager/managerB.o(.rodata); + data/data_0810821C.o(.rodata); src/item.o(.rodata); data/data_0811BD44.o(.rodata); src/object/greatFairy.o(.rodata); diff --git a/src/manager/managerB.c b/src/manager/managerB.c index 763e89ea..a23faacf 100644 --- a/src/manager/managerB.c +++ b/src/manager/managerB.c @@ -6,25 +6,42 @@ #include "area.h" #include "functions.h" -extern void (*(gUnk_08108208[]))(Manager*); +/* + * Manager B is used to create fights: + * It possibly waits for an inhibitor flag to be set, then spawns a bunch of entities (based on room data). + * Once all enemies created this way are dead, it sets a flag. + * (There is also a part about changing the music and setting it back when the fight is done, which is song 0x33 (a fight theme) by default but can be overridden through room data) +*/ + +void (*const ManagerB_ActionFuncs[])(Manager*); void sub_080585F0(Manager* this) { - gUnk_08108208[this->unk_0a](this); + //make a distincion if this is a controller (unk_0a = 0) or a helper (unk_0a = 1) + ManagerB_ActionFuncs[this->unk_0a](this); } -extern void (*(gUnk_08108210[]))(Manager*); +enum ManagerB_State { + Init, + WaitForFlag, + WaitForDone +}; -void sub_08058608(Manager* this) { - gUnk_08108210[this->action](this); +void (*const ManagerB_StateFuncs[])(ManagerB*); + +void ManagerB_Main(ManagerB* this) { + //make a distinction based on the state of this controller + ManagerB_StateFuncs[this->manager.action](this); } -void sub_080586EC(Manager*); +void ManagerB_LoadFight(Manager*); -void sub_08058620(ManagerB* this) { +void ManagerB_Init(ManagerB* this) { + //check if the fight was already completed previously (checks the flag that gets set after the fight is done) if (!CheckFlags(this->unk_3e)) { - this->manager.action = 1; + this->manager.action = WaitForFlag; + //if there is no flag that needs to be set before the fight is started, start it immediately if (!this->unk_3c) { - sub_080586EC(&this->manager); + ManagerB_LoadFight(&this->manager); } sub_0805E3A0(this, 3); } else { @@ -33,10 +50,10 @@ void sub_08058620(ManagerB* this) { } extern void sub_080186C0(u32); -void sub_08058650(ManagerB* this) { +void ManagerB_WaitForFlag(ManagerB* this) { int tmp; if (CheckFlags(this->unk_3c)) { - sub_080586EC(&this->manager); + ManagerB_LoadFight(&this->manager); if (!this->unk_35) { tmp = gRoomVars.field_0x9 ? gRoomVars.field_0x9 : 0x33; this->unk_20 = gArea.musicIndex; @@ -49,9 +66,12 @@ void sub_08058650(ManagerB* this) { extern void sub_0801855C(void); -void sub_080586A8(ManagerB* this) { +void ManagerB_WaitForDone(ManagerB* this) { + //check if all helpers are done if (this->manager.unk_0e) return; + //set the completion flag for the fight SetFlag(this->unk_3e); + //restore music (if it was set, which apparently is only possible if there's a flag the fight waited for) if (this->unk_3c) { if (!this->unk_35) { gArea.musicIndex = this->unk_20; @@ -62,40 +82,45 @@ void sub_080586A8(ManagerB* this) { DeleteThisEntity(); } -ManagerBHelper* sub_08058760(Manager*); -void sub_08058798(ManagerBHelper*, Entity*, u32); +ManagerBHelper* CreateHelper(Manager*); +void ManagerBHelper_Monitor(ManagerBHelper*, Entity*, u32); extern EntityData* GetCurrentRoomProperty(u8); extern Entity* LoadRoomEntity(EntityData*); -void sub_080586EC(Manager* this) { - ManagerBHelper* tmp; +void ManagerB_LoadFight(Manager* this) { + ManagerBHelper* monitor; EntityData* prop; Entity* ent; u32 counter; this->action = 2; this->unk_0e = 0; counter = 0; - tmp = sub_08058760(this); - if (!tmp) DeleteThisEntity(); + //Create a helper to keep track of the created entities. + monitor = CreateHelper(this); + if (!monitor) DeleteThisEntity(); prop = (EntityData*) GetCurrentRoomProperty(this->unk_0b); if (prop) { while (*((u8*)prop) != 0xFF) { ent = LoadRoomEntity(prop++); if (ent && (ent->entityType.type == 3)) { ent->field_0x6c.HALF.HI |= 0x40; - sub_08058798(tmp, ent, counter++); + ManagerBHelper_Monitor(monitor, ent, counter++); } if (counter >= 7) { counter = 0; - tmp = sub_08058760(this); - if (!tmp) return; + monitor = CreateHelper(this); + if (!monitor) return; } } } } -ManagerBHelper* sub_08058760(Manager* this) { +/* + * Create a helper and increment the counter for the number of helpers (unk_0e). + * The helper will decrease said counter when it deletes itself (when none of the enemies it monitors remain). +*/ +ManagerBHelper* CreateHelper(Manager* this) { ManagerBHelper* extra; extra = (ManagerBHelper*) GetEmptyManager(); if (extra) { @@ -110,51 +135,67 @@ ManagerBHelper* sub_08058760(Manager* this) { return extra; } -void sub_08058798(ManagerBHelper* this, Entity* value, u32 index) { - this->enemies[index]=value; +void ManagerBHelper_Monitor(ManagerBHelper* this, Entity* ent, u32 index) { + this->enemies[index]=ent; this->manager.unk_0e++; } -void sub_080587AC(ManagerBHelper* this) { - u8 i, tmp; +//case unk_0a is 1: The manager is a helper + +void ManagerBHelper_Main(Manager* this) { + u8 i, anyRemaining; Entity* current; - if (this->manager.action == 0) { - this->manager.action = 1; + if (this->action == 0) { + this->action = 1; sub_0805E3A0(this,3); } - tmp = 0; + //go through and check all monitored enemies. + anyRemaining = 0; for (i = 0; i < 8; i++) { - if ((current = this->enemies[i])) { + if ((current = ((ManagerBHelper*)this)->enemies[i])) { if (!current->next) { - this->enemies[i] = 0; + ((ManagerBHelper*) this)->enemies[i] = 0; } else { - tmp = 1; + anyRemaining = 1; } } } - if (!tmp) { - if (((ManagerB*) this->manager.parent)->manager.unk_0e) { - ((ManagerB*) this->manager.parent)->manager.unk_0e--; + if (!anyRemaining) { + //inform the parent that we're done + if (((ManagerB*) this->parent)->manager.unk_0e) { + ((ManagerB*) this->parent)->manager.unk_0e--; } - DeleteThisEntity(); + DeleteThisEntity(); } } extern Manager gUnk_03003DB0; -void sub_08058800(Entity* this, Entity* unk1) { +/* + * Replace an entity that is currently being monitored with a new one +*/ +void ReplaceMonitoredEntity(Entity* old, Entity* new) { ManagerBHelper* current; Manager* end = &gUnk_03003DB0; u32 i; for (current = (ManagerBHelper*) end->next; (Manager*)current != end; current=(ManagerBHelper*)current->manager.next) { if (current->manager.type != 0x9 || current->manager.subtype != 0xB) continue; for (i = 0; i < 8; i++) { - if (this == current->enemies[i]) { - current->enemies[i] = unk1; + if (old == current->enemies[i]) { + current->enemies[i] = new; return; } } } } +void (*const ManagerB_ActionFuncs[])(Manager*) = { + (void (*)(Manager*)) ManagerB_Main, + (void (*)(Manager*)) ManagerBHelper_Main +}; +void (*const ManagerB_StateFuncs[])(ManagerB*) = { + ManagerB_Init, + ManagerB_WaitForFlag, + ManagerB_WaitForDone +}; From 6550bf3f044678db5f1e5fca2ff0dad37069016f Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 23 Aug 2020 13:44:43 -0500 Subject: [PATCH 007/105] Label map-related symbols --- asm/code_08000108.s | 16 ++++++++-------- asm/code_0801D79C.s | 16 ++++++++-------- asm/code_080526F8.s | 36 ++++++++++++++++++------------------ asm/code_0807B9B8.s | 18 +++++++++--------- asm/code_080A5574.s | 8 ++++---- asm/gyorgFemale.s | 6 +++--- data/data_08100CD4.s | 4 ++-- data/data_0811BD44.s | 2 +- linker.ld | 8 ++++---- src/sub_0807C998.c | 12 ++++++------ 10 files changed, 63 insertions(+), 63 deletions(-) diff --git a/asm/code_08000108.s b/asm/code_08000108.s index 2e6cc668..04c7b12a 100644 --- a/asm/code_08000108.s +++ b/asm/code_08000108.s @@ -140,13 +140,13 @@ _08000224: .4byte gUnk_08000228 gUnk_08000228:: .4byte gUnk_02025EB4 gUnk_0800022C:: - .4byte gUnk_0202AEB4 + .4byte gMetatileTypesBottom .4byte gUnk_02025EB4 - .4byte gUnk_0202AEB4 + .4byte gMetatileTypesBottom .4byte gUnk_0200B654 - .4byte gUnk_02010654 + .4byte gMetatileTypesTop .4byte gUnk_02025EB4 - .4byte gUnk_0202AEB4 + .4byte gMetatileTypesBottom gUnk_08000248:: .4byte gUnk_02027EB4 .4byte gUnk_02027EB4 @@ -154,13 +154,13 @@ gUnk_08000248:: .4byte gUnk_02027EB4 gUnk_08000258:: .4byte gUnk_02028EB4 - .4byte gUnk_0202AEB4 + .4byte gMetatileTypesBottom .4byte gUnk_02028EB4 - .4byte gUnk_0202AEB4 + .4byte gMetatileTypesBottom .4byte gUnk_0200E654 - .4byte gUnk_02010654 + .4byte gMetatileTypesTop .4byte gUnk_02028EB4 - .4byte gUnk_0202AEB4 + .4byte gMetatileTypesBottom gUnk_08000278:: .4byte gUnk_02030EB4 .4byte gUnk_02030EB4 diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index c6f9b660..0d7fa584 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -491,7 +491,7 @@ _0801DC26: ldr r3, [sp] cmp r0, #0 bne _0801DCA6 - ldr r0, _0801DC88 @ =gUnk_0811E214 + ldr r0, _0801DC88 @ =gAreas ldrb r2, [r6] lsls r2, r2, #2 adds r2, r2, r0 @@ -526,7 +526,7 @@ _0801DC26: b _0801DC9E .align 2, 0 _0801DC84: .4byte 0x000007FF -_0801DC88: .4byte gUnk_0811E214 +_0801DC88: .4byte gAreas _0801DC8C: ldrh r0, [r2] ands r0, r7 @@ -562,7 +562,7 @@ _0801DCAE: bl CheckGlobalFlag cmp r0, #0 bne _0801DD16 - ldr r0, _0801DD50 @ =gUnk_0811E214 + ldr r0, _0801DD50 @ =gAreas ldrb r2, [r6] lsls r2, r2, #2 adds r2, r2, r0 @@ -632,12 +632,12 @@ _0801DD42: pop {r4, r5, r6, r7, pc} .align 2, 0 _0801DD4C: .4byte gArea -_0801DD50: .4byte gUnk_0811E214 +_0801DD50: .4byte gAreas _0801DD54: .4byte gScreenTransition thumb_func_start sub_0801DD58 sub_0801DD58: @ 0x0801DD58 - ldr r2, _0801DD7C @ =gUnk_0811E214 + ldr r2, _0801DD7C @ =gAreas lsls r0, r0, #2 adds r0, r0, r2 lsls r2, r1, #2 @@ -656,7 +656,7 @@ sub_0801DD58: @ 0x0801DD58 strh r0, [r1, #6] bx lr .align 2, 0 -_0801DD7C: .4byte gUnk_0811E214 +_0801DD7C: .4byte gAreas _0801DD80: .4byte gArea _0801DD84: .4byte 0x0000085C @@ -770,7 +770,7 @@ _0801DE46: ldr r0, _0801DF04 @ =0x84000100 str r0, [r2, #8] ldr r0, [r2, #8] - ldr r0, _0801DF08 @ =gUnk_0811E214 + ldr r0, _0801DF08 @ =gAreas ldrb r2, [r4] lsls r2, r2, #2 adds r2, r2, r0 @@ -850,7 +850,7 @@ _0801DEF8: .4byte 0x040000D4 _0801DEFC: .4byte gUnk_08324AE4 _0801DF00: .4byte gUnk_02019EE0 _0801DF04: .4byte 0x84000100 -_0801DF08: .4byte gUnk_0811E214 +_0801DF08: .4byte gAreas _0801DF0C: .4byte 0x000007FF thumb_func_start sub_0801DF10 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 592d77e2..3d5e118a 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -742,7 +742,7 @@ _08052CA0: .4byte gPlayerEntity thumb_func_start sub_08052CA4 sub_08052CA4: @ 0x08052CA4 push {r4, lr} - ldr r4, _08052CC8 @ =gUnk_0811E214 + ldr r4, _08052CC8 @ =gAreas lsls r0, r0, #2 adds r0, r0, r4 lsls r4, r1, #2 @@ -759,13 +759,13 @@ sub_08052CA4: @ 0x08052CA4 strh r0, [r4, #0x22] pop {r4, pc} .align 2, 0 -_08052CC8: .4byte gUnk_0811E214 +_08052CC8: .4byte gAreas _08052CCC: .4byte gScreenTransition thumb_func_start sub_08052CD0 sub_08052CD0: @ 0x08052CD0 push {r4, lr} - ldr r4, _08052CF4 @ =gUnk_0811E214 + ldr r4, _08052CF4 @ =gAreas lsls r0, r0, #2 adds r0, r0, r4 lsls r4, r1, #2 @@ -782,7 +782,7 @@ sub_08052CD0: @ 0x08052CD0 strh r0, [r4, #0x1e] pop {r4, pc} .align 2, 0 -_08052CF4: .4byte gUnk_0811E214 +_08052CF4: .4byte gAreas _08052CF8: .4byte gScreenTransition thumb_func_start sub_08052CFC @@ -871,7 +871,7 @@ _08052DA4: .4byte 0x0000088C thumb_func_start sub_08052DA8 sub_08052DA8: @ 0x08052DA8 push {r4, r5, r6, r7, lr} - ldr r1, _08052DF8 @ =gUnk_0811E214 + ldr r1, _08052DF8 @ =gAreas ldr r0, _08052DFC @ =gRoomControls ldrb r0, [r0, #4] lsls r0, r0, #2 @@ -911,7 +911,7 @@ _08052DE8: str r0, [r1] pop {r4, r5, r6, r7, pc} .align 2, 0 -_08052DF8: .4byte gUnk_0811E214 +_08052DF8: .4byte gAreas _08052DFC: .4byte gRoomControls _08052E00: .4byte gUnk_02033ACC _08052E04: .4byte 0x0000FFFF @@ -930,7 +930,7 @@ sub_08052E10: @ 0x08052E10 strh r0, [r5] ldrh r0, [r1, #6] strh r0, [r5, #2] - ldr r4, _08052E74 @ =gUnk_0810246C + ldr r4, _08052E74 @ =gAreaTilesets lsls r2, r2, #2 adds r4, r2, r4 ldrh r0, [r1, #8] @@ -946,7 +946,7 @@ sub_08052E10: @ 0x08052E10 adds r0, r3, r0 ldr r0, [r0] str r0, [r5, #0xc] - ldr r0, _08052E7C @ =gUnk_0810309C + ldr r0, _08052E7C @ =gAreaMetatiles adds r0, r2, r0 ldr r0, [r0] str r0, [r5, #0x10] @@ -971,9 +971,9 @@ sub_08052E10: @ 0x08052E10 _08052E70: pop {r4, r5, pc} .align 2, 0 -_08052E74: .4byte gUnk_0810246C +_08052E74: .4byte gAreaTilesets _08052E78: .4byte gUnk_08107988 -_08052E7C: .4byte gUnk_0810309C +_08052E7C: .4byte gAreaMetatiles _08052E80: .4byte gUnk_080B755C _08052E84: .4byte gUnk_0813A7F0 _08052E88: .4byte gUnk_080D50FC @@ -1180,7 +1180,7 @@ sub_08052FF4: @ 0x08052FF4 movs r1, #0x20 bl _DmaZero str r5, [r5, #0x20] - ldr r0, _08053078 @ =gUnk_0811E214 + ldr r0, _08053078 @ =gAreas lsls r6, r6, #2 adds r0, r6, r0 lsls r2, r4, #2 @@ -1196,7 +1196,7 @@ sub_08052FF4: @ 0x08052FF4 strh r1, [r5] ldrh r1, [r0, #6] strh r1, [r5, #2] - ldr r1, _0805307C @ =gUnk_0810246C + ldr r1, _0805307C @ =gAreaTilesets adds r1, r6, r1 ldrh r0, [r0, #8] ldr r1, [r1] @@ -1210,7 +1210,7 @@ sub_08052FF4: @ 0x08052FF4 adds r2, r2, r0 ldr r0, [r2] str r0, [r5, #0xc] - ldr r0, _08053084 @ =gUnk_0810309C + ldr r0, _08053084 @ =gAreaMetatiles adds r0, r6, r0 ldr r0, [r0] str r0, [r5, #0x10] @@ -1223,10 +1223,10 @@ sub_08052FF4: @ 0x08052FF4 _0805306C: .4byte gRoomControls _08053070: .4byte gScreen _08053074: .4byte gUnk_020342CC -_08053078: .4byte gUnk_0811E214 -_0805307C: .4byte gUnk_0810246C +_08053078: .4byte gAreas +_0805307C: .4byte gAreaTilesets _08053080: .4byte gUnk_08107988 -_08053084: .4byte gUnk_0810309C +_08053084: .4byte gAreaMetatiles _08053088: .4byte gUnk_080B755C thumb_func_start sub_0805308C @@ -1533,7 +1533,7 @@ _080532E0: thumb_func_start sub_080532E4 sub_080532E4: @ 0x080532E4 - ldr r0, _08053318 @ =gUnk_0811E214 + ldr r0, _08053318 @ =gAreas movs r1, #0xb0 lsls r1, r1, #1 adds r0, r0, r1 @@ -1560,7 +1560,7 @@ sub_080532E4: @ 0x080532E4 strh r0, [r1, #0x1e] bx lr .align 2, 0 -_08053318: .4byte gUnk_0811E214 +_08053318: .4byte gAreas _0805331C: .4byte gScreenTransition thumb_func_start sub_08053320 diff --git a/asm/code_0807B9B8.s b/asm/code_0807B9B8.s index 7e0aeea9..97ec7f4d 100644 --- a/asm/code_0807B9B8.s +++ b/asm/code_0807B9B8.s @@ -286,9 +286,9 @@ sub_0807BBE4: @ 0x0807BBE4 mov r6, sb mov r5, r8 push {r5, r6, r7} - ldr r0, _0807BC28 @ =gUnk_0202AEB4 + ldr r0, _0807BC28 @ =gMetatileTypesBottom mov sl, r0 - ldr r0, _0807BC2C @ =gUnk_02010654 + ldr r0, _0807BC2C @ =gMetatileTypesTop mov sb, r0 ldr r5, _0807BC30 @ =0xFFFFB000 add r5, sl @@ -316,8 +316,8 @@ _0807BC14: add r0, ip b _0807BC4C .align 2, 0 -_0807BC28: .4byte gUnk_0202AEB4 -_0807BC2C: .4byte gUnk_02010654 +_0807BC28: .4byte gMetatileTypesBottom +_0807BC2C: .4byte gMetatileTypesTop _0807BC30: .4byte 0xFFFFB000 _0807BC34: .4byte 0xFFFFD000 _0807BC38: .4byte 0x00003FFF @@ -815,7 +815,7 @@ sub_0807BFD0: @ 0x0807BFD0 bl sub_0801B170 bl sub_0807BFA8 ldr r7, _0807C0B8 @ =0x0000FFFF - ldr r6, _0807C0BC @ =gUnk_0202AEB4 + ldr r6, _0807C0BC @ =gMetatileTypesBottom movs r0, #0x80 lsls r0, r0, #5 mov r8, r0 @@ -825,7 +825,7 @@ sub_0807BFD0: @ 0x0807BFD0 bl _DmaFill16 movs r5, #0 strh r5, [r6] - ldr r4, _0807C0C0 @ =gUnk_02010654 + ldr r4, _0807C0C0 @ =gMetatileTypesTop adds r0, r7, #0 adds r1, r4, #0 mov r2, r8 @@ -894,7 +894,7 @@ _0807C078: ble _0807C066 movs r2, #0x80 lsls r2, r2, #5 - ldr r5, _0807C0C0 @ =gUnk_02010654 + ldr r5, _0807C0C0 @ =gMetatileTypesTop adds r6, r5, r2 ldr r4, _0807C0B8 @ =0x0000FFFF adds r0, r4, #0 @@ -922,8 +922,8 @@ _0807C0A8: pop {r4, r5, r6, r7, pc} .align 2, 0 _0807C0B8: .4byte 0x0000FFFF -_0807C0BC: .4byte gUnk_0202AEB4 -_0807C0C0: .4byte gUnk_02010654 +_0807C0BC: .4byte gMetatileTypesBottom +_0807C0C0: .4byte gMetatileTypesTop _0807C0C4: .4byte gRoomControls _0807C0C8: .4byte gArea _0807C0CC: .4byte 0x0000085C diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index fa3d8dd2..f609214a 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -2632,7 +2632,7 @@ _080A6A26: bne _080A6A30 movs r2, #9 _080A6A30: - ldr r1, _080A6A40 @ =gUnk_0811E214 + ldr r1, _080A6A40 @ =gAreas lsls r0, r2, #2 adds r0, r0, r1 ldr r0, [r0] @@ -2640,7 +2640,7 @@ _080A6A30: subs r6, r6, r0 b _080A6A48 .align 2, 0 -_080A6A40: .4byte gUnk_0811E214 +_080A6A40: .4byte gAreas _080A6A44: ldr r0, _080A6A78 @ =0xFFFFFEF8 adds r7, r7, r0 @@ -3233,7 +3233,7 @@ sub_080A6EE0: @ 0x080A6EE0 adds r1, r1, r0 ldrh r3, [r1, #6] ldrh r4, [r1, #8] - ldr r0, _080A6F38 @ =gUnk_0811E214 + ldr r0, _080A6F38 @ =gAreas ldrb r2, [r1, #0xb] lsls r2, r2, #2 adds r2, r2, r0 @@ -3267,7 +3267,7 @@ sub_080A6EE0: @ 0x080A6EE0 pop {r4, r5, r6, pc} .align 2, 0 _080A6F34: .4byte gUnk_08128024 -_080A6F38: .4byte gUnk_0811E214 +_080A6F38: .4byte gAreas _080A6F3C: .4byte gUnk_03001010 thumb_func_start sub_080A6F40 diff --git a/asm/gyorgFemale.s b/asm/gyorgFemale.s index 04dfbde8..c7a2f7e0 100644 --- a/asm/gyorgFemale.s +++ b/asm/gyorgFemale.s @@ -505,7 +505,7 @@ sub_08046518: @ 0x08046518 mov r5, r8 push {r5, r6, r7} sub sp, #8 - ldr r1, _080465AC @ =gUnk_02010654 + ldr r1, _080465AC @ =gMetatileTypesTop ldr r2, _080465B0 @ =0xFFFFBCB0 adds r0, r1, r2 ldr r3, _080465B4 @ =0xFFFFECB0 @@ -541,7 +541,7 @@ _08046560: strh r0, [r4] ldrh r0, [r3] lsls r0, r0, #1 - ldr r7, _080465AC @ =gUnk_02010654 + ldr r7, _080465AC @ =gMetatileTypesTop adds r0, r0, r7 ldrh r1, [r0] ldr r0, [sp, #4] @@ -575,7 +575,7 @@ _08046560: mov sl, r5 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080465AC: .4byte gUnk_02010654 +_080465AC: .4byte gMetatileTypesTop _080465B0: .4byte 0xFFFFBCB0 _080465B4: .4byte 0xFFFFECB0 _080465B8: .4byte 0x00006658 diff --git a/data/data_08100CD4.s b/data/data_08100CD4.s index 9db10a44..e5dab95e 100755 --- a/data/data_08100CD4.s +++ b/data/data_08100CD4.s @@ -916,7 +916,7 @@ gUnk_08102451:: @ 08102451 gUnk_08102468:: @ 08102468 .incbin "baserom.gba", 0x102468, 0x0000004 -gUnk_0810246C:: @ 0810246C +gAreaTilesets:: @ 0810246C .incbin "baserom.gba", 0x10246C, 0x0000048 gUnk_081024B4:: @ 081024B4 @@ -1126,7 +1126,7 @@ gUnk_0810303C:: @ 0810303C gUnk_0810306C:: @ 0810306C .incbin "baserom.gba", 0x10306C, 0x0000030 -gUnk_0810309C:: @ 0810309C +gAreaMetatiles:: @ 0810309C .incbin "baserom.gba", 0x10309C, 0x0000068 gUnk_08103104:: @ 08103104 diff --git a/data/data_0811BD44.s b/data/data_0811BD44.s index 5b69f1b4..69c6079b 100644 --- a/data/data_0811BD44.s +++ b/data/data_0811BD44.s @@ -463,7 +463,7 @@ gUnk_0811E1FC:: @ 0811E1FC gUnk_0811E208:: @ 0811E208 .incbin "baserom.gba", 0x11E208, 0x000000C -gUnk_0811E214:: @ 0811E214 +gAreas:: @ 0811E214 .incbin "baserom.gba", 0x11E214, 0x0000240 gUnk_0811E454:: @ 0811E454 diff --git a/linker.ld b/linker.ld index 46227a68..30f99a89 100644 --- a/linker.ld +++ b/linker.ld @@ -56,9 +56,9 @@ SECTIONS { . = 0x0000B654; gUnk_0200B654 = .; . = 0x0000D654; gUnk_0200D654 = .; . = 0x0000E654; gUnk_0200E654 = .; - . = 0x00010654; gUnk_02010654 = .; + . = 0x00010654; gMetatileTypesTop = .; . = 0x00011654; gUnk_02011654 = .; - . = 0x00012654; gUnk_02012654 = .; + . = 0x00012654; gMetatilesTop = .; . = 0x00016654; gUnk_02016654 = .; . = 0x00017654; gUnk_02017654 = .; . = 0x00017660; gUnk_02017660 = .; @@ -101,9 +101,9 @@ SECTIONS { . = 0x00025EB4; gUnk_02025EB4 = .; . = 0x00027EB4; gUnk_02027EB4 = .; . = 0x00028EB4; gUnk_02028EB4 = .; - . = 0x0002AEB4; gUnk_0202AEB4 = .; + . = 0x0002AEB4; gMetatileTypesBottom = .; . = 0x0002BEB4; gUnk_0202BEB4 = .; - . = 0x0002CEB4; gUnk_0202CEB4 = .; + . = 0x0002CEB4; gMetatilesBottom = .; . = 0x00030EB4; gUnk_02030EB4 = .; . = 0x00031EC0; gUnk_02031EC0 = .; . = 0x00032EC0; gUnk_02032EC0 = .; diff --git a/src/sub_0807C998.c b/src/sub_0807C998.c index bc31e322..77dff7bf 100644 --- a/src/sub_0807C998.c +++ b/src/sub_0807C998.c @@ -2,8 +2,8 @@ #include "entity.h" extern void sub_0807C960(); -extern u32 gUnk_0202CEB4; -extern u32 gUnk_02012654; +extern u16 gMetatilesBottom[]; +extern u16 gMetatilesTop[]; extern u8 gUnk_08324AE4; void sub_0807C960(void* dest, u32 offset) @@ -22,8 +22,8 @@ void sub_0807C960(void* dest, u32 offset) } void sub_0807C998(u32* a1) { - sub_0807C960(&gUnk_0202CEB4, a1[0]); - sub_0807C960(&gUnk_0202CEB4 - 0x800, a1[1]); - sub_0807C960(&gUnk_02012654, a1[2]); - sub_0807C960(&gUnk_02012654 - 0x800, a1[3]); + sub_0807C960(gMetatilesBottom, a1[0]); + sub_0807C960(gMetatilesBottom - 0x1000, a1[1]); + sub_0807C960(gMetatilesTop, a1[2]); + sub_0807C960(gMetatilesTop - 0x1000, a1[3]); } \ No newline at end of file From e9c3dfcd537a2acaa772011645340d7e26886423 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 23 Aug 2020 16:03:18 -0500 Subject: [PATCH 008/105] Dump and label room headers --- asm/code_0801D79C.s | 16 +- asm/code_080526F8.s | 20 +- asm/code_080A5574.s | 8 +- asm/macros.inc | 1 + asm/macros/map.inc | 12 + data/data_0811BD44.s | 1272 ------------------------------------------ data/data_0811E454.s | 992 ++++++++++++++++++++++++++++++++ data/room_headers.s | 1166 ++++++++++++++++++++++++++++++++++++++ linker.ld | 2 + 9 files changed, 2195 insertions(+), 1294 deletions(-) create mode 100755 asm/macros/map.inc create mode 100755 data/data_0811E454.s create mode 100755 data/room_headers.s diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 0d7fa584..05616bc7 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -491,7 +491,7 @@ _0801DC26: ldr r3, [sp] cmp r0, #0 bne _0801DCA6 - ldr r0, _0801DC88 @ =gAreas + ldr r0, _0801DC88 @ =gAreaRoomHeaders ldrb r2, [r6] lsls r2, r2, #2 adds r2, r2, r0 @@ -526,7 +526,7 @@ _0801DC26: b _0801DC9E .align 2, 0 _0801DC84: .4byte 0x000007FF -_0801DC88: .4byte gAreas +_0801DC88: .4byte gAreaRoomHeaders _0801DC8C: ldrh r0, [r2] ands r0, r7 @@ -562,7 +562,7 @@ _0801DCAE: bl CheckGlobalFlag cmp r0, #0 bne _0801DD16 - ldr r0, _0801DD50 @ =gAreas + ldr r0, _0801DD50 @ =gAreaRoomHeaders ldrb r2, [r6] lsls r2, r2, #2 adds r2, r2, r0 @@ -632,12 +632,12 @@ _0801DD42: pop {r4, r5, r6, r7, pc} .align 2, 0 _0801DD4C: .4byte gArea -_0801DD50: .4byte gAreas +_0801DD50: .4byte gAreaRoomHeaders _0801DD54: .4byte gScreenTransition thumb_func_start sub_0801DD58 sub_0801DD58: @ 0x0801DD58 - ldr r2, _0801DD7C @ =gAreas + ldr r2, _0801DD7C @ =gAreaRoomHeaders lsls r0, r0, #2 adds r0, r0, r2 lsls r2, r1, #2 @@ -656,7 +656,7 @@ sub_0801DD58: @ 0x0801DD58 strh r0, [r1, #6] bx lr .align 2, 0 -_0801DD7C: .4byte gAreas +_0801DD7C: .4byte gAreaRoomHeaders _0801DD80: .4byte gArea _0801DD84: .4byte 0x0000085C @@ -770,7 +770,7 @@ _0801DE46: ldr r0, _0801DF04 @ =0x84000100 str r0, [r2, #8] ldr r0, [r2, #8] - ldr r0, _0801DF08 @ =gAreas + ldr r0, _0801DF08 @ =gAreaRoomHeaders ldrb r2, [r4] lsls r2, r2, #2 adds r2, r2, r0 @@ -850,7 +850,7 @@ _0801DEF8: .4byte 0x040000D4 _0801DEFC: .4byte gUnk_08324AE4 _0801DF00: .4byte gUnk_02019EE0 _0801DF04: .4byte 0x84000100 -_0801DF08: .4byte gAreas +_0801DF08: .4byte gAreaRoomHeaders _0801DF0C: .4byte 0x000007FF thumb_func_start sub_0801DF10 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 3d5e118a..bb4bcbcc 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -742,7 +742,7 @@ _08052CA0: .4byte gPlayerEntity thumb_func_start sub_08052CA4 sub_08052CA4: @ 0x08052CA4 push {r4, lr} - ldr r4, _08052CC8 @ =gAreas + ldr r4, _08052CC8 @ =gAreaRoomHeaders lsls r0, r0, #2 adds r0, r0, r4 lsls r4, r1, #2 @@ -759,13 +759,13 @@ sub_08052CA4: @ 0x08052CA4 strh r0, [r4, #0x22] pop {r4, pc} .align 2, 0 -_08052CC8: .4byte gAreas +_08052CC8: .4byte gAreaRoomHeaders _08052CCC: .4byte gScreenTransition thumb_func_start sub_08052CD0 sub_08052CD0: @ 0x08052CD0 push {r4, lr} - ldr r4, _08052CF4 @ =gAreas + ldr r4, _08052CF4 @ =gAreaRoomHeaders lsls r0, r0, #2 adds r0, r0, r4 lsls r4, r1, #2 @@ -782,7 +782,7 @@ sub_08052CD0: @ 0x08052CD0 strh r0, [r4, #0x1e] pop {r4, pc} .align 2, 0 -_08052CF4: .4byte gAreas +_08052CF4: .4byte gAreaRoomHeaders _08052CF8: .4byte gScreenTransition thumb_func_start sub_08052CFC @@ -871,7 +871,7 @@ _08052DA4: .4byte 0x0000088C thumb_func_start sub_08052DA8 sub_08052DA8: @ 0x08052DA8 push {r4, r5, r6, r7, lr} - ldr r1, _08052DF8 @ =gAreas + ldr r1, _08052DF8 @ =gAreaRoomHeaders ldr r0, _08052DFC @ =gRoomControls ldrb r0, [r0, #4] lsls r0, r0, #2 @@ -911,7 +911,7 @@ _08052DE8: str r0, [r1] pop {r4, r5, r6, r7, pc} .align 2, 0 -_08052DF8: .4byte gAreas +_08052DF8: .4byte gAreaRoomHeaders _08052DFC: .4byte gRoomControls _08052E00: .4byte gUnk_02033ACC _08052E04: .4byte 0x0000FFFF @@ -1180,7 +1180,7 @@ sub_08052FF4: @ 0x08052FF4 movs r1, #0x20 bl _DmaZero str r5, [r5, #0x20] - ldr r0, _08053078 @ =gAreas + ldr r0, _08053078 @ =gAreaRoomHeaders lsls r6, r6, #2 adds r0, r6, r0 lsls r2, r4, #2 @@ -1223,7 +1223,7 @@ sub_08052FF4: @ 0x08052FF4 _0805306C: .4byte gRoomControls _08053070: .4byte gScreen _08053074: .4byte gUnk_020342CC -_08053078: .4byte gAreas +_08053078: .4byte gAreaRoomHeaders _0805307C: .4byte gAreaTilesets _08053080: .4byte gUnk_08107988 _08053084: .4byte gAreaMetatiles @@ -1533,7 +1533,7 @@ _080532E0: thumb_func_start sub_080532E4 sub_080532E4: @ 0x080532E4 - ldr r0, _08053318 @ =gAreas + ldr r0, _08053318 @ =gAreaRoomHeaders movs r1, #0xb0 lsls r1, r1, #1 adds r0, r0, r1 @@ -1560,7 +1560,7 @@ sub_080532E4: @ 0x080532E4 strh r0, [r1, #0x1e] bx lr .align 2, 0 -_08053318: .4byte gAreas +_08053318: .4byte gAreaRoomHeaders _0805331C: .4byte gScreenTransition thumb_func_start sub_08053320 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index f609214a..ba695e1a 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -2632,7 +2632,7 @@ _080A6A26: bne _080A6A30 movs r2, #9 _080A6A30: - ldr r1, _080A6A40 @ =gAreas + ldr r1, _080A6A40 @ =gAreaRoomHeaders lsls r0, r2, #2 adds r0, r0, r1 ldr r0, [r0] @@ -2640,7 +2640,7 @@ _080A6A30: subs r6, r6, r0 b _080A6A48 .align 2, 0 -_080A6A40: .4byte gAreas +_080A6A40: .4byte gAreaRoomHeaders _080A6A44: ldr r0, _080A6A78 @ =0xFFFFFEF8 adds r7, r7, r0 @@ -3233,7 +3233,7 @@ sub_080A6EE0: @ 0x080A6EE0 adds r1, r1, r0 ldrh r3, [r1, #6] ldrh r4, [r1, #8] - ldr r0, _080A6F38 @ =gAreas + ldr r0, _080A6F38 @ =gAreaRoomHeaders ldrb r2, [r1, #0xb] lsls r2, r2, #2 adds r2, r2, r0 @@ -3267,7 +3267,7 @@ sub_080A6EE0: @ 0x080A6EE0 pop {r4, r5, r6, pc} .align 2, 0 _080A6F34: .4byte gUnk_08128024 -_080A6F38: .4byte gAreas +_080A6F38: .4byte gAreaRoomHeaders _080A6F3C: .4byte gUnk_03001010 thumb_func_start sub_080A6F40 diff --git a/asm/macros.inc b/asm/macros.inc index 798099fb..ca425a46 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -1,3 +1,4 @@ .include "asm/macros/asm.inc" .include "asm/macros/function.inc" .include "asm/macros/m4a.inc" + .include "asm/macros/map.inc" diff --git a/asm/macros/map.inc b/asm/macros/map.inc new file mode 100755 index 00000000..d90ed119 --- /dev/null +++ b/asm/macros/map.inc @@ -0,0 +1,12 @@ + .ifndef GUARD_ASM_MACROS_MAP_INC + .set GUARD_ASM_MACROS_MAP_INC, 1 + + .macro room_header map_x, map_y, pixel_width, pixel_height, tileset_id + .2byte (\map_x) << 4 + .2byte (\map_y) << 4 + .2byte \pixel_width + .2byte \pixel_height + .2byte \tileset_id + .endm + + .endif @ GUARD_ASM_MACROS_MAP_INC diff --git a/data/data_0811BD44.s b/data/data_0811BD44.s index 69c6079b..9ff36b90 100644 --- a/data/data_0811BD44.s +++ b/data/data_0811BD44.s @@ -180,1275 +180,3 @@ gUnk_0811C456:: @ 0811C456 gUnk_0811C466:: @ 0811C466 .incbin "baserom.gba", 0x11C466, 0x0000022 - -gUnk_0811C488:: @ 0811C488 - .incbin "baserom.gba", 0x11C488, 0x000000C - -gUnk_0811C494:: @ 0811C494 - .incbin "baserom.gba", 0x11C494, 0x0000016 - -gUnk_0811C4AA:: @ 0811C4AA - .incbin "baserom.gba", 0x11C4AA, 0x0000016 - -gUnk_0811C4C0:: @ 0811C4C0 - .incbin "baserom.gba", 0x11C4C0, 0x0000066 - -gUnk_0811C526:: @ 0811C526 - .incbin "baserom.gba", 0x11C526, 0x000000C - -gUnk_0811C532:: @ 0811C532 - .incbin "baserom.gba", 0x11C532, 0x000003E - -gUnk_0811C570:: @ 0811C570 - .incbin "baserom.gba", 0x11C570, 0x0000034 - -gUnk_0811C5A4:: @ 0811C5A4 - .incbin "baserom.gba", 0x11C5A4, 0x000000C - -gUnk_0811C5B0:: @ 0811C5B0 - .incbin "baserom.gba", 0x11C5B0, 0x0000020 - -gUnk_0811C5D0:: @ 0811C5D0 - .incbin "baserom.gba", 0x11C5D0, 0x0000016 - -gUnk_0811C5E6:: @ 0811C5E6 - .incbin "baserom.gba", 0x11C5E6, 0x000000C - -gUnk_0811C5F2:: @ 0811C5F2 - .incbin "baserom.gba", 0x11C5F2, 0x0000016 - -gUnk_0811C608:: @ 0811C608 - .incbin "baserom.gba", 0x11C608, 0x000000C - -gUnk_0811C614:: @ 0811C614 - .incbin "baserom.gba", 0x11C614, 0x00000D4 - -gUnk_0811C6E8:: @ 0811C6E8 - .incbin "baserom.gba", 0x11C6E8, 0x0000002 - -gUnk_0811C6EA:: @ 0811C6EA - .incbin "baserom.gba", 0x11C6EA, 0x000000C - -gUnk_0811C6F6:: @ 0811C6F6 - .incbin "baserom.gba", 0x11C6F6, 0x000000C - -gUnk_0811C702:: @ 0811C702 - .incbin "baserom.gba", 0x11C702, 0x0000034 - -gUnk_0811C736:: @ 0811C736 - .incbin "baserom.gba", 0x11C736, 0x000002A - -gUnk_0811C760:: @ 0811C760 - .incbin "baserom.gba", 0x11C760, 0x000002A - -gUnk_0811C78A:: @ 0811C78A - .incbin "baserom.gba", 0x11C78A, 0x000000C - -gUnk_0811C796:: @ 0811C796 - .incbin "baserom.gba", 0x11C796, 0x000000C - -gUnk_0811C7A2:: @ 0811C7A2 - .incbin "baserom.gba", 0x11C7A2, 0x000000C - -gUnk_0811C7AE:: @ 0811C7AE - .incbin "baserom.gba", 0x11C7AE, 0x000000C - -gUnk_0811C7BA:: @ 0811C7BA - .incbin "baserom.gba", 0x11C7BA, 0x0000034 - -gUnk_0811C7EE:: @ 0811C7EE - .incbin "baserom.gba", 0x11C7EE, 0x0000016 - -gUnk_0811C804:: @ 0811C804 - .incbin "baserom.gba", 0x11C804, 0x000000C - -gUnk_0811C810:: @ 0811C810 - .incbin "baserom.gba", 0x11C810, 0x0000192 - -gUnk_0811C9A2:: @ 0811C9A2 - .incbin "baserom.gba", 0x11C9A2, 0x0000084 - -gUnk_0811CA26:: @ 0811CA26 - .incbin "baserom.gba", 0x11CA26, 0x00000DE - -gUnk_0811CB04:: @ 0811CB04 - .incbin "baserom.gba", 0x11CB04, 0x000005C - -gUnk_0811CB60:: @ 0811CB60 - .incbin "baserom.gba", 0x11CB60, 0x0000142 - -gUnk_0811CCA2:: @ 0811CCA2 - .incbin "baserom.gba", 0x11CCA2, 0x000008E - -gUnk_0811CD30:: @ 0811CD30 - .incbin "baserom.gba", 0x11CD30, 0x00000AC - -gUnk_0811CDDC:: @ 0811CDDC - .incbin "baserom.gba", 0x11CDDC, 0x00000B6 - -gUnk_0811CE92:: @ 0811CE92 - .incbin "baserom.gba", 0x11CE92, 0x000003E - -gUnk_0811CED0:: @ 0811CED0 - .incbin "baserom.gba", 0x11CED0, 0x0000020 - -gUnk_0811CEF0:: @ 0811CEF0 - .incbin "baserom.gba", 0x11CEF0, 0x0000034 - -gUnk_0811CF24:: @ 0811CF24 - .incbin "baserom.gba", 0x11CF24, 0x0000016 - -gUnk_0811CF3A:: @ 0811CF3A - .incbin "baserom.gba", 0x11CF3A, 0x0000070 - -gUnk_0811CFAA:: @ 0811CFAA - .incbin "baserom.gba", 0x11CFAA, 0x000016A - -gUnk_0811D114:: @ 0811D114 - .incbin "baserom.gba", 0x11D114, 0x000002A - -gUnk_0811D13E:: @ 0811D13E - .incbin "baserom.gba", 0x11D13E, 0x0000016 - -gUnk_0811D154:: @ 0811D154 - .incbin "baserom.gba", 0x11D154, 0x000002A - -gUnk_0811D17E:: @ 0811D17E - .incbin "baserom.gba", 0x11D17E, 0x000000C - -gUnk_0811D18A:: @ 0811D18A - .incbin "baserom.gba", 0x11D18A, 0x00000F2 - -gUnk_0811D27C:: @ 0811D27C - .incbin "baserom.gba", 0x11D27C, 0x0000066 - -gUnk_0811D2E2:: @ 0811D2E2 - .incbin "baserom.gba", 0x11D2E2, 0x0000016 - -gUnk_0811D2F8:: @ 0811D2F8 - .incbin "baserom.gba", 0x11D2F8, 0x0000066 - -gUnk_0811D35E:: @ 0811D35E - .incbin "baserom.gba", 0x11D35E, 0x0000016 - -gUnk_0811D374:: @ 0811D374 - .incbin "baserom.gba", 0x11D374, 0x0000016 - -gUnk_0811D38A:: @ 0811D38A - .incbin "baserom.gba", 0x11D38A, 0x000000C - -gUnk_0811D396:: @ 0811D396 - .incbin "baserom.gba", 0x11D396, 0x000005C - -gUnk_0811D3F2:: @ 0811D3F2 - .incbin "baserom.gba", 0x11D3F2, 0x0000016 - -gUnk_0811D408:: @ 0811D408 - .incbin "baserom.gba", 0x11D408, 0x0000016 - -gUnk_0811D41E:: @ 0811D41E - .incbin "baserom.gba", 0x11D41E, 0x0000016 - -gUnk_0811D434:: @ 0811D434 - .incbin "baserom.gba", 0x11D434, 0x000000C - -gUnk_0811D440:: @ 0811D440 - .incbin "baserom.gba", 0x11D440, 0x000000C - -gUnk_0811D44C:: @ 0811D44C - .incbin "baserom.gba", 0x11D44C, 0x0000052 - -gUnk_0811D49E:: @ 0811D49E - .incbin "baserom.gba", 0x11D49E, 0x0000020 - -gUnk_0811D4BE:: @ 0811D4BE - .incbin "baserom.gba", 0x11D4BE, 0x000014C - -gUnk_0811D60A:: @ 0811D60A - .incbin "baserom.gba", 0x11D60A, 0x000000C - -gUnk_0811D616:: @ 0811D616 - .incbin "baserom.gba", 0x11D616, 0x000000C - -gUnk_0811D622:: @ 0811D622 - .incbin "baserom.gba", 0x11D622, 0x000000C - -gUnk_0811D62E:: @ 0811D62E - .incbin "baserom.gba", 0x11D62E, 0x00000F2 - -gUnk_0811D720:: @ 0811D720 - .incbin "baserom.gba", 0x11D720, 0x000000C - -gUnk_0811D72C:: @ 0811D72C - .incbin "baserom.gba", 0x11D72C, 0x000000C - -gUnk_0811D738:: @ 0811D738 - .incbin "baserom.gba", 0x11D738, 0x0000174 - -gUnk_0811D8AC:: @ 0811D8AC - .incbin "baserom.gba", 0x11D8AC, 0x000000C - -gUnk_0811D8B8:: @ 0811D8B8 - .incbin "baserom.gba", 0x11D8B8, 0x0000016 - -gUnk_0811D8CE:: @ 0811D8CE - .incbin "baserom.gba", 0x11D8CE, 0x000000C - -gUnk_0811D8DA:: @ 0811D8DA - .incbin "baserom.gba", 0x11D8DA, 0x0000228 - -gUnk_0811DB02:: @ 0811DB02 - .incbin "baserom.gba", 0x11DB02, 0x0000002 - -gUnk_0811DB04:: @ 0811DB04 - .incbin "baserom.gba", 0x11DB04, 0x000000A - -gUnk_0811DB0E:: @ 0811DB0E - .incbin "baserom.gba", 0x11DB0E, 0x00000DE - -gUnk_0811DBEC:: @ 0811DBEC - .incbin "baserom.gba", 0x11DBEC, 0x000003E - -gUnk_0811DC2A:: @ 0811DC2A - .incbin "baserom.gba", 0x11DC2A, 0x000005C - -gUnk_0811DC86:: @ 0811DC86 - .incbin "baserom.gba", 0x11DC86, 0x000000C - -gUnk_0811DC92:: @ 0811DC92 - .incbin "baserom.gba", 0x11DC92, 0x0000200 - -gUnk_0811DE92:: @ 0811DE92 - .incbin "baserom.gba", 0x11DE92, 0x000000C - -gUnk_0811DE9E:: @ 0811DE9E - .incbin "baserom.gba", 0x11DE9E, 0x000000C - -gUnk_0811DEAA:: @ 0811DEAA - .incbin "baserom.gba", 0x11DEAA, 0x0000020 - -gUnk_0811DECA:: @ 0811DECA - .incbin "baserom.gba", 0x11DECA, 0x000000C - -gUnk_0811DED6:: @ 0811DED6 - .incbin "baserom.gba", 0x11DED6, 0x0000034 - -gUnk_0811DF0A:: @ 0811DF0A - .incbin "baserom.gba", 0x11DF0A, 0x000000C - -gUnk_0811DF16:: @ 0811DF16 - .incbin "baserom.gba", 0x11DF16, 0x000000C - -gUnk_0811DF22:: @ 0811DF22 - .incbin "baserom.gba", 0x11DF22, 0x00001D6 - -gUnk_0811E0F8:: @ 0811E0F8 - .incbin "baserom.gba", 0x11E0F8, 0x000007A - -gUnk_0811E172:: @ 0811E172 - .incbin "baserom.gba", 0x11E172, 0x0000052 - -gUnk_0811E1C4:: @ 0811E1C4 - .incbin "baserom.gba", 0x11E1C4, 0x0000020 - -gUnk_0811E1E4:: @ 0811E1E4 - .incbin "baserom.gba", 0x11E1E4, 0x000000C - -gUnk_0811E1F0:: @ 0811E1F0 - .incbin "baserom.gba", 0x11E1F0, 0x000000C - -gUnk_0811E1FC:: @ 0811E1FC - .incbin "baserom.gba", 0x11E1FC, 0x000000C - -gUnk_0811E208:: @ 0811E208 - .incbin "baserom.gba", 0x11E208, 0x000000C - -gAreas:: @ 0811E214 - .incbin "baserom.gba", 0x11E214, 0x0000240 - -gUnk_0811E454:: @ 0811E454 - .incbin "baserom.gba", 0x11E454, 0x000001C - -gUnk_0811E470:: @ 0811E470 - .incbin "baserom.gba", 0x11E470, 0x0000008 - -gUnk_0811E478:: @ 0811E478 - .incbin "baserom.gba", 0x11E478, 0x000000C - -gUnk_0811E484:: @ 0811E484 - .incbin "baserom.gba", 0x11E484, 0x0000020 - -gUnk_0811E4A4:: @ 0811E4A4 - .incbin "baserom.gba", 0x11E4A4, 0x0000008 - -gUnk_0811E4AC:: @ 0811E4AC - .incbin "baserom.gba", 0x11E4AC, 0x0000001 - -gUnk_0811E4AD:: @ 0811E4AD - .incbin "baserom.gba", 0x11E4AD, 0x0000007 - -gUnk_0811E4B4:: @ 0811E4B4 - .incbin "baserom.gba", 0x11E4B4, 0x0000008 - -gUnk_0811E4BC:: @ 0811E4BC - .incbin "baserom.gba", 0x11E4BC, 0x0000054 - -gUnk_0811E510:: @ 0811E510 - .incbin "baserom.gba", 0x11E510, 0x0000004 - -gUnk_0811E514:: @ 0811E514 - .incbin "baserom.gba", 0x11E514, 0x0000010 - -gUnk_0811E524:: @ 0811E524 - .incbin "baserom.gba", 0x11E524, 0x000022C - -gUnk_0811E750:: @ 0811E750 - .incbin "baserom.gba", 0x11E750, 0x0000008 - -gUnk_0811E758:: @ 0811E758 - .incbin "baserom.gba", 0x11E758, 0x0000008 - -gUnk_0811E760:: @ 0811E760 - .incbin "baserom.gba", 0x11E760, 0x0000008 - -gUnk_0811E768:: @ 0811E768 - .incbin "baserom.gba", 0x11E768, 0x0000018 - -gUnk_0811E780:: @ 0811E780 - .incbin "baserom.gba", 0x11E780, 0x000000C - -gUnk_0811E78C:: @ 0811E78C - .incbin "baserom.gba", 0x11E78C, 0x0000008 - -gUnk_0811E794:: @ 0811E794 - .incbin "baserom.gba", 0x11E794, 0x0000018 - -gUnk_0811E7AC:: @ 0811E7AC - .incbin "baserom.gba", 0x11E7AC, 0x0000010 - -gUnk_0811E7BC:: @ 0811E7BC - .incbin "baserom.gba", 0x11E7BC, 0x0000008 - -gUnk_0811E7C4:: @ 0811E7C4 - .incbin "baserom.gba", 0x11E7C4, 0x0000010 - -gUnk_0811E7D4:: @ 0811E7D4 - .incbin "baserom.gba", 0x11E7D4, 0x0000014 - -gUnk_0811E7E8:: @ 0811E7E8 - .incbin "baserom.gba", 0x11E7E8, 0x000002C - -gUnk_0811E814:: @ 0811E814 - .incbin "baserom.gba", 0x11E814, 0x000002C - -gUnk_0811E840:: @ 0811E840 - .incbin "baserom.gba", 0x11E840, 0x000000C - -gUnk_0811E84C:: @ 0811E84C - .incbin "baserom.gba", 0x11E84C, 0x00000B0 - -gUnk_0811E8FC:: @ 0811E8FC - .incbin "baserom.gba", 0x11E8FC, 0x00000FA - -gUnk_0811E9F6:: @ 0811E9F6 - .incbin "baserom.gba", 0x11E9F6, 0x0000001 - -gUnk_0811E9F7:: @ 0811E9F7 - .incbin "baserom.gba", 0x11E9F7, 0x0000124 - -gUnk_0811EB1B:: @ 0811EB1B - .incbin "baserom.gba", 0x11EB1B, 0x00000DE - -gUnk_0811EBF9:: @ 0811EBF9 - .incbin "baserom.gba", 0x11EBF9, 0x0000003 - -gUnk_0811EBFC:: @ 0811EBFC - .incbin "baserom.gba", 0x11EBFC, 0x0000007 - -gUnk_0811EC03:: @ 0811EC03 - .incbin "baserom.gba", 0x11EC03, 0x0000005 - -gUnk_0811EC08:: @ 0811EC08 - .incbin "baserom.gba", 0x11EC08, 0x0000018 - -gUnk_0811EC20:: @ 0811EC20 - .incbin "baserom.gba", 0x11EC20, 0x0000004 - -gUnk_0811EC24:: @ 0811EC24 - .incbin "baserom.gba", 0x11EC24, 0x0000040 - -gUnk_0811EC64:: @ 0811EC64 - .incbin "baserom.gba", 0x11EC64, 0x0000070 - -gUnk_0811ECD4:: @ 0811ECD4 - .incbin "baserom.gba", 0x11ECD4, 0x0000079 - -gUnk_0811ED4D:: @ 0811ED4D - .incbin "baserom.gba", 0x11ED4D, 0x0000039 - -gUnk_0811ED86:: @ 0811ED86 - .incbin "baserom.gba", 0x11ED86, 0x0000031 - -gUnk_0811EDB7:: @ 0811EDB7 - .incbin "baserom.gba", 0x11EDB7, 0x0000034 - -gUnk_0811EDEB:: @ 0811EDEB - .incbin "baserom.gba", 0x11EDEB, 0x0000014 - -gUnk_0811EDFF:: @ 0811EDFF - .incbin "baserom.gba", 0x11EDFF, 0x0000011 - -gUnk_0811EE10:: @ 0811EE10 - .incbin "baserom.gba", 0x11EE10, 0x0000010 - -gUnk_0811EE20:: @ 0811EE20 - .incbin "baserom.gba", 0x11EE20, 0x0000008 - -gUnk_0811EE28:: @ 0811EE28 - .incbin "baserom.gba", 0x11EE28, 0x0000010 - -gUnk_0811EE38:: @ 0811EE38 - .incbin "baserom.gba", 0x11EE38, 0x0000018 - -gUnk_0811EE50:: @ 0811EE50 - .incbin "baserom.gba", 0x11EE50, 0x000000C - -gUnk_0811EE5C:: @ 0811EE5C - .incbin "baserom.gba", 0x11EE5C, 0x0000008 - -gUnk_0811EE64:: @ 0811EE64 - .incbin "baserom.gba", 0x11EE64, 0x0000029 - -gUnk_0811EE8D:: @ 0811EE8D - .incbin "baserom.gba", 0x11EE8D, 0x0000004 - -gUnk_0811EE91:: @ 0811EE91 - .incbin "baserom.gba", 0x11EE91, 0x0000029 - -gUnk_0811EEBA:: @ 0811EEBA - .incbin "baserom.gba", 0x11EEBA, 0x0000004 - -gUnk_0811EEBE:: @ 0811EEBE - .incbin "baserom.gba", 0x11EEBE, 0x0000005 - -gUnk_0811EEC3:: @ 0811EEC3 - .incbin "baserom.gba", 0x11EEC3, 0x0000004 - -gUnk_0811EEC7:: @ 0811EEC7 - .incbin "baserom.gba", 0x11EEC7, 0x0000029 - -gUnk_0811EEF0:: @ 0811EEF0 - .incbin "baserom.gba", 0x11EEF0, 0x0000004 - -gUnk_0811EEF4:: @ 0811EEF4 - .incbin "baserom.gba", 0x11EEF4, 0x0000009 - -gUnk_0811EEFD:: @ 0811EEFD - .incbin "baserom.gba", 0x11EEFD, 0x0000009 - -gUnk_0811EF06:: @ 0811EF06 - .incbin "baserom.gba", 0x11EF06, 0x0000009 - -gUnk_0811EF0F:: @ 0811EF0F - .incbin "baserom.gba", 0x11EF0F, 0x0000028 - -gUnk_0811EF37:: @ 0811EF37 - .incbin "baserom.gba", 0x11EF37, 0x0000018 - -gUnk_0811EF4F:: @ 0811EF4F - .incbin "baserom.gba", 0x11EF4F, 0x0000018 - -gUnk_0811EF67:: @ 0811EF67 - .incbin "baserom.gba", 0x11EF67, 0x0000018 - -gUnk_0811EF7F:: @ 0811EF7F - .incbin "baserom.gba", 0x11EF7F, 0x0000018 - -gUnk_0811EF97:: @ 0811EF97 - .incbin "baserom.gba", 0x11EF97, 0x0000009 - -gUnk_0811EFA0:: @ 0811EFA0 - .incbin "baserom.gba", 0x11EFA0, 0x0000009 - -gUnk_0811EFA9:: @ 0811EFA9 - .incbin "baserom.gba", 0x11EFA9, 0x0000009 - -gUnk_0811EFB2:: @ 0811EFB2 - .incbin "baserom.gba", 0x11EFB2, 0x0000009 - -gUnk_0811EFBB:: @ 0811EFBB - .incbin "baserom.gba", 0x11EFBB, 0x0000009 - -gUnk_0811EFC4:: @ 0811EFC4 - .incbin "baserom.gba", 0x11EFC4, 0x0000015 - -gUnk_0811EFD9:: @ 0811EFD9 - .incbin "baserom.gba", 0x11EFD9, 0x0000015 - -gUnk_0811EFEE:: @ 0811EFEE - .incbin "baserom.gba", 0x11EFEE, 0x000000E - -gUnk_0811EFFC:: @ 0811EFFC - .incbin "baserom.gba", 0x11EFFC, 0x0000007 - -gUnk_0811F003:: @ 0811F003 - .incbin "baserom.gba", 0x11F003, 0x0000015 - -gUnk_0811F018:: @ 0811F018 - .incbin "baserom.gba", 0x11F018, 0x0000078 - -gUnk_0811F090:: @ 0811F090 - .incbin "baserom.gba", 0x11F090, 0x0000018 - -gUnk_0811F0A8:: @ 0811F0A8 - .incbin "baserom.gba", 0x11F0A8, 0x000001C - -gUnk_0811F0C4:: @ 0811F0C4 - .incbin "baserom.gba", 0x11F0C4, 0x0000018 - -gUnk_0811F0DC:: @ 0811F0DC - .incbin "baserom.gba", 0x11F0DC, 0x0000005 - -gUnk_0811F0E1:: @ 0811F0E1 - .incbin "baserom.gba", 0x11F0E1, 0x0000005 - -gUnk_0811F0E6:: @ 0811F0E6 - .incbin "baserom.gba", 0x11F0E6, 0x0000005 - -gUnk_0811F0EB:: @ 0811F0EB - .incbin "baserom.gba", 0x11F0EB, 0x0000005 - -gUnk_0811F0F0:: @ 0811F0F0 - .incbin "baserom.gba", 0x11F0F0, 0x0000005 - -gUnk_0811F0F5:: @ 0811F0F5 - .incbin "baserom.gba", 0x11F0F5, 0x0000003 - -gUnk_0811F0F8:: @ 0811F0F8 - .incbin "baserom.gba", 0x11F0F8, 0x0000002 - -gUnk_0811F0FA:: @ 0811F0FA - .incbin "baserom.gba", 0x11F0FA, 0x0000005 - -gUnk_0811F0FF:: @ 0811F0FF - .incbin "baserom.gba", 0x11F0FF, 0x0000001 - -gUnk_0811F100:: @ 0811F100 - .incbin "baserom.gba", 0x11F100, 0x0000004 - -gUnk_0811F104:: @ 0811F104 - .incbin "baserom.gba", 0x11F104, 0x0000005 - -gUnk_0811F109:: @ 0811F109 - .incbin "baserom.gba", 0x11F109, 0x0000005 - -gUnk_0811F10E:: @ 0811F10E - .incbin "baserom.gba", 0x11F10E, 0x0000005 - -gUnk_0811F113:: @ 0811F113 - .incbin "baserom.gba", 0x11F113, 0x0000005 - -gUnk_0811F118:: @ 0811F118 - .incbin "baserom.gba", 0x11F118, 0x0000034 - -gUnk_0811F14C:: @ 0811F14C - .incbin "baserom.gba", 0x11F14C, 0x0000008 - -gUnk_0811F154:: @ 0811F154 - .incbin "baserom.gba", 0x11F154, 0x0000008 - -gUnk_0811F15C:: @ 0811F15C - .incbin "baserom.gba", 0x11F15C, 0x0000010 - -gUnk_0811F16C:: @ 0811F16C - .incbin "baserom.gba", 0x11F16C, 0x000000C - -gUnk_0811F178:: @ 0811F178 - .incbin "baserom.gba", 0x11F178, 0x0000014 - -gUnk_0811F18C:: @ 0811F18C - .incbin "baserom.gba", 0x11F18C, 0x0000004 - -gUnk_0811F190:: @ 0811F190 - .incbin "baserom.gba", 0x11F190, 0x000001D - -gUnk_0811F1AD:: @ 0811F1AD - .incbin "baserom.gba", 0x11F1AD, 0x000001D - -gUnk_0811F1CA:: @ 0811F1CA - .incbin "baserom.gba", 0x11F1CA, 0x000001D - -gUnk_0811F1E7:: @ 0811F1E7 - .incbin "baserom.gba", 0x11F1E7, 0x0000029 - -gUnk_0811F210:: @ 0811F210 - .incbin "baserom.gba", 0x11F210, 0x000001D - -gUnk_0811F22D:: @ 0811F22D - .incbin "baserom.gba", 0x11F22D, 0x000001D - -gUnk_0811F24A:: @ 0811F24A - .incbin "baserom.gba", 0x11F24A, 0x000001D - -gUnk_0811F267:: @ 0811F267 - .incbin "baserom.gba", 0x11F267, 0x0000029 - -gUnk_0811F290:: @ 0811F290 - .incbin "baserom.gba", 0x11F290, 0x000001D - -gUnk_0811F2AD:: @ 0811F2AD - .incbin "baserom.gba", 0x11F2AD, 0x000001D - -gUnk_0811F2CA:: @ 0811F2CA - .incbin "baserom.gba", 0x11F2CA, 0x000001D - -gUnk_0811F2E7:: @ 0811F2E7 - .incbin "baserom.gba", 0x11F2E7, 0x0000029 - -gUnk_0811F310:: @ 0811F310 - .incbin "baserom.gba", 0x11F310, 0x000000D - -gUnk_0811F31D:: @ 0811F31D - .incbin "baserom.gba", 0x11F31D, 0x000000D - -gUnk_0811F32A:: @ 0811F32A - .incbin "baserom.gba", 0x11F32A, 0x000000D - -gUnk_0811F337:: @ 0811F337 - .incbin "baserom.gba", 0x11F337, 0x0000029 - -gUnk_0811F360:: @ 0811F360 - .incbin "baserom.gba", 0x11F360, 0x000000D - -gUnk_0811F36D:: @ 0811F36D - .incbin "baserom.gba", 0x11F36D, 0x000000D - -gUnk_0811F37A:: @ 0811F37A - .incbin "baserom.gba", 0x11F37A, 0x000000D - -gUnk_0811F387:: @ 0811F387 - .incbin "baserom.gba", 0x11F387, 0x0000029 - -gUnk_0811F3B0:: @ 0811F3B0 - .incbin "baserom.gba", 0x11F3B0, 0x000000D - -gUnk_0811F3BD:: @ 0811F3BD - .incbin "baserom.gba", 0x11F3BD, 0x000000D - -gUnk_0811F3CA:: @ 0811F3CA - .incbin "baserom.gba", 0x11F3CA, 0x000000D - -gUnk_0811F3D7:: @ 0811F3D7 - .incbin "baserom.gba", 0x11F3D7, 0x0000029 - -gUnk_0811F400:: @ 0811F400 - .incbin "baserom.gba", 0x11F400, 0x0000005 - -gUnk_0811F405:: @ 0811F405 - .incbin "baserom.gba", 0x11F405, 0x0000011 - -gUnk_0811F416:: @ 0811F416 - .incbin "baserom.gba", 0x11F416, 0x0000029 - -gUnk_0811F43F:: @ 0811F43F - .incbin "baserom.gba", 0x11F43F, 0x0000029 - -gUnk_0811F468:: @ 0811F468 - .incbin "baserom.gba", 0x11F468, 0x0000051 - -gUnk_0811F4B9:: @ 0811F4B9 - .incbin "baserom.gba", 0x11F4B9, 0x0000019 - -gUnk_0811F4D2:: @ 0811F4D2 - .incbin "baserom.gba", 0x11F4D2, 0x0000005 - -gUnk_0811F4D7:: @ 0811F4D7 - .incbin "baserom.gba", 0x11F4D7, 0x0000074 - -gUnk_0811F54B:: @ 0811F54B - .incbin "baserom.gba", 0x11F54B, 0x0000015 - -gUnk_0811F560:: @ 0811F560 - .incbin "baserom.gba", 0x11F560, 0x0000015 - -gUnk_0811F575:: @ 0811F575 - .incbin "baserom.gba", 0x11F575, 0x0000015 - -gUnk_0811F58A:: @ 0811F58A - .incbin "baserom.gba", 0x11F58A, 0x0000006 - -gUnk_0811F590:: @ 0811F590 - .incbin "baserom.gba", 0x11F590, 0x0000065 - -gUnk_0811F5F5:: @ 0811F5F5 - .incbin "baserom.gba", 0x11F5F5, 0x0000010 - -gUnk_0811F605:: @ 0811F605 - .incbin "baserom.gba", 0x11F605, 0x000001F - -gUnk_0811F624:: @ 0811F624 - .incbin "baserom.gba", 0x11F624, 0x0000008 - -gUnk_0811F62C:: @ 0811F62C - .incbin "baserom.gba", 0x11F62C, 0x0000008 - -gUnk_0811F634:: @ 0811F634 - .incbin "baserom.gba", 0x11F634, 0x0000008 - -gUnk_0811F63C:: @ 0811F63C - .incbin "baserom.gba", 0x11F63C, 0x0000008 - -gUnk_0811F644:: @ 0811F644 - .incbin "baserom.gba", 0x11F644, 0x0000008 - -gUnk_0811F64C:: @ 0811F64C - .incbin "baserom.gba", 0x11F64C, 0x0000010 - -gUnk_0811F65C:: @ 0811F65C - .incbin "baserom.gba", 0x11F65C, 0x0000024 - -gUnk_0811F680:: @ 0811F680 - .incbin "baserom.gba", 0x11F680, 0x0000008 - -gUnk_0811F688:: @ 0811F688 - .incbin "baserom.gba", 0x11F688, 0x0000008 - -gUnk_0811F690:: @ 0811F690 - .incbin "baserom.gba", 0x11F690, 0x00000A0 - -gUnk_0811F730:: @ 0811F730 - .incbin "baserom.gba", 0x11F730, 0x0000010 - -gUnk_0811F740:: @ 0811F740 - .incbin "baserom.gba", 0x11F740, 0x0000004 - -gUnk_0811F744:: @ 0811F744 - .incbin "baserom.gba", 0x11F744, 0x0000010 - -gUnk_0811F754:: @ 0811F754 - .incbin "baserom.gba", 0x11F754, 0x000000C - -gUnk_0811F760:: @ 0811F760 - .incbin "baserom.gba", 0x11F760, 0x0000035 - -gUnk_0811F795:: @ 0811F795 - .incbin "baserom.gba", 0x11F795, 0x0000037 - -gUnk_0811F7CC:: @ 0811F7CC - .incbin "baserom.gba", 0x11F7CC, 0x000000C - -gUnk_0811F7D8:: @ 0811F7D8 - .incbin "baserom.gba", 0x11F7D8, 0x000000D - -gUnk_0811F7E5:: @ 0811F7E5 - .incbin "baserom.gba", 0x11F7E5, 0x0000003 - -gUnk_0811F7E8:: @ 0811F7E8 - .incbin "baserom.gba", 0x11F7E8, 0x0000020 - -gUnk_0811F808:: @ 0811F808 - .incbin "baserom.gba", 0x11F808, 0x0000010 - -gUnk_0811F818:: @ 0811F818 - .incbin "baserom.gba", 0x11F818, 0x0000020 - -gUnk_0811F838:: @ 0811F838 - .incbin "baserom.gba", 0x11F838, 0x0000008 - -gUnk_0811F840:: @ 0811F840 - .incbin "baserom.gba", 0x11F840, 0x0000010 - -gUnk_0811F850:: @ 0811F850 - .incbin "baserom.gba", 0x11F850, 0x0000004 - -gUnk_0811F854:: @ 0811F854 - .incbin "baserom.gba", 0x11F854, 0x0000012 - -gUnk_0811F866:: @ 0811F866 - .incbin "baserom.gba", 0x11F866, 0x000001A - -gUnk_0811F880:: @ 0811F880 - .incbin "baserom.gba", 0x11F880, 0x000000A - -gUnk_0811F88A:: @ 0811F88A - .incbin "baserom.gba", 0x11F88A, 0x000000E - -gUnk_0811F898:: @ 0811F898 - .incbin "baserom.gba", 0x11F898, 0x0000010 - -gUnk_0811F8A8:: @ 0811F8A8 - .incbin "baserom.gba", 0x11F8A8, 0x0000008 - -gUnk_0811F8B0:: @ 0811F8B0 - .incbin "baserom.gba", 0x11F8B0, 0x0000008 - -gUnk_0811F8B8:: @ 0811F8B8 - .incbin "baserom.gba", 0x11F8B8, 0x0000011 - -gUnk_0811F8C9:: @ 0811F8C9 - .incbin "baserom.gba", 0x11F8C9, 0x0000005 - -gUnk_0811F8CE:: @ 0811F8CE - .incbin "baserom.gba", 0x11F8CE, 0x0000005 - -gUnk_0811F8D3:: @ 0811F8D3 - .incbin "baserom.gba", 0x11F8D3, 0x0000015 - -gUnk_0811F8E8:: @ 0811F8E8 - .incbin "baserom.gba", 0x11F8E8, 0x0000008 - -gUnk_0811F8F0:: @ 0811F8F0 - .incbin "baserom.gba", 0x11F8F0, 0x0000008 - -gUnk_0811F8F8:: @ 0811F8F8 - .incbin "baserom.gba", 0x11F8F8, 0x0000010 - -gUnk_0811F908:: @ 0811F908 - .incbin "baserom.gba", 0x11F908, 0x0000010 - -gUnk_0811F918:: @ 0811F918 - .incbin "baserom.gba", 0x11F918, 0x000002D - -gUnk_0811F945:: @ 0811F945 - .incbin "baserom.gba", 0x11F945, 0x000000F - -gUnk_0811F954:: @ 0811F954 - .incbin "baserom.gba", 0x11F954, 0x000000C - -gUnk_0811F960:: @ 0811F960 - .incbin "baserom.gba", 0x11F960, 0x000009B - -gUnk_0811F9FB:: @ 0811F9FB - .incbin "baserom.gba", 0x11F9FB, 0x00000C5 - -gUnk_0811FAC0:: @ 0811FAC0 - .incbin "baserom.gba", 0x11FAC0, 0x0000008 - -gUnk_0811FAC8:: @ 0811FAC8 - .incbin "baserom.gba", 0x11FAC8, 0x0000004 - -gUnk_0811FACC:: @ 0811FACC - .incbin "baserom.gba", 0x11FACC, 0x0000004 - -gUnk_0811FAD0:: @ 0811FAD0 - .incbin "baserom.gba", 0x11FAD0, 0x0000038 - -gUnk_0811FB08:: @ 0811FB08 - .incbin "baserom.gba", 0x11FB08, 0x0000008 - -gUnk_0811FB10:: @ 0811FB10 - .incbin "baserom.gba", 0x11FB10, 0x0000015 - -gUnk_0811FB25:: @ 0811FB25 - .incbin "baserom.gba", 0x11FB25, 0x0000058 - -gUnk_0811FB7D:: @ 0811FB7D - .incbin "baserom.gba", 0x11FB7D, 0x0000044 - -gUnk_0811FBC1:: @ 0811FBC1 - .incbin "baserom.gba", 0x11FBC1, 0x0000020 - -gUnk_0811FBE1:: @ 0811FBE1 - .incbin "baserom.gba", 0x11FBE1, 0x000000C - -gUnk_0811FBED:: @ 0811FBED - .incbin "baserom.gba", 0x11FBED, 0x0000010 - -gUnk_0811FBFD:: @ 0811FBFD - .incbin "baserom.gba", 0x11FBFD, 0x0000014 - -gUnk_0811FC11:: @ 0811FC11 - .incbin "baserom.gba", 0x11FC11, 0x000001C - -gUnk_0811FC2D:: @ 0811FC2D - .incbin "baserom.gba", 0x11FC2D, 0x0000024 - -gUnk_0811FC51:: @ 0811FC51 - .incbin "baserom.gba", 0x11FC51, 0x0000021 - -gUnk_0811FC72:: @ 0811FC72 - .incbin "baserom.gba", 0x11FC72, 0x0000015 - -gUnk_0811FC87:: @ 0811FC87 - .incbin "baserom.gba", 0x11FC87, 0x0000024 - -gUnk_0811FCAB:: @ 0811FCAB - .incbin "baserom.gba", 0x11FCAB, 0x0000034 - -gUnk_0811FCDF:: @ 0811FCDF - .incbin "baserom.gba", 0x11FCDF, 0x0000044 - -gUnk_0811FD23:: @ 0811FD23 - .incbin "baserom.gba", 0x11FD23, 0x0000018 - -gUnk_0811FD3B:: @ 0811FD3B - .incbin "baserom.gba", 0x11FD3B, 0x000001C - -gUnk_0811FD57:: @ 0811FD57 - .incbin "baserom.gba", 0x11FD57, 0x000001C - -gUnk_0811FD73:: @ 0811FD73 - .incbin "baserom.gba", 0x11FD73, 0x000000C - -gUnk_0811FD7F:: @ 0811FD7F - .incbin "baserom.gba", 0x11FD7F, 0x0000010 - -gUnk_0811FD8F:: @ 0811FD8F - .incbin "baserom.gba", 0x11FD8F, 0x0000014 - -gUnk_0811FDA3:: @ 0811FDA3 - .incbin "baserom.gba", 0x11FDA3, 0x0000015 - -gUnk_0811FDB8:: @ 0811FDB8 - .incbin "baserom.gba", 0x11FDB8, 0x0000014 - -gUnk_0811FDCC:: @ 0811FDCC - .incbin "baserom.gba", 0x11FDCC, 0x0000008 - -gUnk_0811FDD4:: @ 0811FDD4 - .incbin "baserom.gba", 0x11FDD4, 0x0000018 - -gUnk_0811FDEC:: @ 0811FDEC - .incbin "baserom.gba", 0x11FDEC, 0x0000010 - -gUnk_0811FDFC:: @ 0811FDFC - .incbin "baserom.gba", 0x11FDFC, 0x0000019 - -gUnk_0811FE15:: @ 0811FE15 - .incbin "baserom.gba", 0x11FE15, 0x0000041 - -gUnk_0811FE56:: @ 0811FE56 - .incbin "baserom.gba", 0x11FE56, 0x0000008 - -gUnk_0811FE5E:: @ 0811FE5E - .incbin "baserom.gba", 0x11FE5E, 0x0000018 - -gUnk_0811FE76:: @ 0811FE76 - .incbin "baserom.gba", 0x11FE76, 0x0000018 - -gUnk_0811FE8E:: @ 0811FE8E - .incbin "baserom.gba", 0x11FE8E, 0x0000014 - -gUnk_0811FEA2:: @ 0811FEA2 - .incbin "baserom.gba", 0x11FEA2, 0x000000C - -gUnk_0811FEAE:: @ 0811FEAE - .incbin "baserom.gba", 0x11FEAE, 0x000000C - -gUnk_0811FEBA:: @ 0811FEBA - .incbin "baserom.gba", 0x11FEBA, 0x0000028 - -gUnk_0811FEE2:: @ 0811FEE2 - .incbin "baserom.gba", 0x11FEE2, 0x000000D - -gUnk_0811FEEF:: @ 0811FEEF - .incbin "baserom.gba", 0x11FEEF, 0x0000020 - -gUnk_0811FF0F:: @ 0811FF0F - .incbin "baserom.gba", 0x11FF0F, 0x0000020 - -gUnk_0811FF2F:: @ 0811FF2F - .incbin "baserom.gba", 0x11FF2F, 0x0000020 - -gUnk_0811FF4F:: @ 0811FF4F - .incbin "baserom.gba", 0x11FF4F, 0x0000020 - -gUnk_0811FF6F:: @ 0811FF6F - .incbin "baserom.gba", 0x11FF6F, 0x0000020 - -gUnk_0811FF8F:: @ 0811FF8F - .incbin "baserom.gba", 0x11FF8F, 0x0000018 - -gUnk_0811FFA7:: @ 0811FFA7 - .incbin "baserom.gba", 0x11FFA7, 0x0000020 - -gUnk_0811FFC7:: @ 0811FFC7 - .incbin "baserom.gba", 0x11FFC7, 0x0000018 - -gUnk_0811FFDF:: @ 0811FFDF - .incbin "baserom.gba", 0x11FFDF, 0x0000018 - -gUnk_0811FFF7:: @ 0811FFF7 - .incbin "baserom.gba", 0x11FFF7, 0x0000009 - -gUnk_08120000:: @ 08120000 - .incbin "baserom.gba", 0x120000, 0x0000004 - -gUnk_08120004:: @ 08120004 - .incbin "baserom.gba", 0x120004, 0x0000006 - -gUnk_0812000A:: @ 0812000A - .incbin "baserom.gba", 0x12000A, 0x0000004 - -gUnk_0812000E:: @ 0812000E - .incbin "baserom.gba", 0x12000E, 0x0000001 - -gUnk_0812000F:: @ 0812000F - .incbin "baserom.gba", 0x12000F, 0x0000001 - -gUnk_08120010:: @ 08120010 - .incbin "baserom.gba", 0x120010, 0x0000007 - -gUnk_08120017:: @ 08120017 - .incbin "baserom.gba", 0x120017, 0x0000011 - -gUnk_08120028:: @ 08120028 - .incbin "baserom.gba", 0x120028, 0x0000004 - -gUnk_0812002C:: @ 0812002C - .incbin "baserom.gba", 0x12002C, 0x000000F - -gUnk_0812003B:: @ 0812003B - .incbin "baserom.gba", 0x12003B, 0x0000017 - -gUnk_08120052:: @ 08120052 - .incbin "baserom.gba", 0x120052, 0x000000A - -gUnk_0812005C:: @ 0812005C - .incbin "baserom.gba", 0x12005C, 0x0000007 - -gUnk_08120063:: @ 08120063 - .incbin "baserom.gba", 0x120063, 0x000001C - -gUnk_0812007F:: @ 0812007F - .incbin "baserom.gba", 0x12007F, 0x0000009 - -gUnk_08120088:: @ 08120088 - .incbin "baserom.gba", 0x120088, 0x0000013 - -gUnk_0812009B:: @ 0812009B - .incbin "baserom.gba", 0x12009B, 0x0000014 - -gUnk_081200AF:: @ 081200AF - .incbin "baserom.gba", 0x1200AF, 0x000001B - -gUnk_081200CA:: @ 081200CA - .incbin "baserom.gba", 0x1200CA, 0x0000001 - -gUnk_081200CB:: @ 081200CB - .incbin "baserom.gba", 0x1200CB, 0x0000005 - -gUnk_081200D0:: @ 081200D0 - .incbin "baserom.gba", 0x1200D0, 0x0000012 - -gUnk_081200E2:: @ 081200E2 - .incbin "baserom.gba", 0x1200E2, 0x0000009 - -gUnk_081200EB:: @ 081200EB - .incbin "baserom.gba", 0x1200EB, 0x0000013 - -gUnk_081200FE:: @ 081200FE - .incbin "baserom.gba", 0x1200FE, 0x0000001 - -gUnk_081200FF:: @ 081200FF - .incbin "baserom.gba", 0x1200FF, 0x0000024 - -gUnk_08120123:: @ 08120123 - .incbin "baserom.gba", 0x120123, 0x0000024 - -gUnk_08120147:: @ 08120147 - .incbin "baserom.gba", 0x120147, 0x0000020 - -gUnk_08120167:: @ 08120167 - .incbin "baserom.gba", 0x120167, 0x0000018 - -gUnk_0812017F:: @ 0812017F - .incbin "baserom.gba", 0x12017F, 0x0000011 - -gUnk_08120190:: @ 08120190 - .incbin "baserom.gba", 0x120190, 0x0000007 - -gUnk_08120197:: @ 08120197 - .incbin "baserom.gba", 0x120197, 0x0000018 - -gUnk_081201AF:: @ 081201AF - .incbin "baserom.gba", 0x1201AF, 0x0000031 - -gUnk_081201E0:: @ 081201E0 - .incbin "baserom.gba", 0x1201E0, 0x000000D - -gUnk_081201ED:: @ 081201ED - .incbin "baserom.gba", 0x1201ED, 0x000000B - -gUnk_081201F8:: @ 081201F8 - .incbin "baserom.gba", 0x1201F8, 0x0000011 - -gUnk_08120209:: @ 08120209 - .incbin "baserom.gba", 0x120209, 0x0000038 - -gUnk_08120241:: @ 08120241 - .incbin "baserom.gba", 0x120241, 0x0000038 - -gUnk_08120279:: @ 08120279 - .incbin "baserom.gba", 0x120279, 0x0000007 - -gUnk_08120280:: @ 08120280 - .incbin "baserom.gba", 0x120280, 0x000002D - -gUnk_081202AD:: @ 081202AD - .incbin "baserom.gba", 0x1202AD, 0x0000011 - -gUnk_081202BE:: @ 081202BE - .incbin "baserom.gba", 0x1202BE, 0x0000025 - -gUnk_081202E3:: @ 081202E3 - .incbin "baserom.gba", 0x1202E3, 0x0000009 - -gUnk_081202EC:: @ 081202EC - .incbin "baserom.gba", 0x1202EC, 0x0000020 - -gUnk_0812030C:: @ 0812030C - .incbin "baserom.gba", 0x12030C, 0x0000014 - -gUnk_08120320:: @ 08120320 - .incbin "baserom.gba", 0x120320, 0x0000030 - -gUnk_08120350:: @ 08120350 - .incbin "baserom.gba", 0x120350, 0x000001C - -gUnk_0812036C:: @ 0812036C - .incbin "baserom.gba", 0x12036C, 0x0000020 - -gUnk_0812038C:: @ 0812038C - .incbin "baserom.gba", 0x12038C, 0x0000038 - -gUnk_081203C4:: @ 081203C4 - .incbin "baserom.gba", 0x1203C4, 0x0000026 - -gUnk_081203EA:: @ 081203EA - .incbin "baserom.gba", 0x1203EA, 0x0000012 - -gUnk_081203FC:: @ 081203FC - .incbin "baserom.gba", 0x1203FC, 0x0000005 - -gUnk_08120401:: @ 08120401 - .incbin "baserom.gba", 0x120401, 0x0000001 - -gUnk_08120402:: @ 08120402 - .incbin "baserom.gba", 0x120402, 0x0000011 - -gUnk_08120413:: @ 08120413 - .incbin "baserom.gba", 0x120413, 0x0000030 - -gUnk_08120443:: @ 08120443 - .incbin "baserom.gba", 0x120443, 0x0000001 - -gUnk_08120444:: @ 08120444 - .incbin "baserom.gba", 0x120444, 0x0000015 - -gUnk_08120459:: @ 08120459 - .incbin "baserom.gba", 0x120459, 0x000000A - -gUnk_08120463:: @ 08120463 - .incbin "baserom.gba", 0x120463, 0x000009B - -gUnk_081204FE:: @ 081204FE - .incbin "baserom.gba", 0x1204FE, 0x0000062 - -gUnk_08120560:: @ 08120560 - .incbin "baserom.gba", 0x120560, 0x000000C - -gUnk_0812056C:: @ 0812056C - .incbin "baserom.gba", 0x12056C, 0x0000008 - -gUnk_08120574:: @ 08120574 - .incbin "baserom.gba", 0x120574, 0x0000008 - -gUnk_0812057C:: @ 0812057C - .incbin "baserom.gba", 0x12057C, 0x000000C - -gUnk_08120588:: @ 08120588 - .incbin "baserom.gba", 0x120588, 0x0000014 - -gUnk_0812059C:: @ 0812059C - .incbin "baserom.gba", 0x12059C, 0x0000018 - -gUnk_081205B4:: @ 081205B4 - .incbin "baserom.gba", 0x1205B4, 0x0000008 - -gUnk_081205BC:: @ 081205BC - .incbin "baserom.gba", 0x1205BC, 0x0000014 - -gUnk_081205D0:: @ 081205D0 - .incbin "baserom.gba", 0x1205D0, 0x0000010 - -gUnk_081205E0:: @ 081205E0 - .incbin "baserom.gba", 0x1205E0, 0x0000004 - -gUnk_081205E4:: @ 081205E4 - .incbin "baserom.gba", 0x1205E4, 0x0000004 - -gUnk_081205E8:: @ 081205E8 - .incbin "baserom.gba", 0x1205E8, 0x0000004 - -gUnk_081205EC:: @ 081205EC - .incbin "baserom.gba", 0x1205EC, 0x0000004 - -gUnk_081205F0:: @ 081205F0 - .incbin "baserom.gba", 0x1205F0, 0x0000004 - -gUnk_081205F4:: @ 081205F4 - .incbin "baserom.gba", 0x1205F4, 0x0000009 - -gUnk_081205FD:: @ 081205FD - .incbin "baserom.gba", 0x1205FD, 0x000000B - -gUnk_08120608:: @ 08120608 - .incbin "baserom.gba", 0x120608, 0x0000018 - -gUnk_08120620:: @ 08120620 - .incbin "baserom.gba", 0x120620, 0x000000C - -gUnk_0812062C:: @ 0812062C - .incbin "baserom.gba", 0x12062C, 0x000000C - -gUnk_08120638:: @ 08120638 - .incbin "baserom.gba", 0x120638, 0x0000008 - -gUnk_08120640:: @ 08120640 - .incbin "baserom.gba", 0x120640, 0x0000008 - -gUnk_08120648:: @ 08120648 - .incbin "baserom.gba", 0x120648, 0x0000008 - -gUnk_08120650:: @ 08120650 - .incbin "baserom.gba", 0x120650, 0x0000008 - -gUnk_08120658:: @ 08120658 - .incbin "baserom.gba", 0x120658, 0x0000008 - -gUnk_08120660:: @ 08120660 - .incbin "baserom.gba", 0x120660, 0x0000008 - -gUnk_08120668:: @ 08120668 - .incbin "baserom.gba", 0x120668, 0x0000010 - -gUnk_08120678:: @ 08120678 - .incbin "baserom.gba", 0x120678, 0x000000A - -gUnk_08120682:: @ 08120682 - .incbin "baserom.gba", 0x120682, 0x0000004 - -gUnk_08120686:: @ 08120686 - .incbin "baserom.gba", 0x120686, 0x0000004 - -gUnk_0812068A:: @ 0812068A - .incbin "baserom.gba", 0x12068A, 0x0000004 - -gUnk_0812068E:: @ 0812068E - .incbin "baserom.gba", 0x12068E, 0x0000004 - -gUnk_08120692:: @ 08120692 - .incbin "baserom.gba", 0x120692, 0x0000006 - -gUnk_08120698:: @ 08120698 - .incbin "baserom.gba", 0x120698, 0x0000014 - -gUnk_081206AC:: @ 081206AC - .incbin "baserom.gba", 0x1206AC, 0x0000008 - -gUnk_081206B4:: @ 081206B4 - .incbin "baserom.gba", 0x1206B4, 0x0000010 - -gUnk_081206C4:: @ 081206C4 - .incbin "baserom.gba", 0x1206C4, 0x000000C diff --git a/data/data_0811E454.s b/data/data_0811E454.s new file mode 100755 index 00000000..19f42ded --- /dev/null +++ b/data/data_0811E454.s @@ -0,0 +1,992 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_0811E454:: @ 0811E454 + .incbin "baserom.gba", 0x11E454, 0x000001C + +gUnk_0811E470:: @ 0811E470 + .incbin "baserom.gba", 0x11E470, 0x0000008 + +gUnk_0811E478:: @ 0811E478 + .incbin "baserom.gba", 0x11E478, 0x000000C + +gUnk_0811E484:: @ 0811E484 + .incbin "baserom.gba", 0x11E484, 0x0000020 + +gUnk_0811E4A4:: @ 0811E4A4 + .incbin "baserom.gba", 0x11E4A4, 0x0000008 + +gUnk_0811E4AC:: @ 0811E4AC + .incbin "baserom.gba", 0x11E4AC, 0x0000001 + +gUnk_0811E4AD:: @ 0811E4AD + .incbin "baserom.gba", 0x11E4AD, 0x0000007 + +gUnk_0811E4B4:: @ 0811E4B4 + .incbin "baserom.gba", 0x11E4B4, 0x0000008 + +gUnk_0811E4BC:: @ 0811E4BC + .incbin "baserom.gba", 0x11E4BC, 0x0000054 + +gUnk_0811E510:: @ 0811E510 + .incbin "baserom.gba", 0x11E510, 0x0000004 + +gUnk_0811E514:: @ 0811E514 + .incbin "baserom.gba", 0x11E514, 0x0000010 + +gUnk_0811E524:: @ 0811E524 + .incbin "baserom.gba", 0x11E524, 0x000022C + +gUnk_0811E750:: @ 0811E750 + .incbin "baserom.gba", 0x11E750, 0x0000008 + +gUnk_0811E758:: @ 0811E758 + .incbin "baserom.gba", 0x11E758, 0x0000008 + +gUnk_0811E760:: @ 0811E760 + .incbin "baserom.gba", 0x11E760, 0x0000008 + +gUnk_0811E768:: @ 0811E768 + .incbin "baserom.gba", 0x11E768, 0x0000018 + +gUnk_0811E780:: @ 0811E780 + .incbin "baserom.gba", 0x11E780, 0x000000C + +gUnk_0811E78C:: @ 0811E78C + .incbin "baserom.gba", 0x11E78C, 0x0000008 + +gUnk_0811E794:: @ 0811E794 + .incbin "baserom.gba", 0x11E794, 0x0000018 + +gUnk_0811E7AC:: @ 0811E7AC + .incbin "baserom.gba", 0x11E7AC, 0x0000010 + +gUnk_0811E7BC:: @ 0811E7BC + .incbin "baserom.gba", 0x11E7BC, 0x0000008 + +gUnk_0811E7C4:: @ 0811E7C4 + .incbin "baserom.gba", 0x11E7C4, 0x0000010 + +gUnk_0811E7D4:: @ 0811E7D4 + .incbin "baserom.gba", 0x11E7D4, 0x0000014 + +gUnk_0811E7E8:: @ 0811E7E8 + .incbin "baserom.gba", 0x11E7E8, 0x000002C + +gUnk_0811E814:: @ 0811E814 + .incbin "baserom.gba", 0x11E814, 0x000002C + +gUnk_0811E840:: @ 0811E840 + .incbin "baserom.gba", 0x11E840, 0x000000C + +gUnk_0811E84C:: @ 0811E84C + .incbin "baserom.gba", 0x11E84C, 0x00000B0 + +gUnk_0811E8FC:: @ 0811E8FC + .incbin "baserom.gba", 0x11E8FC, 0x00000FA + +gUnk_0811E9F6:: @ 0811E9F6 + .incbin "baserom.gba", 0x11E9F6, 0x0000001 + +gUnk_0811E9F7:: @ 0811E9F7 + .incbin "baserom.gba", 0x11E9F7, 0x0000124 + +gUnk_0811EB1B:: @ 0811EB1B + .incbin "baserom.gba", 0x11EB1B, 0x00000DE + +gUnk_0811EBF9:: @ 0811EBF9 + .incbin "baserom.gba", 0x11EBF9, 0x0000003 + +gUnk_0811EBFC:: @ 0811EBFC + .incbin "baserom.gba", 0x11EBFC, 0x0000007 + +gUnk_0811EC03:: @ 0811EC03 + .incbin "baserom.gba", 0x11EC03, 0x0000005 + +gUnk_0811EC08:: @ 0811EC08 + .incbin "baserom.gba", 0x11EC08, 0x0000018 + +gUnk_0811EC20:: @ 0811EC20 + .incbin "baserom.gba", 0x11EC20, 0x0000004 + +gUnk_0811EC24:: @ 0811EC24 + .incbin "baserom.gba", 0x11EC24, 0x0000040 + +gUnk_0811EC64:: @ 0811EC64 + .incbin "baserom.gba", 0x11EC64, 0x0000070 + +gUnk_0811ECD4:: @ 0811ECD4 + .incbin "baserom.gba", 0x11ECD4, 0x0000079 + +gUnk_0811ED4D:: @ 0811ED4D + .incbin "baserom.gba", 0x11ED4D, 0x0000039 + +gUnk_0811ED86:: @ 0811ED86 + .incbin "baserom.gba", 0x11ED86, 0x0000031 + +gUnk_0811EDB7:: @ 0811EDB7 + .incbin "baserom.gba", 0x11EDB7, 0x0000034 + +gUnk_0811EDEB:: @ 0811EDEB + .incbin "baserom.gba", 0x11EDEB, 0x0000014 + +gUnk_0811EDFF:: @ 0811EDFF + .incbin "baserom.gba", 0x11EDFF, 0x0000011 + +gUnk_0811EE10:: @ 0811EE10 + .incbin "baserom.gba", 0x11EE10, 0x0000010 + +gUnk_0811EE20:: @ 0811EE20 + .incbin "baserom.gba", 0x11EE20, 0x0000008 + +gUnk_0811EE28:: @ 0811EE28 + .incbin "baserom.gba", 0x11EE28, 0x0000010 + +gUnk_0811EE38:: @ 0811EE38 + .incbin "baserom.gba", 0x11EE38, 0x0000018 + +gUnk_0811EE50:: @ 0811EE50 + .incbin "baserom.gba", 0x11EE50, 0x000000C + +gUnk_0811EE5C:: @ 0811EE5C + .incbin "baserom.gba", 0x11EE5C, 0x0000008 + +gUnk_0811EE64:: @ 0811EE64 + .incbin "baserom.gba", 0x11EE64, 0x0000029 + +gUnk_0811EE8D:: @ 0811EE8D + .incbin "baserom.gba", 0x11EE8D, 0x0000004 + +gUnk_0811EE91:: @ 0811EE91 + .incbin "baserom.gba", 0x11EE91, 0x0000029 + +gUnk_0811EEBA:: @ 0811EEBA + .incbin "baserom.gba", 0x11EEBA, 0x0000004 + +gUnk_0811EEBE:: @ 0811EEBE + .incbin "baserom.gba", 0x11EEBE, 0x0000005 + +gUnk_0811EEC3:: @ 0811EEC3 + .incbin "baserom.gba", 0x11EEC3, 0x0000004 + +gUnk_0811EEC7:: @ 0811EEC7 + .incbin "baserom.gba", 0x11EEC7, 0x0000029 + +gUnk_0811EEF0:: @ 0811EEF0 + .incbin "baserom.gba", 0x11EEF0, 0x0000004 + +gUnk_0811EEF4:: @ 0811EEF4 + .incbin "baserom.gba", 0x11EEF4, 0x0000009 + +gUnk_0811EEFD:: @ 0811EEFD + .incbin "baserom.gba", 0x11EEFD, 0x0000009 + +gUnk_0811EF06:: @ 0811EF06 + .incbin "baserom.gba", 0x11EF06, 0x0000009 + +gUnk_0811EF0F:: @ 0811EF0F + .incbin "baserom.gba", 0x11EF0F, 0x0000028 + +gUnk_0811EF37:: @ 0811EF37 + .incbin "baserom.gba", 0x11EF37, 0x0000018 + +gUnk_0811EF4F:: @ 0811EF4F + .incbin "baserom.gba", 0x11EF4F, 0x0000018 + +gUnk_0811EF67:: @ 0811EF67 + .incbin "baserom.gba", 0x11EF67, 0x0000018 + +gUnk_0811EF7F:: @ 0811EF7F + .incbin "baserom.gba", 0x11EF7F, 0x0000018 + +gUnk_0811EF97:: @ 0811EF97 + .incbin "baserom.gba", 0x11EF97, 0x0000009 + +gUnk_0811EFA0:: @ 0811EFA0 + .incbin "baserom.gba", 0x11EFA0, 0x0000009 + +gUnk_0811EFA9:: @ 0811EFA9 + .incbin "baserom.gba", 0x11EFA9, 0x0000009 + +gUnk_0811EFB2:: @ 0811EFB2 + .incbin "baserom.gba", 0x11EFB2, 0x0000009 + +gUnk_0811EFBB:: @ 0811EFBB + .incbin "baserom.gba", 0x11EFBB, 0x0000009 + +gUnk_0811EFC4:: @ 0811EFC4 + .incbin "baserom.gba", 0x11EFC4, 0x0000015 + +gUnk_0811EFD9:: @ 0811EFD9 + .incbin "baserom.gba", 0x11EFD9, 0x0000015 + +gUnk_0811EFEE:: @ 0811EFEE + .incbin "baserom.gba", 0x11EFEE, 0x000000E + +gUnk_0811EFFC:: @ 0811EFFC + .incbin "baserom.gba", 0x11EFFC, 0x0000007 + +gUnk_0811F003:: @ 0811F003 + .incbin "baserom.gba", 0x11F003, 0x0000015 + +gUnk_0811F018:: @ 0811F018 + .incbin "baserom.gba", 0x11F018, 0x0000078 + +gUnk_0811F090:: @ 0811F090 + .incbin "baserom.gba", 0x11F090, 0x0000018 + +gUnk_0811F0A8:: @ 0811F0A8 + .incbin "baserom.gba", 0x11F0A8, 0x000001C + +gUnk_0811F0C4:: @ 0811F0C4 + .incbin "baserom.gba", 0x11F0C4, 0x0000018 + +gUnk_0811F0DC:: @ 0811F0DC + .incbin "baserom.gba", 0x11F0DC, 0x0000005 + +gUnk_0811F0E1:: @ 0811F0E1 + .incbin "baserom.gba", 0x11F0E1, 0x0000005 + +gUnk_0811F0E6:: @ 0811F0E6 + .incbin "baserom.gba", 0x11F0E6, 0x0000005 + +gUnk_0811F0EB:: @ 0811F0EB + .incbin "baserom.gba", 0x11F0EB, 0x0000005 + +gUnk_0811F0F0:: @ 0811F0F0 + .incbin "baserom.gba", 0x11F0F0, 0x0000005 + +gUnk_0811F0F5:: @ 0811F0F5 + .incbin "baserom.gba", 0x11F0F5, 0x0000003 + +gUnk_0811F0F8:: @ 0811F0F8 + .incbin "baserom.gba", 0x11F0F8, 0x0000002 + +gUnk_0811F0FA:: @ 0811F0FA + .incbin "baserom.gba", 0x11F0FA, 0x0000005 + +gUnk_0811F0FF:: @ 0811F0FF + .incbin "baserom.gba", 0x11F0FF, 0x0000001 + +gUnk_0811F100:: @ 0811F100 + .incbin "baserom.gba", 0x11F100, 0x0000004 + +gUnk_0811F104:: @ 0811F104 + .incbin "baserom.gba", 0x11F104, 0x0000005 + +gUnk_0811F109:: @ 0811F109 + .incbin "baserom.gba", 0x11F109, 0x0000005 + +gUnk_0811F10E:: @ 0811F10E + .incbin "baserom.gba", 0x11F10E, 0x0000005 + +gUnk_0811F113:: @ 0811F113 + .incbin "baserom.gba", 0x11F113, 0x0000005 + +gUnk_0811F118:: @ 0811F118 + .incbin "baserom.gba", 0x11F118, 0x0000034 + +gUnk_0811F14C:: @ 0811F14C + .incbin "baserom.gba", 0x11F14C, 0x0000008 + +gUnk_0811F154:: @ 0811F154 + .incbin "baserom.gba", 0x11F154, 0x0000008 + +gUnk_0811F15C:: @ 0811F15C + .incbin "baserom.gba", 0x11F15C, 0x0000010 + +gUnk_0811F16C:: @ 0811F16C + .incbin "baserom.gba", 0x11F16C, 0x000000C + +gUnk_0811F178:: @ 0811F178 + .incbin "baserom.gba", 0x11F178, 0x0000014 + +gUnk_0811F18C:: @ 0811F18C + .incbin "baserom.gba", 0x11F18C, 0x0000004 + +gUnk_0811F190:: @ 0811F190 + .incbin "baserom.gba", 0x11F190, 0x000001D + +gUnk_0811F1AD:: @ 0811F1AD + .incbin "baserom.gba", 0x11F1AD, 0x000001D + +gUnk_0811F1CA:: @ 0811F1CA + .incbin "baserom.gba", 0x11F1CA, 0x000001D + +gUnk_0811F1E7:: @ 0811F1E7 + .incbin "baserom.gba", 0x11F1E7, 0x0000029 + +gUnk_0811F210:: @ 0811F210 + .incbin "baserom.gba", 0x11F210, 0x000001D + +gUnk_0811F22D:: @ 0811F22D + .incbin "baserom.gba", 0x11F22D, 0x000001D + +gUnk_0811F24A:: @ 0811F24A + .incbin "baserom.gba", 0x11F24A, 0x000001D + +gUnk_0811F267:: @ 0811F267 + .incbin "baserom.gba", 0x11F267, 0x0000029 + +gUnk_0811F290:: @ 0811F290 + .incbin "baserom.gba", 0x11F290, 0x000001D + +gUnk_0811F2AD:: @ 0811F2AD + .incbin "baserom.gba", 0x11F2AD, 0x000001D + +gUnk_0811F2CA:: @ 0811F2CA + .incbin "baserom.gba", 0x11F2CA, 0x000001D + +gUnk_0811F2E7:: @ 0811F2E7 + .incbin "baserom.gba", 0x11F2E7, 0x0000029 + +gUnk_0811F310:: @ 0811F310 + .incbin "baserom.gba", 0x11F310, 0x000000D + +gUnk_0811F31D:: @ 0811F31D + .incbin "baserom.gba", 0x11F31D, 0x000000D + +gUnk_0811F32A:: @ 0811F32A + .incbin "baserom.gba", 0x11F32A, 0x000000D + +gUnk_0811F337:: @ 0811F337 + .incbin "baserom.gba", 0x11F337, 0x0000029 + +gUnk_0811F360:: @ 0811F360 + .incbin "baserom.gba", 0x11F360, 0x000000D + +gUnk_0811F36D:: @ 0811F36D + .incbin "baserom.gba", 0x11F36D, 0x000000D + +gUnk_0811F37A:: @ 0811F37A + .incbin "baserom.gba", 0x11F37A, 0x000000D + +gUnk_0811F387:: @ 0811F387 + .incbin "baserom.gba", 0x11F387, 0x0000029 + +gUnk_0811F3B0:: @ 0811F3B0 + .incbin "baserom.gba", 0x11F3B0, 0x000000D + +gUnk_0811F3BD:: @ 0811F3BD + .incbin "baserom.gba", 0x11F3BD, 0x000000D + +gUnk_0811F3CA:: @ 0811F3CA + .incbin "baserom.gba", 0x11F3CA, 0x000000D + +gUnk_0811F3D7:: @ 0811F3D7 + .incbin "baserom.gba", 0x11F3D7, 0x0000029 + +gUnk_0811F400:: @ 0811F400 + .incbin "baserom.gba", 0x11F400, 0x0000005 + +gUnk_0811F405:: @ 0811F405 + .incbin "baserom.gba", 0x11F405, 0x0000011 + +gUnk_0811F416:: @ 0811F416 + .incbin "baserom.gba", 0x11F416, 0x0000029 + +gUnk_0811F43F:: @ 0811F43F + .incbin "baserom.gba", 0x11F43F, 0x0000029 + +gUnk_0811F468:: @ 0811F468 + .incbin "baserom.gba", 0x11F468, 0x0000051 + +gUnk_0811F4B9:: @ 0811F4B9 + .incbin "baserom.gba", 0x11F4B9, 0x0000019 + +gUnk_0811F4D2:: @ 0811F4D2 + .incbin "baserom.gba", 0x11F4D2, 0x0000005 + +gUnk_0811F4D7:: @ 0811F4D7 + .incbin "baserom.gba", 0x11F4D7, 0x0000074 + +gUnk_0811F54B:: @ 0811F54B + .incbin "baserom.gba", 0x11F54B, 0x0000015 + +gUnk_0811F560:: @ 0811F560 + .incbin "baserom.gba", 0x11F560, 0x0000015 + +gUnk_0811F575:: @ 0811F575 + .incbin "baserom.gba", 0x11F575, 0x0000015 + +gUnk_0811F58A:: @ 0811F58A + .incbin "baserom.gba", 0x11F58A, 0x0000006 + +gUnk_0811F590:: @ 0811F590 + .incbin "baserom.gba", 0x11F590, 0x0000065 + +gUnk_0811F5F5:: @ 0811F5F5 + .incbin "baserom.gba", 0x11F5F5, 0x0000010 + +gUnk_0811F605:: @ 0811F605 + .incbin "baserom.gba", 0x11F605, 0x000001F + +gUnk_0811F624:: @ 0811F624 + .incbin "baserom.gba", 0x11F624, 0x0000008 + +gUnk_0811F62C:: @ 0811F62C + .incbin "baserom.gba", 0x11F62C, 0x0000008 + +gUnk_0811F634:: @ 0811F634 + .incbin "baserom.gba", 0x11F634, 0x0000008 + +gUnk_0811F63C:: @ 0811F63C + .incbin "baserom.gba", 0x11F63C, 0x0000008 + +gUnk_0811F644:: @ 0811F644 + .incbin "baserom.gba", 0x11F644, 0x0000008 + +gUnk_0811F64C:: @ 0811F64C + .incbin "baserom.gba", 0x11F64C, 0x0000010 + +gUnk_0811F65C:: @ 0811F65C + .incbin "baserom.gba", 0x11F65C, 0x0000024 + +gUnk_0811F680:: @ 0811F680 + .incbin "baserom.gba", 0x11F680, 0x0000008 + +gUnk_0811F688:: @ 0811F688 + .incbin "baserom.gba", 0x11F688, 0x0000008 + +gUnk_0811F690:: @ 0811F690 + .incbin "baserom.gba", 0x11F690, 0x00000A0 + +gUnk_0811F730:: @ 0811F730 + .incbin "baserom.gba", 0x11F730, 0x0000010 + +gUnk_0811F740:: @ 0811F740 + .incbin "baserom.gba", 0x11F740, 0x0000004 + +gUnk_0811F744:: @ 0811F744 + .incbin "baserom.gba", 0x11F744, 0x0000010 + +gUnk_0811F754:: @ 0811F754 + .incbin "baserom.gba", 0x11F754, 0x000000C + +gUnk_0811F760:: @ 0811F760 + .incbin "baserom.gba", 0x11F760, 0x0000035 + +gUnk_0811F795:: @ 0811F795 + .incbin "baserom.gba", 0x11F795, 0x0000037 + +gUnk_0811F7CC:: @ 0811F7CC + .incbin "baserom.gba", 0x11F7CC, 0x000000C + +gUnk_0811F7D8:: @ 0811F7D8 + .incbin "baserom.gba", 0x11F7D8, 0x000000D + +gUnk_0811F7E5:: @ 0811F7E5 + .incbin "baserom.gba", 0x11F7E5, 0x0000003 + +gUnk_0811F7E8:: @ 0811F7E8 + .incbin "baserom.gba", 0x11F7E8, 0x0000020 + +gUnk_0811F808:: @ 0811F808 + .incbin "baserom.gba", 0x11F808, 0x0000010 + +gUnk_0811F818:: @ 0811F818 + .incbin "baserom.gba", 0x11F818, 0x0000020 + +gUnk_0811F838:: @ 0811F838 + .incbin "baserom.gba", 0x11F838, 0x0000008 + +gUnk_0811F840:: @ 0811F840 + .incbin "baserom.gba", 0x11F840, 0x0000010 + +gUnk_0811F850:: @ 0811F850 + .incbin "baserom.gba", 0x11F850, 0x0000004 + +gUnk_0811F854:: @ 0811F854 + .incbin "baserom.gba", 0x11F854, 0x0000012 + +gUnk_0811F866:: @ 0811F866 + .incbin "baserom.gba", 0x11F866, 0x000001A + +gUnk_0811F880:: @ 0811F880 + .incbin "baserom.gba", 0x11F880, 0x000000A + +gUnk_0811F88A:: @ 0811F88A + .incbin "baserom.gba", 0x11F88A, 0x000000E + +gUnk_0811F898:: @ 0811F898 + .incbin "baserom.gba", 0x11F898, 0x0000010 + +gUnk_0811F8A8:: @ 0811F8A8 + .incbin "baserom.gba", 0x11F8A8, 0x0000008 + +gUnk_0811F8B0:: @ 0811F8B0 + .incbin "baserom.gba", 0x11F8B0, 0x0000008 + +gUnk_0811F8B8:: @ 0811F8B8 + .incbin "baserom.gba", 0x11F8B8, 0x0000011 + +gUnk_0811F8C9:: @ 0811F8C9 + .incbin "baserom.gba", 0x11F8C9, 0x0000005 + +gUnk_0811F8CE:: @ 0811F8CE + .incbin "baserom.gba", 0x11F8CE, 0x0000005 + +gUnk_0811F8D3:: @ 0811F8D3 + .incbin "baserom.gba", 0x11F8D3, 0x0000015 + +gUnk_0811F8E8:: @ 0811F8E8 + .incbin "baserom.gba", 0x11F8E8, 0x0000008 + +gUnk_0811F8F0:: @ 0811F8F0 + .incbin "baserom.gba", 0x11F8F0, 0x0000008 + +gUnk_0811F8F8:: @ 0811F8F8 + .incbin "baserom.gba", 0x11F8F8, 0x0000010 + +gUnk_0811F908:: @ 0811F908 + .incbin "baserom.gba", 0x11F908, 0x0000010 + +gUnk_0811F918:: @ 0811F918 + .incbin "baserom.gba", 0x11F918, 0x000002D + +gUnk_0811F945:: @ 0811F945 + .incbin "baserom.gba", 0x11F945, 0x000000F + +gUnk_0811F954:: @ 0811F954 + .incbin "baserom.gba", 0x11F954, 0x000000C + +gUnk_0811F960:: @ 0811F960 + .incbin "baserom.gba", 0x11F960, 0x000009B + +gUnk_0811F9FB:: @ 0811F9FB + .incbin "baserom.gba", 0x11F9FB, 0x00000C5 + +gUnk_0811FAC0:: @ 0811FAC0 + .incbin "baserom.gba", 0x11FAC0, 0x0000008 + +gUnk_0811FAC8:: @ 0811FAC8 + .incbin "baserom.gba", 0x11FAC8, 0x0000004 + +gUnk_0811FACC:: @ 0811FACC + .incbin "baserom.gba", 0x11FACC, 0x0000004 + +gUnk_0811FAD0:: @ 0811FAD0 + .incbin "baserom.gba", 0x11FAD0, 0x0000038 + +gUnk_0811FB08:: @ 0811FB08 + .incbin "baserom.gba", 0x11FB08, 0x0000008 + +gUnk_0811FB10:: @ 0811FB10 + .incbin "baserom.gba", 0x11FB10, 0x0000015 + +gUnk_0811FB25:: @ 0811FB25 + .incbin "baserom.gba", 0x11FB25, 0x0000058 + +gUnk_0811FB7D:: @ 0811FB7D + .incbin "baserom.gba", 0x11FB7D, 0x0000044 + +gUnk_0811FBC1:: @ 0811FBC1 + .incbin "baserom.gba", 0x11FBC1, 0x0000020 + +gUnk_0811FBE1:: @ 0811FBE1 + .incbin "baserom.gba", 0x11FBE1, 0x000000C + +gUnk_0811FBED:: @ 0811FBED + .incbin "baserom.gba", 0x11FBED, 0x0000010 + +gUnk_0811FBFD:: @ 0811FBFD + .incbin "baserom.gba", 0x11FBFD, 0x0000014 + +gUnk_0811FC11:: @ 0811FC11 + .incbin "baserom.gba", 0x11FC11, 0x000001C + +gUnk_0811FC2D:: @ 0811FC2D + .incbin "baserom.gba", 0x11FC2D, 0x0000024 + +gUnk_0811FC51:: @ 0811FC51 + .incbin "baserom.gba", 0x11FC51, 0x0000021 + +gUnk_0811FC72:: @ 0811FC72 + .incbin "baserom.gba", 0x11FC72, 0x0000015 + +gUnk_0811FC87:: @ 0811FC87 + .incbin "baserom.gba", 0x11FC87, 0x0000024 + +gUnk_0811FCAB:: @ 0811FCAB + .incbin "baserom.gba", 0x11FCAB, 0x0000034 + +gUnk_0811FCDF:: @ 0811FCDF + .incbin "baserom.gba", 0x11FCDF, 0x0000044 + +gUnk_0811FD23:: @ 0811FD23 + .incbin "baserom.gba", 0x11FD23, 0x0000018 + +gUnk_0811FD3B:: @ 0811FD3B + .incbin "baserom.gba", 0x11FD3B, 0x000001C + +gUnk_0811FD57:: @ 0811FD57 + .incbin "baserom.gba", 0x11FD57, 0x000001C + +gUnk_0811FD73:: @ 0811FD73 + .incbin "baserom.gba", 0x11FD73, 0x000000C + +gUnk_0811FD7F:: @ 0811FD7F + .incbin "baserom.gba", 0x11FD7F, 0x0000010 + +gUnk_0811FD8F:: @ 0811FD8F + .incbin "baserom.gba", 0x11FD8F, 0x0000014 + +gUnk_0811FDA3:: @ 0811FDA3 + .incbin "baserom.gba", 0x11FDA3, 0x0000015 + +gUnk_0811FDB8:: @ 0811FDB8 + .incbin "baserom.gba", 0x11FDB8, 0x0000014 + +gUnk_0811FDCC:: @ 0811FDCC + .incbin "baserom.gba", 0x11FDCC, 0x0000008 + +gUnk_0811FDD4:: @ 0811FDD4 + .incbin "baserom.gba", 0x11FDD4, 0x0000018 + +gUnk_0811FDEC:: @ 0811FDEC + .incbin "baserom.gba", 0x11FDEC, 0x0000010 + +gUnk_0811FDFC:: @ 0811FDFC + .incbin "baserom.gba", 0x11FDFC, 0x0000019 + +gUnk_0811FE15:: @ 0811FE15 + .incbin "baserom.gba", 0x11FE15, 0x0000041 + +gUnk_0811FE56:: @ 0811FE56 + .incbin "baserom.gba", 0x11FE56, 0x0000008 + +gUnk_0811FE5E:: @ 0811FE5E + .incbin "baserom.gba", 0x11FE5E, 0x0000018 + +gUnk_0811FE76:: @ 0811FE76 + .incbin "baserom.gba", 0x11FE76, 0x0000018 + +gUnk_0811FE8E:: @ 0811FE8E + .incbin "baserom.gba", 0x11FE8E, 0x0000014 + +gUnk_0811FEA2:: @ 0811FEA2 + .incbin "baserom.gba", 0x11FEA2, 0x000000C + +gUnk_0811FEAE:: @ 0811FEAE + .incbin "baserom.gba", 0x11FEAE, 0x000000C + +gUnk_0811FEBA:: @ 0811FEBA + .incbin "baserom.gba", 0x11FEBA, 0x0000028 + +gUnk_0811FEE2:: @ 0811FEE2 + .incbin "baserom.gba", 0x11FEE2, 0x000000D + +gUnk_0811FEEF:: @ 0811FEEF + .incbin "baserom.gba", 0x11FEEF, 0x0000020 + +gUnk_0811FF0F:: @ 0811FF0F + .incbin "baserom.gba", 0x11FF0F, 0x0000020 + +gUnk_0811FF2F:: @ 0811FF2F + .incbin "baserom.gba", 0x11FF2F, 0x0000020 + +gUnk_0811FF4F:: @ 0811FF4F + .incbin "baserom.gba", 0x11FF4F, 0x0000020 + +gUnk_0811FF6F:: @ 0811FF6F + .incbin "baserom.gba", 0x11FF6F, 0x0000020 + +gUnk_0811FF8F:: @ 0811FF8F + .incbin "baserom.gba", 0x11FF8F, 0x0000018 + +gUnk_0811FFA7:: @ 0811FFA7 + .incbin "baserom.gba", 0x11FFA7, 0x0000020 + +gUnk_0811FFC7:: @ 0811FFC7 + .incbin "baserom.gba", 0x11FFC7, 0x0000018 + +gUnk_0811FFDF:: @ 0811FFDF + .incbin "baserom.gba", 0x11FFDF, 0x0000018 + +gUnk_0811FFF7:: @ 0811FFF7 + .incbin "baserom.gba", 0x11FFF7, 0x0000009 + +gUnk_08120000:: @ 08120000 + .incbin "baserom.gba", 0x120000, 0x0000004 + +gUnk_08120004:: @ 08120004 + .incbin "baserom.gba", 0x120004, 0x0000006 + +gUnk_0812000A:: @ 0812000A + .incbin "baserom.gba", 0x12000A, 0x0000004 + +gUnk_0812000E:: @ 0812000E + .incbin "baserom.gba", 0x12000E, 0x0000001 + +gUnk_0812000F:: @ 0812000F + .incbin "baserom.gba", 0x12000F, 0x0000001 + +gUnk_08120010:: @ 08120010 + .incbin "baserom.gba", 0x120010, 0x0000007 + +gUnk_08120017:: @ 08120017 + .incbin "baserom.gba", 0x120017, 0x0000011 + +gUnk_08120028:: @ 08120028 + .incbin "baserom.gba", 0x120028, 0x0000004 + +gUnk_0812002C:: @ 0812002C + .incbin "baserom.gba", 0x12002C, 0x000000F + +gUnk_0812003B:: @ 0812003B + .incbin "baserom.gba", 0x12003B, 0x0000017 + +gUnk_08120052:: @ 08120052 + .incbin "baserom.gba", 0x120052, 0x000000A + +gUnk_0812005C:: @ 0812005C + .incbin "baserom.gba", 0x12005C, 0x0000007 + +gUnk_08120063:: @ 08120063 + .incbin "baserom.gba", 0x120063, 0x000001C + +gUnk_0812007F:: @ 0812007F + .incbin "baserom.gba", 0x12007F, 0x0000009 + +gUnk_08120088:: @ 08120088 + .incbin "baserom.gba", 0x120088, 0x0000013 + +gUnk_0812009B:: @ 0812009B + .incbin "baserom.gba", 0x12009B, 0x0000014 + +gUnk_081200AF:: @ 081200AF + .incbin "baserom.gba", 0x1200AF, 0x000001B + +gUnk_081200CA:: @ 081200CA + .incbin "baserom.gba", 0x1200CA, 0x0000001 + +gUnk_081200CB:: @ 081200CB + .incbin "baserom.gba", 0x1200CB, 0x0000005 + +gUnk_081200D0:: @ 081200D0 + .incbin "baserom.gba", 0x1200D0, 0x0000012 + +gUnk_081200E2:: @ 081200E2 + .incbin "baserom.gba", 0x1200E2, 0x0000009 + +gUnk_081200EB:: @ 081200EB + .incbin "baserom.gba", 0x1200EB, 0x0000013 + +gUnk_081200FE:: @ 081200FE + .incbin "baserom.gba", 0x1200FE, 0x0000001 + +gUnk_081200FF:: @ 081200FF + .incbin "baserom.gba", 0x1200FF, 0x0000024 + +gUnk_08120123:: @ 08120123 + .incbin "baserom.gba", 0x120123, 0x0000024 + +gUnk_08120147:: @ 08120147 + .incbin "baserom.gba", 0x120147, 0x0000020 + +gUnk_08120167:: @ 08120167 + .incbin "baserom.gba", 0x120167, 0x0000018 + +gUnk_0812017F:: @ 0812017F + .incbin "baserom.gba", 0x12017F, 0x0000011 + +gUnk_08120190:: @ 08120190 + .incbin "baserom.gba", 0x120190, 0x0000007 + +gUnk_08120197:: @ 08120197 + .incbin "baserom.gba", 0x120197, 0x0000018 + +gUnk_081201AF:: @ 081201AF + .incbin "baserom.gba", 0x1201AF, 0x0000031 + +gUnk_081201E0:: @ 081201E0 + .incbin "baserom.gba", 0x1201E0, 0x000000D + +gUnk_081201ED:: @ 081201ED + .incbin "baserom.gba", 0x1201ED, 0x000000B + +gUnk_081201F8:: @ 081201F8 + .incbin "baserom.gba", 0x1201F8, 0x0000011 + +gUnk_08120209:: @ 08120209 + .incbin "baserom.gba", 0x120209, 0x0000038 + +gUnk_08120241:: @ 08120241 + .incbin "baserom.gba", 0x120241, 0x0000038 + +gUnk_08120279:: @ 08120279 + .incbin "baserom.gba", 0x120279, 0x0000007 + +gUnk_08120280:: @ 08120280 + .incbin "baserom.gba", 0x120280, 0x000002D + +gUnk_081202AD:: @ 081202AD + .incbin "baserom.gba", 0x1202AD, 0x0000011 + +gUnk_081202BE:: @ 081202BE + .incbin "baserom.gba", 0x1202BE, 0x0000025 + +gUnk_081202E3:: @ 081202E3 + .incbin "baserom.gba", 0x1202E3, 0x0000009 + +gUnk_081202EC:: @ 081202EC + .incbin "baserom.gba", 0x1202EC, 0x0000020 + +gUnk_0812030C:: @ 0812030C + .incbin "baserom.gba", 0x12030C, 0x0000014 + +gUnk_08120320:: @ 08120320 + .incbin "baserom.gba", 0x120320, 0x0000030 + +gUnk_08120350:: @ 08120350 + .incbin "baserom.gba", 0x120350, 0x000001C + +gUnk_0812036C:: @ 0812036C + .incbin "baserom.gba", 0x12036C, 0x0000020 + +gUnk_0812038C:: @ 0812038C + .incbin "baserom.gba", 0x12038C, 0x0000038 + +gUnk_081203C4:: @ 081203C4 + .incbin "baserom.gba", 0x1203C4, 0x0000026 + +gUnk_081203EA:: @ 081203EA + .incbin "baserom.gba", 0x1203EA, 0x0000012 + +gUnk_081203FC:: @ 081203FC + .incbin "baserom.gba", 0x1203FC, 0x0000005 + +gUnk_08120401:: @ 08120401 + .incbin "baserom.gba", 0x120401, 0x0000001 + +gUnk_08120402:: @ 08120402 + .incbin "baserom.gba", 0x120402, 0x0000011 + +gUnk_08120413:: @ 08120413 + .incbin "baserom.gba", 0x120413, 0x0000030 + +gUnk_08120443:: @ 08120443 + .incbin "baserom.gba", 0x120443, 0x0000001 + +gUnk_08120444:: @ 08120444 + .incbin "baserom.gba", 0x120444, 0x0000015 + +gUnk_08120459:: @ 08120459 + .incbin "baserom.gba", 0x120459, 0x000000A + +gUnk_08120463:: @ 08120463 + .incbin "baserom.gba", 0x120463, 0x000009B + +gUnk_081204FE:: @ 081204FE + .incbin "baserom.gba", 0x1204FE, 0x0000062 + +gUnk_08120560:: @ 08120560 + .incbin "baserom.gba", 0x120560, 0x000000C + +gUnk_0812056C:: @ 0812056C + .incbin "baserom.gba", 0x12056C, 0x0000008 + +gUnk_08120574:: @ 08120574 + .incbin "baserom.gba", 0x120574, 0x0000008 + +gUnk_0812057C:: @ 0812057C + .incbin "baserom.gba", 0x12057C, 0x000000C + +gUnk_08120588:: @ 08120588 + .incbin "baserom.gba", 0x120588, 0x0000014 + +gUnk_0812059C:: @ 0812059C + .incbin "baserom.gba", 0x12059C, 0x0000018 + +gUnk_081205B4:: @ 081205B4 + .incbin "baserom.gba", 0x1205B4, 0x0000008 + +gUnk_081205BC:: @ 081205BC + .incbin "baserom.gba", 0x1205BC, 0x0000014 + +gUnk_081205D0:: @ 081205D0 + .incbin "baserom.gba", 0x1205D0, 0x0000010 + +gUnk_081205E0:: @ 081205E0 + .incbin "baserom.gba", 0x1205E0, 0x0000004 + +gUnk_081205E4:: @ 081205E4 + .incbin "baserom.gba", 0x1205E4, 0x0000004 + +gUnk_081205E8:: @ 081205E8 + .incbin "baserom.gba", 0x1205E8, 0x0000004 + +gUnk_081205EC:: @ 081205EC + .incbin "baserom.gba", 0x1205EC, 0x0000004 + +gUnk_081205F0:: @ 081205F0 + .incbin "baserom.gba", 0x1205F0, 0x0000004 + +gUnk_081205F4:: @ 081205F4 + .incbin "baserom.gba", 0x1205F4, 0x0000009 + +gUnk_081205FD:: @ 081205FD + .incbin "baserom.gba", 0x1205FD, 0x000000B + +gUnk_08120608:: @ 08120608 + .incbin "baserom.gba", 0x120608, 0x0000018 + +gUnk_08120620:: @ 08120620 + .incbin "baserom.gba", 0x120620, 0x000000C + +gUnk_0812062C:: @ 0812062C + .incbin "baserom.gba", 0x12062C, 0x000000C + +gUnk_08120638:: @ 08120638 + .incbin "baserom.gba", 0x120638, 0x0000008 + +gUnk_08120640:: @ 08120640 + .incbin "baserom.gba", 0x120640, 0x0000008 + +gUnk_08120648:: @ 08120648 + .incbin "baserom.gba", 0x120648, 0x0000008 + +gUnk_08120650:: @ 08120650 + .incbin "baserom.gba", 0x120650, 0x0000008 + +gUnk_08120658:: @ 08120658 + .incbin "baserom.gba", 0x120658, 0x0000008 + +gUnk_08120660:: @ 08120660 + .incbin "baserom.gba", 0x120660, 0x0000008 + +gUnk_08120668:: @ 08120668 + .incbin "baserom.gba", 0x120668, 0x0000010 + +gUnk_08120678:: @ 08120678 + .incbin "baserom.gba", 0x120678, 0x000000A + +gUnk_08120682:: @ 08120682 + .incbin "baserom.gba", 0x120682, 0x0000004 + +gUnk_08120686:: @ 08120686 + .incbin "baserom.gba", 0x120686, 0x0000004 + +gUnk_0812068A:: @ 0812068A + .incbin "baserom.gba", 0x12068A, 0x0000004 + +gUnk_0812068E:: @ 0812068E + .incbin "baserom.gba", 0x12068E, 0x0000004 + +gUnk_08120692:: @ 08120692 + .incbin "baserom.gba", 0x120692, 0x0000006 + +gUnk_08120698:: @ 08120698 + .incbin "baserom.gba", 0x120698, 0x0000014 + +gUnk_081206AC:: @ 081206AC + .incbin "baserom.gba", 0x1206AC, 0x0000008 + +gUnk_081206B4:: @ 081206B4 + .incbin "baserom.gba", 0x1206B4, 0x0000010 + +gUnk_081206C4:: @ 081206C4 + .incbin "baserom.gba", 0x1206C4, 0x000000C diff --git a/data/room_headers.s b/data/room_headers.s new file mode 100755 index 00000000..87278a94 --- /dev/null +++ b/data/room_headers.s @@ -0,0 +1,1166 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gAreaRoomHeaders_MinishWoods:: @ 0811C488 + room_header 0xBA, 0x87, 0x3F0, 0x3F0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_MinishVillage:: @ 0811C494 + room_header 0x00, 0x00, 0x3F0, 0x3F0, 0 + room_header 0x3F, 0x00, 0x1E0, 0x1A0, 1 + .2byte 0xFFFF + + +gAreaRoomHeaders_HyruleTown:: @ 0811C4AA + room_header 0x5d, 0x5f, 0x3f0, 0x3c0, 0 + room_header 0x3c, 0xc4, 0x190, 0x3c0, 1 + .2byte 0xFFFF + +gAreaRoomHeaders_HyruleField:: @ 0811C4C0 + room_header 0x3f, 0xb9, 0x1e0, 0xd0, 0 + room_header 0x5d, 0x9b, 0x3f0, 0x2b0, 0 + room_header 0x9c, 0xb9, 0x1e0, 0xd0, 0 + room_header 0x9c, 0xa9, 0x1e0, 0x100, 0 + room_header 0x9c, 0x87, 0x1e0, 0x220, 1 + room_header 0x9c, 0x4b, 0x2d0, 0x3c0, 1 + room_header 0x5d, 0x2d, 0x3f0, 0x320, 2 + room_header 0x3f, 0x4b, 0x1e0, 0x3c0, 0 + room_header 0x3f, 0x87, 0x1e0, 0x280, 0 + room_header 0x3f, 0xaf, 0x1e0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CastorWilds:: @ 0811C526 + room_header 0x00, 0x69, 0x3f0, 0x3c0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_Ruins:: @ 0811C532 + room_header 0x00, 0xa5, 0xf0, 0x210, 0 + room_header 0x0f, 0xa5, 0xf0, 0xd0, 0 + room_header 0x0f, 0xb2, 0xf0, 0xa0, 0 + room_header 0x0f, 0xbc, 0xf0, 0xa0, 0 + room_header 0x1e, 0xa5, 0x210, 0x100, 0 + room_header 0x1e, 0xb5, 0x210, 0x110, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_MtCrenel:: @ 0811C570 + room_header 0x00, 0x00, 0x3f0, 0xe0, 0 + room_header 0x00, 0x0e, 0x180, 0x260, 0 + room_header 0x18, 0x0e, 0x270, 0x260, 0 + room_header 0x00, 0x34, 0x3f0, 0x170, 0 + room_header 0x00, 0x4b, 0x3f0, 0x1e0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CastleGarden:: @ 0811C5A4 + room_header 0x5d, 0x0c, 0x3f0, 0x210, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CloudTops:: @ 0811C5B0 + room_header 0xba, 0x00, 0x3f0, 0x3f0, 0 + room_header 0xba, 0x00, 0x3f0, 0x3f0, 0 + room_header 0xba, 0x00, 0x3f0, 0x3f0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_RoyalValley:: @ 0811C5D0 + room_header 0x3f, 0x0c, 0x1e0, 0x3f0, 0 + room_header 0x17, 0xd4, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_VeilFalls:: @ 0811C5E6 + room_header 0x9c, 0x0c, 0x1e0, 0x3f0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_LakeHylia:: @ 0811C5F2 + room_header 0xc9, 0x4b, 0x300, 0x3c0, 0 + room_header 0xba, 0x3f, 0x3f0, 0xc0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_LakeWoodsCave:: @ 0811C608 + room_header 0x00, 0x00, 0x3f0, 0x3f0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_Beanstalks:: @ 0811C614 + room_header 0x44, 0x00, 0xf0, 0xa0, 0 + room_header 0x11, 0x00, 0xf0, 0xa0, 0 + room_header 0x22, 0x00, 0xf0, 0xa0, 0 + room_header 0x33, 0x00, 0xf0, 0xa0, 0 + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x1e0, 0xc0, 1 + room_header 0x00, 0x00, 0x3f0, 0xc0, 2 + room_header 0x00, 0x00, 0x1e0, 0xc0, 2 + room_header 0x00, 0x00, 0x1e0, 0x3f0, 2 + room_header 0x00, 0x00, 0x1e0, 0x3f0, 1 + room_header 0x00, 0x00, 0xf0, 0xa0, 1 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x0c, 0xf0, 0xa0, 0 + room_header 0x11, 0x0c, 0xf0, 0xa0, 0 + room_header 0x22, 0x0c, 0xf0, 0xa0, 0 + room_header 0x33, 0x0c, 0xf0, 0xa0, 0 + room_header 0x44, 0x0c, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_Empty:: @ 0811C6E8 + .2byte 0xFFFF + +gAreaRoomHeaders_HyruleDigCaves:: @ 0811C6EA + room_header 0x00, 0x00, 0x3f0, 0x3c0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_MelarisMine:: @ 0811C6F6 + room_header 0x00, 0x00, 0x2d0, 0x270, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_MinishPaths1:: @ 0811C702 + room_header 0x02, 0x04, 0xf0, 0x320, 0 + room_header 0x16, 0x04, 0xf0, 0x320, 1 + room_header 0x2a, 0x04, 0xf0, 0x320, 2 + room_header 0x3e, 0x04, 0xf0, 0x320, 2 + room_header 0x50, 0x04, 0xf0, 0x320, 1 + .2byte 0xFFFF + +gAreaRoomHeaders_CrenelMinishPaths:: @ 0811C736 + room_header 0x04, 0x04, 0xf0, 0x320, 0 + room_header 0x18, 0x04, 0xf0, 0x320, 0 + room_header 0x2c, 0x04, 0x320, 0xc0, 1 + room_header 0x2c, 0x14, 0x320, 0xc0, 2 + .2byte 0xFFFF + +gAreaRoomHeaders_DigCaves1:: @ 0811C760 + room_header 0x00, 0x00, 0x1e0, 0x220, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65530 + room_header 0x00, 0x00, 0x00, 0x00, 65530 + room_header 0x00, 0x28, 0x1e0, 0x3c0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CrenelDigCave:: @ 0811C78A + room_header 0x00, 0x00, 0x1f0, 0x200, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_FestivalTown:: @ 0811C796 + room_header 0x00, 0x00, 0x190, 0x3c0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_VeilFallsDigCave:: @ 0811C7A2 + room_header 0x00, 0x00, 0x1e0, 0x3f0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CastorWildsDigCave:: @ 0811C7AE + room_header 0x00, 0x00, 0x3f0, 0x3c0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_OuterFoW:: @ 0811C7BA + room_header 0x00, 0x00, 0x3b0, 0xd0, 0 + room_header 0x00, 0x20, 0x3b0, 0x140, 0 + room_header 0x00, 0x38, 0x3b0, 0xd0, 0 + room_header 0x2a, 0x10, 0x130, 0xd0, 0 + room_header 0x00, 0x10, 0xf0, 0xd0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_HyliaDigCaves:: @ 0811C7EE + room_header 0x00, 0x1e, 0x110, 0x100, 0 + room_header 0x00, 0x00, 0x3f0, 0x1b0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_VeilFallsTop:: @ 0811C804 + room_header 0x9c, 0x00, 0x1e0, 0xc0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_MinishHouseInteriors:: @ 0811C810 + room_header 0x15, 0x07, 0xf0, 0xa0, 0 + room_header 0x06, 0x07, 0xf0, 0xa0, 0 + room_header 0x07, 0x14, 0x1d0, 0x100, 1 + room_header 0x26, 0x07, 0x100, 0xa0, 2 + room_header 0x39, 0x07, 0x100, 0xa0, 3 + room_header 0x4c, 0x07, 0x100, 0xa0, 4 + room_header 0x5f, 0x07, 0x100, 0xa0, 5 + room_header 0x74, 0x07, 0xf0, 0xa0, 6 + room_header 0x60, 0x15, 0xf0, 0xf0, 7 + room_header 0x74, 0x14, 0xf0, 0x170, 8 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x05, 0x2b, 0xf0, 0xa0, 9 + room_header 0x16, 0x2b, 0xf0, 0xa0, 10 + room_header 0x28, 0x2b, 0x160, 0xa0, 11 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x01, 0x3d, 0xf0, 0xa0, 12 + room_header 0x13, 0x3d, 0xf0, 0xa0, 13 + room_header 0x25, 0x3d, 0xf0, 0xa0, 14 + room_header 0x37, 0x3d, 0xf0, 0xa0, 15 + room_header 0x48, 0x3d, 0xf0, 0xa0, 16 + room_header 0x5b, 0x3d, 0xf0, 0xa0, 17 + room_header 0x6d, 0x3d, 0xf0, 0xa0, 18 + room_header 0x6d, 0x31, 0xf0, 0xa0, 19 + .2byte 0xFFFF + +gAreaRoomHeaders_HouseInteriors1:: @ 0811C9A2 + room_header 0x00, 0x00, 0x110, 0xc0, 0 + room_header 0x12, 0x00, 0xf0, 0xb0, 0 + room_header 0x22, 0x00, 0xf0, 0xb0, 0 + room_header 0x33, 0x00, 0x160, 0x100, 0 + room_header 0x4c, 0x0b, 0x150, 0xa0, 0 + room_header 0x51, 0x00, 0xf0, 0xa0, 0 + room_header 0x61, 0x00, 0xf0, 0xa0, 0 + room_header 0x71, 0x00, 0xf0, 0xa0, 0 + room_header 0x62, 0x0b, 0xf0, 0xa0, 0 + room_header 0x71, 0x0b, 0xf0, 0x1c0, 0 + room_header 0x61, 0x16, 0xf0, 0xa0, 0 + room_header 0x0f, 0x10, 0xf0, 0xf0, 0 + room_header 0x1e, 0x10, 0x140, 0xb0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_HouseInteriors2:: @ 0811CA26 + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x10, 0x00, 0xf0, 0xc0, 0 + room_header 0x20, 0x01, 0xf0, 0xc0, 0 + room_header 0x30, 0x00, 0xf0, 0xc0, 0 + room_header 0x40, 0x00, 0xf0, 0xc0, 0 + room_header 0x50, 0x00, 0xf0, 0xb0, 0 + room_header 0x60, 0x00, 0xf0, 0xa0, 0 + room_header 0x70, 0x00, 0xf0, 0xc0, 0 + room_header 0x00, 0x0e, 0xf0, 0xb0, 0 + room_header 0x10, 0x0e, 0xf0, 0xa0, 0 + room_header 0x20, 0x0e, 0xf0, 0xa0, 0 + room_header 0x30, 0x0e, 0xf0, 0xa0, 0 + room_header 0x40, 0x0e, 0xf0, 0xa0, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x1b, 0xf0, 0xa0, 0 + room_header 0x0f, 0x1b, 0xf0, 0xa0, 0 + room_header 0x1f, 0x1b, 0xf0, 0xa0, 1 + room_header 0x30, 0x1b, 0xf0, 0xb0, 0 + room_header 0x41, 0x1b, 0xf0, 0xa0, 2 + room_header 0x51, 0x1b, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_HouseInteriors3:: @ 0811CB04 + room_header 0x00, 0x00, 0xf0, 0xd0, 0 + room_header 0x10, 0x00, 0xf0, 0xd0, 0 + room_header 0x20, 0x00, 0xf0, 0xa0, 0 + room_header 0x30, 0x00, 0xf0, 0xc0, 0 + room_header 0x40, 0x00, 0xf0, 0xa0, 0 + room_header 0x50, 0x00, 0xf0, 0xa0, 0 + room_header 0x60, 0x00, 0xf0, 0xb0, 0 + room_header 0x00, 0x0e, 0xf0, 0xa0, 0 + room_header 0x10, 0x0e, 0x100, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_TreeInteriors:: @ 0811CB60 + room_header 0x00, 0x17, 0xf0, 0xa0, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0x00, 0x00, 65523 + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x10, 0x00, 0xf0, 0xa0, 0 + room_header 0x20, 0x00, 0xf0, 0xa0, 0 + room_header 0x30, 0x00, 0xf0, 0xa0, 0 + room_header 0x40, 0x00, 0xf0, 0xa0, 0 + room_header 0x50, 0x00, 0xf0, 0xa0, 0 + room_header 0x60, 0x00, 0xf0, 0xa0, 0 + room_header 0x70, 0x00, 0xf0, 0xa0, 0 + room_header 0x80, 0x00, 0xf0, 0xa0, 0 + room_header 0x00, 0x0b, 0xf0, 0xa0, 0 + room_header 0x10, 0x0b, 0xf0, 0xa0, 0 + room_header 0x20, 0x0b, 0xf0, 0xa0, 0 + room_header 0x30, 0x0b, 0xf0, 0xa0, 0 + room_header 0x40, 0x0b, 0xf0, 0xa0, 0 + room_header 0x50, 0x0b, 0xf0, 0xa0, 0 + room_header 0x60, 0x0b, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_Dojos:: @ 0811CCA2 + room_header 0x00, 0x00, 0xf0, 0xc0, 0 + room_header 0x10, 0x00, 0xf0, 0xc0, 1 + room_header 0x20, 0x00, 0xf0, 0xc0, 2 + room_header 0x30, 0x00, 0xf0, 0xc0, 3 + room_header 0x40, 0x00, 0xf0, 0xc0, 3 + room_header 0x50, 0x00, 0xf0, 0xc0, 2 + room_header 0x60, 0x00, 0xf0, 0xc0, 4 + room_header 0x70, 0x00, 0xf0, 0xa0, 2 + room_header 0x00, 0x0d, 0xf0, 0xa0, 2 + room_header 0x40, 0x0d, 0xf0, 0xa0, 5 + room_header 0x50, 0x0c, 0xf0, 0xa0, 2 + room_header 0x10, 0x0c, 0xf0, 0xa0, 1 + room_header 0x20, 0x0c, 0xf0, 0xa0, 2 + room_header 0x30, 0x0c, 0xf0, 0xa0, 3 + .2byte 0xFFFF + +gAreaRoomHeaders_CrenelCaves:: @ 0811CD30 + room_header 0x00, 0x25, 0x2d0, 0x1e0, 0 + room_header 0x37, 0x39, 0xf0, 0xb0, 0 + room_header 0x4e, 0x26, 0xf0, 0x1f0, 0 + room_header 0x69, 0x3b, 0xf0, 0xc0, 0 + room_header 0x06, 0x64, 0xf0, 0xa0, 0 + room_header 0x1d, 0x64, 0xf0, 0xa0, 0 + room_header 0x34, 0x64, 0xf0, 0xc0, 0 + room_header 0x48, 0x64, 0xf0, 0xb0, 0 + room_header 0x5e, 0x5a, 0xf0, 0x140, 0 + room_header 0x75, 0x65, 0xf0, 0xa0, 0 + room_header 0x03, 0x7d, 0x230, 0xa0, 0 + room_header 0x2f, 0x74, 0xf0, 0x160, 0 + room_header 0x45, 0x7f, 0xf0, 0xa0, 0 + room_header 0x5b, 0x7f, 0xf0, 0xa0, 0 + room_header 0x72, 0x7f, 0xf0, 0xa0, 0 + room_header 0x06, 0x54, 0xf0, 0xa0, 0 + room_header 0x1e, 0x4d, 0xf0, 0x110, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_MinishCracks:: @ 0811CDDC + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x10, 0x00, 0xf0, 0xa0, 1 + room_header 0x20, 0x00, 0xf0, 0xa0, 0 + room_header 0x30, 0x00, 0xf0, 0xa0, 2 + room_header 0x40, 0x00, 0xf0, 0xa0, 0 + room_header 0x50, 0x00, 0xf0, 0xa0, 3 + room_header 0x60, 0x00, 0xf0, 0xa0, 4 + room_header 0x70, 0x00, 0xf0, 0xa0, 4 + room_header 0x00, 0x0b, 0xf0, 0xa0, 1 + room_header 0x10, 0x0b, 0xf0, 0xa0, 4 + room_header 0x20, 0x0b, 0xf0, 0xa0, 4 + room_header 0x30, 0x0b, 0xf0, 0xa0, 4 + room_header 0x40, 0x0b, 0xf0, 0xa0, 4 + room_header 0x50, 0x0b, 0xf0, 0xa0, 4 + room_header 0x60, 0x0b, 0xf0, 0xa0, 3 + room_header 0x70, 0x0b, 0xf0, 0xa0, 3 + room_header 0x00, 0x17, 0xf0, 0xa0, 3 + room_header 0x10, 0x17, 0xf0, 0xa0, 3 + .2byte 0xFFFF + +gAreaRoomHeaders_HouseInteriors4:: @ 0811CE92 + room_header 0x00, 0x00, 0xf0, 0xc0, 0 + room_header 0x10, 0x00, 0xf0, 0xc0, 0 + room_header 0x20, 0x00, 0xf0, 0xa0, 0 + room_header 0x2f, 0x00, 0xf0, 0xa0, 0 + room_header 0x40, 0x00, 0xf0, 0xa0, 0 + room_header 0x50, 0x00, 0xf0, 0xc0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_GreatFairies:: @ 0811CED0 + room_header 0x00, 0x00, 0xf0, 0x120, 0 + room_header 0x10, 0x00, 0xf0, 0x120, 1 + room_header 0x20, 0x00, 0xf0, 0x120, 2 + .2byte 0xFFFF + +gAreaRoomHeaders_CastorCaves:: @ 0811CEF0 + room_header 0x08, 0x05, 0xf0, 0xc0, 0 + room_header 0x05, 0x16, 0x160, 0xa0, 0 + room_header 0x1c, 0x07, 0xf0, 0xa0, 0 + room_header 0x20, 0x15, 0xf0, 0xa0, 0 + room_header 0x35, 0x15, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CastorDarknut:: @ 0811CF24 + room_header 0x00, 0x00, 0x110, 0xd0, 0 + room_header 0x00, 0x0d, 0x200, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_ArmosInteriors:: @ 0811CF3A + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x00, 0x0c, 0xf0, 0xa0, 0 + room_header 0x00, 0x18, 0xf0, 0xa0, 0 + room_header 0x00, 0x24, 0xf0, 0xa0, 0 + room_header 0x00, 0x30, 0xf0, 0xa0, 0 + room_header 0x00, 0x3c, 0xf0, 0xa0, 0 + room_header 0x00, 0x48, 0xf0, 0xa0, 0 + room_header 0x00, 0x54, 0xf0, 0xa0, 0 + room_header 0x00, 0x60, 0xf0, 0xa0, 0 + room_header 0x14, 0x00, 0xf0, 0xa0, 0 + room_header 0x14, 0x0c, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_TownMinishHoles:: @ 0811CFAA + room_header 0x0a, 0x49, 0xf0, 0xa0, 0 + room_header 0x1c, 0x49, 0xf0, 0xa0, 1 + room_header 0x2e, 0x49, 0xf0, 0xa0, 2 + room_header 0x41, 0x49, 0xf0, 0xa0, 3 + room_header 0x54, 0x49, 0xf0, 0xa0, 4 + room_header 0x66, 0x49, 0xf0, 0xa0, 5 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x13, 0x58, 0x150, 0x1c0, 6 + room_header 0x2d, 0x59, 0xf0, 0xf0, 7 + room_header 0x44, 0x59, 0x140, 0x140, 8 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x00, 0x00, 0x00, 0x00, 65515 + room_header 0x2d, 0x72, 0x120, 0xc0, 9 + room_header 0x41, 0x72, 0x120, 0xc0, 10 + room_header 0x56, 0x72, 0x120, 0xc0, 11 + room_header 0x6b, 0x72, 0x120, 0xc0, 12 + .2byte 0xFFFF + +gAreaRoomHeaders_MinishRafters:: @ 0811D114 + room_header 0x00, 0x00, 0x1f0, 0x100, 0 + room_header 0x20, 0x00, 0x1f0, 0x100, 0 + room_header 0x40, 0x00, 0x1f0, 0x100, 0 + room_header 0x60, 0x00, 0x1f0, 0x100, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_GoronCave:: @ 0811D13E + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x10, 0x00, 0xf0, 0x2d0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_WindTribeTower:: @ 0811D154 + room_header 0x00, 0x00, 0xf0, 0x150, 0 + room_header 0x10, 0x00, 0xf0, 0x150, 0 + room_header 0x20, 0x00, 0xf0, 0x150, 0 + room_header 0x30, 0x00, 0xf0, 0x150, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_WindTribeTowerRoof:: @ 0811D17E + room_header 0x00, 0x00, 0xf0, 0x1a0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_Caves:: @ 0811D18A + room_header 0x00, 0x00, 0x150, 0x150, 0 + room_header 0x17, 0x00, 0x170, 0xf0, 0 + room_header 0x2f, 0x00, 0xf0, 0xa0, 0 + room_header 0x40, 0x00, 0xf0, 0xa0, 0 + room_header 0x51, 0x00, 0xf0, 0xa0, 0 + room_header 0x62, 0x00, 0xf0, 0xa0, 0 + room_header 0x00, 0x17, 0xf0, 0xe0, 0 + room_header 0x11, 0x1a, 0xf0, 0xa0, 0 + room_header 0x25, 0x1a, 0xf0, 0xa0, 0 + room_header 0x36, 0x1a, 0xf0, 0xa0, 0 + room_header 0x00, 0x28, 0xf0, 0xa0, 0 + room_header 0x10, 0x28, 0xf0, 0xa0, 0 + room_header 0x24, 0x29, 0xf0, 0x100, 0 + room_header 0x33, 0x29, 0xf0, 0x100, 0 + room_header 0x46, 0x29, 0x1a0, 0xa0, 0 + room_header 0x00, 0x48, 0xf0, 0xa0, 0 + room_header 0x11, 0x48, 0xf0, 0xa0, 0 + room_header 0x23, 0x48, 0xf0, 0xa0, 0 + room_header 0x69, 0x19, 0xf0, 0xa0, 0 + room_header 0x34, 0x48, 0xf0, 0xa0, 0 + room_header 0x60, 0x29, 0xf0, 0xa0, 0 + room_header 0x46, 0x43, 0xf0, 0xf0, 0 + room_header 0x1f, 0x61, 0xf0, 0xa0, 0 + room_header 0x31, 0x61, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_VeilFallsCaves:: @ 0811D27C + room_header 0x00, 0x00, 0x150, 0xa0, 0 + room_header 0x17, 0x00, 0x120, 0x140, 0 + room_header 0x29, 0x00, 0xf0, 0xd0, 0 + room_header 0x3b, 0x00, 0x180, 0xa0, 0 + room_header 0x00, 0x2d, 0xf0, 0xa0, 0 + room_header 0x00, 0x23, 0xf0, 0xa0, 0 + room_header 0x00, 0x17, 0xf0, 0xa0, 0 + room_header 0x13, 0x1b, 0xf0, 0x140, 0 + room_header 0x24, 0x1b, 0xf0, 0x140, 0 + room_header 0x35, 0x1e, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_RoyalValleyGraves:: @ 0811D2E2 + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x12, 0x00, 0xf0, 0x140, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_MinishCaves:: @ 0811D2F8 + room_header 0x00, 0x00, 0x130, 0x1e0, 0 + room_header 0x1a, 0x11, 0xf0, 0x230, 0 + room_header 0x1a, 0x00, 0xf0, 0x110, 0 + room_header 0x2d, 0x00, 0x290, 0xf0, 0 + room_header 0x5c, 0x00, 0xf0, 0xf0, 0 + room_header 0x0f, 0x3b, 0xf0, 0x140, 0 + room_header 0x00, 0x3b, 0xf0, 0x140, 0 + room_header 0x30, 0x32, 0x1f0, 0x1e0, 0 + room_header 0x36, 0x1e, 0x3c0, 0xa0, 0 + room_header 0x55, 0x33, 0x270, 0x140, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CastleGardenMinishHoles:: @ 0811D35E + room_header 0x00, 0x00, 0xf0, 0xf0, 0 + room_header 0x13, 0x00, 0xf0, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_37:: @ 0811D374 + room_header 0x00, 0x00, 0xf0, 0xf0, 0 + room_header 0x14, 0x00, 0xf0, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_EzloCutscene:: @ 0811D38A + room_header 0x00, 0x00, 0xf0, 0x140, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_40:: @ 0811D396 + room_header 0x01, 0x02, 0x130, 0x110, 0 + room_header 0x14, 0x02, 0x170, 0x110, 0 + room_header 0x2b, 0x02, 0x130, 0x110, 0 + room_header 0x01, 0x13, 0x130, 0x110, 0 + room_header 0x14, 0x13, 0x170, 0x110, 0 + room_header 0x2b, 0x13, 0x130, 0x110, 0 + room_header 0x13, 0x24, 0x290, 0x100, 0 + room_header 0x13, 0x34, 0x190, 0xd0, 0 + room_header 0x03, 0x24, 0x100, 0x100, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_HyruleTownUnderground:: @ 0811D3F2 + room_header 0x11, 0x0b, 0x2d0, 0x280, 0 + room_header 0x22, 0x36, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_GardenFountains:: @ 0811D408 + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x12, 0x00, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_HyruleCastleCellar:: @ 0811D41E + room_header 0x00, 0x00, 0xf0, 0x200, 0 + room_header 0x0f, 0x00, 0xf0, 0x100, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_SimonsSimulation:: @ 0811D434 + room_header 0x00, 0x00, 0x130, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_45:: @ 0811D440 + room_header 0x00, 0x00, 0x110, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_46:: @ 0811D44C + room_header 0x01, 0x02, 0x130, 0x110, 0 + room_header 0x14, 0x02, 0x170, 0x110, 0 + room_header 0x2b, 0x02, 0x130, 0x110, 0 + room_header 0x01, 0x13, 0x130, 0x110, 0 + room_header 0x14, 0x13, 0x170, 0x110, 0 + room_header 0x2b, 0x13, 0x130, 0x110, 0 + room_header 0x03, 0x24, 0x390, 0x100, 0 + room_header 0x11, 0x34, 0x1d0, 0xd0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_47:: @ 0811D49E + room_header 0x00, 0x28, 0x170, 0xd0, 0 + room_header 0x00, 0x19, 0x170, 0xf0, 0 + room_header 0x00, 0x00, 0x170, 0x190, 1 + .2byte 0xFFFF + +gAreaRoomHeaders_DeepwoodShrine:: @ 0811D4BE + room_header 0x21, 0x99, 0x110, 0xf0, 0 + room_header 0x32, 0x99, 0x190, 0xf0, 0 + room_header 0x4b, 0x99, 0x150, 0xf0, 0 + room_header 0x10, 0xa8, 0x110, 0xf0, 0 + room_header 0x10, 0xb7, 0x110, 0xa0, 0 + room_header 0x21, 0xa8, 0x110, 0x190, 0 + room_header 0x32, 0xa8, 0x1d0, 0x190, 0 + room_header 0x4f, 0xa8, 0x110, 0x190, 0 + room_header 0x60, 0xa8, 0x110, 0xc0, 0 + room_header 0x60, 0xb4, 0x110, 0xd0, 0 + room_header 0x36, 0xc1, 0x150, 0x110, 0 + room_header 0x36, 0xe3, 0x150, 0x110, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x36, 0xd2, 0x150, 0x110, 0 + room_header 0x2e, 0x11c, 0x190, 0xf0, 0 + room_header 0x47, 0x11c, 0x150, 0xf0, 0 + room_header 0x00, 0x00, 0x110, 0xc0, 0 + room_header 0x2e, 0x12b, 0x1d0, 0x190, 0 + room_header 0x4b, 0x12b, 0x110, 0x120, 0 + room_header 0x38, 0x54, 0x110, 0xf0, 1 + room_header 0x36, 0x63, 0x150, 0x110, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0xb9, 0xb0, 0xf0, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_DeepwoodShrineBoss:: @ 0811D60A + room_header 0x38, 0x54, 0x110, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_DeepwoodShrineEntry:: @ 0811D616 + room_header 0x00, 0x00, 0xf0, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_4D:: @ 0811D622 + room_header 0x1d, 0x0d, 0x290, 0x280, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CaveOfFlames:: @ 0811D62E + room_header 0x15, 0x99, 0x170, 0x110, 0 + room_header 0x2c, 0x99, 0x170, 0x110, 0 + room_header 0x15, 0xaa, 0x2e0, 0xd0, 0 + room_header 0x5a, 0x47, 0x110, 0xd0, 0 + room_header 0x40, 0xb7, 0x370, 0x110, 0 + room_header 0x5a, 0x3a, 0x110, 0xd0, 0 + room_header 0x15, 0xb7, 0x2b0, 0x110, 0 + room_header 0x06, 0xb7, 0xf0, 0x110, 0 + room_header 0x15, 0xc8, 0x170, 0x1c0, 0 + room_header 0x2c, 0xc8, 0x170, 0x1c0, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x04, 0x13b, 0x2a0, 0x1e0, 0 + room_header 0x04, 0x159, 0x2a0, 0xf0, 0 + room_header 0x2e, 0x13b, 0x150, 0xf0, 0 + room_header 0x43, 0x13b, 0x150, 0xf0, 0 + room_header 0x58, 0x13b, 0x150, 0xf0, 0 + room_header 0x6b, 0x3a, 0xf0, 0xd0, 0 + room_header 0x6b, 0x47, 0xf0, 0xd0, 0 + room_header 0x2e, 0x14a, 0x2a0, 0x1e0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_CaveOfFlamesBoss:: @ 0811D720 + room_header 0x2c, 0x1ba, 0x180, 0x120, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_57:: @ 0811D72C + room_header 0x00, 0x00, 0x280, 0x280, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_FortressOfWinds:: @ 0811D738 + room_header 0x16, 0x3f, 0x110, 0xd0, 0 + room_header 0x38, 0x3f, 0x110, 0xd0, 0 + room_header 0x46, 0x3f, 0x260, 0x1b0, 0 + room_header 0x16, 0x4c, 0x110, 0xe0, 0 + room_header 0x27, 0x4c, 0x1f0, 0xe0, 0 + room_header 0x27, 0xb2, 0x110, 0xd0, 1 + room_header 0x49, 0xb2, 0x110, 0xd0, 1 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x16, 0xa5, 0x110, 0xd0, 0 + room_header 0x27, 0xa5, 0x110, 0xd0, 0 + room_header 0x38, 0xa5, 0x110, 0x1a0, 0 + room_header 0x49, 0xa5, 0x110, 0xd0, 0 + room_header 0x5a, 0xa5, 0x110, 0x1a0, 0 + room_header 0x16, 0xb2, 0x110, 0xd0, 0 + room_header 0x35, 0x32, 0x170, 0xd0, 0 + room_header 0x16, 0xbf, 0x110, 0xd0, 0 + room_header 0x27, 0xbf, 0x110, 0xd0, 0 + room_header 0x38, 0xbf, 0x110, 0x1a0, 0 + room_header 0x49, 0xbf, 0x110, 0xd0, 0 + room_header 0x5a, 0xbf, 0x110, 0xd0, 0 + room_header 0x27, 0xcc, 0x110, 0xd0, 0 + room_header 0x49, 0xcc, 0x110, 0xd0, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x28, 0x14c, 0xf0, 0xd0, 0 + room_header 0x39, 0x14c, 0xf0, 0xd0, 0 + room_header 0x4b, 0x14c, 0xf0, 0xd0, 0 + room_header 0x16, 0x14c, 0xf0, 0xd0, 0 + room_header 0x5a, 0x14c, 0x100, 0xd0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_FortressOfWindsTop:: @ 0811D8AC + room_header 0x00, 0x00, 0x140, 0x1e0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_InnerMazaal:: @ 0811D8B8 + room_header 0x00, 0x00, 0x110, 0x130, 0 + room_header 0x00, 0x15, 0x110, 0x130, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_5F:: @ 0811D8CE + room_header 0x2b, 0x18, 0x280, 0x280, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_TempleOfDroplets:: @ 0811D8DA + room_header 0x27, 0x0c, 0x110, 0xd0, 0 + room_header 0x38, 0x0c, 0x110, 0xd0, 0 + room_header 0x49, 0x0c, 0x110, 0xd0, 0 + room_header 0x30, 0x19, 0x210, 0x1a0, 0 + room_header 0x1f, 0x26, 0x110, 0xd0, 0 + room_header 0x51, 0x26, 0x110, 0xd0, 0 + room_header 0x10, 0x33, 0xf0, 0x1a0, 0 + room_header 0x1f, 0x33, 0x110, 0x1a0, 0 + room_header 0x30, 0x33, 0x210, 0x240, 0 + room_header 0x51, 0x33, 0x110, 0xd0, 0 + room_header 0x62, 0x33, 0xf0, 0x270, 0 + room_header 0x51, 0x40, 0x110, 0xd0, 0 + room_header 0x10, 0x4d, 0xf0, 0xd0, 0 + room_header 0x1f, 0x4d, 0x110, 0x1a0, 0 + room_header 0x30, 0x57, 0x210, 0x100, 0 + room_header 0x51, 0x4d, 0x110, 0xd0, 0 + room_header 0x51, 0x5a, 0x110, 0xd0, 0 + room_header 0x55, 0x142, 0xf0, 0xd0, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x27, 0x8c, 0x220, 0xd0, 0 + room_header 0x49, 0x8c, 0x110, 0xd0, 0 + room_header 0x30, 0x99, 0x210, 0xd0, 0 + room_header 0x40, 0xa6, 0x110, 0xd0, 0 + room_header 0x1f, 0xa6, 0x110, 0x1a0, 0 + room_header 0x51, 0xa6, 0x110, 0xd0, 0 + room_header 0x01, 0xb2, 0xf0, 0x280, 0 + room_header 0x10, 0xb2, 0xf0, 0xe0, 0 + room_header 0x30, 0xb3, 0x210, 0x270, 0 + room_header 0x51, 0xb3, 0x110, 0xd0, 0 + room_header 0x62, 0xb3, 0xf0, 0xd0, 0 + room_header 0x71, 0xb3, 0xf0, 0x270, 0 + room_header 0x10, 0xc0, 0xf0, 0xd0, 0 + room_header 0x1f, 0xc0, 0x110, 0xd0, 0 + room_header 0x51, 0xc0, 0x110, 0xd0, 0 + room_header 0x62, 0xc0, 0xf0, 0xd0, 0 + room_header 0x10, 0xcd, 0xf0, 0xd0, 0 + room_header 0x1f, 0xcd, 0x110, 0x1b0, 0 + room_header 0x51, 0xcd, 0x110, 0xd0, 0 + room_header 0x62, 0xcd, 0xf0, 0xd0, 0 + room_header 0x30, 0xda, 0x210, 0xe0, 0 + room_header 0x51, 0xda, 0x110, 0xe0, 0 + room_header 0x30, 0xa6, 0x100, 0xd0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_61:: @ 0811DB02 + room_header 0x00, 0x00, 0xf0, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_HyruleTownMinishCaves:: @ 0811DB0E + room_header 0x31, 0x40, 0x180, 0x110, 0 + room_header 0x31, 0x31, 0x180, 0xf0, 0 + room_header 0x49, 0x40, 0x110, 0x110, 0 + room_header 0x49, 0x31, 0x110, 0xf0, 0 + room_header 0x22, 0x31, 0xf0, 0xf0, 0 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x00, 0x00, 0x00, 0x00, 65535 + room_header 0x33, 0xac, 0x150, 0xd0, 0 + room_header 0x48, 0xac, 0x110, 0xd0, 0 + room_header 0x24, 0xba, 0xf0, 0xd0, 0 + room_header 0x33, 0xb9, 0x150, 0xe0, 0 + room_header 0x48, 0xb9, 0x110, 0xe0, 0 + room_header 0x33, 0xc7, 0x150, 0x140, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_67:: @ 0811DBEC + room_header 0x00, 0x00, 0xf0, 0xa0, 0 + room_header 0x00, 0x0a, 0xf0, 0xa0, 0 + room_header 0x00, 0x14, 0xf0, 0xa0, 0 + room_header 0x00, 0x1e, 0xf0, 0xa0, 0 + room_header 0x00, 0x28, 0xf0, 0xf0, 0 + room_header 0x00, 0x37, 0xf0, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_RoyalCrypt:: @ 0811DC2A + room_header 0x06, 0x01, 0x230, 0x130, 0 + room_header 0x0f, 0x14, 0x110, 0xe0, 0 + room_header 0x0d, 0x22, 0x150, 0x140, 0 + room_header 0x00, 0x00, 0x150, 0x120, 0 + room_header 0x05, 0x36, 0x250, 0x180, 0 + room_header 0x00, 0x00, 0x250, 0xa0, 0 + room_header 0x00, 0x00, 0x250, 0xa0, 0 + room_header 0x0f, 0x4e, 0x110, 0x160, 0 + room_header 0x0f, 0x64, 0x110, 0xa0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_6F:: @ 0811DC86 + room_header 0x00, 0x00, 0x280, 0x280, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_PalaceOfWinds:: @ 0811DC92 + room_header 0x41, 0x13, 0x2d0, 0x1e0, 0 + room_header 0x23, 0x31, 0xf0, 0xa0, 0 + room_header 0x32, 0x2d, 0xf0, 0xe0, 0 + room_header 0x41, 0x31, 0x2d0, 0xa0, 0 + room_header 0x6e, 0x31, 0xf0, 0xa0, 0 + room_header 0x05, 0x3b, 0xf0, 0x1e0, 0 + room_header 0x14, 0x3b, 0xf0, 0x1e0, 0 + room_header 0x23, 0x3b, 0xf0, 0x1e0, 0 + room_header 0x32, 0x3b, 0xf0, 0x140, 0 + room_header 0x41, 0x3b, 0xf0, 0xa0, 0 + room_header 0x32, 0x4f, 0xf0, 0xd0, 0 + room_header 0x41, 0x45, 0xf0, 0xa0, 0 + room_header 0x32, 0x263, 0xf0, 0x100, 0 + room_header 0x41, 0x4f, 0xf0, 0xa0, 0 + room_header 0x50, 0x45, 0xf0, 0x140, 0 + room_header 0x14, 0xa7, 0x2d0, 0x140, 0 + room_header 0x41, 0xa7, 0x2d0, 0x1e0, 0 + room_header 0x14, 0xbb, 0xf0, 0x1e0, 0 + room_header 0x23, 0xbb, 0x1e0, 0xa0, 0 + room_header 0x14, 0xd9, 0x1e0, 0x140, 0 + room_header 0x32, 0xd9, 0xf0, 0x140, 0 + room_header 0x23, 0xc5, 0x2d0, 0x140, 0 + room_header 0x14, 0x131, 0x1e0, 0x140, 0 + room_header 0x50, 0x145, 0xf0, 0x140, 0 + room_header 0x14, 0x145, 0xf0, 0x280, 0 + room_header 0x23, 0x159, 0x1e0, 0x140, 0 + room_header 0x41, 0x159, 0x1e0, 0x140, 0 + room_header 0x23, 0x145, 0xf0, 0xa0, 0 + room_header 0x32, 0x145, 0xf0, 0xa0, 0 + room_header 0x41, 0x145, 0xf0, 0xa0, 0 + room_header 0x23, 0x14f, 0xf0, 0xa0, 0 + room_header 0x32, 0x14f, 0xf0, 0xa0, 0 + room_header 0x41, 0x14f, 0xf0, 0xa0, 0 + room_header 0x14, 0x1a7, 0x2d0, 0x1e0, 0 + room_header 0x41, 0x1a7, 0x1e0, 0x1e0, 0 + room_header 0x23, 0x1d9, 0xf0, 0x140, 0 + room_header 0x32, 0x1d9, 0x1e0, 0x140, 0 + room_header 0x23, 0x1c5, 0xf0, 0xa0, 0 + room_header 0x32, 0x1c5, 0xf0, 0xa0, 0 + room_header 0x41, 0x1c5, 0xf0, 0xa0, 0 + room_header 0x23, 0x1cf, 0xf0, 0xa0, 0 + room_header 0x32, 0x1cf, 0xf0, 0xa0, 0 + room_header 0x41, 0x1cf, 0xf0, 0xa0, 0 + room_header 0x14, 0x1d9, 0xf0, 0x140, 0 + room_header 0x14, 0x227, 0x1e0, 0x1e0, 0 + room_header 0x32, 0x227, 0x1e0, 0x1e0, 0 + room_header 0x50, 0x231, 0x110, 0x280, 0 + room_header 0x32, 0x259, 0xf0, 0xa0, 0 + room_header 0x41, 0x259, 0x200, 0x140, 0 + room_header 0x41, 0x26d, 0x2d0, 0xb0, 0 + room_header 0x23, 0x245, 0x2d0, 0x140, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_PalaceOfWindsBoss:: @ 0811DE92 + room_header 0x20, 0x20, 0x400, 0x3f0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_77:: @ 0811DE9E + room_header 0x22, 0x15, 0x280, 0x340, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_Sanctuary:: @ 0811DEAA + room_header 0x0a, 0x42, 0x190, 0x230, 0 + room_header 0x08, 0x1a, 0x1d0, 0x280, 0 + room_header 0x0d, 0x04, 0x130, 0x160, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_7F:: @ 0811DECA + room_header 0x18, 0x0b, 0x280, 0x280, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_HyruleCastle:: @ 0811DED6 + room_header 0x13, 0x38, 0x1b0, 0x250, 0 + room_header 0x11, 0x17, 0x1f0, 0x210, 0 + room_header 0x18, 0x01, 0x110, 0x160, 0 + room_header 0x39, 0x19, 0x230, 0x2e0, 0 + room_header 0x29, 0x02, 0x110, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_SanctuaryEntrance:: @ 0811DF0A + room_header 0x00, 0x00, 0x110, 0x1b0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_87:: @ 0811DF16 + room_header 0x04, 0x03, 0x270, 0x320, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_DarkHyruleCastle:: @ 0811DF22 + room_header 0x27, 0x153, 0x330, 0x240, 0 + room_header 0x16, 0x0b, 0x110, 0xd0, 0 + room_header 0x5a, 0x0b, 0x110, 0xd0, 0 + room_header 0x16, 0x60, 0x110, 0xd0, 0 + room_header 0x5a, 0x60, 0x110, 0xd0, 0 + room_header 0x36, 0x18, 0x150, 0x1a0, 0 + room_header 0x36, 0x08, 0x150, 0x100, 0 + room_header 0x16, 0x8b, 0x110, 0x1a0, 0 + room_header 0x27, 0x8b, 0x110, 0x1a0, 0 + room_header 0x38, 0x89, 0x110, 0xf0, 0 + room_header 0x38, 0x98, 0x110, 0xd0, 0 + room_header 0x49, 0x8b, 0x110, 0xd0, 0 + room_header 0x49, 0x98, 0x110, 0xd0, 0 + room_header 0x5a, 0x8b, 0x110, 0xd0, 0 + room_header 0x27, 0xa5, 0x110, 0xd0, 0 + room_header 0x38, 0xa5, 0x110, 0xd0, 0 + room_header 0x49, 0xa5, 0x110, 0xd0, 0 + room_header 0x27, 0xb2, 0x110, 0x140, 0 + room_header 0x49, 0xb2, 0x110, 0x140, 0 + room_header 0x27, 0xc6, 0x110, 0xd0, 0 + room_header 0x38, 0xc6, 0x110, 0xd0, 0 + room_header 0x49, 0xc6, 0x110, 0xd0, 0 + room_header 0x27, 0xd3, 0x110, 0xd0, 0 + room_header 0x38, 0xd3, 0x110, 0x1a0, 0 + room_header 0x49, 0xd3, 0x110, 0x1a0, 0 + room_header 0x16, 0xe0, 0x110, 0xd0, 0 + room_header 0x27, 0xe0, 0x110, 0xd0, 0 + room_header 0x00, 0x00, 0x110, 0xd0, 0 + room_header 0x38, 0x1c6, 0x110, 0xd0, 0 + room_header 0x5a, 0xd3, 0x110, 0x1a0, 0 + room_header 0x16, 0x10b, 0x110, 0xd0, 0 + room_header 0x38, 0x10b, 0x110, 0xd0, 0 + room_header 0x49, 0x10b, 0x110, 0xd0, 0 + room_header 0x5a, 0x10b, 0x110, 0xd0, 0 + room_header 0x38, 0x118, 0x110, 0xd0, 0 + room_header 0x27, 0x125, 0x110, 0xd0, 0 + room_header 0x38, 0x125, 0x110, 0xd0, 0 + room_header 0x49, 0x125, 0x110, 0xd0, 0 + room_header 0x27, 0x132, 0x110, 0x140, 0 + room_header 0x49, 0x132, 0x110, 0x140, 0 + room_header 0x27, 0x146, 0x110, 0xd0, 0 + room_header 0x38, 0x146, 0x110, 0xd0, 0 + room_header 0x49, 0x146, 0x110, 0xd0, 0 + room_header 0x16, 0x160, 0x110, 0xd0, 0 + room_header 0x5a, 0x160, 0x110, 0xd0, 0 + room_header 0x38, 0x18b, 0x110, 0xd0, 0 + room_header 0x49, 0x18b, 0x110, 0xd0, 0 + room_header 0x38, 0x198, 0x110, 0xd0, 0 + room_header 0x27, 0x1a5, 0x110, 0xd0, 0 + room_header 0x38, 0x1a5, 0x110, 0xd0, 0 + room_header 0x49, 0x1a5, 0x110, 0xd0, 0 + room_header 0x27, 0x1b2, 0x110, 0x140, 0 + room_header 0x49, 0x1b2, 0x110, 0x140, 0 + room_header 0x27, 0x1c6, 0x110, 0xd0, 0 + room_header 0x49, 0x1c6, 0x110, 0xd0, 0 + room_header 0x27, 0x1d3, 0x330, 0x1a0, 0 + room_header 0x27, 0x225, 0x110, 0xf0, 0 + room_header 0x38, 0x225, 0x220, 0xf0, 0 + room_header 0x27, 0x234, 0x110, 0x120, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_DarkHyruleCastleOutside:: @ 0811E172 + room_header 0x39, 0x0d, 0xf0, 0x190, 0 + room_header 0x38, 0x32, 0x110, 0x1b0, 0 + room_header 0x16, 0x0b, 0x110, 0x1a0, 0 + room_header 0x5a, 0x0b, 0x110, 0x270, 0 + room_header 0x5a, 0x32, 0x110, 0x140, 0 + room_header 0x16, 0x60, 0x110, 0x1a0, 0 + room_header 0x27, 0x60, 0x330, 0x1a0, 0 + room_header 0x5a, 0x46, 0x110, 0x340, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_VaatisArms:: @ 0811E1C4 + room_header 0x00, 0x00, 0x130, 0xe0, 0 + room_header 0x16, 0x00, 0x130, 0xe0, 0 + room_header 0x2c, 0x00, 0x130, 0xe0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_Vaati3:: @ 0811E1E4 + room_header 0x00, 0x00, 0x160, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_Vaati2:: @ 0811E1F0 + room_header 0x11, 0x0d, 0x160, 0xf0, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_DarkHyruleCastleBridge:: @ 0811E1FC + room_header 0x00, 0x00, 0x110, 0x140, 0 + .2byte 0xFFFF + +gAreaRoomHeaders_8F:: @ 0811E208 + room_header 0x00, 0x00, 0x280, 0x320, 0 + .2byte 0xFFFF + +gAreaRoomHeaders:: @ 0811E214 + .4byte gAreaRoomHeaders_MinishWoods @ 0x0 + .4byte gAreaRoomHeaders_MinishVillage @ 0x1 + .4byte gAreaRoomHeaders_HyruleTown @ 0x2 + .4byte gAreaRoomHeaders_HyruleField @ 0x3 + .4byte gAreaRoomHeaders_CastorWilds @ 0x4 + .4byte gAreaRoomHeaders_Ruins @ 0x5 + .4byte gAreaRoomHeaders_MtCrenel @ 0x6 + .4byte gAreaRoomHeaders_CastleGarden @ 0x7 + .4byte gAreaRoomHeaders_CloudTops @ 0x8 + .4byte gAreaRoomHeaders_RoyalValley @ 0x9 + .4byte gAreaRoomHeaders_VeilFalls @ 0xA + .4byte gAreaRoomHeaders_LakeHylia @ 0xB + .4byte gAreaRoomHeaders_LakeWoodsCave @ 0xC + .4byte gAreaRoomHeaders_Beanstalks @ 0xD + .4byte gAreaRoomHeaders_Empty @ 0xE + .4byte gAreaRoomHeaders_HyruleDigCaves @ 0xF + .4byte gAreaRoomHeaders_MelarisMine @ 0x10 + .4byte gAreaRoomHeaders_MinishPaths1 @ 0x11 + .4byte gAreaRoomHeaders_CrenelMinishPaths @ 0x12 + .4byte gAreaRoomHeaders_DigCaves1 @ 0x13 + .4byte gAreaRoomHeaders_CrenelDigCave @ 0x14 + .4byte gAreaRoomHeaders_FestivalTown @ 0x15 + .4byte gAreaRoomHeaders_VeilFallsDigCave @ 0x16 + .4byte gAreaRoomHeaders_CastorWildsDigCave @ 0x17 + .4byte gAreaRoomHeaders_OuterFoW @ 0x18 + .4byte gAreaRoomHeaders_HyliaDigCaves @ 0x19 + .4byte gAreaRoomHeaders_VeilFallsTop @ 0x1A + .4byte 0x0 @ 0x1B + .4byte 0x0 @ 0x1C + .4byte 0x0 @ 0x1D + .4byte 0x0 @ 0x1E + .4byte 0x0 @ 0x1F + .4byte gAreaRoomHeaders_MinishHouseInteriors @ 0x20 + .4byte gAreaRoomHeaders_HouseInteriors1 @ 0x21 + .4byte gAreaRoomHeaders_HouseInteriors2 @ 0x22 + .4byte gAreaRoomHeaders_HouseInteriors3 @ 0x23 + .4byte gAreaRoomHeaders_TreeInteriors @ 0x24 + .4byte gAreaRoomHeaders_Dojos @ 0x25 + .4byte gAreaRoomHeaders_CrenelCaves @ 0x26 + .4byte gAreaRoomHeaders_MinishCracks @ 0x27 + .4byte gAreaRoomHeaders_HouseInteriors4 @ 0x28 + .4byte gAreaRoomHeaders_GreatFairies @ 0x29 + .4byte gAreaRoomHeaders_CastorCaves @ 0x2A + .4byte gAreaRoomHeaders_CastorDarknut @ 0x2B + .4byte gAreaRoomHeaders_ArmosInteriors @ 0x2C + .4byte gAreaRoomHeaders_TownMinishHoles @ 0x2D + .4byte gAreaRoomHeaders_MinishRafters @ 0x2E + .4byte gAreaRoomHeaders_GoronCave @ 0x2F + .4byte gAreaRoomHeaders_WindTribeTower @ 0x30 + .4byte gAreaRoomHeaders_WindTribeTowerRoof @ 0x31 + .4byte gAreaRoomHeaders_Caves @ 0x32 + .4byte gAreaRoomHeaders_VeilFallsCaves @ 0x33 + .4byte gAreaRoomHeaders_RoyalValleyGraves @ 0x34 + .4byte gAreaRoomHeaders_MinishCaves @ 0x35 + .4byte gAreaRoomHeaders_CastleGardenMinishHoles @ 0x36 + .4byte gAreaRoomHeaders_37 @ 0x37 + .4byte gAreaRoomHeaders_EzloCutscene @ 0x38 + .4byte 0x0 @ 0x39 + .4byte 0x0 @ 0x3A + .4byte 0x0 @ 0x3B + .4byte 0x0 @ 0x3C + .4byte 0x0 @ 0x3D + .4byte 0x0 @ 0x3E + .4byte 0x0 @ 0x3F + .4byte gAreaRoomHeaders_40 @ 0x40 + .4byte gAreaRoomHeaders_HyruleTownUnderground @ 0x41 + .4byte gAreaRoomHeaders_GardenFountains @ 0x42 + .4byte gAreaRoomHeaders_HyruleCastleCellar @ 0x43 + .4byte gAreaRoomHeaders_SimonsSimulation @ 0x44 + .4byte gAreaRoomHeaders_45 @ 0x45 + .4byte gAreaRoomHeaders_46 @ 0x46 + .4byte gAreaRoomHeaders_47 @ 0x47 + .4byte gAreaRoomHeaders_DeepwoodShrine @ 0x48 + .4byte gAreaRoomHeaders_DeepwoodShrineBoss @ 0x49 + .4byte gAreaRoomHeaders_DeepwoodShrineEntry @ 0x4A + .4byte 0x0 @ 0x4B + .4byte 0x0 @ 0x4C + .4byte gAreaRoomHeaders_4D @ 0x4D + .4byte 0x0 @ 0x4E + .4byte 0x0 @ 0x4F + .4byte gAreaRoomHeaders_CaveOfFlames @ 0x50 + .4byte gAreaRoomHeaders_CaveOfFlamesBoss @ 0x51 + .4byte 0x0 @ 0x52 + .4byte 0x0 @ 0x53 + .4byte 0x0 @ 0x54 + .4byte 0x0 @ 0x55 + .4byte 0x0 @ 0x56 + .4byte gAreaRoomHeaders_57 @ 0x57 + .4byte gAreaRoomHeaders_FortressOfWinds @ 0x58 + .4byte gAreaRoomHeaders_FortressOfWindsTop @ 0x59 + .4byte gAreaRoomHeaders_InnerMazaal @ 0x5A + .4byte 0x0 @ 0x5B + .4byte 0x0 @ 0x5C + .4byte 0x0 @ 0x5D + .4byte 0x0 @ 0x5E + .4byte gAreaRoomHeaders_5F @ 0x5F + .4byte gAreaRoomHeaders_TempleOfDroplets @ 0x60 + .4byte gAreaRoomHeaders_61 @ 0x61 + .4byte gAreaRoomHeaders_HyruleTownMinishCaves @ 0x62 + .4byte 0x0 @ 0x63 + .4byte 0x0 @ 0x64 + .4byte 0x0 @ 0x65 + .4byte 0x0 @ 0x66 + .4byte gAreaRoomHeaders_67 @ 0x67 + .4byte gAreaRoomHeaders_RoyalCrypt @ 0x68 + .4byte 0x0 @ 0x69 + .4byte 0x0 @ 0x6A + .4byte 0x0 @ 0x6B + .4byte 0x0 @ 0x6C + .4byte 0x0 @ 0x6D + .4byte 0x0 @ 0x6E + .4byte gAreaRoomHeaders_6F @ 0x6F + .4byte gAreaRoomHeaders_PalaceOfWinds @ 0x70 + .4byte gAreaRoomHeaders_PalaceOfWindsBoss @ 0x71 + .4byte 0x0 @ 0x72 + .4byte 0x0 @ 0x73 + .4byte 0x0 @ 0x74 + .4byte 0x0 @ 0x75 + .4byte 0x0 @ 0x76 + .4byte gAreaRoomHeaders_77 @ 0x77 + .4byte gAreaRoomHeaders_Sanctuary @ 0x78 + .4byte 0x0 @ 0x79 + .4byte 0x0 @ 0x7A + .4byte 0x0 @ 0x7B + .4byte 0x0 @ 0x7C + .4byte 0x0 @ 0x7D + .4byte 0x0 @ 0x7E + .4byte gAreaRoomHeaders_7F @ 0x7F + .4byte gAreaRoomHeaders_HyruleCastle @ 0x80 + .4byte gAreaRoomHeaders_SanctuaryEntrance @ 0x81 + .4byte 0x0 @ 0x82 + .4byte 0x0 @ 0x83 + .4byte 0x0 @ 0x84 + .4byte 0x0 @ 0x85 + .4byte 0x0 @ 0x86 + .4byte gAreaRoomHeaders_87 @ 0x87 + .4byte gAreaRoomHeaders_DarkHyruleCastle @ 0x88 + .4byte gAreaRoomHeaders_DarkHyruleCastleOutside @ 0x89 + .4byte gAreaRoomHeaders_VaatisArms @ 0x8A + .4byte gAreaRoomHeaders_Vaati3 @ 0x8B + .4byte gAreaRoomHeaders_Vaati2 @ 0x8C + .4byte gAreaRoomHeaders_DarkHyruleCastleBridge @ 0x8D + .4byte 0x0 @ 0x8E + .4byte gAreaRoomHeaders_8F @ 0x8F diff --git a/linker.ld b/linker.ld index 30f99a89..6326c930 100644 --- a/linker.ld +++ b/linker.ld @@ -920,6 +920,8 @@ SECTIONS { data/data_08100CD4.o(.rodata); src/item.o(.rodata); data/data_0811BD44.o(.rodata); + data/room_headers.o(.rodata); + data/data_0811E454.o(.rodata); src/object/greatFairy.o(.rodata); data/greatFairyAnimations.o(.rodata); data/data_081208A0.o(.rodata); From 73497fd8c26f5c5f19dc0f7769d0cd8be6f3027c Mon Sep 17 00:00:00 2001 From: Behemoth Date: Mon, 24 Aug 2020 18:39:40 +0200 Subject: [PATCH 009/105] - decompile slime and fireball guy - continue percy decompile - move entity function definitions to entity header --- asm/fireballGuy.s | 283 ------------------------ asm/miniSlime.s | 221 ------------------ asm/non_matching/slime/sub_080450A8.inc | 109 --------- asm/percy.s | 146 ------------ asm/slime.s | 81 ------- asm/sub_080451CC.s | 36 +++ include/entity.h | 5 +- include/room.h | 6 +- linker.ld | 6 +- src/createObjectWithParent.c | 3 - src/enemy/fireballGuy.c | 121 ++++++++++ src/enemy/miniSlime.c | 95 ++++++++ src/enemy/slime.c | 171 +++++++------- src/npc/librari.c | 28 +-- src/npc/percy.c | 103 +++++++-- src/object/backgroundCloud.c | 2 +- src/object/object1A.c | 2 - src/object/object86.c | 1 - src/object/object9E.c | 1 - src/object/objectAF.c | 2 - src/object/smoke.c | 2 - src/room.c | 2 +- 22 files changed, 438 insertions(+), 988 deletions(-) delete mode 100644 asm/fireballGuy.s delete mode 100644 asm/miniSlime.s delete mode 100644 asm/non_matching/slime/sub_080450A8.inc delete mode 100644 asm/slime.s create mode 100644 asm/sub_080451CC.s create mode 100644 src/enemy/fireballGuy.c create mode 100644 src/enemy/miniSlime.c diff --git a/asm/fireballGuy.s b/asm/fireballGuy.s deleted file mode 100644 index af3e9ad0..00000000 --- a/asm/fireballGuy.s +++ /dev/null @@ -1,283 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start FireballGuy -FireballGuy: @ 0x08045394 - push {lr} - ldr r1, _080453A0 @ =gUnk_080D17E8 - bl EnemyFunctionHandler - pop {pc} - .align 2, 0 -_080453A0: .4byte gUnk_080D17E8 - - thumb_func_start sub_080453A4 -sub_080453A4: @ 0x080453A4 - push {lr} - ldr r2, _080453B8 @ =gUnk_080D1800 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080453B8: .4byte gUnk_080D1800 - - thumb_func_start sub_080453BC -sub_080453BC: @ 0x080453BC - push {lr} - adds r2, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - beq _080453D6 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, r1 - beq _080453D6 - movs r0, #2 - strb r0, [r2, #0xc] - b _080453DE -_080453D6: - ldr r1, _080453E0 @ =gUnk_080D17E8 - adds r0, r2, #0 - bl sub_0804AA30 -_080453DE: - pop {pc} - .align 2, 0 -_080453E0: .4byte gUnk_080D17E8 - - thumb_func_start nullsub_172 -nullsub_172: @ 0x080453E4 - bx lr - .align 2, 0 - - thumb_func_start sub_080453E8 -sub_080453E8: @ 0x080453E8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3f - strb r1, [r0] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0804A720 - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - adds r0, r4, #0 - bl sub_08045524 - pop {r4, pc} - - thumb_func_start sub_08045430 -sub_08045430: @ 0x08045430 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - bl GetNextFrame - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08045452 - adds r0, r4, #0 - bl sub_08045524 -_08045452: - pop {r4, pc} - - thumb_func_start sub_08045454 -sub_08045454: @ 0x08045454 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0x10 - mov r8, r0 - ldr r1, _08045518 @ =gUnk_080D180C - ldrb r0, [r0, #0xa] - adds r0, r0, r1 - ldrb r7, [r0] - movs r0, #0x48 - subs r0, r0, r7 - ldr r1, _0804551C @ =gEntCount - ldrb r1, [r1] - cmp r0, r1 - ble _0804550C - cmp r7, #0 - beq _0804548E - mov r4, sp - adds r5, r7, #0 -_0804547C: - mov r0, r8 - ldrb r1, [r0, #0xa] - movs r0, #0x59 - bl CreateEnemy - stm r4!, {r0} - subs r5, #1 - cmp r5, #0 - bne _0804547C -_0804548E: - ldr r2, _08045520 @ =gUnk_080D1810 - mov sb, r2 - movs r5, #0 - cmp r5, r7 - bge _080454EE -_08045498: - lsls r0, r5, #2 - add r0, sp - ldr r6, [r0] - adds r4, r5, #1 - adds r0, r4, #0 - adds r1, r7, #0 - bl __modsi3 - lsls r0, r0, #2 - add r0, sp - ldr r0, [r0] - str r0, [r6, #0x54] - adds r0, r5, r7 - subs r0, #1 - adds r1, r7, #0 - bl __modsi3 - lsls r0, r0, #2 - add r0, sp - ldr r0, [r0] - str r0, [r6, #0x50] - movs r1, #0 - movs r0, #1 - strb r0, [r6, #0xb] - strh r1, [r6, #0x36] - adds r1, r6, #0 - adds r1, #0x3d - movs r0, #0xf0 - strb r0, [r1] - mov r0, sb - movs r2, #0 - ldrsb r2, [r0, r2] - movs r3, #1 - ldrsb r3, [r0, r3] - mov r0, r8 - adds r1, r6, #0 - bl sub_08045178 - movs r2, #2 - add sb, r2 - adds r5, r4, #0 - cmp r5, r7 - blt _08045498 -_080454EE: - mov r0, r8 - movs r1, #2 - movs r2, #0 - bl CreateFx - adds r6, r0, #0 - cmp r6, #0 - beq _08045506 - mov r0, r8 - adds r1, r6, #0 - bl CopyPosition -_08045506: - mov r0, r8 - bl DeleteEntity -_0804550C: - add sp, #0x10 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08045518: .4byte gUnk_080D180C -_0804551C: .4byte gEntCount -_08045520: .4byte gUnk_080D1810 - - thumb_func_start sub_08045524 -sub_08045524: @ 0x08045524 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xe0 - lsls r0, r0, #9 - str r0, [r5, #0x20] - adds r0, r5, #0 - movs r1, #1 - movs r2, #8 - bl sub_0804A024 - adds r4, r0, #0 - cmp r4, #0xff - beq _08045556 - bl Random - movs r1, #3 - ands r1, r0 - cmp r1, #0 - bne _08045556 - bl Random - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0xe] - b _08045596 -_08045556: - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _08045562 - subs r0, #1 - strb r0, [r5, #0xe] - b _080455A8 -_08045562: - bl Random - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0804559E - bl Random - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _0804559E - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl Random - movs r1, #8 - ands r0, r1 - adds r0, #0xfc - adds r4, r4, r0 -_08045596: - movs r0, #0x18 - ands r4, r0 - strb r4, [r5, #0x15] - b _080455A8 -_0804559E: - bl Random - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] -_080455A8: - pop {r4, r5, pc} - .align 2, 0 diff --git a/asm/miniSlime.s b/asm/miniSlime.s deleted file mode 100644 index 90b0cee2..00000000 --- a/asm/miniSlime.s +++ /dev/null @@ -1,221 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start MiniSlime -MiniSlime: @ 0x08045200 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0804521C @ =gUnk_080D17C0 - bl EnemyFunctionHandler - movs r3, #8 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl SetChildOffset - pop {r4, pc} - .align 2, 0 -_0804521C: .4byte gUnk_080D17C0 - - thumb_func_start sub_08045220 -sub_08045220: @ 0x08045220 - push {lr} - ldr r2, _08045234 @ =gUnk_080D17D8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08045234: .4byte gUnk_080D17D8 - - thumb_func_start sub_08045238 -sub_08045238: @ 0x08045238 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0804524C - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0804524C: - ldr r1, _08045258 @ =gUnk_080D17C0 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08045258: .4byte gUnk_080D17C0 - - thumb_func_start sub_0804525C -sub_0804525C: @ 0x0804525C - push {r4, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x50] - cmp r4, r3 - beq _08045298 - cmp r3, #0 - beq _08045298 - adds r2, r4, #0 - adds r2, #0x6c - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] - ldr r1, [r4, #0x50] - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] - ldr r1, [r4, #0x54] - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - adds r0, r4, #0 - adds r0, #0x6d - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08045298 - adds r0, r4, #0 - adds r1, r3, #0 - bl ReplaceMonitoredEntity -_08045298: - adds r0, r4, #0 - bl sub_0804A7D4 - pop {r4, pc} - - thumb_func_start nullsub_22 -nullsub_22: @ 0x080452A0 - bx lr - .align 2, 0 - - thumb_func_start sub_080452A4 -sub_080452A4: @ 0x080452A4 - push {r4, r5, lr} - adds r4, r0, #0 - movs r2, #1 - movs r5, #1 - strb r5, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0804A720 - adds r0, r4, #0 - movs r1, #6 - bl InitializeAnimation - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _080452DC - movs r0, #2 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] - b _080452E2 -_080452DC: - adds r0, r4, #0 - bl sub_080452E4 -_080452E2: - pop {r4, r5, pc} - - thumb_func_start sub_080452E4 -sub_080452E4: @ 0x080452E4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - bl Random - movs r1, #0x1f - ands r0, r1 - adds r0, #1 - strb r0, [r4, #0xe] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080452FC -sub_080452FC: @ 0x080452FC - push {r4, r5, lr} - adds r5, r0, #0 - bl GetNextFrame - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08045370 - movs r4, #3 - strb r4, [r5, #0xc] - movs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0x24 - ldrsh r0, [r5, r1] - cmp r0, #0 - ble _08045330 - movs r0, #0x80 - lsls r0, r0, #5 - movs r2, #0x24 - ldrsh r1, [r5, r2] - bl sub_0806FA04 - lsrs r0, r0, #8 - strb r0, [r5, #0xe] -_08045330: - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08045360 - bl Random - ands r0, r4 - cmp r0, #0 - beq _08045360 - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl Random - movs r1, #8 - ands r0, r1 - adds r0, #0xfc - adds r4, r4, r0 - movs r0, #0x18 - ands r4, r0 - strb r4, [r5, #0x15] - b _08045370 -_08045360: - bl Random - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08045374 -_08045370: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08045374 -sub_08045374: @ 0x08045374 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl GetNextFrame - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08045392 - movs r0, #1 - strb r0, [r4, #0xc] -_08045392: - pop {r4, pc} diff --git a/asm/non_matching/slime/sub_080450A8.inc b/asm/non_matching/slime/sub_080450A8.inc deleted file mode 100644 index 2190a864..00000000 --- a/asm/non_matching/slime/sub_080450A8.inc +++ /dev/null @@ -1,109 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0x10 - mov r8, r0 - ldr r1, _0804516C @ =gUnk_080D16D0 - ldrb r0, [r0, #0xa] - adds r0, r0, r1 - ldrb r7, [r0] - movs r0, #0x48 - subs r0, r0, r7 - ldr r1, _08045170 @ =gEntCount - ldrb r1, [r1] - cmp r0, r1 - ble _08045160 - cmp r7, #0 - beq _080450E2 - mov r4, sp - adds r5, r7, #0 -_080450D0: - mov r0, r8 - ldrb r1, [r0, #0xa] - movs r0, #0x57 - bl CreateEnemy - stm r4!, {r0} - subs r5, #1 - cmp r5, #0 - bne _080450D0 -_080450E2: - ldr r2, _08045174 @ =gUnk_080D16D4 - mov sb, r2 - movs r5, #0 - cmp r5, r7 - bge _08045142 -_080450EC: - lsls r0, r5, #2 - add r0, sp - ldr r6, [r0] - adds r4, r5, #1 - adds r0, r4, #0 - adds r1, r7, #0 - bl __modsi3 - lsls r0, r0, #2 - add r0, sp - ldr r0, [r0] - str r0, [r6, #0x54] - adds r0, r5, r7 - subs r0, #1 - adds r1, r7, #0 - bl __modsi3 - lsls r0, r0, #2 - add r0, sp - ldr r0, [r0] - str r0, [r6, #0x50] - movs r1, #0 - movs r0, #1 - strb r0, [r6, #0xb] - strh r1, [r6, #0x36] - adds r1, r6, #0 - adds r1, #0x3d - movs r0, #0xf0 - strb r0, [r1] - mov r0, sb - movs r2, #0 - ldrsb r2, [r0, r2] - movs r3, #1 - ldrsb r3, [r0, r3] - mov r0, r8 - adds r1, r6, #0 - bl sub_08045178 - movs r2, #2 - add sb, r2 - adds r5, r4, #0 - cmp r5, r7 - blt _080450EC -_08045142: - mov r0, r8 - movs r1, #2 - movs r2, #0 - bl CreateFx - adds r6, r0, #0 - cmp r6, #0 - beq _0804515A - mov r0, r8 - adds r1, r6, #0 - bl CopyPosition -_0804515A: - mov r0, r8 - bl DeleteEntity -_08045160: - add sp, #0x10 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0804516C: .4byte gUnk_080D16D0 -_08045170: .4byte gEntCount -_08045174: .4byte gUnk_080D16D4 - .syntax divided \ No newline at end of file diff --git a/asm/percy.s b/asm/percy.s index 521a10ae..2817449f 100644 --- a/asm/percy.s +++ b/asm/percy.s @@ -6,152 +6,6 @@ .text - thumb_func_start sub_0806B41C -sub_0806B41C: @ 0x0806B41C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0806B470 - cmp r0, #1 - bgt _0806B430 - cmp r0, #0 - beq _0806B436 - b _0806B4EC -_0806B430: - cmp r0, #2 - beq _0806B4DE - b _0806B4EC -_0806B436: - ldr r1, _0806B46C @ =gUnk_08112E1C - adds r0, r4, #0 - bl LoadExtraSpriteData - cmp r0, #0 - beq _0806B4EC - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - cmp r0, #2 - bne _0806B462 - adds r0, r4, #0 - movs r1, #0x25 - movs r2, #0 - bl CreateFx -_0806B462: - adds r0, r4, #0 - bl sub_0807DD50 - b _0806B4EC - .align 2, 0 -_0806B46C: .4byte gUnk_08112E1C -_0806B470: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806B4D4 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _0806B4C8 @ =gPlayerEntity - adds r0, r4, #0 - bl GetFacingDirection - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl InitializeAnimation - adds r0, r4, #0 - bl sub_08002632 - ldr r1, _0806B4CC @ =gUnk_08001A7C - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r3, [r0] - adds r0, r4, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #0x21 - bne _0806B4B2 - adds r3, #6 -_0806B4B2: - ldrh r1, [r3] - ldrh r2, [r3, #2] - ldrh r3, [r3, #4] - adds r0, r4, #0 - bl sub_0801DFB4 - ldr r0, _0806B4D0 @ =gPlayerState - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - b _0806B4EC - .align 2, 0 -_0806B4C8: .4byte gPlayerEntity -_0806B4CC: .4byte gUnk_08001A7C -_0806B4D0: .4byte gPlayerState -_0806B4D4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _0806B4EC -_0806B4DE: - adds r0, r4, #0 - bl UpdateFuseInteraction - cmp r0, #0 - beq _0806B4EC - movs r0, #1 - strb r0, [r4, #0xc] -_0806B4EC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806B4F0 -sub_0806B4F0: @ 0x0806B4F0 - push {lr} - ldrb r1, [r0, #0xb] - lsls r1, r1, #3 - ldr r2, _0806B500 @ =gUnk_08112E2C - adds r1, r1, r2 - bl ShowNPCDialogue - pop {pc} - .align 2, 0 -_0806B500: .4byte gUnk_08112E2C - - thumb_func_start sub_0806B504 -sub_0806B504: @ 0x0806B504 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #1 - movs r0, #0x21 - bl CheckKinstoneFused - cmp r0, #0 - beq _0806B518 - movs r4, #3 - b _0806B52A -_0806B518: - movs r0, #0x86 - bl CheckLocalFlag - cmp r0, #0 - bne _0806B52A - movs r4, #0 - movs r0, #0x86 - bl SetLocalFlag -_0806B52A: - ldr r0, _0806B53C @ =gUnk_08112E54 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl TextboxNoOverlap - pop {r4, r5, pc} - .align 2, 0 -_0806B53C: .4byte gUnk_08112E54 - thumb_func_start sub_0806B540 sub_0806B540: @ 0x0806B540 push {r4, lr} diff --git a/asm/slime.s b/asm/slime.s deleted file mode 100644 index 472b54d6..00000000 --- a/asm/slime.s +++ /dev/null @@ -1,81 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_08045178 -sub_08045178: @ 0x08045178 - push {r4, r5, r6, lr} - adds r4, r1, #0 - adds r5, r2, #0 - adds r6, r3, #0 - cmp r4, #0 - beq _080451C6 - bl sub_0804A4E4 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_080002CC - cmp r0, #0 - bne _080451C6 - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r2, r0, r5 - cmp r2, #0 - blt _080451AE - ldr r0, _080451C8 @ =gRoomControls - ldrh r1, [r0, #6] - ldrh r0, [r0, #0x1e] - adds r1, r1, r0 - cmp r2, r1 - bge _080451AE - strh r2, [r4, #0x2e] -_080451AE: - movs r1, #0x32 - ldrsh r0, [r4, r1] - adds r2, r0, r6 - cmp r2, #0 - blt _080451C6 - ldr r0, _080451C8 @ =gRoomControls - ldrh r1, [r0, #8] - ldrh r0, [r0, #0x20] - adds r1, r1, r0 - cmp r2, r1 - bge _080451C6 - strh r2, [r4, #0x32] -_080451C6: - pop {r4, r5, r6, pc} - .align 2, 0 -_080451C8: .4byte gRoomControls - - thumb_func_start sub_080451CC -sub_080451CC: @ 0x080451CC - ldrb r3, [r0, #0x10] - movs r2, #0xfe - ands r2, r3 - strb r2, [r1, #0x10] - ldr r2, [r0, #0x2c] - str r2, [r1, #0x2c] - ldr r2, [r0, #0x30] - str r2, [r1, #0x30] - ldr r2, [r0, #0x34] - str r2, [r1, #0x34] - adds r0, #0x68 - adds r1, #0x68 - ldrb r2, [r0, #4] - strb r2, [r1, #4] - ldrb r2, [r0, #5] - strb r2, [r1, #5] - ldrb r2, [r0, #6] - strb r2, [r1, #6] - ldrb r2, [r0, #7] - strb r2, [r1, #7] - ldrh r2, [r0, #8] - strh r2, [r1, #8] - ldrh r0, [r0, #0xa] - strh r0, [r1, #0xa] - bx lr - .align 2, 0 diff --git a/asm/sub_080451CC.s b/asm/sub_080451CC.s new file mode 100644 index 00000000..5d874b46 --- /dev/null +++ b/asm/sub_080451CC.s @@ -0,0 +1,36 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_080451CC +sub_080451CC: @ 0x080451CC + ldrb r3, [r0, #0x10] + movs r2, #0xfe + ands r2, r3 + strb r2, [r1, #0x10] + ldr r2, [r0, #0x2c] + str r2, [r1, #0x2c] + ldr r2, [r0, #0x30] + str r2, [r1, #0x30] + ldr r2, [r0, #0x34] + str r2, [r1, #0x34] + adds r0, #0x68 + adds r1, #0x68 + ldrb r2, [r0, #4] + strb r2, [r1, #4] + ldrb r2, [r0, #5] + strb r2, [r1, #5] + ldrb r2, [r0, #6] + strb r2, [r1, #6] + ldrb r2, [r0, #7] + strb r2, [r1, #7] + ldrh r2, [r0, #8] + strh r2, [r1, #8] + ldrh r0, [r0, #0xa] + strh r0, [r1, #0xa] + bx lr + .align 2, 0 diff --git a/include/entity.h b/include/entity.h index 36b02000..069f2073 100644 --- a/include/entity.h +++ b/include/entity.h @@ -167,7 +167,10 @@ extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); extern u32 GetFacingDirection(Entity*, Entity*); -extern void DeleteThisEntity(); +extern void DeleteThisEntity(void); +extern void CopyPosition(Entity*, Entity*); +extern void DeleteEntity(Entity*); +extern void PositionRelative(Entity*, Entity*, s32, s32); extern Entity gUnk_03003DA0; diff --git a/include/room.h b/include/room.h index 6245d225..9e0bacbd 100644 --- a/include/room.h +++ b/include/room.h @@ -27,8 +27,10 @@ typedef struct { u8 screenShakeMagnitude; u8 unk7; u16 screenShakeTime; - u16 filler2[6]; - u8 filler3[4]; + u16 filler2[3]; + u16 width; + u16 height; + u8 filler3[6]; union SplitWord bg3OffsetX; union SplitWord bg3OffsetY; Entity* cameraTarget; diff --git a/linker.ld b/linker.ld index d7405c75..b77adca9 100644 --- a/linker.ld +++ b/linker.ld @@ -418,9 +418,9 @@ SECTIONS { asm/dust.o(.text); asm/vaatiBall.o(.text); src/enemy/slime.o(.text); - asm/slime.o(.text); - asm/miniSlime.o(.text); - asm/fireballGuy.o(.text); + asm/sub_080451CC.o(.text); + src/enemy/miniSlime.o(.text); + src/enemy/fireballGuy.o(.text); src/enemy/miniFireballGuy.o(.text); asm/enemy5A.o(.text); asm/businessScrubPrologue.o(.text); diff --git a/src/createObjectWithParent.c b/src/createObjectWithParent.c index bee2c86c..8aca834d 100644 --- a/src/createObjectWithParent.c +++ b/src/createObjectWithParent.c @@ -1,9 +1,6 @@ #include "global.h" #include "entity.h" -extern Entity* CreateObject(); -extern void CopyPosition(); - Entity* CreateObjectWithParent(Entity* parentEnt, u32 subtype, u32 param1, u32 param2) { Entity* ent; diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c new file mode 100644 index 00000000..b194ed07 --- /dev/null +++ b/src/enemy/fireballGuy.c @@ -0,0 +1,121 @@ +#include "global.h" +#include "entity.h" +#include "functions.h" + +typedef struct { + s8 h, v; +} PACKED PosOffset; + +extern void sub_08045524(Entity*); +void sub_08045178(Entity*, Entity*, int, int); + +extern void (*const gUnk_080D17E8[])(Entity*); +extern void (*const gUnk_080D1800[])(Entity*); +extern u8 gUnk_080D180C[4]; // Entity count per form +extern PosOffset gUnk_080D1810[4]; + +extern u8 gEntCount; + +void FireballGuy(Entity* this) { + EnemyFunctionHandler(this, gUnk_080D17E8); +} + +void sub_080453A4(Entity* this) { + gUnk_080D1800[this->action](this); +} + +void sub_080453BC(Entity* this) { + if (this->currentHealth && this->cutsceneBeh.HALF.LO != this->currentHealth) { + this->action = 2; + } else { + sub_0804AA30(this, gUnk_080D17E8); + } +} + +void nullsub_172(void) { +} + +void sub_080453E8(Entity* this) { + this->action = 1; + this->actionDelay = 0; + this->spriteSettings.b.draw = 1; + this->nonPlanarMovement = 0x80; + this->cutsceneBeh.HALF.LO = this->currentHealth; + this->field_0x3c |= 0x10; + sub_0804A720(this); + InitializeAnimation(this, 0); + sub_08045524(this); +} + +void sub_08045430(Entity* this) { + sub_080AEFE0(this); + GetNextFrame(this); + if (sub_08003FC4(this, 0x1800) == 0) + sub_08045524(this); +} + +/* Split FireballGuy into new ones */ +void sub_08045454(Entity* this) { + Entity* entities[4]; + Entity* ent; + s32 count, i; + PosOffset* off; + u32 tmp; + + /* Can we create enough new entities? */ + count = gUnk_080D180C[this->entityType.form]; + if (72 - count <= gEntCount) + return; + + /* Create 2-5 new MiniFireballGuy */ + for (i = 0; i < count; i++) + entities[i] = CreateEnemy(0x59, this->entityType.form); + + off = gUnk_080D1810; + for (i = 0; i < count; i++) { + ent = entities[i]; + ent->attachedEntity = entities[(i + 1) % count]; + ent->parent = entities[(i + count - 1) % count]; + tmp = 0; + ent->entityType.parameter = 1; + ent->height.HALF.HI = tmp; + ent->hurtBlinkTime = -0x10; + + /* Set MiniFireballGuy offset relative to killed slime. */ + sub_08045178(this, ent, off->h, off->v); + off++; + } + + ent = CreateFx(this, 2, 0); + if (ent) + CopyPosition(this, ent); + + DeleteEntity(this); +} + +u32 sub_0804A024(Entity*, u32, u32); + +void sub_08045524(Entity *this) { + u32 tmp, tmp1, tmp2; + + this->field_0x20 = 0x1c000; + tmp = sub_0804A024(this,1,8); + if (tmp != 0xff && (Random() & 3) == 0) { + this->actionDelay = Random() & 3; + this->direction = tmp & 0x18; + } else { + if (this->actionDelay) { + this->actionDelay--; + return; + } + this->actionDelay = Random() & 3; + if (sub_08049FA0(this) == 0 && (Random() & 3)) { + tmp1 = sub_08049EE4(this); + tmp2 = Random() & 8; + tmp2 += 0xfc; + this->direction = (tmp1 + tmp2) & 0x18; + } else { + this->direction = Random() & 0x18; + } + } +} diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c new file mode 100644 index 00000000..eac2e020 --- /dev/null +++ b/src/enemy/miniSlime.c @@ -0,0 +1,95 @@ +#include "global.h" +#include "entity.h" +#include "room.h" +#include "functions.h" + +void sub_08045374(Entity*); + +extern u32 sub_0806FA04(u32, u32); +extern void sub_0804A720(); +extern void sub_080452E4(); +extern void sub_0804A9FC(); +extern void sub_0804AA30(); +extern void ReplaceMonitoredEntity(Entity*, Entity*); +extern void sub_0804A7D4(Entity*); + +extern void (*const gUnk_080D17C0[])(Entity*); +extern void (*const gUnk_080D17D8[])(Entity*); + +void MiniSlime(Entity* this) { + EnemyFunctionHandler(this, gUnk_080D17C0); + SetChildOffset(this, 0, 1, -8); +} + +void sub_08045220(Entity* this) { + gUnk_080D17D8[this->action](this); +} + +void sub_08045238(Entity* this) { + if (this->field_0x43) + sub_0804A9FC(this, 0x1c); + + sub_0804AA30(this, gUnk_080D17C0); +} + +void sub_0804525C(Entity* this) { + Entity* parent = this->parent; + if (this != parent && parent) { + this->field_0x6c.HALF.LO &= 0x7f; + this->parent->attachedEntity = this->attachedEntity; + this->attachedEntity->parent = this->parent; + if (this->field_0x6c.HALF.HI & 0x40) + ReplaceMonitoredEntity(this, parent); + } + sub_0804A7D4(this); +} + +void nullsub_22(void) { +} + +void sub_080452A4(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = 1; + this->nonPlanarMovement = 0x100; + sub_0804A720(this); + InitializeAnimation(this, 6); + if (this->entityType.parameter) { + this->action = 2; + this->actionDelay = 1; + } else { + sub_080452E4(this); + } +} + +void sub_080452E4(Entity* this) { + this->action = 2; + this->actionDelay = (Random() & 0x1f) + 1; +} + +void sub_080452FC(Entity *this) { + u32 cVar2, bVar3; + GetNextFrame(this); + if (--this->actionDelay == 0) { + this->action = 3; + this->actionDelay = 1; + if (0 < this->nonPlanarMovement) + this->actionDelay = sub_0806FA04(0x1000, this->nonPlanarMovement) >> 0x8; + + if (sub_08049FA0(this) == 0 && (Random() & 3)) { + cVar2 = sub_08049EE4(this); + bVar3 = Random() & 8; + bVar3 += 0xfc; + this->direction = (cVar2 + bVar3) & 0x18; + } else { + this->direction = Random() & 0x18; + sub_08045374(this); + } + } +} + +void sub_08045374(Entity* this) { + sub_080AEF88(this); + GetNextFrame(this); + if (--this->actionDelay == 0) + this->action = 1; +} diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 42a5d952..74343df7 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -1,5 +1,7 @@ #include "global.h" #include "entity.h" +#include "room.h" +#include "functions.h" typedef struct { void* field_0x0; @@ -7,28 +9,31 @@ typedef struct { u8 freezeTime; } EntityHandler; -extern void EnemyFunctionHandler(Entity*, void*); -extern void SetChildOffset(Entity*, u32, u32, u32); -extern void sub_0804AA30(Entity*, void*); +typedef struct { + s8 h, v; +} PACKED PosOffset; + +void sub_08044FF8(Entity*); +void sub_08045178(Entity*, Entity*, int, int); + extern void sub_0804A9FC(Entity*, u32); extern void sub_0804A720(Entity*); -extern void sub_08044FF8(Entity*); -extern u32 Random(void); extern u32 sub_0806FA04(u32, u32); extern u32 sub_08049FA0(Entity*); extern u32 sub_08049EE4(Entity*); -extern u32 sub_080AEF88(void); +extern void sub_0804A4E4(Entity*, Entity*); +extern u32 sub_080002CC(Entity*, s32, s32); -extern void (*gUnk_080D16BC[])(Entity*); -extern void (*gUnk_080D16A4[])(Entity*); +extern void (*const gUnk_080D16BC[])(Entity*); +extern void (*const gUnk_080D16A4[])(Entity*); +extern u8 gUnk_080D16D0[4]; // Entity count per form +extern PosOffset gUnk_080D16D4[4]; -extern u8 gUnk_080D16D0; +extern u8 gEntCount; extern EntityHandler gUnk_03003DB8; -void Slime(Entity* this) - -{ - EnemyFunctionHandler(this, &gUnk_080D16A4); +void Slime(Entity* this) { + EnemyFunctionHandler(this, gUnk_080D16A4); SetChildOffset(this, 0, 1, -12); } @@ -40,7 +45,7 @@ void sub_08044F88(Entity* this) { if ((this->currentHealth != 0) && (this->cutsceneBeh.HALF.LO != this->currentHealth)) { this->action = 4; } else { - sub_0804AA30(this, &gUnk_080D16A4); + sub_0804AA30(this, gUnk_080D16A4); } if (this->field_0x43 != 0) { @@ -61,32 +66,21 @@ void sub_08044FC8(Entity* this) { } void sub_08044FF8(Entity* this) { - u32 bVar1; - this->action = 2; - bVar1 = Random(); - this->actionDelay = (bVar1 & 31) + 30; + this->actionDelay = (Random() & 31) + 30; this->cutsceneBeh.HALF.LO = this->currentHealth; } void sub_08045018(Entity* this) { - u32 cVar1; - u32 param3; - u32 iVar3; - u32 randValue; - GetNextFrame(this); - param3 = this->actionDelay -= 1; - if (param3 == 0) { + if (--this->actionDelay == 0) { this->action = 3; this->actionDelay = 1; if (0 < this->nonPlanarMovement) { this->actionDelay = sub_0806FA04(4096, this->nonPlanarMovement) >> 8; } - iVar3 = sub_08049FA0(this); - if ((iVar3 == 0) && (randValue = Random(), (randValue & 3) != 0)) { - cVar1 = sub_08049EE4(this); - this->direction = (cVar1 + 0xfc + (Random() & 8)) & 24; + if (sub_08049FA0(this) == 0 && (Random() & 3)) { + this->direction = (sub_08049EE4(this) + 0xfc + (Random() & 8)) & 24; return; } this->direction = Random() & 24; @@ -94,74 +88,65 @@ void sub_08045018(Entity* this) { } void sub_08045088(Entity* this) { - u8 bVar1; - - sub_080AEF88(); + sub_080AEF88(this); GetNextFrame(this); - bVar1 = this->actionDelay -= 1; - if (bVar1 == 0) { + if (--this->actionDelay == 0) { this->action = 1; } } -#ifdef NON_MATCHING -void sub_080450A8(Entity* this) - -{ - u8 bVar1; - u32 uVar2; - s32 iVar3; - s32 iVar4; - Entity* pEVar5; - Entity** ppEVar6; - s32 dividend; - u32 uVar7; - Entity* local_r6_72; - u32 divisor; - u8* pcVar8; - Entity* local_2c[4]; - - ppEVar6 = local_2c; - bVar1 = (&gUnk_080D16D0)[(this->entityType).form]; - divisor = (u32)bVar1; - if ((int)gUnk_03003DB8.entityCount < (int)(72 - divisor)) { - uVar7 = divisor; - if (bVar1 != 0) { - do { - uVar2 = CreateEnemy(87, this->entityType.form); - *ppEVar6 = uVar2; - ppEVar6 = ppEVar6 + 1; - uVar7 = uVar7 - 1; - } while (uVar7 != 0); - } - pcVar8 = "\x06"; - iVar4 = 0; - if (bVar1 != 0) { - do { - local_r6_72 = local_2c[iVar4]; - dividend = iVar4 + 1; - iVar3 = Div(dividend, divisor); - local_r6_72->attachedEntity = local_2c[iVar3]; - iVar4 = Div(iVar4 + divisor + -1, divisor); - local_r6_72->parent = local_2c[iVar4]; - (local_r6_72->entityType).parameter = 1; - local_r6_72->height.WORD = 0; - local_r6_72->hurtBlinkTime = 240; - sub_08045178(this, local_r6_72, *pcVar8, pcVar8[1]); - pcVar8 = pcVar8 + 2; - iVar4 = dividend; - } while (dividend < divisor); - } - pEVar5 = CreateFx(this, 2, 0); - if (pEVar5 != NULL) { - CopyPosition(this, pEVar5); - } - DeleteEnemy(this); - } -} -#else -NAKED +/* Split slime into new ones */ void sub_080450A8(Entity* this) { - asm(".include \"asm/non_matching/slime/sub_080450A8.inc\""); + Entity* entities[4]; + Entity* ent; + s32 count, i; + PosOffset* off; + + /* Can we create enough new entities? */ + count = gUnk_080D16D0[this->entityType.form]; + if (72 - count <= gEntCount) + return; + + /* Create 2-4 new MiniSlime */ + for (i = 0; i < count; i++) + entities[i] = CreateEnemy(0x57, this->entityType.form); + + off = gUnk_080D16D4; + for (i = 0; i < count; i++) { + ent = entities[i]; + ent->attachedEntity = entities[(i + 1) % count]; + ent->parent = entities[(i + count - 1) % count]; + ent->entityType.parameter = 1; + ent->height.HALF.HI = 0; + ent->hurtBlinkTime = -0x10; + + /* Set MiniSlime offset relative to killed slime. */ + sub_08045178(this, ent, off->h, off->v); + off++; + } + + ent = CreateFx(this, 2, 0); + if (ent) + CopyPosition(this, ent); + + DeleteEntity(this); +} + +void sub_08045178(Entity* this, Entity* child, int h, int v) { + int x, y; + + if (child == NULL) + return; + + sub_0804A4E4(this, child); + if (sub_080002CC(child, h, v)) + return; + + x = child->x.HALF.HI + h; + if (0 <= x && x < (gRoomControls.roomOriginX + gRoomControls.width)) + child->x.HALF.HI = x; + + y = child->y.HALF.HI + v; + if (0 <= y && y < (gRoomControls.roomOriginY + gRoomControls.height)) + child->y.HALF.HI = y; } -#endif diff --git a/src/npc/librari.c b/src/npc/librari.c index 5725f1ea..27b20ad8 100644 --- a/src/npc/librari.c +++ b/src/npc/librari.c @@ -84,24 +84,12 @@ void sub_0806b2b4(Entity* this) { TextboxNoOverlap(gUnk_08112D50[index], this); } -void Librari_Fusion(Entity *this) -{ - if (this->action == 0) { - this->action++; - this->spriteSettings.b.draw = TRUE; - InitAnimationForceUpdate(this, 9); - } - else { - UpdateAnimationSingleFrame(this); - } +void Librari_Fusion(Entity* this) { + if (this->action == 0) { + this->action++; + this->spriteSettings.b.draw = TRUE; + InitAnimationForceUpdate(this, 9); + } else { + UpdateAnimationSingleFrame(this); + } } - -void Percy_Head(Entity *this) // ??? -{ - SetExtraSpriteFrame(this, 0, (this->frameSpriteSettings & 0x3f) + 0x13); - SetExtraSpriteFrame(this, 1, (this->frames.all & 0x7f) + 0xb); - SetExtraSpriteFrame(this, 2, this->frameIndex); - SetSpriteSubEntryOffsetData1(this, 2, 1); - SetSpriteSubEntryOffsetData2(this, 2, 0); - sub_0807000C(this); -} \ No newline at end of file diff --git a/src/npc/percy.c b/src/npc/percy.c index 759b94d3..47a9fa43 100644 --- a/src/npc/percy.c +++ b/src/npc/percy.c @@ -3,12 +3,28 @@ #include "npc.h" #include "textbox.h" #include "functions.h" +#include "flags.h" extern void sub_0806B41C(Entity*); -void sub_0806B3CC(Entity*); +extern void sub_0806B3CC(Entity*); +extern u32 sub_08002632(Entity*); +extern void sub_0801DFB4(Entity*, u32, u32, u32); + +extern u16* gUnk_08001A7C[40]; +extern u16 gUnk_08112E54[4]; +extern Dialog gUnk_08112E2C[5]; extern SpriteLoadData gUnk_08112E1C; +void Percy_Head(Entity* this) { + SetExtraSpriteFrame(this, 0, (this->frameSpriteSettings & 0x3f) + 0x13); + SetExtraSpriteFrame(this, 1, (this->frames.all & 0x7f) + 0xb); + SetExtraSpriteFrame(this, 2, this->frameIndex); + SetSpriteSubEntryOffsetData1(this, 2, 1); + SetSpriteSubEntryOffsetData2(this, 2, 0); + sub_0807000C(this); +} + void Percy(Entity* this) { if ((this->flags & 2) != 0) { sub_0806B41C(this); @@ -17,20 +33,75 @@ void Percy(Entity* this) { } } -void sub_0806B3CC(Entity *this) -{ - if (this->action == 0) { - if (!LoadExtraSpriteData(this, &gUnk_08112E1C)) { - return; +void sub_0806B3CC(Entity* this) { + if (this->action == 0) { + if (!LoadExtraSpriteData(this, &gUnk_08112E1C)) { + return; + } + this->action = 1; + InitializeAnimation(this, 0); + sub_08078778(this); } - this->action = 1; - InitializeAnimation(this, 0); - sub_08078778(this); - } - GetNextFrame(this); - if (this->interactType != 0) { - this->interactType = 0; - TextboxNoOverlapFollow(0); - } - sub_0806ED78(this); + GetNextFrame(this); + if (this->interactType != 0) { + this->interactType = 0; + TextboxNoOverlapFollow(0); + } + sub_0806ED78(this); +} + +void sub_0806B41C(Entity* this) { + u16* tmp; + u32 idx; + + switch (this->action) { + case 0: + if (LoadExtraSpriteData(this, &gUnk_08112E1C)) { + this->action = 1; + this->spriteSettings.b.draw = 1; + if (this->entityType.parameter == 2) { + CreateFx(this, 0x25, 0); + } + sub_0807DD50(this); + } + break; + case 1: + if (this->interactType == 2) { + this->action = 2; + this->interactType = 0; + InitializeAnimation(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)) + 4); + idx = sub_08002632(this); + tmp = gUnk_08001A7C[idx]; + if (this->field_0x68.HALF.LO == 33) + tmp += 3; + sub_0801DFB4(this, tmp[0], tmp[1], tmp[2]); + gPlayerState.field_0x8b = 3; + } else { + sub_0807DD94(this, 0); + } + break; + case 2: + if (UpdateFuseInteraction(this)) { + this->action = 1; + } + break; + } +} + +void sub_0806B4F0(Entity* this) { + ShowNPCDialogue(this, &gUnk_08112E2C[this->entityType.parameter]); +} + +void sub_0806B504(Entity* this) { + int idx; + + idx = 1; + if (CheckKinstoneFused(0x21)) { + idx = 3; + } else if (!CheckLocalFlag(0x86)) { + idx = 0; + SetLocalFlag(0x86); + } + + TextboxNoOverlap(gUnk_08112E54[idx], this); } diff --git a/src/object/backgroundCloud.c b/src/object/backgroundCloud.c index a6106ca7..6be23764 100644 --- a/src/object/backgroundCloud.c +++ b/src/object/backgroundCloud.c @@ -20,7 +20,7 @@ void sub_0808F658(Entity* this) { this->direction = 8; this->nonPlanarMovement = gUnk_08121EB0[(this->entityType).form]; this->field_0x78.HWORD = gRoomControls.roomOriginX - 0x60; - this->field_0x7a.HWORD = gRoomControls.roomOriginX + gRoomControls.filler2[3] + 0x60; + this->field_0x7a.HWORD = gRoomControls.roomOriginX + gRoomControls.width + 0x60; this->animationState = 0; this->x.HALF.HI += (Random() & 0xf) << 4; this->actionDelay = 0; diff --git a/src/object/object1A.c b/src/object/object1A.c index 91129a16..e903d21b 100644 --- a/src/object/object1A.c +++ b/src/object/object1A.c @@ -1,11 +1,9 @@ #include "global.h" #include "entity.h" -extern void CopyPosition(); extern void sub_08086A6C(); extern s32 sub_080044EC(); extern void sub_080AEF88(); -extern void DeleteThisEntity(); extern u32 Random(void); extern void (*gUnk_081206C4[99])(Entity*); diff --git a/src/object/object86.c b/src/object/object86.c index 0520cb55..e6a1b683 100644 --- a/src/object/object86.c +++ b/src/object/object86.c @@ -7,7 +7,6 @@ extern u32 sub_080041A0(Entity*, Entity*, u32, u32); void sub_08099ECC(Entity*); extern void sub_0805E4E0(Entity*, u32); extern void sub_0805B390(u32); -extern void CopyPosition(Entity*, Entity*); extern void (*const gUnk_081237F8[])(Entity*); diff --git a/src/object/object9E.c b/src/object/object9E.c index 4c770e82..21467eae 100644 --- a/src/object/object9E.c +++ b/src/object/object9E.c @@ -5,7 +5,6 @@ extern BoundingBox gUnk_080FD168; extern void SetTile(u32, u32, u32); -extern void CopyPosition(Entity*, Entity*); void Object9E(Entity *this) { diff --git a/src/object/objectAF.c b/src/object/objectAF.c index 382e32a3..83f93935 100644 --- a/src/object/objectAF.c +++ b/src/object/objectAF.c @@ -2,8 +2,6 @@ #include "entity.h" extern void sub_080A0640(Entity*); -extern void PositionRelative(Entity*, Entity*, s32, s32); -extern void CopyPosition(Entity*, Entity*); extern void (*const gUnk_081248C4[])(Entity*); diff --git a/src/object/smoke.c b/src/object/smoke.c index b4c83115..98aa2e6b 100644 --- a/src/object/smoke.c +++ b/src/object/smoke.c @@ -2,9 +2,7 @@ #include "entity.h" extern u32 Random(void); -extern void CopyPosition(Entity*, Entity*); extern void sub_0806F69C(Entity*); -extern void DeleteEntity(Entity*); extern void (*const gUnk_08121060[])(Entity*); extern void (*const gUnk_08121070[])(Entity*); diff --git a/src/room.c b/src/room.c index 69d8ef95..b8cdbcda 100644 --- a/src/room.c +++ b/src/room.c @@ -2057,7 +2057,7 @@ extern EntityData gUnk_080DE4C8; void sub_0804CBB0(void) { - if ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) < (gRoomControls.filler2[4] >> 1)) { + if ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) < (gRoomControls.height >> 1)) { if (!CheckLocalFlag(0x17)) { LoadRoomEntityList(&gUnk_080DE4C8); } From c63a859528c29bacc8d79fac1a7ff21863068eac Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 24 Aug 2020 20:30:43 -0500 Subject: [PATCH 010/105] Dump tileset headers and one tileset image --- asm/macros/map.inc | 12 + data/data_08100CD4.s | 3486 ------------------- data/data_081026AC.s | 2570 ++++++++++++++ data/data_081320FC.s | 13 +- data/room_headers.s | 4 +- data/tileset_headers.s | 1145 ++++++ data/tilesets/minish_woods/tiles_bottom.png | Bin 0 -> 9628 bytes linker.ld | 6 +- src/sub_0807C998.c | 8 +- 9 files changed, 3742 insertions(+), 3502 deletions(-) create mode 100755 data/data_081026AC.s create mode 100755 data/tileset_headers.s create mode 100644 data/tilesets/minish_woods/tiles_bottom.png diff --git a/asm/macros/map.inc b/asm/macros/map.inc index d90ed119..873b63a2 100755 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -9,4 +9,16 @@ .2byte \tileset_id .endm + .macro tileset_tiles src_offset, dest, size, compressed, terminator=0 + .4byte (!(\terminator) << 0x1F) | (\src_offset) + .4byte \dest + .4byte (\compressed << 0x1F) | (\size) + .endm + + .macro tileset_palette_set id, terminator=0 + .4byte (!(\terminator) << 0x1F) | (\id) + .4byte 0x0 + .4byte 0x0 + .endm + .endif @ GUARD_ASM_MACROS_MAP_INC diff --git a/data/data_08100CD4.s b/data/data_08100CD4.s index 18af9c5b..6c1a96b2 100755 --- a/data/data_08100CD4.s +++ b/data/data_08100CD4.s @@ -6,3489 +6,3 @@ gUnk_08100CD4:: @ 08100CD4 .incbin "baserom.gba", 0x100CD4, 0x0000010 - -gUnk_08100CE4:: @ 08100CE4 - .incbin "baserom.gba", 0x100CE4, 0x000000C - -gUnk_08100CF0:: @ 08100CF0 - .incbin "baserom.gba", 0x100CF0, 0x0000004 - -gUnk_08100CF4:: @ 08100CF4 - .incbin "baserom.gba", 0x100CF4, 0x0000009 - -gUnk_08100CFD:: @ 08100CFD - .incbin "baserom.gba", 0x100CFD, 0x0000004 - -gUnk_08100D01:: @ 08100D01 - .incbin "baserom.gba", 0x100D01, 0x0000003 - -gUnk_08100D04:: @ 08100D04 - .incbin "baserom.gba", 0x100D04, 0x000001C - -gUnk_08100D20:: @ 08100D20 - .incbin "baserom.gba", 0x100D20, 0x0000004 - -gUnk_08100D24:: @ 08100D24 - .incbin "baserom.gba", 0x100D24, 0x0000024 - -gUnk_08100D48:: @ 08100D48 - .incbin "baserom.gba", 0x100D48, 0x0000008 - -gUnk_08100D50:: @ 08100D50 - .incbin "baserom.gba", 0x100D50, 0x0000030 - -gUnk_08100D80:: @ 08100D80 - .incbin "baserom.gba", 0x100D80, 0x0000004 - -gUnk_08100D84:: @ 08100D84 - .incbin "baserom.gba", 0x100D84, 0x0000030 - -gUnk_08100DB4:: @ 08100DB4 - .incbin "baserom.gba", 0x100DB4, 0x0000004 - -gUnk_08100DB8:: @ 08100DB8 - .incbin "baserom.gba", 0x100DB8, 0x0000030 - -gUnk_08100DE8:: @ 08100DE8 - .incbin "baserom.gba", 0x100DE8, 0x0000004 - -gUnk_08100DEC:: @ 08100DEC - .incbin "baserom.gba", 0x100DEC, 0x000000A - -gUnk_08100DF6:: @ 08100DF6 - .incbin "baserom.gba", 0x100DF6, 0x0000016 - -gUnk_08100E0C:: @ 08100E0C - .incbin "baserom.gba", 0x100E0C, 0x000000A - -gUnk_08100E16:: @ 08100E16 - .incbin "baserom.gba", 0x100E16, 0x0000006 - -gUnk_08100E1C:: @ 08100E1C - .incbin "baserom.gba", 0x100E1C, 0x0000004 - -gUnk_08100E20:: @ 08100E20 - .incbin "baserom.gba", 0x100E20, 0x000000E - -gUnk_08100E2E:: @ 08100E2E - .incbin "baserom.gba", 0x100E2E, 0x0000022 - -gUnk_08100E50:: @ 08100E50 - .incbin "baserom.gba", 0x100E50, 0x0000004 - -gUnk_08100E54:: @ 08100E54 - .incbin "baserom.gba", 0x100E54, 0x000002D - -gUnk_08100E81:: @ 08100E81 - .incbin "baserom.gba", 0x100E81, 0x0000003 - -gUnk_08100E84:: @ 08100E84 - .incbin "baserom.gba", 0x100E84, 0x0000004 - -gUnk_08100E88:: @ 08100E88 - .incbin "baserom.gba", 0x100E88, 0x000003C - -gUnk_08100EC4:: @ 08100EC4 - .incbin "baserom.gba", 0x100EC4, 0x0000034 - -gUnk_08100EF8:: @ 08100EF8 - .incbin "baserom.gba", 0x100EF8, 0x0000006 - -gUnk_08100EFE:: @ 08100EFE - .incbin "baserom.gba", 0x100EFE, 0x0000002 - -gUnk_08100F00:: @ 08100F00 - .incbin "baserom.gba", 0x100F00, 0x0000009 - -gUnk_08100F09:: @ 08100F09 - .incbin "baserom.gba", 0x100F09, 0x0000007 - -gUnk_08100F10:: @ 08100F10 - .incbin "baserom.gba", 0x100F10, 0x0000020 - -gUnk_08100F30:: @ 08100F30 - .incbin "baserom.gba", 0x100F30, 0x000000C - -gUnk_08100F3C:: @ 08100F3C - .incbin "baserom.gba", 0x100F3C, 0x000000C - -gUnk_08100F48:: @ 08100F48 - .incbin "baserom.gba", 0x100F48, 0x0000030 - -gUnk_08100F78:: @ 08100F78 - .incbin "baserom.gba", 0x100F78, 0x0000004 - -gUnk_08100F7C:: @ 08100F7C - .incbin "baserom.gba", 0x100F7C, 0x0000005 - -gUnk_08100F81:: @ 08100F81 - .incbin "baserom.gba", 0x100F81, 0x000001B - -gUnk_08100F9C:: @ 08100F9C - .incbin "baserom.gba", 0x100F9C, 0x000001C - -gUnk_08100FB8:: @ 08100FB8 - .incbin "baserom.gba", 0x100FB8, 0x0000004 - -gUnk_08100FBC:: @ 08100FBC - .incbin "baserom.gba", 0x100FBC, 0x0000030 - -gUnk_08100FEC:: @ 08100FEC - .incbin "baserom.gba", 0x100FEC, 0x0000004 - -gUnk_08100FF0:: @ 08100FF0 - .incbin "baserom.gba", 0x100FF0, 0x0000010 - -gUnk_08101000:: @ 08101000 - .incbin "baserom.gba", 0x101000, 0x000000E - -gUnk_0810100E:: @ 0810100E - .incbin "baserom.gba", 0x10100E, 0x0000002 - -gUnk_08101010:: @ 08101010 - .incbin "baserom.gba", 0x101010, 0x0000010 - -gUnk_08101020:: @ 08101020 - .incbin "baserom.gba", 0x101020, 0x0000004 - -gUnk_08101024:: @ 08101024 - .incbin "baserom.gba", 0x101024, 0x0000030 - -gUnk_08101054:: @ 08101054 - .incbin "baserom.gba", 0x101054, 0x0000004 - -gUnk_08101058:: @ 08101058 - .incbin "baserom.gba", 0x101058, 0x0000029 - -gUnk_08101081:: @ 08101081 - .incbin "baserom.gba", 0x101081, 0x0000013 - -gUnk_08101094:: @ 08101094 - .incbin "baserom.gba", 0x101094, 0x0000004 - -gUnk_08101098:: @ 08101098 - .incbin "baserom.gba", 0x101098, 0x0000030 - -gUnk_081010C8:: @ 081010C8 - .incbin "baserom.gba", 0x1010C8, 0x0000004 - -gUnk_081010CC:: @ 081010CC - .incbin "baserom.gba", 0x1010CC, 0x0000030 - -gUnk_081010FC:: @ 081010FC - .incbin "baserom.gba", 0x1010FC, 0x0000003 - -gUnk_081010FF:: @ 081010FF - .incbin "baserom.gba", 0x1010FF, 0x0000001 - -gUnk_08101100:: @ 08101100 - .incbin "baserom.gba", 0x101100, 0x000000B - -gUnk_0810110B:: @ 0810110B - .incbin "baserom.gba", 0x10110B, 0x0000003 - -gUnk_0810110E:: @ 0810110E - .incbin "baserom.gba", 0x10110E, 0x0000003 - -gUnk_08101111:: @ 08101111 - .incbin "baserom.gba", 0x101111, 0x000001B - -gUnk_0810112C:: @ 0810112C - .incbin "baserom.gba", 0x10112C, 0x0000030 - -gUnk_0810115C:: @ 0810115C - .incbin "baserom.gba", 0x10115C, 0x000000C - -gUnk_08101168:: @ 08101168 - .incbin "baserom.gba", 0x101168, 0x0000048 - -gUnk_081011B0:: @ 081011B0 - .incbin "baserom.gba", 0x1011B0, 0x0000004 - -gUnk_081011B4:: @ 081011B4 - .incbin "baserom.gba", 0x1011B4, 0x0000048 - -gUnk_081011FC:: @ 081011FC - .incbin "baserom.gba", 0x1011FC, 0x0000001 - -gUnk_081011FD:: @ 081011FD - .incbin "baserom.gba", 0x1011FD, 0x0000003 - -gUnk_08101200:: @ 08101200 - .incbin "baserom.gba", 0x101200, 0x0000008 - -gUnk_08101208:: @ 08101208 - .incbin "baserom.gba", 0x101208, 0x0000006 - -gUnk_0810120E:: @ 0810120E - .incbin "baserom.gba", 0x10120E, 0x0000005 - -gUnk_08101213:: @ 08101213 - .incbin "baserom.gba", 0x101213, 0x0000035 - -gUnk_08101248:: @ 08101248 - .incbin "baserom.gba", 0x101248, 0x0000004 - -gUnk_0810124C:: @ 0810124C - .incbin "baserom.gba", 0x10124C, 0x0000048 - -gUnk_08101294:: @ 08101294 - .incbin "baserom.gba", 0x101294, 0x0000004 - -gUnk_08101298:: @ 08101298 - .incbin "baserom.gba", 0x101298, 0x0000048 - -gUnk_081012E0:: @ 081012E0 - .incbin "baserom.gba", 0x1012E0, 0x0000004 - -gUnk_081012E4:: @ 081012E4 - .incbin "baserom.gba", 0x1012E4, 0x0000027 - -gUnk_0810130B:: @ 0810130B - .incbin "baserom.gba", 0x10130B, 0x0000004 - -gUnk_0810130F:: @ 0810130F - .incbin "baserom.gba", 0x10130F, 0x0000001 - -gUnk_08101310:: @ 08101310 - .incbin "baserom.gba", 0x101310, 0x0000001 - -gUnk_08101311:: @ 08101311 - .incbin "baserom.gba", 0x101311, 0x0000003 - -gUnk_08101314:: @ 08101314 - .incbin "baserom.gba", 0x101314, 0x0000002 - -gUnk_08101316:: @ 08101316 - .incbin "baserom.gba", 0x101316, 0x000000F - -gUnk_08101325:: @ 08101325 - .incbin "baserom.gba", 0x101325, 0x0000007 - -gUnk_0810132C:: @ 0810132C - .incbin "baserom.gba", 0x10132C, 0x0000004 - -gUnk_08101330:: @ 08101330 - .incbin "baserom.gba", 0x101330, 0x0000048 - -gUnk_08101378:: @ 08101378 - .incbin "baserom.gba", 0x101378, 0x0000004 - -gUnk_0810137C:: @ 0810137C - .incbin "baserom.gba", 0x10137C, 0x0000048 - -gUnk_081013C4:: @ 081013C4 - .incbin "baserom.gba", 0x1013C4, 0x0000004 - -gUnk_081013C8:: @ 081013C8 - .incbin "baserom.gba", 0x1013C8, 0x000000C - -gUnk_081013D4:: @ 081013D4 - .incbin "baserom.gba", 0x1013D4, 0x0000024 - -gUnk_081013F8:: @ 081013F8 - .incbin "baserom.gba", 0x1013F8, 0x0000016 - -gUnk_0810140E:: @ 0810140E - .incbin "baserom.gba", 0x10140E, 0x0000005 - -gUnk_08101413:: @ 08101413 - .incbin "baserom.gba", 0x101413, 0x0000001 - -gUnk_08101414:: @ 08101414 - .incbin "baserom.gba", 0x101414, 0x0000001 - -gUnk_08101415:: @ 08101415 - .incbin "baserom.gba", 0x101415, 0x0000003 - -gUnk_08101418:: @ 08101418 - .incbin "baserom.gba", 0x101418, 0x0000010 - -gUnk_08101428:: @ 08101428 - .incbin "baserom.gba", 0x101428, 0x0000008 - -gUnk_08101430:: @ 08101430 - .incbin "baserom.gba", 0x101430, 0x0000030 - -gUnk_08101460:: @ 08101460 - .incbin "baserom.gba", 0x101460, 0x0000004 - -gUnk_08101464:: @ 08101464 - .incbin "baserom.gba", 0x101464, 0x0000024 - -gUnk_08101488:: @ 08101488 - .incbin "baserom.gba", 0x101488, 0x0000024 - -gUnk_081014AC:: @ 081014AC - .incbin "baserom.gba", 0x1014AC, 0x0000024 - -gUnk_081014D0:: @ 081014D0 - .incbin "baserom.gba", 0x1014D0, 0x000000C - -gUnk_081014DC:: @ 081014DC - .incbin "baserom.gba", 0x1014DC, 0x0000024 - -gUnk_08101500:: @ 08101500 - .incbin "baserom.gba", 0x101500, 0x000000F - -gUnk_0810150F:: @ 0810150F - .incbin "baserom.gba", 0x10150F, 0x0000005 - -gUnk_08101514:: @ 08101514 - .incbin "baserom.gba", 0x101514, 0x0000002 - -gUnk_08101516:: @ 08101516 - .incbin "baserom.gba", 0x101516, 0x0000001 - -gUnk_08101517:: @ 08101517 - .incbin "baserom.gba", 0x101517, 0x000000D - -gUnk_08101524:: @ 08101524 - .incbin "baserom.gba", 0x101524, 0x0000003 - -gUnk_08101527:: @ 08101527 - .incbin "baserom.gba", 0x101527, 0x0000021 - -gUnk_08101548:: @ 08101548 - .incbin "baserom.gba", 0x101548, 0x000000C - -gUnk_08101554:: @ 08101554 - .incbin "baserom.gba", 0x101554, 0x0000018 - -gUnk_0810156C:: @ 0810156C - .incbin "baserom.gba", 0x10156C, 0x0000018 - -gUnk_08101584:: @ 08101584 - .incbin "baserom.gba", 0x101584, 0x0000018 - -gUnk_0810159C:: @ 0810159C - .incbin "baserom.gba", 0x10159C, 0x0000018 - -gUnk_081015B4:: @ 081015B4 - .incbin "baserom.gba", 0x1015B4, 0x0000018 - -gUnk_081015CC:: @ 081015CC - .incbin "baserom.gba", 0x1015CC, 0x0000018 - -gUnk_081015E4:: @ 081015E4 - .incbin "baserom.gba", 0x1015E4, 0x0000018 - -gUnk_081015FC:: @ 081015FC - .incbin "baserom.gba", 0x1015FC, 0x000000D - -gUnk_08101609:: @ 08101609 - .incbin "baserom.gba", 0x101609, 0x000000B - -gUnk_08101614:: @ 08101614 - .incbin "baserom.gba", 0x101614, 0x0000003 - -gUnk_08101617:: @ 08101617 - .incbin "baserom.gba", 0x101617, 0x0000002 - -gUnk_08101619:: @ 08101619 - .incbin "baserom.gba", 0x101619, 0x0000001 - -gUnk_0810161A:: @ 0810161A - .incbin "baserom.gba", 0x10161A, 0x0000002 - -gUnk_0810161C:: @ 0810161C - .incbin "baserom.gba", 0x10161C, 0x0000010 - -gUnk_0810162C:: @ 0810162C - .incbin "baserom.gba", 0x10162C, 0x0000018 - -gUnk_08101644:: @ 08101644 - .incbin "baserom.gba", 0x101644, 0x0000018 - -gUnk_0810165C:: @ 0810165C - .incbin "baserom.gba", 0x10165C, 0x0000018 - -gUnk_08101674:: @ 08101674 - .incbin "baserom.gba", 0x101674, 0x0000018 - -gUnk_0810168C:: @ 0810168C - .incbin "baserom.gba", 0x10168C, 0x0000018 - -gUnk_081016A4:: @ 081016A4 - .incbin "baserom.gba", 0x1016A4, 0x0000018 - -gUnk_081016BC:: @ 081016BC - .incbin "baserom.gba", 0x1016BC, 0x0000018 - -gUnk_081016D4:: @ 081016D4 - .incbin "baserom.gba", 0x1016D4, 0x0000018 - -gUnk_081016EC:: @ 081016EC - .incbin "baserom.gba", 0x1016EC, 0x0000018 - -gUnk_08101704:: @ 08101704 - .incbin "baserom.gba", 0x101704, 0x0000013 - -gUnk_08101717:: @ 08101717 - .incbin "baserom.gba", 0x101717, 0x0000001 - -gUnk_08101718:: @ 08101718 - .incbin "baserom.gba", 0x101718, 0x0000004 - -gUnk_0810171C:: @ 0810171C - .incbin "baserom.gba", 0x10171C, 0x0000001 - -gUnk_0810171D:: @ 0810171D - .incbin "baserom.gba", 0x10171D, 0x0000002 - -gUnk_0810171F:: @ 0810171F - .incbin "baserom.gba", 0x10171F, 0x0000005 - -gUnk_08101724:: @ 08101724 - .incbin "baserom.gba", 0x101724, 0x0000005 - -gUnk_08101729:: @ 08101729 - .incbin "baserom.gba", 0x101729, 0x000000B - -gUnk_08101734:: @ 08101734 - .incbin "baserom.gba", 0x101734, 0x0000006 - -gUnk_0810173A:: @ 0810173A - .incbin "baserom.gba", 0x10173A, 0x000004A - -gUnk_08101784:: @ 08101784 - .incbin "baserom.gba", 0x101784, 0x0000018 - -gUnk_0810179C:: @ 0810179C - .incbin "baserom.gba", 0x10179C, 0x0000018 - -gUnk_081017B4:: @ 081017B4 - .incbin "baserom.gba", 0x1017B4, 0x0000018 - -gUnk_081017CC:: @ 081017CC - .incbin "baserom.gba", 0x1017CC, 0x0000018 - -gUnk_081017E4:: @ 081017E4 - .incbin "baserom.gba", 0x1017E4, 0x0000018 - -gUnk_081017FC:: @ 081017FC - .incbin "baserom.gba", 0x1017FC, 0x0000014 - -gUnk_08101810:: @ 08101810 - .incbin "baserom.gba", 0x101810, 0x0000003 - -gUnk_08101813:: @ 08101813 - .incbin "baserom.gba", 0x101813, 0x0000001 - -gUnk_08101814:: @ 08101814 - .incbin "baserom.gba", 0x101814, 0x0000006 - -gUnk_0810181A:: @ 0810181A - .incbin "baserom.gba", 0x10181A, 0x0000002 - -gUnk_0810181C:: @ 0810181C - .incbin "baserom.gba", 0x10181C, 0x0000002 - -gUnk_0810181E:: @ 0810181E - .incbin "baserom.gba", 0x10181E, 0x0000001 - -gUnk_0810181F:: @ 0810181F - .incbin "baserom.gba", 0x10181F, 0x0000003 - -gUnk_08101822:: @ 08101822 - .incbin "baserom.gba", 0x101822, 0x0000003 - -gUnk_08101825:: @ 08101825 - .incbin "baserom.gba", 0x101825, 0x0000006 - -gUnk_0810182B:: @ 0810182B - .incbin "baserom.gba", 0x10182B, 0x0000001 - -gUnk_0810182C:: @ 0810182C - .incbin "baserom.gba", 0x10182C, 0x0000018 - -gUnk_08101844:: @ 08101844 - .incbin "baserom.gba", 0x101844, 0x0000018 - -gUnk_0810185C:: @ 0810185C - .incbin "baserom.gba", 0x10185C, 0x0000024 - -gUnk_08101880:: @ 08101880 - .incbin "baserom.gba", 0x101880, 0x0000030 - -gUnk_081018B0:: @ 081018B0 - .incbin "baserom.gba", 0x1018B0, 0x0000004 - -gUnk_081018B4:: @ 081018B4 - .incbin "baserom.gba", 0x1018B4, 0x0000030 - -gUnk_081018E4:: @ 081018E4 - .incbin "baserom.gba", 0x1018E4, 0x000001F - -gUnk_08101903:: @ 08101903 - .incbin "baserom.gba", 0x101903, 0x0000011 - -gUnk_08101914:: @ 08101914 - .incbin "baserom.gba", 0x101914, 0x0000009 - -gUnk_0810191D:: @ 0810191D - .incbin "baserom.gba", 0x10191D, 0x0000004 - -gUnk_08101921:: @ 08101921 - .incbin "baserom.gba", 0x101921, 0x0000002 - -gUnk_08101923:: @ 08101923 - .incbin "baserom.gba", 0x101923, 0x0000001 - -gUnk_08101924:: @ 08101924 - .incbin "baserom.gba", 0x101924, 0x0000020 - -gUnk_08101944:: @ 08101944 - .incbin "baserom.gba", 0x101944, 0x000000C - -gUnk_08101950:: @ 08101950 - .incbin "baserom.gba", 0x101950, 0x0000030 - -gUnk_08101980:: @ 08101980 - .incbin "baserom.gba", 0x101980, 0x0000004 - -gUnk_08101984:: @ 08101984 - .incbin "baserom.gba", 0x101984, 0x0000030 - -gUnk_081019B4:: @ 081019B4 - .incbin "baserom.gba", 0x1019B4, 0x0000004 - -gUnk_081019B8:: @ 081019B8 - .incbin "baserom.gba", 0x1019B8, 0x0000030 - -gUnk_081019E8:: @ 081019E8 - .incbin "baserom.gba", 0x1019E8, 0x0000004 - -gUnk_081019EC:: @ 081019EC - .incbin "baserom.gba", 0x1019EC, 0x0000013 - -gUnk_081019FF:: @ 081019FF - .incbin "baserom.gba", 0x1019FF, 0x000000B - -gUnk_08101A0A:: @ 08101A0A - .incbin "baserom.gba", 0x101A0A, 0x000000F - -gUnk_08101A19:: @ 08101A19 - .incbin "baserom.gba", 0x101A19, 0x0000002 - -gUnk_08101A1B:: @ 08101A1B - .incbin "baserom.gba", 0x101A1B, 0x0000001 - -gUnk_08101A1C:: @ 08101A1C - .incbin "baserom.gba", 0x101A1C, 0x0000006 - -gUnk_08101A22:: @ 08101A22 - .incbin "baserom.gba", 0x101A22, 0x0000002 - -gUnk_08101A24:: @ 08101A24 - .incbin "baserom.gba", 0x101A24, 0x0000001 - -gUnk_08101A25:: @ 08101A25 - .incbin "baserom.gba", 0x101A25, 0x0000027 - -gUnk_08101A4C:: @ 08101A4C - .incbin "baserom.gba", 0x101A4C, 0x0000030 - -gUnk_08101A7C:: @ 08101A7C - .incbin "baserom.gba", 0x101A7C, 0x0000030 - -gUnk_08101AAC:: @ 08101AAC - .incbin "baserom.gba", 0x101AAC, 0x0000030 - -gUnk_08101ADC:: @ 08101ADC - .incbin "baserom.gba", 0x101ADC, 0x0000024 - -gUnk_08101B00:: @ 08101B00 - .incbin "baserom.gba", 0x101B00, 0x000000C - -gUnk_08101B0C:: @ 08101B0C - .incbin "baserom.gba", 0x101B0C, 0x0000018 - -gUnk_08101B24:: @ 08101B24 - .incbin "baserom.gba", 0x101B24, 0x0000030 - -gUnk_08101B54:: @ 08101B54 - .incbin "baserom.gba", 0x101B54, 0x0000030 - -gUnk_08101B84:: @ 08101B84 - .incbin "baserom.gba", 0x101B84, 0x0000030 - -gUnk_08101BB4:: @ 08101BB4 - .incbin "baserom.gba", 0x101BB4, 0x0000030 - -gUnk_08101BE4:: @ 08101BE4 - .incbin "baserom.gba", 0x101BE4, 0x0000030 - -gUnk_08101C14:: @ 08101C14 - .incbin "baserom.gba", 0x101C14, 0x0000001 - -gUnk_08101C15:: @ 08101C15 - .incbin "baserom.gba", 0x101C15, 0x0000013 - -gUnk_08101C28:: @ 08101C28 - .incbin "baserom.gba", 0x101C28, 0x0000030 - -gUnk_08101C58:: @ 08101C58 - .incbin "baserom.gba", 0x101C58, 0x0000004 - -gUnk_08101C5C:: @ 08101C5C - .incbin "baserom.gba", 0x101C5C, 0x0000030 - -gUnk_08101C8C:: @ 08101C8C - .incbin "baserom.gba", 0x101C8C, 0x0000004 - -gUnk_08101C90:: @ 08101C90 - .incbin "baserom.gba", 0x101C90, 0x0000030 - -gUnk_08101CC0:: @ 08101CC0 - .incbin "baserom.gba", 0x101CC0, 0x0000004 - -gUnk_08101CC4:: @ 08101CC4 - .incbin "baserom.gba", 0x101CC4, 0x0000005 - -gUnk_08101CC9:: @ 08101CC9 - .incbin "baserom.gba", 0x101CC9, 0x000002B - -gUnk_08101CF4:: @ 08101CF4 - .incbin "baserom.gba", 0x101CF4, 0x0000004 - -gUnk_08101CF8:: @ 08101CF8 - .incbin "baserom.gba", 0x101CF8, 0x0000008 - -gUnk_08101D00:: @ 08101D00 - .incbin "baserom.gba", 0x101D00, 0x0000027 - -gUnk_08101D27:: @ 08101D27 - .incbin "baserom.gba", 0x101D27, 0x0000001 - -gUnk_08101D28:: @ 08101D28 - .incbin "baserom.gba", 0x101D28, 0x0000004 - -gUnk_08101D2C:: @ 08101D2C - .incbin "baserom.gba", 0x101D2C, 0x0000030 - -gUnk_08101D5C:: @ 08101D5C - .incbin "baserom.gba", 0x101D5C, 0x0000004 - -gUnk_08101D60:: @ 08101D60 - .incbin "baserom.gba", 0x101D60, 0x0000030 - -gUnk_08101D90:: @ 08101D90 - .incbin "baserom.gba", 0x101D90, 0x0000004 - -gUnk_08101D94:: @ 08101D94 - .incbin "baserom.gba", 0x101D94, 0x0000030 - -gUnk_08101DC4:: @ 08101DC4 - .incbin "baserom.gba", 0x101DC4, 0x0000004 - -gUnk_08101DC8:: @ 08101DC8 - .incbin "baserom.gba", 0x101DC8, 0x0000030 - -gUnk_08101DF8:: @ 08101DF8 - .incbin "baserom.gba", 0x101DF8, 0x0000004 - -gUnk_08101DFC:: @ 08101DFC - .incbin "baserom.gba", 0x101DFC, 0x000002D - -gUnk_08101E29:: @ 08101E29 - .incbin "baserom.gba", 0x101E29, 0x0000003 - -gUnk_08101E2C:: @ 08101E2C - .incbin "baserom.gba", 0x101E2C, 0x0000004 - -gUnk_08101E30:: @ 08101E30 - .incbin "baserom.gba", 0x101E30, 0x0000030 - -gUnk_08101E60:: @ 08101E60 - .incbin "baserom.gba", 0x101E60, 0x0000004 - -gUnk_08101E64:: @ 08101E64 - .incbin "baserom.gba", 0x101E64, 0x0000030 - -gUnk_08101E94:: @ 08101E94 - .incbin "baserom.gba", 0x101E94, 0x0000004 - -gUnk_08101E98:: @ 08101E98 - .incbin "baserom.gba", 0x101E98, 0x0000030 - -gUnk_08101EC8:: @ 08101EC8 - .incbin "baserom.gba", 0x101EC8, 0x0000004 - -gUnk_08101ECC:: @ 08101ECC - .incbin "baserom.gba", 0x101ECC, 0x0000030 - -gUnk_08101EFC:: @ 08101EFC - .incbin "baserom.gba", 0x101EFC, 0x0000004 - -gUnk_08101F00:: @ 08101F00 - .incbin "baserom.gba", 0x101F00, 0x0000020 - -gUnk_08101F20:: @ 08101F20 - .incbin "baserom.gba", 0x101F20, 0x0000010 - -gUnk_08101F30:: @ 08101F30 - .incbin "baserom.gba", 0x101F30, 0x0000004 - -gUnk_08101F34:: @ 08101F34 - .incbin "baserom.gba", 0x101F34, 0x000003C - -gUnk_08101F70:: @ 08101F70 - .incbin "baserom.gba", 0x101F70, 0x0000004 - -gUnk_08101F74:: @ 08101F74 - .incbin "baserom.gba", 0x101F74, 0x0000021 - -gUnk_08101F95:: @ 08101F95 - .incbin "baserom.gba", 0x101F95, 0x000000F - -gUnk_08101FA4:: @ 08101FA4 - .incbin "baserom.gba", 0x101FA4, 0x0000004 - -gUnk_08101FA8:: @ 08101FA8 - .incbin "baserom.gba", 0x101FA8, 0x0000030 - -gUnk_08101FD8:: @ 08101FD8 - .incbin "baserom.gba", 0x101FD8, 0x0000004 - -gUnk_08101FDC:: @ 08101FDC - .incbin "baserom.gba", 0x101FDC, 0x0000030 - -gUnk_0810200C:: @ 0810200C - .incbin "baserom.gba", 0x10200C, 0x0000004 - -gUnk_08102010:: @ 08102010 - .incbin "baserom.gba", 0x102010, 0x000002D - -gUnk_0810203D:: @ 0810203D - .incbin "baserom.gba", 0x10203D, 0x0000003 - -gUnk_08102040:: @ 08102040 - .incbin "baserom.gba", 0x102040, 0x0000004 - -gUnk_08102044:: @ 08102044 - .incbin "baserom.gba", 0x102044, 0x0000030 - -gUnk_08102074:: @ 08102074 - .incbin "baserom.gba", 0x102074, 0x0000004 - -gUnk_08102078:: @ 08102078 - .incbin "baserom.gba", 0x102078, 0x0000030 - -gUnk_081020A8:: @ 081020A8 - .incbin "baserom.gba", 0x1020A8, 0x0000004 - -gUnk_081020AC:: @ 081020AC - .incbin "baserom.gba", 0x1020AC, 0x0000028 - -gUnk_081020D4:: @ 081020D4 - .incbin "baserom.gba", 0x1020D4, 0x0000008 - -gUnk_081020DC:: @ 081020DC - .incbin "baserom.gba", 0x1020DC, 0x0000004 - -gUnk_081020E0:: @ 081020E0 - .incbin "baserom.gba", 0x1020E0, 0x0000021 - -gUnk_08102101:: @ 08102101 - .incbin "baserom.gba", 0x102101, 0x000000F - -gUnk_08102110:: @ 08102110 - .incbin "baserom.gba", 0x102110, 0x0000004 - -gUnk_08102114:: @ 08102114 - .incbin "baserom.gba", 0x102114, 0x0000036 - -gUnk_0810214A:: @ 0810214A - .incbin "baserom.gba", 0x10214A, 0x0000006 - -gUnk_08102150:: @ 08102150 - .incbin "baserom.gba", 0x102150, 0x0000004 - -gUnk_08102154:: @ 08102154 - .incbin "baserom.gba", 0x102154, 0x0000030 - -gUnk_08102184:: @ 08102184 - .incbin "baserom.gba", 0x102184, 0x0000004 - -gUnk_08102188:: @ 08102188 - .incbin "baserom.gba", 0x102188, 0x0000030 - -gUnk_081021B8:: @ 081021B8 - .incbin "baserom.gba", 0x1021B8, 0x0000004 - -gUnk_081021BC:: @ 081021BC - .incbin "baserom.gba", 0x1021BC, 0x0000030 - -gUnk_081021EC:: @ 081021EC - .incbin "baserom.gba", 0x1021EC, 0x0000004 - -gUnk_081021F0:: @ 081021F0 - .incbin "baserom.gba", 0x1021F0, 0x0000030 - -gUnk_08102220:: @ 08102220 - .incbin "baserom.gba", 0x102220, 0x0000004 - -gUnk_08102224:: @ 08102224 - .incbin "baserom.gba", 0x102224, 0x0000014 - -gUnk_08102238:: @ 08102238 - .incbin "baserom.gba", 0x102238, 0x000001C - -gUnk_08102254:: @ 08102254 - .incbin "baserom.gba", 0x102254, 0x0000004 - -gUnk_08102258:: @ 08102258 - .incbin "baserom.gba", 0x102258, 0x0000030 - -gUnk_08102288:: @ 08102288 - .incbin "baserom.gba", 0x102288, 0x0000004 - -gUnk_0810228C:: @ 0810228C - .incbin "baserom.gba", 0x10228C, 0x0000030 - -gUnk_081022BC:: @ 081022BC - .incbin "baserom.gba", 0x1022BC, 0x0000004 - -gUnk_081022C0:: @ 081022C0 - .incbin "baserom.gba", 0x1022C0, 0x0000030 - -gUnk_081022F0:: @ 081022F0 - .incbin "baserom.gba", 0x1022F0, 0x0000004 - -gUnk_081022F4:: @ 081022F4 - .incbin "baserom.gba", 0x1022F4, 0x0000021 - -gUnk_08102315:: @ 08102315 - .incbin "baserom.gba", 0x102315, 0x000000B - -gUnk_08102320:: @ 08102320 - .incbin "baserom.gba", 0x102320, 0x0000004 - -gUnk_08102324:: @ 08102324 - .incbin "baserom.gba", 0x102324, 0x0000004 - -gUnk_08102328:: @ 08102328 - .incbin "baserom.gba", 0x102328, 0x000003C - -gUnk_08102364:: @ 08102364 - .incbin "baserom.gba", 0x102364, 0x0000004 - -gUnk_08102368:: @ 08102368 - .incbin "baserom.gba", 0x102368, 0x000001C - -gUnk_08102384:: @ 08102384 - .incbin "baserom.gba", 0x102384, 0x0000014 - -gUnk_08102398:: @ 08102398 - .incbin "baserom.gba", 0x102398, 0x0000004 - -gUnk_0810239C:: @ 0810239C - .incbin "baserom.gba", 0x10239C, 0x0000030 - -gUnk_081023CC:: @ 081023CC - .incbin "baserom.gba", 0x1023CC, 0x0000004 - -gUnk_081023D0:: @ 081023D0 - .incbin "baserom.gba", 0x1023D0, 0x0000030 - -gUnk_08102400:: @ 08102400 - .incbin "baserom.gba", 0x102400, 0x0000004 - -gUnk_08102404:: @ 08102404 - .incbin "baserom.gba", 0x102404, 0x0000004 - -gUnk_08102408:: @ 08102408 - .incbin "baserom.gba", 0x102408, 0x000000A - -gUnk_08102412:: @ 08102412 - .incbin "baserom.gba", 0x102412, 0x0000022 - -gUnk_08102434:: @ 08102434 - .incbin "baserom.gba", 0x102434, 0x0000004 - -gUnk_08102438:: @ 08102438 - .incbin "baserom.gba", 0x102438, 0x0000019 - -gUnk_08102451:: @ 08102451 - .incbin "baserom.gba", 0x102451, 0x0000017 - -gUnk_08102468:: @ 08102468 - .incbin "baserom.gba", 0x102468, 0x0000004 - -gAreaTilesets:: @ 0810246C - .incbin "baserom.gba", 0x10246C, 0x0000048 - -gUnk_081024B4:: @ 081024B4 - .incbin "baserom.gba", 0x1024B4, 0x0000083 - -gUnk_08102537:: @ 08102537 - .incbin "baserom.gba", 0x102537, 0x00000D9 - -gUnk_08102610:: @ 08102610 - .incbin "baserom.gba", 0x102610, 0x000009C - -gUnk_081026AC:: @ 081026AC - .incbin "baserom.gba", 0x1026AC, 0x0000030 - -gUnk_081026DC:: @ 081026DC - .incbin "baserom.gba", 0x1026DC, 0x0000028 - -gUnk_08102704:: @ 08102704 - .incbin "baserom.gba", 0x102704, 0x0000008 - -gUnk_0810270C:: @ 0810270C - .incbin "baserom.gba", 0x10270C, 0x0000004 - -gUnk_08102710:: @ 08102710 - .incbin "baserom.gba", 0x102710, 0x0000023 - -gUnk_08102733:: @ 08102733 - .incbin "baserom.gba", 0x102733, 0x0000009 - -gUnk_0810273C:: @ 0810273C - .incbin "baserom.gba", 0x10273C, 0x000001B - -gUnk_08102757:: @ 08102757 - .incbin "baserom.gba", 0x102757, 0x0000015 - -gUnk_0810276C:: @ 0810276C - .incbin "baserom.gba", 0x10276C, 0x0000030 - -gUnk_0810279C:: @ 0810279C - .incbin "baserom.gba", 0x10279C, 0x0000030 - -gUnk_081027CC:: @ 081027CC - .incbin "baserom.gba", 0x1027CC, 0x0000030 - -gUnk_081027FC:: @ 081027FC - .incbin "baserom.gba", 0x1027FC, 0x0000030 - -gUnk_0810282C:: @ 0810282C - .incbin "baserom.gba", 0x10282C, 0x000000C - -gUnk_08102838:: @ 08102838 - .incbin "baserom.gba", 0x102838, 0x0000012 - -gUnk_0810284A:: @ 0810284A - .incbin "baserom.gba", 0x10284A, 0x0000012 - -gUnk_0810285C:: @ 0810285C - .incbin "baserom.gba", 0x10285C, 0x0000018 - -gUnk_08102874:: @ 08102874 - .incbin "baserom.gba", 0x102874, 0x0000030 - -gUnk_081028A4:: @ 081028A4 - .incbin "baserom.gba", 0x1028A4, 0x0000030 - -gUnk_081028D4:: @ 081028D4 - .incbin "baserom.gba", 0x1028D4, 0x0000030 - -gUnk_08102904:: @ 08102904 - .incbin "baserom.gba", 0x102904, 0x0000012 - -gUnk_08102916:: @ 08102916 - .incbin "baserom.gba", 0x102916, 0x000001E - -gUnk_08102934:: @ 08102934 - .incbin "baserom.gba", 0x102934, 0x0000018 - -gUnk_0810294C:: @ 0810294C - .incbin "baserom.gba", 0x10294C, 0x0000018 - -gUnk_08102964:: @ 08102964 - .incbin "baserom.gba", 0x102964, 0x0000030 - -gUnk_08102994:: @ 08102994 - .incbin "baserom.gba", 0x102994, 0x0000030 - -gUnk_081029C4:: @ 081029C4 - .incbin "baserom.gba", 0x1029C4, 0x0000030 - -gUnk_081029F4:: @ 081029F4 - .incbin "baserom.gba", 0x1029F4, 0x000001C - -gUnk_08102A10:: @ 08102A10 - .incbin "baserom.gba", 0x102A10, 0x0000014 - -gUnk_08102A24:: @ 08102A24 - .incbin "baserom.gba", 0x102A24, 0x0000030 - -gUnk_08102A54:: @ 08102A54 - .incbin "baserom.gba", 0x102A54, 0x0000030 - -gUnk_08102A84:: @ 08102A84 - .incbin "baserom.gba", 0x102A84, 0x0000030 - -gUnk_08102AB4:: @ 08102AB4 - .incbin "baserom.gba", 0x102AB4, 0x0000030 - -gUnk_08102AE4:: @ 08102AE4 - .incbin "baserom.gba", 0x102AE4, 0x000002C - -gUnk_08102B10:: @ 08102B10 - .incbin "baserom.gba", 0x102B10, 0x0000004 - -gUnk_08102B14:: @ 08102B14 - .incbin "baserom.gba", 0x102B14, 0x0000030 - -gUnk_08102B44:: @ 08102B44 - .incbin "baserom.gba", 0x102B44, 0x0000030 - -gUnk_08102B74:: @ 08102B74 - .incbin "baserom.gba", 0x102B74, 0x0000030 - -gUnk_08102BA4:: @ 08102BA4 - .incbin "baserom.gba", 0x102BA4, 0x0000030 - -gUnk_08102BD4:: @ 08102BD4 - .incbin "baserom.gba", 0x102BD4, 0x0000030 - -gUnk_08102C04:: @ 08102C04 - .incbin "baserom.gba", 0x102C04, 0x0000030 - -gUnk_08102C34:: @ 08102C34 - .incbin "baserom.gba", 0x102C34, 0x000000D - -gUnk_08102C41:: @ 08102C41 - .incbin "baserom.gba", 0x102C41, 0x0000023 - -gUnk_08102C64:: @ 08102C64 - .incbin "baserom.gba", 0x102C64, 0x0000030 - -gUnk_08102C94:: @ 08102C94 - .incbin "baserom.gba", 0x102C94, 0x0000030 - -gUnk_08102CC4:: @ 08102CC4 - .incbin "baserom.gba", 0x102CC4, 0x0000030 - -gUnk_08102CF4:: @ 08102CF4 - .incbin "baserom.gba", 0x102CF4, 0x0000030 - -gUnk_08102D24:: @ 08102D24 - .incbin "baserom.gba", 0x102D24, 0x0000030 - -gUnk_08102D54:: @ 08102D54 - .incbin "baserom.gba", 0x102D54, 0x0000030 - -gUnk_08102D84:: @ 08102D84 - .incbin "baserom.gba", 0x102D84, 0x0000030 - -gUnk_08102DB4:: @ 08102DB4 - .incbin "baserom.gba", 0x102DB4, 0x0000030 - -gUnk_08102DE4:: @ 08102DE4 - .incbin "baserom.gba", 0x102DE4, 0x0000030 - -gUnk_08102E14:: @ 08102E14 - .incbin "baserom.gba", 0x102E14, 0x0000030 - -gUnk_08102E44:: @ 08102E44 - .incbin "baserom.gba", 0x102E44, 0x0000030 - -gUnk_08102E74:: @ 08102E74 - .incbin "baserom.gba", 0x102E74, 0x0000030 - -gUnk_08102EA4:: @ 08102EA4 - .incbin "baserom.gba", 0x102EA4, 0x0000030 - -gUnk_08102ED4:: @ 08102ED4 - .incbin "baserom.gba", 0x102ED4, 0x0000018 - -gUnk_08102EEC:: @ 08102EEC - .incbin "baserom.gba", 0x102EEC, 0x0000025 - -gUnk_08102F11:: @ 08102F11 - .incbin "baserom.gba", 0x102F11, 0x000000B - -gUnk_08102F1C:: @ 08102F1C - .incbin "baserom.gba", 0x102F1C, 0x0000030 - -gUnk_08102F4C:: @ 08102F4C - .incbin "baserom.gba", 0x102F4C, 0x0000030 - -gUnk_08102F7C:: @ 08102F7C - .incbin "baserom.gba", 0x102F7C, 0x0000030 - -gUnk_08102FAC:: @ 08102FAC - .incbin "baserom.gba", 0x102FAC, 0x0000030 - -gUnk_08102FDC:: @ 08102FDC - .incbin "baserom.gba", 0x102FDC, 0x0000030 - -gUnk_0810300C:: @ 0810300C - .incbin "baserom.gba", 0x10300C, 0x0000030 - -gUnk_0810303C:: @ 0810303C - .incbin "baserom.gba", 0x10303C, 0x0000030 - -gUnk_0810306C:: @ 0810306C - .incbin "baserom.gba", 0x10306C, 0x0000030 - -gAreaMetatiles:: @ 0810309C - .incbin "baserom.gba", 0x10309C, 0x0000068 - -gUnk_08103104:: @ 08103104 - .incbin "baserom.gba", 0x103104, 0x000000C - -gUnk_08103110:: @ 08103110 - .incbin "baserom.gba", 0x103110, 0x00000E5 - -gUnk_081031F5:: @ 081031F5 - .incbin "baserom.gba", 0x1031F5, 0x00000E7 - -gUnk_081032DC:: @ 081032DC - .incbin "baserom.gba", 0x1032DC, 0x0000018 - -gUnk_081032F4:: @ 081032F4 - .incbin "baserom.gba", 0x1032F4, 0x0000004 - -gUnk_081032F8:: @ 081032F8 - .incbin "baserom.gba", 0x1032F8, 0x0000018 - -gUnk_08103310:: @ 08103310 - .incbin "baserom.gba", 0x103310, 0x0000018 - -gUnk_08103328:: @ 08103328 - .incbin "baserom.gba", 0x103328, 0x0000008 - -gUnk_08103330:: @ 08103330 - .incbin "baserom.gba", 0x103330, 0x0000018 - -gUnk_08103348:: @ 08103348 - .incbin "baserom.gba", 0x103348, 0x0000004 - -gUnk_0810334C:: @ 0810334C - .incbin "baserom.gba", 0x10334C, 0x0000018 - -gUnk_08103364:: @ 08103364 - .incbin "baserom.gba", 0x103364, 0x0000016 - -gUnk_0810337A:: @ 0810337A - .incbin "baserom.gba", 0x10337A, 0x0000002 - -gUnk_0810337C:: @ 0810337C - .incbin "baserom.gba", 0x10337C, 0x0000018 - -gUnk_08103394:: @ 08103394 - .incbin "baserom.gba", 0x103394, 0x0000018 - -gUnk_081033AC:: @ 081033AC - .incbin "baserom.gba", 0x1033AC, 0x0000018 - -gUnk_081033C4:: @ 081033C4 - .incbin "baserom.gba", 0x1033C4, 0x0000018 - -gUnk_081033DC:: @ 081033DC - .incbin "baserom.gba", 0x1033DC, 0x0000018 - -gUnk_081033F4:: @ 081033F4 - .incbin "baserom.gba", 0x1033F4, 0x0000018 - -gUnk_0810340C:: @ 0810340C - .incbin "baserom.gba", 0x10340C, 0x0000004 - -gUnk_08103410:: @ 08103410 - .incbin "baserom.gba", 0x103410, 0x0000018 - -gUnk_08103428:: @ 08103428 - .incbin "baserom.gba", 0x103428, 0x0000004 - -gUnk_0810342C:: @ 0810342C - .incbin "baserom.gba", 0x10342C, 0x0000017 - -gUnk_08103443:: @ 08103443 - .incbin "baserom.gba", 0x103443, 0x0000001 - -gUnk_08103444:: @ 08103444 - .incbin "baserom.gba", 0x103444, 0x0000018 - -gUnk_0810345C:: @ 0810345C - .incbin "baserom.gba", 0x10345C, 0x0000018 - -gUnk_08103474:: @ 08103474 - .incbin "baserom.gba", 0x103474, 0x0000018 - -gUnk_0810348C:: @ 0810348C - .incbin "baserom.gba", 0x10348C, 0x0000018 - -gUnk_081034A4:: @ 081034A4 - .incbin "baserom.gba", 0x1034A4, 0x0000014 - -gUnk_081034B8:: @ 081034B8 - .incbin "baserom.gba", 0x1034B8, 0x0000018 - -gUnk_081034D0:: @ 081034D0 - .incbin "baserom.gba", 0x1034D0, 0x000003C - -gUnk_0810350C:: @ 0810350C - .incbin "baserom.gba", 0x10350C, 0x0000018 - -gUnk_08103524:: @ 08103524 - .incbin "baserom.gba", 0x103524, 0x0000031 - -gUnk_08103555:: @ 08103555 - .incbin "baserom.gba", 0x103555, 0x000000B - -gUnk_08103560:: @ 08103560 - .incbin "baserom.gba", 0x103560, 0x000003C - -gUnk_0810359C:: @ 0810359C - .incbin "baserom.gba", 0x10359C, 0x000003C - -gUnk_081035D8:: @ 081035D8 - .incbin "baserom.gba", 0x1035D8, 0x000003C - -gUnk_08103614:: @ 08103614 - .incbin "baserom.gba", 0x103614, 0x000003C - -gUnk_08103650:: @ 08103650 - .incbin "baserom.gba", 0x103650, 0x0000018 - -gUnk_08103668:: @ 08103668 - .incbin "baserom.gba", 0x103668, 0x0000018 - -gUnk_08103680:: @ 08103680 - .incbin "baserom.gba", 0x103680, 0x0000028 - -gUnk_081036A8:: @ 081036A8 - .incbin "baserom.gba", 0x1036A8, 0x0000018 - -gUnk_081036C0:: @ 081036C0 - .incbin "baserom.gba", 0x1036C0, 0x0000004 - -gUnk_081036C4:: @ 081036C4 - .incbin "baserom.gba", 0x1036C4, 0x0000018 - -gUnk_081036DC:: @ 081036DC - .incbin "baserom.gba", 0x1036DC, 0x0000018 - -gUnk_081036F4:: @ 081036F4 - .incbin "baserom.gba", 0x1036F4, 0x0000018 - -gUnk_0810370C:: @ 0810370C - .incbin "baserom.gba", 0x10370C, 0x000000C - -gUnk_08103718:: @ 08103718 - .incbin "baserom.gba", 0x103718, 0x0000018 - -gUnk_08103730:: @ 08103730 - .incbin "baserom.gba", 0x103730, 0x0000003 - -gUnk_08103733:: @ 08103733 - .incbin "baserom.gba", 0x103733, 0x0000015 - -gUnk_08103748:: @ 08103748 - .incbin "baserom.gba", 0x103748, 0x0000008 - -gUnk_08103750:: @ 08103750 - .incbin "baserom.gba", 0x103750, 0x0000015 - -gUnk_08103765:: @ 08103765 - .incbin "baserom.gba", 0x103765, 0x0000003 - -gUnk_08103768:: @ 08103768 - .incbin "baserom.gba", 0x103768, 0x0000004 - -gUnk_0810376C:: @ 0810376C - .incbin "baserom.gba", 0x10376C, 0x0000018 - -gUnk_08103784:: @ 08103784 - .incbin "baserom.gba", 0x103784, 0x0000004 - -gUnk_08103788:: @ 08103788 - .incbin "baserom.gba", 0x103788, 0x000000C - -gUnk_08103794:: @ 08103794 - .incbin "baserom.gba", 0x103794, 0x000000C - -gUnk_081037A0:: @ 081037A0 - .incbin "baserom.gba", 0x1037A0, 0x000000C - -gUnk_081037AC:: @ 081037AC - .incbin "baserom.gba", 0x1037AC, 0x000000C - -gUnk_081037B8:: @ 081037B8 - .incbin "baserom.gba", 0x1037B8, 0x000000C - -gUnk_081037C4:: @ 081037C4 - .incbin "baserom.gba", 0x1037C4, 0x0000018 - -gUnk_081037DC:: @ 081037DC - .incbin "baserom.gba", 0x1037DC, 0x0000080 - -gUnk_0810385C:: @ 0810385C - .incbin "baserom.gba", 0x10385C, 0x0000018 - -gUnk_08103874:: @ 08103874 - .incbin "baserom.gba", 0x103874, 0x0000018 - -gUnk_0810388C:: @ 0810388C - .incbin "baserom.gba", 0x10388C, 0x0000018 - -gUnk_081038A4:: @ 081038A4 - .incbin "baserom.gba", 0x1038A4, 0x0000018 - -gUnk_081038BC:: @ 081038BC - .incbin "baserom.gba", 0x1038BC, 0x0000018 - -gUnk_081038D4:: @ 081038D4 - .incbin "baserom.gba", 0x1038D4, 0x0000018 - -gUnk_081038EC:: @ 081038EC - .incbin "baserom.gba", 0x1038EC, 0x0000018 - -gUnk_08103904:: @ 08103904 - .incbin "baserom.gba", 0x103904, 0x000000C - -gUnk_08103910:: @ 08103910 - .incbin "baserom.gba", 0x103910, 0x000000C - -gUnk_0810391C:: @ 0810391C - .incbin "baserom.gba", 0x10391C, 0x0000018 - -gUnk_08103934:: @ 08103934 - .incbin "baserom.gba", 0x103934, 0x0000018 - -gUnk_0810394C:: @ 0810394C - .incbin "baserom.gba", 0x10394C, 0x0000018 - -gUnk_08103964:: @ 08103964 - .incbin "baserom.gba", 0x103964, 0x0000018 - -gUnk_0810397C:: @ 0810397C - .incbin "baserom.gba", 0x10397C, 0x0000018 - -gUnk_08103994:: @ 08103994 - .incbin "baserom.gba", 0x103994, 0x0000018 - -gUnk_081039AC:: @ 081039AC - .incbin "baserom.gba", 0x1039AC, 0x0000018 - -gUnk_081039C4:: @ 081039C4 - .incbin "baserom.gba", 0x1039C4, 0x0000018 - -gUnk_081039DC:: @ 081039DC - .incbin "baserom.gba", 0x1039DC, 0x0000018 - -gUnk_081039F4:: @ 081039F4 - .incbin "baserom.gba", 0x1039F4, 0x000000C - -gUnk_08103A00:: @ 08103A00 - .incbin "baserom.gba", 0x103A00, 0x0000010 - -gUnk_08103A10:: @ 08103A10 - .incbin "baserom.gba", 0x103A10, 0x0000028 - -gUnk_08103A38:: @ 08103A38 - .incbin "baserom.gba", 0x103A38, 0x0000018 - -gUnk_08103A50:: @ 08103A50 - .incbin "baserom.gba", 0x103A50, 0x0000018 - -gUnk_08103A68:: @ 08103A68 - .incbin "baserom.gba", 0x103A68, 0x0000018 - -gUnk_08103A80:: @ 08103A80 - .incbin "baserom.gba", 0x103A80, 0x0000020 - -gUnk_08103AA0:: @ 08103AA0 - .incbin "baserom.gba", 0x103AA0, 0x0000018 - -gUnk_08103AB8:: @ 08103AB8 - .incbin "baserom.gba", 0x103AB8, 0x0000004 - -gUnk_08103ABC:: @ 08103ABC - .incbin "baserom.gba", 0x103ABC, 0x0000018 - -gUnk_08103AD4:: @ 08103AD4 - .incbin "baserom.gba", 0x103AD4, 0x0000004 - -gUnk_08103AD8:: @ 08103AD8 - .incbin "baserom.gba", 0x103AD8, 0x0000018 - -gUnk_08103AF0:: @ 08103AF0 - .incbin "baserom.gba", 0x103AF0, 0x0000018 - -gUnk_08103B08:: @ 08103B08 - .incbin "baserom.gba", 0x103B08, 0x0000008 - -gUnk_08103B10:: @ 08103B10 - .incbin "baserom.gba", 0x103B10, 0x0000008 - -gUnk_08103B18:: @ 08103B18 - .incbin "baserom.gba", 0x103B18, 0x0000018 - -gUnk_08103B30:: @ 08103B30 - .incbin "baserom.gba", 0x103B30, 0x0000004 - -gUnk_08103B34:: @ 08103B34 - .incbin "baserom.gba", 0x103B34, 0x0000018 - -gUnk_08103B4C:: @ 08103B4C - .incbin "baserom.gba", 0x103B4C, 0x0000004 - -gUnk_08103B50:: @ 08103B50 - .incbin "baserom.gba", 0x103B50, 0x0000018 - -gUnk_08103B68:: @ 08103B68 - .incbin "baserom.gba", 0x103B68, 0x0000004 - -gUnk_08103B6C:: @ 08103B6C - .incbin "baserom.gba", 0x103B6C, 0x0000018 - -gUnk_08103B84:: @ 08103B84 - .incbin "baserom.gba", 0x103B84, 0x0000018 - -gUnk_08103B9C:: @ 08103B9C - .incbin "baserom.gba", 0x103B9C, 0x0000018 - -gUnk_08103BB4:: @ 08103BB4 - .incbin "baserom.gba", 0x103BB4, 0x0000018 - -gUnk_08103BCC:: @ 08103BCC - .incbin "baserom.gba", 0x103BCC, 0x0000018 - -gUnk_08103BE4:: @ 08103BE4 - .incbin "baserom.gba", 0x103BE4, 0x0000014 - -gUnk_08103BF8:: @ 08103BF8 - .incbin "baserom.gba", 0x103BF8, 0x0000009 - -gUnk_08103C01:: @ 08103C01 - .incbin "baserom.gba", 0x103C01, 0x000000F - -gUnk_08103C10:: @ 08103C10 - .incbin "baserom.gba", 0x103C10, 0x0000018 - -gUnk_08103C28:: @ 08103C28 - .incbin "baserom.gba", 0x103C28, 0x0000008 - -gUnk_08103C30:: @ 08103C30 - .incbin "baserom.gba", 0x103C30, 0x0000018 - -gUnk_08103C48:: @ 08103C48 - .incbin "baserom.gba", 0x103C48, 0x0000008 - -gUnk_08103C50:: @ 08103C50 - .incbin "baserom.gba", 0x103C50, 0x0000018 - -gUnk_08103C68:: @ 08103C68 - .incbin "baserom.gba", 0x103C68, 0x0000018 - -gUnk_08103C80:: @ 08103C80 - .incbin "baserom.gba", 0x103C80, 0x0000008 - -gUnk_08103C88:: @ 08103C88 - .incbin "baserom.gba", 0x103C88, 0x0000018 - -gUnk_08103CA0:: @ 08103CA0 - .incbin "baserom.gba", 0x103CA0, 0x0000004 - -gUnk_08103CA4:: @ 08103CA4 - .incbin "baserom.gba", 0x103CA4, 0x000000C - -gUnk_08103CB0:: @ 08103CB0 - .incbin "baserom.gba", 0x103CB0, 0x000000C - -gUnk_08103CBC:: @ 08103CBC - .incbin "baserom.gba", 0x103CBC, 0x000000C - -gUnk_08103CC8:: @ 08103CC8 - .incbin "baserom.gba", 0x103CC8, 0x000000C - -gUnk_08103CD4:: @ 08103CD4 - .incbin "baserom.gba", 0x103CD4, 0x000000C - -gUnk_08103CE0:: @ 08103CE0 - .incbin "baserom.gba", 0x103CE0, 0x0000014 - -gUnk_08103CF4:: @ 08103CF4 - .incbin "baserom.gba", 0x103CF4, 0x000000C - -gUnk_08103D00:: @ 08103D00 - .incbin "baserom.gba", 0x103D00, 0x000000C - -gUnk_08103D0C:: @ 08103D0C - .incbin "baserom.gba", 0x103D0C, 0x000000C - -gUnk_08103D18:: @ 08103D18 - .incbin "baserom.gba", 0x103D18, 0x000000C - -gUnk_08103D24:: @ 08103D24 - .incbin "baserom.gba", 0x103D24, 0x0000010 - -gUnk_08103D34:: @ 08103D34 - .incbin "baserom.gba", 0x103D34, 0x0000024 - -gUnk_08103D58:: @ 08103D58 - .incbin "baserom.gba", 0x103D58, 0x0000024 - -gUnk_08103D7C:: @ 08103D7C - .incbin "baserom.gba", 0x103D7C, 0x0000024 - -gUnk_08103DA0:: @ 08103DA0 - .incbin "baserom.gba", 0x103DA0, 0x0000024 - -gUnk_08103DC4:: @ 08103DC4 - .incbin "baserom.gba", 0x103DC4, 0x0000024 - -gUnk_08103DE8:: @ 08103DE8 - .incbin "baserom.gba", 0x103DE8, 0x0000024 - -gUnk_08103E0C:: @ 08103E0C - .incbin "baserom.gba", 0x103E0C, 0x0000024 - -gUnk_08103E30:: @ 08103E30 - .incbin "baserom.gba", 0x103E30, 0x0000024 - -gUnk_08103E54:: @ 08103E54 - .incbin "baserom.gba", 0x103E54, 0x0000024 - -gUnk_08103E78:: @ 08103E78 - .incbin "baserom.gba", 0x103E78, 0x0000024 - -gUnk_08103E9C:: @ 08103E9C - .incbin "baserom.gba", 0x103E9C, 0x0000024 - -gUnk_08103EC0:: @ 08103EC0 - .incbin "baserom.gba", 0x103EC0, 0x0000024 - -gUnk_08103EE4:: @ 08103EE4 - .incbin "baserom.gba", 0x103EE4, 0x0000024 - -gUnk_08103F08:: @ 08103F08 - .incbin "baserom.gba", 0x103F08, 0x0000024 - -gUnk_08103F2C:: @ 08103F2C - .incbin "baserom.gba", 0x103F2C, 0x0000024 - -gUnk_08103F50:: @ 08103F50 - .incbin "baserom.gba", 0x103F50, 0x0000024 - -gUnk_08103F74:: @ 08103F74 - .incbin "baserom.gba", 0x103F74, 0x0000024 - -gUnk_08103F98:: @ 08103F98 - .incbin "baserom.gba", 0x103F98, 0x0000024 - -gUnk_08103FBC:: @ 08103FBC - .incbin "baserom.gba", 0x103FBC, 0x0000024 - -gUnk_08103FE0:: @ 08103FE0 - .incbin "baserom.gba", 0x103FE0, 0x0000024 - -gUnk_08104004:: @ 08104004 - .incbin "baserom.gba", 0x104004, 0x000001C - -gUnk_08104020:: @ 08104020 - .incbin "baserom.gba", 0x104020, 0x0000008 - -gUnk_08104028:: @ 08104028 - .incbin "baserom.gba", 0x104028, 0x00000A0 - -gUnk_081040C8:: @ 081040C8 - .incbin "baserom.gba", 0x1040C8, 0x0000024 - -gUnk_081040EC:: @ 081040EC - .incbin "baserom.gba", 0x1040EC, 0x0000024 - -gUnk_08104110:: @ 08104110 - .incbin "baserom.gba", 0x104110, 0x0000024 - -gUnk_08104134:: @ 08104134 - .incbin "baserom.gba", 0x104134, 0x0000024 - -gUnk_08104158:: @ 08104158 - .incbin "baserom.gba", 0x104158, 0x0000024 - -gUnk_0810417C:: @ 0810417C - .incbin "baserom.gba", 0x10417C, 0x0000024 - -gUnk_081041A0:: @ 081041A0 - .incbin "baserom.gba", 0x1041A0, 0x0000024 - -gUnk_081041C4:: @ 081041C4 - .incbin "baserom.gba", 0x1041C4, 0x0000024 - -gUnk_081041E8:: @ 081041E8 - .incbin "baserom.gba", 0x1041E8, 0x0000018 - -gUnk_08104200:: @ 08104200 - .incbin "baserom.gba", 0x104200, 0x000000C - -gUnk_0810420C:: @ 0810420C - .incbin "baserom.gba", 0x10420C, 0x0000004 - -gUnk_08104210:: @ 08104210 - .incbin "baserom.gba", 0x104210, 0x00000BC - -gUnk_081042CC:: @ 081042CC - .incbin "baserom.gba", 0x1042CC, 0x0000018 - -gUnk_081042E4:: @ 081042E4 - .incbin "baserom.gba", 0x1042E4, 0x0000018 - -gUnk_081042FC:: @ 081042FC - .incbin "baserom.gba", 0x1042FC, 0x0000014 - -gUnk_08104310:: @ 08104310 - .incbin "baserom.gba", 0x104310, 0x0000004 - -gUnk_08104314:: @ 08104314 - .incbin "baserom.gba", 0x104314, 0x000000D - -gUnk_08104321:: @ 08104321 - .incbin "baserom.gba", 0x104321, 0x000000B - -gUnk_0810432C:: @ 0810432C - .incbin "baserom.gba", 0x10432C, 0x0000018 - -gUnk_08104344:: @ 08104344 - .incbin "baserom.gba", 0x104344, 0x0000018 - -gUnk_0810435C:: @ 0810435C - .incbin "baserom.gba", 0x10435C, 0x0000018 - -gUnk_08104374:: @ 08104374 - .incbin "baserom.gba", 0x104374, 0x0000018 - -gUnk_0810438C:: @ 0810438C - .incbin "baserom.gba", 0x10438C, 0x0000018 - -gUnk_081043A4:: @ 081043A4 - .incbin "baserom.gba", 0x1043A4, 0x0000018 - -gUnk_081043BC:: @ 081043BC - .incbin "baserom.gba", 0x1043BC, 0x0000018 - -gUnk_081043D4:: @ 081043D4 - .incbin "baserom.gba", 0x1043D4, 0x0000018 - -gUnk_081043EC:: @ 081043EC - .incbin "baserom.gba", 0x1043EC, 0x0000018 - -gUnk_08104404:: @ 08104404 - .incbin "baserom.gba", 0x104404, 0x0000040 - -gUnk_08104444:: @ 08104444 - .incbin "baserom.gba", 0x104444, 0x0000018 - -gUnk_0810445C:: @ 0810445C - .incbin "baserom.gba", 0x10445C, 0x0000018 - -gUnk_08104474:: @ 08104474 - .incbin "baserom.gba", 0x104474, 0x0000018 - -gUnk_0810448C:: @ 0810448C - .incbin "baserom.gba", 0x10448C, 0x0000018 - -gUnk_081044A4:: @ 081044A4 - .incbin "baserom.gba", 0x1044A4, 0x0000018 - -gUnk_081044BC:: @ 081044BC - .incbin "baserom.gba", 0x1044BC, 0x0000018 - -gUnk_081044D4:: @ 081044D4 - .incbin "baserom.gba", 0x1044D4, 0x0000018 - -gUnk_081044EC:: @ 081044EC - .incbin "baserom.gba", 0x1044EC, 0x0000018 - -gUnk_08104504:: @ 08104504 - .incbin "baserom.gba", 0x104504, 0x0000018 - -gUnk_0810451C:: @ 0810451C - .incbin "baserom.gba", 0x10451C, 0x0000018 - -gUnk_08104534:: @ 08104534 - .incbin "baserom.gba", 0x104534, 0x0000018 - -gUnk_0810454C:: @ 0810454C - .incbin "baserom.gba", 0x10454C, 0x0000018 - -gUnk_08104564:: @ 08104564 - .incbin "baserom.gba", 0x104564, 0x0000018 - -gUnk_0810457C:: @ 0810457C - .incbin "baserom.gba", 0x10457C, 0x0000018 - -gUnk_08104594:: @ 08104594 - .incbin "baserom.gba", 0x104594, 0x0000018 - -gUnk_081045AC:: @ 081045AC - .incbin "baserom.gba", 0x1045AC, 0x0000018 - -gUnk_081045C4:: @ 081045C4 - .incbin "baserom.gba", 0x1045C4, 0x0000018 - -gUnk_081045DC:: @ 081045DC - .incbin "baserom.gba", 0x1045DC, 0x0000018 - -gUnk_081045F4:: @ 081045F4 - .incbin "baserom.gba", 0x1045F4, 0x0000018 - -gUnk_0810460C:: @ 0810460C - .incbin "baserom.gba", 0x10460C, 0x00000C0 - -gUnk_081046CC:: @ 081046CC - .incbin "baserom.gba", 0x1046CC, 0x0000018 - -gUnk_081046E4:: @ 081046E4 - .incbin "baserom.gba", 0x1046E4, 0x0000018 - -gUnk_081046FC:: @ 081046FC - .incbin "baserom.gba", 0x1046FC, 0x0000018 - -gUnk_08104714:: @ 08104714 - .incbin "baserom.gba", 0x104714, 0x0000018 - -gUnk_0810472C:: @ 0810472C - .incbin "baserom.gba", 0x10472C, 0x0000018 - -gUnk_08104744:: @ 08104744 - .incbin "baserom.gba", 0x104744, 0x0000018 - -gUnk_0810475C:: @ 0810475C - .incbin "baserom.gba", 0x10475C, 0x0000040 - -gUnk_0810479C:: @ 0810479C - .incbin "baserom.gba", 0x10479C, 0x0000018 - -gUnk_081047B4:: @ 081047B4 - .incbin "baserom.gba", 0x1047B4, 0x0000018 - -gUnk_081047CC:: @ 081047CC - .incbin "baserom.gba", 0x1047CC, 0x0000018 - -gUnk_081047E4:: @ 081047E4 - .incbin "baserom.gba", 0x1047E4, 0x0000018 - -gUnk_081047FC:: @ 081047FC - .incbin "baserom.gba", 0x1047FC, 0x0000018 - -gUnk_08104814:: @ 08104814 - .incbin "baserom.gba", 0x104814, 0x0000018 - -gUnk_0810482C:: @ 0810482C - .incbin "baserom.gba", 0x10482C, 0x0000018 - -gUnk_08104844:: @ 08104844 - .incbin "baserom.gba", 0x104844, 0x0000018 - -gUnk_0810485C:: @ 0810485C - .incbin "baserom.gba", 0x10485C, 0x0000018 - -gUnk_08104874:: @ 08104874 - .incbin "baserom.gba", 0x104874, 0x0000024 - -gUnk_08104898:: @ 08104898 - .incbin "baserom.gba", 0x104898, 0x0000018 - -gUnk_081048B0:: @ 081048B0 - .incbin "baserom.gba", 0x1048B0, 0x0000018 - -gUnk_081048C8:: @ 081048C8 - .incbin "baserom.gba", 0x1048C8, 0x0000018 - -gUnk_081048E0:: @ 081048E0 - .incbin "baserom.gba", 0x1048E0, 0x0000018 - -gUnk_081048F8:: @ 081048F8 - .incbin "baserom.gba", 0x1048F8, 0x0000018 - -gUnk_08104910:: @ 08104910 - .incbin "baserom.gba", 0x104910, 0x0000018 - -gUnk_08104928:: @ 08104928 - .incbin "baserom.gba", 0x104928, 0x000000A - -gUnk_08104932:: @ 08104932 - .incbin "baserom.gba", 0x104932, 0x000000E - -gUnk_08104940:: @ 08104940 - .incbin "baserom.gba", 0x104940, 0x0000018 - -gUnk_08104958:: @ 08104958 - .incbin "baserom.gba", 0x104958, 0x0000018 - -gUnk_08104970:: @ 08104970 - .incbin "baserom.gba", 0x104970, 0x0000018 - -gUnk_08104988:: @ 08104988 - .incbin "baserom.gba", 0x104988, 0x0000018 - -gUnk_081049A0:: @ 081049A0 - .incbin "baserom.gba", 0x1049A0, 0x0000018 - -gUnk_081049B8:: @ 081049B8 - .incbin "baserom.gba", 0x1049B8, 0x0000018 - -gUnk_081049D0:: @ 081049D0 - .incbin "baserom.gba", 0x1049D0, 0x0000018 - -gUnk_081049E8:: @ 081049E8 - .incbin "baserom.gba", 0x1049E8, 0x0000018 - -gUnk_08104A00:: @ 08104A00 - .incbin "baserom.gba", 0x104A00, 0x0000010 - -gUnk_08104A10:: @ 08104A10 - .incbin "baserom.gba", 0x104A10, 0x0000008 - -gUnk_08104A18:: @ 08104A18 - .incbin "baserom.gba", 0x104A18, 0x000000D - -gUnk_08104A25:: @ 08104A25 - .incbin "baserom.gba", 0x104A25, 0x000000B - -gUnk_08104A30:: @ 08104A30 - .incbin "baserom.gba", 0x104A30, 0x0000080 - -gUnk_08104AB0:: @ 08104AB0 - .incbin "baserom.gba", 0x104AB0, 0x0000018 - -gUnk_08104AC8:: @ 08104AC8 - .incbin "baserom.gba", 0x104AC8, 0x0000018 - -gUnk_08104AE0:: @ 08104AE0 - .incbin "baserom.gba", 0x104AE0, 0x0000018 - -gUnk_08104AF8:: @ 08104AF8 - .incbin "baserom.gba", 0x104AF8, 0x000000B - -gUnk_08104B03:: @ 08104B03 - .incbin "baserom.gba", 0x104B03, 0x000000D - -gUnk_08104B10:: @ 08104B10 - .incbin "baserom.gba", 0x104B10, 0x0000018 - -gUnk_08104B28:: @ 08104B28 - .incbin "baserom.gba", 0x104B28, 0x0000018 - -gUnk_08104B40:: @ 08104B40 - .incbin "baserom.gba", 0x104B40, 0x0000018 - -gUnk_08104B58:: @ 08104B58 - .incbin "baserom.gba", 0x104B58, 0x0000018 - -gUnk_08104B70:: @ 08104B70 - .incbin "baserom.gba", 0x104B70, 0x0000018 - -gUnk_08104B88:: @ 08104B88 - .incbin "baserom.gba", 0x104B88, 0x0000018 - -gUnk_08104BA0:: @ 08104BA0 - .incbin "baserom.gba", 0x104BA0, 0x0000018 - -gUnk_08104BB8:: @ 08104BB8 - .incbin "baserom.gba", 0x104BB8, 0x0000018 - -gUnk_08104BD0:: @ 08104BD0 - .incbin "baserom.gba", 0x104BD0, 0x0000018 - -gUnk_08104BE8:: @ 08104BE8 - .incbin "baserom.gba", 0x104BE8, 0x0000018 - -gUnk_08104C00:: @ 08104C00 - .incbin "baserom.gba", 0x104C00, 0x0000040 - -gUnk_08104C40:: @ 08104C40 - .incbin "baserom.gba", 0x104C40, 0x0000018 - -gUnk_08104C58:: @ 08104C58 - .incbin "baserom.gba", 0x104C58, 0x0000018 - -gUnk_08104C70:: @ 08104C70 - .incbin "baserom.gba", 0x104C70, 0x0000018 - -gUnk_08104C88:: @ 08104C88 - .incbin "baserom.gba", 0x104C88, 0x0000018 - -gUnk_08104CA0:: @ 08104CA0 - .incbin "baserom.gba", 0x104CA0, 0x0000018 - -gUnk_08104CB8:: @ 08104CB8 - .incbin "baserom.gba", 0x104CB8, 0x0000018 - -gUnk_08104CD0:: @ 08104CD0 - .incbin "baserom.gba", 0x104CD0, 0x0000018 - -gUnk_08104CE8:: @ 08104CE8 - .incbin "baserom.gba", 0x104CE8, 0x0000018 - -gUnk_08104D00:: @ 08104D00 - .incbin "baserom.gba", 0x104D00, 0x0000018 - -gUnk_08104D18:: @ 08104D18 - .incbin "baserom.gba", 0x104D18, 0x0000018 - -gUnk_08104D30:: @ 08104D30 - .incbin "baserom.gba", 0x104D30, 0x0000018 - -gUnk_08104D48:: @ 08104D48 - .incbin "baserom.gba", 0x104D48, 0x0000018 - -gUnk_08104D60:: @ 08104D60 - .incbin "baserom.gba", 0x104D60, 0x0000018 - -gUnk_08104D78:: @ 08104D78 - .incbin "baserom.gba", 0x104D78, 0x0000018 - -gUnk_08104D90:: @ 08104D90 - .incbin "baserom.gba", 0x104D90, 0x0000018 - -gUnk_08104DA8:: @ 08104DA8 - .incbin "baserom.gba", 0x104DA8, 0x0000018 - -gUnk_08104DC0:: @ 08104DC0 - .incbin "baserom.gba", 0x104DC0, 0x0000018 - -gUnk_08104DD8:: @ 08104DD8 - .incbin "baserom.gba", 0x104DD8, 0x0000018 - -gUnk_08104DF0:: @ 08104DF0 - .incbin "baserom.gba", 0x104DF0, 0x0000048 - -gUnk_08104E38:: @ 08104E38 - .incbin "baserom.gba", 0x104E38, 0x0000018 - -gUnk_08104E50:: @ 08104E50 - .incbin "baserom.gba", 0x104E50, 0x0000018 - -gUnk_08104E68:: @ 08104E68 - .incbin "baserom.gba", 0x104E68, 0x0000018 - -gUnk_08104E80:: @ 08104E80 - .incbin "baserom.gba", 0x104E80, 0x0000018 - -gUnk_08104E98:: @ 08104E98 - .incbin "baserom.gba", 0x104E98, 0x0000018 - -gUnk_08104EB0:: @ 08104EB0 - .incbin "baserom.gba", 0x104EB0, 0x0000018 - -gUnk_08104EC8:: @ 08104EC8 - .incbin "baserom.gba", 0x104EC8, 0x0000018 - -gUnk_08104EE0:: @ 08104EE0 - .incbin "baserom.gba", 0x104EE0, 0x0000018 - -gUnk_08104EF8:: @ 08104EF8 - .incbin "baserom.gba", 0x104EF8, 0x0000018 - -gUnk_08104F10:: @ 08104F10 - .incbin "baserom.gba", 0x104F10, 0x0000018 - -gUnk_08104F28:: @ 08104F28 - .incbin "baserom.gba", 0x104F28, 0x0000018 - -gUnk_08104F40:: @ 08104F40 - .incbin "baserom.gba", 0x104F40, 0x000002C - -gUnk_08104F6C:: @ 08104F6C - .incbin "baserom.gba", 0x104F6C, 0x000000C - -gUnk_08104F78:: @ 08104F78 - .incbin "baserom.gba", 0x104F78, 0x000000C - -gUnk_08104F84:: @ 08104F84 - .incbin "baserom.gba", 0x104F84, 0x000000C - -gUnk_08104F90:: @ 08104F90 - .incbin "baserom.gba", 0x104F90, 0x000000C - -gUnk_08104F9C:: @ 08104F9C - .incbin "baserom.gba", 0x104F9C, 0x0000010 - -gUnk_08104FAC:: @ 08104FAC - .incbin "baserom.gba", 0x104FAC, 0x0000018 - -gUnk_08104FC4:: @ 08104FC4 - .incbin "baserom.gba", 0x104FC4, 0x0000018 - -gUnk_08104FDC:: @ 08104FDC - .incbin "baserom.gba", 0x104FDC, 0x0000008 - -gUnk_08104FE4:: @ 08104FE4 - .incbin "baserom.gba", 0x104FE4, 0x0000018 - -gUnk_08104FFC:: @ 08104FFC - .incbin "baserom.gba", 0x104FFC, 0x0000018 - -gUnk_08105014:: @ 08105014 - .incbin "baserom.gba", 0x105014, 0x0000018 - -gUnk_0810502C:: @ 0810502C - .incbin "baserom.gba", 0x10502C, 0x0000018 - -gUnk_08105044:: @ 08105044 - .incbin "baserom.gba", 0x105044, 0x0000010 - -gUnk_08105054:: @ 08105054 - .incbin "baserom.gba", 0x105054, 0x0000018 - -gUnk_0810506C:: @ 0810506C - .incbin "baserom.gba", 0x10506C, 0x0000004 - -gUnk_08105070:: @ 08105070 - .incbin "baserom.gba", 0x105070, 0x0000018 - -gUnk_08105088:: @ 08105088 - .incbin "baserom.gba", 0x105088, 0x0000018 - -gUnk_081050A0:: @ 081050A0 - .incbin "baserom.gba", 0x1050A0, 0x0000018 - -gUnk_081050B8:: @ 081050B8 - .incbin "baserom.gba", 0x1050B8, 0x0000018 - -gUnk_081050D0:: @ 081050D0 - .incbin "baserom.gba", 0x1050D0, 0x0000018 - -gUnk_081050E8:: @ 081050E8 - .incbin "baserom.gba", 0x1050E8, 0x0000018 - -gUnk_08105100:: @ 08105100 - .incbin "baserom.gba", 0x105100, 0x0000018 - -gUnk_08105118:: @ 08105118 - .incbin "baserom.gba", 0x105118, 0x0000018 - -gUnk_08105130:: @ 08105130 - .incbin "baserom.gba", 0x105130, 0x0000010 - -gUnk_08105140:: @ 08105140 - .incbin "baserom.gba", 0x105140, 0x0000008 - -gUnk_08105148:: @ 08105148 - .incbin "baserom.gba", 0x105148, 0x0000018 - -gUnk_08105160:: @ 08105160 - .incbin "baserom.gba", 0x105160, 0x0000028 - -gUnk_08105188:: @ 08105188 - .incbin "baserom.gba", 0x105188, 0x0000018 - -gUnk_081051A0:: @ 081051A0 - .incbin "baserom.gba", 0x1051A0, 0x0000018 - -gUnk_081051B8:: @ 081051B8 - .incbin "baserom.gba", 0x1051B8, 0x0000008 - -gUnk_081051C0:: @ 081051C0 - .incbin "baserom.gba", 0x1051C0, 0x0000018 - -gUnk_081051D8:: @ 081051D8 - .incbin "baserom.gba", 0x1051D8, 0x0000018 - -gUnk_081051F0:: @ 081051F0 - .incbin "baserom.gba", 0x1051F0, 0x0000008 - -gUnk_081051F8:: @ 081051F8 - .incbin "baserom.gba", 0x1051F8, 0x000000E - -gUnk_08105206:: @ 08105206 - .incbin "baserom.gba", 0x105206, 0x000000A - -gUnk_08105210:: @ 08105210 - .incbin "baserom.gba", 0x105210, 0x0000004 - -gUnk_08105214:: @ 08105214 - .incbin "baserom.gba", 0x105214, 0x0000018 - -gUnk_0810522C:: @ 0810522C - .incbin "baserom.gba", 0x10522C, 0x0000018 - -gUnk_08105244:: @ 08105244 - .incbin "baserom.gba", 0x105244, 0x0000008 - -gUnk_0810524C:: @ 0810524C - .incbin "baserom.gba", 0x10524C, 0x0000018 - -gUnk_08105264:: @ 08105264 - .incbin "baserom.gba", 0x105264, 0x0000018 - -gUnk_0810527C:: @ 0810527C - .incbin "baserom.gba", 0x10527C, 0x0000008 - -gUnk_08105284:: @ 08105284 - .incbin "baserom.gba", 0x105284, 0x0000018 - -gUnk_0810529C:: @ 0810529C - .incbin "baserom.gba", 0x10529C, 0x0000018 - -gUnk_081052B4:: @ 081052B4 - .incbin "baserom.gba", 0x1052B4, 0x0000008 - -gUnk_081052BC:: @ 081052BC - .incbin "baserom.gba", 0x1052BC, 0x0000018 - -gUnk_081052D4:: @ 081052D4 - .incbin "baserom.gba", 0x1052D4, 0x0000004 - -gUnk_081052D8:: @ 081052D8 - .incbin "baserom.gba", 0x1052D8, 0x0000018 - -gUnk_081052F0:: @ 081052F0 - .incbin "baserom.gba", 0x1052F0, 0x0000018 - -gUnk_08105308:: @ 08105308 - .incbin "baserom.gba", 0x105308, 0x0000018 - -gUnk_08105320:: @ 08105320 - .incbin "baserom.gba", 0x105320, 0x0000018 - -gUnk_08105338:: @ 08105338 - .incbin "baserom.gba", 0x105338, 0x0000018 - -gUnk_08105350:: @ 08105350 - .incbin "baserom.gba", 0x105350, 0x0000018 - -gUnk_08105368:: @ 08105368 - .incbin "baserom.gba", 0x105368, 0x0000018 - -gUnk_08105380:: @ 08105380 - .incbin "baserom.gba", 0x105380, 0x0000018 - -gUnk_08105398:: @ 08105398 - .incbin "baserom.gba", 0x105398, 0x0000018 - -gUnk_081053B0:: @ 081053B0 - .incbin "baserom.gba", 0x1053B0, 0x0000024 - -gUnk_081053D4:: @ 081053D4 - .incbin "baserom.gba", 0x1053D4, 0x0000018 - -gUnk_081053EC:: @ 081053EC - .incbin "baserom.gba", 0x1053EC, 0x0000018 - -gUnk_08105404:: @ 08105404 - .incbin "baserom.gba", 0x105404, 0x0000018 - -gUnk_0810541C:: @ 0810541C - .incbin "baserom.gba", 0x10541C, 0x0000018 - -gUnk_08105434:: @ 08105434 - .incbin "baserom.gba", 0x105434, 0x0000018 - -gUnk_0810544C:: @ 0810544C - .incbin "baserom.gba", 0x10544C, 0x0000018 - -gUnk_08105464:: @ 08105464 - .incbin "baserom.gba", 0x105464, 0x0000018 - -gUnk_0810547C:: @ 0810547C - .incbin "baserom.gba", 0x10547C, 0x0000018 - -gUnk_08105494:: @ 08105494 - .incbin "baserom.gba", 0x105494, 0x0000018 - -gUnk_081054AC:: @ 081054AC - .incbin "baserom.gba", 0x1054AC, 0x0000018 - -gUnk_081054C4:: @ 081054C4 - .incbin "baserom.gba", 0x1054C4, 0x0000018 - -gUnk_081054DC:: @ 081054DC - .incbin "baserom.gba", 0x1054DC, 0x0000018 - -gUnk_081054F4:: @ 081054F4 - .incbin "baserom.gba", 0x1054F4, 0x0000018 - -gUnk_0810550C:: @ 0810550C - .incbin "baserom.gba", 0x10550C, 0x0000018 - -gUnk_08105524:: @ 08105524 - .incbin "baserom.gba", 0x105524, 0x0000018 - -gUnk_0810553C:: @ 0810553C - .incbin "baserom.gba", 0x10553C, 0x0000018 - -gUnk_08105554:: @ 08105554 - .incbin "baserom.gba", 0x105554, 0x0000018 - -gUnk_0810556C:: @ 0810556C - .incbin "baserom.gba", 0x10556C, 0x0000018 - -gUnk_08105584:: @ 08105584 - .incbin "baserom.gba", 0x105584, 0x0000018 - -gUnk_0810559C:: @ 0810559C - .incbin "baserom.gba", 0x10559C, 0x0000018 - -gUnk_081055B4:: @ 081055B4 - .incbin "baserom.gba", 0x1055B4, 0x0000018 - -gUnk_081055CC:: @ 081055CC - .incbin "baserom.gba", 0x1055CC, 0x0000018 - -gUnk_081055E4:: @ 081055E4 - .incbin "baserom.gba", 0x1055E4, 0x000001C - -gUnk_08105600:: @ 08105600 - .incbin "baserom.gba", 0x105600, 0x0000019 - -gUnk_08105619:: @ 08105619 - .incbin "baserom.gba", 0x105619, 0x000004F - -gUnk_08105668:: @ 08105668 - .incbin "baserom.gba", 0x105668, 0x0000004 - -gUnk_0810566C:: @ 0810566C - .incbin "baserom.gba", 0x10566C, 0x0000004 - -gUnk_08105670:: @ 08105670 - .incbin "baserom.gba", 0x105670, 0x0000018 - -gUnk_08105688:: @ 08105688 - .incbin "baserom.gba", 0x105688, 0x0000018 - -gUnk_081056A0:: @ 081056A0 - .incbin "baserom.gba", 0x1056A0, 0x0000018 - -gUnk_081056B8:: @ 081056B8 - .incbin "baserom.gba", 0x1056B8, 0x0000018 - -gUnk_081056D0:: @ 081056D0 - .incbin "baserom.gba", 0x1056D0, 0x0000018 - -gUnk_081056E8:: @ 081056E8 - .incbin "baserom.gba", 0x1056E8, 0x0000018 - -gUnk_08105700:: @ 08105700 - .incbin "baserom.gba", 0x105700, 0x0000010 - -gUnk_08105710:: @ 08105710 - .incbin "baserom.gba", 0x105710, 0x0000008 - -gUnk_08105718:: @ 08105718 - .incbin "baserom.gba", 0x105718, 0x0000018 - -gUnk_08105730:: @ 08105730 - .incbin "baserom.gba", 0x105730, 0x0000018 - -gUnk_08105748:: @ 08105748 - .incbin "baserom.gba", 0x105748, 0x0000018 - -gUnk_08105760:: @ 08105760 - .incbin "baserom.gba", 0x105760, 0x0000018 - -gUnk_08105778:: @ 08105778 - .incbin "baserom.gba", 0x105778, 0x0000018 - -gUnk_08105790:: @ 08105790 - .incbin "baserom.gba", 0x105790, 0x0000018 - -gUnk_081057A8:: @ 081057A8 - .incbin "baserom.gba", 0x1057A8, 0x0000018 - -gUnk_081057C0:: @ 081057C0 - .incbin "baserom.gba", 0x1057C0, 0x0000018 - -gUnk_081057D8:: @ 081057D8 - .incbin "baserom.gba", 0x1057D8, 0x0000018 - -gUnk_081057F0:: @ 081057F0 - .incbin "baserom.gba", 0x1057F0, 0x0000018 - -gUnk_08105808:: @ 08105808 - .incbin "baserom.gba", 0x105808, 0x0000018 - -gUnk_08105820:: @ 08105820 - .incbin "baserom.gba", 0x105820, 0x0000060 - -gUnk_08105880:: @ 08105880 - .incbin "baserom.gba", 0x105880, 0x0000018 - -gUnk_08105898:: @ 08105898 - .incbin "baserom.gba", 0x105898, 0x0000004 - -gUnk_0810589C:: @ 0810589C - .incbin "baserom.gba", 0x10589C, 0x0000018 - -gUnk_081058B4:: @ 081058B4 - .incbin "baserom.gba", 0x1058B4, 0x0000018 - -gUnk_081058CC:: @ 081058CC - .incbin "baserom.gba", 0x1058CC, 0x0000018 - -gUnk_081058E4:: @ 081058E4 - .incbin "baserom.gba", 0x1058E4, 0x0000018 - -gUnk_081058FC:: @ 081058FC - .incbin "baserom.gba", 0x1058FC, 0x000000E - -gUnk_0810590A:: @ 0810590A - .incbin "baserom.gba", 0x10590A, 0x000000A - -gUnk_08105914:: @ 08105914 - .incbin "baserom.gba", 0x105914, 0x0000018 - -gUnk_0810592C:: @ 0810592C - .incbin "baserom.gba", 0x10592C, 0x0000018 - -gUnk_08105944:: @ 08105944 - .incbin "baserom.gba", 0x105944, 0x0000018 - -gUnk_0810595C:: @ 0810595C - .incbin "baserom.gba", 0x10595C, 0x0000018 - -gUnk_08105974:: @ 08105974 - .incbin "baserom.gba", 0x105974, 0x0000018 - -gUnk_0810598C:: @ 0810598C - .incbin "baserom.gba", 0x10598C, 0x0000018 - -gUnk_081059A4:: @ 081059A4 - .incbin "baserom.gba", 0x1059A4, 0x0000018 - -gUnk_081059BC:: @ 081059BC - .incbin "baserom.gba", 0x1059BC, 0x0000018 - -gUnk_081059D4:: @ 081059D4 - .incbin "baserom.gba", 0x1059D4, 0x0000018 - -gUnk_081059EC:: @ 081059EC - .incbin "baserom.gba", 0x1059EC, 0x0000018 - -gUnk_08105A04:: @ 08105A04 - .incbin "baserom.gba", 0x105A04, 0x0000018 - -gUnk_08105A1C:: @ 08105A1C - .incbin "baserom.gba", 0x105A1C, 0x0000018 - -gUnk_08105A34:: @ 08105A34 - .incbin "baserom.gba", 0x105A34, 0x000000D - -gUnk_08105A41:: @ 08105A41 - .incbin "baserom.gba", 0x105A41, 0x000000B - -gUnk_08105A4C:: @ 08105A4C - .incbin "baserom.gba", 0x105A4C, 0x0000018 - -gUnk_08105A64:: @ 08105A64 - .incbin "baserom.gba", 0x105A64, 0x0000018 - -gUnk_08105A7C:: @ 08105A7C - .incbin "baserom.gba", 0x105A7C, 0x0000018 - -gUnk_08105A94:: @ 08105A94 - .incbin "baserom.gba", 0x105A94, 0x0000018 - -gUnk_08105AAC:: @ 08105AAC - .incbin "baserom.gba", 0x105AAC, 0x0000018 - -gUnk_08105AC4:: @ 08105AC4 - .incbin "baserom.gba", 0x105AC4, 0x0000018 - -gUnk_08105ADC:: @ 08105ADC - .incbin "baserom.gba", 0x105ADC, 0x0000034 - -gUnk_08105B10:: @ 08105B10 - .incbin "baserom.gba", 0x105B10, 0x0000060 - -gUnk_08105B70:: @ 08105B70 - .incbin "baserom.gba", 0x105B70, 0x0000018 - -gUnk_08105B88:: @ 08105B88 - .incbin "baserom.gba", 0x105B88, 0x0000004 - -gUnk_08105B8C:: @ 08105B8C - .incbin "baserom.gba", 0x105B8C, 0x0000018 - -gUnk_08105BA4:: @ 08105BA4 - .incbin "baserom.gba", 0x105BA4, 0x0000018 - -gUnk_08105BBC:: @ 08105BBC - .incbin "baserom.gba", 0x105BBC, 0x0000008 - -gUnk_08105BC4:: @ 08105BC4 - .incbin "baserom.gba", 0x105BC4, 0x0000018 - -gUnk_08105BDC:: @ 08105BDC - .incbin "baserom.gba", 0x105BDC, 0x0000018 - -gUnk_08105BF4:: @ 08105BF4 - .incbin "baserom.gba", 0x105BF4, 0x0000018 - -gUnk_08105C0C:: @ 08105C0C - .incbin "baserom.gba", 0x105C0C, 0x0000018 - -gUnk_08105C24:: @ 08105C24 - .incbin "baserom.gba", 0x105C24, 0x0000018 - -gUnk_08105C3C:: @ 08105C3C - .incbin "baserom.gba", 0x105C3C, 0x0000018 - -gUnk_08105C54:: @ 08105C54 - .incbin "baserom.gba", 0x105C54, 0x0000018 - -gUnk_08105C6C:: @ 08105C6C - .incbin "baserom.gba", 0x105C6C, 0x0000018 - -gUnk_08105C84:: @ 08105C84 - .incbin "baserom.gba", 0x105C84, 0x0000018 - -gUnk_08105C9C:: @ 08105C9C - .incbin "baserom.gba", 0x105C9C, 0x0000018 - -gUnk_08105CB4:: @ 08105CB4 - .incbin "baserom.gba", 0x105CB4, 0x0000018 - -gUnk_08105CCC:: @ 08105CCC - .incbin "baserom.gba", 0x105CCC, 0x0000018 - -gUnk_08105CE4:: @ 08105CE4 - .incbin "baserom.gba", 0x105CE4, 0x0000018 - -gUnk_08105CFC:: @ 08105CFC - .incbin "baserom.gba", 0x105CFC, 0x0000018 - -gUnk_08105D14:: @ 08105D14 - .incbin "baserom.gba", 0x105D14, 0x0000003 - -gUnk_08105D17:: @ 08105D17 - .incbin "baserom.gba", 0x105D17, 0x0000015 - -gUnk_08105D2C:: @ 08105D2C - .incbin "baserom.gba", 0x105D2C, 0x0000018 - -gUnk_08105D44:: @ 08105D44 - .incbin "baserom.gba", 0x105D44, 0x0000018 - -gUnk_08105D5C:: @ 08105D5C - .incbin "baserom.gba", 0x105D5C, 0x0000018 - -gUnk_08105D74:: @ 08105D74 - .incbin "baserom.gba", 0x105D74, 0x0000018 - -gUnk_08105D8C:: @ 08105D8C - .incbin "baserom.gba", 0x105D8C, 0x0000018 - -gUnk_08105DA4:: @ 08105DA4 - .incbin "baserom.gba", 0x105DA4, 0x0000018 - -gUnk_08105DBC:: @ 08105DBC - .incbin "baserom.gba", 0x105DBC, 0x0000018 - -gUnk_08105DD4:: @ 08105DD4 - .incbin "baserom.gba", 0x105DD4, 0x0000018 - -gUnk_08105DEC:: @ 08105DEC - .incbin "baserom.gba", 0x105DEC, 0x0000018 - -gUnk_08105E04:: @ 08105E04 - .incbin "baserom.gba", 0x105E04, 0x0000018 - -gUnk_08105E1C:: @ 08105E1C - .incbin "baserom.gba", 0x105E1C, 0x0000018 - -gUnk_08105E34:: @ 08105E34 - .incbin "baserom.gba", 0x105E34, 0x0000018 - -gUnk_08105E4C:: @ 08105E4C - .incbin "baserom.gba", 0x105E4C, 0x0000018 - -gUnk_08105E64:: @ 08105E64 - .incbin "baserom.gba", 0x105E64, 0x0000018 - -gUnk_08105E7C:: @ 08105E7C - .incbin "baserom.gba", 0x105E7C, 0x0000018 - -gUnk_08105E94:: @ 08105E94 - .incbin "baserom.gba", 0x105E94, 0x0000018 - -gUnk_08105EAC:: @ 08105EAC - .incbin "baserom.gba", 0x105EAC, 0x0000018 - -gUnk_08105EC4:: @ 08105EC4 - .incbin "baserom.gba", 0x105EC4, 0x0000018 - -gUnk_08105EDC:: @ 08105EDC - .incbin "baserom.gba", 0x105EDC, 0x0000018 - -gUnk_08105EF4:: @ 08105EF4 - .incbin "baserom.gba", 0x105EF4, 0x0000018 - -gUnk_08105F0C:: @ 08105F0C - .incbin "baserom.gba", 0x105F0C, 0x0000018 - -gUnk_08105F24:: @ 08105F24 - .incbin "baserom.gba", 0x105F24, 0x0000018 - -gUnk_08105F3C:: @ 08105F3C - .incbin "baserom.gba", 0x105F3C, 0x0000018 - -gUnk_08105F54:: @ 08105F54 - .incbin "baserom.gba", 0x105F54, 0x0000018 - -gUnk_08105F6C:: @ 08105F6C - .incbin "baserom.gba", 0x105F6C, 0x0000018 - -gUnk_08105F84:: @ 08105F84 - .incbin "baserom.gba", 0x105F84, 0x0000018 - -gUnk_08105F9C:: @ 08105F9C - .incbin "baserom.gba", 0x105F9C, 0x0000066 - -gUnk_08106002:: @ 08106002 - .incbin "baserom.gba", 0x106002, 0x0000076 - -gUnk_08106078:: @ 08106078 - .incbin "baserom.gba", 0x106078, 0x0000018 - -gUnk_08106090:: @ 08106090 - .incbin "baserom.gba", 0x106090, 0x0000004 - -gUnk_08106094:: @ 08106094 - .incbin "baserom.gba", 0x106094, 0x0000018 - -gUnk_081060AC:: @ 081060AC - .incbin "baserom.gba", 0x1060AC, 0x0000018 - -gUnk_081060C4:: @ 081060C4 - .incbin "baserom.gba", 0x1060C4, 0x0000018 - -gUnk_081060DC:: @ 081060DC - .incbin "baserom.gba", 0x1060DC, 0x0000018 - -gUnk_081060F4:: @ 081060F4 - .incbin "baserom.gba", 0x1060F4, 0x0000018 - -gUnk_0810610C:: @ 0810610C - .incbin "baserom.gba", 0x10610C, 0x0000018 - -gUnk_08106124:: @ 08106124 - .incbin "baserom.gba", 0x106124, 0x0000018 - -gUnk_0810613C:: @ 0810613C - .incbin "baserom.gba", 0x10613C, 0x0000018 - -gUnk_08106154:: @ 08106154 - .incbin "baserom.gba", 0x106154, 0x0000018 - -gUnk_0810616C:: @ 0810616C - .incbin "baserom.gba", 0x10616C, 0x0000018 - -gUnk_08106184:: @ 08106184 - .incbin "baserom.gba", 0x106184, 0x0000018 - -gUnk_0810619C:: @ 0810619C - .incbin "baserom.gba", 0x10619C, 0x0000058 - -gUnk_081061F4:: @ 081061F4 - .incbin "baserom.gba", 0x1061F4, 0x0000018 - -gUnk_0810620C:: @ 0810620C - .incbin "baserom.gba", 0x10620C, 0x0000018 - -gUnk_08106224:: @ 08106224 - .incbin "baserom.gba", 0x106224, 0x0000018 - -gUnk_0810623C:: @ 0810623C - .incbin "baserom.gba", 0x10623C, 0x0000018 - -gUnk_08106254:: @ 08106254 - .incbin "baserom.gba", 0x106254, 0x0000018 - -gUnk_0810626C:: @ 0810626C - .incbin "baserom.gba", 0x10626C, 0x0000018 - -gUnk_08106284:: @ 08106284 - .incbin "baserom.gba", 0x106284, 0x0000018 - -gUnk_0810629C:: @ 0810629C - .incbin "baserom.gba", 0x10629C, 0x0000018 - -gUnk_081062B4:: @ 081062B4 - .incbin "baserom.gba", 0x1062B4, 0x0000018 - -gUnk_081062CC:: @ 081062CC - .incbin "baserom.gba", 0x1062CC, 0x0000040 - -gUnk_0810630C:: @ 0810630C - .incbin "baserom.gba", 0x10630C, 0x0000018 - -gUnk_08106324:: @ 08106324 - .incbin "baserom.gba", 0x106324, 0x0000018 - -gUnk_0810633C:: @ 0810633C - .incbin "baserom.gba", 0x10633C, 0x0000018 - -gUnk_08106354:: @ 08106354 - .incbin "baserom.gba", 0x106354, 0x0000018 - -gUnk_0810636C:: @ 0810636C - .incbin "baserom.gba", 0x10636C, 0x0000018 - -gUnk_08106384:: @ 08106384 - .incbin "baserom.gba", 0x106384, 0x0000018 - -gUnk_0810639C:: @ 0810639C - .incbin "baserom.gba", 0x10639C, 0x0000018 - -gUnk_081063B4:: @ 081063B4 - .incbin "baserom.gba", 0x1063B4, 0x0000018 - -gUnk_081063CC:: @ 081063CC - .incbin "baserom.gba", 0x1063CC, 0x0000018 - -gUnk_081063E4:: @ 081063E4 - .incbin "baserom.gba", 0x1063E4, 0x0000018 - -gUnk_081063FC:: @ 081063FC - .incbin "baserom.gba", 0x1063FC, 0x0000018 - -gUnk_08106414:: @ 08106414 - .incbin "baserom.gba", 0x106414, 0x0000018 - -gUnk_0810642C:: @ 0810642C - .incbin "baserom.gba", 0x10642C, 0x0000018 - -gUnk_08106444:: @ 08106444 - .incbin "baserom.gba", 0x106444, 0x0000018 - -gUnk_0810645C:: @ 0810645C - .incbin "baserom.gba", 0x10645C, 0x0000018 - -gUnk_08106474:: @ 08106474 - .incbin "baserom.gba", 0x106474, 0x0000018 - -gUnk_0810648C:: @ 0810648C - .incbin "baserom.gba", 0x10648C, 0x0000018 - -gUnk_081064A4:: @ 081064A4 - .incbin "baserom.gba", 0x1064A4, 0x0000018 - -gUnk_081064BC:: @ 081064BC - .incbin "baserom.gba", 0x1064BC, 0x0000018 - -gUnk_081064D4:: @ 081064D4 - .incbin "baserom.gba", 0x1064D4, 0x0000018 - -gUnk_081064EC:: @ 081064EC - .incbin "baserom.gba", 0x1064EC, 0x0000018 - -gUnk_08106504:: @ 08106504 - .incbin "baserom.gba", 0x106504, 0x0000018 - -gUnk_0810651C:: @ 0810651C - .incbin "baserom.gba", 0x10651C, 0x0000018 - -gUnk_08106534:: @ 08106534 - .incbin "baserom.gba", 0x106534, 0x0000018 - -gUnk_0810654C:: @ 0810654C - .incbin "baserom.gba", 0x10654C, 0x0000009 - -gUnk_08106555:: @ 08106555 - .incbin "baserom.gba", 0x106555, 0x000000F - -gUnk_08106564:: @ 08106564 - .incbin "baserom.gba", 0x106564, 0x0000001 - -gUnk_08106565:: @ 08106565 - .incbin "baserom.gba", 0x106565, 0x0000017 - -gUnk_0810657C:: @ 0810657C - .incbin "baserom.gba", 0x10657C, 0x0000018 - -gUnk_08106594:: @ 08106594 - .incbin "baserom.gba", 0x106594, 0x0000018 - -gUnk_081065AC:: @ 081065AC - .incbin "baserom.gba", 0x1065AC, 0x0000018 - -gUnk_081065C4:: @ 081065C4 - .incbin "baserom.gba", 0x1065C4, 0x0000018 - -gUnk_081065DC:: @ 081065DC - .incbin "baserom.gba", 0x1065DC, 0x0000018 - -gUnk_081065F4:: @ 081065F4 - .incbin "baserom.gba", 0x1065F4, 0x0000004 - -gUnk_081065F8:: @ 081065F8 - .incbin "baserom.gba", 0x1065F8, 0x0000014 - -gUnk_0810660C:: @ 0810660C - .incbin "baserom.gba", 0x10660C, 0x000000D - -gUnk_08106619:: @ 08106619 - .incbin "baserom.gba", 0x106619, 0x0000001 - -gUnk_0810661A:: @ 0810661A - .incbin "baserom.gba", 0x10661A, 0x000000A - -gUnk_08106624:: @ 08106624 - .incbin "baserom.gba", 0x106624, 0x0000018 - -gUnk_0810663C:: @ 0810663C - .incbin "baserom.gba", 0x10663C, 0x0000018 - -gUnk_08106654:: @ 08106654 - .incbin "baserom.gba", 0x106654, 0x0000018 - -gUnk_0810666C:: @ 0810666C - .incbin "baserom.gba", 0x10666C, 0x0000018 - -gUnk_08106684:: @ 08106684 - .incbin "baserom.gba", 0x106684, 0x0000018 - -gUnk_0810669C:: @ 0810669C - .incbin "baserom.gba", 0x10669C, 0x0000018 - -gUnk_081066B4:: @ 081066B4 - .incbin "baserom.gba", 0x1066B4, 0x0000018 - -gUnk_081066CC:: @ 081066CC - .incbin "baserom.gba", 0x1066CC, 0x0000018 - -gUnk_081066E4:: @ 081066E4 - .incbin "baserom.gba", 0x1066E4, 0x0000018 - -gUnk_081066FC:: @ 081066FC - .incbin "baserom.gba", 0x1066FC, 0x0000018 - -gUnk_08106714:: @ 08106714 - .incbin "baserom.gba", 0x106714, 0x0000018 - -gUnk_0810672C:: @ 0810672C - .incbin "baserom.gba", 0x10672C, 0x0000018 - -gUnk_08106744:: @ 08106744 - .incbin "baserom.gba", 0x106744, 0x0000018 - -gUnk_0810675C:: @ 0810675C - .incbin "baserom.gba", 0x10675C, 0x0000018 - -gUnk_08106774:: @ 08106774 - .incbin "baserom.gba", 0x106774, 0x0000018 - -gUnk_0810678C:: @ 0810678C - .incbin "baserom.gba", 0x10678C, 0x0000018 - -gUnk_081067A4:: @ 081067A4 - .incbin "baserom.gba", 0x1067A4, 0x0000018 - -gUnk_081067BC:: @ 081067BC - .incbin "baserom.gba", 0x1067BC, 0x0000018 - -gUnk_081067D4:: @ 081067D4 - .incbin "baserom.gba", 0x1067D4, 0x000002C - -gUnk_08106800:: @ 08106800 - .incbin "baserom.gba", 0x106800, 0x00000A0 - -gUnk_081068A0:: @ 081068A0 - .incbin "baserom.gba", 0x1068A0, 0x000000C - -gUnk_081068AC:: @ 081068AC - .incbin "baserom.gba", 0x1068AC, 0x0000004 - -gUnk_081068B0:: @ 081068B0 - .incbin "baserom.gba", 0x1068B0, 0x0000018 - -gUnk_081068C8:: @ 081068C8 - .incbin "baserom.gba", 0x1068C8, 0x0000018 - -gUnk_081068E0:: @ 081068E0 - .incbin "baserom.gba", 0x1068E0, 0x0000018 - -gUnk_081068F8:: @ 081068F8 - .incbin "baserom.gba", 0x1068F8, 0x0000020 - -gUnk_08106918:: @ 08106918 - .incbin "baserom.gba", 0x106918, 0x0000018 - -gUnk_08106930:: @ 08106930 - .incbin "baserom.gba", 0x106930, 0x0000018 - -gUnk_08106948:: @ 08106948 - .incbin "baserom.gba", 0x106948, 0x0000018 - -gUnk_08106960:: @ 08106960 - .incbin "baserom.gba", 0x106960, 0x0000018 - -gUnk_08106978:: @ 08106978 - .incbin "baserom.gba", 0x106978, 0x0000018 - -gUnk_08106990:: @ 08106990 - .incbin "baserom.gba", 0x106990, 0x0000018 - -gUnk_081069A8:: @ 081069A8 - .incbin "baserom.gba", 0x1069A8, 0x0000018 - -gUnk_081069C0:: @ 081069C0 - .incbin "baserom.gba", 0x1069C0, 0x0000040 - -gUnk_08106A00:: @ 08106A00 - .incbin "baserom.gba", 0x106A00, 0x0000018 - -gUnk_08106A18:: @ 08106A18 - .incbin "baserom.gba", 0x106A18, 0x0000004 - -gUnk_08106A1C:: @ 08106A1C - .incbin "baserom.gba", 0x106A1C, 0x0000018 - -gUnk_08106A34:: @ 08106A34 - .incbin "baserom.gba", 0x106A34, 0x0000018 - -gUnk_08106A4C:: @ 08106A4C - .incbin "baserom.gba", 0x106A4C, 0x0000018 - -gUnk_08106A64:: @ 08106A64 - .incbin "baserom.gba", 0x106A64, 0x0000018 - -gUnk_08106A7C:: @ 08106A7C - .incbin "baserom.gba", 0x106A7C, 0x0000018 - -gUnk_08106A94:: @ 08106A94 - .incbin "baserom.gba", 0x106A94, 0x0000018 - -gUnk_08106AAC:: @ 08106AAC - .incbin "baserom.gba", 0x106AAC, 0x0000018 - -gUnk_08106AC4:: @ 08106AC4 - .incbin "baserom.gba", 0x106AC4, 0x0000018 - -gUnk_08106ADC:: @ 08106ADC - .incbin "baserom.gba", 0x106ADC, 0x0000018 - -gUnk_08106AF4:: @ 08106AF4 - .incbin "baserom.gba", 0x106AF4, 0x0000018 - -gUnk_08106B0C:: @ 08106B0C - .incbin "baserom.gba", 0x106B0C, 0x0000018 - -gUnk_08106B24:: @ 08106B24 - .incbin "baserom.gba", 0x106B24, 0x0000018 - -gUnk_08106B3C:: @ 08106B3C - .incbin "baserom.gba", 0x106B3C, 0x0000018 - -gUnk_08106B54:: @ 08106B54 - .incbin "baserom.gba", 0x106B54, 0x0000018 - -gUnk_08106B6C:: @ 08106B6C - .incbin "baserom.gba", 0x106B6C, 0x0000018 - -gUnk_08106B84:: @ 08106B84 - .incbin "baserom.gba", 0x106B84, 0x0000018 - -gUnk_08106B9C:: @ 08106B9C - .incbin "baserom.gba", 0x106B9C, 0x0000018 - -gUnk_08106BB4:: @ 08106BB4 - .incbin "baserom.gba", 0x106BB4, 0x0000018 - -gUnk_08106BCC:: @ 08106BCC - .incbin "baserom.gba", 0x106BCC, 0x0000018 - -gUnk_08106BE4:: @ 08106BE4 - .incbin "baserom.gba", 0x106BE4, 0x0000018 - -gUnk_08106BFC:: @ 08106BFC - .incbin "baserom.gba", 0x106BFC, 0x0000004 - -gUnk_08106C00:: @ 08106C00 - .incbin "baserom.gba", 0x106C00, 0x0000004 - -gUnk_08106C04:: @ 08106C04 - .incbin "baserom.gba", 0x106C04, 0x0000003 - -gUnk_08106C07:: @ 08106C07 - .incbin "baserom.gba", 0x106C07, 0x000000D - -gUnk_08106C14:: @ 08106C14 - .incbin "baserom.gba", 0x106C14, 0x0000018 - -gUnk_08106C2C:: @ 08106C2C - .incbin "baserom.gba", 0x106C2C, 0x0000018 - -gUnk_08106C44:: @ 08106C44 - .incbin "baserom.gba", 0x106C44, 0x0000018 - -gUnk_08106C5C:: @ 08106C5C - .incbin "baserom.gba", 0x106C5C, 0x0000018 - -gUnk_08106C74:: @ 08106C74 - .incbin "baserom.gba", 0x106C74, 0x0000018 - -gUnk_08106C8C:: @ 08106C8C - .incbin "baserom.gba", 0x106C8C, 0x0000018 - -gUnk_08106CA4:: @ 08106CA4 - .incbin "baserom.gba", 0x106CA4, 0x0000018 - -gUnk_08106CBC:: @ 08106CBC - .incbin "baserom.gba", 0x106CBC, 0x0000018 - -gUnk_08106CD4:: @ 08106CD4 - .incbin "baserom.gba", 0x106CD4, 0x0000018 - -gUnk_08106CEC:: @ 08106CEC - .incbin "baserom.gba", 0x106CEC, 0x0000018 - -gUnk_08106D04:: @ 08106D04 - .incbin "baserom.gba", 0x106D04, 0x0000018 - -gUnk_08106D1C:: @ 08106D1C - .incbin "baserom.gba", 0x106D1C, 0x0000018 - -gUnk_08106D34:: @ 08106D34 - .incbin "baserom.gba", 0x106D34, 0x0000018 - -gUnk_08106D4C:: @ 08106D4C - .incbin "baserom.gba", 0x106D4C, 0x0000018 - -gUnk_08106D64:: @ 08106D64 - .incbin "baserom.gba", 0x106D64, 0x0000018 - -gUnk_08106D7C:: @ 08106D7C - .incbin "baserom.gba", 0x106D7C, 0x0000003 - -gUnk_08106D7F:: @ 08106D7F - .incbin "baserom.gba", 0x106D7F, 0x0000015 - -gUnk_08106D94:: @ 08106D94 - .incbin "baserom.gba", 0x106D94, 0x0000018 - -gUnk_08106DAC:: @ 08106DAC - .incbin "baserom.gba", 0x106DAC, 0x0000018 - -gUnk_08106DC4:: @ 08106DC4 - .incbin "baserom.gba", 0x106DC4, 0x0000018 - -gUnk_08106DDC:: @ 08106DDC - .incbin "baserom.gba", 0x106DDC, 0x0000018 - -gUnk_08106DF4:: @ 08106DF4 - .incbin "baserom.gba", 0x106DF4, 0x0000018 - -gUnk_08106E0C:: @ 08106E0C - .incbin "baserom.gba", 0x106E0C, 0x0000018 - -gUnk_08106E24:: @ 08106E24 - .incbin "baserom.gba", 0x106E24, 0x0000018 - -gUnk_08106E3C:: @ 08106E3C - .incbin "baserom.gba", 0x106E3C, 0x0000018 - -gUnk_08106E54:: @ 08106E54 - .incbin "baserom.gba", 0x106E54, 0x0000018 - -gUnk_08106E6C:: @ 08106E6C - .incbin "baserom.gba", 0x106E6C, 0x0000018 - -gUnk_08106E84:: @ 08106E84 - .incbin "baserom.gba", 0x106E84, 0x0000018 - -gUnk_08106E9C:: @ 08106E9C - .incbin "baserom.gba", 0x106E9C, 0x0000018 - -gUnk_08106EB4:: @ 08106EB4 - .incbin "baserom.gba", 0x106EB4, 0x0000018 - -gUnk_08106ECC:: @ 08106ECC - .incbin "baserom.gba", 0x106ECC, 0x0000018 - -gUnk_08106EE4:: @ 08106EE4 - .incbin "baserom.gba", 0x106EE4, 0x0000018 - -gUnk_08106EFC:: @ 08106EFC - .incbin "baserom.gba", 0x106EFC, 0x000000F - -gUnk_08106F0B:: @ 08106F0B - .incbin "baserom.gba", 0x106F0B, 0x0000009 - -gUnk_08106F14:: @ 08106F14 - .incbin "baserom.gba", 0x106F14, 0x0000018 - -gUnk_08106F2C:: @ 08106F2C - .incbin "baserom.gba", 0x106F2C, 0x0000018 - -gUnk_08106F44:: @ 08106F44 - .incbin "baserom.gba", 0x106F44, 0x0000018 - -gUnk_08106F5C:: @ 08106F5C - .incbin "baserom.gba", 0x106F5C, 0x0000018 - -gUnk_08106F74:: @ 08106F74 - .incbin "baserom.gba", 0x106F74, 0x0000018 - -gUnk_08106F8C:: @ 08106F8C - .incbin "baserom.gba", 0x106F8C, 0x0000018 - -gUnk_08106FA4:: @ 08106FA4 - .incbin "baserom.gba", 0x106FA4, 0x0000018 - -gUnk_08106FBC:: @ 08106FBC - .incbin "baserom.gba", 0x106FBC, 0x00000F0 - -gUnk_081070AC:: @ 081070AC - .incbin "baserom.gba", 0x1070AC, 0x0000018 - -gUnk_081070C4:: @ 081070C4 - .incbin "baserom.gba", 0x1070C4, 0x0000018 - -gUnk_081070DC:: @ 081070DC - .incbin "baserom.gba", 0x1070DC, 0x0000018 - -gUnk_081070F4:: @ 081070F4 - .incbin "baserom.gba", 0x1070F4, 0x0000018 - -gUnk_0810710C:: @ 0810710C - .incbin "baserom.gba", 0x10710C, 0x0000018 - -gUnk_08107124:: @ 08107124 - .incbin "baserom.gba", 0x107124, 0x0000018 - -gUnk_0810713C:: @ 0810713C - .incbin "baserom.gba", 0x10713C, 0x0000018 - -gUnk_08107154:: @ 08107154 - .incbin "baserom.gba", 0x107154, 0x0000018 - -gUnk_0810716C:: @ 0810716C - .incbin "baserom.gba", 0x10716C, 0x0000018 - -gUnk_08107184:: @ 08107184 - .incbin "baserom.gba", 0x107184, 0x0000024 - -gUnk_081071A8:: @ 081071A8 - .incbin "baserom.gba", 0x1071A8, 0x0000018 - -gUnk_081071C0:: @ 081071C0 - .incbin "baserom.gba", 0x1071C0, 0x0000004 - -gUnk_081071C4:: @ 081071C4 - .incbin "baserom.gba", 0x1071C4, 0x0000018 - -gUnk_081071DC:: @ 081071DC - .incbin "baserom.gba", 0x1071DC, 0x0000018 - -gUnk_081071F4:: @ 081071F4 - .incbin "baserom.gba", 0x1071F4, 0x0000018 - -gUnk_0810720C:: @ 0810720C - .incbin "baserom.gba", 0x10720C, 0x000000C - -gUnk_08107218:: @ 08107218 - .incbin "baserom.gba", 0x107218, 0x0000018 - -gUnk_08107230:: @ 08107230 - .incbin "baserom.gba", 0x107230, 0x0000018 - -gUnk_08107248:: @ 08107248 - .incbin "baserom.gba", 0x107248, 0x0000008 - -gUnk_08107250:: @ 08107250 - .incbin "baserom.gba", 0x107250, 0x0000018 - -gUnk_08107268:: @ 08107268 - .incbin "baserom.gba", 0x107268, 0x0000004 - -gUnk_0810726C:: @ 0810726C - .incbin "baserom.gba", 0x10726C, 0x0000018 - -gUnk_08107284:: @ 08107284 - .incbin "baserom.gba", 0x107284, 0x0000018 - -gUnk_0810729C:: @ 0810729C - .incbin "baserom.gba", 0x10729C, 0x0000018 - -gUnk_081072B4:: @ 081072B4 - .incbin "baserom.gba", 0x1072B4, 0x000000C - -gUnk_081072C0:: @ 081072C0 - .incbin "baserom.gba", 0x1072C0, 0x0000018 - -gUnk_081072D8:: @ 081072D8 - .incbin "baserom.gba", 0x1072D8, 0x0000018 - -gUnk_081072F0:: @ 081072F0 - .incbin "baserom.gba", 0x1072F0, 0x0000018 - -gUnk_08107308:: @ 08107308 - .incbin "baserom.gba", 0x107308, 0x0000002 - -gUnk_0810730A:: @ 0810730A - .incbin "baserom.gba", 0x10730A, 0x0000016 - -gUnk_08107320:: @ 08107320 - .incbin "baserom.gba", 0x107320, 0x0000018 - -gUnk_08107338:: @ 08107338 - .incbin "baserom.gba", 0x107338, 0x0000014 - -gUnk_0810734C:: @ 0810734C - .incbin "baserom.gba", 0x10734C, 0x0000018 - -gUnk_08107364:: @ 08107364 - .incbin "baserom.gba", 0x107364, 0x0000018 - -gUnk_0810737C:: @ 0810737C - .incbin "baserom.gba", 0x10737C, 0x0000008 - -gUnk_08107384:: @ 08107384 - .incbin "baserom.gba", 0x107384, 0x0000018 - -gUnk_0810739C:: @ 0810739C - .incbin "baserom.gba", 0x10739C, 0x0000018 - -gUnk_081073B4:: @ 081073B4 - .incbin "baserom.gba", 0x1073B4, 0x0000018 - -gUnk_081073CC:: @ 081073CC - .incbin "baserom.gba", 0x1073CC, 0x0000018 - -gUnk_081073E4:: @ 081073E4 - .incbin "baserom.gba", 0x1073E4, 0x0000018 - -gUnk_081073FC:: @ 081073FC - .incbin "baserom.gba", 0x1073FC, 0x0000018 - -gUnk_08107414:: @ 08107414 - .incbin "baserom.gba", 0x107414, 0x0000018 - -gUnk_0810742C:: @ 0810742C - .incbin "baserom.gba", 0x10742C, 0x0000018 - -gUnk_08107444:: @ 08107444 - .incbin "baserom.gba", 0x107444, 0x0000018 - -gUnk_0810745C:: @ 0810745C - .incbin "baserom.gba", 0x10745C, 0x0000018 - -gUnk_08107474:: @ 08107474 - .incbin "baserom.gba", 0x107474, 0x0000018 - -gUnk_0810748C:: @ 0810748C - .incbin "baserom.gba", 0x10748C, 0x0000018 - -gUnk_081074A4:: @ 081074A4 - .incbin "baserom.gba", 0x1074A4, 0x0000018 - -gUnk_081074BC:: @ 081074BC - .incbin "baserom.gba", 0x1074BC, 0x0000018 - -gUnk_081074D4:: @ 081074D4 - .incbin "baserom.gba", 0x1074D4, 0x0000018 - -gUnk_081074EC:: @ 081074EC - .incbin "baserom.gba", 0x1074EC, 0x0000018 - -gUnk_08107504:: @ 08107504 - .incbin "baserom.gba", 0x107504, 0x0000018 - -gUnk_0810751C:: @ 0810751C - .incbin "baserom.gba", 0x10751C, 0x0000018 - -gUnk_08107534:: @ 08107534 - .incbin "baserom.gba", 0x107534, 0x0000018 - -gUnk_0810754C:: @ 0810754C - .incbin "baserom.gba", 0x10754C, 0x0000018 - -gUnk_08107564:: @ 08107564 - .incbin "baserom.gba", 0x107564, 0x0000018 - -gUnk_0810757C:: @ 0810757C - .incbin "baserom.gba", 0x10757C, 0x0000018 - -gUnk_08107594:: @ 08107594 - .incbin "baserom.gba", 0x107594, 0x0000018 - -gUnk_081075AC:: @ 081075AC - .incbin "baserom.gba", 0x1075AC, 0x0000018 - -gUnk_081075C4:: @ 081075C4 - .incbin "baserom.gba", 0x1075C4, 0x0000060 - -gUnk_08107624:: @ 08107624 - .incbin "baserom.gba", 0x107624, 0x0000018 - -gUnk_0810763C:: @ 0810763C - .incbin "baserom.gba", 0x10763C, 0x0000018 - -gUnk_08107654:: @ 08107654 - .incbin "baserom.gba", 0x107654, 0x0000018 - -gUnk_0810766C:: @ 0810766C - .incbin "baserom.gba", 0x10766C, 0x0000018 - -gUnk_08107684:: @ 08107684 - .incbin "baserom.gba", 0x107684, 0x0000018 - -gUnk_0810769C:: @ 0810769C - .incbin "baserom.gba", 0x10769C, 0x0000018 - -gUnk_081076B4:: @ 081076B4 - .incbin "baserom.gba", 0x1076B4, 0x0000018 - -gUnk_081076CC:: @ 081076CC - .incbin "baserom.gba", 0x1076CC, 0x0000018 - -gUnk_081076E4:: @ 081076E4 - .incbin "baserom.gba", 0x1076E4, 0x0000018 - -gUnk_081076FC:: @ 081076FC - .incbin "baserom.gba", 0x1076FC, 0x0000016 - -gUnk_08107712:: @ 08107712 - .incbin "baserom.gba", 0x107712, 0x0000002 - -gUnk_08107714:: @ 08107714 - .incbin "baserom.gba", 0x107714, 0x0000028 - -gUnk_0810773C:: @ 0810773C - .incbin "baserom.gba", 0x10773C, 0x0000018 - -gUnk_08107754:: @ 08107754 - .incbin "baserom.gba", 0x107754, 0x0000018 - -gUnk_0810776C:: @ 0810776C - .incbin "baserom.gba", 0x10776C, 0x0000008 - -gUnk_08107774:: @ 08107774 - .incbin "baserom.gba", 0x107774, 0x0000018 - -gUnk_0810778C:: @ 0810778C - .incbin "baserom.gba", 0x10778C, 0x0000004 - -gUnk_08107790:: @ 08107790 - .incbin "baserom.gba", 0x107790, 0x0000018 - -gUnk_081077A8:: @ 081077A8 - .incbin "baserom.gba", 0x1077A8, 0x0000018 - -gUnk_081077C0:: @ 081077C0 - .incbin "baserom.gba", 0x1077C0, 0x0000018 - -gUnk_081077D8:: @ 081077D8 - .incbin "baserom.gba", 0x1077D8, 0x0000018 - -gUnk_081077F0:: @ 081077F0 - .incbin "baserom.gba", 0x1077F0, 0x0000018 - -gUnk_08107808:: @ 08107808 - .incbin "baserom.gba", 0x107808, 0x0000018 - -gUnk_08107820:: @ 08107820 - .incbin "baserom.gba", 0x107820, 0x0000018 - -gUnk_08107838:: @ 08107838 - .incbin "baserom.gba", 0x107838, 0x0000018 - -gUnk_08107850:: @ 08107850 - .incbin "baserom.gba", 0x107850, 0x000001E - -gUnk_0810786E:: @ 0810786E - .incbin "baserom.gba", 0x10786E, 0x0000002 - -gUnk_08107870:: @ 08107870 - .incbin "baserom.gba", 0x107870, 0x000001C - -gUnk_0810788C:: @ 0810788C - .incbin "baserom.gba", 0x10788C, 0x0000018 - -gUnk_081078A4:: @ 081078A4 - .incbin "baserom.gba", 0x1078A4, 0x0000004 - -gUnk_081078A8:: @ 081078A8 - .incbin "baserom.gba", 0x1078A8, 0x0000018 - -gUnk_081078C0:: @ 081078C0 - .incbin "baserom.gba", 0x1078C0, 0x0000004 - -gUnk_081078C4:: @ 081078C4 - .incbin "baserom.gba", 0x1078C4, 0x0000018 - -gUnk_081078DC:: @ 081078DC - .incbin "baserom.gba", 0x1078DC, 0x0000004 - -gUnk_081078E0:: @ 081078E0 - .incbin "baserom.gba", 0x1078E0, 0x0000018 - -gUnk_081078F8:: @ 081078F8 - .incbin "baserom.gba", 0x1078F8, 0x0000004 - -gUnk_081078FC:: @ 081078FC - .incbin "baserom.gba", 0x1078FC, 0x0000018 - -gUnk_08107914:: @ 08107914 - .incbin "baserom.gba", 0x107914, 0x0000004 - -gUnk_08107918:: @ 08107918 - .incbin "baserom.gba", 0x107918, 0x0000018 - -gUnk_08107930:: @ 08107930 - .incbin "baserom.gba", 0x107930, 0x0000004 - -gUnk_08107934:: @ 08107934 - .incbin "baserom.gba", 0x107934, 0x0000018 - -gUnk_0810794C:: @ 0810794C - .incbin "baserom.gba", 0x10794C, 0x0000004 - -gUnk_08107950:: @ 08107950 - .incbin "baserom.gba", 0x107950, 0x0000018 - -gUnk_08107968:: @ 08107968 - .incbin "baserom.gba", 0x107968, 0x0000004 - -gUnk_0810796C:: @ 0810796C - .incbin "baserom.gba", 0x10796C, 0x000000D - -gUnk_08107979:: @ 08107979 - .incbin "baserom.gba", 0x107979, 0x000000B - -gUnk_08107984:: @ 08107984 - .incbin "baserom.gba", 0x107984, 0x0000004 - -gUnk_08107988:: @ 08107988 - .incbin "baserom.gba", 0x107988, 0x0000015 - -gUnk_0810799D:: @ 0810799D - .incbin "baserom.gba", 0x10799D, 0x00001A4 - -gUnk_08107B41:: @ 08107B41 - .incbin "baserom.gba", 0x107B41, 0x000003A - -gUnk_08107B7B:: @ 08107B7B - .incbin "baserom.gba", 0x107B7B, 0x000004D - -gUnk_08107BC8:: @ 08107BC8 - .incbin "baserom.gba", 0x107BC8, 0x0000018 - -gUnk_08107BE0:: @ 08107BE0 - .incbin "baserom.gba", 0x107BE0, 0x0000014 - -gUnk_08107BF4:: @ 08107BF4 - .incbin "baserom.gba", 0x107BF4, 0x0000018 - -gUnk_08107C0C:: @ 08107C0C - .incbin "baserom.gba", 0x107C0C, 0x0000003 - -gUnk_08107C0F:: @ 08107C0F - .incbin "baserom.gba", 0x107C0F, 0x0000005 - -gUnk_08107C14:: @ 08107C14 - .incbin "baserom.gba", 0x107C14, 0x0000004 - -gUnk_08107C18:: @ 08107C18 - .incbin "baserom.gba", 0x107C18, 0x0000004 - -gUnk_08107C1C:: @ 08107C1C - .incbin "baserom.gba", 0x107C1C, 0x000000E - -gUnk_08107C2A:: @ 08107C2A - .incbin "baserom.gba", 0x107C2A, 0x0000006 - -gUnk_08107C30:: @ 08107C30 - .incbin "baserom.gba", 0x107C30, 0x0000010 - -gUnk_08107C40:: @ 08107C40 - .incbin "baserom.gba", 0x107C40, 0x0000008 - -gUnk_08107C48:: @ 08107C48 - .incbin "baserom.gba", 0x107C48, 0x0000014 - -gUnk_08107C5C:: @ 08107C5C - .incbin "baserom.gba", 0x107C5C, 0x0000010 - -gUnk_08107C6C:: @ 08107C6C - .incbin "baserom.gba", 0x107C6C, 0x0000004 - -gUnk_08107C70:: @ 08107C70 - .incbin "baserom.gba", 0x107C70, 0x0000008 - -gUnk_08107C78:: @ 08107C78 - .incbin "baserom.gba", 0x107C78, 0x0000008 - -gUnk_08107C80:: @ 08107C80 - .incbin "baserom.gba", 0x107C80, 0x0000018 - -gUnk_08107C98:: @ 08107C98 - .incbin "baserom.gba", 0x107C98, 0x0000028 - -gUnk_08107CC0:: @ 08107CC0 - .incbin "baserom.gba", 0x107CC0, 0x0000010 - -gUnk_08107CD0:: @ 08107CD0 - .incbin "baserom.gba", 0x107CD0, 0x0000010 - -gUnk_08107CE0:: @ 08107CE0 - .incbin "baserom.gba", 0x107CE0, 0x0000018 - -gUnk_08107CF8:: @ 08107CF8 - .incbin "baserom.gba", 0x107CF8, 0x000000A - -gUnk_08107D02:: @ 08107D02 - .incbin "baserom.gba", 0x107D02, 0x0000006 - -gUnk_08107D08:: @ 08107D08 - .incbin "baserom.gba", 0x107D08, 0x0000018 - -gUnk_08107D20:: @ 08107D20 - .incbin "baserom.gba", 0x107D20, 0x0000018 - -gUnk_08107D38:: @ 08107D38 - .incbin "baserom.gba", 0x107D38, 0x0000010 - -gUnk_08107D48:: @ 08107D48 - .incbin "baserom.gba", 0x107D48, 0x0000020 - -gUnk_08107D68:: @ 08107D68 - .incbin "baserom.gba", 0x107D68, 0x0000010 - -gUnk_08107D78:: @ 08107D78 - .incbin "baserom.gba", 0x107D78, 0x0000018 - -gUnk_08107D90:: @ 08107D90 - .incbin "baserom.gba", 0x107D90, 0x0000010 - -gUnk_08107DA0:: @ 08107DA0 - .incbin "baserom.gba", 0x107DA0, 0x0000020 - -gUnk_08107DC0:: @ 08107DC0 - .incbin "baserom.gba", 0x107DC0, 0x0000264 - -gUnk_08108024:: @ 08108024 - .incbin "baserom.gba", 0x108024, 0x0000010 - -gUnk_08108034:: @ 08108034 - .incbin "baserom.gba", 0x108034, 0x0000010 - -gUnk_08108044:: @ 08108044 - .incbin "baserom.gba", 0x108044, 0x000000C - -gUnk_08108050:: @ 08108050 - .incbin "baserom.gba", 0x108050, 0x000001E - -gUnk_0810806E:: @ 0810806E - .incbin "baserom.gba", 0x10806E, 0x0000036 - -gUnk_081080A4:: @ 081080A4 - .incbin "baserom.gba", 0x1080A4, 0x0000020 - -gUnk_081080C4:: @ 081080C4 - .incbin "baserom.gba", 0x1080C4, 0x0000043 - -gUnk_08108107:: @ 08108107 - .incbin "baserom.gba", 0x108107, 0x0000079 - -gUnk_08108180:: @ 08108180 - .incbin "baserom.gba", 0x108180, 0x0000064 - -gUnk_081081E4:: @ 081081E4 - .incbin "baserom.gba", 0x1081E4, 0x0000008 - -gUnk_081081EC:: @ 081081EC - .incbin "baserom.gba", 0x1081EC, 0x0000008 - -gUnk_081081F4:: @ 081081F4 - .incbin "baserom.gba", 0x1081F4, 0x0000014 diff --git a/data/data_081026AC.s b/data/data_081026AC.s new file mode 100755 index 00000000..88787890 --- /dev/null +++ b/data/data_081026AC.s @@ -0,0 +1,2570 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_081026AC:: @ 081026AC + .incbin "baserom.gba", 0x1026AC, 0x0000030 + +gUnk_081026DC:: @ 081026DC + .incbin "baserom.gba", 0x1026DC, 0x0000028 + +gUnk_08102704:: @ 08102704 + .incbin "baserom.gba", 0x102704, 0x0000008 + +gUnk_0810270C:: @ 0810270C + .incbin "baserom.gba", 0x10270C, 0x0000004 + +gUnk_08102710:: @ 08102710 + .incbin "baserom.gba", 0x102710, 0x0000023 + +gUnk_08102733:: @ 08102733 + .incbin "baserom.gba", 0x102733, 0x0000009 + +gUnk_0810273C:: @ 0810273C + .incbin "baserom.gba", 0x10273C, 0x000001B + +gUnk_08102757:: @ 08102757 + .incbin "baserom.gba", 0x102757, 0x0000015 + +gUnk_0810276C:: @ 0810276C + .incbin "baserom.gba", 0x10276C, 0x0000030 + +gUnk_0810279C:: @ 0810279C + .incbin "baserom.gba", 0x10279C, 0x0000030 + +gUnk_081027CC:: @ 081027CC + .incbin "baserom.gba", 0x1027CC, 0x0000030 + +gUnk_081027FC:: @ 081027FC + .incbin "baserom.gba", 0x1027FC, 0x0000030 + +gUnk_0810282C:: @ 0810282C + .incbin "baserom.gba", 0x10282C, 0x000000C + +gUnk_08102838:: @ 08102838 + .incbin "baserom.gba", 0x102838, 0x0000012 + +gUnk_0810284A:: @ 0810284A + .incbin "baserom.gba", 0x10284A, 0x0000012 + +gUnk_0810285C:: @ 0810285C + .incbin "baserom.gba", 0x10285C, 0x0000018 + +gUnk_08102874:: @ 08102874 + .incbin "baserom.gba", 0x102874, 0x0000030 + +gUnk_081028A4:: @ 081028A4 + .incbin "baserom.gba", 0x1028A4, 0x0000030 + +gUnk_081028D4:: @ 081028D4 + .incbin "baserom.gba", 0x1028D4, 0x0000030 + +gUnk_08102904:: @ 08102904 + .incbin "baserom.gba", 0x102904, 0x0000012 + +gUnk_08102916:: @ 08102916 + .incbin "baserom.gba", 0x102916, 0x000001E + +gUnk_08102934:: @ 08102934 + .incbin "baserom.gba", 0x102934, 0x0000018 + +gUnk_0810294C:: @ 0810294C + .incbin "baserom.gba", 0x10294C, 0x0000018 + +gUnk_08102964:: @ 08102964 + .incbin "baserom.gba", 0x102964, 0x0000030 + +gUnk_08102994:: @ 08102994 + .incbin "baserom.gba", 0x102994, 0x0000030 + +gUnk_081029C4:: @ 081029C4 + .incbin "baserom.gba", 0x1029C4, 0x0000030 + +gUnk_081029F4:: @ 081029F4 + .incbin "baserom.gba", 0x1029F4, 0x000001C + +gUnk_08102A10:: @ 08102A10 + .incbin "baserom.gba", 0x102A10, 0x0000014 + +gUnk_08102A24:: @ 08102A24 + .incbin "baserom.gba", 0x102A24, 0x0000030 + +gUnk_08102A54:: @ 08102A54 + .incbin "baserom.gba", 0x102A54, 0x0000030 + +gUnk_08102A84:: @ 08102A84 + .incbin "baserom.gba", 0x102A84, 0x0000030 + +gUnk_08102AB4:: @ 08102AB4 + .incbin "baserom.gba", 0x102AB4, 0x0000030 + +gUnk_08102AE4:: @ 08102AE4 + .incbin "baserom.gba", 0x102AE4, 0x000002C + +gUnk_08102B10:: @ 08102B10 + .incbin "baserom.gba", 0x102B10, 0x0000004 + +gUnk_08102B14:: @ 08102B14 + .incbin "baserom.gba", 0x102B14, 0x0000030 + +gUnk_08102B44:: @ 08102B44 + .incbin "baserom.gba", 0x102B44, 0x0000030 + +gUnk_08102B74:: @ 08102B74 + .incbin "baserom.gba", 0x102B74, 0x0000030 + +gUnk_08102BA4:: @ 08102BA4 + .incbin "baserom.gba", 0x102BA4, 0x0000030 + +gUnk_08102BD4:: @ 08102BD4 + .incbin "baserom.gba", 0x102BD4, 0x0000030 + +gUnk_08102C04:: @ 08102C04 + .incbin "baserom.gba", 0x102C04, 0x0000030 + +gUnk_08102C34:: @ 08102C34 + .incbin "baserom.gba", 0x102C34, 0x000000D + +gUnk_08102C41:: @ 08102C41 + .incbin "baserom.gba", 0x102C41, 0x0000023 + +gUnk_08102C64:: @ 08102C64 + .incbin "baserom.gba", 0x102C64, 0x0000030 + +gUnk_08102C94:: @ 08102C94 + .incbin "baserom.gba", 0x102C94, 0x0000030 + +gUnk_08102CC4:: @ 08102CC4 + .incbin "baserom.gba", 0x102CC4, 0x0000030 + +gUnk_08102CF4:: @ 08102CF4 + .incbin "baserom.gba", 0x102CF4, 0x0000030 + +gUnk_08102D24:: @ 08102D24 + .incbin "baserom.gba", 0x102D24, 0x0000030 + +gUnk_08102D54:: @ 08102D54 + .incbin "baserom.gba", 0x102D54, 0x0000030 + +gUnk_08102D84:: @ 08102D84 + .incbin "baserom.gba", 0x102D84, 0x0000030 + +gUnk_08102DB4:: @ 08102DB4 + .incbin "baserom.gba", 0x102DB4, 0x0000030 + +gUnk_08102DE4:: @ 08102DE4 + .incbin "baserom.gba", 0x102DE4, 0x0000030 + +gUnk_08102E14:: @ 08102E14 + .incbin "baserom.gba", 0x102E14, 0x0000030 + +gUnk_08102E44:: @ 08102E44 + .incbin "baserom.gba", 0x102E44, 0x0000030 + +gUnk_08102E74:: @ 08102E74 + .incbin "baserom.gba", 0x102E74, 0x0000030 + +gUnk_08102EA4:: @ 08102EA4 + .incbin "baserom.gba", 0x102EA4, 0x0000030 + +gUnk_08102ED4:: @ 08102ED4 + .incbin "baserom.gba", 0x102ED4, 0x0000018 + +gUnk_08102EEC:: @ 08102EEC + .incbin "baserom.gba", 0x102EEC, 0x0000025 + +gUnk_08102F11:: @ 08102F11 + .incbin "baserom.gba", 0x102F11, 0x000000B + +gUnk_08102F1C:: @ 08102F1C + .incbin "baserom.gba", 0x102F1C, 0x0000030 + +gUnk_08102F4C:: @ 08102F4C + .incbin "baserom.gba", 0x102F4C, 0x0000030 + +gUnk_08102F7C:: @ 08102F7C + .incbin "baserom.gba", 0x102F7C, 0x0000030 + +gUnk_08102FAC:: @ 08102FAC + .incbin "baserom.gba", 0x102FAC, 0x0000030 + +gUnk_08102FDC:: @ 08102FDC + .incbin "baserom.gba", 0x102FDC, 0x0000030 + +gUnk_0810300C:: @ 0810300C + .incbin "baserom.gba", 0x10300C, 0x0000030 + +gUnk_0810303C:: @ 0810303C + .incbin "baserom.gba", 0x10303C, 0x0000030 + +gUnk_0810306C:: @ 0810306C + .incbin "baserom.gba", 0x10306C, 0x0000030 + +gAreaMetatiles:: @ 0810309C + .incbin "baserom.gba", 0x10309C, 0x0000068 + +gUnk_08103104:: @ 08103104 + .incbin "baserom.gba", 0x103104, 0x000000C + +gUnk_08103110:: @ 08103110 + .incbin "baserom.gba", 0x103110, 0x00000E5 + +gUnk_081031F5:: @ 081031F5 + .incbin "baserom.gba", 0x1031F5, 0x00000E7 + +gUnk_081032DC:: @ 081032DC + .incbin "baserom.gba", 0x1032DC, 0x0000018 + +gUnk_081032F4:: @ 081032F4 + .incbin "baserom.gba", 0x1032F4, 0x0000004 + +gUnk_081032F8:: @ 081032F8 + .incbin "baserom.gba", 0x1032F8, 0x0000018 + +gUnk_08103310:: @ 08103310 + .incbin "baserom.gba", 0x103310, 0x0000018 + +gUnk_08103328:: @ 08103328 + .incbin "baserom.gba", 0x103328, 0x0000008 + +gUnk_08103330:: @ 08103330 + .incbin "baserom.gba", 0x103330, 0x0000018 + +gUnk_08103348:: @ 08103348 + .incbin "baserom.gba", 0x103348, 0x0000004 + +gUnk_0810334C:: @ 0810334C + .incbin "baserom.gba", 0x10334C, 0x0000018 + +gUnk_08103364:: @ 08103364 + .incbin "baserom.gba", 0x103364, 0x0000016 + +gUnk_0810337A:: @ 0810337A + .incbin "baserom.gba", 0x10337A, 0x0000002 + +gUnk_0810337C:: @ 0810337C + .incbin "baserom.gba", 0x10337C, 0x0000018 + +gUnk_08103394:: @ 08103394 + .incbin "baserom.gba", 0x103394, 0x0000018 + +gUnk_081033AC:: @ 081033AC + .incbin "baserom.gba", 0x1033AC, 0x0000018 + +gUnk_081033C4:: @ 081033C4 + .incbin "baserom.gba", 0x1033C4, 0x0000018 + +gUnk_081033DC:: @ 081033DC + .incbin "baserom.gba", 0x1033DC, 0x0000018 + +gUnk_081033F4:: @ 081033F4 + .incbin "baserom.gba", 0x1033F4, 0x0000018 + +gUnk_0810340C:: @ 0810340C + .incbin "baserom.gba", 0x10340C, 0x0000004 + +gUnk_08103410:: @ 08103410 + .incbin "baserom.gba", 0x103410, 0x0000018 + +gUnk_08103428:: @ 08103428 + .incbin "baserom.gba", 0x103428, 0x0000004 + +gUnk_0810342C:: @ 0810342C + .incbin "baserom.gba", 0x10342C, 0x0000017 + +gUnk_08103443:: @ 08103443 + .incbin "baserom.gba", 0x103443, 0x0000001 + +gUnk_08103444:: @ 08103444 + .incbin "baserom.gba", 0x103444, 0x0000018 + +gUnk_0810345C:: @ 0810345C + .incbin "baserom.gba", 0x10345C, 0x0000018 + +gUnk_08103474:: @ 08103474 + .incbin "baserom.gba", 0x103474, 0x0000018 + +gUnk_0810348C:: @ 0810348C + .incbin "baserom.gba", 0x10348C, 0x0000018 + +gUnk_081034A4:: @ 081034A4 + .incbin "baserom.gba", 0x1034A4, 0x0000014 + +gUnk_081034B8:: @ 081034B8 + .incbin "baserom.gba", 0x1034B8, 0x0000018 + +gUnk_081034D0:: @ 081034D0 + .incbin "baserom.gba", 0x1034D0, 0x000003C + +gUnk_0810350C:: @ 0810350C + .incbin "baserom.gba", 0x10350C, 0x0000018 + +gUnk_08103524:: @ 08103524 + .incbin "baserom.gba", 0x103524, 0x0000031 + +gUnk_08103555:: @ 08103555 + .incbin "baserom.gba", 0x103555, 0x000000B + +gUnk_08103560:: @ 08103560 + .incbin "baserom.gba", 0x103560, 0x000003C + +gUnk_0810359C:: @ 0810359C + .incbin "baserom.gba", 0x10359C, 0x000003C + +gUnk_081035D8:: @ 081035D8 + .incbin "baserom.gba", 0x1035D8, 0x000003C + +gUnk_08103614:: @ 08103614 + .incbin "baserom.gba", 0x103614, 0x000003C + +gUnk_08103650:: @ 08103650 + .incbin "baserom.gba", 0x103650, 0x0000018 + +gUnk_08103668:: @ 08103668 + .incbin "baserom.gba", 0x103668, 0x0000018 + +gUnk_08103680:: @ 08103680 + .incbin "baserom.gba", 0x103680, 0x0000028 + +gUnk_081036A8:: @ 081036A8 + .incbin "baserom.gba", 0x1036A8, 0x0000018 + +gUnk_081036C0:: @ 081036C0 + .incbin "baserom.gba", 0x1036C0, 0x0000004 + +gUnk_081036C4:: @ 081036C4 + .incbin "baserom.gba", 0x1036C4, 0x0000018 + +gUnk_081036DC:: @ 081036DC + .incbin "baserom.gba", 0x1036DC, 0x0000018 + +gUnk_081036F4:: @ 081036F4 + .incbin "baserom.gba", 0x1036F4, 0x0000018 + +gUnk_0810370C:: @ 0810370C + .incbin "baserom.gba", 0x10370C, 0x000000C + +gUnk_08103718:: @ 08103718 + .incbin "baserom.gba", 0x103718, 0x0000018 + +gUnk_08103730:: @ 08103730 + .incbin "baserom.gba", 0x103730, 0x0000003 + +gUnk_08103733:: @ 08103733 + .incbin "baserom.gba", 0x103733, 0x0000015 + +gUnk_08103748:: @ 08103748 + .incbin "baserom.gba", 0x103748, 0x0000008 + +gUnk_08103750:: @ 08103750 + .incbin "baserom.gba", 0x103750, 0x0000015 + +gUnk_08103765:: @ 08103765 + .incbin "baserom.gba", 0x103765, 0x0000003 + +gUnk_08103768:: @ 08103768 + .incbin "baserom.gba", 0x103768, 0x0000004 + +gUnk_0810376C:: @ 0810376C + .incbin "baserom.gba", 0x10376C, 0x0000018 + +gUnk_08103784:: @ 08103784 + .incbin "baserom.gba", 0x103784, 0x0000004 + +gUnk_08103788:: @ 08103788 + .incbin "baserom.gba", 0x103788, 0x000000C + +gUnk_08103794:: @ 08103794 + .incbin "baserom.gba", 0x103794, 0x000000C + +gUnk_081037A0:: @ 081037A0 + .incbin "baserom.gba", 0x1037A0, 0x000000C + +gUnk_081037AC:: @ 081037AC + .incbin "baserom.gba", 0x1037AC, 0x000000C + +gUnk_081037B8:: @ 081037B8 + .incbin "baserom.gba", 0x1037B8, 0x000000C + +gUnk_081037C4:: @ 081037C4 + .incbin "baserom.gba", 0x1037C4, 0x0000018 + +gUnk_081037DC:: @ 081037DC + .incbin "baserom.gba", 0x1037DC, 0x0000080 + +gUnk_0810385C:: @ 0810385C + .incbin "baserom.gba", 0x10385C, 0x0000018 + +gUnk_08103874:: @ 08103874 + .incbin "baserom.gba", 0x103874, 0x0000018 + +gUnk_0810388C:: @ 0810388C + .incbin "baserom.gba", 0x10388C, 0x0000018 + +gUnk_081038A4:: @ 081038A4 + .incbin "baserom.gba", 0x1038A4, 0x0000018 + +gUnk_081038BC:: @ 081038BC + .incbin "baserom.gba", 0x1038BC, 0x0000018 + +gUnk_081038D4:: @ 081038D4 + .incbin "baserom.gba", 0x1038D4, 0x0000018 + +gUnk_081038EC:: @ 081038EC + .incbin "baserom.gba", 0x1038EC, 0x0000018 + +gUnk_08103904:: @ 08103904 + .incbin "baserom.gba", 0x103904, 0x000000C + +gUnk_08103910:: @ 08103910 + .incbin "baserom.gba", 0x103910, 0x000000C + +gUnk_0810391C:: @ 0810391C + .incbin "baserom.gba", 0x10391C, 0x0000018 + +gUnk_08103934:: @ 08103934 + .incbin "baserom.gba", 0x103934, 0x0000018 + +gUnk_0810394C:: @ 0810394C + .incbin "baserom.gba", 0x10394C, 0x0000018 + +gUnk_08103964:: @ 08103964 + .incbin "baserom.gba", 0x103964, 0x0000018 + +gUnk_0810397C:: @ 0810397C + .incbin "baserom.gba", 0x10397C, 0x0000018 + +gUnk_08103994:: @ 08103994 + .incbin "baserom.gba", 0x103994, 0x0000018 + +gUnk_081039AC:: @ 081039AC + .incbin "baserom.gba", 0x1039AC, 0x0000018 + +gUnk_081039C4:: @ 081039C4 + .incbin "baserom.gba", 0x1039C4, 0x0000018 + +gUnk_081039DC:: @ 081039DC + .incbin "baserom.gba", 0x1039DC, 0x0000018 + +gUnk_081039F4:: @ 081039F4 + .incbin "baserom.gba", 0x1039F4, 0x000000C + +gUnk_08103A00:: @ 08103A00 + .incbin "baserom.gba", 0x103A00, 0x0000010 + +gUnk_08103A10:: @ 08103A10 + .incbin "baserom.gba", 0x103A10, 0x0000028 + +gUnk_08103A38:: @ 08103A38 + .incbin "baserom.gba", 0x103A38, 0x0000018 + +gUnk_08103A50:: @ 08103A50 + .incbin "baserom.gba", 0x103A50, 0x0000018 + +gUnk_08103A68:: @ 08103A68 + .incbin "baserom.gba", 0x103A68, 0x0000018 + +gUnk_08103A80:: @ 08103A80 + .incbin "baserom.gba", 0x103A80, 0x0000020 + +gUnk_08103AA0:: @ 08103AA0 + .incbin "baserom.gba", 0x103AA0, 0x0000018 + +gUnk_08103AB8:: @ 08103AB8 + .incbin "baserom.gba", 0x103AB8, 0x0000004 + +gUnk_08103ABC:: @ 08103ABC + .incbin "baserom.gba", 0x103ABC, 0x0000018 + +gUnk_08103AD4:: @ 08103AD4 + .incbin "baserom.gba", 0x103AD4, 0x0000004 + +gUnk_08103AD8:: @ 08103AD8 + .incbin "baserom.gba", 0x103AD8, 0x0000018 + +gUnk_08103AF0:: @ 08103AF0 + .incbin "baserom.gba", 0x103AF0, 0x0000018 + +gUnk_08103B08:: @ 08103B08 + .incbin "baserom.gba", 0x103B08, 0x0000008 + +gUnk_08103B10:: @ 08103B10 + .incbin "baserom.gba", 0x103B10, 0x0000008 + +gUnk_08103B18:: @ 08103B18 + .incbin "baserom.gba", 0x103B18, 0x0000018 + +gUnk_08103B30:: @ 08103B30 + .incbin "baserom.gba", 0x103B30, 0x0000004 + +gUnk_08103B34:: @ 08103B34 + .incbin "baserom.gba", 0x103B34, 0x0000018 + +gUnk_08103B4C:: @ 08103B4C + .incbin "baserom.gba", 0x103B4C, 0x0000004 + +gUnk_08103B50:: @ 08103B50 + .incbin "baserom.gba", 0x103B50, 0x0000018 + +gUnk_08103B68:: @ 08103B68 + .incbin "baserom.gba", 0x103B68, 0x0000004 + +gUnk_08103B6C:: @ 08103B6C + .incbin "baserom.gba", 0x103B6C, 0x0000018 + +gUnk_08103B84:: @ 08103B84 + .incbin "baserom.gba", 0x103B84, 0x0000018 + +gUnk_08103B9C:: @ 08103B9C + .incbin "baserom.gba", 0x103B9C, 0x0000018 + +gUnk_08103BB4:: @ 08103BB4 + .incbin "baserom.gba", 0x103BB4, 0x0000018 + +gUnk_08103BCC:: @ 08103BCC + .incbin "baserom.gba", 0x103BCC, 0x0000018 + +gUnk_08103BE4:: @ 08103BE4 + .incbin "baserom.gba", 0x103BE4, 0x0000014 + +gUnk_08103BF8:: @ 08103BF8 + .incbin "baserom.gba", 0x103BF8, 0x0000009 + +gUnk_08103C01:: @ 08103C01 + .incbin "baserom.gba", 0x103C01, 0x000000F + +gUnk_08103C10:: @ 08103C10 + .incbin "baserom.gba", 0x103C10, 0x0000018 + +gUnk_08103C28:: @ 08103C28 + .incbin "baserom.gba", 0x103C28, 0x0000008 + +gUnk_08103C30:: @ 08103C30 + .incbin "baserom.gba", 0x103C30, 0x0000018 + +gUnk_08103C48:: @ 08103C48 + .incbin "baserom.gba", 0x103C48, 0x0000008 + +gUnk_08103C50:: @ 08103C50 + .incbin "baserom.gba", 0x103C50, 0x0000018 + +gUnk_08103C68:: @ 08103C68 + .incbin "baserom.gba", 0x103C68, 0x0000018 + +gUnk_08103C80:: @ 08103C80 + .incbin "baserom.gba", 0x103C80, 0x0000008 + +gUnk_08103C88:: @ 08103C88 + .incbin "baserom.gba", 0x103C88, 0x0000018 + +gUnk_08103CA0:: @ 08103CA0 + .incbin "baserom.gba", 0x103CA0, 0x0000004 + +gUnk_08103CA4:: @ 08103CA4 + .incbin "baserom.gba", 0x103CA4, 0x000000C + +gUnk_08103CB0:: @ 08103CB0 + .incbin "baserom.gba", 0x103CB0, 0x000000C + +gUnk_08103CBC:: @ 08103CBC + .incbin "baserom.gba", 0x103CBC, 0x000000C + +gUnk_08103CC8:: @ 08103CC8 + .incbin "baserom.gba", 0x103CC8, 0x000000C + +gUnk_08103CD4:: @ 08103CD4 + .incbin "baserom.gba", 0x103CD4, 0x000000C + +gUnk_08103CE0:: @ 08103CE0 + .incbin "baserom.gba", 0x103CE0, 0x0000014 + +gUnk_08103CF4:: @ 08103CF4 + .incbin "baserom.gba", 0x103CF4, 0x000000C + +gUnk_08103D00:: @ 08103D00 + .incbin "baserom.gba", 0x103D00, 0x000000C + +gUnk_08103D0C:: @ 08103D0C + .incbin "baserom.gba", 0x103D0C, 0x000000C + +gUnk_08103D18:: @ 08103D18 + .incbin "baserom.gba", 0x103D18, 0x000000C + +gUnk_08103D24:: @ 08103D24 + .incbin "baserom.gba", 0x103D24, 0x0000010 + +gUnk_08103D34:: @ 08103D34 + .incbin "baserom.gba", 0x103D34, 0x0000024 + +gUnk_08103D58:: @ 08103D58 + .incbin "baserom.gba", 0x103D58, 0x0000024 + +gUnk_08103D7C:: @ 08103D7C + .incbin "baserom.gba", 0x103D7C, 0x0000024 + +gUnk_08103DA0:: @ 08103DA0 + .incbin "baserom.gba", 0x103DA0, 0x0000024 + +gUnk_08103DC4:: @ 08103DC4 + .incbin "baserom.gba", 0x103DC4, 0x0000024 + +gUnk_08103DE8:: @ 08103DE8 + .incbin "baserom.gba", 0x103DE8, 0x0000024 + +gUnk_08103E0C:: @ 08103E0C + .incbin "baserom.gba", 0x103E0C, 0x0000024 + +gUnk_08103E30:: @ 08103E30 + .incbin "baserom.gba", 0x103E30, 0x0000024 + +gUnk_08103E54:: @ 08103E54 + .incbin "baserom.gba", 0x103E54, 0x0000024 + +gUnk_08103E78:: @ 08103E78 + .incbin "baserom.gba", 0x103E78, 0x0000024 + +gUnk_08103E9C:: @ 08103E9C + .incbin "baserom.gba", 0x103E9C, 0x0000024 + +gUnk_08103EC0:: @ 08103EC0 + .incbin "baserom.gba", 0x103EC0, 0x0000024 + +gUnk_08103EE4:: @ 08103EE4 + .incbin "baserom.gba", 0x103EE4, 0x0000024 + +gUnk_08103F08:: @ 08103F08 + .incbin "baserom.gba", 0x103F08, 0x0000024 + +gUnk_08103F2C:: @ 08103F2C + .incbin "baserom.gba", 0x103F2C, 0x0000024 + +gUnk_08103F50:: @ 08103F50 + .incbin "baserom.gba", 0x103F50, 0x0000024 + +gUnk_08103F74:: @ 08103F74 + .incbin "baserom.gba", 0x103F74, 0x0000024 + +gUnk_08103F98:: @ 08103F98 + .incbin "baserom.gba", 0x103F98, 0x0000024 + +gUnk_08103FBC:: @ 08103FBC + .incbin "baserom.gba", 0x103FBC, 0x0000024 + +gUnk_08103FE0:: @ 08103FE0 + .incbin "baserom.gba", 0x103FE0, 0x0000024 + +gUnk_08104004:: @ 08104004 + .incbin "baserom.gba", 0x104004, 0x000001C + +gUnk_08104020:: @ 08104020 + .incbin "baserom.gba", 0x104020, 0x0000008 + +gUnk_08104028:: @ 08104028 + .incbin "baserom.gba", 0x104028, 0x00000A0 + +gUnk_081040C8:: @ 081040C8 + .incbin "baserom.gba", 0x1040C8, 0x0000024 + +gUnk_081040EC:: @ 081040EC + .incbin "baserom.gba", 0x1040EC, 0x0000024 + +gUnk_08104110:: @ 08104110 + .incbin "baserom.gba", 0x104110, 0x0000024 + +gUnk_08104134:: @ 08104134 + .incbin "baserom.gba", 0x104134, 0x0000024 + +gUnk_08104158:: @ 08104158 + .incbin "baserom.gba", 0x104158, 0x0000024 + +gUnk_0810417C:: @ 0810417C + .incbin "baserom.gba", 0x10417C, 0x0000024 + +gUnk_081041A0:: @ 081041A0 + .incbin "baserom.gba", 0x1041A0, 0x0000024 + +gUnk_081041C4:: @ 081041C4 + .incbin "baserom.gba", 0x1041C4, 0x0000024 + +gUnk_081041E8:: @ 081041E8 + .incbin "baserom.gba", 0x1041E8, 0x0000018 + +gUnk_08104200:: @ 08104200 + .incbin "baserom.gba", 0x104200, 0x000000C + +gUnk_0810420C:: @ 0810420C + .incbin "baserom.gba", 0x10420C, 0x0000004 + +gUnk_08104210:: @ 08104210 + .incbin "baserom.gba", 0x104210, 0x00000BC + +gUnk_081042CC:: @ 081042CC + .incbin "baserom.gba", 0x1042CC, 0x0000018 + +gUnk_081042E4:: @ 081042E4 + .incbin "baserom.gba", 0x1042E4, 0x0000018 + +gUnk_081042FC:: @ 081042FC + .incbin "baserom.gba", 0x1042FC, 0x0000014 + +gUnk_08104310:: @ 08104310 + .incbin "baserom.gba", 0x104310, 0x0000004 + +gUnk_08104314:: @ 08104314 + .incbin "baserom.gba", 0x104314, 0x000000D + +gUnk_08104321:: @ 08104321 + .incbin "baserom.gba", 0x104321, 0x000000B + +gUnk_0810432C:: @ 0810432C + .incbin "baserom.gba", 0x10432C, 0x0000018 + +gUnk_08104344:: @ 08104344 + .incbin "baserom.gba", 0x104344, 0x0000018 + +gUnk_0810435C:: @ 0810435C + .incbin "baserom.gba", 0x10435C, 0x0000018 + +gUnk_08104374:: @ 08104374 + .incbin "baserom.gba", 0x104374, 0x0000018 + +gUnk_0810438C:: @ 0810438C + .incbin "baserom.gba", 0x10438C, 0x0000018 + +gUnk_081043A4:: @ 081043A4 + .incbin "baserom.gba", 0x1043A4, 0x0000018 + +gUnk_081043BC:: @ 081043BC + .incbin "baserom.gba", 0x1043BC, 0x0000018 + +gUnk_081043D4:: @ 081043D4 + .incbin "baserom.gba", 0x1043D4, 0x0000018 + +gUnk_081043EC:: @ 081043EC + .incbin "baserom.gba", 0x1043EC, 0x0000018 + +gUnk_08104404:: @ 08104404 + .incbin "baserom.gba", 0x104404, 0x0000040 + +gUnk_08104444:: @ 08104444 + .incbin "baserom.gba", 0x104444, 0x0000018 + +gUnk_0810445C:: @ 0810445C + .incbin "baserom.gba", 0x10445C, 0x0000018 + +gUnk_08104474:: @ 08104474 + .incbin "baserom.gba", 0x104474, 0x0000018 + +gUnk_0810448C:: @ 0810448C + .incbin "baserom.gba", 0x10448C, 0x0000018 + +gUnk_081044A4:: @ 081044A4 + .incbin "baserom.gba", 0x1044A4, 0x0000018 + +gUnk_081044BC:: @ 081044BC + .incbin "baserom.gba", 0x1044BC, 0x0000018 + +gUnk_081044D4:: @ 081044D4 + .incbin "baserom.gba", 0x1044D4, 0x0000018 + +gUnk_081044EC:: @ 081044EC + .incbin "baserom.gba", 0x1044EC, 0x0000018 + +gUnk_08104504:: @ 08104504 + .incbin "baserom.gba", 0x104504, 0x0000018 + +gUnk_0810451C:: @ 0810451C + .incbin "baserom.gba", 0x10451C, 0x0000018 + +gUnk_08104534:: @ 08104534 + .incbin "baserom.gba", 0x104534, 0x0000018 + +gUnk_0810454C:: @ 0810454C + .incbin "baserom.gba", 0x10454C, 0x0000018 + +gUnk_08104564:: @ 08104564 + .incbin "baserom.gba", 0x104564, 0x0000018 + +gUnk_0810457C:: @ 0810457C + .incbin "baserom.gba", 0x10457C, 0x0000018 + +gUnk_08104594:: @ 08104594 + .incbin "baserom.gba", 0x104594, 0x0000018 + +gUnk_081045AC:: @ 081045AC + .incbin "baserom.gba", 0x1045AC, 0x0000018 + +gUnk_081045C4:: @ 081045C4 + .incbin "baserom.gba", 0x1045C4, 0x0000018 + +gUnk_081045DC:: @ 081045DC + .incbin "baserom.gba", 0x1045DC, 0x0000018 + +gUnk_081045F4:: @ 081045F4 + .incbin "baserom.gba", 0x1045F4, 0x0000018 + +gUnk_0810460C:: @ 0810460C + .incbin "baserom.gba", 0x10460C, 0x00000C0 + +gUnk_081046CC:: @ 081046CC + .incbin "baserom.gba", 0x1046CC, 0x0000018 + +gUnk_081046E4:: @ 081046E4 + .incbin "baserom.gba", 0x1046E4, 0x0000018 + +gUnk_081046FC:: @ 081046FC + .incbin "baserom.gba", 0x1046FC, 0x0000018 + +gUnk_08104714:: @ 08104714 + .incbin "baserom.gba", 0x104714, 0x0000018 + +gUnk_0810472C:: @ 0810472C + .incbin "baserom.gba", 0x10472C, 0x0000018 + +gUnk_08104744:: @ 08104744 + .incbin "baserom.gba", 0x104744, 0x0000018 + +gUnk_0810475C:: @ 0810475C + .incbin "baserom.gba", 0x10475C, 0x0000040 + +gUnk_0810479C:: @ 0810479C + .incbin "baserom.gba", 0x10479C, 0x0000018 + +gUnk_081047B4:: @ 081047B4 + .incbin "baserom.gba", 0x1047B4, 0x0000018 + +gUnk_081047CC:: @ 081047CC + .incbin "baserom.gba", 0x1047CC, 0x0000018 + +gUnk_081047E4:: @ 081047E4 + .incbin "baserom.gba", 0x1047E4, 0x0000018 + +gUnk_081047FC:: @ 081047FC + .incbin "baserom.gba", 0x1047FC, 0x0000018 + +gUnk_08104814:: @ 08104814 + .incbin "baserom.gba", 0x104814, 0x0000018 + +gUnk_0810482C:: @ 0810482C + .incbin "baserom.gba", 0x10482C, 0x0000018 + +gUnk_08104844:: @ 08104844 + .incbin "baserom.gba", 0x104844, 0x0000018 + +gUnk_0810485C:: @ 0810485C + .incbin "baserom.gba", 0x10485C, 0x0000018 + +gUnk_08104874:: @ 08104874 + .incbin "baserom.gba", 0x104874, 0x0000024 + +gUnk_08104898:: @ 08104898 + .incbin "baserom.gba", 0x104898, 0x0000018 + +gUnk_081048B0:: @ 081048B0 + .incbin "baserom.gba", 0x1048B0, 0x0000018 + +gUnk_081048C8:: @ 081048C8 + .incbin "baserom.gba", 0x1048C8, 0x0000018 + +gUnk_081048E0:: @ 081048E0 + .incbin "baserom.gba", 0x1048E0, 0x0000018 + +gUnk_081048F8:: @ 081048F8 + .incbin "baserom.gba", 0x1048F8, 0x0000018 + +gUnk_08104910:: @ 08104910 + .incbin "baserom.gba", 0x104910, 0x0000018 + +gUnk_08104928:: @ 08104928 + .incbin "baserom.gba", 0x104928, 0x000000A + +gUnk_08104932:: @ 08104932 + .incbin "baserom.gba", 0x104932, 0x000000E + +gUnk_08104940:: @ 08104940 + .incbin "baserom.gba", 0x104940, 0x0000018 + +gUnk_08104958:: @ 08104958 + .incbin "baserom.gba", 0x104958, 0x0000018 + +gUnk_08104970:: @ 08104970 + .incbin "baserom.gba", 0x104970, 0x0000018 + +gUnk_08104988:: @ 08104988 + .incbin "baserom.gba", 0x104988, 0x0000018 + +gUnk_081049A0:: @ 081049A0 + .incbin "baserom.gba", 0x1049A0, 0x0000018 + +gUnk_081049B8:: @ 081049B8 + .incbin "baserom.gba", 0x1049B8, 0x0000018 + +gUnk_081049D0:: @ 081049D0 + .incbin "baserom.gba", 0x1049D0, 0x0000018 + +gUnk_081049E8:: @ 081049E8 + .incbin "baserom.gba", 0x1049E8, 0x0000018 + +gUnk_08104A00:: @ 08104A00 + .incbin "baserom.gba", 0x104A00, 0x0000010 + +gUnk_08104A10:: @ 08104A10 + .incbin "baserom.gba", 0x104A10, 0x0000008 + +gUnk_08104A18:: @ 08104A18 + .incbin "baserom.gba", 0x104A18, 0x000000D + +gUnk_08104A25:: @ 08104A25 + .incbin "baserom.gba", 0x104A25, 0x000000B + +gUnk_08104A30:: @ 08104A30 + .incbin "baserom.gba", 0x104A30, 0x0000080 + +gUnk_08104AB0:: @ 08104AB0 + .incbin "baserom.gba", 0x104AB0, 0x0000018 + +gUnk_08104AC8:: @ 08104AC8 + .incbin "baserom.gba", 0x104AC8, 0x0000018 + +gUnk_08104AE0:: @ 08104AE0 + .incbin "baserom.gba", 0x104AE0, 0x0000018 + +gUnk_08104AF8:: @ 08104AF8 + .incbin "baserom.gba", 0x104AF8, 0x000000B + +gUnk_08104B03:: @ 08104B03 + .incbin "baserom.gba", 0x104B03, 0x000000D + +gUnk_08104B10:: @ 08104B10 + .incbin "baserom.gba", 0x104B10, 0x0000018 + +gUnk_08104B28:: @ 08104B28 + .incbin "baserom.gba", 0x104B28, 0x0000018 + +gUnk_08104B40:: @ 08104B40 + .incbin "baserom.gba", 0x104B40, 0x0000018 + +gUnk_08104B58:: @ 08104B58 + .incbin "baserom.gba", 0x104B58, 0x0000018 + +gUnk_08104B70:: @ 08104B70 + .incbin "baserom.gba", 0x104B70, 0x0000018 + +gUnk_08104B88:: @ 08104B88 + .incbin "baserom.gba", 0x104B88, 0x0000018 + +gUnk_08104BA0:: @ 08104BA0 + .incbin "baserom.gba", 0x104BA0, 0x0000018 + +gUnk_08104BB8:: @ 08104BB8 + .incbin "baserom.gba", 0x104BB8, 0x0000018 + +gUnk_08104BD0:: @ 08104BD0 + .incbin "baserom.gba", 0x104BD0, 0x0000018 + +gUnk_08104BE8:: @ 08104BE8 + .incbin "baserom.gba", 0x104BE8, 0x0000018 + +gUnk_08104C00:: @ 08104C00 + .incbin "baserom.gba", 0x104C00, 0x0000040 + +gUnk_08104C40:: @ 08104C40 + .incbin "baserom.gba", 0x104C40, 0x0000018 + +gUnk_08104C58:: @ 08104C58 + .incbin "baserom.gba", 0x104C58, 0x0000018 + +gUnk_08104C70:: @ 08104C70 + .incbin "baserom.gba", 0x104C70, 0x0000018 + +gUnk_08104C88:: @ 08104C88 + .incbin "baserom.gba", 0x104C88, 0x0000018 + +gUnk_08104CA0:: @ 08104CA0 + .incbin "baserom.gba", 0x104CA0, 0x0000018 + +gUnk_08104CB8:: @ 08104CB8 + .incbin "baserom.gba", 0x104CB8, 0x0000018 + +gUnk_08104CD0:: @ 08104CD0 + .incbin "baserom.gba", 0x104CD0, 0x0000018 + +gUnk_08104CE8:: @ 08104CE8 + .incbin "baserom.gba", 0x104CE8, 0x0000018 + +gUnk_08104D00:: @ 08104D00 + .incbin "baserom.gba", 0x104D00, 0x0000018 + +gUnk_08104D18:: @ 08104D18 + .incbin "baserom.gba", 0x104D18, 0x0000018 + +gUnk_08104D30:: @ 08104D30 + .incbin "baserom.gba", 0x104D30, 0x0000018 + +gUnk_08104D48:: @ 08104D48 + .incbin "baserom.gba", 0x104D48, 0x0000018 + +gUnk_08104D60:: @ 08104D60 + .incbin "baserom.gba", 0x104D60, 0x0000018 + +gUnk_08104D78:: @ 08104D78 + .incbin "baserom.gba", 0x104D78, 0x0000018 + +gUnk_08104D90:: @ 08104D90 + .incbin "baserom.gba", 0x104D90, 0x0000018 + +gUnk_08104DA8:: @ 08104DA8 + .incbin "baserom.gba", 0x104DA8, 0x0000018 + +gUnk_08104DC0:: @ 08104DC0 + .incbin "baserom.gba", 0x104DC0, 0x0000018 + +gUnk_08104DD8:: @ 08104DD8 + .incbin "baserom.gba", 0x104DD8, 0x0000018 + +gUnk_08104DF0:: @ 08104DF0 + .incbin "baserom.gba", 0x104DF0, 0x0000048 + +gUnk_08104E38:: @ 08104E38 + .incbin "baserom.gba", 0x104E38, 0x0000018 + +gUnk_08104E50:: @ 08104E50 + .incbin "baserom.gba", 0x104E50, 0x0000018 + +gUnk_08104E68:: @ 08104E68 + .incbin "baserom.gba", 0x104E68, 0x0000018 + +gUnk_08104E80:: @ 08104E80 + .incbin "baserom.gba", 0x104E80, 0x0000018 + +gUnk_08104E98:: @ 08104E98 + .incbin "baserom.gba", 0x104E98, 0x0000018 + +gUnk_08104EB0:: @ 08104EB0 + .incbin "baserom.gba", 0x104EB0, 0x0000018 + +gUnk_08104EC8:: @ 08104EC8 + .incbin "baserom.gba", 0x104EC8, 0x0000018 + +gUnk_08104EE0:: @ 08104EE0 + .incbin "baserom.gba", 0x104EE0, 0x0000018 + +gUnk_08104EF8:: @ 08104EF8 + .incbin "baserom.gba", 0x104EF8, 0x0000018 + +gUnk_08104F10:: @ 08104F10 + .incbin "baserom.gba", 0x104F10, 0x0000018 + +gUnk_08104F28:: @ 08104F28 + .incbin "baserom.gba", 0x104F28, 0x0000018 + +gUnk_08104F40:: @ 08104F40 + .incbin "baserom.gba", 0x104F40, 0x000002C + +gUnk_08104F6C:: @ 08104F6C + .incbin "baserom.gba", 0x104F6C, 0x000000C + +gUnk_08104F78:: @ 08104F78 + .incbin "baserom.gba", 0x104F78, 0x000000C + +gUnk_08104F84:: @ 08104F84 + .incbin "baserom.gba", 0x104F84, 0x000000C + +gUnk_08104F90:: @ 08104F90 + .incbin "baserom.gba", 0x104F90, 0x000000C + +gUnk_08104F9C:: @ 08104F9C + .incbin "baserom.gba", 0x104F9C, 0x0000010 + +gUnk_08104FAC:: @ 08104FAC + .incbin "baserom.gba", 0x104FAC, 0x0000018 + +gUnk_08104FC4:: @ 08104FC4 + .incbin "baserom.gba", 0x104FC4, 0x0000018 + +gUnk_08104FDC:: @ 08104FDC + .incbin "baserom.gba", 0x104FDC, 0x0000008 + +gUnk_08104FE4:: @ 08104FE4 + .incbin "baserom.gba", 0x104FE4, 0x0000018 + +gUnk_08104FFC:: @ 08104FFC + .incbin "baserom.gba", 0x104FFC, 0x0000018 + +gUnk_08105014:: @ 08105014 + .incbin "baserom.gba", 0x105014, 0x0000018 + +gUnk_0810502C:: @ 0810502C + .incbin "baserom.gba", 0x10502C, 0x0000018 + +gUnk_08105044:: @ 08105044 + .incbin "baserom.gba", 0x105044, 0x0000010 + +gUnk_08105054:: @ 08105054 + .incbin "baserom.gba", 0x105054, 0x0000018 + +gUnk_0810506C:: @ 0810506C + .incbin "baserom.gba", 0x10506C, 0x0000004 + +gUnk_08105070:: @ 08105070 + .incbin "baserom.gba", 0x105070, 0x0000018 + +gUnk_08105088:: @ 08105088 + .incbin "baserom.gba", 0x105088, 0x0000018 + +gUnk_081050A0:: @ 081050A0 + .incbin "baserom.gba", 0x1050A0, 0x0000018 + +gUnk_081050B8:: @ 081050B8 + .incbin "baserom.gba", 0x1050B8, 0x0000018 + +gUnk_081050D0:: @ 081050D0 + .incbin "baserom.gba", 0x1050D0, 0x0000018 + +gUnk_081050E8:: @ 081050E8 + .incbin "baserom.gba", 0x1050E8, 0x0000018 + +gUnk_08105100:: @ 08105100 + .incbin "baserom.gba", 0x105100, 0x0000018 + +gUnk_08105118:: @ 08105118 + .incbin "baserom.gba", 0x105118, 0x0000018 + +gUnk_08105130:: @ 08105130 + .incbin "baserom.gba", 0x105130, 0x0000010 + +gUnk_08105140:: @ 08105140 + .incbin "baserom.gba", 0x105140, 0x0000008 + +gUnk_08105148:: @ 08105148 + .incbin "baserom.gba", 0x105148, 0x0000018 + +gUnk_08105160:: @ 08105160 + .incbin "baserom.gba", 0x105160, 0x0000028 + +gUnk_08105188:: @ 08105188 + .incbin "baserom.gba", 0x105188, 0x0000018 + +gUnk_081051A0:: @ 081051A0 + .incbin "baserom.gba", 0x1051A0, 0x0000018 + +gUnk_081051B8:: @ 081051B8 + .incbin "baserom.gba", 0x1051B8, 0x0000008 + +gUnk_081051C0:: @ 081051C0 + .incbin "baserom.gba", 0x1051C0, 0x0000018 + +gUnk_081051D8:: @ 081051D8 + .incbin "baserom.gba", 0x1051D8, 0x0000018 + +gUnk_081051F0:: @ 081051F0 + .incbin "baserom.gba", 0x1051F0, 0x0000008 + +gUnk_081051F8:: @ 081051F8 + .incbin "baserom.gba", 0x1051F8, 0x000000E + +gUnk_08105206:: @ 08105206 + .incbin "baserom.gba", 0x105206, 0x000000A + +gUnk_08105210:: @ 08105210 + .incbin "baserom.gba", 0x105210, 0x0000004 + +gUnk_08105214:: @ 08105214 + .incbin "baserom.gba", 0x105214, 0x0000018 + +gUnk_0810522C:: @ 0810522C + .incbin "baserom.gba", 0x10522C, 0x0000018 + +gUnk_08105244:: @ 08105244 + .incbin "baserom.gba", 0x105244, 0x0000008 + +gUnk_0810524C:: @ 0810524C + .incbin "baserom.gba", 0x10524C, 0x0000018 + +gUnk_08105264:: @ 08105264 + .incbin "baserom.gba", 0x105264, 0x0000018 + +gUnk_0810527C:: @ 0810527C + .incbin "baserom.gba", 0x10527C, 0x0000008 + +gUnk_08105284:: @ 08105284 + .incbin "baserom.gba", 0x105284, 0x0000018 + +gUnk_0810529C:: @ 0810529C + .incbin "baserom.gba", 0x10529C, 0x0000018 + +gUnk_081052B4:: @ 081052B4 + .incbin "baserom.gba", 0x1052B4, 0x0000008 + +gUnk_081052BC:: @ 081052BC + .incbin "baserom.gba", 0x1052BC, 0x0000018 + +gUnk_081052D4:: @ 081052D4 + .incbin "baserom.gba", 0x1052D4, 0x0000004 + +gUnk_081052D8:: @ 081052D8 + .incbin "baserom.gba", 0x1052D8, 0x0000018 + +gUnk_081052F0:: @ 081052F0 + .incbin "baserom.gba", 0x1052F0, 0x0000018 + +gUnk_08105308:: @ 08105308 + .incbin "baserom.gba", 0x105308, 0x0000018 + +gUnk_08105320:: @ 08105320 + .incbin "baserom.gba", 0x105320, 0x0000018 + +gUnk_08105338:: @ 08105338 + .incbin "baserom.gba", 0x105338, 0x0000018 + +gUnk_08105350:: @ 08105350 + .incbin "baserom.gba", 0x105350, 0x0000018 + +gUnk_08105368:: @ 08105368 + .incbin "baserom.gba", 0x105368, 0x0000018 + +gUnk_08105380:: @ 08105380 + .incbin "baserom.gba", 0x105380, 0x0000018 + +gUnk_08105398:: @ 08105398 + .incbin "baserom.gba", 0x105398, 0x0000018 + +gUnk_081053B0:: @ 081053B0 + .incbin "baserom.gba", 0x1053B0, 0x0000024 + +gUnk_081053D4:: @ 081053D4 + .incbin "baserom.gba", 0x1053D4, 0x0000018 + +gUnk_081053EC:: @ 081053EC + .incbin "baserom.gba", 0x1053EC, 0x0000018 + +gUnk_08105404:: @ 08105404 + .incbin "baserom.gba", 0x105404, 0x0000018 + +gUnk_0810541C:: @ 0810541C + .incbin "baserom.gba", 0x10541C, 0x0000018 + +gUnk_08105434:: @ 08105434 + .incbin "baserom.gba", 0x105434, 0x0000018 + +gUnk_0810544C:: @ 0810544C + .incbin "baserom.gba", 0x10544C, 0x0000018 + +gUnk_08105464:: @ 08105464 + .incbin "baserom.gba", 0x105464, 0x0000018 + +gUnk_0810547C:: @ 0810547C + .incbin "baserom.gba", 0x10547C, 0x0000018 + +gUnk_08105494:: @ 08105494 + .incbin "baserom.gba", 0x105494, 0x0000018 + +gUnk_081054AC:: @ 081054AC + .incbin "baserom.gba", 0x1054AC, 0x0000018 + +gUnk_081054C4:: @ 081054C4 + .incbin "baserom.gba", 0x1054C4, 0x0000018 + +gUnk_081054DC:: @ 081054DC + .incbin "baserom.gba", 0x1054DC, 0x0000018 + +gUnk_081054F4:: @ 081054F4 + .incbin "baserom.gba", 0x1054F4, 0x0000018 + +gUnk_0810550C:: @ 0810550C + .incbin "baserom.gba", 0x10550C, 0x0000018 + +gUnk_08105524:: @ 08105524 + .incbin "baserom.gba", 0x105524, 0x0000018 + +gUnk_0810553C:: @ 0810553C + .incbin "baserom.gba", 0x10553C, 0x0000018 + +gUnk_08105554:: @ 08105554 + .incbin "baserom.gba", 0x105554, 0x0000018 + +gUnk_0810556C:: @ 0810556C + .incbin "baserom.gba", 0x10556C, 0x0000018 + +gUnk_08105584:: @ 08105584 + .incbin "baserom.gba", 0x105584, 0x0000018 + +gUnk_0810559C:: @ 0810559C + .incbin "baserom.gba", 0x10559C, 0x0000018 + +gUnk_081055B4:: @ 081055B4 + .incbin "baserom.gba", 0x1055B4, 0x0000018 + +gUnk_081055CC:: @ 081055CC + .incbin "baserom.gba", 0x1055CC, 0x0000018 + +gUnk_081055E4:: @ 081055E4 + .incbin "baserom.gba", 0x1055E4, 0x000001C + +gUnk_08105600:: @ 08105600 + .incbin "baserom.gba", 0x105600, 0x0000019 + +gUnk_08105619:: @ 08105619 + .incbin "baserom.gba", 0x105619, 0x000004F + +gUnk_08105668:: @ 08105668 + .incbin "baserom.gba", 0x105668, 0x0000004 + +gUnk_0810566C:: @ 0810566C + .incbin "baserom.gba", 0x10566C, 0x0000004 + +gUnk_08105670:: @ 08105670 + .incbin "baserom.gba", 0x105670, 0x0000018 + +gUnk_08105688:: @ 08105688 + .incbin "baserom.gba", 0x105688, 0x0000018 + +gUnk_081056A0:: @ 081056A0 + .incbin "baserom.gba", 0x1056A0, 0x0000018 + +gUnk_081056B8:: @ 081056B8 + .incbin "baserom.gba", 0x1056B8, 0x0000018 + +gUnk_081056D0:: @ 081056D0 + .incbin "baserom.gba", 0x1056D0, 0x0000018 + +gUnk_081056E8:: @ 081056E8 + .incbin "baserom.gba", 0x1056E8, 0x0000018 + +gUnk_08105700:: @ 08105700 + .incbin "baserom.gba", 0x105700, 0x0000010 + +gUnk_08105710:: @ 08105710 + .incbin "baserom.gba", 0x105710, 0x0000008 + +gUnk_08105718:: @ 08105718 + .incbin "baserom.gba", 0x105718, 0x0000018 + +gUnk_08105730:: @ 08105730 + .incbin "baserom.gba", 0x105730, 0x0000018 + +gUnk_08105748:: @ 08105748 + .incbin "baserom.gba", 0x105748, 0x0000018 + +gUnk_08105760:: @ 08105760 + .incbin "baserom.gba", 0x105760, 0x0000018 + +gUnk_08105778:: @ 08105778 + .incbin "baserom.gba", 0x105778, 0x0000018 + +gUnk_08105790:: @ 08105790 + .incbin "baserom.gba", 0x105790, 0x0000018 + +gUnk_081057A8:: @ 081057A8 + .incbin "baserom.gba", 0x1057A8, 0x0000018 + +gUnk_081057C0:: @ 081057C0 + .incbin "baserom.gba", 0x1057C0, 0x0000018 + +gUnk_081057D8:: @ 081057D8 + .incbin "baserom.gba", 0x1057D8, 0x0000018 + +gUnk_081057F0:: @ 081057F0 + .incbin "baserom.gba", 0x1057F0, 0x0000018 + +gUnk_08105808:: @ 08105808 + .incbin "baserom.gba", 0x105808, 0x0000018 + +gUnk_08105820:: @ 08105820 + .incbin "baserom.gba", 0x105820, 0x0000060 + +gUnk_08105880:: @ 08105880 + .incbin "baserom.gba", 0x105880, 0x0000018 + +gUnk_08105898:: @ 08105898 + .incbin "baserom.gba", 0x105898, 0x0000004 + +gUnk_0810589C:: @ 0810589C + .incbin "baserom.gba", 0x10589C, 0x0000018 + +gUnk_081058B4:: @ 081058B4 + .incbin "baserom.gba", 0x1058B4, 0x0000018 + +gUnk_081058CC:: @ 081058CC + .incbin "baserom.gba", 0x1058CC, 0x0000018 + +gUnk_081058E4:: @ 081058E4 + .incbin "baserom.gba", 0x1058E4, 0x0000018 + +gUnk_081058FC:: @ 081058FC + .incbin "baserom.gba", 0x1058FC, 0x000000E + +gUnk_0810590A:: @ 0810590A + .incbin "baserom.gba", 0x10590A, 0x000000A + +gUnk_08105914:: @ 08105914 + .incbin "baserom.gba", 0x105914, 0x0000018 + +gUnk_0810592C:: @ 0810592C + .incbin "baserom.gba", 0x10592C, 0x0000018 + +gUnk_08105944:: @ 08105944 + .incbin "baserom.gba", 0x105944, 0x0000018 + +gUnk_0810595C:: @ 0810595C + .incbin "baserom.gba", 0x10595C, 0x0000018 + +gUnk_08105974:: @ 08105974 + .incbin "baserom.gba", 0x105974, 0x0000018 + +gUnk_0810598C:: @ 0810598C + .incbin "baserom.gba", 0x10598C, 0x0000018 + +gUnk_081059A4:: @ 081059A4 + .incbin "baserom.gba", 0x1059A4, 0x0000018 + +gUnk_081059BC:: @ 081059BC + .incbin "baserom.gba", 0x1059BC, 0x0000018 + +gUnk_081059D4:: @ 081059D4 + .incbin "baserom.gba", 0x1059D4, 0x0000018 + +gUnk_081059EC:: @ 081059EC + .incbin "baserom.gba", 0x1059EC, 0x0000018 + +gUnk_08105A04:: @ 08105A04 + .incbin "baserom.gba", 0x105A04, 0x0000018 + +gUnk_08105A1C:: @ 08105A1C + .incbin "baserom.gba", 0x105A1C, 0x0000018 + +gUnk_08105A34:: @ 08105A34 + .incbin "baserom.gba", 0x105A34, 0x000000D + +gUnk_08105A41:: @ 08105A41 + .incbin "baserom.gba", 0x105A41, 0x000000B + +gUnk_08105A4C:: @ 08105A4C + .incbin "baserom.gba", 0x105A4C, 0x0000018 + +gUnk_08105A64:: @ 08105A64 + .incbin "baserom.gba", 0x105A64, 0x0000018 + +gUnk_08105A7C:: @ 08105A7C + .incbin "baserom.gba", 0x105A7C, 0x0000018 + +gUnk_08105A94:: @ 08105A94 + .incbin "baserom.gba", 0x105A94, 0x0000018 + +gUnk_08105AAC:: @ 08105AAC + .incbin "baserom.gba", 0x105AAC, 0x0000018 + +gUnk_08105AC4:: @ 08105AC4 + .incbin "baserom.gba", 0x105AC4, 0x0000018 + +gUnk_08105ADC:: @ 08105ADC + .incbin "baserom.gba", 0x105ADC, 0x0000034 + +gUnk_08105B10:: @ 08105B10 + .incbin "baserom.gba", 0x105B10, 0x0000060 + +gUnk_08105B70:: @ 08105B70 + .incbin "baserom.gba", 0x105B70, 0x0000018 + +gUnk_08105B88:: @ 08105B88 + .incbin "baserom.gba", 0x105B88, 0x0000004 + +gUnk_08105B8C:: @ 08105B8C + .incbin "baserom.gba", 0x105B8C, 0x0000018 + +gUnk_08105BA4:: @ 08105BA4 + .incbin "baserom.gba", 0x105BA4, 0x0000018 + +gUnk_08105BBC:: @ 08105BBC + .incbin "baserom.gba", 0x105BBC, 0x0000008 + +gUnk_08105BC4:: @ 08105BC4 + .incbin "baserom.gba", 0x105BC4, 0x0000018 + +gUnk_08105BDC:: @ 08105BDC + .incbin "baserom.gba", 0x105BDC, 0x0000018 + +gUnk_08105BF4:: @ 08105BF4 + .incbin "baserom.gba", 0x105BF4, 0x0000018 + +gUnk_08105C0C:: @ 08105C0C + .incbin "baserom.gba", 0x105C0C, 0x0000018 + +gUnk_08105C24:: @ 08105C24 + .incbin "baserom.gba", 0x105C24, 0x0000018 + +gUnk_08105C3C:: @ 08105C3C + .incbin "baserom.gba", 0x105C3C, 0x0000018 + +gUnk_08105C54:: @ 08105C54 + .incbin "baserom.gba", 0x105C54, 0x0000018 + +gUnk_08105C6C:: @ 08105C6C + .incbin "baserom.gba", 0x105C6C, 0x0000018 + +gUnk_08105C84:: @ 08105C84 + .incbin "baserom.gba", 0x105C84, 0x0000018 + +gUnk_08105C9C:: @ 08105C9C + .incbin "baserom.gba", 0x105C9C, 0x0000018 + +gUnk_08105CB4:: @ 08105CB4 + .incbin "baserom.gba", 0x105CB4, 0x0000018 + +gUnk_08105CCC:: @ 08105CCC + .incbin "baserom.gba", 0x105CCC, 0x0000018 + +gUnk_08105CE4:: @ 08105CE4 + .incbin "baserom.gba", 0x105CE4, 0x0000018 + +gUnk_08105CFC:: @ 08105CFC + .incbin "baserom.gba", 0x105CFC, 0x0000018 + +gUnk_08105D14:: @ 08105D14 + .incbin "baserom.gba", 0x105D14, 0x0000003 + +gUnk_08105D17:: @ 08105D17 + .incbin "baserom.gba", 0x105D17, 0x0000015 + +gUnk_08105D2C:: @ 08105D2C + .incbin "baserom.gba", 0x105D2C, 0x0000018 + +gUnk_08105D44:: @ 08105D44 + .incbin "baserom.gba", 0x105D44, 0x0000018 + +gUnk_08105D5C:: @ 08105D5C + .incbin "baserom.gba", 0x105D5C, 0x0000018 + +gUnk_08105D74:: @ 08105D74 + .incbin "baserom.gba", 0x105D74, 0x0000018 + +gUnk_08105D8C:: @ 08105D8C + .incbin "baserom.gba", 0x105D8C, 0x0000018 + +gUnk_08105DA4:: @ 08105DA4 + .incbin "baserom.gba", 0x105DA4, 0x0000018 + +gUnk_08105DBC:: @ 08105DBC + .incbin "baserom.gba", 0x105DBC, 0x0000018 + +gUnk_08105DD4:: @ 08105DD4 + .incbin "baserom.gba", 0x105DD4, 0x0000018 + +gUnk_08105DEC:: @ 08105DEC + .incbin "baserom.gba", 0x105DEC, 0x0000018 + +gUnk_08105E04:: @ 08105E04 + .incbin "baserom.gba", 0x105E04, 0x0000018 + +gUnk_08105E1C:: @ 08105E1C + .incbin "baserom.gba", 0x105E1C, 0x0000018 + +gUnk_08105E34:: @ 08105E34 + .incbin "baserom.gba", 0x105E34, 0x0000018 + +gUnk_08105E4C:: @ 08105E4C + .incbin "baserom.gba", 0x105E4C, 0x0000018 + +gUnk_08105E64:: @ 08105E64 + .incbin "baserom.gba", 0x105E64, 0x0000018 + +gUnk_08105E7C:: @ 08105E7C + .incbin "baserom.gba", 0x105E7C, 0x0000018 + +gUnk_08105E94:: @ 08105E94 + .incbin "baserom.gba", 0x105E94, 0x0000018 + +gUnk_08105EAC:: @ 08105EAC + .incbin "baserom.gba", 0x105EAC, 0x0000018 + +gUnk_08105EC4:: @ 08105EC4 + .incbin "baserom.gba", 0x105EC4, 0x0000018 + +gUnk_08105EDC:: @ 08105EDC + .incbin "baserom.gba", 0x105EDC, 0x0000018 + +gUnk_08105EF4:: @ 08105EF4 + .incbin "baserom.gba", 0x105EF4, 0x0000018 + +gUnk_08105F0C:: @ 08105F0C + .incbin "baserom.gba", 0x105F0C, 0x0000018 + +gUnk_08105F24:: @ 08105F24 + .incbin "baserom.gba", 0x105F24, 0x0000018 + +gUnk_08105F3C:: @ 08105F3C + .incbin "baserom.gba", 0x105F3C, 0x0000018 + +gUnk_08105F54:: @ 08105F54 + .incbin "baserom.gba", 0x105F54, 0x0000018 + +gUnk_08105F6C:: @ 08105F6C + .incbin "baserom.gba", 0x105F6C, 0x0000018 + +gUnk_08105F84:: @ 08105F84 + .incbin "baserom.gba", 0x105F84, 0x0000018 + +gUnk_08105F9C:: @ 08105F9C + .incbin "baserom.gba", 0x105F9C, 0x0000066 + +gUnk_08106002:: @ 08106002 + .incbin "baserom.gba", 0x106002, 0x0000076 + +gUnk_08106078:: @ 08106078 + .incbin "baserom.gba", 0x106078, 0x0000018 + +gUnk_08106090:: @ 08106090 + .incbin "baserom.gba", 0x106090, 0x0000004 + +gUnk_08106094:: @ 08106094 + .incbin "baserom.gba", 0x106094, 0x0000018 + +gUnk_081060AC:: @ 081060AC + .incbin "baserom.gba", 0x1060AC, 0x0000018 + +gUnk_081060C4:: @ 081060C4 + .incbin "baserom.gba", 0x1060C4, 0x0000018 + +gUnk_081060DC:: @ 081060DC + .incbin "baserom.gba", 0x1060DC, 0x0000018 + +gUnk_081060F4:: @ 081060F4 + .incbin "baserom.gba", 0x1060F4, 0x0000018 + +gUnk_0810610C:: @ 0810610C + .incbin "baserom.gba", 0x10610C, 0x0000018 + +gUnk_08106124:: @ 08106124 + .incbin "baserom.gba", 0x106124, 0x0000018 + +gUnk_0810613C:: @ 0810613C + .incbin "baserom.gba", 0x10613C, 0x0000018 + +gUnk_08106154:: @ 08106154 + .incbin "baserom.gba", 0x106154, 0x0000018 + +gUnk_0810616C:: @ 0810616C + .incbin "baserom.gba", 0x10616C, 0x0000018 + +gUnk_08106184:: @ 08106184 + .incbin "baserom.gba", 0x106184, 0x0000018 + +gUnk_0810619C:: @ 0810619C + .incbin "baserom.gba", 0x10619C, 0x0000058 + +gUnk_081061F4:: @ 081061F4 + .incbin "baserom.gba", 0x1061F4, 0x0000018 + +gUnk_0810620C:: @ 0810620C + .incbin "baserom.gba", 0x10620C, 0x0000018 + +gUnk_08106224:: @ 08106224 + .incbin "baserom.gba", 0x106224, 0x0000018 + +gUnk_0810623C:: @ 0810623C + .incbin "baserom.gba", 0x10623C, 0x0000018 + +gUnk_08106254:: @ 08106254 + .incbin "baserom.gba", 0x106254, 0x0000018 + +gUnk_0810626C:: @ 0810626C + .incbin "baserom.gba", 0x10626C, 0x0000018 + +gUnk_08106284:: @ 08106284 + .incbin "baserom.gba", 0x106284, 0x0000018 + +gUnk_0810629C:: @ 0810629C + .incbin "baserom.gba", 0x10629C, 0x0000018 + +gUnk_081062B4:: @ 081062B4 + .incbin "baserom.gba", 0x1062B4, 0x0000018 + +gUnk_081062CC:: @ 081062CC + .incbin "baserom.gba", 0x1062CC, 0x0000040 + +gUnk_0810630C:: @ 0810630C + .incbin "baserom.gba", 0x10630C, 0x0000018 + +gUnk_08106324:: @ 08106324 + .incbin "baserom.gba", 0x106324, 0x0000018 + +gUnk_0810633C:: @ 0810633C + .incbin "baserom.gba", 0x10633C, 0x0000018 + +gUnk_08106354:: @ 08106354 + .incbin "baserom.gba", 0x106354, 0x0000018 + +gUnk_0810636C:: @ 0810636C + .incbin "baserom.gba", 0x10636C, 0x0000018 + +gUnk_08106384:: @ 08106384 + .incbin "baserom.gba", 0x106384, 0x0000018 + +gUnk_0810639C:: @ 0810639C + .incbin "baserom.gba", 0x10639C, 0x0000018 + +gUnk_081063B4:: @ 081063B4 + .incbin "baserom.gba", 0x1063B4, 0x0000018 + +gUnk_081063CC:: @ 081063CC + .incbin "baserom.gba", 0x1063CC, 0x0000018 + +gUnk_081063E4:: @ 081063E4 + .incbin "baserom.gba", 0x1063E4, 0x0000018 + +gUnk_081063FC:: @ 081063FC + .incbin "baserom.gba", 0x1063FC, 0x0000018 + +gUnk_08106414:: @ 08106414 + .incbin "baserom.gba", 0x106414, 0x0000018 + +gUnk_0810642C:: @ 0810642C + .incbin "baserom.gba", 0x10642C, 0x0000018 + +gUnk_08106444:: @ 08106444 + .incbin "baserom.gba", 0x106444, 0x0000018 + +gUnk_0810645C:: @ 0810645C + .incbin "baserom.gba", 0x10645C, 0x0000018 + +gUnk_08106474:: @ 08106474 + .incbin "baserom.gba", 0x106474, 0x0000018 + +gUnk_0810648C:: @ 0810648C + .incbin "baserom.gba", 0x10648C, 0x0000018 + +gUnk_081064A4:: @ 081064A4 + .incbin "baserom.gba", 0x1064A4, 0x0000018 + +gUnk_081064BC:: @ 081064BC + .incbin "baserom.gba", 0x1064BC, 0x0000018 + +gUnk_081064D4:: @ 081064D4 + .incbin "baserom.gba", 0x1064D4, 0x0000018 + +gUnk_081064EC:: @ 081064EC + .incbin "baserom.gba", 0x1064EC, 0x0000018 + +gUnk_08106504:: @ 08106504 + .incbin "baserom.gba", 0x106504, 0x0000018 + +gUnk_0810651C:: @ 0810651C + .incbin "baserom.gba", 0x10651C, 0x0000018 + +gUnk_08106534:: @ 08106534 + .incbin "baserom.gba", 0x106534, 0x0000018 + +gUnk_0810654C:: @ 0810654C + .incbin "baserom.gba", 0x10654C, 0x0000009 + +gUnk_08106555:: @ 08106555 + .incbin "baserom.gba", 0x106555, 0x000000F + +gUnk_08106564:: @ 08106564 + .incbin "baserom.gba", 0x106564, 0x0000001 + +gUnk_08106565:: @ 08106565 + .incbin "baserom.gba", 0x106565, 0x0000017 + +gUnk_0810657C:: @ 0810657C + .incbin "baserom.gba", 0x10657C, 0x0000018 + +gUnk_08106594:: @ 08106594 + .incbin "baserom.gba", 0x106594, 0x0000018 + +gUnk_081065AC:: @ 081065AC + .incbin "baserom.gba", 0x1065AC, 0x0000018 + +gUnk_081065C4:: @ 081065C4 + .incbin "baserom.gba", 0x1065C4, 0x0000018 + +gUnk_081065DC:: @ 081065DC + .incbin "baserom.gba", 0x1065DC, 0x0000018 + +gUnk_081065F4:: @ 081065F4 + .incbin "baserom.gba", 0x1065F4, 0x0000004 + +gUnk_081065F8:: @ 081065F8 + .incbin "baserom.gba", 0x1065F8, 0x0000014 + +gUnk_0810660C:: @ 0810660C + .incbin "baserom.gba", 0x10660C, 0x000000D + +gUnk_08106619:: @ 08106619 + .incbin "baserom.gba", 0x106619, 0x0000001 + +gUnk_0810661A:: @ 0810661A + .incbin "baserom.gba", 0x10661A, 0x000000A + +gUnk_08106624:: @ 08106624 + .incbin "baserom.gba", 0x106624, 0x0000018 + +gUnk_0810663C:: @ 0810663C + .incbin "baserom.gba", 0x10663C, 0x0000018 + +gUnk_08106654:: @ 08106654 + .incbin "baserom.gba", 0x106654, 0x0000018 + +gUnk_0810666C:: @ 0810666C + .incbin "baserom.gba", 0x10666C, 0x0000018 + +gUnk_08106684:: @ 08106684 + .incbin "baserom.gba", 0x106684, 0x0000018 + +gUnk_0810669C:: @ 0810669C + .incbin "baserom.gba", 0x10669C, 0x0000018 + +gUnk_081066B4:: @ 081066B4 + .incbin "baserom.gba", 0x1066B4, 0x0000018 + +gUnk_081066CC:: @ 081066CC + .incbin "baserom.gba", 0x1066CC, 0x0000018 + +gUnk_081066E4:: @ 081066E4 + .incbin "baserom.gba", 0x1066E4, 0x0000018 + +gUnk_081066FC:: @ 081066FC + .incbin "baserom.gba", 0x1066FC, 0x0000018 + +gUnk_08106714:: @ 08106714 + .incbin "baserom.gba", 0x106714, 0x0000018 + +gUnk_0810672C:: @ 0810672C + .incbin "baserom.gba", 0x10672C, 0x0000018 + +gUnk_08106744:: @ 08106744 + .incbin "baserom.gba", 0x106744, 0x0000018 + +gUnk_0810675C:: @ 0810675C + .incbin "baserom.gba", 0x10675C, 0x0000018 + +gUnk_08106774:: @ 08106774 + .incbin "baserom.gba", 0x106774, 0x0000018 + +gUnk_0810678C:: @ 0810678C + .incbin "baserom.gba", 0x10678C, 0x0000018 + +gUnk_081067A4:: @ 081067A4 + .incbin "baserom.gba", 0x1067A4, 0x0000018 + +gUnk_081067BC:: @ 081067BC + .incbin "baserom.gba", 0x1067BC, 0x0000018 + +gUnk_081067D4:: @ 081067D4 + .incbin "baserom.gba", 0x1067D4, 0x000002C + +gUnk_08106800:: @ 08106800 + .incbin "baserom.gba", 0x106800, 0x00000A0 + +gUnk_081068A0:: @ 081068A0 + .incbin "baserom.gba", 0x1068A0, 0x000000C + +gUnk_081068AC:: @ 081068AC + .incbin "baserom.gba", 0x1068AC, 0x0000004 + +gUnk_081068B0:: @ 081068B0 + .incbin "baserom.gba", 0x1068B0, 0x0000018 + +gUnk_081068C8:: @ 081068C8 + .incbin "baserom.gba", 0x1068C8, 0x0000018 + +gUnk_081068E0:: @ 081068E0 + .incbin "baserom.gba", 0x1068E0, 0x0000018 + +gUnk_081068F8:: @ 081068F8 + .incbin "baserom.gba", 0x1068F8, 0x0000020 + +gUnk_08106918:: @ 08106918 + .incbin "baserom.gba", 0x106918, 0x0000018 + +gUnk_08106930:: @ 08106930 + .incbin "baserom.gba", 0x106930, 0x0000018 + +gUnk_08106948:: @ 08106948 + .incbin "baserom.gba", 0x106948, 0x0000018 + +gUnk_08106960:: @ 08106960 + .incbin "baserom.gba", 0x106960, 0x0000018 + +gUnk_08106978:: @ 08106978 + .incbin "baserom.gba", 0x106978, 0x0000018 + +gUnk_08106990:: @ 08106990 + .incbin "baserom.gba", 0x106990, 0x0000018 + +gUnk_081069A8:: @ 081069A8 + .incbin "baserom.gba", 0x1069A8, 0x0000018 + +gUnk_081069C0:: @ 081069C0 + .incbin "baserom.gba", 0x1069C0, 0x0000040 + +gUnk_08106A00:: @ 08106A00 + .incbin "baserom.gba", 0x106A00, 0x0000018 + +gUnk_08106A18:: @ 08106A18 + .incbin "baserom.gba", 0x106A18, 0x0000004 + +gUnk_08106A1C:: @ 08106A1C + .incbin "baserom.gba", 0x106A1C, 0x0000018 + +gUnk_08106A34:: @ 08106A34 + .incbin "baserom.gba", 0x106A34, 0x0000018 + +gUnk_08106A4C:: @ 08106A4C + .incbin "baserom.gba", 0x106A4C, 0x0000018 + +gUnk_08106A64:: @ 08106A64 + .incbin "baserom.gba", 0x106A64, 0x0000018 + +gUnk_08106A7C:: @ 08106A7C + .incbin "baserom.gba", 0x106A7C, 0x0000018 + +gUnk_08106A94:: @ 08106A94 + .incbin "baserom.gba", 0x106A94, 0x0000018 + +gUnk_08106AAC:: @ 08106AAC + .incbin "baserom.gba", 0x106AAC, 0x0000018 + +gUnk_08106AC4:: @ 08106AC4 + .incbin "baserom.gba", 0x106AC4, 0x0000018 + +gUnk_08106ADC:: @ 08106ADC + .incbin "baserom.gba", 0x106ADC, 0x0000018 + +gUnk_08106AF4:: @ 08106AF4 + .incbin "baserom.gba", 0x106AF4, 0x0000018 + +gUnk_08106B0C:: @ 08106B0C + .incbin "baserom.gba", 0x106B0C, 0x0000018 + +gUnk_08106B24:: @ 08106B24 + .incbin "baserom.gba", 0x106B24, 0x0000018 + +gUnk_08106B3C:: @ 08106B3C + .incbin "baserom.gba", 0x106B3C, 0x0000018 + +gUnk_08106B54:: @ 08106B54 + .incbin "baserom.gba", 0x106B54, 0x0000018 + +gUnk_08106B6C:: @ 08106B6C + .incbin "baserom.gba", 0x106B6C, 0x0000018 + +gUnk_08106B84:: @ 08106B84 + .incbin "baserom.gba", 0x106B84, 0x0000018 + +gUnk_08106B9C:: @ 08106B9C + .incbin "baserom.gba", 0x106B9C, 0x0000018 + +gUnk_08106BB4:: @ 08106BB4 + .incbin "baserom.gba", 0x106BB4, 0x0000018 + +gUnk_08106BCC:: @ 08106BCC + .incbin "baserom.gba", 0x106BCC, 0x0000018 + +gUnk_08106BE4:: @ 08106BE4 + .incbin "baserom.gba", 0x106BE4, 0x0000018 + +gUnk_08106BFC:: @ 08106BFC + .incbin "baserom.gba", 0x106BFC, 0x0000004 + +gUnk_08106C00:: @ 08106C00 + .incbin "baserom.gba", 0x106C00, 0x0000004 + +gUnk_08106C04:: @ 08106C04 + .incbin "baserom.gba", 0x106C04, 0x0000003 + +gUnk_08106C07:: @ 08106C07 + .incbin "baserom.gba", 0x106C07, 0x000000D + +gUnk_08106C14:: @ 08106C14 + .incbin "baserom.gba", 0x106C14, 0x0000018 + +gUnk_08106C2C:: @ 08106C2C + .incbin "baserom.gba", 0x106C2C, 0x0000018 + +gUnk_08106C44:: @ 08106C44 + .incbin "baserom.gba", 0x106C44, 0x0000018 + +gUnk_08106C5C:: @ 08106C5C + .incbin "baserom.gba", 0x106C5C, 0x0000018 + +gUnk_08106C74:: @ 08106C74 + .incbin "baserom.gba", 0x106C74, 0x0000018 + +gUnk_08106C8C:: @ 08106C8C + .incbin "baserom.gba", 0x106C8C, 0x0000018 + +gUnk_08106CA4:: @ 08106CA4 + .incbin "baserom.gba", 0x106CA4, 0x0000018 + +gUnk_08106CBC:: @ 08106CBC + .incbin "baserom.gba", 0x106CBC, 0x0000018 + +gUnk_08106CD4:: @ 08106CD4 + .incbin "baserom.gba", 0x106CD4, 0x0000018 + +gUnk_08106CEC:: @ 08106CEC + .incbin "baserom.gba", 0x106CEC, 0x0000018 + +gUnk_08106D04:: @ 08106D04 + .incbin "baserom.gba", 0x106D04, 0x0000018 + +gUnk_08106D1C:: @ 08106D1C + .incbin "baserom.gba", 0x106D1C, 0x0000018 + +gUnk_08106D34:: @ 08106D34 + .incbin "baserom.gba", 0x106D34, 0x0000018 + +gUnk_08106D4C:: @ 08106D4C + .incbin "baserom.gba", 0x106D4C, 0x0000018 + +gUnk_08106D64:: @ 08106D64 + .incbin "baserom.gba", 0x106D64, 0x0000018 + +gUnk_08106D7C:: @ 08106D7C + .incbin "baserom.gba", 0x106D7C, 0x0000003 + +gUnk_08106D7F:: @ 08106D7F + .incbin "baserom.gba", 0x106D7F, 0x0000015 + +gUnk_08106D94:: @ 08106D94 + .incbin "baserom.gba", 0x106D94, 0x0000018 + +gUnk_08106DAC:: @ 08106DAC + .incbin "baserom.gba", 0x106DAC, 0x0000018 + +gUnk_08106DC4:: @ 08106DC4 + .incbin "baserom.gba", 0x106DC4, 0x0000018 + +gUnk_08106DDC:: @ 08106DDC + .incbin "baserom.gba", 0x106DDC, 0x0000018 + +gUnk_08106DF4:: @ 08106DF4 + .incbin "baserom.gba", 0x106DF4, 0x0000018 + +gUnk_08106E0C:: @ 08106E0C + .incbin "baserom.gba", 0x106E0C, 0x0000018 + +gUnk_08106E24:: @ 08106E24 + .incbin "baserom.gba", 0x106E24, 0x0000018 + +gUnk_08106E3C:: @ 08106E3C + .incbin "baserom.gba", 0x106E3C, 0x0000018 + +gUnk_08106E54:: @ 08106E54 + .incbin "baserom.gba", 0x106E54, 0x0000018 + +gUnk_08106E6C:: @ 08106E6C + .incbin "baserom.gba", 0x106E6C, 0x0000018 + +gUnk_08106E84:: @ 08106E84 + .incbin "baserom.gba", 0x106E84, 0x0000018 + +gUnk_08106E9C:: @ 08106E9C + .incbin "baserom.gba", 0x106E9C, 0x0000018 + +gUnk_08106EB4:: @ 08106EB4 + .incbin "baserom.gba", 0x106EB4, 0x0000018 + +gUnk_08106ECC:: @ 08106ECC + .incbin "baserom.gba", 0x106ECC, 0x0000018 + +gUnk_08106EE4:: @ 08106EE4 + .incbin "baserom.gba", 0x106EE4, 0x0000018 + +gUnk_08106EFC:: @ 08106EFC + .incbin "baserom.gba", 0x106EFC, 0x000000F + +gUnk_08106F0B:: @ 08106F0B + .incbin "baserom.gba", 0x106F0B, 0x0000009 + +gUnk_08106F14:: @ 08106F14 + .incbin "baserom.gba", 0x106F14, 0x0000018 + +gUnk_08106F2C:: @ 08106F2C + .incbin "baserom.gba", 0x106F2C, 0x0000018 + +gUnk_08106F44:: @ 08106F44 + .incbin "baserom.gba", 0x106F44, 0x0000018 + +gUnk_08106F5C:: @ 08106F5C + .incbin "baserom.gba", 0x106F5C, 0x0000018 + +gUnk_08106F74:: @ 08106F74 + .incbin "baserom.gba", 0x106F74, 0x0000018 + +gUnk_08106F8C:: @ 08106F8C + .incbin "baserom.gba", 0x106F8C, 0x0000018 + +gUnk_08106FA4:: @ 08106FA4 + .incbin "baserom.gba", 0x106FA4, 0x0000018 + +gUnk_08106FBC:: @ 08106FBC + .incbin "baserom.gba", 0x106FBC, 0x00000F0 + +gUnk_081070AC:: @ 081070AC + .incbin "baserom.gba", 0x1070AC, 0x0000018 + +gUnk_081070C4:: @ 081070C4 + .incbin "baserom.gba", 0x1070C4, 0x0000018 + +gUnk_081070DC:: @ 081070DC + .incbin "baserom.gba", 0x1070DC, 0x0000018 + +gUnk_081070F4:: @ 081070F4 + .incbin "baserom.gba", 0x1070F4, 0x0000018 + +gUnk_0810710C:: @ 0810710C + .incbin "baserom.gba", 0x10710C, 0x0000018 + +gUnk_08107124:: @ 08107124 + .incbin "baserom.gba", 0x107124, 0x0000018 + +gUnk_0810713C:: @ 0810713C + .incbin "baserom.gba", 0x10713C, 0x0000018 + +gUnk_08107154:: @ 08107154 + .incbin "baserom.gba", 0x107154, 0x0000018 + +gUnk_0810716C:: @ 0810716C + .incbin "baserom.gba", 0x10716C, 0x0000018 + +gUnk_08107184:: @ 08107184 + .incbin "baserom.gba", 0x107184, 0x0000024 + +gUnk_081071A8:: @ 081071A8 + .incbin "baserom.gba", 0x1071A8, 0x0000018 + +gUnk_081071C0:: @ 081071C0 + .incbin "baserom.gba", 0x1071C0, 0x0000004 + +gUnk_081071C4:: @ 081071C4 + .incbin "baserom.gba", 0x1071C4, 0x0000018 + +gUnk_081071DC:: @ 081071DC + .incbin "baserom.gba", 0x1071DC, 0x0000018 + +gUnk_081071F4:: @ 081071F4 + .incbin "baserom.gba", 0x1071F4, 0x0000018 + +gUnk_0810720C:: @ 0810720C + .incbin "baserom.gba", 0x10720C, 0x000000C + +gUnk_08107218:: @ 08107218 + .incbin "baserom.gba", 0x107218, 0x0000018 + +gUnk_08107230:: @ 08107230 + .incbin "baserom.gba", 0x107230, 0x0000018 + +gUnk_08107248:: @ 08107248 + .incbin "baserom.gba", 0x107248, 0x0000008 + +gUnk_08107250:: @ 08107250 + .incbin "baserom.gba", 0x107250, 0x0000018 + +gUnk_08107268:: @ 08107268 + .incbin "baserom.gba", 0x107268, 0x0000004 + +gUnk_0810726C:: @ 0810726C + .incbin "baserom.gba", 0x10726C, 0x0000018 + +gUnk_08107284:: @ 08107284 + .incbin "baserom.gba", 0x107284, 0x0000018 + +gUnk_0810729C:: @ 0810729C + .incbin "baserom.gba", 0x10729C, 0x0000018 + +gUnk_081072B4:: @ 081072B4 + .incbin "baserom.gba", 0x1072B4, 0x000000C + +gUnk_081072C0:: @ 081072C0 + .incbin "baserom.gba", 0x1072C0, 0x0000018 + +gUnk_081072D8:: @ 081072D8 + .incbin "baserom.gba", 0x1072D8, 0x0000018 + +gUnk_081072F0:: @ 081072F0 + .incbin "baserom.gba", 0x1072F0, 0x0000018 + +gUnk_08107308:: @ 08107308 + .incbin "baserom.gba", 0x107308, 0x0000002 + +gUnk_0810730A:: @ 0810730A + .incbin "baserom.gba", 0x10730A, 0x0000016 + +gUnk_08107320:: @ 08107320 + .incbin "baserom.gba", 0x107320, 0x0000018 + +gUnk_08107338:: @ 08107338 + .incbin "baserom.gba", 0x107338, 0x0000014 + +gUnk_0810734C:: @ 0810734C + .incbin "baserom.gba", 0x10734C, 0x0000018 + +gUnk_08107364:: @ 08107364 + .incbin "baserom.gba", 0x107364, 0x0000018 + +gUnk_0810737C:: @ 0810737C + .incbin "baserom.gba", 0x10737C, 0x0000008 + +gUnk_08107384:: @ 08107384 + .incbin "baserom.gba", 0x107384, 0x0000018 + +gUnk_0810739C:: @ 0810739C + .incbin "baserom.gba", 0x10739C, 0x0000018 + +gUnk_081073B4:: @ 081073B4 + .incbin "baserom.gba", 0x1073B4, 0x0000018 + +gUnk_081073CC:: @ 081073CC + .incbin "baserom.gba", 0x1073CC, 0x0000018 + +gUnk_081073E4:: @ 081073E4 + .incbin "baserom.gba", 0x1073E4, 0x0000018 + +gUnk_081073FC:: @ 081073FC + .incbin "baserom.gba", 0x1073FC, 0x0000018 + +gUnk_08107414:: @ 08107414 + .incbin "baserom.gba", 0x107414, 0x0000018 + +gUnk_0810742C:: @ 0810742C + .incbin "baserom.gba", 0x10742C, 0x0000018 + +gUnk_08107444:: @ 08107444 + .incbin "baserom.gba", 0x107444, 0x0000018 + +gUnk_0810745C:: @ 0810745C + .incbin "baserom.gba", 0x10745C, 0x0000018 + +gUnk_08107474:: @ 08107474 + .incbin "baserom.gba", 0x107474, 0x0000018 + +gUnk_0810748C:: @ 0810748C + .incbin "baserom.gba", 0x10748C, 0x0000018 + +gUnk_081074A4:: @ 081074A4 + .incbin "baserom.gba", 0x1074A4, 0x0000018 + +gUnk_081074BC:: @ 081074BC + .incbin "baserom.gba", 0x1074BC, 0x0000018 + +gUnk_081074D4:: @ 081074D4 + .incbin "baserom.gba", 0x1074D4, 0x0000018 + +gUnk_081074EC:: @ 081074EC + .incbin "baserom.gba", 0x1074EC, 0x0000018 + +gUnk_08107504:: @ 08107504 + .incbin "baserom.gba", 0x107504, 0x0000018 + +gUnk_0810751C:: @ 0810751C + .incbin "baserom.gba", 0x10751C, 0x0000018 + +gUnk_08107534:: @ 08107534 + .incbin "baserom.gba", 0x107534, 0x0000018 + +gUnk_0810754C:: @ 0810754C + .incbin "baserom.gba", 0x10754C, 0x0000018 + +gUnk_08107564:: @ 08107564 + .incbin "baserom.gba", 0x107564, 0x0000018 + +gUnk_0810757C:: @ 0810757C + .incbin "baserom.gba", 0x10757C, 0x0000018 + +gUnk_08107594:: @ 08107594 + .incbin "baserom.gba", 0x107594, 0x0000018 + +gUnk_081075AC:: @ 081075AC + .incbin "baserom.gba", 0x1075AC, 0x0000018 + +gUnk_081075C4:: @ 081075C4 + .incbin "baserom.gba", 0x1075C4, 0x0000060 + +gUnk_08107624:: @ 08107624 + .incbin "baserom.gba", 0x107624, 0x0000018 + +gUnk_0810763C:: @ 0810763C + .incbin "baserom.gba", 0x10763C, 0x0000018 + +gUnk_08107654:: @ 08107654 + .incbin "baserom.gba", 0x107654, 0x0000018 + +gUnk_0810766C:: @ 0810766C + .incbin "baserom.gba", 0x10766C, 0x0000018 + +gUnk_08107684:: @ 08107684 + .incbin "baserom.gba", 0x107684, 0x0000018 + +gUnk_0810769C:: @ 0810769C + .incbin "baserom.gba", 0x10769C, 0x0000018 + +gUnk_081076B4:: @ 081076B4 + .incbin "baserom.gba", 0x1076B4, 0x0000018 + +gUnk_081076CC:: @ 081076CC + .incbin "baserom.gba", 0x1076CC, 0x0000018 + +gUnk_081076E4:: @ 081076E4 + .incbin "baserom.gba", 0x1076E4, 0x0000018 + +gUnk_081076FC:: @ 081076FC + .incbin "baserom.gba", 0x1076FC, 0x0000016 + +gUnk_08107712:: @ 08107712 + .incbin "baserom.gba", 0x107712, 0x0000002 + +gUnk_08107714:: @ 08107714 + .incbin "baserom.gba", 0x107714, 0x0000028 + +gUnk_0810773C:: @ 0810773C + .incbin "baserom.gba", 0x10773C, 0x0000018 + +gUnk_08107754:: @ 08107754 + .incbin "baserom.gba", 0x107754, 0x0000018 + +gUnk_0810776C:: @ 0810776C + .incbin "baserom.gba", 0x10776C, 0x0000008 + +gUnk_08107774:: @ 08107774 + .incbin "baserom.gba", 0x107774, 0x0000018 + +gUnk_0810778C:: @ 0810778C + .incbin "baserom.gba", 0x10778C, 0x0000004 + +gUnk_08107790:: @ 08107790 + .incbin "baserom.gba", 0x107790, 0x0000018 + +gUnk_081077A8:: @ 081077A8 + .incbin "baserom.gba", 0x1077A8, 0x0000018 + +gUnk_081077C0:: @ 081077C0 + .incbin "baserom.gba", 0x1077C0, 0x0000018 + +gUnk_081077D8:: @ 081077D8 + .incbin "baserom.gba", 0x1077D8, 0x0000018 + +gUnk_081077F0:: @ 081077F0 + .incbin "baserom.gba", 0x1077F0, 0x0000018 + +gUnk_08107808:: @ 08107808 + .incbin "baserom.gba", 0x107808, 0x0000018 + +gUnk_08107820:: @ 08107820 + .incbin "baserom.gba", 0x107820, 0x0000018 + +gUnk_08107838:: @ 08107838 + .incbin "baserom.gba", 0x107838, 0x0000018 + +gUnk_08107850:: @ 08107850 + .incbin "baserom.gba", 0x107850, 0x000001E + +gUnk_0810786E:: @ 0810786E + .incbin "baserom.gba", 0x10786E, 0x0000002 + +gUnk_08107870:: @ 08107870 + .incbin "baserom.gba", 0x107870, 0x000001C + +gUnk_0810788C:: @ 0810788C + .incbin "baserom.gba", 0x10788C, 0x0000018 + +gUnk_081078A4:: @ 081078A4 + .incbin "baserom.gba", 0x1078A4, 0x0000004 + +gUnk_081078A8:: @ 081078A8 + .incbin "baserom.gba", 0x1078A8, 0x0000018 + +gUnk_081078C0:: @ 081078C0 + .incbin "baserom.gba", 0x1078C0, 0x0000004 + +gUnk_081078C4:: @ 081078C4 + .incbin "baserom.gba", 0x1078C4, 0x0000018 + +gUnk_081078DC:: @ 081078DC + .incbin "baserom.gba", 0x1078DC, 0x0000004 + +gUnk_081078E0:: @ 081078E0 + .incbin "baserom.gba", 0x1078E0, 0x0000018 + +gUnk_081078F8:: @ 081078F8 + .incbin "baserom.gba", 0x1078F8, 0x0000004 + +gUnk_081078FC:: @ 081078FC + .incbin "baserom.gba", 0x1078FC, 0x0000018 + +gUnk_08107914:: @ 08107914 + .incbin "baserom.gba", 0x107914, 0x0000004 + +gUnk_08107918:: @ 08107918 + .incbin "baserom.gba", 0x107918, 0x0000018 + +gUnk_08107930:: @ 08107930 + .incbin "baserom.gba", 0x107930, 0x0000004 + +gUnk_08107934:: @ 08107934 + .incbin "baserom.gba", 0x107934, 0x0000018 + +gUnk_0810794C:: @ 0810794C + .incbin "baserom.gba", 0x10794C, 0x0000004 + +gUnk_08107950:: @ 08107950 + .incbin "baserom.gba", 0x107950, 0x0000018 + +gUnk_08107968:: @ 08107968 + .incbin "baserom.gba", 0x107968, 0x0000004 + +gUnk_0810796C:: @ 0810796C + .incbin "baserom.gba", 0x10796C, 0x000000D + +gUnk_08107979:: @ 08107979 + .incbin "baserom.gba", 0x107979, 0x000000B + +gUnk_08107984:: @ 08107984 + .incbin "baserom.gba", 0x107984, 0x0000004 + +gUnk_08107988:: @ 08107988 + .incbin "baserom.gba", 0x107988, 0x0000015 + +gUnk_0810799D:: @ 0810799D + .incbin "baserom.gba", 0x10799D, 0x00001A4 + +gUnk_08107B41:: @ 08107B41 + .incbin "baserom.gba", 0x107B41, 0x000003A + +gUnk_08107B7B:: @ 08107B7B + .incbin "baserom.gba", 0x107B7B, 0x000004D + +gUnk_08107BC8:: @ 08107BC8 + .incbin "baserom.gba", 0x107BC8, 0x0000018 + +gUnk_08107BE0:: @ 08107BE0 + .incbin "baserom.gba", 0x107BE0, 0x0000014 + +gUnk_08107BF4:: @ 08107BF4 + .incbin "baserom.gba", 0x107BF4, 0x0000018 + +gUnk_08107C0C:: @ 08107C0C + .incbin "baserom.gba", 0x107C0C, 0x0000003 + +gUnk_08107C0F:: @ 08107C0F + .incbin "baserom.gba", 0x107C0F, 0x0000005 + +gUnk_08107C14:: @ 08107C14 + .incbin "baserom.gba", 0x107C14, 0x0000004 + +gUnk_08107C18:: @ 08107C18 + .incbin "baserom.gba", 0x107C18, 0x0000004 + +gUnk_08107C1C:: @ 08107C1C + .incbin "baserom.gba", 0x107C1C, 0x000000E + +gUnk_08107C2A:: @ 08107C2A + .incbin "baserom.gba", 0x107C2A, 0x0000006 + +gUnk_08107C30:: @ 08107C30 + .incbin "baserom.gba", 0x107C30, 0x0000010 + +gUnk_08107C40:: @ 08107C40 + .incbin "baserom.gba", 0x107C40, 0x0000008 + +gUnk_08107C48:: @ 08107C48 + .incbin "baserom.gba", 0x107C48, 0x0000014 + +gUnk_08107C5C:: @ 08107C5C + .incbin "baserom.gba", 0x107C5C, 0x0000010 + +gUnk_08107C6C:: @ 08107C6C + .incbin "baserom.gba", 0x107C6C, 0x0000004 + +gUnk_08107C70:: @ 08107C70 + .incbin "baserom.gba", 0x107C70, 0x0000008 + +gUnk_08107C78:: @ 08107C78 + .incbin "baserom.gba", 0x107C78, 0x0000008 + +gUnk_08107C80:: @ 08107C80 + .incbin "baserom.gba", 0x107C80, 0x0000018 + +gUnk_08107C98:: @ 08107C98 + .incbin "baserom.gba", 0x107C98, 0x0000028 + +gUnk_08107CC0:: @ 08107CC0 + .incbin "baserom.gba", 0x107CC0, 0x0000010 + +gUnk_08107CD0:: @ 08107CD0 + .incbin "baserom.gba", 0x107CD0, 0x0000010 + +gUnk_08107CE0:: @ 08107CE0 + .incbin "baserom.gba", 0x107CE0, 0x0000018 + +gUnk_08107CF8:: @ 08107CF8 + .incbin "baserom.gba", 0x107CF8, 0x000000A + +gUnk_08107D02:: @ 08107D02 + .incbin "baserom.gba", 0x107D02, 0x0000006 + +gUnk_08107D08:: @ 08107D08 + .incbin "baserom.gba", 0x107D08, 0x0000018 + +gUnk_08107D20:: @ 08107D20 + .incbin "baserom.gba", 0x107D20, 0x0000018 + +gUnk_08107D38:: @ 08107D38 + .incbin "baserom.gba", 0x107D38, 0x0000010 + +gUnk_08107D48:: @ 08107D48 + .incbin "baserom.gba", 0x107D48, 0x0000020 + +gUnk_08107D68:: @ 08107D68 + .incbin "baserom.gba", 0x107D68, 0x0000010 + +gUnk_08107D78:: @ 08107D78 + .incbin "baserom.gba", 0x107D78, 0x0000018 + +gUnk_08107D90:: @ 08107D90 + .incbin "baserom.gba", 0x107D90, 0x0000010 + +gUnk_08107DA0:: @ 08107DA0 + .incbin "baserom.gba", 0x107DA0, 0x0000020 + +gUnk_08107DC0:: @ 08107DC0 + .incbin "baserom.gba", 0x107DC0, 0x0000264 + +gUnk_08108024:: @ 08108024 + .incbin "baserom.gba", 0x108024, 0x0000010 + +gUnk_08108034:: @ 08108034 + .incbin "baserom.gba", 0x108034, 0x0000010 + +gUnk_08108044:: @ 08108044 + .incbin "baserom.gba", 0x108044, 0x000000C + +gUnk_08108050:: @ 08108050 + .incbin "baserom.gba", 0x108050, 0x000001E + +gUnk_0810806E:: @ 0810806E + .incbin "baserom.gba", 0x10806E, 0x0000036 + +gUnk_081080A4:: @ 081080A4 + .incbin "baserom.gba", 0x1080A4, 0x0000020 + +gUnk_081080C4:: @ 081080C4 + .incbin "baserom.gba", 0x1080C4, 0x0000043 + +gUnk_08108107:: @ 08108107 + .incbin "baserom.gba", 0x108107, 0x0000079 + +gUnk_08108180:: @ 08108180 + .incbin "baserom.gba", 0x108180, 0x0000064 + +gUnk_081081E4:: @ 081081E4 + .incbin "baserom.gba", 0x1081E4, 0x0000008 + +gUnk_081081EC:: @ 081081EC + .incbin "baserom.gba", 0x1081EC, 0x0000008 + +gUnk_081081F4:: @ 081081F4 + .incbin "baserom.gba", 0x1081F4, 0x0000014 diff --git a/data/data_081320FC.s b/data/data_081320FC.s index dbc4d281..d2669c2a 100755 --- a/data/data_081320FC.s +++ b/data/data_081320FC.s @@ -7633,16 +7633,13 @@ gUnk_08324AE4:: @ 08324AE4 .incbin "baserom.gba", 0x324AE4, 0x000018F gUnk_08324C73:: @ 08324C73 - .incbin "baserom.gba", 0x324C73, 0x00007FA + .incbin "baserom.gba", 0x324C73, 0x0000241 -gUnk_0832546D:: @ 0832546D - .incbin "baserom.gba", 0x32546D, 0x000041B +gUnk_08324EB4:: @ 08324EB4 + .incbin "data/tilesets/minish_woods/tiles_bottom.4bpp.lz" -gUnk_08325888:: @ 08325888 - .incbin "baserom.gba", 0x325888, 0x00010E9 - -gUnk_08326971:: @ 08326971 - .incbin "baserom.gba", 0x326971, 0x0002C90 +gUnk_08327B08:: @ 08327B08 + .incbin "baserom.gba", 0x327B08, 0x0001AF9 gUnk_08329601:: @ 08329601 .incbin "baserom.gba", 0x329601, 0x00053C2 diff --git a/data/room_headers.s b/data/room_headers.s index 87278a94..be361a03 100755 --- a/data/room_headers.s +++ b/data/room_headers.s @@ -154,7 +154,7 @@ gAreaRoomHeaders_CastorWildsDigCave:: @ 0811C7AE room_header 0x00, 0x00, 0x3f0, 0x3c0, 0 .2byte 0xFFFF -gAreaRoomHeaders_OuterFoW:: @ 0811C7BA +gAreaRoomHeaders_OuterFortressOfWinds:: @ 0811C7BA room_header 0x00, 0x00, 0x3b0, 0xd0, 0 room_header 0x00, 0x20, 0x3b0, 0x140, 0 room_header 0x00, 0x38, 0x3b0, 0xd0, 0 @@ -1044,7 +1044,7 @@ gAreaRoomHeaders:: @ 0811E214 .4byte gAreaRoomHeaders_FestivalTown @ 0x15 .4byte gAreaRoomHeaders_VeilFallsDigCave @ 0x16 .4byte gAreaRoomHeaders_CastorWildsDigCave @ 0x17 - .4byte gAreaRoomHeaders_OuterFoW @ 0x18 + .4byte gAreaRoomHeaders_OuterFortressOfWinds @ 0x18 .4byte gAreaRoomHeaders_HyliaDigCaves @ 0x19 .4byte gAreaRoomHeaders_VeilFallsTop @ 0x1A .4byte 0x0 @ 0x1B diff --git a/data/tileset_headers.s b/data/tileset_headers.s new file mode 100755 index 00000000..8c2d9100 --- /dev/null +++ b/data/tileset_headers.s @@ -0,0 +1,1145 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gAreaTileset_Unused_0:: @ 08100CE4 + tileset_palette_set 0, 1 + +gAreaTilesets_Unused:: @ 08100CF0 + .4byte gAreaTileset_Unused_0 + +gTileset_MinishWoods_0:: @ 08100CF4 + tileset_tiles 0x3D0, 0x6000000, 0x4000, 1 + tileset_tiles 0x3024, 0x6004000, 0x4000, 1 + tileset_tiles 0x5614, 0x6008000, 0x4000, 1 + tileset_palette_set 28, 1 + +gTileset_MinishWoods_1:: @ 08100D24 + tileset_tiles 0xC3BE4, 0x6000000, 0x2000, 1 + tileset_tiles 0xC4BFC, 0x6008000, 0x2000, 1 + tileset_palette_set 21, 1 + +gAreaTilesets_MinishWoods:: @ 08100D48 + .4byte gTileset_MinishWoods_0 + .4byte gTileset_MinishWoods_1 + +gAreaTileset_LakeHylia_0:: @ 08100D50 + tileset_tiles 0xC634, 0x6000000, 0x4000, 1 + tileset_tiles 0xE640, 0x6004000, 0x4000, 1 + tileset_tiles 0x10C70, 0x6008000, 0x4000, 1 + tileset_palette_set 39, 1 + +gAreaTilesets_LakeHylia:: @ 08100D80 + .4byte gAreaTileset_LakeHylia_0 + +gAreaTileset_CastorWilds_0:: @ 08100D84 + tileset_tiles 0x16DB8, 0x6000000, 0x4000, 1 + tileset_tiles 0x199CC, 0x6004000, 0x4000, 1 + tileset_tiles 0x1C158, 0x6008000, 0x4000, 1 + tileset_palette_set 19, 1 + +gAreaTilesets_CastorWilds:: @ 08100DB4 + .4byte gAreaTileset_CastorWilds_0 + +gAreaTileset_Ruins_0:: @ 08100DB8 + tileset_tiles 0x16DB8, 0x6000000, 0x4000, 1 + tileset_tiles 0x199CC, 0x6004000, 0x4000, 1 + tileset_tiles 0x1C158, 0x6008000, 0x4000, 1 + tileset_palette_set 29, 1 + +gAreaTilesets_Ruins:: @ 08100DE8 + .4byte gAreaTileset_Ruins_0 + +gAreaTileset_HyruleTown_0:: @ 08100DEC + tileset_tiles 0x2DCAC, 0x6000000, 0x4000, 1 + tileset_tiles 0x302CC, 0x6004000, 0x4000, 1 + tileset_tiles 0x32760, 0x6008000, 0x4000, 1 + tileset_palette_set 27, 1 + +gAreaTilesets_HyruleTown:: @ 08100E1C + .4byte gAreaTileset_HyruleTown_0 + +gAreaTileset_FestivalTown_0:: @ 08100E20 + tileset_tiles 0x3467C, 0x6000000, 0x4000, 1 + tileset_tiles 0x36264, 0x6004000, 0x4000, 1 + tileset_tiles 0x386F8, 0x6008000, 0x4000, 1 + tileset_palette_set 170, 1 + +gAreaTilesets_FestivalTown:: @ 08100E50 + .4byte gAreaTileset_FestivalTown_0 + +gAreaTileset_MtCrenel_0:: @ 08100E54 + tileset_tiles 0x3D02C, 0x6000000, 0x4000, 1 + tileset_tiles 0x3F944, 0x6004000, 0x4000, 1 + tileset_tiles 0x41E84, 0x6008000, 0x4000, 1 + tileset_palette_set 30, 1 + +gAreaTilesets_MtCrenel:: @ 08100E84 + .4byte gAreaTileset_MtCrenel_0 + +gAreaTileset_HyruleField_0:: @ 08100E88 + tileset_tiles 0x49964, 0x6000000, 0x4000, 1 + tileset_tiles 0x4C134, 0x6004000, 0x4000, 1 + tileset_tiles 0x4EA0C, 0x6008000, 0x4000, 1 + tileset_tiles 0x60F68, 0x600F000, 0x800, 1 + tileset_palette_set 16, 1 + +gAreaTileset_HyruleField_1:: @ 08100EC4 + tileset_tiles 0x569D0, 0x6000000, 0x4000, 1 + tileset_tiles 0x59078, 0x6004000, 0x4000, 1 + tileset_tiles 0x5B950, 0x6008000, 0x4000, 1 + tileset_tiles 0x60F68, 0x600F000, 0x800, 1 + tileset_palette_set 67, 1 + +gAreaTileset_HyruleField_2:: @ 08100F00 + tileset_tiles 0x50844, 0x6000000, 0x4000, 1 + tileset_tiles 0x52A70, 0x6004000, 0x4000, 1 + tileset_tiles 0x55348, 0x6008000, 0x4000, 1 + tileset_tiles 0x60F68, 0x600F000, 0x800, 1 + tileset_palette_set 46, 1 + +gAreaTilesets_HyruleField:: @ 08100F3C + .4byte gAreaTileset_HyruleField_0 + .4byte gAreaTileset_HyruleField_1 + .4byte gAreaTileset_HyruleField_2 + +gAreaTileset_CastleGarden_0:: @ 08100F48 + tileset_tiles 0x66C28, 0x6000000, 0x4000, 1 + tileset_tiles 0x68AD8, 0x6004000, 0x4000, 1 + tileset_tiles 0x6A7C0, 0x6008000, 0x4000, 1 + tileset_palette_set 31, 1 + +gAreaTilesets_CastleGarden:: @ 08100F78 + .4byte gAreaTileset_CastleGarden_0 + +gAreaTileset_CloudTops_0:: @ 08100F7C + tileset_tiles 0x6EA9C, 0x6000000, 0x4000, 1 + tileset_tiles 0x701BC, 0x6004000, 0x4000, 1 + tileset_tiles 0x71A14, 0x6008000, 0x4000, 1 + tileset_tiles 0x77194, 0x600F000, 0x800, 1 + tileset_palette_set 32, 1 + +gAreaTilesets_CloudTops:: @ 08100FB8 + .4byte gAreaTileset_CloudTops_0 + +gAreaTileset_RoyalValley_0:: @ 08100FBC + tileset_tiles 0x773A8, 0x6000000, 0x4000, 1 + tileset_tiles 0x79588, 0x6004000, 0x4000, 1 + tileset_tiles 0x7B084, 0x6008000, 0x4000, 1 + tileset_palette_set 38, 1 + +gAreaTilesets_RoyalValley:: @ 08100FEC + .4byte gAreaTileset_RoyalValley_0 + +gAreaTileset_VeilFalls_0:: @ 08100FF0 + tileset_tiles 0x7FA54, 0x6000000, 0x4000, 1 + tileset_tiles 0x81D54, 0x6004000, 0x4000, 1 + tileset_tiles 0x842A8, 0x6008000, 0x4000, 1 + tileset_palette_set 44, 1 + +gAreaTilesets_VeilFalls:: @ 08101020 + .4byte gAreaTileset_VeilFalls_0 + +gAreaTileset_VeilFallsTop_0:: @ 08101024 + tileset_tiles 0x7FA54, 0x6000000, 0x4000, 1 + tileset_tiles 0x81D54, 0x6004000, 0x4000, 1 + tileset_tiles 0x86984, 0x6008000, 0x4000, 1 + tileset_palette_set 44, 1 + +gAreaTilesets_VeilFallsTop:: @ 08101054 + .4byte gAreaTileset_VeilFallsTop_0 + +gAreaTileset_Beanstalks_0:: @ 08101058 + tileset_tiles 0x88188, 0x6000000, 0x4000, 1 + tileset_tiles 0x89218, 0x6004000, 0x4000, 1 + tileset_tiles 0x89E04, 0x6008000, 0x4000, 1 + tileset_tiles 0x8B9A4, 0x600F000, 0x800, 1 + tileset_palette_set 41, 1 + +gAreaTilesets_Beanstalks:: @ 08101094 + .4byte gAreaTileset_Beanstalks_0 + +gAreaTileset_CrenelCaves_0:: @ 08101098 + tileset_tiles 0x8D160, 0x6000000, 0x4000, 1 + tileset_tiles 0x8FAF0, 0x6004000, 0x4000, 1 + tileset_tiles 0x92434, 0x6008000, 0x4000, 1 + tileset_palette_set 62, 1 + +gAreaTilesets_CrenelCaves:: @ 081010C8 + .4byte gAreaTileset_CrenelCaves_0 + +gAreaTileset_GreatFairies_0:: @ 081010CC + tileset_tiles 0x9A388, 0x6000000, 0x4000, 1 + tileset_tiles 0x9C1A4, 0x6004000, 0x4000, 1 + tileset_tiles 0x9D704, 0x6008000, 0x4000, 1 + tileset_palette_set 92, 1 + +gAreaTileset_GreatFairies_1:: @ 081010FC + tileset_tiles 0x9A388, 0x6000000, 0x4000, 1 + tileset_tiles 0x9C1A4, 0x6004000, 0x4000, 1 + tileset_tiles 0x9D704, 0x6008000, 0x4000, 1 + tileset_palette_set 102, 1 + +gAreaTileset_GreatFairies_2:: @ 0810112C + tileset_tiles 0x9A388, 0x6000000, 0x4000, 1 + tileset_tiles 0x9C1A4, 0x6004000, 0x4000, 1 + tileset_tiles 0x9D704, 0x6008000, 0x4000, 1 + tileset_palette_set 103, 1 + +gAreaTilesets_GreatFairies:: @ 0810115C + .4byte gAreaTileset_GreatFairies_0 + .4byte gAreaTileset_GreatFairies_1 + .4byte gAreaTileset_GreatFairies_2 + +gAreaTileset_LakeWoodsCave_0:: @ 08101168 + tileset_tiles 0x3D0, 0x6000000, 0x4000, 1 + tileset_tiles 0x3024, 0x6004000, 0x4000, 1 + tileset_tiles 0x5614, 0x6008000, 0x4000, 1 + tileset_tiles 0xC3BE4, 0x6001000, 0x2000, 1 + tileset_tiles 0xC4BFC, 0x6009000, 0x2000, 1 + tileset_palette_set 21, 1 + +gAreaTilesets_LakeWoodsCave:: @ 081011B0 + .4byte gAreaTileset_LakeWoodsCave_0 + +gAreaTileset_HyruleDigCaves_0:: @ 081011B4 + tileset_tiles 0x2DCAC, 0x6000000, 0x4000, 1 + tileset_tiles 0x302CC, 0x6004000, 0x4000, 1 + tileset_tiles 0x32760, 0x6008000, 0x4000, 1 + tileset_tiles 0xC5600, 0x6001000, 0x2000, 1 + tileset_tiles 0xC6420, 0x6009000, 0x2000, 1 + tileset_palette_set 54, 1 + +gAreaTilesets_HyruleDigCaves:: @ 081011FC + .4byte gAreaTileset_HyruleDigCaves_0 + +gAreaTileset_DigCaves1_0:: @ 08101200 + tileset_tiles 0x49964, 0x6000000, 0x4000, 1 + tileset_tiles 0x4C134, 0x6004000, 0x4000, 1 + tileset_tiles 0x4EA0C, 0x6008000, 0x4000, 1 + tileset_tiles 0xC8B0C, 0x6001000, 0x2000, 1 + tileset_tiles 0xC99EC, 0x6009000, 0x2000, 1 + tileset_palette_set 85, 1 + +gAreaTilesets_DigCaves1:: @ 08101248 + .4byte gAreaTileset_DigCaves1_0 + +gAreaTileset_CrenelDigCave_0:: @ 0810124C + tileset_tiles 0x3D02C, 0x6000000, 0x4000, 1 + tileset_tiles 0x3F944, 0x6004000, 0x4000, 1 + tileset_tiles 0x41E84, 0x6008000, 0x4000, 1 + tileset_tiles 0xC6DF8, 0x6001000, 0x2000, 1 + tileset_tiles 0xC7F60, 0x6009000, 0x2000, 1 + tileset_palette_set 33, 1 + +gAreaTilesets_CrenelDigCave:: @ 08101294 + .4byte gAreaTileset_CrenelDigCave_0 + +gAreaTileset_VeilFallsDigCave_0:: @ 08101298 + tileset_tiles 0x7FA54, 0x6000000, 0x4000, 1 + tileset_tiles 0x81D54, 0x6004000, 0x4000, 1 + tileset_tiles 0x842A8, 0x6008000, 0x4000, 1 + tileset_tiles 0xC6DF8, 0x6001000, 0x2000, 1 + tileset_tiles 0xC7F60, 0x6009000, 0x2000, 1 + tileset_palette_set 99, 1 + +gAreaTilesets_VeilFallsDigCave:: @ 081012E0 + .4byte gAreaTileset_VeilFallsDigCave_0 + +gAreaTileset_CastorWildsDigCave_0:: @ 081012E4 + tileset_tiles 0x16DB8, 0x6000000, 0x4000, 1 + tileset_tiles 0x199CC, 0x6004000, 0x4000, 1 + tileset_tiles 0x1C158, 0x6008000, 0x4000, 1 + tileset_tiles 0xCA4C0, 0x6001000, 0x2000, 1 + tileset_tiles 0xCB858, 0x6009000, 0x2000, 1 + tileset_palette_set 100, 1 + +gAreaTilesets_CastorWildsDigCave:: @ 0810132C + .4byte gAreaTileset_CastorWildsDigCave_0 + +gAreaTileset_OuterFortressOfWinds_0:: @ 08101330 + tileset_tiles 0x16DB8, 0x6000000, 0x4000, 1 + tileset_tiles 0x199CC, 0x6004000, 0x4000, 1 + tileset_tiles 0x1C158, 0x6008000, 0x4000, 1 + tileset_tiles 0xCA4C0, 0x6001000, 0x2000, 1 + tileset_tiles 0xCB858, 0x6009000, 0x2000, 1 + tileset_palette_set 167, 1 + +gAreaTilesets_OuterFortressOfWinds:: @ 08101378 + .4byte gAreaTileset_OuterFortressOfWinds_0 + +gAreaTileset_HyliaDigCaves_0:: @ 0810137C + tileset_tiles 0xC634, 0x6000000, 0x4000, 1 + tileset_tiles 0xE640, 0x6004000, 0x4000, 1 + tileset_tiles 0x10C70, 0x6008000, 0x4000, 1 + tileset_tiles 0xCC334, 0x6001000, 0x2000, 1 + tileset_tiles 0xCCF64, 0x6009000, 0x2000, 1 + tileset_palette_set 20, 1 + +gAreaTilesets_HyliaDigCaves:: @ 081013C4 + .4byte gAreaTileset_HyliaDigCaves_0 + +gAreaTileset_MinishVillage_0:: @ 081013C8 + tileset_tiles 0xD39BC, 0x6000000, 0x4000, 1 + tileset_tiles 0xD5434, 0x6004000, 0x4000, 1 + tileset_tiles 0xD76F4, 0x6008000, 0x4000, 1 + tileset_palette_set 14, 1 + +gAreaTileset_MinishVillage_1:: @ 081013F8 + tileset_tiles 0xDCC34, 0x6000000, 0x4000, 1 + tileset_tiles 0xDDFCC, 0x6004000, 0x4000, 1 + tileset_tiles 0xE028C, 0x6008000, 0x4000, 1 + tileset_palette_set 25, 1 + +gAreaTilesets_MinishVillage:: @ 08101428 + .4byte gAreaTileset_MinishVillage_0 + .4byte gAreaTileset_MinishVillage_1 + +gAreaTileset_MelarisMine_0:: @ 08101430 + tileset_tiles 0xE28EC, 0x6000000, 0x4000, 1 + tileset_tiles 0xE4D74, 0x6004000, 0x4000, 1 + tileset_tiles 0xE6994, 0x6008000, 0x4000, 1 + tileset_palette_set 61, 1 + +gAreaTilesets_MelarisMine:: @ 08101460 + .4byte gAreaTileset_MelarisMine_0 + +gAreaTileset_MinishPaths1_0:: @ 08101464 + tileset_tiles 0xEB00C, 0x6000000, 0x4000, 1 + tileset_tiles 0xECB90, 0x6004000, 0x4000, 1 + tileset_palette_set 18, 1 + +gAreaTileset_MinishPaths1_1:: @ 08101488 + tileset_tiles 0xEB00C, 0x6000000, 0x4000, 1 + tileset_tiles 0xECB90, 0x6004000, 0x4000, 1 + tileset_palette_set 63, 1 + +gAreaTileset_MinishPaths1_2:: @ 081014AC + tileset_tiles 0xEB00C, 0x6000000, 0x4000, 1 + tileset_tiles 0xECB90, 0x6004000, 0x4000, 1 + tileset_palette_set 64, 1 + +gAreaTilesets_MinishPaths1:: @ 081014D0 + .4byte gAreaTileset_MinishPaths1_0 + .4byte gAreaTileset_MinishPaths1_1 + .4byte gAreaTileset_MinishPaths1_2 + +gAreaTileset_CrenelMinishPaths_0:: @ 081014DC + tileset_tiles 0xEFE04, 0x6000000, 0x4000, 1 + tileset_tiles 0xF1644, 0x6004000, 0x4000, 1 + tileset_palette_set 65, 1 + +gAreaTileset_CrenelMinishPaths_1:: @ 08101500 + tileset_tiles 0xF2E74, 0x6000000, 0x4000, 1 + tileset_tiles 0xF4160, 0x6004000, 0x4000, 1 + tileset_palette_set 66, 1 + +gAreaTileset_CrenelMinishPaths_2:: @ 08101524 + tileset_tiles 0xF2E74, 0x6000000, 0x4000, 1 + tileset_tiles 0xF4160, 0x6004000, 0x4000, 1 + tileset_palette_set 93, 1 + +gAreaTilesets_CrenelMinishPaths:: @ 08101548 + .4byte gAreaTileset_CrenelMinishPaths_0 + .4byte gAreaTileset_CrenelMinishPaths_1 + .4byte gAreaTileset_CrenelMinishPaths_2 + +gAreaTileset_MinishHouseInteriors_0:: @ 08101554 + tileset_tiles 0x13A218, 0x6000000, 0x8740, 1 + tileset_palette_set 68, 1 + +gAreaTileset_MinishHouseInteriors_1:: @ 0810156C + tileset_tiles 0x13F620, 0x6000000, 0x7540, 1 + tileset_palette_set 69, 1 + +gAreaTileset_MinishHouseInteriors_2:: @ 08101584 + tileset_tiles 0x1427B8, 0x6000000, 0x4B40, 1 + tileset_palette_set 70, 1 + +gAreaTileset_MinishHouseInteriors_3:: @ 0810159C + tileset_tiles 0x14506C, 0x6000000, 0x4A40, 1 + tileset_palette_set 71, 1 + +gAreaTileset_MinishHouseInteriors_4:: @ 081015B4 + tileset_tiles 0x14789C, 0x6000000, 0x4980, 1 + tileset_palette_set 72, 1 + +gAreaTileset_MinishHouseInteriors_5:: @ 081015CC + tileset_tiles 0x149FC8, 0x6000000, 0x4D80, 1 + tileset_palette_set 73, 1 + +gAreaTileset_MinishHouseInteriors_6:: @ 081015E4 + tileset_tiles 0x14CD90, 0x6000000, 0x8E40, 1 + tileset_palette_set 74, 1 + +gAreaTileset_MinishHouseInteriors_7:: @ 081015FC + tileset_tiles 0x152324, 0x6000000, 0x7E00, 1 + tileset_palette_set 75, 1 + +gAreaTileset_MinishHouseInteriors_8:: @ 08101614 + tileset_tiles 0x1562EC, 0x6000000, 0x9F40, 1 + tileset_palette_set 76, 1 + +gAreaTileset_MinishHouseInteriors_9:: @ 0810162C + tileset_tiles 0x15A834, 0x6000000, 0x7980, 1 + tileset_palette_set 86, 1 + +gAreaTileset_MinishHouseInteriors_10:: @ 08101644 + tileset_tiles 0x15DAE0, 0x6000000, 0x7B40, 1 + tileset_palette_set 87, 1 + +gAreaTileset_MinishHouseInteriors_11:: @ 0810165C + tileset_tiles 0x16100C, 0x6000000, 0x69C0, 1 + tileset_palette_set 88, 1 + +gAreaTileset_MinishHouseInteriors_12:: @ 08101674 + tileset_tiles 0x169738, 0x6000000, 0x5D80, 1 + tileset_palette_set 77, 1 + +gAreaTileset_MinishHouseInteriors_13:: @ 0810168C + tileset_tiles 0x16CB98, 0x6000000, 0x5CC0, 1 + tileset_palette_set 78, 1 + +gAreaTileset_MinishHouseInteriors_14:: @ 081016A4 + tileset_tiles 0x16FEE8, 0x6000000, 0x5B00, 1 + tileset_palette_set 79, 1 + +gAreaTileset_MinishHouseInteriors_15:: @ 081016BC + tileset_tiles 0x1732E8, 0x6000000, 0x5240, 1 + tileset_palette_set 80, 1 + +gAreaTileset_MinishHouseInteriors_16:: @ 081016D4 + tileset_tiles 0x175638, 0x6000000, 0x5C40, 1 + tileset_palette_set 81, 1 + +gAreaTileset_MinishHouseInteriors_17:: @ 081016EC + tileset_tiles 0x178B08, 0x6000000, 0x5740, 1 + tileset_palette_set 82, 1 + +gAreaTileset_MinishHouseInteriors_18:: @ 08101704 + tileset_tiles 0x17B854, 0x6000000, 0x6180, 1 + tileset_palette_set 83, 1 + +gAreaTileset_MinishHouseInteriors_19:: @ 0810171C + tileset_tiles 0x17EE9C, 0x6000000, 0x5C80, 1 + tileset_palette_set 84, 1 + +gAreaTilesets_MinishHouseInteriors:: @ 08101734 + .4byte gAreaTileset_MinishHouseInteriors_0 + .4byte gAreaTileset_MinishHouseInteriors_1 + .4byte gAreaTileset_MinishHouseInteriors_2 + .4byte gAreaTileset_MinishHouseInteriors_3 + .4byte gAreaTileset_MinishHouseInteriors_4 + .4byte gAreaTileset_MinishHouseInteriors_5 + .4byte gAreaTileset_MinishHouseInteriors_6 + .4byte gAreaTileset_MinishHouseInteriors_7 + .4byte gAreaTileset_MinishHouseInteriors_8 + .4byte gAreaTileset_MinishHouseInteriors_9 + .4byte gAreaTileset_MinishHouseInteriors_10 + .4byte gAreaTileset_MinishHouseInteriors_11 + .4byte gAreaTileset_MinishHouseInteriors_12 + .4byte gAreaTileset_MinishHouseInteriors_13 + .4byte gAreaTileset_MinishHouseInteriors_14 + .4byte gAreaTileset_MinishHouseInteriors_15 + .4byte gAreaTileset_MinishHouseInteriors_16 + .4byte gAreaTileset_MinishHouseInteriors_17 + .4byte gAreaTileset_MinishHouseInteriors_18 + .4byte gAreaTileset_MinishHouseInteriors_19 + +gAreaTileset_TownMinishHoles_0:: @ 08101784 + tileset_tiles 0x1823BC, 0x6000000, 0x6100, 1 + tileset_palette_set 115, 1 + +gAreaTileset_TownMinishHoles_1:: @ 0810179C + tileset_tiles 0x184B10, 0x6000000, 0x7DC0, 1 + tileset_palette_set 116, 1 + +gAreaTileset_TownMinishHoles_2:: @ 081017B4 + tileset_tiles 0x187A3C, 0x6000000, 0x70C0, 1 + tileset_palette_set 117, 1 + +gAreaTileset_TownMinishHoles_3:: @ 081017CC + tileset_tiles 0x18A5D4, 0x6000000, 0x7E40, 1 + tileset_palette_set 118, 1 + +gAreaTileset_TownMinishHoles_4:: @ 081017E4 + tileset_tiles 0x18D530, 0x6000000, 0x7240, 1 + tileset_palette_set 119, 1 + +gAreaTileset_TownMinishHoles_5:: @ 081017FC + tileset_tiles 0x18FF58, 0x6000000, 0x8900, 1 + tileset_palette_set 129, 1 + +gAreaTileset_TownMinishHoles_6:: @ 08101814 + tileset_tiles 0x193CD4, 0x6000000, 0xBEC0, 1 + tileset_palette_set 124, 1 + +gAreaTileset_TownMinishHoles_7:: @ 0810182C + tileset_tiles 0x197688, 0x6000000, 0xA480, 1 + tileset_palette_set 123, 1 + +gAreaTileset_TownMinishHoles_8:: @ 08101844 + tileset_tiles 0x19C788, 0x6000000, 0xB0C0, 1 + tileset_palette_set 122, 1 + +gAreaTilesets_TownMinishHoles:: @ 0810185C + .4byte gAreaTileset_TownMinishHoles_0 + .4byte gAreaTileset_TownMinishHoles_1 + .4byte gAreaTileset_TownMinishHoles_2 + .4byte gAreaTileset_TownMinishHoles_3 + .4byte gAreaTileset_TownMinishHoles_4 + .4byte gAreaTileset_TownMinishHoles_5 + .4byte gAreaTileset_TownMinishHoles_6 + .4byte gAreaTileset_TownMinishHoles_7 + .4byte gAreaTileset_TownMinishHoles_8 + +gAreaTileset_HouseInteriors1_0:: @ 08101880 + tileset_tiles 0xF8D18, 0x6000000, 0x4000, 1 + tileset_tiles 0xFAD04, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 51, 1 + +gAreaTilesets_HouseInteriors1:: @ 081018B0 + .4byte gAreaTileset_HouseInteriors1_0 + +gAreaTileset_HouseInteriors2_0:: @ 081018B4 + tileset_tiles 0xFE38C, 0x6000000, 0x4000, 1 + tileset_tiles 0x100940, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 52, 1 + +gAreaTileset_HouseInteriors2_1:: @ 081018E4 + tileset_tiles 0xFE38C, 0x6000000, 0x4000, 1 + tileset_tiles 0x100940, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 168, 1 + +gAreaTileset_HouseInteriors2_2:: @ 08101914 + tileset_tiles 0xFE38C, 0x6000000, 0x4000, 1 + tileset_tiles 0x100940, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 157, 1 + +gAreaTilesets_HouseInteriors2:: @ 08101944 + .4byte gAreaTileset_HouseInteriors2_0 + .4byte gAreaTileset_HouseInteriors2_1 + .4byte gAreaTileset_HouseInteriors2_2 + +gAreaTileset_HouseInteriors4_0:: @ 08101950 + tileset_tiles 0x104044, 0x6000000, 0x4000, 1 + tileset_tiles 0x1060C4, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 89, 1 + +gAreaTilesets_HouseInteriors4:: @ 08101980 + .4byte gAreaTileset_HouseInteriors4_0 + +gAreaTileset_HouseInteriors3_0:: @ 08101984 + tileset_tiles 0x10984C, 0x6000000, 0x4000, 1 + tileset_tiles 0x10B930, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 53, 1 + +gAreaTilesets_HouseInteriors3:: @ 081019B4 + .4byte gAreaTileset_HouseInteriors3_0 + +gAreaTileset_TreeInteriors_0:: @ 081019B8 + tileset_tiles 0x10EC50, 0x6000000, 0x4000, 1 + tileset_tiles 0x110A78, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 13, 1 + +gAreaTilesets_TreeInteriors:: @ 081019E8 + .4byte gAreaTileset_TreeInteriors_0 + +gAreaTileset_Dojos_0:: @ 081019EC + tileset_tiles 0x11919C, 0x6000000, 0x4000, 1 + tileset_tiles 0x11B020, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 150, 1 + +gAreaTileset_Dojos_1:: @ 08101A1C + tileset_tiles 0x11919C, 0x6000000, 0x4000, 1 + tileset_tiles 0x11B020, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 149, 1 + +gAreaTileset_Dojos_2:: @ 08101A4C + tileset_tiles 0x11919C, 0x6000000, 0x4000, 1 + tileset_tiles 0x11B020, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 148, 1 + +gAreaTileset_Dojos_3:: @ 08101A7C + tileset_tiles 0x11919C, 0x6000000, 0x4000, 1 + tileset_tiles 0x11B020, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 146, 1 + +gAreaTileset_Dojos_4:: @ 08101AAC + tileset_tiles 0x11919C, 0x6000000, 0x4000, 1 + tileset_tiles 0x11B020, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 147, 1 + +gAreaTileset_Dojos_5:: @ 08101ADC + tileset_tiles 0x11919C, 0x6000000, 0x4000, 1 + tileset_tiles 0x11B020, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 45, 1 + +gAreaTilesets_Dojos:: @ 08101B0C + .4byte gAreaTileset_Dojos_0 + .4byte gAreaTileset_Dojos_1 + .4byte gAreaTileset_Dojos_2 + .4byte gAreaTileset_Dojos_3 + .4byte gAreaTileset_Dojos_4 + .4byte gAreaTileset_Dojos_5 + +gAreaTileset_MinishCracks_0:: @ 08101B24 + tileset_tiles 0x113C98, 0x6000000, 0x4000, 1 + tileset_tiles 0x115ECC, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 153, 1 + +gAreaTileset_MinishCracks_1:: @ 08101B54 + tileset_tiles 0x113C98, 0x6000000, 0x4000, 1 + tileset_tiles 0x115ECC, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 152, 1 + +gAreaTileset_MinishCracks_2:: @ 08101B84 + tileset_tiles 0x113C98, 0x6000000, 0x4000, 1 + tileset_tiles 0x115ECC, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 154, 1 + +gAreaTileset_MinishCracks_3:: @ 08101BB4 + tileset_tiles 0x113C98, 0x6000000, 0x4000, 1 + tileset_tiles 0x115ECC, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 34, 1 + +gAreaTileset_MinishCracks_4:: @ 08101BE4 + tileset_tiles 0x113C98, 0x6000000, 0x4000, 1 + tileset_tiles 0x115ECC, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 151, 1 + +gAreaTilesets_MinishCracks:: @ 08101C14 + .4byte gAreaTileset_MinishCracks_0 + .4byte gAreaTileset_MinishCracks_1 + .4byte gAreaTileset_MinishCracks_2 + .4byte gAreaTileset_MinishCracks_3 + .4byte gAreaTileset_MinishCracks_4 + +gAreaTileset_ArmosInteriors_0:: @ 08101C28 + tileset_tiles 0xA0924, 0x6000000, 0x4000, 1 + tileset_tiles 0xA1AC0, 0x6004000, 0x4000, 1 + tileset_tiles 0xA36A4, 0x6008000, 0x4000, 1 + tileset_palette_set 110, 1 + +gAreaTilesets_ArmosInteriors:: @ 08101C58 + .4byte gAreaTileset_ArmosInteriors_0 + +gAreaTileset_MinishRafters_0:: @ 08101C5C + tileset_tiles 0x11E2E4, 0x6000000, 0x4000, 1 + tileset_tiles 0x11FCDC, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 121, 1 + +gAreaTilesets_MinishRafters:: @ 08101C8C + .4byte gAreaTileset_MinishRafters_0 + +gAreaTileset_GoronCave_0:: @ 08101C90 + tileset_tiles 0xA6900, 0x6000000, 0x4000, 1 + tileset_tiles 0xA8578, 0x6004000, 0x4000, 1 + tileset_tiles 0xAAA44, 0x6008000, 0x4000, 1 + tileset_palette_set 125, 1 + +gAreaTilesets_GoronCave:: @ 08101CC0 + .4byte gAreaTileset_GoronCave_0 + +gAreaTileset_WindTribeTower_0:: @ 08101CC4 + tileset_tiles 0x121254, 0x6000000, 0x4000, 1 + tileset_tiles 0x122F88, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 126, 1 + +gAreaTilesets_WindTribeTower:: @ 08101CF4 + .4byte gAreaTileset_WindTribeTower_0 + +gAreaTileset_WindTribeTowerRoof_0:: @ 08101CF8 + tileset_tiles 0x126224, 0x6000000, 0x4000, 1 + tileset_tiles 0x127B68, 0x6004000, 0x4000, 1 + tileset_tiles 0x129CE0, 0x6008000, 0x4000, 1 + tileset_palette_set 127, 1 + +gAreaTilesets_WindTribeTowerRoof:: @ 08101D28 + .4byte gAreaTileset_WindTribeTowerRoof_0 + +gAreaTileset_MinishCaves_0:: @ 08101D2C + tileset_tiles 0xB39E0, 0x6000000, 0x4000, 1 + tileset_tiles 0xB5B40, 0x6004000, 0x4000, 1 + tileset_tiles 0xB7D48, 0x6008000, 0x4000, 1 + tileset_palette_set 158, 1 + +gAreaTilesets_MinishCaves:: @ 08101D5C + .4byte gAreaTileset_MinishCaves_0 + +gAreaTileset_CastleGardenMinishHoles_0:: @ 08101D60 + tileset_tiles 0xBC8F4, 0x6000000, 0x4000, 1 + tileset_tiles 0xBDCB8, 0x6004000, 0x4000, 1 + tileset_tiles 0xBEE54, 0x6008000, 0x4000, 1 + tileset_palette_set 159, 1 + +gAreaTilesets_CastleGardenMinishHoles:: @ 08101D90 + .4byte gAreaTileset_CastleGardenMinishHoles_0 + +gAreaTileset_37_0:: @ 08101D94 + tileset_tiles 0xBC8F4, 0x6000000, 0x4000, 1 + tileset_tiles 0xBDCB8, 0x6004000, 0x4000, 1 + tileset_tiles 0xBEE54, 0x6008000, 0x4000, 1 + tileset_palette_set 160, 1 + +gAreaTilesets_37:: @ 08101DC4 + .4byte gAreaTileset_37_0 + +gAreaTileset_EzloCutscene_0:: @ 08101DC8 + tileset_tiles 0x12BB70, 0x6000000, 0x4000, 1 + tileset_tiles 0x12CD44, 0x6004000, 0x4000, 1 + tileset_tiles 0xF7308, 0x6008000, 0x4000, 1 + tileset_palette_set 161, 1 + +gAreaTilesets_EzloCutscene:: @ 08101DF8 + .4byte gAreaTileset_EzloCutscene_0 + +gAreaTileset_HyruleTownUnderground_0:: @ 08101DFC + tileset_tiles 0x19FD10, 0x6000000, 0x4000, 1 + tileset_tiles 0x1A1C8C, 0x6004000, 0x4000, 1 + tileset_tiles 0x1A3BE0, 0x6008000, 0x4000, 1 + tileset_palette_set 109, 1 + +gAreaTilesets_HyruleTownUnderground:: @ 08101E2C + .4byte gAreaTileset_HyruleTownUnderground_0 + +gAreaTileset_SimonsSimulation_0:: @ 08101E30 + tileset_tiles 0x19FD10, 0x6000000, 0x4000, 1 + tileset_tiles 0x1A1C8C, 0x6004000, 0x4000, 1 + tileset_tiles 0x1A3BE0, 0x6008000, 0x4000, 1 + tileset_palette_set 15, 1 + +gAreaTilesets_SimonsSimulation:: @ 08101E60 + .4byte gAreaTileset_SimonsSimulation_0 + +gAreaTileset_40_0:: @ 08101E64 + tileset_tiles 0x19FD10, 0x6000000, 0x4000, 1 + tileset_tiles 0x1A1C8C, 0x6004000, 0x4000, 1 + tileset_tiles 0x1A3BE0, 0x6008000, 0x4000, 1 + tileset_palette_set 15, 1 + +gAreaTilesets_40:: @ 08101E94 + .4byte gAreaTileset_40_0 + +gAreaTileset_DeepwoodShrine_0:: @ 08101E98 + tileset_tiles 0x1AB5F4, 0x6000000, 0x4000, 1 + tileset_tiles 0x1ADAE0, 0x6004000, 0x4000, 1 + tileset_tiles 0x1B007C, 0x6008000, 0x4000, 1 + tileset_palette_set 17, 1 + +gAreaTilesets_DeepwoodShrine:: @ 08101EC8 + .4byte gAreaTileset_DeepwoodShrine_0 + +gAreaTileset_DeepwoodShrineBoss_0:: @ 08101ECC + tileset_tiles 0x1B68AC, 0x6000000, 0x4000, 1 + tileset_tiles 0x1B7708, 0x6004000, 0x4000, 1 + tileset_tiles 0x1B9668, 0x6008000, 0x4000, 1 + tileset_palette_set 17, 1 + +gAreaTilesets_DeepwoodShrineBoss:: @ 08101EFC + .4byte gAreaTileset_DeepwoodShrineBoss_0 + +gAreaTileset_DeepwoodShrineEntry_0:: @ 08101F00 + tileset_tiles 0x1BB598, 0x6000000, 0x4000, 1 + tileset_tiles 0x1BCACC, 0x6004000, 0x4000, 1 + tileset_tiles 0x1BD320, 0x6008000, 0x4000, 1 + tileset_palette_set 90, 1 + +gAreaTilesets_DeepwoodShrineEntry:: @ 08101F30 + .4byte gAreaTileset_DeepwoodShrineEntry_0 + +gAreaTileset_CaveOfFlames_0:: @ 08101F34 + tileset_tiles 0x1C3044, 0x6000000, 0x4000, 1 + tileset_tiles 0x1C56F8, 0x6004000, 0x4000, 1 + tileset_tiles 0x1C7960, 0x6008000, 0x4000, 1 + tileset_tiles 0x1D6168, 0x600F000, 0x800, 1 + tileset_palette_set 36, 1 + +gAreaTilesets_CaveOfFlames:: @ 08101F70 + .4byte gAreaTileset_CaveOfFlames_0 + +gAreaTileset_CaveOfFlamesBoss_0:: @ 08101F74 + tileset_tiles 0x1CE024, 0x6000000, 0x4000, 1 + tileset_tiles 0x1CFB40, 0x6004000, 0x4000, 1 + tileset_tiles 0x1D1E98, 0x6008000, 0x4000, 1 + tileset_palette_set 36, 1 + +gAreaTilesets_CaveOfFlamesBoss:: @ 08101FA4 + .4byte gAreaTileset_CaveOfFlamesBoss_0 + +gAreaTileset_CastorDarknut_0:: @ 08101FA8 + tileset_tiles 0x1DACA4, 0x6000000, 0x4000, 1 + tileset_tiles 0x1DD2D0, 0x6004000, 0x4000, 1 + tileset_tiles 0x1DF4B4, 0x6008000, 0x4000, 1 + tileset_palette_set 37, 1 + +gAreaTilesets_CastorDarknut:: @ 08101FD8 + .4byte gAreaTileset_CastorDarknut_0 + +gAreaTileset_FortressOfWindsTop_0:: @ 08101FDC + tileset_tiles 0x1EC07C, 0x6000000, 0x4000, 1 + tileset_tiles 0x1ED3E0, 0x6004000, 0x4000, 1 + tileset_tiles 0x1EEE8C, 0x6008000, 0x4000, 1 + tileset_palette_set 94, 1 + +gAreaTilesets_FortressOfWindsTop:: @ 0810200C + .4byte gAreaTileset_FortressOfWindsTop_0 + +gAreaTileset_InnerMazaal_0:: @ 08102010 + tileset_tiles 0x1E5748, 0x6000000, 0x4000, 1 + tileset_tiles 0x1E7484, 0x6004000, 0x4000, 1 + tileset_tiles 0x1E89D0, 0x6008000, 0x4000, 1 + tileset_palette_set 128, 1 + +gAreaTilesets_InnerMazaal:: @ 08102040 + .4byte gAreaTileset_InnerMazaal_0 + +gAreaTileset_TempleOfDroplets_0:: @ 08102044 + tileset_tiles 0x1F5A1C, 0x6000000, 0x4000, 1 + tileset_tiles 0x1F7C44, 0x6004000, 0x4000, 1 + tileset_tiles 0x1FA2F0, 0x6008000, 0x4000, 1 + tileset_palette_set 55, 1 + +gAreaTilesets_TempleOfDroplets:: @ 08102074 + .4byte gAreaTileset_TempleOfDroplets_0 + +gAreaTileset_61_0:: @ 08102078 + tileset_tiles 0x20143C, 0x6000000, 0x4000, 1 + tileset_tiles 0x2031E8, 0x6004000, 0x4000, 1 + tileset_tiles 0x204370, 0x6008000, 0x4000, 1 + tileset_palette_set 104, 1 + +gAreaTilesets_61:: @ 081020A8 + .4byte gAreaTileset_61_0 + +gAreaTileset_HyruleTownMinishCaves_0:: @ 081020AC + tileset_tiles 0x1F5A1C, 0x6000000, 0x4000, 1 + tileset_tiles 0x1F7C44, 0x6004000, 0x4000, 1 + tileset_tiles 0x1FA2F0, 0x6008000, 0x4000, 1 + tileset_palette_set 130, 1 + +gAreaTilesets_HyruleTownMinishCaves:: @ 081020DC + .4byte gAreaTileset_HyruleTownMinishCaves_0 + +gAreaTileset_RoyalCrypt_0:: @ 081020E0 + tileset_tiles 0x20CFC4, 0x6000000, 0x4000, 1 + tileset_tiles 0x20EF84, 0x6004000, 0x4000, 1 + tileset_tiles 0x210B80, 0x6008000, 0x4000, 1 + tileset_palette_set 60, 1 + +gAreaTilesets_RoyalCrypt:: @ 08102110 + .4byte gAreaTileset_RoyalCrypt_0 + +gAreaTileset_PalaceOfWinds_0:: @ 08102114 + tileset_tiles 0x216F68, 0x6000000, 0x4000, 1 + tileset_tiles 0x219350, 0x6004000, 0x4000, 1 + tileset_tiles 0x21B4D8, 0x6008000, 0x4000, 1 + tileset_tiles 0x2210F8, 0x600F000, 0x800, 1 + tileset_palette_set 56, 1 + +gAreaTilesets_PalaceOfWinds:: @ 08102150 + .4byte gAreaTileset_PalaceOfWinds_0 + +gAreaTileset_PalaceOfWindsBoss_0:: @ 08102154 + tileset_tiles 0x22131C, 0x6000000, 0x4000, 1 + tileset_tiles 0x222634, 0x6004000, 0x4000, 1 + tileset_tiles 0x22449C, 0x600F000, 0x800, 1 + tileset_palette_set 162, 1 + +gAreaTilesets_PalaceOfWindsBoss:: @ 08102184 + .4byte gAreaTileset_PalaceOfWindsBoss_0 + +gAreaTileset_Sanctuary_0:: @ 08102188 + tileset_tiles 0x22E1DC, 0x6000000, 0x4000, 1 + tileset_tiles 0x22FF30, 0x6004000, 0x4000, 1 + tileset_tiles 0x231FB4, 0x6008000, 0x4000, 1 + tileset_palette_set 57, 1 + +gAreaTilesets_Sanctuary:: @ 081021B8 + .4byte gAreaTileset_Sanctuary_0 + +gAreaTileset_HyruleCastle_0:: @ 081021BC + tileset_tiles 0x23794C, 0x6000000, 0x4000, 1 + tileset_tiles 0x239ADC, 0x6004000, 0x4000, 1 + tileset_tiles 0x23B854, 0x6008000, 0x4000, 1 + tileset_palette_set 58, 1 + +gAreaTilesets_HyruleCastle:: @ 081021EC + .4byte gAreaTileset_HyruleCastle_0 + +gAreaTileset_SanctuaryEntrance_0:: @ 081021F0 + tileset_tiles 0x2423BC, 0x6000000, 0x4000, 1 + tileset_tiles 0x243EF8, 0x6004000, 0x4000, 1 + tileset_tiles 0x2454E4, 0x6008000, 0x4000, 1 + tileset_palette_set 145, 1 + +gAreaTilesets_SanctuaryEntrance:: @ 08102220 + .4byte gAreaTileset_SanctuaryEntrance_0 + +gAreaTileset_DarkHyruleCastle_0:: @ 08102224 + tileset_tiles 0x2474EC, 0x6000000, 0x4000, 1 + tileset_tiles 0x2496C0, 0x6004000, 0x4000, 1 + tileset_tiles 0x24B928, 0x6008000, 0x4000, 1 + tileset_palette_set 59, 1 + +gAreaTilesets_DarkHyruleCastle:: @ 08102254 + .4byte gAreaTileset_DarkHyruleCastle_0 + +gAreaTileset_DarkHyruleCastleOutside_0:: @ 08102258 + tileset_tiles 0x26E3BC, 0x6000000, 0x4000, 1 + tileset_tiles 0x2703AC, 0x6004000, 0x4000, 1 + tileset_tiles 0x272030, 0x6008000, 0x4000, 1 + tileset_palette_set 144, 1 + +gAreaTilesets_DarkHyruleCastleOutside:: @ 08102288 + .4byte gAreaTileset_DarkHyruleCastleOutside_0 + +gAreaTileset_DarkHyruleCastleBridge_0:: @ 0810228C + tileset_tiles 0x252EF8, 0x6000000, 0x4000, 1 + tileset_tiles 0x25401C, 0x6004000, 0x4000, 1 + tileset_tiles 0x255758, 0x6008000, 0x4000, 1 + tileset_palette_set 180, 1 + +gAreaTilesets_DarkHyruleCastleBridge:: @ 081022BC + .4byte gAreaTileset_DarkHyruleCastleBridge_0 + +gAreaTileset_VaatisArms_0:: @ 081022C0 + tileset_tiles 0x260D88, 0x6000000, 0x4000, 1 + tileset_tiles 0x262530, 0x6004000, 0x4000, 1 + tileset_tiles 0x262F04, 0x6008000, 0x4000, 1 + tileset_palette_set 155, 1 + +gAreaTilesets_VaatisArms:: @ 081022F0 + .4byte gAreaTileset_VaatisArms_0 + +gAreaTileset_Vaati3_0:: @ 081022F4 + tileset_tiles 0x258190, 0x6000000, 0x4000, 1 + tileset_tiles 0x25929C, 0x6004000, 0x4000, 1 + tileset_tiles 0x25A4B8, 0x6008000, 0x4000, 1 + tileset_palette_set 156, 1 + +gAreaTilesets_Vaati3:: @ 08102324 + .4byte gAreaTileset_Vaati3_0 + +gAreaTileset_Vaati2_0:: @ 08102328 + tileset_tiles 0x25D0B4, 0x6000000, 0x4000, 1 + tileset_tiles 0x25DB94, 0x6004000, 0x4000, 1 + tileset_tiles 0x25EDDC, 0x6008000, 0x4000, 1 + tileset_tiles 0x26E0C8, 0x600F000, 0x800, 1 + tileset_palette_set 169, 1 + +gAreaTilesets_Vaati2:: @ 08102364 + .4byte gAreaTileset_Vaati2_0 + +gAreaTileset_45_0:: @ 08102368 + tileset_tiles 0x8D160, 0x6000000, 0x4000, 1 + tileset_tiles 0x8FAF0, 0x6004000, 0x4000, 1 + tileset_tiles 0x92434, 0x6008000, 0x4000, 1 + tileset_palette_set 35, 1 + +gAreaTilesets_45:: @ 08102398 + .4byte gAreaTileset_45_0 + +gAreaTileset_CastorCaves_0:: @ 0810239C + tileset_tiles 0x8D160, 0x6000000, 0x4000, 1 + tileset_tiles 0x8FAF0, 0x6004000, 0x4000, 1 + tileset_tiles 0x92434, 0x6008000, 0x4000, 1 + tileset_palette_set 101, 1 + +gAreaTilesets_CastorCaves:: @ 081023CC + .4byte gAreaTileset_CastorCaves_0 + +gAreaTileset_Caves_0:: @ 081023D0 + tileset_tiles 0x8D160, 0x6000000, 0x4000, 1 + tileset_tiles 0x8FAF0, 0x6004000, 0x4000, 1 + tileset_tiles 0x92434, 0x6008000, 0x4000, 1 + tileset_palette_set 131, 1 + +gAreaTilesets_Caves:: @ 08102400 + .4byte gAreaTileset_Caves_0 + +gAreaTileset_VeilFallsCaves_0:: @ 08102404 + tileset_tiles 0x8D160, 0x6000000, 0x4000, 1 + tileset_tiles 0x8FAF0, 0x6004000, 0x4000, 1 + tileset_tiles 0x92434, 0x6008000, 0x4000, 1 + tileset_palette_set 132, 1 + +gAreaTilesets_VeilFallsCaves:: @ 08102434 + .4byte gAreaTileset_VeilFallsCaves_0 + +gAreaTileset_RoyalValleyGraves_0:: @ 08102438 + tileset_tiles 0x8D160, 0x6000000, 0x4000, 1 + tileset_tiles 0x8FAF0, 0x6004000, 0x4000, 1 + tileset_tiles 0x92434, 0x6008000, 0x4000, 1 + tileset_palette_set 133, 1 + +gAreaTilesets_RoyalValleyGraves:: @ 08102468 + .4byte gAreaTileset_RoyalValleyGraves_0 + +gAreaTilesets:: @ 0810246C + .4byte gAreaTilesets_MinishWoods + .4byte gAreaTilesets_MinishVillage + .4byte gAreaTilesets_HyruleTown + .4byte gAreaTilesets_HyruleField + .4byte gAreaTilesets_CastorWilds + .4byte gAreaTilesets_Ruins + .4byte gAreaTilesets_MtCrenel + .4byte gAreaTilesets_CastleGarden + .4byte gAreaTilesets_CloudTops + .4byte gAreaTilesets_RoyalValley + .4byte gAreaTilesets_VeilFalls + .4byte gAreaTilesets_LakeHylia + .4byte gAreaTilesets_LakeWoodsCave + .4byte gAreaTilesets_Beanstalks + .4byte gAreaTilesets_MinishWoods + .4byte gAreaTilesets_HyruleDigCaves + .4byte gAreaTilesets_MelarisMine + .4byte gAreaTilesets_MinishPaths1 + .4byte gAreaTilesets_CrenelMinishPaths + .4byte gAreaTilesets_DigCaves1 + .4byte gAreaTilesets_CrenelDigCave + .4byte gAreaTilesets_FestivalTown + .4byte gAreaTilesets_VeilFallsDigCave + .4byte gAreaTilesets_CastorWildsDigCave + .4byte gAreaTilesets_OuterFortressOfWinds + .4byte gAreaTilesets_HyliaDigCaves + .4byte gAreaTilesets_VeilFallsTop + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_MinishHouseInteriors + .4byte gAreaTilesets_HouseInteriors1 + .4byte gAreaTilesets_HouseInteriors2 + .4byte gAreaTilesets_HouseInteriors3 + .4byte gAreaTilesets_TreeInteriors + .4byte gAreaTilesets_Dojos + .4byte gAreaTilesets_CrenelCaves + .4byte gAreaTilesets_MinishCracks + .4byte gAreaTilesets_HouseInteriors4 + .4byte gAreaTilesets_GreatFairies + .4byte gAreaTilesets_CastorCaves + .4byte gAreaTilesets_CastorDarknut + .4byte gAreaTilesets_ArmosInteriors + .4byte gAreaTilesets_TownMinishHoles + .4byte gAreaTilesets_MinishRafters + .4byte gAreaTilesets_GoronCave + .4byte gAreaTilesets_WindTribeTower + .4byte gAreaTilesets_WindTribeTowerRoof + .4byte gAreaTilesets_Caves + .4byte gAreaTilesets_VeilFallsCaves + .4byte gAreaTilesets_RoyalValleyGraves + .4byte gAreaTilesets_MinishCaves + .4byte gAreaTilesets_CastleGardenMinishHoles + .4byte gAreaTilesets_37 + .4byte gAreaTilesets_EzloCutscene + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_40 + .4byte gAreaTilesets_HyruleTownUnderground + .4byte gAreaTilesets_40 + .4byte gAreaTilesets_40 + .4byte gAreaTilesets_SimonsSimulation + .4byte gAreaTilesets_45 + .4byte gAreaTilesets_45 + .4byte gAreaTilesets_45 + .4byte gAreaTilesets_DeepwoodShrine + .4byte gAreaTilesets_DeepwoodShrineBoss + .4byte gAreaTilesets_DeepwoodShrineEntry + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_DeepwoodShrine + .4byte gAreaTilesets_DeepwoodShrine + .4byte gAreaTilesets_DeepwoodShrineBoss + .4byte gAreaTilesets_CaveOfFlames + .4byte gAreaTilesets_CaveOfFlamesBoss + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_CaveOfFlames + .4byte gAreaTilesets_CaveOfFlames + .4byte gAreaTilesets_CastorDarknut + .4byte gAreaTilesets_FortressOfWindsTop + .4byte gAreaTilesets_InnerMazaal + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_CastorDarknut + .4byte gAreaTilesets_TempleOfDroplets + .4byte gAreaTilesets_61 + .4byte gAreaTilesets_HyruleTownMinishCaves + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_TempleOfDroplets + .4byte gAreaTilesets_RoyalCrypt + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_RoyalCrypt + .4byte gAreaTilesets_PalaceOfWinds + .4byte gAreaTilesets_PalaceOfWindsBoss + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_PalaceOfWinds + .4byte gAreaTilesets_Sanctuary + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Sanctuary + .4byte gAreaTilesets_HyruleCastle + .4byte gAreaTilesets_SanctuaryEntrance + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_HyruleCastle + .4byte gAreaTilesets_DarkHyruleCastle + .4byte gAreaTilesets_DarkHyruleCastleOutside + .4byte gAreaTilesets_VaatisArms + .4byte gAreaTilesets_Vaati3 + .4byte gAreaTilesets_Vaati2 + .4byte gAreaTilesets_DarkHyruleCastleBridge + .4byte gAreaTilesets_Unused + .4byte gAreaTilesets_DarkHyruleCastle diff --git a/data/tilesets/minish_woods/tiles_bottom.png b/data/tilesets/minish_woods/tiles_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a0da585d4206d1d92537874ae889abef1cc22d GIT binary patch literal 9628 zcmW-nWmFW-*T-j}^iZrsMgruaTAR!&n_4t3@ z%$+y$Ju~;-Gw1s`=f2g|R>8xj#s&c3si`XJ0RZ{81qf7>e=B)TrTD+Vr>kk8^e++; z5;8I}^7He{$;s*I>Dk!Wczb(CMn2!e0gi|xrwG6p|=xvS`g|_Pxp(?eGRUu~l{%)mv<0`hXAOIfRBbrZ%t24$qkqr=`n|~hmyiJu<@B_j zk%s--(23nBrZ218(dQP=33|`wbOQ1fz_xT=zf$9B0{Gr>J%Fq%w-6ZJ5c|R~VS2*$ z!HDvrNr;^dpoG?@T4;cuCIhTWM(ggPScTCAeZWF`XL_&b@NTI7(?Zj$YX&ld}Y0Up6~ezjo{x_qXW&6^%~vWd|GN3`tYa572S<9FZ<}rKI_#}jC~W(LM*WPx zg)wC!DS-TvrmOuk-=JlSd7KDxQ(Kd)q4g2GNr+sMPj|&xxrOZJ%vheK$MQeHqN29B zgIUkVj3An-cqi)nuz+Rbu#06k#U972C;ZSBJ-78QgG#u9S)RQ;+7PQ@k&X^L#6lTa$e#)QA{7 zwV{K%R&243c5bE62`w%j1eMjOO?7Uj{&>Hu7Erj?8NSyQaYoe!rS9ESV9Q%^R>KpI z+p8r6;Q%Iz$Ma$rmE(Z?q2%l&(&7n}vG?_LYfbxarA3?>LAO!U*KeA$pNZCO;m7Ct zBygO&kqF?`M~lo&CF#Z;5=u^w?{J!k3T;Iv!A*yo2 z+dWu{i}XI8A!{*non*c!G?@MX-EAMb1DA&~K`=>DC)*#ev+O0IYq|Yk)TOFfJE8d= z2BHiu1GGJcD_XZL&z$Ev&uVSky%HO(KD6!z>{ZpH8bymtb&his zNgQy4Q{=RGb?zlg;{S@5I3H8O`nH$n*7>8i-e_)5PFiXo1$LFCT(v36T7)9+IV6IG zB%uCpUrmcLEJH?YqA1&Et)tn%lzC6ZKlk-jzev`v^x1QfpT4yVJ)IZn?v3t^O{}zC zlQpZyMcC&ej1#fjbMBbn7x53LNs22)U|qs9-Np3U*N5n)imVY`mAFw0tOWQ#?hu5R z0nJ`9O*tN7)%O|FiS1^qVV(g#_O|b9@!f+Nz8PQ7s=hX;!yt)fXo0_a1!KbCI3T5x zURMEM0VeAfckRdogdp~#JevGZa!@O|b9a{f!kVTHaX8*HcEW#Q8x$7wqovqAlY3)I zjdqbw`O5yrtM)MYtV;Bv4wcdK5~!x~Fb-A+K>i@UPn6@vZeJhxF01S{as!XvlY4z$ zc&&aXzWuA-KZLN){k&P2%6|i>zGNH+|)&E2Y6yS&nRHiV*r=Z^A*x@h8Z?X9U? zYJjN|@PT-6q3;kQqg^xF&DY)x5=?BX&YlVNg$<*996ZKa68ior3HfwEKBT%EK3%z* z=6|VRCZ$-x&Ky;&*v5n3AmR%TMqZh;a&n<&D$7hTOYR>+-?05+ zyGCO7xRMlDUxofpLs$DaOV=cir}&y!SX@V8D75nR}v zCaotC*TOnQq~p__g|h=KdS3PTwT($5&&?7+wOQYe-WDIF|^TyPqX{E38B}Vpv=)V*r_A1NNDzoJppS|$qZ9Bt6 z*bklQx|QCPKA^5eM@{@GavfIeSO)bsOw&p11FaB+)gKNavdk6}*o%2qRX?x--H}gJ zB}A`3#D`mDOky!EpZn#|MbtQoan^eljWhX{eq7P^IKQcpHqO5Nv>Ey{kym5{<0{30 zH$WU`3x4I1e81QgQf%h;7fYznR9xfBL74d#27ZXuB6&!EgXY+%T8=tTL5X=Od*GOW z$9%)S%Dk~fz|42N3$!zD`yEo!_#Dsc?;{#UN(5Jw&XJ;_ zU+zlxvWy<;?6aRZe%JL=S3u=kV*_`C{uu|Qq>8utcAerh3EKToBKwGtO)jWaC?t~T zh=KB!U5fFRVyB~->NaLxx&1Mf|FDe^QGV)9+xky1oBi$Cu{E{ef9dK90d_l&e4(Zw zck8C~D1@TRw23z;G@N?ayQcJ*g(hJ;MX;+Lhtk9qCF#u9Jkus2j0C8TJ#ECp9zS;` z13r6uPitwfzh#@UgA`~2)o>i|7Ur6=#SW4M)OFEqrW=HkeR(IP#0Fgq(B! z7P+@spiY7aHWqx`O$n9*c~XPqUp`%c_6&Tzn>QWG`pH$9^#c=eE{($FQFX>Eeq>Ib z_oA%L&y7dnfz|nsoL45h)%qd=-NmDwFQoQB@3|b?LPy>K;7yGE8S77;F`f zSTZf+w3=T_h6WD(50txJb1iqc>LwMVMMmJoi#eaoa?LJ;+^V5MTo@bd7Bbk#f7Q8GwE( zGPUf^$g6A%DdwZa23{W$4Exg!Z*N?n!CaF8yO^D`$!g6^aup#G<04hVaHI)u5CM)y zyGTGQ0T!cs+Z}=j42CXyyYHlbH{6YolX=dk=g#Kfj6V<`tSS723Bq)v^o!8;7q?}N zgf|pHAV-q_$(mzc!lSJL6*Ql6jmUgOIo?7Ap|&dzNdW#K@Wv;AO5Kd;h{J zk%OsBJQYO`urY=Wki44L-&-Hksdq&Q1V(J`XM0H^SC3N!4KZ4=C9H`7z7ySkXm`+2 zb5i(T3T5R?K)kIA1aZ9Esw)3&8l?s>GUx!IR=_5u1vpRrn6XQw+ED$qEvo$vN7M4_ z*LNE0d-+s#ty(~wVfTKXi? zzx0kniFd#mx>mJ0tT58F*Kb1sa5nqLp=-)d4JRo!3l3u+OEnEMc(m<3G1g3W$>uvF z8^E}p*Kk~-pk*=bi5sGs;Zz1b9XU^dRT#QI&mVkZr~n)_wWzC}q0C^r*`JVQGpfg0 zhw6K9r~Q%9BF6fPhd{#wezKyLUR#7@gj8GMC&Y@Kp*Me>fYei;wW{~SL{Q`roj~u% zw@w9hW zs~}zxb%>B9SH>zj(m$jK<^2zp^n;`Sl7le|Be{&WEuJ~$0D+-Sf%Hc&tWC6he*XqR zxg_2-+=s3=QaHWlaD9b6?_rIe!-4>agN4-xvDB~Z>qgNa7z$V9?h0|FGFmg*Mn%?Q z74}^z;ufAJ5RpA9&r$_A2=xs~G_ndC8@f<@O|0h45F7n1;Hk$Vhze`{OWOXg)r}Ua zw`2%Gt4d)M5yCWZhVfAc)Oy{+aSQRJ{2#yE&efU+C6dt-aqsRXwH%nAeCAVju$bnY zt;PFvkUabQD_Vm~RPU4-p&6Hqf8Or()E?dG<7Q>h;NxLK?F({NkDDZi)acIPU-y~U z$@cFpg{wCP-NLW||K1yV4)Qp^>9P-p>MDIqEE1`oE$}0l$@c$pzu9S4-NnEG7?r2N zoQ#iQg}e0EDy*%Q=7b%ruuv@~}9PG;j9<&Ka-u?^zjLPw(FyHVBpx1|-AW3aQg` z45#^?I0;BFnp*;pZ_&mziB-!9iop9?Wrb`DQC-% z>T>DJt5Q8sr}#oC>`#8=cEl?&U+xq@7xUyVr0yyOv)5CoG(PGRjN6zg91~a&g)-K5 zyW${dx`s@6KPrd-TFSp}2y-Re5@tki|2QecBd-C7aTI_x(hBxD4s@2y9~vX8p5{y>TaAvCf8!T!&c5qV;v`KZAxWmWSlF4+V{I)`f5l5}X$`Q=}Dty3J zt9ydE2IS8$DE}}gy&*cm4%LF(6Y&oVV-$twNKJ(=Z+a9%UdwWa_m)B@!jGGLY23^| zQJuQF|0H{bI*EFB8L{TvXsA4sKZrju$MYC+4W@> zul;BBwuRCx+w}AXuGqGfC6)@BSmqCj7t2lii_vO(nU^=5wY)qoYcbDR1_=|;H}dqH z_86sXH$Q_P{eKp09NH*j0uMLfG`;u(jzg;FA#hHUPb~aYlR9NHlGbr8oWi0%{b>>* zW4|*0aoNvwn7834qK~sYg0tLc>%2Jcnukih#t`<_i3#4Gxaj7xtGwZ^4`I`(S$VR+ za1uhIF4@sA^;1;jZ{&14Lm}86- zJk?9)o9j@b{tl{P~1427}DY>}ozZ;vhu+?EJk(M~FS` zd91HbA+KAB$HN!rO&&VO0E(F*&Z6$g#^E%t!LdjC-zU+iQC`W|QjZY2X|k6TrZs3pZAUCJT`WQ$jjPf zD_k#4TPQnaWjcxK#gvu4IMC?L=-Y2Dq9n0i&BI(1X+^qXB@s7Wu|bl?pUHnlf#DYb z?M!~;yHLFjy3o73NgGPVMJ1QZtK`B?UiY8Q>Lp8&Ot#jsMMHlIMT3Vf!;#6Ov^0Nk zY}w2zJ1b$Dy^@Q)%*?qlW~3KNZ{TD|IgorT?gIC zazC5!H8pOI0hu156nrUC78IQ+mqzikR@Hp7B^f6|%;9m~i8L}Im z;GlXOMer$PhqKCBCF8nn`;O3N*JHt64;cKy} zUqSIx$duJ7|G-wL1>P43s!Gi###mml04j(Tjs`2p0?N@(Xq7mK zpEXg$>&U8no@C7od+Ixgkt7QI4kBAD)GRmC~>;lf?E=j;h6)9odE z;txcWIA9cSbOB(6$Go-c;~OGCVxSs)Mt?OFD#86>?%s#S@I|q7nEBjqzii>f(U(mN zNyfJ+=#Qu{i256z*iQ%`HcFkuO`mxBy^dsTEL(`P#`_ej?ELxb-TZ-U>Boo8Mv=+$ zwqKH*-cq6$SML^7uO`vw8je3oNMron2K#2eQJWxr*ii6EY*Gnb;H*R3R!0s|BWoCt6xO++0wS=6rcn4?yXO+s3rm5eD z)Bt=;;k?4Pg2wQ+qS70JKbX3UfCO`Kmj`6C(3VnpFS3#`T4I8%S(!p;PDv>WW{%^p=|h%+KI1^ zY0^Sq9><{x@^YXSAQ9<3qEW&x+FL#RKEXo68XlK}UZ@0XRn!&bI%&%=f8a6igd$wA zGF7wS0wr>1l&UtQbjwzYX5Z(_#28AB7&$43VS4l$;GPv6en$<*vb0KMh;~0VyZj#Q z+*x&x2!5CoI9mGQTpQ0xMz(Ci_n*D}n!**z4lKC6l67yZrd>rpJ02yH63C-VVSq$R zUQ~oGVG1C`Uc>qYRYmu&8Jn0Ax{kyTjx?^wuWWJX=q|^!vV4@Rm}P?w{$_v?^9wZz z2!#5$7*o_`2uga#nw9uc4nMhK6hKkSmZu2+V{ZuW*78y;%e3JjcL^(W+y|KZ6$*UtB8Qxtw!g5~>L-QAw@>VzHmQHo#YpKk%n-tD32At}pnXDmI3Wm>K zsvd!S5vL1vK~19<{y+CVT_$$Odp%gEgneYOwmN=UGR`B@o)rHzerauE>f~*_v~)A# zXz9N=&4qx`gqK}m^%$3`bcH!83cHBh^J*K$)9@;0224KP58JxM{jGvs1b?1=7Qs>2 z`s{yX(wgEf^T1Yq=Z`L_%hScR9rLN0;c?(Iml|K*mi;3Xe;NrJFR{v7o3 zQQ4-=JoqI>pbl<1PLhP4(?1jq zfx^9jyyY&qHZC{8zh89eMG6yzuZt?<8Vo={l2uVW&oJg>*5Hnxhe$+Z_DPPbEDgQ&2YA_8X8P_JZJRVV~Bm|iOQq1bS)jv$Tn`-9_Tdy^yf1FxC z!+n(De1w2;u^%nAPX!)rTJK1W9dm$%x9oMF?`mz!QJ3ZQ_T@Ow*Xg%qeJWUmlvmdo9f>VeG1S&MLSTs zd8+ouWbWSdkA;KvBvG7R*j4ZO>G@|_OXQ<$?tLpuzEYVr1e%h$rwo%|U(!w^NaEX- zJ<3mDH|sSI>s(pY7_hvJIqmh=dw4CLSz>%NoA>BDToSH!_l94(Mo}l6#hbw0>6cx- z7>Q&8;|aZo-<@|_9Yu^@8+Y}GNIxBQjG$5@!V973e5DLNy>c$$_4lGsN0kix-fAoF zC^X!h=IOX`Mi^BnNqzKl7BfB<2GoP z05qp#KgCX$5s0UwXNC3o+^G@-Elqg9UHMdivC@>cFHS-;O4zp3mF$ynblBv7oyWj__N>a5?5T;XYoX+@zp13s6&|XsIc%#QDQ0?%rPeZnH6O%m9v|<9-|xq9UuML zvjEnKREb64HIYPWnA#%Fk?PS5_+nm^s2pJ;OE)DOv-yX?3Yx$t*xe0lj~cCn}Z>n`&{z!3Yp}fHh%b7!4r0bZK@6e)0h9wX}`-@c>%O73B%F(E9>ekQ+tMyKrQ6W%xRuYT*UQr7)FayO^ z6#_zKif1YjT)LF+-)X|{@qnpF>uvgUb|A3PcQ9X34!0;0Q6OnoTXf^5? zGflH}fIk@uw`&>RL6Y<3qFrGU$9Z2&(GeV*sGh{BIV3zdpZY)sj@?xfH*7 zyv5KTEY3F<=>4QQ@5lS&CfhI6pgEdO=kwtHC8%uHrXTO~KV)I3QvAZvGV|57J4a}e zoRdkM??FitiY%vap^?L|gatKDC6JdCC?9A{%BUgA*cB#SD4Fp;LV+dWt!Jm}>~tg3 zG*y6agS}1Zyn9#`{P@`A$N4t%>US^#BP%s;p`6a0?;7Oyv&6N{ zZ!ftV3s_;~es%R26)?uC8%hZ7fH^OlaB9?>oA`M&`3IqGnk;Kmb?+3e>sN#EQcMD| zi~_xHgYqzu;^K;3c}c~-Fb@2G#h4hKX#JGQ8Y8TyLEVGXZz)7OclywR;}a=SfFsPP zM%fF6?KKYw{C%(st@Y^dtW%*1&kur+74g8bUVr~nG4#70?4mG1K4yJq%T9H`W2Hw) zM)kp#KZX`7w+T?IAty=@AN7w&P^Foexy%+FOkcaaYOvZaaina-Lef$zUaF{lN{t}H zeP-uiNe(Iou~ktVXVSn=*1<$L+vs!>L2(MNG6Q>In@Sc{JR43FH1q16M{cMh2tc$-{LARC$I(OY(eV6bn0P*y9bteED5%J&0lxE)lks;gcbm(&j0t-hm#j4$eOV?+Gfm!n;G(04bXn$yif zW-C`h$ik1QAs+*Tcna%=3=BJdsFV49hK$gb8gKu%XLaZw(zUnf>{@OI;rXNZ^tm6c zlO`Ke+~R9eP?&=1)*bN14odL~78Cdzp_sQnLj3Ly@m$AtJ(+ix?!_|g*S(q= z!_sX#-`z5~*1X~YOE+yU3nJijpj5|2cU|c2)=P~|nuJ(4?Y7t@=0rH#Sc1AARHlY- z#tvB*F#lMh$kr!4@log)OHVK9=gDFPvV;>k{C~$ds7XU$;E8@LxTUC;`$qPjm9U5C3U$(= zKU$BNbb@G7RbQ{MfXw@aYr#c{XE-VTn~Cn{1Q*{7er5i9S?!1C(`cf%-`v#iBSj~l zwEVi&``e_~@O#evX&WenVm7|}+9CctRztmG9qwI6c4rw5yM3meiQ0R9To!}gO9^}% zx&{=-NH3P#IG4X~JQe*Da*}hITuEz|>UOi<$UW52l*!xIRF3v literal 0 HcmV?d00001 diff --git a/linker.ld b/linker.ld index b77adca9..05ea390b 100644 --- a/linker.ld +++ b/linker.ld @@ -917,8 +917,10 @@ SECTIONS { data/data_080D5360.o(.rodata); src/mainLoop.o(.rodata); data/data_08100CD4.o(.rodata); - src/manager/managerB.o(.rodata); - data/data_0810821C.o(.rodata); + data/tileset_headers.o(.rodata); + data/data_081026AC.o(.rodata); + src/manager/managerB.o(.rodata); + data/data_0810821C.o(.rodata); src/item.o(.rodata); data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); diff --git a/src/sub_0807C998.c b/src/sub_0807C998.c index 77dff7bf..2b77a1ae 100644 --- a/src/sub_0807C998.c +++ b/src/sub_0807C998.c @@ -8,15 +8,15 @@ extern u8 gUnk_08324AE4; void sub_0807C960(void* dest, u32 offset) { - void* temp; + void* src; if (offset != -1) { - temp = &gUnk_08324AE4 + (offset & 0x7fffffff); + src = &gUnk_08324AE4 + (offset & 0x7fffffff); if ((u32)dest >> 0x18 == 6) { - LZ77UnCompVram(temp, (void *)dest); + LZ77UnCompVram(src, (void *)dest); } else { - LZ77UnCompWram(temp, (void *)dest); + LZ77UnCompWram(src, (void *)dest); } } } From 5056d3dcc86299589804674709607114ccb35f59 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 25 Aug 2020 03:57:50 +0200 Subject: [PATCH 011/105] decompile vaatiBall --- asm/vaatiBall.s | 1292 ----------------------------------------- linker.ld | 2 +- src/enemy/vaatiBall.c | 503 ++++++++++++++++ 3 files changed, 504 insertions(+), 1293 deletions(-) delete mode 100644 asm/vaatiBall.s create mode 100644 src/enemy/vaatiBall.c diff --git a/asm/vaatiBall.s b/asm/vaatiBall.s deleted file mode 100644 index acb12dbc..00000000 --- a/asm/vaatiBall.s +++ /dev/null @@ -1,1292 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start VaatiBall -VaatiBall: @ 0x080445DC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08044604 - cmp r0, #3 - beq _08044604 - ldr r1, [r5, #0x2c] - ldr r0, [r5, #0x78] - subs r1, r1, r0 - ldr r0, [r4, #0x2c] - adds r0, r0, r1 - str r0, [r4, #0x2c] - ldr r1, [r5, #0x30] - ldr r0, [r5, #0x7c] - subs r1, r1, r0 - ldr r0, [r4, #0x30] - adds r0, r0, r1 - str r0, [r4, #0x30] -_08044604: - ldr r1, _08044684 @ =gUnk_080D1604 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #0 - beq _08044626 - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] -_08044626: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08044680 - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _0804464A - ldrb r0, [r4, #0xc] - cmp r0, #6 - bne _0804464A - movs r0, #2 - rsbs r0, r0, #0 - bl ModHealth -_0804464A: - adds r2, r4, #0 - adds r2, #0x45 - ldrb r0, [r2] - cmp r0, #0xfc - bhi _08044680 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xff - strb r0, [r2] - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080A29BC - ldr r0, _08044688 @ =0x000001C3 - bl PlaySFX -_08044680: - pop {r4, r5, pc} - .align 2, 0 -_08044684: .4byte gUnk_080D1604 -_08044688: .4byte 0x000001C3 - - thumb_func_start sub_0804468C -sub_0804468C: @ 0x0804468C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x38 - movs r6, #0 - movs r5, #3 - strb r5, [r0] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x84 - strb r6, [r0] - ldrb r3, [r4, #0xa] - cmp r3, #0 - beq _080446C8 - cmp r3, #1 - beq _08044728 - b _0804474A -_080446C8: - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x79 - ldrb r0, [r2] - lsls r0, r0, #3 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x78 - strb r3, [r0] - adds r0, #0xb - strb r3, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r2] - adds r1, r5, #0 - ands r1, r0 - lsls r1, r1, #1 - ldr r0, _08044724 @ =gUnk_080D1620 - adds r1, r1, r0 - ldr r0, [r4, #0x50] - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r1, r3] - subs r3, #0x10 - lsls r3, r3, #0x10 - adds r1, r4, #0 - bl PositionRelative - ldr r0, [r4, #0x50] - ldrh r0, [r0, #0x36] - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #0 - bl InitAnimationForceUpdate - b _0804474A - .align 2, 0 -_08044724: .4byte gUnk_080D1620 -_08044728: - strb r5, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, #0xf - movs r2, #1 - strb r3, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #1 - bl InitAnimationForceUpdate -_0804474A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0804474C -sub_0804474C: @ 0x0804474C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r2, [r0, #0xc] - cmp r2, #3 - beq _0804476C - cmp r2, #3 - bgt _08044762 - cmp r2, #2 - beq _0804479A - b _080447A8 -_08044762: - cmp r2, #5 - beq _0804477A - cmp r2, #6 - beq _0804478A - b _080447A8 -_0804476C: - movs r1, #0 - strb r2, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strb r1, [r0] - strb r1, [r4, #0xe] - b _080447A8 -_0804477A: - movs r0, #0 - strb r2, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x74 - strb r0, [r1] - movs r0, #1 - strb r0, [r4, #0xf] - b _080447A8 -_0804478A: - movs r0, #0 - strb r2, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x74 - strb r0, [r1] - movs r0, #0x20 - strb r0, [r4, #0xf] - b _080447A8 -_0804479A: - movs r1, #0 - strb r2, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strb r1, [r0] - subs r0, #0x35 - strb r1, [r0] -_080447A8: - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080447B6 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - b _080447DC -_080447B6: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080447D0 - movs r0, #2 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - adds r0, #1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_080447D0: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl UpdateAnimationSingleFrame -_080447DC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080447E0 -sub_080447E0: @ 0x080447E0 - push {r4, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x50] - ldrb r0, [r3, #0xc] - cmp r0, #1 - bne _08044818 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x2b - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08044E74 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08044864 - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _08044864 -_08044818: - adds r1, r4, #0 - adds r1, #0x77 - ldrb r0, [r1] - adds r2, r0, #1 - movs r0, #7 - ands r2, r0 - strb r2, [r1] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08044852 - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _08044848 - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _08044852 -_08044848: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_08044852: - adds r0, r3, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r0, #2 - bne _08044864 - adds r0, r4, #0 - movs r1, #2 - bl sub_08044E74 -_08044864: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08044868 -sub_08044868: @ 0x08044868 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r0, #3 - bne _0804487E - b _080449C8 -_0804487E: - cmp r0, #3 - bgt _0804488E - cmp r0, #1 - beq _08044948 - cmp r0, #2 - bne _0804488C - b _080449AE -_0804488C: - b _080449EA -_0804488E: - cmp r0, #0xfe - beq _08044898 - cmp r0, #0xff - beq _080448B6 - b _080449EA -_08044898: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - bne _080448A4 - b _080449EA -_080448A4: - adds r0, r4, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r0, #2 - beq _080448B0 - b _080449EA -_080448B0: - bl DeleteThisEntity - b _080449EA -_080448B6: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - bne _080448C2 - b _080449EA -_080448C2: - adds r6, r4, #0 - adds r6, #0x74 - ldrb r0, [r6] - cmp r0, #0 - beq _080448D2 - cmp r0, #1 - beq _08044900 - b _080449EA -_080448D2: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080448E2 - b _080449EA -_080448E2: - movs r0, #1 - strb r0, [r6] - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - b _080449EA -_08044900: - adds r0, r4, #0 - bl sub_0806F69C - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - subs r2, #0x10 - adds r0, r4, #0 - movs r3, #0xc - bl sub_0806FCB8 - cmp r0, #0 - beq _08044934 - ldrb r0, [r6] - adds r0, #1 - strb r0, [r6] - ldrh r0, [r5, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - subs r0, #0x10 - strh r0, [r4, #0x32] - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - b _080449EA -_08044934: - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - b _080449EA -_08044948: - adds r1, r4, #0 - adds r1, #0x83 - ldrb r0, [r1] - cmp r0, #0 - bne _08044964 - adds r0, #1 - strb r0, [r1] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_08044964: - adds r0, r4, #0 - bl sub_08044DEC - adds r0, r5, #0 - adds r0, #0x86 - ldrb r0, [r0] - cmp r0, #1 - bls _080449A8 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r6, r0, #0x1e - cmp r6, #1 - bne _080449A8 - movs r0, #0x84 - adds r0, r0, r4 - mov r8, r0 - ldrb r7, [r0] - cmp r7, #0 - bne _080449A8 - adds r0, r4, #0 - movs r1, #0x18 - movs r2, #0 - bl sub_0804A98C - adds r5, r0, #0 - cmp r5, #0 - beq _080449A8 - strb r6, [r5, #0xb] - str r4, [r5, #0x50] - mov r0, r8 - strb r6, [r0] - adds r0, r4, #0 - adds r0, #0x3f - strb r7, [r0] -_080449A8: - movs r0, #0x20 - strb r0, [r4, #0xe] - b _080449EA -_080449AE: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080449EA - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x10 - bhi _080449EA - adds r0, r4, #0 - bl sub_0806F69C - b _080449EA -_080449C8: - adds r0, r4, #0 - movs r1, #1 - bl sub_08044E74 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _080449E2 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - b _080449E8 -_080449E2: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 -_080449E8: - strb r0, [r4, #0x10] -_080449EA: - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080449F8 -sub_080449F8: @ 0x080449F8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x50] - bl UpdateAnimationSingleFrame - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08044A90 - adds r6, r4, #0 - adds r6, #0x74 - ldrb r0, [r6] - cmp r0, #1 - beq _08044A6A - cmp r0, #1 - bgt _08044A1C - cmp r0, #0 - beq _08044A26 - b _08044B02 -_08044A1C: - cmp r0, #2 - beq _08044AC6 - cmp r0, #3 - beq _08044AF8 - b _08044B02 -_08044A26: - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044B02 - adds r1, r5, #0 - adds r1, #0x78 - ldrb r0, [r1] - cmp r0, #0 - bne _08044A4C - adds r0, #1 - strb r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] -_08044A4C: - movs r0, #4 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x15] - adds r0, #1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _08044B02 - movs r0, #1 - strb r0, [r6] - b _08044B02 -_08044A6A: - ldrb r0, [r5, #0xe] - cmp r0, #2 - beq _08044A84 - cmp r0, #2 - bgt _08044A7A - cmp r0, #1 - beq _08044A9A - b _08044B02 -_08044A7A: - cmp r0, #3 - beq _08044ABA - cmp r0, #4 - beq _08044AB4 - b _08044B02 -_08044A84: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _08044B02 - strb r0, [r5, #0xf] -_08044A90: - adds r0, r5, #0 - movs r1, #0 - bl sub_08044E74 - b _08044B02 -_08044A9A: - ldrb r0, [r5, #0x15] - adds r0, #0x10 - movs r4, #0x1f - ands r0, r4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0x15] - adds r0, #0x10 - ands r0, r4 - strb r0, [r5, #0x15] - b _08044AC0 -_08044AB4: - adds r0, r5, #0 - bl sub_0806F69C -_08044ABA: - adds r0, r5, #0 - bl sub_0806F69C -_08044AC0: - movs r0, #2 - strb r0, [r5, #0xe] - b _08044B02 -_08044AC6: - adds r1, r5, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #0 - bne _08044B02 - adds r0, #1 - strb r0, [r1] - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - beq _08044B02 - adds r0, r5, #0 - movs r1, #0x1c - movs r2, #0 - bl sub_0804A98C - adds r4, r0, #0 - cmp r4, #0 - beq _08044B02 - ldrh r0, [r4, #0x32] - adds r0, #4 - strh r0, [r4, #0x32] - str r5, [r4, #0x50] - str r4, [r5, #0x54] - b _08044B02 -_08044AF8: - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _08044B02 - movs r0, #0 - strb r0, [r5, #0xf] -_08044B02: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08044B04 -sub_08044B04: @ 0x08044B04 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldr r6, [r4, #0x50] - bl UpdateAnimationSingleFrame - ldrb r0, [r6, #0xc] - cmp r0, #1 - bne _08044B26 - adds r0, r4, #0 - movs r1, #0 - bl sub_08044E74 - movs r0, #0x20 - strb r0, [r4, #0xe] - b _08044DE6 -_08044B26: - adds r0, r6, #0 - adds r0, #0x74 - ldrb r5, [r0] - cmp r5, #1 - bne _08044B32 - b _08044D10 -_08044B32: - cmp r5, #1 - bgt _08044B3C - cmp r5, #0 - beq _08044B4A - b _08044DE6 -_08044B3C: - cmp r5, #2 - bne _08044B42 - b _08044DE6 -_08044B42: - cmp r5, #3 - bne _08044B48 - b _08044D6A -_08044B48: - b _08044DE6 -_08044B4A: - adds r0, r4, #0 - bl sub_0806F69C - adds r7, r4, #0 - adds r7, #0x74 - ldrb r0, [r7] - mov r8, r7 - cmp r0, #1 - beq _08044BF4 - cmp r0, #1 - bgt _08044B66 - cmp r0, #0 - beq _08044B72 - b _08044DE6 -_08044B66: - cmp r0, #2 - beq _08044C4C - cmp r0, #3 - bne _08044B70 - b _08044C9C -_08044B70: - b _08044DE6 -_08044B72: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044B98 - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - movs r1, #2 - cmp r0, #0 - beq _08044B8C - movs r1, #4 -_08044B8C: - strb r1, [r4, #0xe] - ldrb r0, [r4, #0x15] - adds r0, #1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_08044B98: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - beq _08044BAA - b _08044DE6 -_08044BAA: - ldrb r0, [r4, #0xe] - cmp r0, #2 - beq _08044BB6 - movs r0, #1 - strb r0, [r4, #0xf] - b _08044DE6 -_08044BB6: - adds r1, r4, #0 - adds r1, #0x78 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ands r0, r2 - cmp r0, #2 - bls _08044BDA - mov r2, r8 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #1 - strb r0, [r1] - movs r0, #4 - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - b _08044BDE -_08044BDA: - movs r0, #0x20 - strb r0, [r4, #0xf] -_08044BDE: - ldrb r0, [r1] - movs r2, #0xa0 - lsls r2, r2, #3 - adds r1, r2, #0 - cmp r0, #0 - beq _08044BF0 - movs r0, #0xa0 - lsls r0, r0, #2 - adds r1, r0, #0 -_08044BF0: - strh r1, [r4, #0x24] - b _08044DE6 -_08044BF4: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08044C04 - b _08044DE6 -_08044C04: - movs r0, #6 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - adds r0, #1 - movs r2, #0x1f - mov r8, r2 - mov r2, r8 - ands r0, r2 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0x30 - beq _08044C24 - b _08044DE6 -_08044C24: - movs r0, #0x2e - ldrsh r1, [r6, r0] - movs r0, #0x32 - ldrsh r2, [r6, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strh r5, [r4, #0x24] - adds r0, #0x10 - mov r1, r8 - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x10 - strb r0, [r4, #0xe] - strb r0, [r4, #0xf] - ldrb r0, [r7] - adds r0, #1 - strb r0, [r7] - b _08044DE6 -_08044C4C: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08044CA2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #4 - beq _08044CAE - cmp r5, #4 - bgt _08044C6A - cmp r5, #0 - beq _08044C78 - b _08044DE6 -_08044C6A: - cmp r5, #0xc - beq _08044C70 - b _08044DE6 -_08044C70: - movs r0, #0xa0 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - b _08044DE6 -_08044C78: - ldrb r0, [r7] - adds r0, #1 - strb r0, [r7] - movs r2, #0x2e - ldrsh r1, [r6, r2] - movs r0, #0x32 - ldrsh r2, [r6, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - strh r5, [r4, #0x24] - movs r0, #4 - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08044DE6 -_08044C9C: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08044CB6 -_08044CA2: - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08044CAE - b _08044DE6 -_08044CAE: - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - b _08044DE6 -_08044CB6: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08044CD2 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044CD2 - movs r0, #0xa0 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - ldr r0, _08044D0C @ =0x0000014F - bl PlaySFX -_08044CD2: - adds r0, r4, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #3 - bne _08044CF8 - movs r2, #0x2e - ldrsh r1, [r6, r2] - movs r0, #0x32 - ldrsh r2, [r6, r0] - subs r2, #0x10 - adds r0, r4, #0 - movs r3, #0xc - bl sub_0806FCB8 - cmp r0, #0 - beq _08044CF8 - ldrb r0, [r6, #0xe] - adds r0, #1 - strb r0, [r6, #0xe] -_08044CF8: - movs r2, #0x2e - ldrsh r1, [r6, r2] - movs r0, #0x32 - ldrsh r2, [r6, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - b _08044DE6 - .align 2, 0 -_08044D0C: .4byte 0x0000014F -_08044D10: - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #1 - beq _08044D50 - cmp r0, #3 - bne _08044DE6 - strb r5, [r1] - movs r0, #0x50 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r3, _08044D4C @ =0xFFF00000 - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #0 - bl PositionRelative - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08044DE6 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _08044DE6 - .align 2, 0 -_08044D4C: .4byte 0xFFF00000 -_08044D50: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08044DE6 - strb r0, [r1] - movs r0, #0x20 - strb r0, [r4, #0xe] - movs r0, #4 - strb r0, [r4, #0xf] - b _08044DE6 -_08044D6A: - adds r5, r4, #0 - adds r5, #0x74 - ldrb r0, [r5] - cmp r0, #1 - beq _08044DA4 - cmp r0, #1 - bgt _08044D7E - cmp r0, #0 - beq _08044D84 - b _08044DE6 -_08044D7E: - cmp r0, #2 - beq _08044DBE - b _08044DE6 -_08044D84: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08044DE6 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044DE6 - adds r0, r4, #0 - bl sub_08044DEC - movs r0, #1 - strb r0, [r5] - movs r0, #0x10 - strb r0, [r4, #0xe] - b _08044DE6 -_08044DA4: - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044DE6 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - b _08044DE6 -_08044DBE: - adds r0, r4, #0 - movs r1, #1 - bl sub_08044E74 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _08044DD8 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - b _08044DDE -_08044DD8: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 -_08044DDE: - strb r0, [r4, #0x10] - ldrb r0, [r6, #0xe] - adds r0, #1 - strb r0, [r6, #0xe] -_08044DE6: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08044DEC -sub_08044DEC: @ 0x08044DEC - push {lr} - mov ip, r0 - ldr r0, [r0, #0x50] - adds r0, #0x80 - mov r1, ip - adds r1, #0x79 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _08044E1A - mov r0, ip - ldrb r1, [r0, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x18] - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] - b _08044E26 -_08044E1A: - mov r2, ip - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] -_08044E26: - mov r0, ip - ldrb r1, [r0, #0x10] - movs r0, #0x7f - ands r0, r1 - movs r1, #0 - mov r2, ip - strb r0, [r2, #0x10] - mov r0, ip - adds r0, #0x78 - strb r1, [r0] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r2, #0x24] - ldr r0, [r2, #0x50] - adds r1, r0, #0 - adds r1, #0x80 - ldrb r1, [r1] - subs r1, #1 - ldr r2, _08044E6C @ =gUnk_080D1628 - mov r3, ip - adds r3, #0x79 - lsls r1, r1, #2 - ldrb r3, [r3] - adds r1, r1, r3 - adds r1, r1, r2 - ldrb r1, [r1] - mov r2, ip - strb r1, [r2, #0x15] - ldr r3, _08044E70 @ =0xFFF00000 - mov r1, ip - movs r2, #0 - bl PositionRelative - pop {pc} - .align 2, 0 -_08044E6C: .4byte gUnk_080D1628 -_08044E70: .4byte 0xFFF00000 - - thumb_func_start sub_08044E74 -sub_08044E74: @ 0x08044E74 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r2, r1, #0 - movs r0, #0 - movs r1, #1 - strb r1, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x74 - strb r0, [r1] - cmp r2, #1 - beq _08044ED4 - cmp r2, #1 - blo _08044EE4 - adds r6, r5, #0 - adds r6, #0x78 - cmp r2, #2 - bne _08044F3E - strb r2, [r5, #0xc] - ldrb r0, [r5, #0x15] - adds r0, #0x18 - movs r4, #0x1f - ands r0, r4 - strb r0, [r5, #0x15] - ldr r0, [r5, #0x50] - ldr r3, _08044ED0 @ =0xFFF00000 - adds r1, r5, #0 - movs r2, #0 - bl PositionRelative - movs r0, #0xc0 - lsls r0, r0, #6 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0x15] - adds r0, #8 - ands r0, r4 - strb r0, [r5, #0x15] - movs r0, #0xa0 - lsls r0, r0, #3 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_0806F69C - b _08044F3E - .align 2, 0 -_08044ED0: .4byte 0xFFF00000 -_08044ED4: - ldrb r0, [r5, #0x15] - adds r0, #8 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - adds r6, r5, #0 - adds r6, #0x78 - b _08044F3E -_08044EE4: - adds r0, r5, #0 - adds r0, #0x78 - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0 - beq _08044F32 - ldrb r0, [r5, #0xe] - cmp r0, #1 - beq _08044F18 - cmp r0, #1 - blt _08044F3E - cmp r0, #4 - bgt _08044F3E - cmp r0, #3 - blt _08044F3E - movs r4, #0xff -_08044F04: - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - ands r0, r4 - cmp r0, #2 - bne _08044F04 - b _08044F3E -_08044F18: - ldrb r0, [r5, #0x15] - adds r0, #0x10 - movs r4, #0x1f - ands r0, r4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0x15] - adds r0, #0x10 - ands r0, r4 - strb r0, [r5, #0x15] - b _08044F3E -_08044F32: - ldrb r0, [r5, #0xe] - cmp r0, #2 - bne _08044F3E - adds r0, r5, #0 - bl sub_0806F69C -_08044F3E: - movs r0, #0 - movs r1, #1 - strb r1, [r5, #0xe] - strb r0, [r6] - movs r0, #0xa0 - lsls r0, r0, #3 - strh r0, [r5, #0x24] - pop {r4, r5, r6, pc} - .align 2, 0 diff --git a/linker.ld b/linker.ld index 05ea390b..bbbb6d98 100644 --- a/linker.ld +++ b/linker.ld @@ -416,7 +416,7 @@ SECTIONS { asm/vaatiWrath.o(.text); asm/vaatiArm.o(.text); asm/dust.o(.text); - asm/vaatiBall.o(.text); + src/enemy/vaatiBall.o(.text); src/enemy/slime.o(.text); asm/sub_080451CC.o(.text); src/enemy/miniSlime.o(.text); diff --git a/src/enemy/vaatiBall.c b/src/enemy/vaatiBall.c new file mode 100644 index 00000000..ba12afd7 --- /dev/null +++ b/src/enemy/vaatiBall.c @@ -0,0 +1,503 @@ +#include "entity.h" +#include "player.h" +#include "functions.h" +#include "screen.h" + +typedef struct { + s8 h, v; +} PACKED PosOffset; + +extern void (*const gUnk_080D1604[])(Entity*); +extern PosOffset gUnk_080D1620[4]; + +extern void sub_08044E74(Entity*, u32); + +void VaatiBall(Entity* this) { + Entity* parent; + + parent = this->parent; + if (this->action && this->action != 3) { + this->x.WORD += parent->x.WORD - *(int*)&parent->field_0x78; + this->y.WORD += parent->y.WORD - parent->field_0x7c.WORD; + } + + gUnk_080D1604[this->action](this); + + if (this->cutsceneBeh.HALF.LO) { + this->currentHealth = -1; + } + + if (this->bitfield & 0x80) { + if ((this->bitfield & 0x3f) == 0 && this->action == 6) { + ModHealth(-2); + } + + if (this->currentHealth < 0xfd) { + this->spriteSettings.b.draw = 0; + this->flags &= 0x7f; + this->currentHealth = -1; + parent->field_0x80.HALF.LO--; + sub_080A29BC(this); + PlaySFX(0x1c3); + } + } +} + +void sub_0804468C(Entity* this) { + PosOffset* off; + + this->collisionLayer = 3; + this->spriteRendering.b3 = 2; + this->spritePriority.b0 = 5; + this->cutsceneBeh.HALF.LO = 0; + switch (this->entityType.form) { + case 0: + this->action = 1; + this->actionDelay = 1; + this->direction = (this->field_0x78.HALF.HI * 8) & 0x1f; + this->field_0x78.HALF.LO = 0; + this->field_0x82.HALF.HI = 0; + this->spriteSettings.b.draw = 0; + off = &gUnk_080D1620[this->field_0x78.HALF.HI & 3]; + PositionRelative(this->parent, this, off->h << 0x10, (off->v - 0x10) * 0x10000); + this->height.HALF.HI = this->parent->height.HALF.HI; + InitAnimationForceUpdate(this, 0); + break; + case 1: + this->action = 3; + this->field_0x74.HALF.LO = 0; + this->field_0x82.HALF.HI = 1; + this->spriteSettings.b.draw = 1; + InitAnimationForceUpdate(this, 1); + break; + } +} + +void sub_0804474C(Entity* this) { + switch (this->parent->action) { + case 3: + this->action = 3; + this->field_0x74.HALF.LO = 0; + this->actionDelay = 0; + break; + case 5: + this->action = 5; + this->field_0x74.HALF.LO = 0; + this->field_0xf = 1; + break; + case 6: + this->action = 6; + this->field_0x74.HALF.LO = 0; + this->field_0xf = 32; + break; + case 2: + this->action = 2; + this->field_0x74.HALF.LO = 0; + this->damageType = 0; + break; + } + + if (this->action != 1) { + UpdateAnimationSingleFrame(this); + } else { + if (--this->actionDelay == 0) { + this->actionDelay = 2; + this->direction++; + this->direction &= 0x1f; + } + sub_0806F69C(this); + UpdateAnimationSingleFrame(this); + } +} + +void sub_080447E0(Entity* this) { + Entity* vaati = this->parent; + + if (vaati->action == 1) { + this->action = 1; + this->damageType = 43; + sub_08044E74(this, 0); + if (this->flags & 0x80) + this->spriteSettings.b.draw = 1; + } else { + this->field_0x76.HALF.HI++; + this->field_0x76.HALF.HI &= 7; + if (this->flags & 0x80) { + if (this->field_0x76.HALF.HI & 1) { + this->spriteSettings.b.draw = 1; + } else { + this->spriteSettings.b.draw = 0; + } + } + + if (vaati->field_0x74.HALF.LO == 2) { + sub_08044E74(this, 2); + } + } +} + +extern u32 sub_080045B4(); +extern u32 sub_0806FCB8(Entity*, u32, u32, u32); +extern void sub_08044DEC(); + +void sub_08044868(Entity* this) { + Entity* vaati = this->parent; + + switch (vaati->field_0x74.HALF.LO) { + case 0xfe: + if (this->field_0x82.HALF.HI && this->field_0x74.HALF.LO == 2) + DeleteThisEntity(); + break; + case 0xff: + if (this->field_0x82.HALF.HI) { + switch (this->field_0x74.HALF.LO) { + case 0: + if (this->frames.all & 0x80) { + this->field_0x74.HALF.LO = 1; + this->direction = sub_080045B4(this, vaati->x.HALF.HI, vaati->y.HALF.HI - 0x10); + this->nonPlanarMovement = 0x180; + } + break; + case 1: + sub_0806F69C(this); + if (sub_0806FCB8(this, vaati->x.HALF.HI, vaati->y.HALF.HI - 0x10, 0xc)) { + this->field_0x74.HALF.LO++; + this->x.HALF.HI = vaati->x.HALF.HI; + this->y.HALF.HI = vaati->y.HALF.HI - 0x10; + vaati->actionDelay++; + } else { + this->direction = sub_080045B4(this, vaati->x.HALF.HI, vaati->y.HALF.HI - 0x10); + } + break; + } + } + break; + case 1: + if (this->field_0x82.HALF.HI == 0) { + this->field_0x82.HALF.HI++; + this->spriteSettings.b.draw = 1; + } + sub_08044DEC(this); + if (*(u8*)&vaati->field_0x86 > 1) { + u8 draw = this->spriteSettings.b.draw; + if (draw == 1 && this->cutsceneBeh.HALF.LO == 0) { + vaati = sub_0804A98C(this, 0x18, 0); + if (vaati) { + vaati->entityType.parameter = 1; + vaati->parent = this; + this->cutsceneBeh.HALF.LO = 1; + this->damageType = 0; + } + } + } + this->actionDelay = 32; + break; + case 2: + if (this->actionDelay) + if (--this->actionDelay < 0x11) + sub_0806F69C(this); + break; + case 3: { + u8 draw; + + sub_08044E74(this, 1); + draw = this->spriteSettings.b.draw; + if (draw == 1) { + this->flags |= 0x80; + } else { + this->flags &= 0x7f; + } + break; + } + } + UpdateAnimationSingleFrame(this); +} + +void sub_080449F8(Entity* this) { + Entity* vaati = this->parent; + + UpdateAnimationSingleFrame(this); + if (vaati->action == 1) { + sub_08044E74(this, 0); + return; + } + + switch (vaati->field_0x74.HALF.LO) { + case 0: + sub_0806F69C(this); + if (--this->actionDelay) + break; + + if (this->field_0x78.HALF.LO == 0) { + this->field_0x78.HALF.LO++; + this->nonPlanarMovement = 640; + } + + this->actionDelay = 4; + this->direction++; + this->direction &= 0x1f; + if (vaati->field_0x80.HALF.LO == 0) + vaati->field_0x74.HALF.LO = 1; + break; + case 1: + switch (this->actionDelay) { + case 2: + if (vaati->field_0x80.HALF.LO == 0) { + this->field_0xf = 0; + sub_08044E74(this, 0); + } + break; + case 1: + this->direction = (this->direction + 0x10) & 0x1f; + sub_0806F69C(this); + this->direction = (this->direction + 0x10) & 0x1f; + this->actionDelay = 2; + break; + case 3: + sub_0806F69C(this); + this->actionDelay = 2; + break; + case 4: + sub_0806F69C(this); + sub_0806F69C(this); + this->actionDelay = 2; + break; + } + break; + case 2: + if (this->field_0x74.HALF.LO == 0) { + u8 draw; + + this->field_0x74.HALF.LO++; + draw = this->spriteSettings.b.draw; + if (draw) { + vaati = sub_0804A98C(this, 0x1c, 0); + if (vaati) { + vaati->y.HALF.HI += 4; + vaati->parent = this; + this->attachedEntity = vaati; + } + } + } + break; + case 3: + if (this->field_0xf) { + this->field_0xf = 0; + } + break; + } +} + +void sub_08044B04(Entity* this) { + Entity* vaati = this->parent; + + UpdateAnimationSingleFrame(this); + if (vaati->action == 1) { + sub_08044E74(this, 0); + this->actionDelay = 32; + return; + } + + switch (vaati->field_0x74.HALF.LO) { + case 0: + sub_0806F69C(this); + switch (this->field_0x74.HALF.LO) { + case 0: + if (--this->actionDelay == 0) { + this->actionDelay = this->field_0x78.HALF.LO ? 4 : 2; + this->direction++; + this->direction &= 0x1f; + } + if (--this->field_0xf == 0) { + if (this->actionDelay != 2) { + this->field_0xf = 1; + } else { + if (++this->field_0x78.HALF.LO > 2) { + this->field_0x74.HALF.LO++; + this->field_0x78.HALF.LO = 1; + this->actionDelay = 4; + this->field_0xf = 0; + } else { + this->field_0xf = 32; + } + + this->nonPlanarMovement = this->field_0x78.HALF.LO ? 640 : 1280; + } + } + break; + case 1: + if (--this->actionDelay == 0) { + this->actionDelay = 6; + this->direction = (this->direction + 1) & 0x1f; + if (++this->field_0xf == 0x30) { + u32 direction = sub_080045B4(this, vaati->x.HALF.HI, vaati->y.HALF.HI - 0x10); + this->nonPlanarMovement = 0; + this->direction = (direction + 16) & 0x1f; + this->actionDelay = 16; + this->field_0xf = 16; + this->field_0x74.HALF.LO++; + } + } + break; + case 2: + if (this->field_0xf == 0) { + switch (--this->actionDelay) { + case 12: + this->nonPlanarMovement = 1280; + break; + case 0: + this->field_0x74.HALF.LO++; + this->direction = sub_080045B4(this, vaati->x.HALF.HI, vaati->y.HALF.HI - 0x10); + this->nonPlanarMovement = 0; + this->actionDelay = 4; + this->field_0xf = 16; + break; + case 4: + this->nonPlanarMovement = 640; + break; + } + } else { + if (--this->field_0xf == 0) + this->nonPlanarMovement = 640; + } + break; + case 3: + if (this->field_0xf) { + if (--this->field_0xf == 0) + this->nonPlanarMovement = 640; + } else { + if (this->actionDelay) { + if (--this->actionDelay == 0) { + this->nonPlanarMovement = 1280; + PlaySFX(0x14f); + } + } + if (this->field_0x78.HALF.HI == 3) + if (sub_0806FCB8(this, vaati->x.HALF.HI, vaati->y.HALF.HI - 0x10, 0xc)) + vaati->actionDelay++; + this->direction = sub_080045B4(this, vaati->x.HALF.HI, vaati->y.HALF.HI - 0x10); + return; + } + break; + } + break; + case 1: + switch (this->field_0x74.HALF.LO) { + case 3: + this->field_0x74.HALF.LO = 1; + this->actionDelay = 80; + this->flags &= 0x7f; + PositionRelative(vaati, this, 0, -0x100000); + if (this->field_0xf) + this->spriteSettings.b.draw = 0; + break; + case 1: + if (--this->actionDelay == 0) { + this->field_0x74.HALF.LO = 0; + this->actionDelay = 32; + this->field_0xf = 4; + } + break; + } + break; + case 2: + /* ... */ + break; + case 3: + switch (this->field_0x74.HALF.LO) { + case 0: + if (this->field_0xf) { + if (--this->field_0xf == 0) { + sub_08044DEC(this); + this->field_0x74.HALF.LO = 1; + this->actionDelay = 16; + } + } + break; + case 1: + sub_0806F69C(this); + if (--this->actionDelay == 0) + this->field_0x74.HALF.LO++; + break; + case 2: { + u8 draw; + + sub_08044E74(this, 1); + draw = this->spriteSettings.b.draw; + if (draw == 1) { + this->flags |= 0x80; + } else { + this->flags &= 0x7f; + } + vaati->actionDelay++; + break; + } + } + break; + } +} + +extern u8 gUnk_080D1628[4][4]; + +void sub_08044DEC(Entity* this) { + u32 off; + + if (this->parent->field_0x80.HALF.LO > this->field_0x78.HALF.HI) { + this->spriteSettings.b.draw = 1; + this->currentHealth = -1; + } else { + this->spriteSettings.b.draw = 0; + } + this->flags &= 0x7f; + this->field_0x78.HALF.LO = 0; + this->nonPlanarMovement = 0x300; + off = this->parent->field_0x80.HALF.LO - 1; + this->direction = gUnk_080D1628[off][this->field_0x78.HALF.HI]; + PositionRelative(this->parent, this, 0, -0x100000); +} + +void sub_08044E74(Entity* this, u32 state) { + this->action = 1; + this->field_0x74.HALF.LO = 0; + + switch (state) { + case 2: + this->action = 2; + this->direction += 0x18; + this->direction &= 0x1f; + PositionRelative(this->parent, this, 0, -0x100000); + this->nonPlanarMovement = 12288; + sub_0806F69C(this); + this->direction += 0x8; + this->direction &= 0x1f; + this->nonPlanarMovement = 1280; + sub_0806F69C(this); + break; + case 1: + this->direction = (this->direction + 8) & 0x1f; + break; + case 0: + if (this->field_0x78.HALF.LO) { + switch (this->actionDelay) { + case 3 ... 4: + do { + sub_0806F69C(this); + } while (this->actionDelay-- != 3); + break; + case 1: + this->direction = (this->direction + 0x10) & 0x1f; + sub_0806F69C(this); + this->direction = (this->direction + 0x10) & 0x1f; + break; + } + } else { + if (this->actionDelay == 2) { + sub_0806F69C(this); + } + } + break; + } + this->actionDelay = 1; + this->field_0x78.HALF.LO = 0; + this->nonPlanarMovement = 1280; +} From 44a35def00949a3cc95b93ce156afaf432683447 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Tue, 25 Aug 2020 04:19:03 +0200 Subject: [PATCH 012/105] manager15.c: ok one non-matching for regalloc --- asm/manager15.s | 1187 ------------------- asm/non_matching/manager15/sub_0805A9CC.inc | 75 ++ include/manager.h | 3 +- include/player.h | 4 +- include/screen.h | 8 +- linker.ld | 2 +- src/manager/manager15.c | 495 ++++++++ 7 files changed, 580 insertions(+), 1194 deletions(-) delete mode 100644 asm/manager15.s create mode 100644 asm/non_matching/manager15/sub_0805A9CC.inc create mode 100644 src/manager/manager15.c diff --git a/asm/manager15.s b/asm/manager15.s deleted file mode 100644 index 84043eef..00000000 --- a/asm/manager15.s +++ /dev/null @@ -1,1187 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805A280 -sub_0805A280: @ 0x0805A280 - push {lr} - ldr r2, _0805A294 @ =gUnk_081085D8 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805A294: .4byte gUnk_081085D8 - - thumb_func_start sub_0805A298 -sub_0805A298: @ 0x0805A298 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805A2D6 - adds r0, r4, #0 - bl sub_0805A89C - ldrh r0, [r4, #0x3e] - bl CheckLocalFlag - cmp r0, #0 - bne _0805A2BA - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #1 - b _0805A2C0 -_0805A2BA: - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #2 -_0805A2C0: - strb r0, [r1] - ldrb r0, [r1] - bl sub_0805AAF0 - ldr r2, _0805A2E0 @ =gScreen - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] -_0805A2D6: - adds r0, r4, #0 - bl sub_0805A8EC - pop {r4, pc} - .align 2, 0 -_0805A2E0: .4byte gScreen - - thumb_func_start sub_0805A2E4 -sub_0805A2E4: @ 0x0805A2E4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805A34C - adds r0, r4, #0 - bl sub_0805A89C - adds r0, r4, #0 - adds r0, #0x23 - movs r5, #1 - strb r5, [r0] - movs r0, #1 - bl sub_0805AAF0 - ldrh r0, [r4, #0x3e] - bl CheckLocalFlag - cmp r0, #0 - bne _0805A324 - strb r5, [r4, #0xc] - ldr r2, _0805A31C @ =gScreen - ldrh r1, [r2] - ldr r0, _0805A320 @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - b _0805A35C - .align 2, 0 -_0805A31C: .4byte gScreen -_0805A320: .4byte 0x0000B7FF -_0805A324: - movs r0, #0x48 - bl CheckLocalFlag - cmp r0, #0 - beq _0805A332 - movs r0, #4 - b _0805A334 -_0805A332: - movs r0, #3 -_0805A334: - strb r0, [r4, #0xc] - ldr r2, _0805A348 @ =gScreen - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805A35C - .align 2, 0 -_0805A348: .4byte gScreen -_0805A34C: - ldr r0, _0805A36C @ =gUnk_081085F8 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0805A35C: - ldr r0, [r4, #4] - cmp r0, #0 - beq _0805A368 - adds r0, r4, #0 - bl sub_0805A8EC -_0805A368: - pop {r4, r5, pc} - .align 2, 0 -_0805A36C: .4byte gUnk_081085F8 - - thumb_func_start sub_0805A370 -sub_0805A370: @ 0x0805A370 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A38A - ldr r0, _0805A38C @ =gUnk_080E4C08 - bl LoadRoomEntityList - movs r0, #3 - strb r0, [r4, #0xc] - ldr r0, _0805A390 @ =0x80100000 - bl PlaySFX -_0805A38A: - pop {r4, pc} - .align 2, 0 -_0805A38C: .4byte gUnk_080E4C08 -_0805A390: .4byte 0x80100000 - - thumb_func_start sub_0805A394 -sub_0805A394: @ 0x0805A394 - push {lr} - movs r0, #3 - movs r1, #0x13 - movs r2, #4 - bl FindEntityInListBySubtype - cmp r0, #0 - beq _0805A3AA - ldrb r0, [r0, #0xa] - cmp r0, #4 - bne _0805A3C4 -_0805A3AA: - movs r0, #0x48 - bl SetLocalFlag - movs r0, #0 - bl ClearRoomFlag - ldr r2, _0805A3C8 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805A3CC @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - bl DeleteThisEntity -_0805A3C4: - pop {pc} - .align 2, 0 -_0805A3C8: .4byte gScreen -_0805A3CC: .4byte 0x0000B7FF - - thumb_func_start nullsub_496 -nullsub_496: @ 0x0805A3D0 - bx lr - .align 2, 0 - - thumb_func_start sub_0805A3D4 -sub_0805A3D4: @ 0x0805A3D4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805A448 - adds r0, r4, #0 - bl sub_0805A89C - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _0805A3F2 - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #2 - b _0805A3F8 -_0805A3F2: - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #1 -_0805A3F8: - strb r0, [r1] - ldrb r0, [r1] - bl sub_0805AAF0 - ldrh r0, [r4, #0x3e] - bl CheckLocalFlag - cmp r0, #0 - bne _0805A428 - ldrh r0, [r4, #0x3c] - bl ClearFlag - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805A420 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805A424 @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - b _0805A458 - .align 2, 0 -_0805A420: .4byte gScreen -_0805A424: .4byte 0x0000B7FF -_0805A428: - ldrh r0, [r4, #0x3c] - bl SetFlag - movs r0, #3 - strb r0, [r4, #0xc] - ldr r2, _0805A444 @ =gScreen - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805A458 - .align 2, 0 -_0805A444: .4byte gScreen -_0805A448: - ldr r0, _0805A460 @ =gUnk_0810860C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0805A458: - adds r0, r4, #0 - bl sub_0805A8EC - pop {r4, pc} - .align 2, 0 -_0805A460: .4byte gUnk_0810860C - - thumb_func_start sub_0805A464 -sub_0805A464: @ 0x0805A464 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckLocalFlag - cmp r0, #0 - beq _0805A47E - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_0805A4CC -_0805A47E: - pop {r4, pc} - - thumb_func_start sub_0805A480 -sub_0805A480: @ 0x0805A480 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _0805A494 - movs r0, #3 - strb r0, [r1, #0xc] - ldrh r0, [r1, #0x3c] - bl SetFlag -_0805A494: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805A498 -sub_0805A498: @ 0x0805A498 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckLocalFlag - cmp r0, #0 - bne _0805A4B2 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_0805A4CC -_0805A4B2: - pop {r4, pc} - - thumb_func_start sub_0805A4B4 -sub_0805A4B4: @ 0x0805A4B4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _0805A4C8 - movs r0, #1 - strb r0, [r1, #0xc] - ldrh r0, [r1, #0x3c] - bl ClearFlag -_0805A4C8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805A4CC -sub_0805A4CC: @ 0x0805A4CC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x8e - movs r2, #0 - bl CreateObject - adds r3, r0, #0 - cmp r3, #0 - beq _0805A4F8 - ldr r1, _0805A4FC @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r2, [r4, #0x38] - adds r0, r0, r2 - movs r2, #0 - strh r0, [r3, #0x2e] - ldrh r0, [r1, #8] - ldrh r1, [r4, #0x3a] - adds r0, r0, r1 - subs r0, #0x30 - strh r0, [r3, #0x32] - str r4, [r3, #0x50] - strb r2, [r4, #0xd] -_0805A4F8: - pop {r4, pc} - .align 2, 0 -_0805A4FC: .4byte gRoomControls - - thumb_func_start sub_0805A500 -sub_0805A500: @ 0x0805A500 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - bne _0805A588 - bl sub_0805A89C - str r5, [r4, #0x28] - movs r0, #0x36 - bl CheckLocalFlag - cmp r0, #0 - beq _0805A538 - adds r3, r4, #0 - adds r3, #0x23 - movs r0, #3 - strb r0, [r3] - movs r0, #5 - strb r0, [r4, #0xc] - ldr r2, _0805A534 @ =gScreen - ldrh r1, [r2] - movs r5, #0x90 - lsls r5, r5, #7 - adds r0, r5, #0 - orrs r0, r1 - b _0805A574 - .align 2, 0 -_0805A534: .4byte gScreen -_0805A538: - movs r0, #0x34 - bl CheckLocalFlag - cmp r0, #0 - beq _0805A560 - adds r3, r4, #0 - adds r3, #0x23 - movs r0, #4 - strb r0, [r3] - movs r0, #3 - strb r0, [r4, #0xc] - ldr r2, _0805A55C @ =gScreen - ldrh r1, [r2] - movs r5, #0x90 - lsls r5, r5, #7 - adds r0, r5, #0 - orrs r0, r1 - b _0805A574 - .align 2, 0 -_0805A55C: .4byte gScreen -_0805A560: - adds r3, r4, #0 - adds r3, #0x23 - movs r0, #4 - strb r0, [r3] - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805A580 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805A584 @ =0x0000B7FF - ands r0, r1 -_0805A574: - strh r0, [r2] - ldrb r0, [r3] - bl sub_0805AAF0 - b _0805A598 - .align 2, 0 -_0805A580: .4byte gScreen -_0805A584: .4byte 0x0000B7FF -_0805A588: - ldr r0, _0805A5C0 @ =gUnk_08108620 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0805A598: - adds r0, r4, #0 - bl sub_0805AA58 - adds r0, r4, #0 - bl sub_0805A9CC - ldr r1, _0805A5C4 @ =gRoomControls - ldrh r3, [r1] - cmp r3, #1 - bne _0805A5CC - ldr r2, _0805A5C8 @ =gScreen - ldrh r1, [r2] - movs r5, #0x80 - lsls r5, r5, #7 - adds r0, r5, #0 - orrs r0, r1 - strh r0, [r2] - strb r3, [r4, #0xd] - b _0805A5F0 - .align 2, 0 -_0805A5C0: .4byte gUnk_08108620 -_0805A5C4: .4byte gRoomControls -_0805A5C8: .4byte gScreen -_0805A5CC: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A5F0 - movs r0, #0 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x20 - ldrb r0, [r0] - ldrb r1, [r1, #5] - cmp r0, r1 - beq _0805A5F0 - ldr r2, _0805A5F4 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805A5F8 @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - bl DeleteThisEntity -_0805A5F0: - pop {r4, r5, pc} - .align 2, 0 -_0805A5F4: .4byte gScreen -_0805A5F8: .4byte 0x0000B7FF - - thumb_func_start sub_0805A5FC -sub_0805A5FC: @ 0x0805A5FC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x34 - bl CheckLocalFlag - cmp r0, #0 - beq _0805A616 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805A4CC -_0805A616: - pop {r4, pc} - - thumb_func_start sub_0805A618 -sub_0805A618: @ 0x0805A618 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _0805A626 - movs r0, #3 - strb r0, [r1, #0xc] -_0805A626: - pop {pc} - - thumb_func_start sub_0805A628 -sub_0805A628: @ 0x0805A628 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x36 - bl CheckLocalFlag - cmp r0, #0 - beq _0805A64A - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805A4CC -_0805A64A: - pop {r4, pc} - - thumb_func_start sub_0805A64C -sub_0805A64C: @ 0x0805A64C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _0805A65A - movs r0, #5 - strb r0, [r1, #0xc] -_0805A65A: - pop {pc} - - thumb_func_start sub_0805A65C -sub_0805A65C: @ 0x0805A65C - bx lr - .align 2, 0 - - thumb_func_start sub_0805A660 -sub_0805A660: @ 0x0805A660 - bx lr - .align 2, 0 - - thumb_func_start sub_0805A664 -sub_0805A664: @ 0x0805A664 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805A688 @ =gUnk_08108638 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0805A8EC - adds r0, r4, #0 - bl sub_0805A68C - pop {r4, pc} - .align 2, 0 -_0805A688: .4byte gUnk_08108638 - - thumb_func_start sub_0805A68C -sub_0805A68C: @ 0x0805A68C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x38 - ldrsh r0, [r4, r1] - subs r0, #0x18 - movs r2, #0x3a - ldrsh r1, [r4, r2] - subs r1, #0x18 - movs r2, #0x30 - movs r3, #0x30 - bl sub_0806FBFC - cmp r0, #0 - beq _0805A6CC - ldrh r1, [r4, #0x2c] - ldr r0, _0805A6C4 @ =0x00001007 - cmp r1, r0 - bhi _0805A6E2 - ldr r0, _0805A6C8 @ =gScreen - adds r1, #1 - movs r2, #0 - strh r1, [r4, #0x2c] - adds r0, #0x68 - strh r1, [r0] - adds r0, r4, #0 - adds r0, #0x22 - strb r2, [r0] - b _0805A6E2 - .align 2, 0 -_0805A6C4: .4byte 0x00001007 -_0805A6C8: .4byte gScreen -_0805A6CC: - ldrh r1, [r4, #0x2c] - movs r0, #0x80 - lsls r0, r0, #5 - cmp r1, r0 - bls _0805A6DA - subs r0, r1, #1 - strh r0, [r4, #0x2c] -_0805A6DA: - ldr r0, _0805A6E4 @ =gScreen - ldrh r1, [r4, #0x2c] - adds r0, #0x68 - strh r1, [r0] -_0805A6E2: - pop {r4, pc} - .align 2, 0 -_0805A6E4: .4byte gScreen - - thumb_func_start sub_0805A6E8 -sub_0805A6E8: @ 0x0805A6E8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805A89C - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #0 - strb r0, [r1] - bl sub_0805AAF0 - ldr r1, _0805A734 @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r2, [r4, #0x38] - adds r0, r0, r2 - strh r0, [r4, #0x38] - ldrh r0, [r1, #8] - ldrh r3, [r4, #0x3a] - adds r0, r0, r3 - strh r0, [r4, #0x3a] - adds r0, r4, #0 - bl sub_0805A73C - cmp r0, #0 - bne _0805A71E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0805A71E: - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r4, #0x2c] - ldr r2, _0805A738 @ =gScreen - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - pop {r4, pc} - .align 2, 0 -_0805A734: .4byte gRoomControls -_0805A738: .4byte gScreen - - thumb_func_start sub_0805A73C -sub_0805A73C: @ 0x0805A73C - push {lr} - adds r1, r0, #0 - movs r2, #0x38 - ldrsh r0, [r1, r2] - subs r0, #6 - movs r2, #0x3a - ldrsh r1, [r1, r2] - subs r1, #6 - movs r2, #0xc - movs r3, #0xc - bl sub_0806FBFC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805A758 -sub_0805A758: @ 0x0805A758 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805A73C - cmp r0, #0 - bne _0805A76A - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0805A76A: - pop {r4, pc} - - thumb_func_start sub_0805A76C -sub_0805A76C: @ 0x0805A76C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, _0805A7D4 @ =gPlayerEntity - adds r0, r5, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0805A7D0 - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _0805A7D0 - ldr r0, _0805A7D8 @ =gPlayerState - ldr r6, [r0, #0x2c] - cmp r6, #0 - bne _0805A7D0 - adds r0, #0xa9 - ldrb r0, [r0] - cmp r0, #1 - bgt _0805A7D0 - cmp r0, #0 - blt _0805A7D0 - adds r0, r4, #0 - bl sub_0805A73C - cmp r0, #0 - beq _0805A7D0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r5, #0 - bl sub_08004168 - movs r0, #4 - strb r0, [r5, #0x14] - movs r1, #0x96 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_0805E4E0 - movs r0, #0xff - bl sub_08078A90 - ldr r1, _0805A7DC @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - ldr r0, _0805A7E0 @ =gRoomControls - str r6, [r0, #0x30] - bl sub_08077B20 -_0805A7D0: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805A7D4: .4byte gPlayerEntity -_0805A7D8: .4byte gPlayerState -_0805A7DC: .4byte gUnk_02034490 -_0805A7E0: .4byte gRoomControls - - thumb_func_start sub_0805A7E4 -sub_0805A7E4: @ 0x0805A7E4 - push {lr} - ldr r2, _0805A800 @ =gPlayerState - ldrb r0, [r2, #0xc] - cmp r0, #0x12 - beq _0805A7FE - movs r1, #0 - movs r0, #0x12 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] -_0805A7FE: - pop {pc} - .align 2, 0 -_0805A800: .4byte gPlayerState - - thumb_func_start sub_0805A804 -sub_0805A804: @ 0x0805A804 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #4 - bhi _0805A896 - lsls r0, r0, #2 - ldr r1, _0805A818 @ =_0805A81C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805A818: .4byte _0805A81C -_0805A81C: @ jump table - .4byte _0805A830 @ case 0 - .4byte _0805A858 @ case 1 - .4byte _0805A866 @ case 2 - .4byte _0805A872 @ case 3 - .4byte _0805A88A @ case 4 -_0805A830: - ldrh r0, [r4, #0x3e] - bl CheckLocalFlag - cmp r0, #0 - beq _0805A83E - movs r0, #1 - b _0805A840 -_0805A83E: - movs r0, #2 -_0805A840: - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - b _0805A89A -_0805A858: - ldrh r0, [r4, #0x3e] - bl CheckLocalFlag - cmp r0, #0 - bne _0805A89A - movs r0, #2 - b _0805A87E -_0805A866: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A89A - movs r0, #3 - strb r0, [r4, #0xc] - b _0805A89A -_0805A872: - ldrh r0, [r4, #0x3e] - bl CheckLocalFlag - cmp r0, #0 - beq _0805A89A - movs r0, #4 -_0805A87E: - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #4 - bl sub_0805A4CC - b _0805A89A -_0805A88A: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A89A - movs r0, #1 - strb r0, [r4, #0xc] - b _0805A89A -_0805A896: - bl DeleteThisEntity -_0805A89A: - pop {r4, pc} - - thumb_func_start sub_0805A89C -sub_0805A89C: @ 0x0805A89C - push {r4, lr} - adds r4, r0, #0 - movs r1, #6 - bl sub_0805E3A0 - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x21 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - ldr r1, _0805A8E4 @ =gRoomControls - ldrb r2, [r1, #5] - subs r0, #2 - strb r2, [r0] - ldrh r0, [r1, #6] - strh r0, [r4, #0x24] - ldrh r0, [r1, #8] - strh r0, [r4, #0x26] - ldr r1, _0805A8E8 @ =sub_0805AAC8 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - pop {r4, pc} - .align 2, 0 -_0805A8E4: .4byte gRoomControls -_0805A8E8: .4byte sub_0805AAC8 - - thumb_func_start sub_0805A8EC -sub_0805A8EC: @ 0x0805A8EC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0805AA58 - adds r0, r4, #0 - bl sub_0805A94C - ldr r1, _0805A914 @ =gRoomControls - ldrh r3, [r1] - cmp r3, #1 - bne _0805A91C - ldr r2, _0805A918 @ =gScreen - ldrh r1, [r2] - movs r5, #0x80 - lsls r5, r5, #7 - adds r0, r5, #0 - orrs r0, r1 - strh r0, [r2] - strb r3, [r4, #0xd] - b _0805A940 - .align 2, 0 -_0805A914: .4byte gRoomControls -_0805A918: .4byte gScreen -_0805A91C: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A940 - movs r0, #0 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x20 - ldrb r0, [r0] - ldrb r1, [r1, #5] - cmp r0, r1 - beq _0805A940 - ldr r2, _0805A944 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805A948 @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - bl DeleteThisEntity -_0805A940: - pop {r4, r5, pc} - .align 2, 0 -_0805A944: .4byte gScreen -_0805A948: .4byte 0x0000B7FF - - thumb_func_start sub_0805A94C -sub_0805A94C: @ 0x0805A94C - push {r4, lr} - ldr r4, _0805A9C4 @ =gScreen - ldr r3, _0805A9C8 @ =gRoomControls - ldrh r1, [r3, #0xa] - ldrh r2, [r0, #0x24] - subs r1, r1, r2 - ldrh r2, [r0, #0x34] - adds r1, r1, r2 - strh r1, [r4, #0x2e] - ldrh r1, [r3, #0xc] - ldrh r2, [r0, #0x26] - subs r1, r1, r2 - ldrh r0, [r0, #0x36] - adds r1, r1, r0 - strh r1, [r4, #0x30] - movs r1, #0x2e - ldrsh r0, [r4, r1] - rsbs r0, r0, #0 - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r0, r2 - cmp r0, #0 - bge _0805A97C - movs r0, #0 -_0805A97C: - cmp r0, #0xf0 - ble _0805A982 - movs r0, #0xf0 -_0805A982: - cmp r1, #0 - bge _0805A988 - movs r1, #0 -_0805A988: - cmp r1, #0xf0 - ble _0805A98E - movs r1, #0xf0 -_0805A98E: - lsls r0, r0, #8 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x5a - strh r0, [r1] - movs r1, #0x30 - ldrsh r0, [r4, r1] - rsbs r0, r0, #0 - adds r1, r0, r2 - cmp r0, #0 - bge _0805A9A6 - movs r0, #0 -_0805A9A6: - cmp r0, #0xa0 - ble _0805A9AC - movs r0, #0xa0 -_0805A9AC: - cmp r1, #0 - bge _0805A9B2 - movs r1, #0 -_0805A9B2: - cmp r1, #0xa0 - ble _0805A9B8 - movs r1, #0xa0 -_0805A9B8: - lsls r0, r0, #8 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x5e - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_0805A9C4: .4byte gScreen -_0805A9C8: .4byte gRoomControls - - thumb_func_start sub_0805A9CC -sub_0805A9CC: @ 0x0805A9CC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r3, _0805AA4C @ =gScreen - ldr r5, _0805AA50 @ =gRoomControls - ldrh r0, [r5, #0xa] - ldrh r1, [r4, #0x24] - subs r0, r0, r1 - ldrh r1, [r4, #0x34] - adds r0, r0, r1 - strh r0, [r3, #0x2e] - movs r2, #0x2e - ldrsh r0, [r3, r2] - rsbs r2, r0, #0 - movs r0, #0x80 - lsls r0, r0, #1 - adds r1, r2, r0 - cmp r2, #0 - bge _0805A9F2 - movs r2, #0 -_0805A9F2: - cmp r2, #0xf0 - ble _0805A9F8 - movs r2, #0xf0 -_0805A9F8: - cmp r1, #0 - bge _0805A9FE - movs r1, #0 -_0805A9FE: - cmp r1, #0xf0 - ble _0805AA04 - movs r1, #0xf0 -_0805AA04: - lsls r0, r2, #8 - orrs r0, r1 - adds r1, r3, #0 - adds r1, #0x5a - strh r0, [r1] - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r1, [r4, #0x26] - subs r0, r0, r1 - movs r2, #0x36 - ldrsh r1, [r4, r2] - adds r2, r0, r1 - movs r1, #0x3f - adds r0, r2, #0 - ands r0, r1 - strh r0, [r3, #0x30] - adds r0, r2, #0 - cmp r0, #0 - bge _0805AA2C - adds r0, #0x3f -_0805AA2C: - asrs r0, r0, #6 - lsls r0, r0, #9 - ldr r1, _0805AA54 @ =gUnk_02001A40 - adds r1, r0, r1 - str r1, [r3, #0x34] - adds r2, r3, #0 - adds r2, #0x5e - movs r0, #0xa0 - strh r0, [r2] - ldr r0, [r4, #0x28] - cmp r0, r1 - beq _0805AA4A - str r1, [r4, #0x28] - movs r0, #1 - strh r0, [r3, #0x32] -_0805AA4A: - pop {r4, r5, pc} - .align 2, 0 -_0805AA4C: .4byte gScreen -_0805AA50: .4byte gRoomControls -_0805AA54: .4byte gUnk_02001A40 - - thumb_func_start sub_0805AA58 -sub_0805AA58: @ 0x0805AA58 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805AA8C - movs r0, #8 - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x21 - ldrb r0, [r2] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r2] - lsls r0, r0, #5 - ldr r1, _0805AABC @ =gUnk_085A97A0 - adds r0, r0, r1 - movs r1, #5 - movs r2, #1 - bl LoadPalettes -_0805AA8C: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _0805AABA - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x22 - ldrb r0, [r2] - adds r0, #1 - movs r1, #0xf - ands r0, r1 - strb r0, [r2] - ldr r1, _0805AAC0 @ =gScreen - ldr r3, _0805AAC4 @ =gUnk_081085B8 - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] -_0805AABA: - pop {r4, r5, pc} - .align 2, 0 -_0805AABC: .4byte gUnk_085A97A0 -_0805AAC0: .4byte gScreen -_0805AAC4: .4byte gUnk_081085B8 - - thumb_func_start sub_0805AAC8 -sub_0805AAC8: @ 0x0805AAC8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x23 - ldrb r0, [r0] - bl sub_0805AAF0 - adds r0, r4, #0 - bl sub_0805A280 - pop {r4, pc} - - thumb_func_start sub_0805AADC -sub_0805AADC: @ 0x0805AADC - push {lr} - ldr r1, _0805AAEC @ =gUnk_08108648 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bl LoadGfxGroup - pop {pc} - .align 2, 0 -_0805AAEC: .4byte gUnk_08108648 - - thumb_func_start sub_0805AAF0 -sub_0805AAF0: @ 0x0805AAF0 - push {lr} - bl sub_0805AADC - ldr r3, _0805AB34 @ =gScreen - adds r1, r3, #0 - adds r1, #0x66 - movs r2, #0 - ldr r0, _0805AB38 @ =0x00003E48 - strh r0, [r1] - adds r1, #2 - ldr r0, _0805AB3C @ =0x00001008 - strh r0, [r1] - ldr r0, _0805AB40 @ =0x00001E04 - strh r0, [r3, #0x2c] - ldr r0, _0805AB44 @ =gUnk_02001A40 - str r0, [r3, #0x34] - strh r2, [r3, #0x2e] - strh r2, [r3, #0x30] - movs r0, #1 - strh r0, [r3, #0x32] - subs r1, #8 - ldr r0, _0805AB48 @ =0x00003F3F - strh r0, [r1] - adds r1, #2 - movs r0, #0x37 - strh r0, [r1] - subs r1, #8 - movs r0, #0xf0 - strh r0, [r1] - adds r1, #4 - movs r0, #0xa0 - strh r0, [r1] - pop {pc} - .align 2, 0 -_0805AB34: .4byte gScreen -_0805AB38: .4byte 0x00003E48 -_0805AB3C: .4byte 0x00001008 -_0805AB40: .4byte 0x00001E04 -_0805AB44: .4byte gUnk_02001A40 -_0805AB48: .4byte 0x00003F3F diff --git a/asm/non_matching/manager15/sub_0805A9CC.inc b/asm/non_matching/manager15/sub_0805A9CC.inc new file mode 100644 index 00000000..a5953bf2 --- /dev/null +++ b/asm/non_matching/manager15/sub_0805A9CC.inc @@ -0,0 +1,75 @@ +sub_0805A9CC: @ 0x0805A9CC + push {r4, r5, lr} + add r4, r0, #0 + ldr r3, _0805AA4C @ =gScreen + ldr r5, _0805AA50 @ =gRoomControls + ldrh r0, [r5, #0xa] + ldrh r1, [r4, #0x24] + sub r0, r0, r1 + ldrh r1, [r4, #0x34] + add r0, r0, r1 + strh r0, [r3, #0x2e] + mov r2, #0x2e + ldrsh r0, [r3, r2] + neg r2, r0 + mov r0, #0x80 + lsl r0, r0, #1 + add r1, r2, r0 + cmp r2, #0 + bge _0805A9F2 + mov r2, #0 +_0805A9F2: + cmp r2, #0xf0 + ble _0805A9F8 + mov r2, #0xf0 +_0805A9F8: + cmp r1, #0 + bge _0805A9FE + mov r1, #0 +_0805A9FE: + cmp r1, #0xf0 + ble _0805AA04 + mov r1, #0xf0 +_0805AA04: + lsl r0, r2, #8 + orr r0, r1 + add r1, r3, #0 + add r1, #0x5a + strh r0, [r1] + mov r1, #0xc + ldrsh r0, [r5, r1] + ldrh r1, [r4, #0x26] + sub r0, r0, r1 + mov r2, #0x36 + ldrsh r1, [r4, r2] + add r2, r0, r1 + mov r1, #0x3f + add r0, r2, #0 + and r0, r1 + strh r0, [r3, #0x30] + add r0, r2, #0 + cmp r0, #0 + bge _0805AA2C + add r0, #0x3f +_0805AA2C: + asr r0, r0, #6 + lsl r0, r0, #9 + ldr r1, _0805AA54 @ =gUnk_02001A40 + add r1, r0, r1 + str r1, [r3, #0x34] + add r2, r3, #0 + add r2, #0x5e + mov r0, #0xa0 + strh r0, [r2] + ldr r0, [r4, #0x28] + cmp r0, r1 + beq _0805AA4A + str r1, [r4, #0x28] + mov r0, #1 + strh r0, [r3, #0x32] +_0805AA4A: + pop {r4, r5, pc} + .align 2, 0 +_0805AA4C: .4byte gScreen +_0805AA50: .4byte gRoomControls +_0805AA54: .4byte gUnk_02001A40 diff --git a/include/manager.h b/include/manager.h index bd97c1c3..aa175ed6 100644 --- a/include/manager.h +++ b/include/manager.h @@ -22,7 +22,8 @@ typedef struct Manager { /*0x0d*/ u8 unk_0d; /*0x0e*/ u8 unk_0e; /*0x0f*/ u8 unk_0f; - /*0x10*/ u8 unk_10[0x4]; + /*0x10*/ u8 unk_10; + /*0x11*/ u8 unk_11[3]; /*0x14*/ struct Manager * parent; /*0x18*/ u8 unk_18[0x8]; // union SplitHWord unk_20; diff --git a/include/player.h b/include/player.h index c3b69e43..77f9e59d 100644 --- a/include/player.h +++ b/include/player.h @@ -45,7 +45,9 @@ typedef struct { /* */ u32 filler11b : 16; /* */ } PACKED b; /* */ } flags; - /*0x34*/ u8 field_0x34[6]; + /*0x34*/ u8 field_0x34[4]; + /*0x38*/ u8 field_0x38; + /*0x39*/ u8 field_0x39; /*0x3a*/ u16 field_0x3a; /*0x3c*/ u8 field_0x3c[2]; /*0x3e*/ u8 swordGoldParticle : 1; diff --git a/include/screen.h b/include/screen.h index 4de38e2b..c9ad3fd6 100644 --- a/include/screen.h +++ b/include/screen.h @@ -33,10 +33,10 @@ typedef struct { u16 unk2; u16 unk3; u16 bg3Control; - u16 bg3xOffset; - u16 bg3yOffset; + s16 bg3xOffset; + s16 bg3yOffset; u16 unk4; - u32 unk5; + void* unk5; } BgAffSettings; typedef struct { @@ -78,4 +78,4 @@ typedef struct { extern BgControls gBgControls; extern Screen gScreen; -#endif \ No newline at end of file +#endif diff --git a/linker.ld b/linker.ld index 05ea390b..8be8069f 100644 --- a/linker.ld +++ b/linker.ld @@ -492,7 +492,7 @@ SECTIONS { asm/manager12.o(.text); asm/manager13.o(.text); asm/manager14.o(.text); - asm/manager15.o(.text); + src/manager/manager15.o(.text); asm/manager16.o(.text); asm/manager17.o(.text); asm/manager18.o(.text); diff --git a/src/manager/manager15.c b/src/manager/manager15.c new file mode 100644 index 00000000..c4d1f8b0 --- /dev/null +++ b/src/manager/manager15.c @@ -0,0 +1,495 @@ +#include "global.h" +#include "flags.h" +#include "screen.h" +#include "manager.h" +#include "functions.h" + +typedef struct { + Manager manager; + u8 unk_20; + u8 unk_21; + u8 unk_22; + u8 unk_23;//used + u16 unk_24; + u16 unk_26; + void* unk_28; + u16 unk_2c; + u8 unk_2e[0x6]; + s16 unk_34; + s16 unk_36; + s16 unk_38; + s16 unk_3a; + u16 unk_3c; + u16 unk_3e;//used +} Manager15; + +extern void (*const gUnk_081085D8[])(Manager*); + +void sub_0805A280(Manager* this) { + gUnk_081085D8[this->unk_0a](this); +} + + +void sub_0805A89C(Manager15*); +void sub_0805A8EC(Manager15*); +void sub_0805AAF0(u32); + +void sub_0805A298(Manager15* this) { + if (this->manager.action == 0) { + sub_0805A89C(this); + if (!CheckLocalFlag(this->unk_3e)) { + this->unk_23 = 1; + } else { + this->unk_23 = 2; + } + sub_0805AAF0(this->unk_23); + gScreen.lcd.displayControl |= 0x4800; + } + sub_0805A8EC(this); +} + +extern void (*const gUnk_081085F8[])(Manager15*); + +void sub_0805A2E4(Manager15* this) { + if (this->manager.action == 0) { + sub_0805A89C(this); + this->unk_23 = 1; + sub_0805AAF0(1); + if (!CheckLocalFlag(this->unk_3e)) { + this->manager.action = 1; + gScreen.lcd.displayControl &= 0xB7FF; + } else { + if (CheckLocalFlag(0x48)) { + this->manager.action = 4; + } else { + this->manager.action = 3; + } + gScreen.lcd.displayControl |= 0x4800; + } + } else { + gUnk_081085F8[this->manager.action](this); + } + if (this->manager.next) { + sub_0805A8EC(this); + } +} + +extern Entity gUnk_080E4C08; + +void sub_0805A370(Manager15* this) { + if (this->manager.unk_0d) { + LoadRoomEntityList(&gUnk_080E4C08); + this->manager.action = 3; + PlaySFX(0x80100000); + } +} + +void sub_0805A394(Manager15* this) { + Entity* ent; + if ((ent = FindEntityInListBySubtype(0x3,0x13,0x4))) { + if (ent->entityType.form != 4) { + return; + } + } + SetLocalFlag(0x48); + ClearRoomFlag(0); + gScreen.lcd.displayControl &= 0xB7FF; + DeleteThisEntity(); +} + +void nullsub_496(Manager15* this) { +} + +extern void (*const gUnk_0810860C[])(Manager15*); + +void sub_0805A3D4(Manager15* this) { + if (this->manager.action == 0) { + sub_0805A89C(this); + if (this->manager.unk_0a == 3) { + this->unk_23 = 2; + } else { + this->unk_23 = 1; + } + sub_0805AAF0(this->unk_23); + if (!CheckLocalFlag(this->unk_3e)) { + ClearFlag(this->unk_3c); + this->manager.action = 1; + gScreen.lcd.displayControl &= 0xB7FF; + } else { + SetFlag(this->unk_3c); + this->manager.action = 3; + gScreen.lcd.displayControl |= 0x4800; + } + } else { + gUnk_0810860C[this->manager.action](this); + } + sub_0805A8EC(this); +} + +void sub_0805A4CC(Manager15*, u32); + +void sub_0805A464(Manager15* this) { + if (CheckLocalFlag(this->unk_3e)) { + this->manager.action = 2; + sub_0805A4CC(this, 0); + } +} + +void sub_0805A480(Manager15* this) { + if (this->manager.unk_0d != 0) { + this->manager.action = 3; + SetFlag(this->unk_3c); + } +} + +void sub_0805A498(Manager15* this) { + if (!CheckLocalFlag(this->unk_3e)) { + this->manager.action = 4; + sub_0805A4CC(this, 1); + } +} + +void sub_0805A4B4(Manager15* this) { + if (this->manager.unk_0d != 0) { + this->manager.action = 1; + ClearFlag(this->unk_3c); + } +} + +void sub_0805A4CC(Manager15* this, u32 unk_0) { + Entity* tmp; + tmp = CreateObject(0x8e, unk_0, 0); + if (tmp) { + tmp->x.HALF.HI = this->unk_38 + gRoomControls.roomOriginX; + tmp->y.HALF.HI = this->unk_3a + gRoomControls.roomOriginY - 0x30; + tmp->parent = (Entity*) this; + this->manager.unk_0d = 0; + } +} + +extern void (*const gUnk_08108620[])(Manager15*); +void sub_0805AA58(Manager15*); +void sub_0805A9CC(Manager15*); + +void sub_0805A500(Manager15* this) { + if (this->manager.action == 0) { + sub_0805A89C(this); + this->unk_28 = 0; + if (CheckLocalFlag(0x36)) { + this->unk_23 = 3; + this->manager.action = 5; + gScreen.lcd.displayControl |= 0x4800; + } else { + if (CheckLocalFlag(0x34)) { + this->unk_23 = 4; + this->manager.action = 3; + gScreen.lcd.displayControl |= 0x4800; + } else { + this->unk_23 = 4; + this->manager.action = 1; + gScreen.lcd.displayControl &= 0xB7FF; + } + } + sub_0805AAF0(this->unk_23); + } else { + gUnk_08108620[this->manager.action](this); + } + sub_0805AA58(this); + sub_0805A9CC(this); + if (gRoomControls.unk2 == 1) { + gScreen.lcd.displayControl |= 0x80<<7; + this->manager.unk_0d = 1; + return; + } + if (!this->manager.unk_0d) return; + this->manager.unk_0d = 0; + if (this->unk_20 == gRoomControls.roomID) return; + gScreen.lcd.displayControl &= 0xB7FF; + DeleteThisEntity(); +} + +void sub_0805A5FC(Manager15* this) { + if (CheckLocalFlag(0x34)) { + this->manager.action = 2; + sub_0805A4CC(this,2); + } +} + +void sub_0805A618(Manager15* this) { + if (this->manager.unk_0d) { + this->manager.action = 3; + } +} + +void sub_0805A628(Manager15* this) { + if (CheckLocalFlag(0x36)) { + this->manager.action = 4; + this->unk_23 = 3; + sub_0805A4CC(this,3); + } +} + +void sub_0805A64C(Manager15* this) { + if (this->manager.unk_0d) { + this->manager.action = 5; + } +} + +void sub_0805A65C(Manager15* this) {} +void sub_0805A660(Manager15* this) {} + +extern void (*const gUnk_08108638[])(Manager15*); +void sub_0805A68C(Manager15*); + +void sub_0805A664(Manager15* this) { + gUnk_08108638[this->manager.action](this); + sub_0805A8EC(this); + sub_0805A68C(this); +} + +extern u32 sub_0806FBFC(u32, u32, u32, u32); + +void sub_0805A68C(Manager15* this) { + if (sub_0806FBFC(this->unk_38 - 0x18, this->unk_3a - 0x18, 0x30, 0x30)) { + if (this->unk_2c <= 0x1007) { + gScreen.controls.alphaBlend = ++this->unk_2c; + this->unk_22 = 0; + } + } else { + if (this->unk_2c > 0x1000) { + this->unk_2c--; + } + gScreen.controls.alphaBlend=this->unk_2c; + } +} + +u32 sub_0805A73C(Manager15*); + +void sub_0805A6E8(Manager15* this) { + u16 tmp; + sub_0805A89C(this); + this->unk_23 = 0; + sub_0805AAF0(0); + this->unk_38 += gRoomControls.roomOriginX; + this->unk_3a += gRoomControls.roomOriginY; + if (!sub_0805A73C(this)) { + this->manager.action++; + } + this->unk_2c = 0x1000; + tmp = gScreen.lcd.displayControl | 0x4800; + gScreen.lcd.displayControl = tmp; +} + +u32 sub_0805A73C(Manager15* this) { + return sub_0806FBFC(this->unk_38 - 0x6, this->unk_3a - 0x6, 0xC, 0xC); +} + +void sub_0805A758(Manager15* this) { + if (!sub_0805A73C(this)) { + this->manager.action++; + } +} + +extern u8 gUnk_02034490; +extern void sub_0805E4E0(Manager*, u32); +extern void sub_08077B20(void); + +void sub_0805A76C(Manager15* this) { + if ((gPlayerEntity.currentHealth != 0) + && (gPlayerEntity.height.HALF.HI == 0) + && (!gPlayerState.field_0x2c) + ) { + switch (gPlayerState.field_0xa9) { + case 1: + case 0: + if (sub_0805A73C(this)) { + this->manager.action++; + sub_08004168(&gPlayerEntity); + gPlayerEntity.animationState = 4; + sub_0805E4E0(&this->manager, 0x258); + sub_08078A90(0xFF); + gUnk_02034490 = 1; + gRoomControls.cameraTarget = 0; + sub_08077B20(); + } + } + } +} + +void sub_0805A7E4(Manager15* this) { + if (gPlayerState.playerAction != 0x12) { + gPlayerState.playerAction = 0x12; + gPlayerState.field_0x38 = 0; + gPlayerState.field_0x39 = 0; + } +} + +void sub_0805A804(Manager15* this) { + switch (this->manager.action) { + case 0: + if (CheckLocalFlag(this->unk_3e)) { + this->manager.action = 1; + } else { + this->manager.action = 2; + } + this->manager.unk_0d = 1; + this->manager.unk_10 |= 0x20; + sub_0805E3A0(this, 6); + break; + case 1: + if (CheckLocalFlag(this->unk_3e)) break; + this->manager.action = 2; + sub_0805A4CC(this,4); + break; + case 2: + if (this->manager.unk_0d) { + this->manager.action = 3; + } + break; + case 3: + if (!CheckLocalFlag(this->unk_3e)) break; + this->manager.action = 4; + sub_0805A4CC(this,4); + break; + case 4: + if (this->manager.unk_0d) { + this->manager.action = 1; + } + break; + default: + DeleteThisEntity(); + } +} + +void sub_0805AAC8(Manager15*); +extern void sub_08052D74(void*, void*, void*); + +void sub_0805A89C(Manager15* this) { + sub_0805E3A0(this, 6); + this->manager.action = 1; + this->manager.unk_10 |= 0x20; + this->manager.unk_0e = 8; + this->manager.unk_0f = 0x10; + this->unk_21 = 0; + this->unk_22 = 0; + this->unk_20 = gRoomControls.roomID; + this->unk_24 = gRoomControls.roomOriginX; + this->unk_26 = gRoomControls.roomOriginY; + sub_08052D74(this, sub_0805AAC8, 0); +} + +void sub_0805A94C(Manager15* this); + +void sub_0805A8EC(Manager15* this) { + sub_0805AA58(this); + sub_0805A94C(this); + if (gRoomControls.unk2 == 1) { + gScreen.lcd.displayControl |= 0x4000; + this->manager.unk_0d = 1; + } else { + if (!this->manager.unk_0d) return; + this->manager.unk_0d = 0; + if (this->unk_20 == gRoomControls.roomID) return; + gScreen.lcd.displayControl &= 0xB7FF; + DeleteThisEntity(); + } +} + +void sub_0805A94C(Manager15* this) { + int tmp1, tmp2; + gScreen.affine.bg3xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34; + gScreen.affine.bg3yOffset = gRoomControls.roomScrollY - this->unk_26 + this->unk_36; + tmp1 = -gScreen.affine.bg3xOffset; + tmp2 = tmp1 + 0x100; + if (tmp1 < 0) tmp1 = 0; + if (tmp1 > 0xF0) tmp1 = 0xF0; + if (tmp2 < 0) tmp2 = 0; + if (tmp2 > 0xF0) tmp2 = 0xF0; + gScreen.controls.window1HorizontalDimensions = (tmp1 << 8 | tmp2); + tmp1 = -gScreen.affine.bg3yOffset; + tmp2 = tmp1 + 0x100; + if (tmp1 < 0) tmp1 = 0; + if (tmp1 > 0xA0) tmp1 = 0xA0; + if (tmp2 < 0) tmp2 = 0; + if (tmp2 > 0xA0) tmp2 = 0xA0; + gScreen.controls.window1VerticalDimensions = (tmp1 << 8 | tmp2); +} + +extern u8 gUnk_02001A40[]; + +#ifdef NON_MATCHING +void sub_0805A9CC(Manager15* this) { + int tmp1, tmp2; + void* tmp3; + gScreen.affine.bg3xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34; + tmp1 = -gScreen.affine.bg3xOffset; + tmp2 = tmp1 + 0x100; + if (tmp1 < 0) tmp1 = 0; + if (tmp1 > 0xF0) tmp1 = 0xF0; + if (tmp2 < 0) tmp2 = 0; + if (tmp2 > 0xF0) tmp2 = 0xF0; + gScreen.controls.window1HorizontalDimensions = tmp1 << 8 | tmp2; + tmp1 = gRoomControls.roomScrollY - this->unk_26 + this->unk_36; + gScreen.affine.bg3yOffset = tmp1 & 0x3F; + if (tmp1 < 0) tmp1 += 0x3F; + tmp3 = (&gUnk_02001A40[(tmp1 >> 6 << 9)]); + gScreen.affine.unk5 = (u32) tmp3; + gScreen.controls.window1VerticalDimensions = 0xa0; + if (this->unk_28 == tmp3) return; + this->unk_28 = tmp3; + gScreen.affine.unk4 = 1; +} +#else +NAKED +void sub_0805A9CC(Manager15* this) { + asm(".include \"asm/non_matching/manager15/sub_0805A9CC.inc\""); +} +#endif + +extern struct { + u8 unk_00[0x20]; +} gUnk_085A97A0[]; +extern u16 gUnk_081085B8[]; +extern void LoadPalettes(const u8*, u32, u32); + +void sub_0805AA58(Manager15* this) { + if (--this->manager.unk_0e == 0) { + this->manager.unk_0e = 8; + this->unk_21 += 1; + this->unk_21 &= 3; + LoadPalettes(gUnk_085A97A0[this->unk_21].unk_00,5,1); + } + if (--this->manager.unk_0f == 0) { + this->manager.unk_0f = 0x10; + this->unk_22 += 1; + this->unk_22 &= 0xF; + gScreen.controls.alphaBlend = gUnk_081085B8[this->unk_22]; + } +} + +void sub_0805AAC8(Manager15* this) { + sub_0805AAF0(this->unk_23); + sub_0805A280(&this->manager); +} + + +extern u16 gUnk_08108648[]; + +void sub_0805AADC(u32 unk0) { + LoadGfxGroup(gUnk_08108648[unk0]); +} + +void sub_0805AAF0(u32 unk0) { + sub_0805AADC(unk0); + gScreen.controls.layerFXControl = 0x3E48; + gScreen.controls.alphaBlend = 0x1008; + gScreen.affine.bg3Control = 0x1E04; + gScreen.affine.unk5 = &gUnk_02001A40; + gScreen.affine.bg3xOffset = 0; + gScreen.affine.bg3yOffset = 0; + gScreen.affine.unk4 = 1; + gScreen.controls.windowInsideControl = 0x3F3F; + gScreen.controls.windowOutsideControl = 0x37; + gScreen.controls.window1HorizontalDimensions = 0xF0; + gScreen.controls.window1VerticalDimensions = 0xA0; +} From f94263db8ee202fccbbb8677a71bea9701d15f5a Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 25 Aug 2020 17:38:00 +0200 Subject: [PATCH 013/105] match non-matching acroBandits functions --- asm/non_matching/acroBandits/sub_08031C58.inc | 136 ------------------ asm/non_matching/acroBandits/sub_08031E04.inc | 41 ------ src/enemy/acroBandits.c | 43 ++---- 3 files changed, 13 insertions(+), 207 deletions(-) delete mode 100644 asm/non_matching/acroBandits/sub_08031C58.inc delete mode 100644 asm/non_matching/acroBandits/sub_08031E04.inc diff --git a/asm/non_matching/acroBandits/sub_08031C58.inc b/asm/non_matching/acroBandits/sub_08031C58.inc deleted file mode 100644 index 8d93c546..00000000 --- a/asm/non_matching/acroBandits/sub_08031C58.inc +++ /dev/null @@ -1,136 +0,0 @@ - - .syntax unified - - .text - - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - bl GetNextFrame - adds r3, r7, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _08031D54 - ldr r0, _08031D50 @ =gEntCount - ldrb r0, [r0] - cmp r0, #0x42 - bhi _08031D66 - bl Random - adds r6, r0, #0 - movs r0, #3 - mov sb, r0 - ands r6, r0 - movs r0, #0x2e - movs r1, #1 - bl CreateEnemy - adds r4, r0, #0 - movs r0, #0 - mov r8, r0 - mov r0, r8 - strb r0, [r4, #0xb] - mov r0, r8 - str r0, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_08031E48 - movs r0, #0x2e - movs r1, #1 - bl CreateEnemy - adds r5, r0, #0 - str r5, [r4, #0x54] - movs r0, #1 - strb r0, [r5, #0xb] - str r4, [r5, #0x50] - adds r0, r5, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - adds r1, r5, #0 - bl sub_08031E48 - movs r0, #0x2e - movs r1, #1 - bl CreateEnemy - adds r4, r0, #0 - str r4, [r5, #0x54] - movs r0, #2 - strb r0, [r4, #0xb] - str r5, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_08031E48 - movs r0, #0x2e - movs r1, #1 - bl CreateEnemy - adds r5, r0, #0 - str r5, [r4, #0x54] - mov r0, sb - strb r0, [r5, #0xb] - str r4, [r5, #0x50] - adds r0, r5, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - adds r1, r5, #0 - bl sub_08031E48 - movs r0, #0x2e - movs r1, #1 - bl CreateEnemy - adds r1, r0, #0 - str r1, [r5, #0x54] - movs r0, #4 - strb r0, [r1, #0xb] - str r5, [r1, #0x50] - mov r0, r8 - str r0, [r1, #0x54] - adds r0, r1, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - bl sub_08031E48 - movs r0, #6 - strb r0, [r7, #0xc] - movs r0, #0x14 - strb r0, [r7, #0xe] - adds r2, r7, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r7, #0 - movs r1, #7 - bl InitializeAnimation - b _08031D66 - .align 2, 0 -_08031D50: .4byte gEntCount -_08031D54: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08031D66 - strb r2, [r3] - ldrb r1, [r7, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r7, #0x10] -_08031D66: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - .syntax divided - \ No newline at end of file diff --git a/asm/non_matching/acroBandits/sub_08031E04.inc b/asm/non_matching/acroBandits/sub_08031E04.inc deleted file mode 100644 index 464f2572..00000000 --- a/asm/non_matching/acroBandits/sub_08031E04.inc +++ /dev/null @@ -1,41 +0,0 @@ - - .syntax unified - - .text - - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - beq _08031E44 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r3, #6 - ands r3, r0 - ldr r0, _08031E40 @ =gUnk_080CE5C0 - adds r3, r3, r0 - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r0, #0 - ldrsb r0, [r3, r0] - adds r1, r1, r0 - movs r0, #0x32 - ldrsh r2, [r2, r0] - movs r0, #1 - ldrsb r0, [r3, r0] - adds r2, r2, r0 - adds r0, r4, #0 - movs r3, #0x50 - bl sub_0806FCB8 - b _08031E46 - .align 2, 0 -_08031E40: .4byte gUnk_080CE5C0 -_08031E44: - movs r0, #0 -_08031E46: - pop {r4, pc} - .syntax divided - \ No newline at end of file diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 7289d3a7..e3c3d9be 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -29,7 +29,7 @@ extern void (*const gUnk_080CE58C[])(Entity*); extern void (*const gUnk_080CE5C8[])(Entity*); extern u8 gUnk_080CE5B0[8]; extern u8 gUnk_080CE5B8[8]; -extern union SplitHWord gUnk_080CE5C0[4]; +extern s8 gUnk_080CE5C0[8]; extern u16 gUnk_080CE5F0[5]; extern u8 gUnk_080CE5FA[20]; // Directions @@ -209,15 +209,14 @@ void sub_08031C1C(Entity* this) { } } -#if NON_MATCHING + void sub_08031C58(Entity* this) { - u8 tmp; Entity *a, *b; GetNextFrame(this); if (this->frames.b.f3) { if (gEntCount < 0x43) { - tmp = Random(); + u32 tmp = Random(); tmp &= 3; a = CreateEnemy(0x2e, 1); @@ -225,30 +224,30 @@ void sub_08031C58(Entity* this) { a->parent = NULL; a->field_0x74.HALF.LO = tmp; sub_08031E48(this, a); + a->attachedEntity = CreateEnemy(0x2e, 1); - b = CreateEnemy(0x2e, 1); - a->attachedEntity = b; + b = a->attachedEntity; b->entityType.parameter = 1; b->parent = a; b->field_0x74.HALF.LO = tmp; sub_08031E48(this, b); + b->attachedEntity = CreateEnemy(0x2e, 1); - a = CreateEnemy(0x2e, 1); - b->attachedEntity = a; + a = b->attachedEntity; a->entityType.parameter = 2; a->parent = b; a->field_0x74.HALF.LO = tmp; sub_08031E48(this, a); + a->attachedEntity = CreateEnemy(0x2e, 1); - b = CreateEnemy(0x2e, 1); - a->attachedEntity = b; + b = a->attachedEntity; b->entityType.parameter = 3; b->parent = a; b->field_0x74.HALF.LO = tmp; sub_08031E48(this, b); + b->attachedEntity = CreateEnemy(0x2e, 1); - a = CreateEnemy(0x2e, 1); - b->attachedEntity = a; + a = b->attachedEntity; a->entityType.parameter = 4; a->parent = b; a->attachedEntity = NULL; @@ -267,12 +266,6 @@ void sub_08031C58(Entity* this) { } } } -#else -NAKED -void sub_08031C58(Entity* this) { - asm(".include \"asm/non_matching/acroBandits/sub_08031C58.inc\""); -} -#endif void sub_08031D70(Entity* this) { GetNextFrame(this); @@ -308,27 +301,17 @@ void sub_08031DC4(Entity* this) { } } -#if NON_MATCHING u32 sub_08031E04(Entity* this) { Entity* ent; - union SplitHWord* tmp; - int x, y; + s8* tmp; ent = sub_08049DF4(1); if (ent == NULL) return 0; tmp = &gUnk_080CE5C0[this->frames.all & 6]; - x = ent->x.HALF.HI + tmp->HALF.LO; - y = ent->y.HALF.HI + tmp->HALF.HI; - return sub_0806FCB8(this, x, y, 0x50); + return sub_0806FCB8(this, ent->x.HALF.HI + tmp[0], ent->y.HALF.HI + tmp[1], 0x50); } -#else -NAKED -u32 sub_08031E04(Entity* this) { - asm(".include \"asm/non_matching/acroBandits/sub_08031E04.inc\""); -} -#endif void sub_08031E48(Entity* this, Entity* child) { CopyPosition(this, child); From 7dc04f3b4234d9eb002d087258d7024e5770170f Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 25 Aug 2020 18:08:10 +0200 Subject: [PATCH 014/105] match non-matching forestMinish function --- .../forestMinish/sub_08060158.inc | 72 ------------------- src/npc/forestMinish.c | 64 ++++++++--------- 2 files changed, 31 insertions(+), 105 deletions(-) delete mode 100644 asm/non_matching/forestMinish/sub_08060158.inc diff --git a/asm/non_matching/forestMinish/sub_08060158.inc b/asm/non_matching/forestMinish/sub_08060158.inc deleted file mode 100644 index 92ec5d85..00000000 --- a/asm/non_matching/forestMinish/sub_08060158.inc +++ /dev/null @@ -1,72 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r7, r0, #0 - cmp r7, #0 - beq _0806016A - subs r0, #1 - strb r0, [r4, #0xe] - b _080601CC -_0806016A: - movs r0, #2 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806EDD8 - adds r3, r0, #0 - cmp r3, #0 - bge _08060188 - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - strb r0, [r4, #0x14] - lsls r3, r0, #2 -_08060188: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #5 - asrs r1, r3, #1 - lsls r1, r1, #1 - ldr r2, _080601D0 @ =gUnk_08109C98 - adds r1, r1, r2 - adds r0, r0, r1 - ldrb r6, [r0] - ldrb r5, [r0, #1] - movs r0, #0x80 - ands r0, r5 - cmp r0, #0 - beq _080601AC - adds r0, r3, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] -_080601AC: - movs r0, #0x7f - ands r5, r0 - adds r0, r4, #0 - adds r0, #0x5a - strb r6, [r0] - strb r5, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x5b - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x58 - strb r7, [r0] - subs r1, #2 - movs r0, #0xf0 - strb r0, [r1] -_080601CC: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080601D0: .4byte gUnk_08109C98 - .syntax divided \ No newline at end of file diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index 5dc80dce..d0d1d36d 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -12,6 +12,8 @@ extern void sub_0806F118(Entity*); extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_080600F0(Entity*); +extern s32 sub_0806EDD8(Entity*, u32, u32); +extern u32 sub_0806F5B0(u32); extern u32 sub_0801E99C(Entity*); extern void sub_08078784(Entity*, u32); extern void sub_0807000C(Entity*); @@ -114,40 +116,36 @@ void sub_0806014C(Entity* this) { sub_08060158(this); } -#if 0 -void sub_08060158(Entity *this) -{ - u8 bVar1; - u8 bVar2; - s32 iVar4; - u32 temp; - if (this->actionDelay != 0) { - this->actionDelay--; - } - else { - this->actionDelay = 2; - iVar4 = sub_0806EDD8(this, 0x20, 0x20); - if (iVar4 < 0) { - this->animationState = this->field_0x68.HALF.HI; - iVar4 = this->field_0x68.HALF.HI << 2; - } - temp = (this->animationState >> 1) * 0x20 + (iVar4 >> 1) * 2; - bVar1 = gUnk_08109C98[temp]; - bVar2 = gUnk_08109C98[temp + 1]; - if ((bVar2 & 0x80) != 0) { - this->animationState = sub_0806F5B0(iVar4); - } - this->frames.all = bVar1; - this->frameIndex = bVar2 & 0x7f; - this->frameSpriteSettings = 1; - this->animIndex = 0; - this->frameDuration = 0xf0; - } -} -#endif -NAKED void sub_08060158(Entity* this) { - asm(".include \"asm/non_matching/forestMinish/sub_08060158.inc\""); + int index; + u8* idx3; + u8 tmp1, tmp2; + + if (this->actionDelay) { + this->actionDelay--; + } else { + this->actionDelay = 2; + index = sub_0806EDD8(this, 0x20, 0x20); + if (index < 0) { + int state = this->field_0x68.HALF.HI; + this->animationState = state; + index = state * 4; + } + + idx3 = gUnk_08109C98 + (this->animationState / 2) * 0x20 + (index >> 1) * 2; + tmp1 = idx3[0]; + tmp2 = idx3[1]; + + if (tmp2 & 0x80) { + this->animationState = sub_0806F5B0(index); + } + tmp2 &= 0x7f; + this->frames.all = tmp1; + this->frameIndex = tmp2; + this->frameSpriteSettings = 1; + this->animIndex = 0; + this->frameDuration = 0xf0; + } } void sub_080601D4(Entity* this) { From 9c1a23867586a18ead7b7fb6bb5f17c4b71ee766 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 25 Aug 2020 20:03:07 +0200 Subject: [PATCH 015/105] match non-matching railtrack function --- asm/non_matching/railtrack/sub_08085394.inc | 87 --------------------- src/object/railtrack.c | 60 ++++++-------- 2 files changed, 26 insertions(+), 121 deletions(-) delete mode 100644 asm/non_matching/railtrack/sub_08085394.inc diff --git a/asm/non_matching/railtrack/sub_08085394.inc b/asm/non_matching/railtrack/sub_08085394.inc deleted file mode 100644 index 9a2ba760..00000000 --- a/asm/non_matching/railtrack/sub_08085394.inc +++ /dev/null @@ -1,87 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - ldr r0, _08085430 @ =gUnk_081205E0 - ldrb r2, [r7, #0x14] - lsrs r2, r2, #1 - lsls r2, r2, #1 - adds r0, r2, r0 - ldrh r0, [r0] - mov sl, r0 - ldr r0, _08085434 @ =gUnk_080B4488 - adds r2, r2, r0 - ldr r0, [r7, #0x70] - mov sb, r0 - movs r1, #0x2e - ldrsh r4, [r7, r1] - ldr r1, _08085438 @ =gRoomControls - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r3, #0x3f - ands r4, r3 - movs r5, #0x32 - ldrsh r0, [r7, r5] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r4, r0 - ldrb r2, [r2] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - mov r8, r2 - lsls r5, r2, #1 - mov r1, sb - subs r0, r1, r5 - ldrh r1, [r0] - adds r0, r7, #0 - adds r0, #0x74 - strh r1, [r0] - subs r1, r4, r2 - adds r6, r7, #0 - adds r6, #0x38 - ldrb r2, [r6] - mov r0, sl - bl SetTile - mov r1, sb - ldrh r0, [r1] - adds r1, r7, #0 - adds r1, #0x76 - strh r0, [r1] - ldrb r2, [r6] - mov r0, sl - adds r1, r4, #0 - bl SetTile - add r5, sb - ldrh r1, [r5] - adds r0, r7, #0 - adds r0, #0x78 - strh r1, [r0] - add r4, r8 - ldrb r2, [r6] - mov r0, sl - adds r1, r4, #0 - bl SetTile - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08085430: .4byte gUnk_081205E0 -_08085434: .4byte gUnk_080B4488 -_08085438: .4byte gRoomControls - .syntax divided \ No newline at end of file diff --git a/src/object/railtrack.c b/src/object/railtrack.c index 05b8a2aa..3cf693d2 100644 --- a/src/object/railtrack.c +++ b/src/object/railtrack.c @@ -101,55 +101,47 @@ void sub_08085308(Entity* this) { } } -#if 0 -void sub_08085394(Entity *this) -{ +void sub_08085394(Entity* this) { u32 uVar1; - u16 *layerData; - u32 iVar3; - u32 uVar4; - u8 *pbVar5; + u16* layerData; + u32 tile; + s8 off; uVar1 = gUnk_081205E0[this->animationState / 2]; - iVar3 = this->animationState / 2; - layerData = *(u16 **)&this->field_0x70; - uVar4 = COORD_TO_TILE(this); - this->field_0x74.HWORD = layerData[gUnk_080B4488[iVar3]]; - pbVar5 = &this->collisionLayer; - SetTile(uVar1, uVar4 - iVar3, *pbVar5); - this->field_0x76 = layerData[0]; - SetTile(uVar1,uVar4, *pbVar5); - *(u16 *)&this->field_0x78 = layerData[iVar3]; - SetTile(uVar1,uVar4 + iVar3, *pbVar5); -} -#endif + off = gUnk_080B4488[this->animationState / 2][0]; + layerData = (u16*)this->field_0x70.WORD; + tile = COORD_TO_TILE(this); -NAKED -void sub_08085394(Entity* this) { - asm(".include \"asm/non_matching/railtrack/sub_08085394.inc\""); + this->field_0x74.HWORD = *(layerData - off); + SetTile(uVar1, tile - off, this->collisionLayer); + + this->field_0x76.HWORD = layerData[0x0]; + SetTile(uVar1, tile - 0x0, this->collisionLayer); + + this->field_0x78.HWORD = layerData[off]; + SetTile(uVar1, tile + off, this->collisionLayer); } -void sub_0808543C(Entity *this) -{ - s8 *cVar1; - u32 uVar2; - s8 temp; +void sub_0808543C(Entity* this) { + s8* cVar1; + u32 uVar2; + s8 temp; - temp = gUnk_080B4488[this->animationState / 2][0]; - uVar2 = COORD_TO_TILE(this); - SetTile(this->field_0x74.HWORD, uVar2 - temp, this->collisionLayer); - SetTile(this->field_0x76.HWORD, uVar2, this->collisionLayer); - SetTile(this->field_0x78.HWORD, uVar2 + temp, this->collisionLayer); + temp = gUnk_080B4488[this->animationState / 2][0]; + uVar2 = COORD_TO_TILE(this); + SetTile(this->field_0x74.HWORD, uVar2 - temp, this->collisionLayer); + SetTile(this->field_0x76.HWORD, uVar2, this->collisionLayer); + SetTile(this->field_0x78.HWORD, uVar2 + temp, this->collisionLayer); } -u32 sub_080854A8(Entity *this) { +u32 sub_080854A8(Entity* this) { u16 var0; u16* var1; s8* var2; var0 = gUnk_081205E0[this->animationState / 2]; var2 = gUnk_080B4488[this->animationState / 2]; - var1 = (u16 *)this->field_0x70.WORD; + var1 = (u16*)this->field_0x70.WORD; if (var0 != *(var1 - var2[0])) { return TRUE; } From 24351758680258426dadf3cf2c6c14ddac7bc713 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 25 Aug 2020 20:11:01 +0200 Subject: [PATCH 016/105] match non-matching smith function --- asm/non_matching/smith/smith.inc | 119 ------------------------------- src/npc/smith.c | 16 ++--- 2 files changed, 4 insertions(+), 131 deletions(-) delete mode 100644 asm/non_matching/smith/smith.inc diff --git a/asm/non_matching/smith/smith.inc b/asm/non_matching/smith/smith.inc deleted file mode 100644 index c2997056..00000000 --- a/asm/non_matching/smith/smith.inc +++ /dev/null @@ -1,119 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08066028 - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r6, r4, #0 - adds r6, #0x58 - cmp r0, #2 - bne _0806600C - movs r0, #0 - movs r1, #4 - strb r1, [r4, #0xc] - strb r0, [r2] - ldrb r0, [r6] - movs r5, #0 - cmp r0, #0xc - bne _08065FF0 - movs r5, #8 -_08065FF0: - ldr r1, _08066020 @ =gPlayerEntity - adds r0, r4, #0 - bl GetFacingDirection - bl sub_0806F5A4 - adds r5, r5, r0 - adds r0, r4, #0 - adds r1, r5, #0 - bl InitAnimationForceUpdate - adds r0, r4, #0 - bl sub_0806F118 -_0806600C: - ldr r0, _08066024 @ =gUnk_0811036C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _08066042 - .align 2, 0 -_08066020: .4byte gPlayerEntity -_08066024: .4byte gUnk_0811036C -_08066028: - ldr r0, _08066058 @ =gUnk_08110360 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - adds r6, r4, #0 - adds r6, #0x58 -_08066042: - ldrb r0, [r6] - cmp r0, #0xc - bne _0806605C - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - b _0806606E - .align 2, 0 -_08066058: .4byte gUnk_08110360 -_0806605C: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strb r1, [r2] -_0806606E: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080660A0 - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0x3d - movs r2, #0x20 - bl CreateFx - ldr r4, _080660A4 @ =gUnk_08110380 - bl Random - movs r1, #7 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r0, [r1] - bl PlaySFX -_080660A0: - pop {r4, r5, r6, pc} - .align 2, 0 -_080660A4: .4byte gUnk_08110380 - .syntax divided \ No newline at end of file diff --git a/src/npc/smith.c b/src/npc/smith.c index 171ccad2..0060e521 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -29,18 +29,16 @@ extern Dialog gUnk_08110390[]; extern u16 gUnk_081103D0[]; extern u32 gUnk_081103E0; -#if NON_MATCHING // reg-alloc void Smith(Entity* this) { - u32 iVar2; - u32 iVar4; + u32 index; if ((this->flags & 2) != 0) { if (this->interactType == 2) { this->action = 4; this->interactType = 0; - iVar4 = (this->animIndex == 0xc) ? 8 : 0; - iVar2 = sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)); - InitAnimationForceUpdate(this, iVar2 + iVar4); + index = (this->animIndex == 0xc) ? 8 : 0; + index += sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)); + InitAnimationForceUpdate(this, index); sub_0806F118(this); } gUnk_0811036C[this->action](this); @@ -59,12 +57,6 @@ void Smith(Entity* this) { PlaySFX(gUnk_08110380[(Random() & 7)]); } } -#else -NAKED -void Smith(Entity* this) { - asm(".include \"asm/non_matching/smith/smith.inc\""); -} -#endif void Smith_Head(Entity* this) { u8 bVar1; From b174637d188288ac7f454efeb4c97afd26c0d872 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Wed, 26 Aug 2020 02:21:46 +0200 Subject: [PATCH 017/105] - label effect functions - combine object creation function --- asm/bobomb.s | 2 +- asm/chestSpawner.s | 4 +- asm/code_08016DF8.s | 2 +- asm/code_08070698.s | 2 +- asm/code_080732D0.s | 8 +-- asm/code_08078778.s | 4 +- asm/code_0807CC3C.s | 10 ++-- asm/code_080A29BC.s | 28 +++++----- asm/code_080A5574.s | 4 +- asm/createFx.s | 13 ----- asm/crenalBeanSprout.s | 2 +- asm/gleerok.s | 2 +- asm/guardWithSpear.s | 8 +-- asm/itemOnGround.s | 2 +- asm/likeLike.s | 4 +- asm/manager23.s | 2 +- asm/manager37.s | 2 +- asm/managerF.s | 2 +- asm/object35.s | 2 +- asm/object6A.s | 2 +- asm/object91.s | 2 +- asm/octorokBoss.s | 2 +- asm/pesto.s | 2 +- asm/pina.s | 2 +- asm/pinwheel.s | 2 +- asm/spinyBeetle.s | 2 +- asm/stockwell.s | 8 +-- asm/sturgeon.s | 2 +- include/functions.h | 2 +- linker.ld | 3 -- src/code_080A29BC.c | 69 ------------------------ src/createObject.c | 98 ++++++++++++++++++++++++++++++----- src/createObjectWithParent.c | 14 ----- src/enemy/rupeeLike.c | 2 +- src/enemy/vaatiBall.c | 2 +- src/enemy/wisp.c | 2 +- src/npc/forestMinish.c | 3 +- src/npc/tingleSiblings.c | 44 ++++++++++++++-- src/object/objectA.c | 2 +- src/object/treeHidingPortal.c | 4 +- 40 files changed, 192 insertions(+), 180 deletions(-) delete mode 100644 asm/createFx.s delete mode 100644 src/code_080A29BC.c delete mode 100644 src/createObjectWithParent.c diff --git a/asm/bobomb.s b/asm/bobomb.s index 13cc7b13..7dc63497 100644 --- a/asm/bobomb.s +++ b/asm/bobomb.s @@ -409,7 +409,7 @@ _0802C964: cmp r1, #8 bne _0802C972 adds r0, r4, #0 - bl sub_080A29FC + bl CreateDustSmall _0802C972: adds r0, r4, #0 bl sub_0802CC18 diff --git a/asm/chestSpawner.s b/asm/chestSpawner.s index 2d5c6661..9416152c 100644 --- a/asm/chestSpawner.s +++ b/asm/chestSpawner.s @@ -532,7 +532,7 @@ _0808424C: movs r0, #0x72 bl PlaySFX adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust _08084258: movs r0, #3 strb r0, [r4, #0xc] @@ -596,7 +596,7 @@ _080842BA: ldrb r1, [r1] bl sub_0807BA8C adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust _080842D4: pop {r4, pc} .align 2, 0 diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index 69973edf..b30e6ecb 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -469,7 +469,7 @@ _08017196: cmp r1, #0 bne _080171A4 adds r0, r5, #0 - bl sub_080A2B80 + bl CreateSparkle _080171A4: ldr r0, _080171B8 @ =gUnk_02002A40 adds r3, r0, #0 diff --git a/asm/code_08070698.s b/asm/code_08070698.s index 738b3fa8..ce1b6779 100644 --- a/asm/code_08070698.s +++ b/asm/code_08070698.s @@ -542,7 +542,7 @@ _08070BC8: cmp r0, #0 bne _08070BE4 adds r0, r5, #0 - bl sub_080A2A64 + bl CreateWaterTrace _08070BE4: pop {r4, r5, r6, r7, pc} .align 2, 0 diff --git a/asm/code_080732D0.s b/asm/code_080732D0.s index f8c6d611..4eacdd99 100644 --- a/asm/code_080732D0.s +++ b/asm/code_080732D0.s @@ -3691,14 +3691,14 @@ _08074E54: movs r1, #8 movs r2, #0x18 rsbs r2, r2, #0 - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark b _08074EF0 _08074E62: adds r0, r4, #0 movs r1, #8 movs r2, #0x18 rsbs r2, r2, #0 - bl sub_080A2D0C + bl CreateSpeechBubbleQuestionMark b _08074EF0 _08074E70: ldrb r0, [r4, #0x18] @@ -4261,7 +4261,7 @@ _08075270: movs r2, #0x1c rsbs r2, r2, #0 adds r0, r4, #0 - bl sub_080A2D1C + bl CreateSpeechBubbleSleep str r0, [r4, #0x6c] cmp r0, #0 beq _0807528C @@ -4280,7 +4280,7 @@ sub_0807529C: @ 0x0807529C movs r2, #0x20 rsbs r2, r2, #0 movs r1, #8 - bl sub_080A2D0C + bl CreateSpeechBubbleQuestionMark pop {pc} .align 2, 0 diff --git a/asm/code_08078778.s b/asm/code_08078778.s index f3bcc358..475e152d 100644 --- a/asm/code_08078778.s +++ b/asm/code_08078778.s @@ -5117,7 +5117,7 @@ _0807AECC: cmp r0, #0 bne _0807AEDE adds r0, r4, #0 - bl sub_080A2A64 + bl CreateWaterTrace _0807AEDE: pop {r4, pc} .align 2, 0 @@ -5517,7 +5517,7 @@ sub_0807B1A8: @ 0x0807B1A8 cmp r0, #0 bne _0807B1D0 adds r0, r4, #0 - bl sub_080A2B80 + bl CreateSparkle _0807B1D0: pop {r4, pc} .align 2, 0 diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 9cc86918..bb51d941 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1806,14 +1806,14 @@ _0807DC82: movs r1, #8 movs r2, #0x18 rsbs r2, r2, #0 - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark b _0807DD40 _0807DC90: adds r0, r5, #0 movs r1, #8 movs r2, #0x18 rsbs r2, r2, #0 - bl sub_080A2D0C + bl CreateSpeechBubbleQuestionMark b _0807DD40 _0807DC9E: adds r0, r6, #0 @@ -5183,7 +5183,7 @@ sub_0807F3F8: @ 0x0807F3F8 movs r2, #0x18 rsbs r2, r2, #0 movs r1, #8 - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark pop {pc} .align 2, 0 _0807F408: .4byte gPlayerEntity @@ -5195,7 +5195,7 @@ sub_0807F40C: @ 0x0807F40C movs r2, #0x18 rsbs r2, r2, #0 movs r1, #8 - bl sub_080A2D0C + bl CreateSpeechBubbleQuestionMark pop {pc} .align 2, 0 _0807F41C: .4byte gPlayerEntity @@ -5936,7 +5936,7 @@ sub_0807F93C: @ 0x0807F93C movs r3, #0xff ands r1, r3 ands r2, r3 - bl sub_080A2D1C + bl CreateSpeechBubbleSleep pop {pc} .align 2, 0 diff --git a/asm/code_080A29BC.s b/asm/code_080A29BC.s index 6d214977..291dd7c3 100644 --- a/asm/code_080A29BC.s +++ b/asm/code_080A29BC.s @@ -9,7 +9,7 @@ sub_080A2A84: @ 0x080A2A84 push {r4, r5, r6, r7, lr} adds r5, r1, #0 - bl sub_080A2A64 + bl CreateWaterTrace adds r6, r0, #0 cmp r6, #0 beq _080A2AD2 @@ -132,8 +132,8 @@ _080A2B74: .align 2, 0 _080A2B7C: .4byte gSineTable - thumb_func_start sub_080A2B80 -sub_080A2B80: @ 0x080A2B80 + thumb_func_start CreateSparkle +CreateSparkle: @ 0x080A2B80 push {r4, r5, lr} adds r5, r0, #0 movs r0, #0xf @@ -331,38 +331,38 @@ _080A2CF8: pop {r4, r5, pc} .align 2, 0 - thumb_func_start sub_080A2CFC -sub_080A2CFC: @ 0x080A2CFC + thumb_func_start CreateSpeechBubbleExclamationMark +CreateSpeechBubbleExclamationMark: @ 0x080A2CFC push {r4, lr} adds r4, r1, #0 adds r3, r2, #0 movs r1, #0 adds r2, r4, #0 - bl sub_080A2D2C + bl CreateSpeechBubble pop {r4, pc} - thumb_func_start sub_080A2D0C -sub_080A2D0C: @ 0x080A2D0C + thumb_func_start CreateSpeechBubbleQuestionMark +CreateSpeechBubbleQuestionMark: @ 0x080A2D0C push {r4, lr} adds r4, r1, #0 adds r3, r2, #0 movs r1, #1 adds r2, r4, #0 - bl sub_080A2D2C + bl CreateSpeechBubble pop {r4, pc} - thumb_func_start sub_080A2D1C -sub_080A2D1C: @ 0x080A2D1C + thumb_func_start CreateSpeechBubbleSleep +CreateSpeechBubbleSleep: @ 0x080A2D1C push {r4, lr} adds r4, r1, #0 adds r3, r2, #0 movs r1, #2 adds r2, r4, #0 - bl sub_080A2D2C + bl CreateSpeechBubble pop {r4, pc} - thumb_func_start sub_080A2D2C -sub_080A2D2C: @ 0x080A2D2C + thumb_func_start CreateSpeechBubble +CreateSpeechBubble: @ 0x080A2D2C push {r4, r5, r6, r7, lr} adds r5, r0, #0 adds r4, r1, #0 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index ba695e1a..4a9bcdc1 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -8153,7 +8153,7 @@ sub_080A9448: @ 0x080A9448 cmp r0, #0 bne _080A9464 adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust bl DeleteThisEntity b _080A9486 _080A9464: @@ -13507,7 +13507,7 @@ _080ABC2A: bl ModHealth _080ABC32: adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust bl DeleteThisEntity b _080ABC52 _080ABC3E: diff --git a/asm/createFx.s b/asm/createFx.s deleted file mode 100644 index 991aa1c4..00000000 --- a/asm/createFx.s +++ /dev/null @@ -1,13 +0,0 @@ - .include "asm/macros.inc" - .text - .syntax unified - - thumb_func_start CreateFx -CreateFx: @ 0x080A29AC - push {r4, lr} - adds r4, r1, #0 - adds r3, r2, #0 - movs r1, #0xf - adds r2, r4, #0 - bl CreateObjectWithParent - pop {r4, pc} \ No newline at end of file diff --git a/asm/crenalBeanSprout.s b/asm/crenalBeanSprout.s index df8bfdc6..9cbb5a75 100644 --- a/asm/crenalBeanSprout.s +++ b/asm/crenalBeanSprout.s @@ -603,7 +603,7 @@ sub_08096780: @ 0x08096780 strb r0, [r5, #0xc] strb r1, [r5, #0xd] adds r0, r5, #0 - bl sub_080A29BC + bl CreateDust b _080967E0 .align 2, 0 _080967D4: .4byte gUnk_0812319C diff --git a/asm/gleerok.s b/asm/gleerok.s index 4f5462b4..fba60dd6 100644 --- a/asm/gleerok.s +++ b/asm/gleerok.s @@ -857,7 +857,7 @@ _0802D6C4: rsbs r2, r2, #0 adds r0, r5, #0 movs r1, #0xc - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark _0802D6D8: strb r6, [r5, #0x14] b _0802D6EC diff --git a/asm/guardWithSpear.s b/asm/guardWithSpear.s index 1ffd80f5..621a1d62 100644 --- a/asm/guardWithSpear.s +++ b/asm/guardWithSpear.s @@ -234,7 +234,7 @@ _080641E6: cmp r0, #0 bne _08064222 adds r0, r5, #0 - bl sub_080A29FC + bl CreateDustSmall _08064222: adds r4, r5, #0 adds r4, #0x71 @@ -299,7 +299,7 @@ _0806428C: cmp r0, #0 bne _080642AC adds r0, r5, #0 - bl sub_080A29FC + bl CreateDustSmall _080642AC: pop {r4, r5, r6, pc} .align 2, 0 @@ -379,7 +379,7 @@ _08064306: cmp r0, #0 bne _08064342 adds r0, r5, #0 - bl sub_080A29FC + bl CreateDustSmall _08064342: adds r4, r5, #0 adds r4, #0x71 @@ -444,7 +444,7 @@ _080643AC: cmp r0, #0 bne _080643CC adds r0, r5, #0 - bl sub_080A29FC + bl CreateDustSmall _080643CC: pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/itemOnGround.s b/asm/itemOnGround.s index 56f4fa8a..e42f4bf9 100644 --- a/asm/itemOnGround.s +++ b/asm/itemOnGround.s @@ -545,7 +545,7 @@ _08080DEE: cmp r0, #0 bne _08080E00 adds r0, r4, #0 - bl sub_080A2B80 + bl CreateSparkle _08080E00: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/likeLike.s b/asm/likeLike.s index 618b6227..fa3c4f96 100644 --- a/asm/likeLike.s +++ b/asm/likeLike.s @@ -312,7 +312,7 @@ sub_08027F84: @ 0x08027F84 movs r1, #0 bl InitializeAnimation adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust _08027FB0: pop {r4, pc} .align 2, 0 @@ -403,7 +403,7 @@ sub_0802802C: @ 0x0802802C strb r2, [r4, #0x15] strb r2, [r4, #0xe] adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust _0802805A: pop {r4, pc} diff --git a/asm/manager23.s b/asm/manager23.s index acdd6c56..c5387705 100644 --- a/asm/manager23.s +++ b/asm/manager23.s @@ -188,7 +188,7 @@ sub_0805BDB4: @ 0x0805BDB4 movs r2, #0x3a ldrsh r1, [r4, r2] ldrb r2, [r4, #0xb] - bl sub_080A29C8 + bl CreateDustAt ldrh r0, [r4, #0x3e] bl ClearFlag ldrh r0, [r4, #0x20] diff --git a/asm/manager37.s b/asm/manager37.s index 106e9932..7ffdb9c7 100644 --- a/asm/manager37.s +++ b/asm/manager37.s @@ -124,7 +124,7 @@ _0805DF1A: rsbs r2, r2, #0 adds r0, r5, #0 movs r1, #8 - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark adds r2, r0, #0 cmp r2, #0 beq _0805DF3C diff --git a/asm/managerF.s b/asm/managerF.s index 93add104..60d32fc0 100644 --- a/asm/managerF.s +++ b/asm/managerF.s @@ -333,7 +333,7 @@ sub_08059124: @ 0x08059124 movs r2, #0x3a ldrsh r1, [r4, r2] ldrb r2, [r4, #0xb] - bl sub_080A29C8 + bl CreateDustAt ldrh r0, [r4, #0x38] lsls r0, r0, #0x10 asrs r0, r0, #0x14 diff --git a/asm/object35.s b/asm/object35.s index f99aae2c..586fc402 100644 --- a/asm/object35.s +++ b/asm/object35.s @@ -356,7 +356,7 @@ _0808BAEA: strb r4, [r2, #0x1e] _0808BAFC: adds r0, r2, #0 - bl sub_080A29BC + bl CreateDust pop {r4, pc} thumb_func_start sub_0808BB04 diff --git a/asm/object6A.s b/asm/object6A.s index dedb6152..71508057 100644 --- a/asm/object6A.s +++ b/asm/object6A.s @@ -211,7 +211,7 @@ sub_08094B94: @ 0x08094B94 adds r1, #0x84 str r0, [r1] adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust ldrh r0, [r4, #0x36] adds r0, #0x10 strh r0, [r4, #0x36] diff --git a/asm/object91.s b/asm/object91.s index faa013cd..fff595ca 100644 --- a/asm/object91.s +++ b/asm/object91.s @@ -470,7 +470,7 @@ _0809C74A: cmp r0, #0 bne _0809C772 ldr r0, [r5, #0x54] - bl sub_080A2B80 + bl CreateSparkle _0809C772: adds r3, r5, #0 adds r3, #0x7e diff --git a/asm/octorokBoss.s b/asm/octorokBoss.s index d713b2b4..a6043de6 100644 --- a/asm/octorokBoss.s +++ b/asm/octorokBoss.s @@ -1233,7 +1233,7 @@ _08035B18: movs r2, #0x18 rsbs r2, r2, #0 movs r1, #0xc - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark _08035B2C: pop {pc} .align 2, 0 diff --git a/asm/pesto.s b/asm/pesto.s index 80a94b95..444b0ceb 100644 --- a/asm/pesto.s +++ b/asm/pesto.s @@ -229,7 +229,7 @@ sub_0802409C: @ 0x0802409C adds r0, r4, #0 bl InitializeAnimation adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust pop {r4, pc} thumb_func_start sub_080240B8 diff --git a/asm/pina.s b/asm/pina.s index 80d77d98..11a47b9a 100644 --- a/asm/pina.s +++ b/asm/pina.s @@ -297,7 +297,7 @@ sub_08063C74: @ 0x08063C74 movs r2, #0x18 rsbs r2, r2, #0 movs r1, #8 - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark _08063C8C: pop {pc} .align 2, 0 diff --git a/asm/pinwheel.s b/asm/pinwheel.s index 29916fb2..aaa5c88a 100644 --- a/asm/pinwheel.s +++ b/asm/pinwheel.s @@ -84,7 +84,7 @@ sub_080A2420: @ 0x080A2420 movs r0, #2 strb r0, [r4, #0xc] adds r0, r4, #0 - bl sub_080A29BC + bl CreateDust _080A243A: pop {r4, pc} diff --git a/asm/spinyBeetle.s b/asm/spinyBeetle.s index 8a910315..b65ad269 100644 --- a/asm/spinyBeetle.s +++ b/asm/spinyBeetle.s @@ -933,7 +933,7 @@ sub_08033E1C: @ 0x08033E1C rsbs r2, r2, #0 adds r0, r4, #0 movs r1, #0xa - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark pop {r4, pc} .align 2, 0 _08033EA4: .4byte 0xFFF00000 diff --git a/asm/stockwell.s b/asm/stockwell.s index 013f39ac..6d643e31 100644 --- a/asm/stockwell.s +++ b/asm/stockwell.s @@ -233,7 +233,7 @@ sub_080651F8: @ 0x080651F8 rsbs r2, r2, #0 adds r0, r4, #0 movs r1, #8 - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark movs r0, #1 bl sub_08078A90 _0806522A: @@ -281,7 +281,7 @@ _08065264: rsbs r2, r2, #0 adds r0, r4, #0 movs r1, #8 - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark b _0806528A _0806527E: movs r0, #0 @@ -612,7 +612,7 @@ sub_080654DC: @ 0x080654DC movs r2, #0x18 rsbs r2, r2, #0 movs r1, #8 - bl sub_080A2D0C + bl CreateSpeechBubbleQuestionMark pop {pc} .align 2, 0 @@ -622,7 +622,7 @@ sub_080654EC: @ 0x080654EC movs r2, #0x18 rsbs r2, r2, #0 movs r1, #8 - bl sub_080A2CFC + bl CreateSpeechBubbleExclamationMark pop {pc} .align 2, 0 diff --git a/asm/sturgeon.s b/asm/sturgeon.s index 6537ba17..66a5193b 100644 --- a/asm/sturgeon.s +++ b/asm/sturgeon.s @@ -282,7 +282,7 @@ sub_08064C9C: @ 0x08064C9C cmp r0, #0 bne _08064CB8 adds r0, r2, #0 - bl sub_080A29BC + bl CreateDust _08064CB8: pop {pc} .align 2, 0 diff --git a/include/functions.h b/include/functions.h index 585d8518..5d2da623 100644 --- a/include/functions.h +++ b/include/functions.h @@ -194,7 +194,7 @@ extern void sub_08004488(u32); extern void sub_08004596(Entity*, u32); extern u32 sub_0807953C(void); extern void ResetPlayer(void); -extern void sub_080A29BC(Entity*); +extern void CreateDust(Entity*); extern void sub_080AE068(Entity*); extern Manager* GetEmptyManager(void); extern void AppendEntityToList(void*, u32); diff --git a/linker.ld b/linker.ld index 4bb21a9c..93819bfd 100644 --- a/linker.ld +++ b/linker.ld @@ -880,9 +880,6 @@ SECTIONS { asm/sub_080A2838.o(.text); asm/sub_080A285C.o(.text); src/createObject.o(.text); - src/createObjectWithParent.o(.text); - asm/createFx.o(.text); - src/code_080A29BC.o(.text); asm/code_080A29BC.o(.text); asm/playSFX.o(.text); asm/code_080A3480.o(.text); diff --git a/src/code_080A29BC.c b/src/code_080A29BC.c deleted file mode 100644 index 7fa80ee2..00000000 --- a/src/code_080A29BC.c +++ /dev/null @@ -1,69 +0,0 @@ -#include "global.h" -#include "entity.h" -#include "room.h" - -void sub_080A29BC(Entity *parent) -{ - CreateFx(parent, 2, 0); -} - -void sub_080A29C8(s32 xOff, s32 yOff, u32 layer) -{ - Entity *pEVar1; - - pEVar1 = CreateObject(0xf, 2, 0); - if (pEVar1 != NULL) { - pEVar1->x.HALF.HI = gRoomControls.roomOriginX + xOff; - pEVar1->y.HALF.HI = gRoomControls.roomOriginY + yOff; - pEVar1->collisionLayer = layer; - } -} - -void sub_080A29FC(Entity *parent) -{ - CreateFx(parent, 0x11, 0); -} - -void sub_080A2A08(Entity *parent) -{ - CreateFx(parent, 0x6, 0); -} - -void sub_080A2A14(Entity *parent) -{ - CreateFx(parent, 0xb, 0); -} - -Entity * sub_080A2A20(Entity *parent, u32 form, u32 parameter) -{ - Entity *pEVar1; - - pEVar1 = CreateObjectWithParent(parent, 0, form, parameter); - if (pEVar1 != NULL) { - pEVar1->actionDelay = 5; - } - return pEVar1; -} - -Entity * sub_080A2A3C(Entity *parent, u32 form, u32 subtype, u32 param_4) -{ - Entity *ent; - - ent = CreateObjectWithParent(parent, 0, form, subtype); - if (ent != NULL) { - ent->actionDelay = 5; - ent->field_0x86 = param_4; - } - return ent; -} - -Entity * sub_080A2A64(Entity *parent) -{ - Entity *pEVar1; - - pEVar1 = CreateFx(parent, 0x20, 0); - if (pEVar1 != NULL) { - pEVar1->spritePriority.b0 = 7; - } - return pEVar1; -} \ No newline at end of file diff --git a/src/createObject.c b/src/createObject.c index 93db1d93..d58c995a 100644 --- a/src/createObject.c +++ b/src/createObject.c @@ -1,21 +1,95 @@ #include "global.h" #include "entity.h" +#include "room.h" extern Entity* GetEmptyEntity(); extern void AppendEntityToList(Entity*, u8); -Entity* CreateObject(u32 subtype, u32 param1, u32 param2) +Entity* CreateObject(u32 subtype, u32 form, u32 parameter) { + Entity* ent; -{ - Entity* newEnt; - - newEnt = GetEmptyEntity(); - if (newEnt != NULL) { - (newEnt->entityType).type = 6; - (newEnt->entityType).subtype = subtype; - (newEnt->entityType).form = param1; - (newEnt->entityType).parameter = param2; - AppendEntityToList(newEnt, 6); + ent = GetEmptyEntity(); + if (ent != NULL) { + ent->entityType.type = 6; + ent->entityType.subtype = subtype; + ent->entityType.form = form; + ent->entityType.parameter = parameter; + AppendEntityToList(ent, 6); } - return newEnt; + return ent; +} + +Entity* CreateObjectWithParent(Entity* parentEnt, u32 subtype, u32 form, u32 parameter) { + Entity* ent; + + ent = CreateObject(subtype, form, parameter); + if (ent != NULL) { + ent->parent = parentEnt; + CopyPosition(parentEnt, ent); + } + + return ent; +} + +Entity* CreateFx(Entity* parentEnt, u32 param1, u32 param2) { + asm("nop"); + CreateObjectWithParent(parentEnt, 0, 0x60, 0); +} + +void CreateDust(Entity* parent) { + CreateFx(parent, 2, 0); +} + +void CreateDustAt(s32 xOff, s32 yOff, u32 layer) { + Entity* ent; + + ent = CreateObject(0xf, 2, 0); + if (ent != NULL) { + ent->x.HALF.HI = gRoomControls.roomOriginX + xOff; + ent->y.HALF.HI = gRoomControls.roomOriginY + yOff; + ent->collisionLayer = layer; + } +} + +void CreateDustSmall(Entity* parent) { + CreateFx(parent, 0x11, 0); +} + +void CreateExplosionBroken(Entity* parent) { + CreateFx(parent, 0x6, 0); +} + +void CreateWaterSplash(Entity* parent) { + CreateFx(parent, 0xb, 0); +} + +Entity* sub_080A2A20(Entity* parent, u32 form, u32 parameter) { + Entity* ent; + + ent = CreateObjectWithParent(parent, 0, form, parameter); + if (ent != NULL) { + ent->actionDelay = 5; + } + return ent; +} + +Entity* sub_080A2A3C(Entity* parent, u32 form, u32 subtype, u32 param_4) { + Entity* ent; + + ent = CreateObjectWithParent(parent, 0, form, subtype); + if (ent != NULL) { + ent->actionDelay = 5; + ent->field_0x86 = param_4; + } + return ent; +} + +Entity* CreateWaterTrace(Entity* parent) { + Entity* ent; + + ent = CreateFx(parent, 0x20, 0); + if (ent != NULL) { + ent->spritePriority.b0 = 7; + } + return ent; } diff --git a/src/createObjectWithParent.c b/src/createObjectWithParent.c deleted file mode 100644 index 8aca834d..00000000 --- a/src/createObjectWithParent.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "global.h" -#include "entity.h" - -Entity* CreateObjectWithParent(Entity* parentEnt, u32 subtype, u32 param1, u32 param2) { - Entity* ent; - - ent = CreateObject(subtype, param1, param2); - if (ent != NULL) { - ent->parent = parentEnt; - CopyPosition(parentEnt, ent); - } - - return ent; -} diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c index 7a021657..8a011dad 100644 --- a/src/enemy/rupeeLike.c +++ b/src/enemy/rupeeLike.c @@ -262,7 +262,7 @@ void sub_08029770(Entity* this) { InitializeAnimation(this, 2); this->attachedEntity->spriteSettings.b.draw = TRUE; InitializeAnimation(this->attachedEntity, 6); - sub_080A29BC(this); + CreateDust(this); } } diff --git a/src/enemy/vaatiBall.c b/src/enemy/vaatiBall.c index ba12afd7..fcbc04f3 100644 --- a/src/enemy/vaatiBall.c +++ b/src/enemy/vaatiBall.c @@ -37,7 +37,7 @@ void VaatiBall(Entity* this) { this->flags &= 0x7f; this->currentHealth = -1; parent->field_0x80.HALF.LO--; - sub_080A29BC(this); + CreateDust(this); PlaySFX(0x1c3); } } diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index b56ff33a..2c7431d6 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -109,7 +109,7 @@ void sub_080336DC(Entity* this) { this->y.HALF.HI = this->field_0x82.HWORD; break; case 0x18: - sub_080A29BC(this); + CreateDust(this); break; case 0xc: this->spriteSettings.b.draw = TRUE; diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index d0d1d36d..5b3e8f7d 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -20,7 +20,6 @@ extern void sub_0807000C(Entity*); extern void sub_08060158(Entity*); extern u32 CheckKinstoneFused(u32); extern Entity* FindEntityInListBySubtype(u32, u32, u32); -extern void sub_080A29BC(Entity* parent); extern void DeleteEntity(Entity*); extern u32 Random(void); extern void ModBombs(s32); @@ -236,7 +235,7 @@ void sub_08060318(void) { for (i = 2; i >= 0; i--) { ent = FindEntityInListBySubtype(8, 2, 2); if (ent != NULL) { - sub_080A29BC(ent); + CreateDust(ent); DeleteEntity(ent); } } diff --git a/src/npc/tingleSiblings.c b/src/npc/tingleSiblings.c index ab50c63c..b3d56ae8 100644 --- a/src/npc/tingleSiblings.c +++ b/src/npc/tingleSiblings.c @@ -12,8 +12,7 @@ extern void (*const gUnk_0810FBFC[])(Entity*); void TingleSiblings(Entity* this) { if ((this->flags & 2) != 0) { sub_08064DE4(this); - } - else { + } else { sub_08064D78(this); } } @@ -40,4 +39,43 @@ void sub_08064DCC(Entity* this) { sub_08064EE8(this); InitAnimationForceUpdate(this, 2); this->action = 1; -} \ No newline at end of file +} +/* +void sub_08064DE4(Entity* this) { + switch (this->action) { + case 0: + this->action = 1; + this->spriteSettings = this->spriteSettings & 0xfc | 1; + this->animationState = '\x04'; + sub_0807DD50(this); + break; + case 1: + if (this->interactType == 2) { + this->action = 2; + this->interactType = 0; + GetFacingDirection(this, &gPlayerEntity); + InitAnimationForceUpdate(this, sub_0806F5A4()); + sub_0806F118(this); + } else { + sub_0807DD94(this, 0); + } + break; + case 2: + if (UpdateFuseInteraction(this)) { + this->action = 1; + sub_0801E99C(this); + } + break; + } + { + u8 bVar1 = this->frames.all; + u8 bVar5 = bVar1 & 0xf; + this->frames.all = bVar5 ^ bVar1; + if (bVar1 & 0xf) { + Entity* fx = CreateFx(this, bVar5 == 3 ? 0x2a : 0x29, 0); + if (fx && bVar5 == 2) { + fx->spriteSettings.b.flipX = 1; + } + } + } +}*/ diff --git a/src/object/objectA.c b/src/object/objectA.c index c68d503b..72c4e61a 100644 --- a/src/object/objectA.c +++ b/src/object/objectA.c @@ -32,7 +32,7 @@ void ObjectA(Entity *this) { } else if (this->interactType != 0) { SetTileType(*(u16*)&this->field_0x70.HALF.LO, COORD_TO_TILE(this), this->collisionLayer); SetFlag(this->field_0x86); - sub_080A29BC(this); + CreateDust(this); sub_080526F8(-1); DeleteThisEntity(); } diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c index 52fa5a25..ab7888c5 100644 --- a/src/object/treeHidingPortal.c +++ b/src/object/treeHidingPortal.c @@ -6,7 +6,7 @@ extern void sub_0809E96C(Entity*); extern u32 sub_0800419C(Entity*, Entity*, u32, u32); -extern void sub_080A2B80(Entity*); +extern void CreateSparkle(Entity*); extern u32 sub_0809E9A0(void); extern void sub_08078A90(u32); extern void sub_0809E918(Entity*); @@ -37,7 +37,7 @@ void sub_0809E86C(Entity* this) { if (sub_0800419C(this, &gPlayerEntity, 0x30, 0x30)) { if (CheckGlobalFlag(EZERO_1ST)) { if (((gScreenTransition & 3) == 0)) { - sub_080A2B80(this); + CreateSparkle(this); } } } From ff51fad595b4c25607bd2faf824645bd5ce39da5 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 25 Aug 2020 19:35:58 -0500 Subject: [PATCH 018/105] Dump area metatile headers --- asm/macros/map.inc | 22 +- data/{data_081026AC.s => data_081032DC.s} | 210 ---------- data/metatile_headers.s | 473 ++++++++++++++++++++++ data/tileset_headers.s | 291 ++++++------- linker.ld | 3 +- 5 files changed, 642 insertions(+), 357 deletions(-) rename data/{data_081026AC.s => data_081032DC.s} (91%) create mode 100755 data/metatile_headers.s diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 873b63a2..755413c0 100755 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -9,16 +9,36 @@ .2byte \tileset_id .endm - .macro tileset_tiles src_offset, dest, size, compressed, terminator=0 + .macro map_data src_offset, dest, size, compressed, terminator=0 .4byte (!(\terminator) << 0x1F) | (\src_offset) .4byte \dest .4byte (\compressed << 0x1F) | (\size) .endm + .macro tileset_tiles src_offset, dest, size, compressed, terminator=0 + map_data \src_offset, \dest, \size, \compressed, \terminator + .endm + .macro tileset_palette_set id, terminator=0 .4byte (!(\terminator) << 0x1F) | (\id) .4byte 0x0 .4byte 0x0 .endm + .macro metatiles_bottom src_offset, size, compressed, terminator=0 + map_data \src_offset, 0x0202CEB4, \size, \compressed, \terminator + .endm + + .macro metatiles_top src_offset, size, compressed, terminator=0 + map_data \src_offset, 0x02012654, \size, \compressed, \terminator + .endm + + .macro metatile_types_bottom src_offset, size, compressed, terminator=0 + map_data \src_offset, 0x0202AEB4, \size, \compressed, \terminator + .endm + + .macro metatile_types_top src_offset, size, compressed, terminator=0 + map_data \src_offset, 0x02010654, \size, \compressed, \terminator + .endm + .endif @ GUARD_ASM_MACROS_MAP_INC diff --git a/data/data_081026AC.s b/data/data_081032DC.s similarity index 91% rename from data/data_081026AC.s rename to data/data_081032DC.s index 88787890..ee81b361 100755 --- a/data/data_081026AC.s +++ b/data/data_081032DC.s @@ -4,216 +4,6 @@ .section .rodata .align 2 -gUnk_081026AC:: @ 081026AC - .incbin "baserom.gba", 0x1026AC, 0x0000030 - -gUnk_081026DC:: @ 081026DC - .incbin "baserom.gba", 0x1026DC, 0x0000028 - -gUnk_08102704:: @ 08102704 - .incbin "baserom.gba", 0x102704, 0x0000008 - -gUnk_0810270C:: @ 0810270C - .incbin "baserom.gba", 0x10270C, 0x0000004 - -gUnk_08102710:: @ 08102710 - .incbin "baserom.gba", 0x102710, 0x0000023 - -gUnk_08102733:: @ 08102733 - .incbin "baserom.gba", 0x102733, 0x0000009 - -gUnk_0810273C:: @ 0810273C - .incbin "baserom.gba", 0x10273C, 0x000001B - -gUnk_08102757:: @ 08102757 - .incbin "baserom.gba", 0x102757, 0x0000015 - -gUnk_0810276C:: @ 0810276C - .incbin "baserom.gba", 0x10276C, 0x0000030 - -gUnk_0810279C:: @ 0810279C - .incbin "baserom.gba", 0x10279C, 0x0000030 - -gUnk_081027CC:: @ 081027CC - .incbin "baserom.gba", 0x1027CC, 0x0000030 - -gUnk_081027FC:: @ 081027FC - .incbin "baserom.gba", 0x1027FC, 0x0000030 - -gUnk_0810282C:: @ 0810282C - .incbin "baserom.gba", 0x10282C, 0x000000C - -gUnk_08102838:: @ 08102838 - .incbin "baserom.gba", 0x102838, 0x0000012 - -gUnk_0810284A:: @ 0810284A - .incbin "baserom.gba", 0x10284A, 0x0000012 - -gUnk_0810285C:: @ 0810285C - .incbin "baserom.gba", 0x10285C, 0x0000018 - -gUnk_08102874:: @ 08102874 - .incbin "baserom.gba", 0x102874, 0x0000030 - -gUnk_081028A4:: @ 081028A4 - .incbin "baserom.gba", 0x1028A4, 0x0000030 - -gUnk_081028D4:: @ 081028D4 - .incbin "baserom.gba", 0x1028D4, 0x0000030 - -gUnk_08102904:: @ 08102904 - .incbin "baserom.gba", 0x102904, 0x0000012 - -gUnk_08102916:: @ 08102916 - .incbin "baserom.gba", 0x102916, 0x000001E - -gUnk_08102934:: @ 08102934 - .incbin "baserom.gba", 0x102934, 0x0000018 - -gUnk_0810294C:: @ 0810294C - .incbin "baserom.gba", 0x10294C, 0x0000018 - -gUnk_08102964:: @ 08102964 - .incbin "baserom.gba", 0x102964, 0x0000030 - -gUnk_08102994:: @ 08102994 - .incbin "baserom.gba", 0x102994, 0x0000030 - -gUnk_081029C4:: @ 081029C4 - .incbin "baserom.gba", 0x1029C4, 0x0000030 - -gUnk_081029F4:: @ 081029F4 - .incbin "baserom.gba", 0x1029F4, 0x000001C - -gUnk_08102A10:: @ 08102A10 - .incbin "baserom.gba", 0x102A10, 0x0000014 - -gUnk_08102A24:: @ 08102A24 - .incbin "baserom.gba", 0x102A24, 0x0000030 - -gUnk_08102A54:: @ 08102A54 - .incbin "baserom.gba", 0x102A54, 0x0000030 - -gUnk_08102A84:: @ 08102A84 - .incbin "baserom.gba", 0x102A84, 0x0000030 - -gUnk_08102AB4:: @ 08102AB4 - .incbin "baserom.gba", 0x102AB4, 0x0000030 - -gUnk_08102AE4:: @ 08102AE4 - .incbin "baserom.gba", 0x102AE4, 0x000002C - -gUnk_08102B10:: @ 08102B10 - .incbin "baserom.gba", 0x102B10, 0x0000004 - -gUnk_08102B14:: @ 08102B14 - .incbin "baserom.gba", 0x102B14, 0x0000030 - -gUnk_08102B44:: @ 08102B44 - .incbin "baserom.gba", 0x102B44, 0x0000030 - -gUnk_08102B74:: @ 08102B74 - .incbin "baserom.gba", 0x102B74, 0x0000030 - -gUnk_08102BA4:: @ 08102BA4 - .incbin "baserom.gba", 0x102BA4, 0x0000030 - -gUnk_08102BD4:: @ 08102BD4 - .incbin "baserom.gba", 0x102BD4, 0x0000030 - -gUnk_08102C04:: @ 08102C04 - .incbin "baserom.gba", 0x102C04, 0x0000030 - -gUnk_08102C34:: @ 08102C34 - .incbin "baserom.gba", 0x102C34, 0x000000D - -gUnk_08102C41:: @ 08102C41 - .incbin "baserom.gba", 0x102C41, 0x0000023 - -gUnk_08102C64:: @ 08102C64 - .incbin "baserom.gba", 0x102C64, 0x0000030 - -gUnk_08102C94:: @ 08102C94 - .incbin "baserom.gba", 0x102C94, 0x0000030 - -gUnk_08102CC4:: @ 08102CC4 - .incbin "baserom.gba", 0x102CC4, 0x0000030 - -gUnk_08102CF4:: @ 08102CF4 - .incbin "baserom.gba", 0x102CF4, 0x0000030 - -gUnk_08102D24:: @ 08102D24 - .incbin "baserom.gba", 0x102D24, 0x0000030 - -gUnk_08102D54:: @ 08102D54 - .incbin "baserom.gba", 0x102D54, 0x0000030 - -gUnk_08102D84:: @ 08102D84 - .incbin "baserom.gba", 0x102D84, 0x0000030 - -gUnk_08102DB4:: @ 08102DB4 - .incbin "baserom.gba", 0x102DB4, 0x0000030 - -gUnk_08102DE4:: @ 08102DE4 - .incbin "baserom.gba", 0x102DE4, 0x0000030 - -gUnk_08102E14:: @ 08102E14 - .incbin "baserom.gba", 0x102E14, 0x0000030 - -gUnk_08102E44:: @ 08102E44 - .incbin "baserom.gba", 0x102E44, 0x0000030 - -gUnk_08102E74:: @ 08102E74 - .incbin "baserom.gba", 0x102E74, 0x0000030 - -gUnk_08102EA4:: @ 08102EA4 - .incbin "baserom.gba", 0x102EA4, 0x0000030 - -gUnk_08102ED4:: @ 08102ED4 - .incbin "baserom.gba", 0x102ED4, 0x0000018 - -gUnk_08102EEC:: @ 08102EEC - .incbin "baserom.gba", 0x102EEC, 0x0000025 - -gUnk_08102F11:: @ 08102F11 - .incbin "baserom.gba", 0x102F11, 0x000000B - -gUnk_08102F1C:: @ 08102F1C - .incbin "baserom.gba", 0x102F1C, 0x0000030 - -gUnk_08102F4C:: @ 08102F4C - .incbin "baserom.gba", 0x102F4C, 0x0000030 - -gUnk_08102F7C:: @ 08102F7C - .incbin "baserom.gba", 0x102F7C, 0x0000030 - -gUnk_08102FAC:: @ 08102FAC - .incbin "baserom.gba", 0x102FAC, 0x0000030 - -gUnk_08102FDC:: @ 08102FDC - .incbin "baserom.gba", 0x102FDC, 0x0000030 - -gUnk_0810300C:: @ 0810300C - .incbin "baserom.gba", 0x10300C, 0x0000030 - -gUnk_0810303C:: @ 0810303C - .incbin "baserom.gba", 0x10303C, 0x0000030 - -gUnk_0810306C:: @ 0810306C - .incbin "baserom.gba", 0x10306C, 0x0000030 - -gAreaMetatiles:: @ 0810309C - .incbin "baserom.gba", 0x10309C, 0x0000068 - -gUnk_08103104:: @ 08103104 - .incbin "baserom.gba", 0x103104, 0x000000C - -gUnk_08103110:: @ 08103110 - .incbin "baserom.gba", 0x103110, 0x00000E5 - -gUnk_081031F5:: @ 081031F5 - .incbin "baserom.gba", 0x1031F5, 0x00000E7 - gUnk_081032DC:: @ 081032DC .incbin "baserom.gba", 0x1032DC, 0x0000018 diff --git a/data/metatile_headers.s b/data/metatile_headers.s new file mode 100755 index 00000000..eb154c7e --- /dev/null +++ b/data/metatile_headers.s @@ -0,0 +1,473 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gAreaMetatiles_MinishWoods:: @ 081026AC + metatiles_bottom 0x7704, 0x4000, 1 + metatiles_top 0x9280, 0x3FF0, 1 + metatile_types_bottom 0xA00C, 0x1000, 1 + metatile_types_top 0xA43C, 0xFFC, 1, 1 + +gAreaMetatiles_LakeHylia:: @ 081026DC + metatiles_bottom 0x12A34, 0x4000, 1 + metatiles_top 0x1420C, 0x3FF0, 1 + metatile_types_bottom 0x1500C, 0x1000, 1 + metatile_types_top 0x15484, 0xFFC, 1, 1 + +gAreaMetatiles_CastorWilds:: @ 0810270C + metatiles_bottom 0x1D5E0, 0x4000, 1 + metatiles_top 0x1F310, 0x3FF0, 1 + metatile_types_bottom 0x20144, 0x1000, 1 + metatile_types_top 0x2062C, 0xFFC, 1, 1 + +gAreaMetatiles_HyruleTown:: @ 0810273C + metatiles_bottom 0x29774, 0x4000, 1 + metatiles_top 0x2B788, 0x3FF0, 1 + metatile_types_bottom 0x2D47C, 0x1000, 1 + metatile_types_top 0x2D984, 0xFFC, 1, 1 + +gAreaMetatiles_MtCrenel:: @ 0810276C + metatiles_bottom 0x43FF0, 0x4000, 1 + metatiles_top 0x45D0C, 0x3FF0, 1 + metatile_types_bottom 0x46BA4, 0x1000, 1 + metatile_types_top 0x4712C, 0xFFC, 1, 1 + +gAreaMetatiles_HyruleField:: @ 0810279C + metatiles_bottom 0x5D3B8, 0x4000, 1 + metatiles_top 0x5F584, 0x3FF0, 1 + metatile_types_bottom 0x6064C, 0x1000, 1 + metatile_types_top 0x60C64, 0xFFC, 1, 1 + +gAreaMetatiles_CastleGarden:: @ 081027CC + metatiles_bottom 0x6B79C, 0x3000, 1 + metatiles_top 0x6CD14, 0x3FF0, 1 + metatile_types_bottom 0x6D7A8, 0xC00, 1 + metatile_types_top 0x6DAE4, 0xFFC, 1, 1 + +gAreaMetatiles_CloudTops:: @ 081027FC + metatiles_bottom 0x72898, 0x3FB0, 1 + metatiles_top 0x73B54, 0x3FF0, 1 + metatile_types_bottom 0x74534, 0xFEC, 1 + metatile_types_top 0x74824, 0xFFC, 1, 1 + +gAreaMetatiles_RoyalValley:: @ 0810282C + metatiles_bottom 0x7CAB8, 0x4000, 1 + metatiles_top 0x7DBEC, 0x3FF0, 1 + metatile_types_bottom 0x7E6F8, 0x1000, 1 + metatile_types_top 0x7EA4C, 0xFFC, 1, 1 + +gAreaMetatiles_Beanstalks:: @ 0810285C + metatiles_bottom 0x8B610, 0x5A8, 1 + metatile_types_bottom 0x8B930, 0x16A, 1, 1 + +gAreaMetatiles_CrenelCaves:: @ 08102874 + metatiles_bottom 0x93F04, 0x3F80, 1 + metatiles_top 0x95ED0, 0x3F40, 1 + metatile_types_bottom 0x9775C, 0xFE0, 1 + metatile_types_top 0x97D58, 0xFD0, 1, 1 + +gAreaMetatiles_GreatFairies:: @ 081028A4 + metatiles_bottom 0x9E2D0, 0x17A8, 1 + metatiles_top 0x9EF9C, 0x1070, 1 + metatile_types_bottom 0x9F4D0, 0x5EA, 1 + metatile_types_top 0x9F650, 0x41C, 1, 1 + +gAreaMetatiles_MinishVillage:: @ 081028D4 + metatiles_bottom 0xD9690, 0x35A8, 1 + metatiles_top 0xDB294, 0x3228, 1 + metatile_types_bottom 0xDC79C, 0xD6A, 1 + metatile_types_top 0xDCA88, 0xC8A, 1, 1 + +gAreaMetatiles_MelarisMine:: @ 08102904 + metatiles_bottom 0xE8D1C, 0x27C0, 1 + metatiles_top 0xEA3A0, 0x308, 1 + metatile_types_bottom 0xEA464, 0x9F0, 1 + metatile_types_top 0xEA684, 0xC2, 1, 1 + +gAreaMetatiles_MnishPaths1:: @ 08102934 + metatiles_bottom 0xEE698, 0x1420, 1 + metatile_types_bottom 0xEF330, 0x508, 1, 1 + +gAreaMetatiles_CrenelMinishPaths:: @ 0810294C + metatiles_bottom 0xF5734, 0x1EB8, 1 + metatile_types_bottom 0xF698C, 0x7AE, 1, 1 + +gAreaMetatiles_MinishHouseInteriors:: @ 08102964 + metatiles_bottom 0x93F04, 0x3F80, 1 + metatiles_top 0x95ED0, 0x3F40, 1 + metatile_types_bottom 0x9775C, 0xFE0, 1 + metatile_types_top 0x97D58, 0xFD0, 1, 1 + +gAreaMetatiles_HouseInteriors1:: @ 08102994 + metatiles_bottom 0xFCE7C, 0x3188, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0xFE120, 0xC62, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_HouseInteriors2:: @ 081029C4 + metatiles_bottom 0x102AB8, 0x33A0, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x103D54, 0xCE8, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_HouseInteriors4:: @ 081029F4 + metatiles_bottom 0x10823C, 0x33A0, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x109530, 0xCE8, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_HouseInteriors3:: @ 08102A24 + metatiles_bottom 0x10DAA8, 0x2F20, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x10E9F0, 0xBC8, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_TreeInteriors:: @ 08102A54 + metatiles_bottom 0x112BF0, 0x3000, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x113A88, 0xC00, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_Dojos:: @ 08102A84 + metatiles_bottom 0x11D198, 0x33A0, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x11E030, 0xCE8, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_MinishCracks:: @ 08102AB4 + metatiles_bottom 0x118044, 0x3180, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x118F94, 0xC60, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_ArmosInteriors:: @ 08102AE4 + metatiles_bottom 0xA4840, 0xC50, 1 + metatiles_top 0xA4FB4, 0xC50, 1 + metatile_types_bottom 0xA5728, 0x314, 1 + metatile_types_top 0xA5840, 0x314, 1, 1 + +gAreaMetatiles_MinishRafters:: @ 08102B14 + metatiles_bottom 0x120478, 0x1A30, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x1210C8, 0x68C, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_GoronCave:: @ 08102B44 + metatiles_bottom 0xAC444, 0x3F80, 1 + metatiles_top 0xADE48, 0x3400, 1 + metatile_types_bottom 0xAF650, 0xFE0, 1 + metatile_types_top 0xAFB8C, 0xD00, 1, 1 + +gAreaMetatiles_WindTribeTower:: @ 08102B74 + metatiles_bottom 0x125100, 0x2EB0, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x126040, 0xBAC, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_WindTribeTowerRoof:: @ 08102BA4 + metatiles_bottom 0x12AAB0, 0xBC0, 1 + metatiles_top 0x12B13C, 0xBC0, 1 + metatile_types_bottom 0x12B784, 0x2F0, 1 + metatile_types_top 0x12B840, 0x2F0, 1, 1 + +gAreaMetatiles_MinishCaves:: @ 08102BD4 + metatiles_bottom 0xB9118, 0x3F80, 1 + metatiles_top 0xBAF54, 0x3F80, 1 + metatile_types_bottom 0xBC0CC, 0xFE0, 1 + metatile_types_top 0xBC570, 0xFE0, 1, 1 + +gAreaMetatiles_CastleGardenMinishHoles:: @ 08102C04 + metatiles_bottom 0xBFB4C, 0x13A8, 1 + metatiles_top 0xC0570, 0x1680, 1 + metatile_types_bottom 0xC1030, 0x4EA, 1 + metatile_types_top 0xC11B8, 0x5A0, 1, 1 + +gAreaMetatiles_EzloCutscene:: @ 08102C34 + metatiles_bottom 0x12EEBC, 0x1A20, 1 + metatiles_top 0xF7AD8, 0x3FF0, 1 + metatile_types_bottom 0x12F564, 0x688, 1 + metatile_types_top 0xF8A5C, 0xFFC, 1, 1 + +gAreaMetatiles_HyruleTownUnderground:: @ 08102C64 + metatiles_bottom 0x1A51B8, 0x3E80, 1 + metatiles_top 0x1A7454, 0x3610, 1 + metatile_types_bottom 0x1A8B10, 0xFA0, 1 + metatile_types_top 0x1A9000, 0xD84, 1, 1 + +gAreaMetatiles_DeepwoodShrine:: @ 08102C94 + metatiles_bottom 0x1B20C4, 0x3B28, 1 + metatiles_top 0x1B4644, 0x3620, 1 + metatile_types_bottom 0x1B6044, 0xECA, 1 + metatile_types_top 0x1B64F8, 0xD88, 1, 1 + +gAreaMetatiles_DeepwoodShrineBoss:: @ 08102CC4 + metatiles_bottom 0x1B9E08, 0x3620, 1 + metatiles_top 0x1BAF34, 0x11F8, 1 + metatile_types_bottom 0x1BB24C, 0xD88, 1 + metatile_types_top 0x1BB4BC, 0x47E, 1, 1 + +gAreaMetatiles_DeepwoodShrineEntry:: @ 08102CF4 + metatiles_bottom 0x1BE520, 0xD08, 1 + metatiles_top 0x1BEB0C, 0x9F8, 1 + metatile_types_bottom 0x1BEF10, 0x342, 1 + metatile_types_top 0x1BEFC0, 0x27E, 1, 1 + +gAreaMetatiles_CaveOfFlames:: @ 08102D24 + metatiles_bottom 0x1CA0C8, 0x3B08, 1 + metatiles_top 0x1CBCF4, 0x3F28, 1 + metatile_types_bottom 0x1CD6F4, 0xEC2, 1 + metatile_types_top 0x1CDB88, 0xFCA, 1, 1 + +gAreaMetatiles_CaveOfFlamesBoss:: @ 08102D54 + metatiles_bottom 0x1D378C, 0x3B08, 1 + metatiles_top 0x1D4B14, 0x3610, 1 + metatile_types_bottom 0x1D5C70, 0xEC2, 1 + metatile_types_top 0x1D5EFC, 0xD84, 1, 1 + +gAreaMetatiles_FortressOfWinds:: @ 08102D84 + metatiles_bottom 0x1E163C, 0x3868, 1 + metatiles_top 0x1E3670, 0x3850, 1 + metatile_types_bottom 0x1E4E8C, 0xE1A, 1 + metatile_types_top 0x1E52DC, 0xE14, 1, 1 + +gAreaMetatiles_FortressOfWindsTop:: @ 08102DB4 + metatiles_bottom 0x1F06E4, 0x1440, 1 + metatiles_top 0x1F11AC, 0x1368, 1 + metatile_types_bottom 0x1F1740, 0x510, 1 + metatile_types_top 0x1F18D4, 0x4DA, 1, 1 + +gAreaMetatiles_InnerMazaal:: @ 08102DE4 + metatiles_bottom 0x1E9E38, 0x3C00, 1 + metatiles_top 0x1EABE0, 0x3E70, 1 + metatile_types_bottom 0x1EBAAC, 0xF00, 1 + metatile_types_top 0x1EBD60, 0xF9C, 1, 1 + +gAreaMetatiles_TempleOfDroplets:: @ 08102E14 + metatiles_bottom 0x1FC4F4, 0x3D68, 1 + metatiles_top 0x1FE6E0, 0x4000, 1 + metatile_types_bottom 0x200A9C, 0xF5A, 1 + metatile_types_top 0x200F70, 0x1000, 1, 1 + +gAreaMetatiles_61:: @ 08102E44 + metatiles_bottom 0x204BD4, 0x600, 1 + metatiles_top 0x20509C, 0x398, 1 + metatile_types_bottom 0x2051BC, 0x180, 1 + metatile_types_top 0x205254, 0xE6, 1, 1 + +gAreaMetatiles_RoyalCrypt:: @ 08102E74 + metatiles_bottom 0x212144, 0x3610, 1 + metatiles_top 0x213D34, 0x3610, 1 + metatile_types_bottom 0x215134, 0xD84, 1 + metatile_types_top 0x2155E0, 0xD84, 1, 1 + +gAreaMetatiles_PalaceOfWinds:: @ 08102EA4 + metatiles_bottom 0x21D230, 0x3620, 1 + metatiles_top 0x21EEA4, 0x3620, 1 + metatile_types_bottom 0x220788, 0xD88, 1 + metatile_types_top 0x220C54, 0xD88, 1, 1 + +gAreaMetatiles_PalaceOfWindsBoss:: @ 08102ED4 + metatiles_top 0x22360C, 0x108, 1 + metatile_types_top 0x223654, 0x42, 1, 1 + +gAreaMetatiles_Sanctuary:: @ 08102EEC + metatiles_bottom 0x2333A4, 0x3620, 1 + metatiles_top 0x2352AC, 0x3620, 1 + metatile_types_bottom 0x2363B0, 0xD88, 1 + metatile_types_top 0x236714, 0xD88, 1, 1 + +gAreaMetatiles_HyruleCastle:: @ 08102F1C + metatiles_bottom 0x23D1B0, 0x37C0, 1 + metatiles_top 0x23EF24, 0x3610, 1 + metatile_types_bottom 0x2403CC, 0xDF0, 1 + metatile_types_top 0x2407F8, 0xD84, 1, 1 + +gAreaMetatiles_SanctuaryEntrance:: @ 08102F4C + metatiles_bottom 0x2460E4, 0x1478, 1 + metatiles_top 0x246C38, 0xFF0, 1 + metatile_types_bottom 0x246FB8, 0x51E, 1 + metatile_types_top 0x247128, 0x3FC, 1, 1 + +gAreaMetatiles_DarkHyruleCastle:: @ 08102F7C + metatiles_bottom 0x24D8CC, 0x3FD8, 1 + metatiles_top 0x25060C, 0x37C0, 1 + metatile_types_bottom 0x252480, 0xFF6, 1 + metatile_types_top 0x252A08, 0xDF0, 1, 1 + +gAreaMetatiles_DarkHyruleCastleOutside:: @ 08102FAC + metatiles_bottom 0x273E74, 0x3340, 1 + metatiles_top 0x275398, 0x1EF0, 1 + metatile_types_bottom 0x275FD4, 0xCD0, 1 + metatile_types_top 0x2762B0, 0x7BC, 1, 1 + +gAreaMetatiles_DarkHyruleCastleBridge:: @ 08102FDC + metatiles_bottom 0x256614, 0x3610, 1 + metatiles_top 0x2573F4, 0x3610, 1 + metatile_types_bottom 0x257D04, 0xD84, 1 + metatile_types_top 0x257F78, 0xD84, 1, 1 + +gAreaMetatiles_VaatisArms:: @ 0810300C + metatiles_bottom 0x263CFC, 0x17C8, 1 + metatiles_top 0x2649C4, 0xBC0, 1 + metatile_types_bottom 0x264D48, 0x5F2, 1 + metatile_types_top 0x264E4C, 0x2F0, 1, 1 + +gAreaMetatiles_Vaati3:: @ 0810303C + metatiles_bottom 0x25C6BC, 0xE80, 1 + metatiles_top 0x25CD74, 0x9B8, 1 + metatile_types_bottom 0x25CF50, 0x3A0, 1 + metatile_types_top 0x25D024, 0x26E, 1, 1 + +gAreaMetatiles_Vaati2:: @ 0810306C + metatiles_bottom 0x2607F0, 0x850, 1 + metatiles_top 0x260C1C, 0x298, 1 + metatile_types_bottom 0x260CBC, 0x214, 1 + metatile_types_top 0x260D38, 0xA6, 1, 1 + +gAreaMetatiles:: @ 0810309C + .4byte gAreaMetatiles_MinishWoods @ 0x0 + .4byte gAreaMetatiles_MinishVillage @ 0x1 + .4byte gAreaMetatiles_HyruleTown @ 0x2 + .4byte gAreaMetatiles_HyruleField @ 0x3 + .4byte gAreaMetatiles_CastorWilds @ 0x4 + .4byte gAreaMetatiles_CastorWilds @ 0x5 + .4byte gAreaMetatiles_MtCrenel @ 0x6 + .4byte gAreaMetatiles_CastleGarden @ 0x7 + .4byte gAreaMetatiles_CloudTops @ 0x8 + .4byte gAreaMetatiles_RoyalValley @ 0x9 + .4byte gAreaMetatiles_MtCrenel @ 0xA + .4byte gAreaMetatiles_LakeHylia @ 0xB + .4byte gAreaMetatiles_MinishWoods @ 0xC + .4byte gAreaMetatiles_Beanstalks @ 0xD + .4byte gAreaMetatiles_MinishWoods @ 0xE + .4byte gAreaMetatiles_HyruleTown @ 0xF + .4byte gAreaMetatiles_MelarisMine @ 0x10 + .4byte gAreaMetatiles_MnishPaths1 @ 0x11 + .4byte gAreaMetatiles_CrenelMinishPaths @ 0x12 + .4byte gAreaMetatiles_HyruleField @ 0x13 + .4byte gAreaMetatiles_MtCrenel @ 0x14 + .4byte gAreaMetatiles_HyruleTown @ 0x15 + .4byte gAreaMetatiles_MtCrenel @ 0x16 + .4byte gAreaMetatiles_CastorWilds @ 0x17 + .4byte gAreaMetatiles_CastorWilds @ 0x18 + .4byte gAreaMetatiles_LakeHylia @ 0x19 + .4byte gAreaMetatiles_MtCrenel @ 0x1A + .4byte gAreaMetatiles_Unused @ 0x1B + .4byte gAreaMetatiles_Unused @ 0x1C + .4byte gAreaMetatiles_HyruleField @ 0x1D + .4byte gAreaMetatiles_MinishWoods @ 0x1E + .4byte gAreaMetatiles_HyruleField @ 0x1F + .4byte gAreaMetatiles_MinishHouseInteriors @ 0x20 + .4byte gAreaMetatiles_HouseInteriors1 @ 0x21 + .4byte gAreaMetatiles_HouseInteriors2 @ 0x22 + .4byte gAreaMetatiles_HouseInteriors3 @ 0x23 + .4byte gAreaMetatiles_TreeInteriors @ 0x24 + .4byte gAreaMetatiles_Dojos @ 0x25 + .4byte gAreaMetatiles_CrenelCaves @ 0x26 + .4byte gAreaMetatiles_MinishCracks @ 0x27 + .4byte gAreaMetatiles_HouseInteriors4 @ 0x28 + .4byte gAreaMetatiles_GreatFairies @ 0x29 + .4byte gAreaMetatiles_CrenelCaves @ 0x2A + .4byte gAreaMetatiles_FortressOfWinds @ 0x2B + .4byte gAreaMetatiles_ArmosInteriors @ 0x2C + .4byte gAreaMetatiles_MinishHouseInteriors @ 0x2D + .4byte gAreaMetatiles_MinishRafters @ 0x2E + .4byte gAreaMetatiles_GoronCave @ 0x2F + .4byte gAreaMetatiles_WindTribeTower @ 0x30 + .4byte gAreaMetatiles_WindTribeTowerRoof @ 0x31 + .4byte gAreaMetatiles_CrenelCaves @ 0x32 + .4byte gAreaMetatiles_CrenelCaves @ 0x33 + .4byte gAreaMetatiles_CrenelCaves @ 0x34 + .4byte gAreaMetatiles_MinishCaves @ 0x35 + .4byte gAreaMetatiles_CastleGardenMinishHoles @ 0x36 + .4byte gAreaMetatiles_CastleGardenMinishHoles @ 0x37 + .4byte gAreaMetatiles_EzloCutscene @ 0x38 + .4byte gAreaMetatiles_Unused @ 0x39 + .4byte gAreaMetatiles_Unused @ 0x3A + .4byte gAreaMetatiles_Unused @ 0x3B + .4byte gAreaMetatiles_Unused @ 0x3C + .4byte gAreaMetatiles_Unused @ 0x3D + .4byte gAreaMetatiles_Unused @ 0x3E + .4byte gAreaMetatiles_Unused @ 0x3F + .4byte gAreaMetatiles_HyruleTownUnderground @ 0x40 + .4byte gAreaMetatiles_HyruleTownUnderground @ 0x41 + .4byte gAreaMetatiles_HyruleTownUnderground @ 0x42 + .4byte gAreaMetatiles_HyruleTownUnderground @ 0x43 + .4byte gAreaMetatiles_HyruleTownUnderground @ 0x44 + .4byte gAreaMetatiles_CrenelCaves @ 0x45 + .4byte gAreaMetatiles_CrenelCaves @ 0x46 + .4byte gAreaMetatiles_CrenelCaves @ 0x47 + .4byte gAreaMetatiles_DeepwoodShrine @ 0x48 + .4byte gAreaMetatiles_DeepwoodShrineBoss @ 0x49 + .4byte gAreaMetatiles_DeepwoodShrineEntry @ 0x4A + .4byte gAreaMetatiles_Unused @ 0x4B + .4byte gAreaMetatiles_Unused @ 0x4C + .4byte gAreaMetatiles_DeepwoodShrine @ 0x4D + .4byte gAreaMetatiles_DeepwoodShrine @ 0x4E + .4byte gAreaMetatiles_DeepwoodShrineBoss @ 0x4F + .4byte gAreaMetatiles_CaveOfFlames @ 0x50 + .4byte gAreaMetatiles_CaveOfFlamesBoss @ 0x51 + .4byte gAreaMetatiles_Unused @ 0x52 + .4byte gAreaMetatiles_Unused @ 0x53 + .4byte gAreaMetatiles_Unused @ 0x54 + .4byte gAreaMetatiles_Unused @ 0x55 + .4byte gAreaMetatiles_CaveOfFlames @ 0x56 + .4byte gAreaMetatiles_CaveOfFlames @ 0x57 + .4byte gAreaMetatiles_FortressOfWinds @ 0x58 + .4byte gAreaMetatiles_FortressOfWindsTop @ 0x59 + .4byte gAreaMetatiles_InnerMazaal @ 0x5A + .4byte gAreaMetatiles_Unused @ 0x5B + .4byte gAreaMetatiles_Unused @ 0x5C + .4byte gAreaMetatiles_Unused @ 0x5D + .4byte gAreaMetatiles_Unused @ 0x5E + .4byte gAreaMetatiles_FortressOfWinds @ 0x5F + .4byte gAreaMetatiles_TempleOfDroplets @ 0x60 + .4byte gAreaMetatiles_61 @ 0x61 + .4byte gAreaMetatiles_TempleOfDroplets @ 0x62 + .4byte gAreaMetatiles_Unused @ 0x63 + .4byte gAreaMetatiles_Unused @ 0x64 + .4byte gAreaMetatiles_Unused @ 0x65 + .4byte gAreaMetatiles_Unused @ 0x66 + .4byte gAreaMetatiles_TempleOfDroplets @ 0x67 + .4byte gAreaMetatiles_RoyalCrypt @ 0x68 + .4byte gAreaMetatiles_Unused @ 0x69 + .4byte gAreaMetatiles_Unused @ 0x6A + .4byte gAreaMetatiles_Unused @ 0x6B + .4byte gAreaMetatiles_Unused @ 0x6C + .4byte gAreaMetatiles_Unused @ 0x6D + .4byte gAreaMetatiles_Unused @ 0x6E + .4byte gAreaMetatiles_RoyalCrypt @ 0x6F + .4byte gAreaMetatiles_PalaceOfWinds @ 0x70 + .4byte gAreaMetatiles_PalaceOfWindsBoss @ 0x71 + .4byte gAreaMetatiles_Unused @ 0x72 + .4byte gAreaMetatiles_Unused @ 0x73 + .4byte gAreaMetatiles_Unused @ 0x74 + .4byte gAreaMetatiles_Unused @ 0x75 + .4byte gAreaMetatiles_Unused @ 0x76 + .4byte gAreaMetatiles_PalaceOfWinds @ 0x77 + .4byte gAreaMetatiles_Sanctuary @ 0x78 + .4byte gAreaMetatiles_Unused @ 0x79 + .4byte gAreaMetatiles_Unused @ 0x7A + .4byte gAreaMetatiles_Unused @ 0x7B + .4byte gAreaMetatiles_Unused @ 0x7C + .4byte gAreaMetatiles_Unused @ 0x7D + .4byte gAreaMetatiles_Unused @ 0x7E + .4byte gAreaMetatiles_Sanctuary @ 0x7F + .4byte gAreaMetatiles_HyruleCastle @ 0x80 + .4byte gAreaMetatiles_SanctuaryEntrance @ 0x81 + .4byte gAreaMetatiles_Unused @ 0x82 + .4byte gAreaMetatiles_Unused @ 0x83 + .4byte gAreaMetatiles_Unused @ 0x84 + .4byte gAreaMetatiles_Unused @ 0x85 + .4byte gAreaMetatiles_Unused @ 0x86 + .4byte gAreaMetatiles_HyruleCastle @ 0x87 + .4byte gAreaMetatiles_DarkHyruleCastle @ 0x88 + .4byte gAreaMetatiles_DarkHyruleCastleOutside @ 0x89 + .4byte gAreaMetatiles_VaatisArms @ 0x8A + .4byte gAreaMetatiles_Vaati3 @ 0x8B + .4byte gAreaMetatiles_Vaati2 @ 0x8C + .4byte gAreaMetatiles_DarkHyruleCastleBridge @ 0x8D + .4byte gAreaMetatiles_Unused @ 0x8E + .4byte gAreaMetatiles_DarkHyruleCastle @ 0x8F diff --git a/data/tileset_headers.s b/data/tileset_headers.s index 8c2d9100..b28028c6 100755 --- a/data/tileset_headers.s +++ b/data/tileset_headers.s @@ -5,6 +5,7 @@ .align 2 gAreaTileset_Unused_0:: @ 08100CE4 +gAreaMetatiles_Unused:: tileset_palette_set 0, 1 gAreaTilesets_Unused:: @ 08100CF0 @@ -795,7 +796,7 @@ gAreaTileset_CastorDarknut_0:: @ 08101FA8 tileset_tiles 0x1DF4B4, 0x6008000, 0x4000, 1 tileset_palette_set 37, 1 -gAreaTilesets_CastorDarknut:: @ 08101FD8 +gAreaTilesets_FortressOfWinds:: @ 08101FD8 .4byte gAreaTileset_CastorDarknut_0 gAreaTileset_FortressOfWindsTop_0:: @ 08101FDC @@ -999,147 +1000,147 @@ gAreaTilesets_RoyalValleyGraves:: @ 08102468 .4byte gAreaTileset_RoyalValleyGraves_0 gAreaTilesets:: @ 0810246C - .4byte gAreaTilesets_MinishWoods - .4byte gAreaTilesets_MinishVillage - .4byte gAreaTilesets_HyruleTown - .4byte gAreaTilesets_HyruleField - .4byte gAreaTilesets_CastorWilds - .4byte gAreaTilesets_Ruins - .4byte gAreaTilesets_MtCrenel - .4byte gAreaTilesets_CastleGarden - .4byte gAreaTilesets_CloudTops - .4byte gAreaTilesets_RoyalValley - .4byte gAreaTilesets_VeilFalls - .4byte gAreaTilesets_LakeHylia - .4byte gAreaTilesets_LakeWoodsCave - .4byte gAreaTilesets_Beanstalks - .4byte gAreaTilesets_MinishWoods - .4byte gAreaTilesets_HyruleDigCaves - .4byte gAreaTilesets_MelarisMine - .4byte gAreaTilesets_MinishPaths1 - .4byte gAreaTilesets_CrenelMinishPaths - .4byte gAreaTilesets_DigCaves1 - .4byte gAreaTilesets_CrenelDigCave - .4byte gAreaTilesets_FestivalTown - .4byte gAreaTilesets_VeilFallsDigCave - .4byte gAreaTilesets_CastorWildsDigCave - .4byte gAreaTilesets_OuterFortressOfWinds - .4byte gAreaTilesets_HyliaDigCaves - .4byte gAreaTilesets_VeilFallsTop - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_MinishHouseInteriors - .4byte gAreaTilesets_HouseInteriors1 - .4byte gAreaTilesets_HouseInteriors2 - .4byte gAreaTilesets_HouseInteriors3 - .4byte gAreaTilesets_TreeInteriors - .4byte gAreaTilesets_Dojos - .4byte gAreaTilesets_CrenelCaves - .4byte gAreaTilesets_MinishCracks - .4byte gAreaTilesets_HouseInteriors4 - .4byte gAreaTilesets_GreatFairies - .4byte gAreaTilesets_CastorCaves - .4byte gAreaTilesets_CastorDarknut - .4byte gAreaTilesets_ArmosInteriors - .4byte gAreaTilesets_TownMinishHoles - .4byte gAreaTilesets_MinishRafters - .4byte gAreaTilesets_GoronCave - .4byte gAreaTilesets_WindTribeTower - .4byte gAreaTilesets_WindTribeTowerRoof - .4byte gAreaTilesets_Caves - .4byte gAreaTilesets_VeilFallsCaves - .4byte gAreaTilesets_RoyalValleyGraves - .4byte gAreaTilesets_MinishCaves - .4byte gAreaTilesets_CastleGardenMinishHoles - .4byte gAreaTilesets_37 - .4byte gAreaTilesets_EzloCutscene - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_40 - .4byte gAreaTilesets_HyruleTownUnderground - .4byte gAreaTilesets_40 - .4byte gAreaTilesets_40 - .4byte gAreaTilesets_SimonsSimulation - .4byte gAreaTilesets_45 - .4byte gAreaTilesets_45 - .4byte gAreaTilesets_45 - .4byte gAreaTilesets_DeepwoodShrine - .4byte gAreaTilesets_DeepwoodShrineBoss - .4byte gAreaTilesets_DeepwoodShrineEntry - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_DeepwoodShrine - .4byte gAreaTilesets_DeepwoodShrine - .4byte gAreaTilesets_DeepwoodShrineBoss - .4byte gAreaTilesets_CaveOfFlames - .4byte gAreaTilesets_CaveOfFlamesBoss - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_CaveOfFlames - .4byte gAreaTilesets_CaveOfFlames - .4byte gAreaTilesets_CastorDarknut - .4byte gAreaTilesets_FortressOfWindsTop - .4byte gAreaTilesets_InnerMazaal - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_CastorDarknut - .4byte gAreaTilesets_TempleOfDroplets - .4byte gAreaTilesets_61 - .4byte gAreaTilesets_HyruleTownMinishCaves - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_TempleOfDroplets - .4byte gAreaTilesets_RoyalCrypt - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_RoyalCrypt - .4byte gAreaTilesets_PalaceOfWinds - .4byte gAreaTilesets_PalaceOfWindsBoss - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_PalaceOfWinds - .4byte gAreaTilesets_Sanctuary - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Sanctuary - .4byte gAreaTilesets_HyruleCastle - .4byte gAreaTilesets_SanctuaryEntrance - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_HyruleCastle - .4byte gAreaTilesets_DarkHyruleCastle - .4byte gAreaTilesets_DarkHyruleCastleOutside - .4byte gAreaTilesets_VaatisArms - .4byte gAreaTilesets_Vaati3 - .4byte gAreaTilesets_Vaati2 - .4byte gAreaTilesets_DarkHyruleCastleBridge - .4byte gAreaTilesets_Unused - .4byte gAreaTilesets_DarkHyruleCastle + .4byte gAreaTilesets_MinishWoods @ 0x0 + .4byte gAreaTilesets_MinishVillage @ 0x1 + .4byte gAreaTilesets_HyruleTown @ 0x2 + .4byte gAreaTilesets_HyruleField @ 0x3 + .4byte gAreaTilesets_CastorWilds @ 0x4 + .4byte gAreaTilesets_Ruins @ 0x5 + .4byte gAreaTilesets_MtCrenel @ 0x6 + .4byte gAreaTilesets_CastleGarden @ 0x7 + .4byte gAreaTilesets_CloudTops @ 0x8 + .4byte gAreaTilesets_RoyalValley @ 0x9 + .4byte gAreaTilesets_VeilFalls @ 0xA + .4byte gAreaTilesets_LakeHylia @ 0xB + .4byte gAreaTilesets_LakeWoodsCave @ 0xC + .4byte gAreaTilesets_Beanstalks @ 0xD + .4byte gAreaTilesets_MinishWoods @ 0xE + .4byte gAreaTilesets_HyruleDigCaves @ 0xF + .4byte gAreaTilesets_MelarisMine @ 0x10 + .4byte gAreaTilesets_MinishPaths1 @ 0x11 + .4byte gAreaTilesets_CrenelMinishPaths @ 0x12 + .4byte gAreaTilesets_DigCaves1 @ 0x13 + .4byte gAreaTilesets_CrenelDigCave @ 0x14 + .4byte gAreaTilesets_FestivalTown @ 0x15 + .4byte gAreaTilesets_VeilFallsDigCave @ 0x16 + .4byte gAreaTilesets_CastorWildsDigCave @ 0x17 + .4byte gAreaTilesets_OuterFortressOfWinds @ 0x18 + .4byte gAreaTilesets_HyliaDigCaves @ 0x19 + .4byte gAreaTilesets_VeilFallsTop @ 0x1A + .4byte gAreaTilesets_Unused @ 0x1B + .4byte gAreaTilesets_Unused @ 0x1C + .4byte gAreaTilesets_Unused @ 0x1D + .4byte gAreaTilesets_Unused @ 0x1E + .4byte gAreaTilesets_Unused @ 0x1F + .4byte gAreaTilesets_MinishHouseInteriors @ 0x20 + .4byte gAreaTilesets_HouseInteriors1 @ 0x21 + .4byte gAreaTilesets_HouseInteriors2 @ 0x22 + .4byte gAreaTilesets_HouseInteriors3 @ 0x23 + .4byte gAreaTilesets_TreeInteriors @ 0x24 + .4byte gAreaTilesets_Dojos @ 0x25 + .4byte gAreaTilesets_CrenelCaves @ 0x26 + .4byte gAreaTilesets_MinishCracks @ 0x27 + .4byte gAreaTilesets_HouseInteriors4 @ 0x28 + .4byte gAreaTilesets_GreatFairies @ 0x29 + .4byte gAreaTilesets_CastorCaves @ 0x2A + .4byte gAreaTilesets_FortressOfWinds @ 0x2B + .4byte gAreaTilesets_ArmosInteriors @ 0x2C + .4byte gAreaTilesets_TownMinishHoles @ 0x2D + .4byte gAreaTilesets_MinishRafters @ 0x2E + .4byte gAreaTilesets_GoronCave @ 0x2F + .4byte gAreaTilesets_WindTribeTower @ 0x30 + .4byte gAreaTilesets_WindTribeTowerRoof @ 0x31 + .4byte gAreaTilesets_Caves @ 0x32 + .4byte gAreaTilesets_VeilFallsCaves @ 0x33 + .4byte gAreaTilesets_RoyalValleyGraves @ 0x34 + .4byte gAreaTilesets_MinishCaves @ 0x35 + .4byte gAreaTilesets_CastleGardenMinishHoles @ 0x36 + .4byte gAreaTilesets_37 @ 0x37 + .4byte gAreaTilesets_EzloCutscene @ 0x38 + .4byte gAreaTilesets_Unused @ 0x39 + .4byte gAreaTilesets_Unused @ 0x3A + .4byte gAreaTilesets_Unused @ 0x3B + .4byte gAreaTilesets_Unused @ 0x3C + .4byte gAreaTilesets_Unused @ 0x3D + .4byte gAreaTilesets_Unused @ 0x3E + .4byte gAreaTilesets_Unused @ 0x3F + .4byte gAreaTilesets_40 @ 0x40 + .4byte gAreaTilesets_HyruleTownUnderground @ 0x41 + .4byte gAreaTilesets_40 @ 0x42 + .4byte gAreaTilesets_40 @ 0x43 + .4byte gAreaTilesets_SimonsSimulation @ 0x44 + .4byte gAreaTilesets_45 @ 0x45 + .4byte gAreaTilesets_45 @ 0x46 + .4byte gAreaTilesets_45 @ 0x47 + .4byte gAreaTilesets_DeepwoodShrine @ 0x48 + .4byte gAreaTilesets_DeepwoodShrineBoss @ 0x49 + .4byte gAreaTilesets_DeepwoodShrineEntry @ 0x4A + .4byte gAreaTilesets_Unused @ 0x4B + .4byte gAreaTilesets_Unused @ 0x4C + .4byte gAreaTilesets_DeepwoodShrine @ 0x4D + .4byte gAreaTilesets_DeepwoodShrine @ 0x4E + .4byte gAreaTilesets_DeepwoodShrineBoss @ 0x4F + .4byte gAreaTilesets_CaveOfFlames @ 0x50 + .4byte gAreaTilesets_CaveOfFlamesBoss @ 0x51 + .4byte gAreaTilesets_Unused @ 0x52 + .4byte gAreaTilesets_Unused @ 0x53 + .4byte gAreaTilesets_Unused @ 0x54 + .4byte gAreaTilesets_Unused @ 0x55 + .4byte gAreaTilesets_CaveOfFlames @ 0x56 + .4byte gAreaTilesets_CaveOfFlames @ 0x57 + .4byte gAreaTilesets_FortressOfWinds @ 0x58 + .4byte gAreaTilesets_FortressOfWindsTop @ 0x59 + .4byte gAreaTilesets_InnerMazaal @ 0x5A + .4byte gAreaTilesets_Unused @ 0x5B + .4byte gAreaTilesets_Unused @ 0x5C + .4byte gAreaTilesets_Unused @ 0x5D + .4byte gAreaTilesets_Unused @ 0x5E + .4byte gAreaTilesets_FortressOfWinds @ 0x5F + .4byte gAreaTilesets_TempleOfDroplets @ 0x60 + .4byte gAreaTilesets_61 @ 0x61 + .4byte gAreaTilesets_HyruleTownMinishCaves @ 0x62 + .4byte gAreaTilesets_Unused @ 0x63 + .4byte gAreaTilesets_Unused @ 0x64 + .4byte gAreaTilesets_Unused @ 0x65 + .4byte gAreaTilesets_Unused @ 0x66 + .4byte gAreaTilesets_TempleOfDroplets @ 0x67 + .4byte gAreaTilesets_RoyalCrypt @ 0x68 + .4byte gAreaTilesets_Unused @ 0x69 + .4byte gAreaTilesets_Unused @ 0x6A + .4byte gAreaTilesets_Unused @ 0x6B + .4byte gAreaTilesets_Unused @ 0x6C + .4byte gAreaTilesets_Unused @ 0x6D + .4byte gAreaTilesets_Unused @ 0x6E + .4byte gAreaTilesets_RoyalCrypt @ 0x6F + .4byte gAreaTilesets_PalaceOfWinds @ 0x70 + .4byte gAreaTilesets_PalaceOfWindsBoss @ 0x71 + .4byte gAreaTilesets_Unused @ 0x72 + .4byte gAreaTilesets_Unused @ 0x73 + .4byte gAreaTilesets_Unused @ 0x74 + .4byte gAreaTilesets_Unused @ 0x75 + .4byte gAreaTilesets_Unused @ 0x76 + .4byte gAreaTilesets_PalaceOfWinds @ 0x77 + .4byte gAreaTilesets_Sanctuary @ 0x78 + .4byte gAreaTilesets_Unused @ 0x79 + .4byte gAreaTilesets_Unused @ 0x7A + .4byte gAreaTilesets_Unused @ 0x7B + .4byte gAreaTilesets_Unused @ 0x7C + .4byte gAreaTilesets_Unused @ 0x7D + .4byte gAreaTilesets_Unused @ 0x7E + .4byte gAreaTilesets_Sanctuary @ 0x7F + .4byte gAreaTilesets_HyruleCastle @ 0x80 + .4byte gAreaTilesets_SanctuaryEntrance @ 0x81 + .4byte gAreaTilesets_Unused @ 0x82 + .4byte gAreaTilesets_Unused @ 0x83 + .4byte gAreaTilesets_Unused @ 0x84 + .4byte gAreaTilesets_Unused @ 0x85 + .4byte gAreaTilesets_Unused @ 0x86 + .4byte gAreaTilesets_HyruleCastle @ 0x87 + .4byte gAreaTilesets_DarkHyruleCastle @ 0x88 + .4byte gAreaTilesets_DarkHyruleCastleOutside @ 0x89 + .4byte gAreaTilesets_VaatisArms @ 0x8A + .4byte gAreaTilesets_Vaati3 @ 0x8B + .4byte gAreaTilesets_Vaati2 @ 0x8C + .4byte gAreaTilesets_DarkHyruleCastleBridge @ 0x8D + .4byte gAreaTilesets_Unused @ 0x8E + .4byte gAreaTilesets_DarkHyruleCastle @ 0x8F diff --git a/linker.ld b/linker.ld index 4bb21a9c..fb2a2fa7 100644 --- a/linker.ld +++ b/linker.ld @@ -918,7 +918,8 @@ SECTIONS { src/mainLoop.o(.rodata); data/data_08100CD4.o(.rodata); data/tileset_headers.o(.rodata); - data/data_081026AC.o(.rodata); + data/metatile_headers.o(.rodata); + data/data_081032DC.o(.rodata); src/manager/managerB.o(.rodata); data/data_0810821C.o(.rodata); src/item.o(.rodata); From 02eaaf938ecec28b8445d7c105ddc321b37d23e3 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Wed, 26 Aug 2020 13:56:00 +0200 Subject: [PATCH 019/105] lol --- src/createObject.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/createObject.c b/src/createObject.c index d58c995a..9397169b 100644 --- a/src/createObject.c +++ b/src/createObject.c @@ -31,9 +31,8 @@ Entity* CreateObjectWithParent(Entity* parentEnt, u32 subtype, u32 form, u32 par return ent; } -Entity* CreateFx(Entity* parentEnt, u32 param1, u32 param2) { - asm("nop"); - CreateObjectWithParent(parentEnt, 0, 0x60, 0); +Entity* CreateFx(Entity* parentEnt, u32 form, u32 parameter) { + CreateObjectWithParent(parentEnt, 0xf, form, parameter); } void CreateDust(Entity* parent) { From 264cce346a5c88011e9cec71c68ae1ee2323f41d Mon Sep 17 00:00:00 2001 From: Behemoth Date: Wed, 26 Aug 2020 14:01:39 +0200 Subject: [PATCH 020/105] decompile _DmaCopy --- asm/chooseFile.s | 8 ++--- asm/code_08018500.s | 2 +- asm/code_08019444.s | 4 +-- asm/code_0801CEC0.s | 2 +- asm/code_0801D79C.s | 4 +-- asm/code_0804AA84.s | 2 +- asm/code_0804AEB0.s | 2 +- asm/code_0804B058.s | 4 +-- asm/code_080526F8.s | 8 ++--- asm/code_08055FF4.s | 2 +- asm/code_08056418.s | 2 +- asm/code_0805EC04.s | 6 ++-- asm/code_0807B9B8.s | 42 +++++++++++------------ asm/code_0807CC3C.s | 6 ++-- asm/code_080A3BD0.s | 8 ++--- asm/code_080A5574.s | 34 +++++++++---------- asm/dust.s | 2 +- asm/gyorgFemale.s | 2 +- asm/manager10.s | 2 +- asm/manager39.s | 2 +- asm/managerC.s | 2 +- asm/non_matching/sub_08054524.inc | 2 +- asm/object6A.s | 2 +- asm/sub_0801D66C.s | 56 ------------------------------- asm/sub_08052418.s | 2 +- asm/sub_0807CA18.s | 2 +- linker.ld | 1 - src/chooseFile.c | 10 +++--- src/code_0805436C.c | 2 +- src/dma.c | 26 +++++++++++--- src/entity.c | 6 ++-- src/mainLoop.c | 6 ++-- 32 files changed, 110 insertions(+), 151 deletions(-) delete mode 100644 asm/sub_0801D66C.s diff --git a/asm/chooseFile.s b/asm/chooseFile.s index 1108ccd0..9705194d 100755 --- a/asm/chooseFile.s +++ b/asm/chooseFile.s @@ -1204,7 +1204,7 @@ sub_08051458: @ 0x08051458 ldr r1, _0805147C @ =gUnk_02022030 movs r2, #0x80 lsls r2, r2, #3 - bl sub_0801D66C + bl _DmaCopy pop {pc} .align 2, 0 _08051474: .4byte gMenu @@ -1364,7 +1364,7 @@ sub_08051574: @ 0x08051574 muls r1, r2, r1 adds r3, #0xc adds r1, r1, r3 - bl sub_0801D66C + bl _DmaCopy bl sub_0805070C pop {pc} .align 2, 0 @@ -1742,7 +1742,7 @@ sub_08051874: @ 0x08051874 adds r3, r4, #0 adds r3, #0xc adds r1, r1, r3 - bl sub_0801D66C + bl _DmaCopy movs r0, #0 bl sub_080503BC b _080518DE @@ -1895,7 +1895,7 @@ sub_080519B0: @ 0x080519B0 adds r1, r4, #0 adds r1, #0xc movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy movs r0, #4 strb r0, [r4, #9] bl sub_08053518 diff --git a/asm/code_08018500.s b/asm/code_08018500.s index bd53d8fc..e4aa9e2d 100644 --- a/asm/code_08018500.s +++ b/asm/code_08018500.s @@ -884,7 +884,7 @@ sub_08018BB4: @ 0x08018BB4 mov r5, sp mov r1, sp movs r2, #8 - bl sub_0801D66C + bl _DmaCopy lsls r0, r4, #2 adds r0, r0, r4 lsls r0, r0, #2 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index 4a7713fe..d8877c00 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -495,7 +495,7 @@ _08019810: _0801981A: adds r0, r1, #0 adds r1, r3, #0 - bl sub_0801D66C + bl _DmaCopy b _0801982E _08019824: ldrh r0, [r4] @@ -3815,7 +3815,7 @@ _0801B114: adds r1, r3, r0 lsls r2, r2, #5 adds r0, r5, #0 - bl sub_0801D66C + bl _DmaCopy _0801B122: ldr r0, [r4] cmp r0, #0 diff --git a/asm/code_0801CEC0.s b/asm/code_0801CEC0.s index c2eda998..c9434b01 100644 --- a/asm/code_0801CEC0.s +++ b/asm/code_0801CEC0.s @@ -730,7 +730,7 @@ _0801D4C8: adds r1, r7, #0 movs r2, #0x20 str r3, [sp] - bl sub_0801D66C + bl _DmaCopy adds r6, #0x20 adds r4, #4 adds r7, #0x20 diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 05616bc7..346a65e9 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -2142,11 +2142,11 @@ _0801E86C: adds r0, r6, #0 adds r1, r7, #0 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 mov r1, sb adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy _0801E890: movs r3, #1 add sb, r3 diff --git a/asm/code_0804AA84.s b/asm/code_0804AA84.s index 00e8af4f..5ea286c8 100644 --- a/asm/code_0804AA84.s +++ b/asm/code_0804AA84.s @@ -45,7 +45,7 @@ _0804ABA4: lsls r2, r2, #2 adds r1, r0, r2 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldr r2, _0804AC14 @ =gUsedPalettes ldr r0, [r2] movs r1, #0x80 diff --git a/asm/code_0804AEB0.s b/asm/code_0804AEB0.s index b1a43ecc..a83e3f1b 100644 --- a/asm/code_0804AEB0.s +++ b/asm/code_0804AEB0.s @@ -50,7 +50,7 @@ _0804AEF6: _0804AF00: adds r0, r6, #0 movs r2, #0x10 - bl sub_0801D66C + bl _DmaCopy pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/code_0804B058.s b/asm/code_0804B058.s index 3557f857..93fc9bca 100644 --- a/asm/code_0804B058.s +++ b/asm/code_0804B058.s @@ -173,7 +173,7 @@ sub_0804B260: @ 0x0804B260 adds r0, r0, r1 ldr r1, _0804B278 @ =gUnk_02034398 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy pop {pc} .align 2, 0 _0804B274: .4byte gUnk_080015BC @@ -211,7 +211,7 @@ _0804B2A4: adds r0, r2, #0 adds r1, r4, #0 movs r2, #8 - bl sub_0801D66C + bl _DmaCopy ldrb r1, [r4, #6] movs r0, #1 ands r0, r1 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index bb4bcbcc..4b1152ae 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -161,7 +161,7 @@ sub_080527FC: @ 0x080527FC ldr r1, _08052834 @ =gPaletteBuffer movs r2, #0x80 lsls r2, r2, #3 - bl sub_0801D66C + bl _DmaCopy ldr r1, _08052838 @ =gUsedPalettes movs r0, #1 rsbs r0, r0, #0 @@ -1258,7 +1258,7 @@ sub_080530B0: @ 0x080530B0 ldr r0, _080530C0 @ =gUnk_080FCAF8 ldr r1, _080530C4 @ =gUnk_030010EC movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy pop {pc} .align 2, 0 _080530C0: .4byte gUnk_080FCAF8 @@ -1431,7 +1431,7 @@ sub_080531F8: @ 0x080531F8 ldr r1, _08053248 @ =gUnk_02002AC8 adds r0, r5, #0 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy bl CheckIsDungeon cmp r0, #0 beq _08053238 @@ -1483,7 +1483,7 @@ sub_08053250: @ 0x08053250 adds r0, #0xc ldr r1, _08053298 @ =gUnk_02002AC8 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy pop {r4, pc} .align 2, 0 _0805328C: .4byte gScreenTransition diff --git a/asm/code_08055FF4.s b/asm/code_08055FF4.s index 0ce62bc1..0effa9a0 100644 --- a/asm/code_08055FF4.s +++ b/asm/code_08055FF4.s @@ -32,7 +32,7 @@ _080560E4: lsls r4, r4, #0x12 adds r1, r4, #0 movs r2, #0x10 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 bl sub_0807CF10 _080560F8: diff --git a/asm/code_08056418.s b/asm/code_08056418.s index 6120eabb..e2519ccd 100644 --- a/asm/code_08056418.s +++ b/asm/code_08056418.s @@ -102,7 +102,7 @@ sub_080564EC: @ 0x080564EC ldr r0, _080565A4 @ =gTextBox adds r1, r4, #0 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldrb r0, [r4, #2] cmp r0, #0x63 bne _08056520 diff --git a/asm/code_0805EC04.s b/asm/code_0805EC04.s index d3380a65..ea3eba03 100644 --- a/asm/code_0805EC04.s +++ b/asm/code_0805EC04.s @@ -966,7 +966,7 @@ sub_0805F324: @ 0x0805F324 adds r7, r1, #0 mov r1, sp movs r2, #0x30 - bl sub_0801D66C + bl _DmaCopy movs r0, #0 str r0, [sp, #0x34] movs r1, #0 @@ -1142,7 +1142,7 @@ _0805F486: adds r0, r5, #0 adds r1, r4, #0 movs r2, #0x18 - bl sub_0801D66C + bl _DmaCopy mov r0, sp adds r1, r6, #0 bl sub_0805F440 @@ -1372,7 +1372,7 @@ _0805F63A: ldr r0, [r4, #8] ldr r1, [r4, #4] adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy ldr r0, [r4, #4] adds r0, r0, r5 str r0, [r4, #4] diff --git a/asm/code_0807B9B8.s b/asm/code_0807B9B8.s index 97ec7f4d..f9881427 100644 --- a/asm/code_0807B9B8.s +++ b/asm/code_0807B9B8.s @@ -853,7 +853,7 @@ _0807C01C: lsls r2, r2, #2 adds r1, r1, r2 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldr r2, _0807C0D4 @ =gUsedPalettes ldr r0, [r2] movs r1, #0x80 @@ -1015,13 +1015,13 @@ _0807C184: movs r4, #0x80 lsls r4, r4, #6 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy ldr r0, _0807C1B8 @ =gUnk_0200B654 movs r3, #0xc0 lsls r3, r3, #6 adds r1, r0, r3 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy b _0807C26C .align 2, 0 _0807C1B0: .4byte gScreenTransition @@ -1040,34 +1040,34 @@ _0807C1BC: adds r0, r4, #0 mov r1, r8 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy movs r1, #0xc0 lsls r1, r1, #6 adds r6, r4, r1 adds r0, r6, #0 adds r1, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 adds r1, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy adds r6, r4, r5 adds r0, r6, #0 mov r1, r8 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy movs r2, #0x80 lsls r2, r2, #7 adds r4, r4, r2 adds r0, r4, #0 adds r1, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 adds r1, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy ldr r4, _0807C27C @ =gUnk_0200B654 movs r3, #0xb0 lsls r3, r3, #8 @@ -1076,34 +1076,34 @@ _0807C1BC: adds r0, r4, #0 mov r1, r8 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy movs r0, #0xc0 lsls r0, r0, #6 adds r6, r4, r0 adds r0, r6, #0 adds r1, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 adds r1, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy adds r6, r4, r5 adds r0, r6, #0 mov r1, r8 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy movs r1, #0x80 lsls r1, r1, #7 adds r4, r4, r1 adds r0, r4, #0 adds r1, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy mov r0, r8 adds r1, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy _0807C26C: mov r2, sb cmp r2, #0 @@ -1161,7 +1161,7 @@ _0807C2E4: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 adds r1, r5, #0 bl sub_0807C5F4 @@ -1173,7 +1173,7 @@ _0807C2E4: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 adds r1, r5, #0 bl sub_0807C5F4 @@ -1449,7 +1449,7 @@ _0807C54A: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 adds r1, r5, #0 bl sub_0807C5F4 @@ -1461,7 +1461,7 @@ _0807C54A: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r4, #0 adds r1, r5, #0 bl sub_0807C5F4 @@ -1870,13 +1870,13 @@ sub_0807C860: @ 0x0807C860 movs r4, #0x80 lsls r4, r4, #6 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy ldr r0, _0807C894 @ =gUnk_0200B654 movs r2, #0xc0 lsls r2, r2, #6 adds r1, r0, r2 adds r2, r4, #0 - bl sub_0801D66C + bl _DmaCopy pop {r4, pc} .align 2, 0 _0807C88C: .4byte gScreenTransition diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index bb51d941..e953f3ee 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -6978,14 +6978,14 @@ sub_08080108: @ 0x08080108 lsls r6, r6, #6 adds r0, r5, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy ldr r4, _0808017C @ =gUnk_0200B654 movs r0, #0xc0 lsls r0, r0, #6 adds r1, r4, r0 adds r0, r4, #0 adds r2, r6, #0 - bl sub_0801D66C + bl _DmaCopy bl sub_08080368 ldr r1, _08080180 @ =gUnk_02034480 ldr r0, _08080184 @ =gUnk_0200B640 @@ -6995,7 +6995,7 @@ sub_08080108: @ 0x08080108 ldr r1, _0808018C @ =gUnk_020246B0 movs r2, #0xc0 lsls r2, r2, #5 - bl sub_0801D66C + bl _DmaCopy subs r5, #4 adds r0, r5, #0 bl sub_08080B60 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 659d61f3..0c8593af 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -1130,7 +1130,7 @@ sub_080A44E0: @ 0x080A44E0 adds r5, r5, r1 adds r1, r5, #0 mov r2, r8 - bl sub_0801D66C + bl _DmaCopy adds r0, r6, #0 pop {r3} mov r8, r3 @@ -1980,12 +1980,12 @@ sub_080A4BA0: @ 0x080A4BA0 ldr r0, _080A4C08 @ =gUnk_0812816C mov r1, sp movs r2, #0x18 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A4C0C @ =gUnk_08128184 add r4, sp, #0x48 adds r1, r4, #0 movs r2, #0xc - bl sub_0801D66C + bl _DmaCopy lsls r1, r6, #1 adds r1, r1, r6 lsls r2, r1, #9 @@ -2127,7 +2127,7 @@ sub_080A4CBC: @ 0x080A4CBC ldr r1, _080A4D14 @ =0x0600E000 adds r0, r4, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy adds r0, r6, #0 bl sub_080A4948 cmp r0, #0 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index 4a9bcdc1..9619ff0d 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -867,7 +867,7 @@ sub_080A5BF0: @ 0x080A5BF0 adds r0, r4, #2 adds r1, r4, #0 movs r2, #0xe - bl sub_0801D66C + bl _DmaCopy strh r5, [r4, #0xe] ldr r2, _080A5C40 @ =gUsedPalettes ldr r0, [r2] @@ -3420,7 +3420,7 @@ sub_080A7040: @ 0x080A7040 movs r2, #0x80 lsls r2, r2, #4 adds r0, r4, #0 - bl sub_0801D66C + bl _DmaCopy ldr r1, _080A70A0 @ =gUnk_08128D70 lsls r0, r5, #3 adds r4, r0, r1 @@ -3679,42 +3679,42 @@ sub_080A7250: @ 0x080A7250 ldr r0, _080A72EC @ =gScreen ldr r1, _080A72F0 @ =gUnk_03001020 movs r2, #0x7c - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A72F4 @ =gPaletteBuffer ldr r1, _080A72F8 @ =gUnk_02024090 movs r2, #0x80 lsls r2, r2, #3 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A72FC @ =gUnk_02024490 ldr r4, _080A7300 @ =gUnk_02032F14 movs r2, #0x85 lsls r2, r2, #2 adds r1, r4, #0 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A7304 @ =gUnk_02001A00 movs r2, #0x85 lsls r2, r2, #2 adds r1, r4, r2 movs r2, #0x40 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A7308 @ =gRoomControls adds r1, r4, #0 subs r1, #0x38 movs r2, #0x38 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A730C @ =gUnk_03000420 movs r2, #0x95 lsls r2, r2, #2 adds r1, r4, r2 movs r2, #0x80 lsls r2, r2, #1 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A7310 @ =gUnk_02033280 movs r2, #0xd5 lsls r2, r2, #2 adds r1, r4, r2 movs r2, #0xc - bl sub_0801D66C + bl _DmaCopy bl sub_0805E958 adds r1, r4, #0 subs r1, #0x54 @@ -3838,36 +3838,36 @@ _080A73B4: adds r0, r5, r1 ldr r1, _080A7480 @ =gUnk_02033280 movs r2, #0xc - bl sub_0801D66C + bl _DmaCopy movs r1, #0xaa lsls r1, r1, #2 adds r0, r5, r1 ldr r1, _080A7484 @ =gUnk_03000420 movs r2, #0x80 lsls r2, r2, #1 - bl sub_0801D66C + bl _DmaCopy movs r1, #0x9a lsls r1, r1, #2 adds r0, r5, r1 ldr r1, _080A7488 @ =gUnk_02001A00 movs r2, #0x40 - bl sub_0801D66C + bl _DmaCopy adds r0, r5, #0 adds r0, #0x54 ldr r1, _080A748C @ =gUnk_02024490 movs r2, #0x85 lsls r2, r2, #2 - bl sub_0801D66C + bl _DmaCopy adds r0, r5, #0 adds r0, #0x1c ldr r4, _080A7490 @ =gRoomControls adds r1, r4, #0 movs r2, #0x38 - bl sub_0801D66C + bl _DmaCopy ldr r0, _080A7494 @ =gUnk_03001020 ldr r1, _080A7498 @ =gScreen movs r2, #0x7c - bl sub_0801D66C + bl _DmaCopy ldrb r0, [r4, #4] bl sub_08052D58 ldr r4, _080A749C @ =gArea @@ -10572,7 +10572,7 @@ sub_080AA654: @ 0x080AA654 ldr r0, _080AA688 @ =gUnk_0812A004 adds r1, r4, #0 movs r2, #0x10 - bl sub_0801D66C + bl _DmaCopy movs r1, #0x3f adds r0, r5, #0 ands r0, r1 @@ -13189,7 +13189,7 @@ sub_080AB9DC: @ 0x080AB9DC adds r1, r4, #0 adds r1, #0x68 movs r2, #0x1c - bl sub_0801D66C + bl _DmaCopy ldrh r1, [r4, #0x2e] adds r0, r4, #0 adds r0, #0x84 diff --git a/asm/dust.s b/asm/dust.s index c56c75fb..2f2faa92 100644 --- a/asm/dust.s +++ b/asm/dust.s @@ -146,7 +146,7 @@ _080441F2: beq _0804429A adds r0, r6, #0 adds r2, r5, #0 - bl sub_0801D66C + bl _DmaCopy adds r1, r4, #0 adds r1, #0x28 movs r0, #0xff diff --git a/asm/gyorgFemale.s b/asm/gyorgFemale.s index c7a2f7e0..f0fd69cb 100644 --- a/asm/gyorgFemale.s +++ b/asm/gyorgFemale.s @@ -475,7 +475,7 @@ _080464DE: adds r0, r4, #0 adds r1, r5, #0 movs r2, #0x40 - bl sub_0801D66C + bl _DmaCopy movs r0, #0x80 lsls r0, r0, #1 adds r5, r5, r0 diff --git a/asm/manager10.s b/asm/manager10.s index e07b7189..addec2c9 100644 --- a/asm/manager10.s +++ b/asm/manager10.s @@ -440,7 +440,7 @@ _080598AA: lsls r2, r2, #2 adds r1, r0, r2 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldr r2, _080598F0 @ =gUsedPalettes ldr r0, [r2] ldr r1, _080598F4 @ =0x00207FFC diff --git a/asm/manager39.s b/asm/manager39.s index f5c9a542..1e92532d 100644 --- a/asm/manager39.s +++ b/asm/manager39.s @@ -142,7 +142,7 @@ sub_0805E1F8: @ 0x0805E1F8 ldr r0, _0805E238 @ =gUnk_08108E60 mov r1, sp movs r2, #9 - bl sub_0801D66C + bl _DmaCopy mov r1, sp lsrs r0, r4, #8 strb r0, [r1, #4] diff --git a/asm/managerC.s b/asm/managerC.s index d634ea71..ef613cdd 100644 --- a/asm/managerC.s +++ b/asm/managerC.s @@ -653,7 +653,7 @@ sub_08058D34: @ 0x08058D34 lsls r2, r2, #2 adds r1, r0, r2 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy ldr r2, _08058DB0 @ =gUsedPalettes ldr r0, [r2] movs r1, #0x80 diff --git a/asm/non_matching/sub_08054524.inc b/asm/non_matching/sub_08054524.inc index fd079ac9..018cb569 100644 --- a/asm/non_matching/sub_08054524.inc +++ b/asm/non_matching/sub_08054524.inc @@ -20,7 +20,7 @@ _0805453A: adds r0, r0, r1 ldr r1, _08054560 @ =gUnk_02034398 movs r2, #0x20 - bl sub_0801D66C + bl _DmaCopy pop {pc} .align 2, 0 _08054550: .4byte gArea diff --git a/asm/object6A.s b/asm/object6A.s index 71508057..d8eb941e 100644 --- a/asm/object6A.s +++ b/asm/object6A.s @@ -1692,7 +1692,7 @@ _0809572C: adds r0, #0x6c adds r1, r4, #0 movs r2, #0x1c - bl sub_0801D66C + bl _DmaCopy ldrh r0, [r4, #0x14] strh r0, [r5, #0x2e] ldrh r0, [r4, #0x16] diff --git a/asm/sub_0801D66C.s b/asm/sub_0801D66C.s deleted file mode 100644 index 5976f92b..00000000 --- a/asm/sub_0801D66C.s +++ /dev/null @@ -1,56 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0801D66C -sub_0801D66C: @ 0x0801D66C - push {r4, lr} - adds r3, r0, #0 - adds r4, r2, #0 - adds r2, r3, #0 - orrs r2, r1 - orrs r2, r4 - movs r0, #3 - ands r2, r0 - cmp r2, #0 - beq _0801D686 - cmp r2, #2 - beq _0801D698 - b _0801D6B0 -_0801D686: - ldr r2, _0801D694 @ =0x040000D4 - str r3, [r2] - str r1, [r2, #4] - lsrs r0, r4, #2 - movs r1, #0x84 - lsls r1, r1, #0x18 - b _0801D6A4 - .align 2, 0 -_0801D694: .4byte 0x040000D4 -_0801D698: - ldr r2, _0801D6AC @ =0x040000D4 - str r3, [r2] - str r1, [r2, #4] - lsrs r0, r4, #1 - movs r1, #0x80 - lsls r1, r1, #0x18 -_0801D6A4: - orrs r0, r1 - str r0, [r2, #8] - ldr r0, [r2, #8] - b _0801D6BE - .align 2, 0 -_0801D6AC: .4byte 0x040000D4 -_0801D6B0: - ldrb r0, [r3] - strb r0, [r1] - adds r3, #1 - adds r1, #1 - subs r4, #1 - cmp r4, #0 - bne _0801D6B0 -_0801D6BE: - pop {r4, pc} \ No newline at end of file diff --git a/asm/sub_08052418.s b/asm/sub_08052418.s index f7bd8bd3..5e51b509 100644 --- a/asm/sub_08052418.s +++ b/asm/sub_08052418.s @@ -30,7 +30,7 @@ sub_08052418: @ 0x08052418 adds r0, r4, #0 mov r1, sp movs r2, #0x18 - bl sub_0801D66C + bl _DmaCopy lsls r2, r6, #1 adds r2, r2, r6 lsls r2, r2, #2 diff --git a/asm/sub_0807CA18.s b/asm/sub_0807CA18.s index b2c27a4b..c769da3b 100644 --- a/asm/sub_0807CA18.s +++ b/asm/sub_0807CA18.s @@ -54,7 +54,7 @@ _0807CA66: bne _0807CA78 ldr r0, _0807CA80 @ =gUnk_0811E470 movs r2, #5 - bl sub_0801D66C + bl _DmaCopy _0807CA78: movs r0, #1 pop {pc} diff --git a/linker.ld b/linker.ld index 93819bfd..b95a6776 100644 --- a/linker.ld +++ b/linker.ld @@ -320,7 +320,6 @@ SECTIONS { src/ezloNag.o(.text); asm/code_0801CEC0.o(.text); src/dma.o(.text); - asm/sub_0801D66C.o(.text); src/input.o(.text); src/code_0801D714.o(.text); src/code_0801D79C.o(.text); diff --git a/src/chooseFile.c b/src/chooseFile.c index 0c5a9474..143819f2 100755 --- a/src/chooseFile.c +++ b/src/chooseFile.c @@ -55,7 +55,7 @@ static void sub_08050624(u32); static void sub_0805066C(void); static void sub_080507FC(void); -extern void sub_0801D66C(const void* src, void* dest, u32 size); +extern void _DmaCopy(const void* src, void* dest, u32 size); extern void sub_08056FEC(u32, struct_020227E8*); extern void sub_0805F46C(u32, struct_080FC844*); extern void sub_0801C4A0(u32, u32); @@ -83,7 +83,7 @@ void sub_08050318(u32 arg0, u32 arg1) { struct_080FC844 var0; sub_08050384(); - sub_0801D66C(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); + _DmaCopy(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); sub_08056FEC(arg1, &gUnk_020227E8); var0.unk10 |= gUnk_080FC85C[arg0][0] << 0xC; sub_0805F46C(gUnk_080FC85C[arg0][1], &var0); @@ -136,7 +136,7 @@ void sub_0805041C(u32 saveFileId) { if (saveFileId < 3) { ((struct_02000000 *)0x2000000)->saveFileId = saveFileId; saveFile = &gSaveFiles[saveFileId]; - sub_0801D66C(saveFile, &gUnk_02002A40, sizeof(*saveFile)); + _DmaCopy(saveFile, &gUnk_02002A40, sizeof(*saveFile)); } sub_080503E4(saveFileId); } @@ -281,7 +281,7 @@ void sub_0805070C(void) { for (j = 0; j < 6; j++) { sub_0805F7DC(playerName[j], var0); } - sub_0801D66C(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); + _DmaCopy(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); } sub_0805F300(var0); } @@ -307,7 +307,7 @@ void sub_08050790(void) { sub_0805F7DC(var1, var0); var1++; } - sub_0801D66C(gUnk_02000D00, (void*)(BG_VRAM + i * 0x400), 0x400); + _DmaCopy(gUnk_02000D00, (void*)(BG_VRAM + i * 0x400), 0x400); } sub_0805F300(var0); } diff --git a/src/code_0805436C.c b/src/code_0805436C.c index 4999aef0..73e75668 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -160,7 +160,7 @@ void sub_08054524(void) { bVar1 = 0; } - sub_0801D66C(&gUnk_080015BC + gUnk_080FE1C6[bVar1] * 0x8, &gUnk_02034398, 0x20); + _DmaCopy(&gUnk_080015BC + gUnk_080FE1C6[bVar1] * 0x8, &gUnk_02034398, 0x20); } #else NAKED diff --git a/src/dma.c b/src/dma.c index 4f4f1dcb..37e33254 100644 --- a/src/dma.c +++ b/src/dma.c @@ -12,13 +12,12 @@ void _DmaFill32(u32 value, u8* dest, u32 size) { DmaFill32(3, value, dest, size); } -void _DmaZero(u8 *src, u32 size) -{ +void _DmaZero(u8* src, u32 size) { u32 zero = 0; switch (((u32)src | size) & 3) { case 0: - _DmaFill32(0,src, size); + _DmaFill32(0, src, size); break; case 2: _DmaFill16(0, src, size); @@ -28,6 +27,23 @@ void _DmaZero(u8 *src, u32 size) *src = zero; src++; size--; - } while (size != 0); + } while (size != 0); } -} \ No newline at end of file +} + +void _DmaCopy(const u8* src, u8* dst, u32 size) { + switch (((u32)src | (u32)dst | size) & 3) { + case 0: + DmaCopy32(3, src, dst, size); + break; + case 2: + DmaCopy16(3, src, dst, size); + break; + default: + do { + *dst = *src; + src++; + dst++; + } while (--size); + } +} diff --git a/src/entity.c b/src/entity.c index 056644bf..1b8d1cb1 100644 --- a/src/entity.c +++ b/src/entity.c @@ -193,16 +193,16 @@ void sub_0805E92C(u32 param_1) { } extern Entity gUnk_020369F0; -extern void sub_0801D66C(const void* src, void* dest, size_t size); // dma copy +extern void _DmaCopy(const void* src, void* dest, size_t size); // dma copy extern void sub_0805E98C(void); void sub_0805E958(void) { - sub_0801D66C(&gEntityLists, &gUnk_020369F0, 0x48); + _DmaCopy(&gEntityLists, &gUnk_020369F0, 0x48); sub_0805E98C(); } void sub_0805E974(void) { - sub_0801D66C(&gUnk_020369F0, &gEntityLists, 0x48); + _DmaCopy(&gUnk_020369F0, &gEntityLists, 0x48); } void sub_0805E98C(void) { diff --git a/src/mainLoop.c b/src/mainLoop.c index c46fd8bf..3ad0eaae 100644 --- a/src/mainLoop.c +++ b/src/mainLoop.c @@ -8,7 +8,7 @@ extern void sub_0804FF84(u32); extern u16 gPaletteBuffer[]; extern void VBlankInterruptWait(void); extern void DisableInterruptsAndDMA(void); -extern void sub_0801D66C(void*, u8*, int); +extern void _DmaCopy(void*, u8*, int); extern void sub_08016B34(void); static void sub_08055F70(void); @@ -99,12 +99,12 @@ static void sub_08055F70(void) { _DmaZero(gUnk_02000030, size); size = (u32)gUnk_080B2CD8 - (u32)sub_080B197C; if (size != 0) { - sub_0801D66C(sub_080B197C, gUnk_030056F0, size); + _DmaCopy(sub_080B197C, gUnk_030056F0, size); } size = (u32)gUnk_080B2CD8_2 - (u32)gUnk_080B2CD8_3; if (size != 0) { - sub_0801D66C(gUnk_080B2CD8_3, gUnk_02038560, size); + _DmaCopy(gUnk_080B2CD8_3, gUnk_02038560, size); } sub_0801DA90(0); From 1c65cda79deddbe638ff21294fd3f250756bfcc2 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Wed, 26 Aug 2020 16:03:52 +0200 Subject: [PATCH 021/105] finish decompile octorok --- asm/octorok.s | 246 ----------------------------------- asm/octorok/sub_0801EBC8.inc | 28 ---- linker.ld | 1 - src/enemy/octorok.c | 196 ++++++++++++++++++++-------- 4 files changed, 139 insertions(+), 332 deletions(-) delete mode 100644 asm/octorok.s delete mode 100644 asm/octorok/sub_0801EBC8.inc diff --git a/asm/octorok.s b/asm/octorok.s deleted file mode 100644 index 2a2de200..00000000 --- a/asm/octorok.s +++ /dev/null @@ -1,246 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0801EC2C -sub_0801EC2C: @ 0x0801EC2C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080AEF88 - adds r0, r5, #0 - bl GetNextFrame - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801EC7E - adds r0, r5, #0 - bl sub_0801EDEC - cmp r0, #0 - beq _0801EC78 - ldr r1, _0801EC74 @ =gUnk_080CA174 - ldrb r0, [r5, #0xa] - adds r0, r0, r1 - ldrb r4, [r0] - bl Random - movs r1, #3 - ands r0, r1 - cmp r4, r0 - bhi _0801EC78 - strb r1, [r5, #0xc] - ldrb r1, [r5, #0x14] - adds r1, #4 - adds r0, r5, #0 - bl InitializeAnimation - b _0801EC7E - .align 2, 0 -_0801EC74: .4byte gUnk_080CA174 -_0801EC78: - adds r0, r5, #0 - bl sub_0801ECFC -_0801EC7E: - pop {r4, r5, pc} - - thumb_func_start sub_0801EC80 -sub_0801EC80: @ 0x0801EC80 - push {r4, r5, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801ECD8 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0804A98C - adds r2, r0, #0 - cmp r2, #0 - beq _0801ECD8 - ldrb r0, [r4, #0x15] - strb r0, [r2, #0x15] - ldrb r1, [r4, #0x15] - lsrs r1, r1, #2 - ldr r0, _0801ECF0 @ =gUnk_080CA176 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldr r0, _0801ECF4 @ =0x0000FFFD - strh r0, [r2, #0x36] - ldrb r1, [r5] - movs r0, #0xfe - ands r0, r1 - strb r0, [r5] - ldr r0, _0801ECF8 @ =0x0000018D - bl sub_08004488 -_0801ECD8: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801ECEC - adds r0, r4, #0 - bl sub_0801ECFC -_0801ECEC: - pop {r4, r5, pc} - .align 2, 0 -_0801ECF0: .4byte gUnk_080CA176 -_0801ECF4: .4byte 0x0000FFFD -_0801ECF8: .4byte 0x0000018D - - thumb_func_start sub_0801ECFC -sub_0801ECFC: @ 0x0801ECFC - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - bl Random - movs r1, #0x38 - ands r0, r1 - adds r0, #0x18 - strb r0, [r4, #0xe] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801ED14 -sub_0801ED14: @ 0x0801ED14 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #2 - beq _0801ED7E - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0801ED4C - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _0801ED46 - bl Random - movs r1, #3 - ands r1, r0 - cmp r1, #0 - bne _0801ED46 - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801EDC4 -_0801ED46: - bl Random - b _0801EDD0 -_0801ED4C: - bl Random - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _0801ED78 - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl Random - ldr r2, _0801ED74 @ =gUnk_080CA17E - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - b _0801EDD0 - .align 2, 0 -_0801ED74: .4byte gUnk_080CA17E -_0801ED78: - bl Random - b _0801EDD0 -_0801ED7E: - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801EDC4 - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0801ED9A - bl Random - b _0801EDD0 -_0801ED9A: - bl Random - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _0801EDC4 - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl Random - ldr r2, _0801EDC0 @ =gUnk_080CA17E - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - b _0801EDD0 - .align 2, 0 -_0801EDC0: .4byte gUnk_080CA17E -_0801EDC4: - ldr r0, _0801EDE8 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl GetFacingDirection - adds r0, #4 -_0801EDD0: - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - ldrb r0, [r5, #0x15] - lsrs r0, r0, #3 - strb r0, [r5, #0x14] - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl InitializeAnimation - pop {r4, r5, pc} - .align 2, 0 -_0801EDE8: .4byte gUnk_020000B0 - - thumb_func_start sub_0801EDEC -sub_0801EDEC: @ 0x0801EDEC - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _0801EE12 - adds r0, r4, #0 - bl GetFacingDirection - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - ldrb r4, [r4, #0x15] - cmp r0, r4 - bne _0801EE12 - movs r0, #1 - b _0801EE14 -_0801EE12: - movs r0, #0 -_0801EE14: - pop {r4, pc} - .align 2, 0 diff --git a/asm/octorok/sub_0801EBC8.inc b/asm/octorok/sub_0801EBC8.inc deleted file mode 100644 index f0b3286c..00000000 --- a/asm/octorok/sub_0801EBC8.inc +++ /dev/null @@ -1,28 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .text - - .syntax unified - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _0801EBDE - bl Random - movs r1, #3 - ands r0, r1 -_0801EBDE: - strb r0, [r4, #0x14] - movs r0, #0x12 - strb r0, [r4, #0x1c] - adds r0, r4, #0 - bl sub_0801ECFC - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation - pop {r4, pc} - .syntax divided - \ No newline at end of file diff --git a/linker.ld b/linker.ld index b95a6776..63c8f3f7 100644 --- a/linker.ld +++ b/linker.ld @@ -326,7 +326,6 @@ SECTIONS { asm/code_0801D79C.o(.text); /* enemies */ src/enemy/octorok.o(.text); - asm/octorok.o(.text); asm/chuchu.o(.text); src/enemy/leever.o(.text); asm/peahat.o(.text); diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index a5b63f96..83dce4ed 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -1,119 +1,201 @@ #include "global.h" #include "entity.h" +#include "functions.h" extern void EnemyFunctionHandler(); extern void SetChildOffset(); extern void sub_0804AA30(); extern void sub_0804A9FC(); extern void sub_0804A7D4(); -extern void CreateDeathFx(); extern void sub_0801ECFC(); extern u32 sub_0806F520(); extern void sub_0806F4E8(); -extern void sub_0806F3E4(); extern void UpdateAnimationVariableFrames(); extern void sub_0804A720(); extern u32 Random(); extern void sub_0801ED14(); +extern u32 sub_0801EDEC(); +extern Entity *sub_08049DF4(u32); -extern void(*gOctorok[2]); -extern void (*gOctorokIdle[4])(Entity*); -extern void (*gUnk_080CA158[4])(Entity*); +extern void (*const gOctorok[6])(Entity*); +extern void (*const gOctorokIdle[4])(Entity*); +extern void (*const gUnk_080CA158[4])(Entity*); +extern Entity* gUnk_020000B0; +extern s8 gUnk_080CA17E[2]; extern u8 gUnk_080CA170[8]; +extern u8 gUnk_080CA174[2]; +extern u8 gUnk_080CA176[8]; // Main -void Octorok(Entity* ent) { - EnemyFunctionHandler(ent, gOctorok); - SetChildOffset(ent, 0, 1, -16); +void Octorok(Entity* this) { + EnemyFunctionHandler(this, gOctorok); + SetChildOffset(this, 0, 1, -16); } // Idle -void sub_0801EAD0(Entity* ent) { - gOctorokIdle[ent->action](ent); +void sub_0801EAD0(Entity* this) { + gOctorokIdle[this->action](this); } // Touch player -void sub_0801EAE8(Entity* ent) { - if (ent->field_0x43 != 0) { - sub_0804A9FC(ent, 28); +void sub_0801EAE8(Entity* this) { + if (this->field_0x43 != 0) { + sub_0804A9FC(this, 28); } - sub_0804AA30(ent, gOctorok); + sub_0804AA30(this, gOctorok); } // Death -void sub_0801EB0C(Entity* ent) { - if ((ent->entityType).form == 0) { - sub_0804A7D4(ent); +void sub_0801EB0C(Entity* this) { + if ((this->entityType).form == 0) { + sub_0804A7D4(this); } else { - CreateDeathFx(ent, 241, 0); + CreateDeathFx(this, 241, 0); } } -void sub_0801EB2C(Entity* ent) { +void sub_0801EB2C(Entity* this) { s32 iVar1; - if ((ent->previousActionFlag < 3) && (iVar1 = sub_0806F520(ent), iVar1 == 0)) { - sub_0801ECFC(ent); - InitializeAnimation(ent, ent->animationState); + if ((this->previousActionFlag < 3) && (iVar1 = sub_0806F520(this), iVar1 == 0)) { + sub_0801ECFC(this); + InitializeAnimation(this, this->animationState); } else { - gUnk_080CA158[ent->previousActionFlag](ent); + gUnk_080CA158[this->previousActionFlag](this); } } -void sub_0801EB68(Entity* ent) { - ent->previousActionFlag = 1; - ent->field_0x1d = 60; +void sub_0801EB68(Entity* this) { + this->previousActionFlag = 1; + this->field_0x1d = 60; } -void sub_0801EB74(Entity* ent) { - sub_0806F4E8(ent); +void sub_0801EB74(Entity* this) { + sub_0806F4E8(this); } -void sub_0801EB7C(Entity* ent) { - sub_0806F3E4(ent); +void sub_0801EB7C(Entity* this) { + sub_0806F3E4(this); } -void sub_0801EB84(Entity* ent) { - ent->flags = ent->flags & 127; - UpdateAnimationVariableFrames(ent, 2); +void sub_0801EB84(Entity* this) { + this->flags &= 0x7f; + UpdateAnimationVariableFrames(this, 2); } void nullsub_3() { } -void sub_0801EB9C(Entity* ent) { - if ((ent->flags & 128) != 0) { - ent->flags = ent->flags | 128; - ent->field_0x3a = ent->field_0x3a & 251; +void sub_0801EB9C(Entity* this) { + if (this->flags & 0x80) { + this->flags |= 0x80; + this->field_0x3a &= 0xfb; } else { - ent->currentHealth = 0; + this->currentHealth = 0; } } // Init -#ifdef NON_MATCHING -void sub_0801EBC8(Entity* ent) { - sub_0804A720(); - ent->animationState = (ent->entityType).form == 2 ? (ent->entityType).form : Random() & 3; - ent->filler[0] = 18; - sub_0801ECFC(ent); - InitializeAnimation(ent, ent->animationState); +void sub_0801EBC8(Entity* this) { + sub_0804A720(this); + if (this->entityType.form == 2) { + this->animationState = this->entityType.form; + } else { + this->animationState = Random() & 3; + } + this->field_0x1c = 18; + sub_0801ECFC(this); + InitializeAnimation(this, this->animationState); } -#else -NAKED -void sub_0801EBC8(Entity* ent) { - asm(".include \"asm/octorok/sub_0801EBC8.inc\""); -} -#endif -void sub_0801EBF4(Entity* ent) { +void sub_0801EBF4(Entity* this) { u32 uVar2; - if (--ent->actionDelay == 0) { - ent->action = 2; + if (--this->actionDelay == 0) { + this->action = 2; uVar2 = Random(); - ent->actionDelay = gUnk_080CA170[uVar2 & 3]; - sub_0801ED14(ent); + this->actionDelay = gUnk_080CA170[uVar2 & 3]; + sub_0801ED14(this); } - GetNextFrame(ent); + GetNextFrame(this); +} + +void sub_0801EC2C(Entity* this) { + sub_080AEF88(this); + GetNextFrame(this); + if (--this->actionDelay == 0) { + if (sub_0801EDEC(this) && gUnk_080CA174[this->entityType.form] <= (Random() & 3)) { + this->action = 3; + InitializeAnimation(this, this->animationState + 4); + } else { + sub_0801ECFC(this); + } + } +} + +void sub_0801EC80(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 1) { + Entity* ent = sub_0804A98C(this, 1, 0); + if (ent) { + s8* off; + ent->direction = this->direction; + off = &gUnk_080CA176[this->direction / 4]; + ent->x.HALF.HI += off[0]; + ent->y.HALF.HI += off[1]; + ent->height.HALF.HI = -3; + this->frames.all &= 0xfe; + sub_08004488(0x18d); + } + } + + if (this->frames.all & 0x80) + sub_0801ECFC(this); +} + +void sub_0801ECFC(Entity* this) { + this->action = 1; + this->actionDelay = (Random() & 0x38) + 0x18; +} + +void sub_0801ED14(Entity* this) { + if (this->entityType.form != 2) { + if (sub_08049FA0(this)) { + if (this->entityType.form == 1 && (Random() & 3) == 0 && sub_08049FDC(this, 1)) { + this->direction = (GetFacingDirection(this, gUnk_020000B0) + 4) & 0x18; + } else { + this->direction = Random() & 0x18; + } + } else if ((Random() & 3)) { + this->direction = (sub_08049EE4(this) + gUnk_080CA17E[Random() & 1]) & 0x18; + } else { + this->direction = Random() & 0x18; + } + } else { + if (sub_08049FDC(this, 1) == 0) { + if (sub_08049FA0(this)) { + this->direction = Random() & 0x18; + } else if (Random() & 3) { + this->direction = (sub_08049EE4(this) + gUnk_080CA17E[Random() & 1]) & 0x18; + } else { + this->direction = (GetFacingDirection(this, gUnk_020000B0) + 4) & 0x18; + } + } else { + this->direction = (GetFacingDirection(this, gUnk_020000B0) + 4) & 0x18; + } + } + this->animationState = this->direction >> 3; + InitializeAnimation(this, this->animationState); +} + +u32 sub_0801EDEC(Entity *this) { + Entity* ent = sub_08049DF4(1); + + if (ent == NULL) + return 0; + + if (((GetFacingDirection(this, ent) + 4) & 0x18) != this->direction) + return 0; + + return 1; } From 19c8711b4b654bc9f82c367fb63cf5fadf69dd22 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Wed, 26 Aug 2020 21:43:48 +0200 Subject: [PATCH 022/105] decompile chuchu --- asm/chuchu.s | 1867 ------------ data/data_080C93E0.s | 6042 ------------------------------------- data/data_080CA2B4.s | 6035 ++++++++++++++++++++++++++++++++++++ include/functions.h | 4 +- linker.ld | 4 +- src/enemy/acroBandits.c | 1 - src/enemy/chuchu.c | 764 +++++ src/enemy/lakitu.c | 1 - src/enemy/leever.c | 1 - src/enemy/miniSlime.c | 1 - src/enemy/octorok.c | 1 - src/enemy/slime.c | 1 - src/enemy/tektite.c | 2 +- src/enemy/tektiteGolden.c | 2 +- 14 files changed, 6806 insertions(+), 7920 deletions(-) delete mode 100644 asm/chuchu.s create mode 100644 data/data_080CA2B4.s create mode 100644 src/enemy/chuchu.c diff --git a/asm/chuchu.s b/asm/chuchu.s deleted file mode 100644 index c1a41f0a..00000000 --- a/asm/chuchu.s +++ /dev/null @@ -1,1867 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Chuchu -Chuchu: @ 0x0801EE18 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r4, r0, #0 - cmp r4, #0 - beq _0801EE9E - cmp r4, #2 - beq _0801EE40 - ldr r0, _0801EE3C @ =gUnk_080012C8 - lsls r1, r4, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _0801EEE0 - .align 2, 0 -_0801EE3C: .4byte gUnk_080012C8 -_0801EE40: - adds r2, r5, #0 - adds r2, #0x3a - ldrb r1, [r2] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r4, r0 - beq _0801EE9E - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _0801EE9E - cmp r0, #1 - bgt _0801EE66 - cmp r0, #0 - beq _0801EE6C - b _0801EE9E -_0801EE66: - cmp r0, #2 - beq _0801EE96 - b _0801EE9E -_0801EE6C: - ldrb r1, [r5, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801EE9E - movs r0, #6 - strb r0, [r5, #0xc] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - movs r0, #0x20 - strh r0, [r5, #0x24] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] - adds r0, r5, #0 - movs r1, #5 - bl InitializeAnimation - b _0801EE9E -_0801EE96: - adds r0, r5, #0 - bl sub_080043A8 - b _0801EEE0 -_0801EE9E: - adds r0, r5, #0 - adds r0, #0x81 - strb r4, [r0] - ldr r4, _0801EED0 @ =gUnk_080CA21C - adds r0, r5, #0 - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - ldr r0, [r5, #0x68] - ldrb r0, [r0, #0xa] - cmp r0, #0x1c - bne _0801EED4 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl SetChildOffset - b _0801EEE0 - .align 2, 0 -_0801EED0: .4byte gUnk_080CA21C -_0801EED4: - ldrb r0, [r5, #0xa] - cmp r0, #2 - bne _0801EEE0 - adds r0, r5, #0 - bl sub_0801FB34 -_0801EEE0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801EEE4 -sub_0801EEE4: @ 0x0801EEE4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0801EF0C - cmp r0, #1 - bgt _0801EEF8 - cmp r0, #0 - beq _0801EEFE - b _0801EF38 -_0801EEF8: - cmp r0, #2 - beq _0801EF28 - b _0801EF38 -_0801EEFE: - adds r0, r4, #0 - bl sub_0801F3AC - ldr r0, _0801EF08 @ =gUnk_080CA234 - b _0801EF14 - .align 2, 0 -_0801EF08: .4byte gUnk_080CA234 -_0801EF0C: - adds r0, r4, #0 - bl sub_0801F764 - ldr r0, _0801EF24 @ =gUnk_080CA25C -_0801EF14: - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0801EF38 - .align 2, 0 -_0801EF24: .4byte gUnk_080CA25C -_0801EF28: - ldr r0, _0801EF3C @ =gUnk_080CA288 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0801EF38: - pop {r4, pc} - .align 2, 0 -_0801EF3C: .4byte gUnk_080CA288 - - thumb_func_start sub_0801EF40 -sub_0801EF40: @ 0x0801EF40 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bne _0801EF68 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x8e - beq _0801EF58 - cmp r0, #0x95 - bne _0801EF68 -_0801EF58: - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - movs r0, #0 - strb r1, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] -_0801EF68: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r6, [r0] - adds r7, r0, #0 - cmp r6, #0 - beq _0801EFB0 - subs r0, #4 - ldrb r0, [r0] - cmp r0, #0x94 - bne _0801EF94 - adds r0, r4, #0 - bl sub_0801FB68 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - adds r0, r4, #0 - movs r1, #6 - bl InitializeAnimation - b _0801EFC0 -_0801EF94: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, r6 - beq _0801EFC4 - adds r0, r4, #0 - bl sub_0801FB68 - adds r0, r4, #0 - movs r1, #6 - bl InitializeAnimation - b _0801EFC4 -_0801EFB0: - adds r0, r4, #0 - bl sub_0804AA1C - str r6, [r4, #0x20] - adds r0, r4, #0 - movs r1, #9 - bl InitializeAnimation -_0801EFC0: - adds r5, r4, #0 - adds r5, #0x80 -_0801EFC4: - ldrb r0, [r7] - strb r0, [r5] - ldr r1, _0801EFD4 @ =gUnk_080CA21C - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801EFD4: .4byte gUnk_080CA21C - - thumb_func_start sub_0801EFD8 -sub_0801EFD8: @ 0x0801EFD8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - bne _0801F000 - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0801F000 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - adds r0, r4, #0 - movs r1, #6 - bl InitializeAnimation - b _0801F028 -_0801F000: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #8 - beq _0801F018 - adds r0, r4, #0 - bl sub_0801FB68 - adds r0, r4, #0 - movs r1, #8 - bl InitializeAnimation -_0801F018: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - adds r0, r4, #0 - bl GetNextFrame -_0801F028: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F02C -sub_0801F02C: @ 0x0801F02C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #6 - bne _0801F03E - adds r0, r4, #0 - bl GetNextFrame -_0801F03E: - adds r0, r4, #0 - bl sub_08001318 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F048 -sub_0801F048: @ 0x0801F048 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl GetNextFrame - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0801F068 - adds r0, r4, #0 - bl sub_0804A7D4 - b _0801F082 -_0801F068: - cmp r0, #1 - bne _0801F078 - adds r0, r4, #0 - movs r1, #0xf2 - movs r2, #0 - bl CreateDeathFx - b _0801F082 -_0801F078: - adds r0, r4, #0 - movs r1, #0xf1 - movs r2, #0 - bl CreateDeathFx -_0801F082: - pop {r4, pc} - - thumb_func_start sub_0801F084 -sub_0801F084: @ 0x0801F084 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0801F09A - adds r0, r4, #0 - bl GetNextFrame -_0801F09A: - adds r0, r4, #0 - bl sub_08001242 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F0A4 -sub_0801F0A4: @ 0x0801F0A4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3b - strb r1, [r0] - adds r4, #0x82 - strb r2, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_4 -nullsub_4: @ 0x0801F0C4 - bx lr - .align 2, 0 - - thumb_func_start sub_0801F0C8 -sub_0801F0C8: @ 0x0801F0C8 - push {r4, r5, lr} - adds r5, r0, #0 - bl GetNextFrame - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F12A - movs r4, #3 - movs r0, #3 - strb r0, [r5, #0xc] - bl Random - ands r0, r4 - adds r0, #0xc - strb r0, [r5, #0xe] - bl Random - strb r0, [r5, #0xf] - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r5, #0x15] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - movs r1, #2 - bl InitializeAnimation -_0801F12A: - pop {r4, r5, pc} - - thumb_func_start sub_0801F12C -sub_0801F12C: @ 0x0801F12C - push {r4, lr} - adds r4, r0, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F140 - adds r0, r4, #0 - bl sub_0801F328 - b _0801F1AC -_0801F140: - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0801F158 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_0801F158: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl GetNextFrame - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F1AC - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x38 - bl sub_08049F64 - cmp r0, #0 - beq _0801F18A - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801FBE4 - b _0801F1AC -_0801F18A: - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _0801F1A6 - bl Random - movs r1, #3 - ands r0, r1 - adds r0, #0xc - strb r0, [r4, #0xe] - b _0801F1AC -_0801F1A6: - adds r0, r4, #0 - bl sub_0801F328 -_0801F1AC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F1B0 -sub_0801F1B0: @ 0x0801F1B0 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0801F1FA - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801F1DE - movs r0, #1 - eors r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5a - strb r0, [r1] - adds r0, #0xd1 - bl sub_08004488 -_0801F1DE: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0801F200 - adds r0, r4, #0 - bl GetNextFrame - b _0801F200 -_0801F1FA: - adds r0, r4, #0 - bl GetNextFrame -_0801F200: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F226 - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F220 - adds r0, r4, #0 - bl sub_0801F328 - b _0801F226 -_0801F220: - adds r0, r4, #0 - bl sub_0801F340 -_0801F226: - pop {r4, pc} - - thumb_func_start sub_0801F228 -sub_0801F228: @ 0x0801F228 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F246 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_0801F246: - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F250 -sub_0801F250: @ 0x0801F250 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F26C - adds r0, r4, #0 - bl sub_0801F360 -_0801F26C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F270 -sub_0801F270: @ 0x0801F270 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0801F28C - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_0801F28C: - adds r0, r4, #0 - bl sub_080AF160 - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - bne _0801F2CA - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F2CA - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - bne _0801F2C6 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #4 - bl InitializeAnimation - b _0801F2CA -_0801F2C6: - movs r0, #8 - strb r0, [r4, #0xe] -_0801F2CA: - pop {r4, pc} - - thumb_func_start sub_0801F2CC -sub_0801F2CC: @ 0x0801F2CC - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F2F6 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl InitializeAnimation -_0801F2F6: - pop {r4, pc} - - thumb_func_start sub_0801F2F8 -sub_0801F2F8: @ 0x0801F2F8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F324 - adds r0, r4, #0 - bl sub_0801F340 - adds r0, r4, #0 - bl sub_0804AA1C -_0801F324: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F328 -sub_0801F328: @ 0x0801F328 - push {lr} - movs r1, #6 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #5 - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801F340 -sub_0801F340: @ 0x0801F340 - push {lr} - movs r1, #5 - strb r1, [r0, #0xc] - movs r1, #0x3c - strb r1, [r0, #0xe] - movs r1, #0x20 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x3f - movs r1, #0x5c - strb r1, [r2] - movs r1, #2 - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801F360 -sub_0801F360: @ 0x0801F360 - push {r4, lr} - adds r4, r0, #0 - movs r0, #7 - strb r0, [r4, #0xc] - bl Random - movs r1, #0x38 - ands r0, r1 - adds r0, #0xb4 - strb r0, [r4, #0xe] - bl Random - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - movs r1, #8 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F3AC -sub_0801F3AC: @ 0x0801F3AC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #9 - beq _0801F426 - cmp r0, #0 - beq _0801F426 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0801F408 - adds r5, r4, #0 - adds r5, #0x82 - ldrb r0, [r5] - cmp r0, #0 - bne _0801F3DE - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _0801F400 -_0801F3DE: - ldrb r2, [r4, #0xc] - cmp r2, #1 - bne _0801F426 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r2, [r5] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - b _0801F426 -_0801F400: - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0801F426 - b _0801F40E -_0801F408: - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0801F416 -_0801F40E: - adds r0, r4, #0 - bl sub_0801F328 - b _0801F426 -_0801F416: - cmp r0, #7 - bne _0801F426 - movs r0, #8 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #7 - bl InitializeAnimation -_0801F426: - pop {r4, r5, pc} - - thumb_func_start sub_0801F428 -sub_0801F428: @ 0x0801F428 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0804A720 - movs r4, #0 - movs r0, #1 - strb r0, [r5, #0xc] - bl Random - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3b - strb r1, [r0] - adds r0, #2 - strb r4, [r0] - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _0801F488 - movs r0, #3 - strb r0, [r5, #0xc] - movs r0, #0x1e - strb r0, [r5, #0xf] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r0, r5, #0 - movs r1, #2 - bl InitializeAnimation -_0801F488: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801F48C -sub_0801F48C: @ 0x0801F48C - push {lr} - bl GetNextFrame - pop {pc} - - thumb_func_start sub_0801F494 -sub_0801F494: @ 0x0801F494 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F4E8 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_0801F4E8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F4EC -sub_0801F4EC: @ 0x0801F4EC - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F504 - movs r0, #4 - strb r0, [r4, #0xc] -_0801F504: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F508 -sub_0801F508: @ 0x0801F508 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F51C - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0 - b _0801F55C -_0801F51C: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - adds r5, r0, #0 - ands r5, r1 - movs r0, #7 - ands r5, r0 - cmp r5, #0 - bne _0801F566 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x38 - bl sub_08049F64 - cmp r0, #0 - beq _0801F566 - bl Random - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0801F556 - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801FBE4 - b _0801F580 -_0801F556: - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x78 -_0801F55C: - strb r0, [r1] - adds r0, r4, #0 - bl sub_0801F730 - b _0801F580 -_0801F566: - cmp r5, #4 - bne _0801F574 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_0801F574: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl GetNextFrame -_0801F580: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801F584 -sub_0801F584: @ 0x0801F584 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0801F5CE - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801F5B2 - movs r0, #1 - eors r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5b - strb r0, [r1] - adds r0, #0xd0 - bl sub_08004488 -_0801F5B2: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0801F5D4 - adds r0, r4, #0 - bl GetNextFrame - b _0801F5D4 -_0801F5CE: - adds r0, r4, #0 - bl GetNextFrame -_0801F5D4: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F618 - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F5FC - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0801F730 - b _0801F618 -_0801F5FC: - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_0801F618: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F61C -sub_0801F61C: @ 0x0801F61C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - subs r0, #1 - strb r0, [r1, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F630 - movs r0, #4 - strb r0, [r1, #0xc] -_0801F630: - adds r0, r1, #0 - bl GetNextFrame - pop {pc} - - thumb_func_start sub_0801F638 -sub_0801F638: @ 0x0801F638 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F684 - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - movs r1, #8 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation -_0801F684: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F688 -sub_0801F688: @ 0x0801F688 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x83 - ldrb r0, [r5] - cmp r0, #0 - beq _0801F69A - subs r0, #1 - strb r0, [r5] -_0801F69A: - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - bne _0801F6AA - ldrb r0, [r5] - cmp r0, #0 - beq _0801F6C2 -_0801F6AA: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AF160 - adds r0, r4, #0 - bl GetNextFrame - b _0801F6C8 -_0801F6C2: - adds r0, r4, #0 - bl sub_0801F748 -_0801F6C8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801F6CC -sub_0801F6CC: @ 0x0801F6CC - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F6F6 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl InitializeAnimation -_0801F6F6: - pop {r4, pc} - - thumb_func_start sub_0801F6F8 -sub_0801F6F8: @ 0x0801F6F8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F72E - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0804AA1C - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_0801F72E: - pop {r4, pc} - - thumb_func_start sub_0801F730 -sub_0801F730: @ 0x0801F730 - push {lr} - movs r1, #7 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #5 - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801F748 -sub_0801F748: @ 0x0801F748 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #6 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - movs r1, #4 - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801F764 -sub_0801F764: @ 0x0801F764 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0xa - beq _0801F7D6 - cmp r0, #0 - beq _0801F7D6 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0801F7B8 - ldrb r6, [r4, #0xc] - cmp r6, #1 - bne _0801F7D6 - adds r5, r4, #0 - adds r5, #0x82 - ldrb r0, [r5] - cmp r0, #0 - bne _0801F79C - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _0801F7D6 -_0801F79C: - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r6, [r5] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - b _0801F7D6 -_0801F7B8: - ldrb r0, [r4, #0xc] - cmp r0, #4 - bne _0801F7C6 - adds r0, r4, #0 - bl sub_0801F730 - b _0801F7D6 -_0801F7C6: - cmp r0, #8 - bne _0801F7D6 - movs r0, #9 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #7 - bl InitializeAnimation -_0801F7D6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0801F7D8 -sub_0801F7D8: @ 0x0801F7D8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r5, #0 - movs r0, #1 - strb r0, [r4, #0xc] - bl Random - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3b - strb r1, [r0] - adds r4, #0x82 - strb r5, [r4] - pop {r4, r5, pc} - - thumb_func_start sub_0801F7FC -sub_0801F7FC: @ 0x0801F7FC - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0801F83E - adds r5, r4, #0 - adds r5, #0x82 - ldrb r0, [r5] - cmp r0, #0 - bne _0801F822 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _0801F83E -_0801F822: - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r5] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation -_0801F83E: - pop {r4, r5, pc} - - thumb_func_start sub_0801F840 -sub_0801F840: @ 0x0801F840 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F880 - adds r0, r4, #0 - bl sub_0801FB14 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] -_0801F880: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F884 -sub_0801F884: @ 0x0801F884 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0801F898 - subs r0, #1 - strb r0, [r4, #0xf] - b _0801F8BC -_0801F898: - adds r0, r4, #0 - movs r1, #0x1b - bl sub_0804A9FC - adds r1, r0, #0 - cmp r1, #0 - beq _0801F8BC - movs r0, #0x40 - strb r0, [r1, #0xb] - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0xa5 - strb r0, [r1] - adds r0, #0xee - bl sub_08004488 -_0801F8BC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F8C0 -sub_0801F8C0: @ 0x0801F8C0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F8D4 - adds r0, r4, #0 - bl sub_0801FAE0 - b _0801F938 -_0801F8D4: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801F8E8 - adds r0, r4, #0 - bl sub_0801F730 - b _0801F938 -_0801F8E8: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - adds r5, r0, #0 - ands r5, r1 - movs r0, #7 - ands r5, r0 - cmp r5, #0 - bne _0801F91C - ldr r0, _0801F918 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x38 - bl sub_08049F1C - cmp r0, #0 - beq _0801F91C - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801FBE4 - b _0801F938 - .align 2, 0 -_0801F918: .4byte gUnk_020000B0 -_0801F91C: - cmp r5, #4 - bne _0801F92C - ldr r0, _0801F93C @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] -_0801F92C: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl GetNextFrame -_0801F938: - pop {r4, r5, pc} - .align 2, 0 -_0801F93C: .4byte gUnk_020000B0 - - thumb_func_start sub_0801F940 -sub_0801F940: @ 0x0801F940 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0801F988 - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801F966 - movs r0, #1 - eors r0, r1 - strb r0, [r2] - ldr r0, _0801F984 @ =0x0000012B - bl sub_08004488 -_0801F966: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0801F98E - adds r0, r4, #0 - bl GetNextFrame - b _0801F98E - .align 2, 0 -_0801F984: .4byte 0x0000012B -_0801F988: - adds r0, r4, #0 - bl GetNextFrame -_0801F98E: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F9C2 - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F9AE - adds r0, r4, #0 - bl sub_0801FAE0 - b _0801F9C2 -_0801F9AE: - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_0801F9C2: - pop {r4, pc} - - thumb_func_start sub_0801F9C4 -sub_0801F9C4: @ 0x0801F9C4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - subs r0, #1 - strb r0, [r1, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F9D8 - movs r0, #4 - strb r0, [r1, #0xc] -_0801F9D8: - adds r0, r1, #0 - bl GetNextFrame - pop {pc} - - thumb_func_start sub_0801F9E0 -sub_0801F9E0: @ 0x0801F9E0 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801FA2C - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - movs r1, #8 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation -_0801FA2C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FA30 -sub_0801FA30: @ 0x0801FA30 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801FA54 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AF160 - adds r0, r4, #0 - bl GetNextFrame - b _0801FA74 -_0801FA54: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801FA6E - movs r0, #9 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #7 - bl InitializeAnimation - b _0801FA74 -_0801FA6E: - adds r0, r4, #0 - bl sub_0801FAF8 -_0801FA74: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FA78 -sub_0801FA78: @ 0x0801FA78 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801FAA8 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl InitializeAnimation - adds r0, r4, #0 - bl sub_0804AA1C -_0801FAA8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FAAC -sub_0801FAAC: @ 0x0801FAAC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801FADC - adds r0, r4, #0 - bl sub_0801FB14 - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0804AA1C -_0801FADC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FAE0 -sub_0801FAE0: @ 0x0801FAE0 - push {lr} - movs r1, #7 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #5 - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801FAF8 -sub_0801FAF8: @ 0x0801FAF8 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #6 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - movs r1, #4 - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801FB14 -sub_0801FB14: @ 0x0801FB14 - push {r4, lr} - adds r4, r0, #0 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation - pop {r4, pc} - - thumb_func_start sub_0801FB34 -sub_0801FB34: @ 0x0801FB34 - push {r4, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x68] - cmp r3, #0 - beq _0801FB62 - ldr r2, _0801FB64 @ =gUnk_080CA2B4 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r0, r4, #0 - adds r1, r3, #0 - movs r3, #1 - bl sub_0806FA90 - ldr r1, [r4, #0x68] - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] -_0801FB62: - pop {r4, pc} - .align 2, 0 -_0801FB64: .4byte gUnk_080CA2B4 - - thumb_func_start sub_0801FB68 -sub_0801FB68: @ 0x0801FB68 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0801FB88 - cmp r0, #1 - bgt _0801FB7C - cmp r0, #0 - beq _0801FB82 - b _0801FBC8 -_0801FB7C: - cmp r0, #2 - beq _0801FBB6 - b _0801FBC8 -_0801FB82: - movs r0, #9 - strb r0, [r4, #0xc] - b _0801FBC8 -_0801FB88: - movs r0, #0xa - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - b _0801FBC8 -_0801FBB6: - movs r0, #0xa - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] - adds r0, r4, #0 - bl sub_0804AA1C -_0801FBC8: - movs r0, #0 - str r0, [r4, #0x20] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FBD0 -sub_0801FBD0: @ 0x0801FBD0 - push {lr} - bl sub_080002B8 - cmp r0, #0x10 - beq _0801FBDE - movs r0, #0 - b _0801FBE0 -_0801FBDE: - movs r0, #1 -_0801FBE0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801FBE4 -sub_0801FBE4: @ 0x0801FBE4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #3 - bl InitializeAnimation - pop {r4, pc} diff --git a/data/data_080C93E0.s b/data/data_080C93E0.s index 5b2ad0f8..9254078e 100644 --- a/data/data_080C93E0.s +++ b/data/data_080C93E0.s @@ -168,6045 +168,3 @@ gUnk_080CA1E3:: @ 080CA1E3 gUnk_080CA1F8:: @ 080CA1F8 .incbin "baserom.gba", 0x0CA1F8, 0x0000024 - -gUnk_080CA21C:: @ 080CA21C - .incbin "baserom.gba", 0x0CA21C, 0x0000018 - -gUnk_080CA234:: @ 080CA234 - .incbin "baserom.gba", 0x0CA234, 0x0000028 - -gUnk_080CA25C:: @ 080CA25C - .incbin "baserom.gba", 0x0CA25C, 0x000002C - -gUnk_080CA288:: @ 080CA288 - .incbin "baserom.gba", 0x0CA288, 0x000002C - -gUnk_080CA2B4:: @ 080CA2B4 - .incbin "baserom.gba", 0x0CA2B4, 0x000000A - -gUnk_080CA2BE:: @ 080CA2BE - .incbin "baserom.gba", 0x0CA2BE, 0x000002C - -gUnk_080CA2EA:: @ 080CA2EA - .incbin "baserom.gba", 0x0CA2EA, 0x0000011 - -gUnk_080CA2FB:: @ 080CA2FB - .incbin "baserom.gba", 0x0CA2FB, 0x0000041 - -gUnk_080CA33C:: @ 080CA33C - .incbin "baserom.gba", 0x0CA33C, 0x000001C - -gUnk_080CA358:: @ 080CA358 - .incbin "baserom.gba", 0x0CA358, 0x000000C - -gUnk_080CA364:: @ 080CA364 - .incbin "baserom.gba", 0x0CA364, 0x000000C - -gUnk_080CA370:: @ 080CA370 - .incbin "baserom.gba", 0x0CA370, 0x0000041 - -gUnk_080CA3B1:: @ 080CA3B1 - .incbin "baserom.gba", 0x0CA3B1, 0x0000014 - -gUnk_080CA3C5:: @ 080CA3C5 - .incbin "baserom.gba", 0x0CA3C5, 0x0000069 - -gUnk_080CA42E:: @ 080CA42E - .incbin "baserom.gba", 0x0CA42E, 0x0000042 - -gUnk_080CA470:: @ 080CA470 - .incbin "baserom.gba", 0x0CA470, 0x000002C - -gUnk_080CA49C:: @ 080CA49C - .incbin "baserom.gba", 0x0CA49C, 0x0000018 - -gUnk_080CA4B4:: @ 080CA4B4 - .incbin "baserom.gba", 0x0CA4B4, 0x0000014 - -gUnk_080CA4C8:: @ 080CA4C8 - .incbin "baserom.gba", 0x0CA4C8, 0x0000002 - -gUnk_080CA4CA:: @ 080CA4CA - .incbin "baserom.gba", 0x0CA4CA, 0x000000A - -gUnk_080CA4D4:: @ 080CA4D4 - .incbin "baserom.gba", 0x0CA4D4, 0x000002C - -gUnk_080CA500:: @ 080CA500 - .incbin "baserom.gba", 0x0CA500, 0x000001C - -gUnk_080CA51C:: @ 080CA51C - .incbin "baserom.gba", 0x0CA51C, 0x0000044 - -gUnk_080CA560:: @ 080CA560 - .incbin "baserom.gba", 0x0CA560, 0x0000010 - -gUnk_080CA570:: @ 080CA570 - .incbin "baserom.gba", 0x0CA570, 0x0000018 - -gUnk_080CA588:: @ 080CA588 - .incbin "baserom.gba", 0x0CA588, 0x0000008 - -gUnk_080CA590:: @ 080CA590 - .incbin "baserom.gba", 0x0CA590, 0x0000028 - -gUnk_080CA5B8:: @ 080CA5B8 - .incbin "baserom.gba", 0x0CA5B8, 0x0000004 - -gUnk_080CA5BC:: @ 080CA5BC - .incbin "baserom.gba", 0x0CA5BC, 0x0000018 - -gUnk_080CA5D4:: @ 080CA5D4 - .incbin "baserom.gba", 0x0CA5D4, 0x0000002 - -gUnk_080CA5D6:: @ 080CA5D6 - .incbin "baserom.gba", 0x0CA5D6, 0x0000011 - -gUnk_080CA5E7:: @ 080CA5E7 - .incbin "baserom.gba", 0x0CA5E7, 0x0000011 - -gUnk_080CA5F8:: @ 080CA5F8 - .incbin "baserom.gba", 0x0CA5F8, 0x000001D - -gUnk_080CA615:: @ 080CA615 - .incbin "baserom.gba", 0x0CA615, 0x0000011 - -gUnk_080CA626:: @ 080CA626 - .incbin "baserom.gba", 0x0CA626, 0x0000014 - -gUnk_080CA63A:: @ 080CA63A - .incbin "baserom.gba", 0x0CA63A, 0x0000016 - -gUnk_080CA650:: @ 080CA650 - .incbin "baserom.gba", 0x0CA650, 0x000001C - -gUnk_080CA66C:: @ 080CA66C - .incbin "baserom.gba", 0x0CA66C, 0x0000018 - -gUnk_080CA684:: @ 080CA684 - .incbin "baserom.gba", 0x0CA684, 0x0000020 - -gUnk_080CA6A4:: @ 080CA6A4 - .incbin "baserom.gba", 0x0CA6A4, 0x0000018 - -gUnk_080CA6BC:: @ 080CA6BC - .incbin "baserom.gba", 0x0CA6BC, 0x0000010 - -gUnk_080CA6CC:: @ 080CA6CC - .incbin "baserom.gba", 0x0CA6CC, 0x0000008 - -gUnk_080CA6D4:: @ 080CA6D4 - .incbin "baserom.gba", 0x0CA6D4, 0x0000003 - -gUnk_080CA6D7:: @ 080CA6D7 - .incbin "baserom.gba", 0x0CA6D7, 0x0000021 - -gUnk_080CA6F8:: @ 080CA6F8 - .incbin "baserom.gba", 0x0CA6F8, 0x0000021 - -gUnk_080CA719:: @ 080CA719 - .incbin "baserom.gba", 0x0CA719, 0x0000021 - -gUnk_080CA73A:: @ 080CA73A - .incbin "baserom.gba", 0x0CA73A, 0x0000021 - -gUnk_080CA75B:: @ 080CA75B - .incbin "baserom.gba", 0x0CA75B, 0x0000011 - -gUnk_080CA76C:: @ 080CA76C - .incbin "baserom.gba", 0x0CA76C, 0x0000011 - -gUnk_080CA77D:: @ 080CA77D - .incbin "baserom.gba", 0x0CA77D, 0x0000011 - -gUnk_080CA78E:: @ 080CA78E - .incbin "baserom.gba", 0x0CA78E, 0x0000011 - -gUnk_080CA79F:: @ 080CA79F - .incbin "baserom.gba", 0x0CA79F, 0x0000058 - -gUnk_080CA7F7:: @ 080CA7F7 - .incbin "baserom.gba", 0x0CA7F7, 0x0000058 - -gUnk_080CA84F:: @ 080CA84F - .incbin "baserom.gba", 0x0CA84F, 0x0000058 - -gUnk_080CA8A7:: @ 080CA8A7 - .incbin "baserom.gba", 0x0CA8A7, 0x0000058 - -gUnk_080CA8FF:: @ 080CA8FF - .incbin "baserom.gba", 0x0CA8FF, 0x0000008 - -gUnk_080CA907:: @ 080CA907 - .incbin "baserom.gba", 0x0CA907, 0x0000008 - -gUnk_080CA90F:: @ 080CA90F - .incbin "baserom.gba", 0x0CA90F, 0x0000008 - -gUnk_080CA917:: @ 080CA917 - .incbin "baserom.gba", 0x0CA917, 0x0000008 - -gUnk_080CA91F:: @ 080CA91F - .incbin "baserom.gba", 0x0CA91F, 0x0000004 - -gUnk_080CA923:: @ 080CA923 - .incbin "baserom.gba", 0x0CA923, 0x0000004 - -gUnk_080CA927:: @ 080CA927 - .incbin "baserom.gba", 0x0CA927, 0x0000004 - -gUnk_080CA92B:: @ 080CA92B - .incbin "baserom.gba", 0x0CA92B, 0x0000004 - -gUnk_080CA92F:: @ 080CA92F - .incbin "baserom.gba", 0x0CA92F, 0x0000041 - -gUnk_080CA970:: @ 080CA970 - .incbin "baserom.gba", 0x0CA970, 0x0000041 - -gUnk_080CA9B1:: @ 080CA9B1 - .incbin "baserom.gba", 0x0CA9B1, 0x0000041 - -gUnk_080CA9F2:: @ 080CA9F2 - .incbin "baserom.gba", 0x0CA9F2, 0x0000042 - -gUnk_080CAA34:: @ 080CAA34 - .incbin "baserom.gba", 0x0CAA34, 0x0000064 - -gUnk_080CAA98:: @ 080CAA98 - .incbin "baserom.gba", 0x0CAA98, 0x0000018 - -gUnk_080CAAB0:: @ 080CAAB0 - .incbin "baserom.gba", 0x0CAAB0, 0x0000050 - -gUnk_080CAB00:: @ 080CAB00 - .incbin "baserom.gba", 0x0CAB00, 0x0000004 - -gUnk_080CAB04:: @ 080CAB04 - .incbin "baserom.gba", 0x0CAB04, 0x0000004 - -gUnk_080CAB08:: @ 080CAB08 - .incbin "baserom.gba", 0x0CAB08, 0x0000004 - -gUnk_080CAB0C:: @ 080CAB0C - .incbin "baserom.gba", 0x0CAB0C, 0x0000004 - -gUnk_080CAB10:: @ 080CAB10 - .incbin "baserom.gba", 0x0CAB10, 0x0000004 - -gUnk_080CAB14:: @ 080CAB14 - .incbin "baserom.gba", 0x0CAB14, 0x0000026 - -gUnk_080CAB3A:: @ 080CAB3A - .incbin "baserom.gba", 0x0CAB3A, 0x0000008 - -gUnk_080CAB42:: @ 080CAB42 - .incbin "baserom.gba", 0x0CAB42, 0x0000008 - -gUnk_080CAB4A:: @ 080CAB4A - .incbin "baserom.gba", 0x0CAB4A, 0x0000008 - -gUnk_080CAB52:: @ 080CAB52 - .incbin "baserom.gba", 0x0CAB52, 0x0000006 - -gUnk_080CAB58:: @ 080CAB58 - .incbin "baserom.gba", 0x0CAB58, 0x0000010 - -gUnk_080CAB68:: @ 080CAB68 - .incbin "baserom.gba", 0x0CAB68, 0x0000004 - -gUnk_080CAB6C:: @ 080CAB6C - .incbin "baserom.gba", 0x0CAB6C, 0x0000004 - -gUnk_080CAB70:: @ 080CAB70 - .incbin "baserom.gba", 0x0CAB70, 0x0000004 - -gUnk_080CAB74:: @ 080CAB74 - .incbin "baserom.gba", 0x0CAB74, 0x0000004 - -gUnk_080CAB78:: @ 080CAB78 - .incbin "baserom.gba", 0x0CAB78, 0x0000004 - -gUnk_080CAB7C:: @ 080CAB7C - .incbin "baserom.gba", 0x0CAB7C, 0x0000010 - -gUnk_080CAB8C:: @ 080CAB8C - .incbin "baserom.gba", 0x0CAB8C, 0x0000010 - -gUnk_080CAB9C:: @ 080CAB9C - .incbin "baserom.gba", 0x0CAB9C, 0x0000010 - -gUnk_080CABAC:: @ 080CABAC - .incbin "baserom.gba", 0x0CABAC, 0x0000010 - -gUnk_080CABBC:: @ 080CABBC - .incbin "baserom.gba", 0x0CABBC, 0x0000004 - -gUnk_080CABC0:: @ 080CABC0 - .incbin "baserom.gba", 0x0CABC0, 0x0000004 - -gUnk_080CABC4:: @ 080CABC4 - .incbin "baserom.gba", 0x0CABC4, 0x0000004 - -gUnk_080CABC8:: @ 080CABC8 - .incbin "baserom.gba", 0x0CABC8, 0x0000004 - -gUnk_080CABCC:: @ 080CABCC - .incbin "baserom.gba", 0x0CABCC, 0x0000019 - -gUnk_080CABE5:: @ 080CABE5 - .incbin "baserom.gba", 0x0CABE5, 0x0000019 - -gUnk_080CABFE:: @ 080CABFE - .incbin "baserom.gba", 0x0CABFE, 0x0000019 - -gUnk_080CAC17:: @ 080CAC17 - .incbin "baserom.gba", 0x0CAC17, 0x0000019 - -gUnk_080CAC30:: @ 080CAC30 - .incbin "baserom.gba", 0x0CAC30, 0x000000C - -gUnk_080CAC3C:: @ 080CAC3C - .incbin "baserom.gba", 0x0CAC3C, 0x000000C - -gUnk_080CAC48:: @ 080CAC48 - .incbin "baserom.gba", 0x0CAC48, 0x000000C - -gUnk_080CAC54:: @ 080CAC54 - .incbin "baserom.gba", 0x0CAC54, 0x000000C - -gUnk_080CAC60:: @ 080CAC60 - .incbin "baserom.gba", 0x0CAC60, 0x0000028 - -gUnk_080CAC88:: @ 080CAC88 - .incbin "baserom.gba", 0x0CAC88, 0x0000028 - -gUnk_080CACB0:: @ 080CACB0 - .incbin "baserom.gba", 0x0CACB0, 0x0000028 - -gUnk_080CACD8:: @ 080CACD8 - .incbin "baserom.gba", 0x0CACD8, 0x0000028 - -gUnk_080CAD00:: @ 080CAD00 - .incbin "baserom.gba", 0x0CAD00, 0x0000019 - -gUnk_080CAD19:: @ 080CAD19 - .incbin "baserom.gba", 0x0CAD19, 0x0000019 - -gUnk_080CAD32:: @ 080CAD32 - .incbin "baserom.gba", 0x0CAD32, 0x0000019 - -gUnk_080CAD4B:: @ 080CAD4B - .incbin "baserom.gba", 0x0CAD4B, 0x0000019 - -gUnk_080CAD64:: @ 080CAD64 - .incbin "baserom.gba", 0x0CAD64, 0x000000C - -gUnk_080CAD70:: @ 080CAD70 - .incbin "baserom.gba", 0x0CAD70, 0x000000C - -gUnk_080CAD7C:: @ 080CAD7C - .incbin "baserom.gba", 0x0CAD7C, 0x000000C - -gUnk_080CAD88:: @ 080CAD88 - .incbin "baserom.gba", 0x0CAD88, 0x000000C - -gUnk_080CAD94:: @ 080CAD94 - .incbin "baserom.gba", 0x0CAD94, 0x0000015 - -gUnk_080CADA9:: @ 080CADA9 - .incbin "baserom.gba", 0x0CADA9, 0x0000015 - -gUnk_080CADBE:: @ 080CADBE - .incbin "baserom.gba", 0x0CADBE, 0x0000015 - -gUnk_080CADD3:: @ 080CADD3 - .incbin "baserom.gba", 0x0CADD3, 0x0000015 - -gUnk_080CADE8:: @ 080CADE8 - .incbin "baserom.gba", 0x0CADE8, 0x0000019 - -gUnk_080CAE01:: @ 080CAE01 - .incbin "baserom.gba", 0x0CAE01, 0x0000019 - -gUnk_080CAE1A:: @ 080CAE1A - .incbin "baserom.gba", 0x0CAE1A, 0x0000019 - -gUnk_080CAE33:: @ 080CAE33 - .incbin "baserom.gba", 0x0CAE33, 0x0000019 - -gUnk_080CAE4C:: @ 080CAE4C - .incbin "baserom.gba", 0x0CAE4C, 0x0000019 - -gUnk_080CAE65:: @ 080CAE65 - .incbin "baserom.gba", 0x0CAE65, 0x0000019 - -gUnk_080CAE7E:: @ 080CAE7E - .incbin "baserom.gba", 0x0CAE7E, 0x0000019 - -gUnk_080CAE97:: @ 080CAE97 - .incbin "baserom.gba", 0x0CAE97, 0x0000019 - -gUnk_080CAEB0:: @ 080CAEB0 - .incbin "baserom.gba", 0x0CAEB0, 0x0000010 - -gUnk_080CAEC0:: @ 080CAEC0 - .incbin "baserom.gba", 0x0CAEC0, 0x0000010 - -gUnk_080CAED0:: @ 080CAED0 - .incbin "baserom.gba", 0x0CAED0, 0x0000010 - -gUnk_080CAEE0:: @ 080CAEE0 - .incbin "baserom.gba", 0x0CAEE0, 0x0000010 - -gUnk_080CAEF0:: @ 080CAEF0 - .incbin "baserom.gba", 0x0CAEF0, 0x0000030 - -gUnk_080CAF20:: @ 080CAF20 - .incbin "baserom.gba", 0x0CAF20, 0x0000030 - -gUnk_080CAF50:: @ 080CAF50 - .incbin "baserom.gba", 0x0CAF50, 0x0000030 - -gUnk_080CAF80:: @ 080CAF80 - .incbin "baserom.gba", 0x0CAF80, 0x0000030 - -gUnk_080CAFB0:: @ 080CAFB0 - .incbin "baserom.gba", 0x0CAFB0, 0x0000018 - -gUnk_080CAFC8:: @ 080CAFC8 - .incbin "baserom.gba", 0x0CAFC8, 0x0000018 - -gUnk_080CAFE0:: @ 080CAFE0 - .incbin "baserom.gba", 0x0CAFE0, 0x0000018 - -gUnk_080CAFF8:: @ 080CAFF8 - .incbin "baserom.gba", 0x0CAFF8, 0x0000018 - -gUnk_080CB010:: @ 080CB010 - .incbin "baserom.gba", 0x0CB010, 0x0000035 - -gUnk_080CB045:: @ 080CB045 - .incbin "baserom.gba", 0x0CB045, 0x0000035 - -gUnk_080CB07A:: @ 080CB07A - .incbin "baserom.gba", 0x0CB07A, 0x0000035 - -gUnk_080CB0AF:: @ 080CB0AF - .incbin "baserom.gba", 0x0CB0AF, 0x0000035 - -gUnk_080CB0E4:: @ 080CB0E4 - .incbin "baserom.gba", 0x0CB0E4, 0x0000008 - -gUnk_080CB0EC:: @ 080CB0EC - .incbin "baserom.gba", 0x0CB0EC, 0x0000008 - -gUnk_080CB0F4:: @ 080CB0F4 - .incbin "baserom.gba", 0x0CB0F4, 0x0000008 - -gUnk_080CB0FC:: @ 080CB0FC - .incbin "baserom.gba", 0x0CB0FC, 0x0000008 - -gUnk_080CB104:: @ 080CB104 - .incbin "baserom.gba", 0x0CB104, 0x0000070 - -gUnk_080CB174:: @ 080CB174 - .incbin "baserom.gba", 0x0CB174, 0x0000070 - -gUnk_080CB1E4:: @ 080CB1E4 - .incbin "baserom.gba", 0x0CB1E4, 0x0000070 - -gUnk_080CB254:: @ 080CB254 - .incbin "baserom.gba", 0x0CB254, 0x0000070 - -gUnk_080CB2C4:: @ 080CB2C4 - .incbin "baserom.gba", 0x0CB2C4, 0x0000034 - -gUnk_080CB2F8:: @ 080CB2F8 - .incbin "baserom.gba", 0x0CB2F8, 0x0000034 - -gUnk_080CB32C:: @ 080CB32C - .incbin "baserom.gba", 0x0CB32C, 0x0000034 - -gUnk_080CB360:: @ 080CB360 - .incbin "baserom.gba", 0x0CB360, 0x0000034 - -gUnk_080CB394:: @ 080CB394 - .incbin "baserom.gba", 0x0CB394, 0x0000029 - -gUnk_080CB3BD:: @ 080CB3BD - .incbin "baserom.gba", 0x0CB3BD, 0x0000029 - -gUnk_080CB3E6:: @ 080CB3E6 - .incbin "baserom.gba", 0x0CB3E6, 0x0000029 - -gUnk_080CB40F:: @ 080CB40F - .incbin "baserom.gba", 0x0CB40F, 0x0000029 - -gUnk_080CB438:: @ 080CB438 - .incbin "baserom.gba", 0x0CB438, 0x00000C4 - -gUnk_080CB4FC:: @ 080CB4FC - .incbin "baserom.gba", 0x0CB4FC, 0x0000074 - -gUnk_080CB570:: @ 080CB570 - .incbin "baserom.gba", 0x0CB570, 0x0000018 - -gUnk_080CB588:: @ 080CB588 - .incbin "baserom.gba", 0x0CB588, 0x0000008 - -gUnk_080CB590:: @ 080CB590 - .incbin "baserom.gba", 0x0CB590, 0x0000018 - -gUnk_080CB5A8:: @ 080CB5A8 - .incbin "baserom.gba", 0x0CB5A8, 0x0000020 - -gUnk_080CB5C8:: @ 080CB5C8 - .incbin "baserom.gba", 0x0CB5C8, 0x000000C - -gUnk_080CB5D4:: @ 080CB5D4 - .incbin "baserom.gba", 0x0CB5D4, 0x0000008 - -gUnk_080CB5DC:: @ 080CB5DC - .incbin "baserom.gba", 0x0CB5DC, 0x0000008 - -gUnk_080CB5E4:: @ 080CB5E4 - .incbin "baserom.gba", 0x0CB5E4, 0x0000008 - -gUnk_080CB5EC:: @ 080CB5EC - .incbin "baserom.gba", 0x0CB5EC, 0x0000014 - -gUnk_080CB600:: @ 080CB600 - .incbin "baserom.gba", 0x0CB600, 0x000001C - -gUnk_080CB61C:: @ 080CB61C - .incbin "baserom.gba", 0x0CB61C, 0x0000011 - -gUnk_080CB62D:: @ 080CB62D - .incbin "baserom.gba", 0x0CB62D, 0x0000018 - -gUnk_080CB645:: @ 080CB645 - .incbin "baserom.gba", 0x0CB645, 0x0000018 - -gUnk_080CB65D:: @ 080CB65D - .incbin "baserom.gba", 0x0CB65D, 0x0000014 - -gUnk_080CB671:: @ 080CB671 - .incbin "baserom.gba", 0x0CB671, 0x000000B - -gUnk_080CB67C:: @ 080CB67C - .incbin "baserom.gba", 0x0CB67C, 0x0000020 - -gUnk_080CB69C:: @ 080CB69C - .incbin "baserom.gba", 0x0CB69C, 0x0000018 - -gUnk_080CB6B4:: @ 080CB6B4 - .incbin "baserom.gba", 0x0CB6B4, 0x0000010 - -gUnk_080CB6C4:: @ 080CB6C4 - .incbin "baserom.gba", 0x0CB6C4, 0x000000C - -gUnk_080CB6D0:: @ 080CB6D0 - .incbin "baserom.gba", 0x0CB6D0, 0x0000006 - -gUnk_080CB6D6:: @ 080CB6D6 - .incbin "baserom.gba", 0x0CB6D6, 0x0000020 - -gUnk_080CB6F6:: @ 080CB6F6 - .incbin "baserom.gba", 0x0CB6F6, 0x0000010 - -gUnk_080CB706:: @ 080CB706 - .incbin "baserom.gba", 0x0CB706, 0x0000018 - -gUnk_080CB71E:: @ 080CB71E - .incbin "baserom.gba", 0x0CB71E, 0x000000A - -gUnk_080CB728:: @ 080CB728 - .incbin "baserom.gba", 0x0CB728, 0x000000C - -gUnk_080CB734:: @ 080CB734 - .incbin "baserom.gba", 0x0CB734, 0x0000018 - -gUnk_080CB74C:: @ 080CB74C - .incbin "baserom.gba", 0x0CB74C, 0x0000018 - -gUnk_080CB764:: @ 080CB764 - .incbin "baserom.gba", 0x0CB764, 0x0000008 - -gUnk_080CB76C:: @ 080CB76C - .incbin "baserom.gba", 0x0CB76C, 0x0000030 - -gUnk_080CB79C:: @ 080CB79C - .incbin "baserom.gba", 0x0CB79C, 0x0000008 - -gUnk_080CB7A4:: @ 080CB7A4 - .incbin "baserom.gba", 0x0CB7A4, 0x0000008 - -gUnk_080CB7AC:: @ 080CB7AC - .incbin "baserom.gba", 0x0CB7AC, 0x0000008 - -gUnk_080CB7B4:: @ 080CB7B4 - .incbin "baserom.gba", 0x0CB7B4, 0x0000008 - -gUnk_080CB7BC:: @ 080CB7BC - .incbin "baserom.gba", 0x0CB7BC, 0x0000008 - -gUnk_080CB7C4:: @ 080CB7C4 - .incbin "baserom.gba", 0x0CB7C4, 0x0000008 - -gUnk_080CB7CC:: @ 080CB7CC - .incbin "baserom.gba", 0x0CB7CC, 0x0000008 - -gUnk_080CB7D4:: @ 080CB7D4 - .incbin "baserom.gba", 0x0CB7D4, 0x0000008 - -gUnk_080CB7DC:: @ 080CB7DC - .incbin "baserom.gba", 0x0CB7DC, 0x0000008 - -gUnk_080CB7E4:: @ 080CB7E4 - .incbin "baserom.gba", 0x0CB7E4, 0x0000008 - -gUnk_080CB7EC:: @ 080CB7EC - .incbin "baserom.gba", 0x0CB7EC, 0x0000008 - -gUnk_080CB7F4:: @ 080CB7F4 - .incbin "baserom.gba", 0x0CB7F4, 0x0000030 - -gUnk_080CB824:: @ 080CB824 - .incbin "baserom.gba", 0x0CB824, 0x0000008 - -gUnk_080CB82C:: @ 080CB82C - .incbin "baserom.gba", 0x0CB82C, 0x0000008 - -gUnk_080CB834:: @ 080CB834 - .incbin "baserom.gba", 0x0CB834, 0x0000008 - -gUnk_080CB83C:: @ 080CB83C - .incbin "baserom.gba", 0x0CB83C, 0x0000008 - -gUnk_080CB844:: @ 080CB844 - .incbin "baserom.gba", 0x0CB844, 0x0000008 - -gUnk_080CB84C:: @ 080CB84C - .incbin "baserom.gba", 0x0CB84C, 0x0000008 - -gUnk_080CB854:: @ 080CB854 - .incbin "baserom.gba", 0x0CB854, 0x0000008 - -gUnk_080CB85C:: @ 080CB85C - .incbin "baserom.gba", 0x0CB85C, 0x0000008 - -gUnk_080CB864:: @ 080CB864 - .incbin "baserom.gba", 0x0CB864, 0x0000008 - -gUnk_080CB86C:: @ 080CB86C - .incbin "baserom.gba", 0x0CB86C, 0x0000008 - -gUnk_080CB874:: @ 080CB874 - .incbin "baserom.gba", 0x0CB874, 0x0000030 - -gUnk_080CB8A4:: @ 080CB8A4 - .incbin "baserom.gba", 0x0CB8A4, 0x0000010 - -gUnk_080CB8B4:: @ 080CB8B4 - .incbin "baserom.gba", 0x0CB8B4, 0x0000005 - -gUnk_080CB8B9:: @ 080CB8B9 - .incbin "baserom.gba", 0x0CB8B9, 0x0000005 - -gUnk_080CB8BE:: @ 080CB8BE - .incbin "baserom.gba", 0x0CB8BE, 0x0000019 - -gUnk_080CB8D7:: @ 080CB8D7 - .incbin "baserom.gba", 0x0CB8D7, 0x0000019 - -gUnk_080CB8F0:: @ 080CB8F0 - .incbin "baserom.gba", 0x0CB8F0, 0x0000011 - -gUnk_080CB901:: @ 080CB901 - .incbin "baserom.gba", 0x0CB901, 0x0000013 - -gUnk_080CB914:: @ 080CB914 - .incbin "baserom.gba", 0x0CB914, 0x0000034 - -gUnk_080CB948:: @ 080CB948 - .incbin "baserom.gba", 0x0CB948, 0x0000018 - -gUnk_080CB960:: @ 080CB960 - .incbin "baserom.gba", 0x0CB960, 0x000000C - -gUnk_080CB96C:: @ 080CB96C - .incbin "baserom.gba", 0x0CB96C, 0x0000029 - -gUnk_080CB995:: @ 080CB995 - .incbin "baserom.gba", 0x0CB995, 0x0000041 - -gUnk_080CB9D6:: @ 080CB9D6 - .incbin "baserom.gba", 0x0CB9D6, 0x0000042 - -gUnk_080CBA18:: @ 080CBA18 - .incbin "baserom.gba", 0x0CBA18, 0x0000010 - -gUnk_080CBA28:: @ 080CBA28 - .incbin "baserom.gba", 0x0CBA28, 0x0000018 - -gUnk_080CBA40:: @ 080CBA40 - .incbin "baserom.gba", 0x0CBA40, 0x0000020 - -gUnk_080CBA60:: @ 080CBA60 - .incbin "baserom.gba", 0x0CBA60, 0x0000004 - -gUnk_080CBA64:: @ 080CBA64 - .incbin "baserom.gba", 0x0CBA64, 0x0000041 - -gUnk_080CBAA5:: @ 080CBAA5 - .incbin "baserom.gba", 0x0CBAA5, 0x0000040 - -gUnk_080CBAE5:: @ 080CBAE5 - .incbin "baserom.gba", 0x0CBAE5, 0x0000018 - -gUnk_080CBAFD:: @ 080CBAFD - .incbin "baserom.gba", 0x0CBAFD, 0x0000024 - -gUnk_080CBB21:: @ 080CBB21 - .incbin "baserom.gba", 0x0CBB21, 0x0000011 - -gUnk_080CBB32:: @ 080CBB32 - .incbin "baserom.gba", 0x0CBB32, 0x000000D - -gUnk_080CBB3F:: @ 080CBB3F - .incbin "baserom.gba", 0x0CBB3F, 0x0000005 - -gUnk_080CBB44:: @ 080CBB44 - .incbin "baserom.gba", 0x0CBB44, 0x0000020 - -gUnk_080CBB64:: @ 080CBB64 - .incbin "baserom.gba", 0x0CBB64, 0x0000018 - -gUnk_080CBB7C:: @ 080CBB7C - .incbin "baserom.gba", 0x0CBB7C, 0x0000014 - -gUnk_080CBB90:: @ 080CBB90 - .incbin "baserom.gba", 0x0CBB90, 0x0000010 - -gUnk_080CBBA0:: @ 080CBBA0 - .incbin "baserom.gba", 0x0CBBA0, 0x0000014 - -gUnk_080CBBB4:: @ 080CBBB4 - .incbin "baserom.gba", 0x0CBBB4, 0x0000008 - -gUnk_080CBBBC:: @ 080CBBBC - .incbin "baserom.gba", 0x0CBBBC, 0x0000008 - -gUnk_080CBBC4:: @ 080CBBC4 - .incbin "baserom.gba", 0x0CBBC4, 0x0000004 - -gUnk_080CBBC8:: @ 080CBBC8 - .incbin "baserom.gba", 0x0CBBC8, 0x0000014 - -gUnk_080CBBDC:: @ 080CBBDC - .incbin "baserom.gba", 0x0CBBDC, 0x0000010 - -gUnk_080CBBEC:: @ 080CBBEC - .incbin "baserom.gba", 0x0CBBEC, 0x000004C - -gUnk_080CBC38:: @ 080CBC38 - .incbin "baserom.gba", 0x0CBC38, 0x0000018 - -gUnk_080CBC50:: @ 080CBC50 - .incbin "baserom.gba", 0x0CBC50, 0x0000020 - -gUnk_080CBC70:: @ 080CBC70 - .incbin "baserom.gba", 0x0CBC70, 0x0000020 - -gUnk_080CBC90:: @ 080CBC90 - .incbin "baserom.gba", 0x0CBC90, 0x0000008 - -gUnk_080CBC98:: @ 080CBC98 - .incbin "baserom.gba", 0x0CBC98, 0x0000010 - -gUnk_080CBCA8:: @ 080CBCA8 - .incbin "baserom.gba", 0x0CBCA8, 0x0000010 - -gUnk_080CBCB8:: @ 080CBCB8 - .incbin "baserom.gba", 0x0CBCB8, 0x0000010 - -gUnk_080CBCC8:: @ 080CBCC8 - .incbin "baserom.gba", 0x0CBCC8, 0x0000004 - -gUnk_080CBCCC:: @ 080CBCCC - .incbin "baserom.gba", 0x0CBCCC, 0x0000004 - -gUnk_080CBCD0:: @ 080CBCD0 - .incbin "baserom.gba", 0x0CBCD0, 0x0000004 - -gUnk_080CBCD4:: @ 080CBCD4 - .incbin "baserom.gba", 0x0CBCD4, 0x0000004 - -gUnk_080CBCD8:: @ 080CBCD8 - .incbin "baserom.gba", 0x0CBCD8, 0x0000004 - -gUnk_080CBCDC:: @ 080CBCDC - .incbin "baserom.gba", 0x0CBCDC, 0x0000004 - -gUnk_080CBCE0:: @ 080CBCE0 - .incbin "baserom.gba", 0x0CBCE0, 0x0000004 - -gUnk_080CBCE4:: @ 080CBCE4 - .incbin "baserom.gba", 0x0CBCE4, 0x0000004 - -gUnk_080CBCE8:: @ 080CBCE8 - .incbin "baserom.gba", 0x0CBCE8, 0x0000004 - -gUnk_080CBCEC:: @ 080CBCEC - .incbin "baserom.gba", 0x0CBCEC, 0x0000004 - -gUnk_080CBCF0:: @ 080CBCF0 - .incbin "baserom.gba", 0x0CBCF0, 0x0000004 - -gUnk_080CBCF4:: @ 080CBCF4 - .incbin "baserom.gba", 0x0CBCF4, 0x0000004 - -gUnk_080CBCF8:: @ 080CBCF8 - .incbin "baserom.gba", 0x0CBCF8, 0x0000004 - -gUnk_080CBCFC:: @ 080CBCFC - .incbin "baserom.gba", 0x0CBCFC, 0x0000004 - -gUnk_080CBD00:: @ 080CBD00 - .incbin "baserom.gba", 0x0CBD00, 0x0000004 - -gUnk_080CBD04:: @ 080CBD04 - .incbin "baserom.gba", 0x0CBD04, 0x0000004 - -gUnk_080CBD08:: @ 080CBD08 - .incbin "baserom.gba", 0x0CBD08, 0x0000004 - -gUnk_080CBD0C:: @ 080CBD0C - .incbin "baserom.gba", 0x0CBD0C, 0x0000004 - -gUnk_080CBD10:: @ 080CBD10 - .incbin "baserom.gba", 0x0CBD10, 0x0000004 - -gUnk_080CBD14:: @ 080CBD14 - .incbin "baserom.gba", 0x0CBD14, 0x0000004 - -gUnk_080CBD18:: @ 080CBD18 - .incbin "baserom.gba", 0x0CBD18, 0x0000004 - -gUnk_080CBD1C:: @ 080CBD1C - .incbin "baserom.gba", 0x0CBD1C, 0x0000004 - -gUnk_080CBD20:: @ 080CBD20 - .incbin "baserom.gba", 0x0CBD20, 0x000002C - -gUnk_080CBD4C:: @ 080CBD4C - .incbin "baserom.gba", 0x0CBD4C, 0x000000C - -gUnk_080CBD58:: @ 080CBD58 - .incbin "baserom.gba", 0x0CBD58, 0x0000064 - -gUnk_080CBDBC:: @ 080CBDBC - .incbin "baserom.gba", 0x0CBDBC, 0x0000018 - -gUnk_080CBDD4:: @ 080CBDD4 - .incbin "baserom.gba", 0x0CBDD4, 0x0000018 - -gUnk_080CBDEC:: @ 080CBDEC - .incbin "baserom.gba", 0x0CBDEC, 0x0000008 - -gUnk_080CBDF4:: @ 080CBDF4 - .incbin "baserom.gba", 0x0CBDF4, 0x0000003 - -gUnk_080CBDF7:: @ 080CBDF7 - .incbin "baserom.gba", 0x0CBDF7, 0x0000008 - -gUnk_080CBDFF:: @ 080CBDFF - .incbin "baserom.gba", 0x0CBDFF, 0x0000003 - -gUnk_080CBE02:: @ 080CBE02 - .incbin "baserom.gba", 0x0CBE02, 0x0000019 - -gUnk_080CBE1B:: @ 080CBE1B - .incbin "baserom.gba", 0x0CBE1B, 0x0000019 - -gUnk_080CBE34:: @ 080CBE34 - .incbin "baserom.gba", 0x0CBE34, 0x0000019 - -gUnk_080CBE4D:: @ 080CBE4D - .incbin "baserom.gba", 0x0CBE4D, 0x0000019 - -gUnk_080CBE66:: @ 080CBE66 - .incbin "baserom.gba", 0x0CBE66, 0x0000024 - -gUnk_080CBE8A:: @ 080CBE8A - .incbin "baserom.gba", 0x0CBE8A, 0x0000014 - -gUnk_080CBE9E:: @ 080CBE9E - .incbin "baserom.gba", 0x0CBE9E, 0x0000006 - -gUnk_080CBEA4:: @ 080CBEA4 - .incbin "baserom.gba", 0x0CBEA4, 0x0000020 - -gUnk_080CBEC4:: @ 080CBEC4 - .incbin "baserom.gba", 0x0CBEC4, 0x0000018 - -gUnk_080CBEDC:: @ 080CBEDC - .incbin "baserom.gba", 0x0CBEDC, 0x000001C - -gUnk_080CBEF8:: @ 080CBEF8 - .incbin "baserom.gba", 0x0CBEF8, 0x0000018 - -gUnk_080CBF10:: @ 080CBF10 - .incbin "baserom.gba", 0x0CBF10, 0x0000008 - -gUnk_080CBF18:: @ 080CBF18 - .incbin "baserom.gba", 0x0CBF18, 0x0000008 - -gUnk_080CBF20:: @ 080CBF20 - .incbin "baserom.gba", 0x0CBF20, 0x0000010 - -gUnk_080CBF30:: @ 080CBF30 - .incbin "baserom.gba", 0x0CBF30, 0x0000009 - -gUnk_080CBF39:: @ 080CBF39 - .incbin "baserom.gba", 0x0CBF39, 0x0000009 - -gUnk_080CBF42:: @ 080CBF42 - .incbin "baserom.gba", 0x0CBF42, 0x0000009 - -gUnk_080CBF4B:: @ 080CBF4B - .incbin "baserom.gba", 0x0CBF4B, 0x0000009 - -gUnk_080CBF54:: @ 080CBF54 - .incbin "baserom.gba", 0x0CBF54, 0x0000009 - -gUnk_080CBF5D:: @ 080CBF5D - .incbin "baserom.gba", 0x0CBF5D, 0x0000009 - -gUnk_080CBF66:: @ 080CBF66 - .incbin "baserom.gba", 0x0CBF66, 0x0000009 - -gUnk_080CBF6F:: @ 080CBF6F - .incbin "baserom.gba", 0x0CBF6F, 0x0000009 - -gUnk_080CBF78:: @ 080CBF78 - .incbin "baserom.gba", 0x0CBF78, 0x0000024 - -gUnk_080CBF9C:: @ 080CBF9C - .incbin "baserom.gba", 0x0CBF9C, 0x0000018 - -gUnk_080CBFB4:: @ 080CBFB4 - .incbin "baserom.gba", 0x0CBFB4, 0x0000034 - -gUnk_080CBFE8:: @ 080CBFE8 - .incbin "baserom.gba", 0x0CBFE8, 0x0000004 - -gUnk_080CBFEC:: @ 080CBFEC - .incbin "baserom.gba", 0x0CBFEC, 0x000000C - -gUnk_080CBFF8:: @ 080CBFF8 - .incbin "baserom.gba", 0x0CBFF8, 0x0000008 - -gUnk_080CC000:: @ 080CC000 - .incbin "baserom.gba", 0x0CC000, 0x0000020 - -gUnk_080CC020:: @ 080CC020 - .incbin "baserom.gba", 0x0CC020, 0x0000030 - -gUnk_080CC050:: @ 080CC050 - .incbin "baserom.gba", 0x0CC050, 0x0000008 - -gUnk_080CC058:: @ 080CC058 - .incbin "baserom.gba", 0x0CC058, 0x000000B - -gUnk_080CC063:: @ 080CC063 - .incbin "baserom.gba", 0x0CC063, 0x0000011 - -gUnk_080CC074:: @ 080CC074 - .incbin "baserom.gba", 0x0CC074, 0x0000011 - -gUnk_080CC085:: @ 080CC085 - .incbin "baserom.gba", 0x0CC085, 0x000000B - -gUnk_080CC090:: @ 080CC090 - .incbin "baserom.gba", 0x0CC090, 0x0000010 - -gUnk_080CC0A0:: @ 080CC0A0 - .incbin "baserom.gba", 0x0CC0A0, 0x0000008 - -gUnk_080CC0A8:: @ 080CC0A8 - .incbin "baserom.gba", 0x0CC0A8, 0x0000012 - -gUnk_080CC0BA:: @ 080CC0BA - .incbin "baserom.gba", 0x0CC0BA, 0x0000008 - -gUnk_080CC0C2:: @ 080CC0C2 - .incbin "baserom.gba", 0x0CC0C2, 0x0000008 - -gUnk_080CC0CA:: @ 080CC0CA - .incbin "baserom.gba", 0x0CC0CA, 0x0000041 - -gUnk_080CC10B:: @ 080CC10B - .incbin "baserom.gba", 0x0CC10B, 0x000000D - -gUnk_080CC118:: @ 080CC118 - .incbin "baserom.gba", 0x0CC118, 0x0000009 - -gUnk_080CC121:: @ 080CC121 - .incbin "baserom.gba", 0x0CC121, 0x0000010 - -gUnk_080CC131:: @ 080CC131 - .incbin "baserom.gba", 0x0CC131, 0x000000D - -gUnk_080CC13E:: @ 080CC13E - .incbin "baserom.gba", 0x0CC13E, 0x000000D - -gUnk_080CC14B:: @ 080CC14B - .incbin "baserom.gba", 0x0CC14B, 0x000000D - -gUnk_080CC158:: @ 080CC158 - .incbin "baserom.gba", 0x0CC158, 0x000000D - -gUnk_080CC165:: @ 080CC165 - .incbin "baserom.gba", 0x0CC165, 0x000000F - -gUnk_080CC174:: @ 080CC174 - .incbin "baserom.gba", 0x0CC174, 0x0000028 - -gUnk_080CC19C:: @ 080CC19C - .incbin "baserom.gba", 0x0CC19C, 0x0000014 - -gUnk_080CC1B0:: @ 080CC1B0 - .incbin "baserom.gba", 0x0CC1B0, 0x0000008 - -gUnk_080CC1B8:: @ 080CC1B8 - .incbin "baserom.gba", 0x0CC1B8, 0x0000010 - -gUnk_080CC1C8:: @ 080CC1C8 - .incbin "baserom.gba", 0x0CC1C8, 0x0000014 - -gUnk_080CC1DC:: @ 080CC1DC - .incbin "baserom.gba", 0x0CC1DC, 0x0000030 - -gUnk_080CC20C:: @ 080CC20C - .incbin "baserom.gba", 0x0CC20C, 0x0000028 - -gUnk_080CC234:: @ 080CC234 - .incbin "baserom.gba", 0x0CC234, 0x000001B - -gUnk_080CC24F:: @ 080CC24F - .incbin "baserom.gba", 0x0CC24F, 0x0000009 - -gUnk_080CC258:: @ 080CC258 - .incbin "baserom.gba", 0x0CC258, 0x000000C - -gUnk_080CC264:: @ 080CC264 - .incbin "baserom.gba", 0x0CC264, 0x0000008 - -gUnk_080CC26C:: @ 080CC26C - .incbin "baserom.gba", 0x0CC26C, 0x000000C - -gUnk_080CC278:: @ 080CC278 - .incbin "baserom.gba", 0x0CC278, 0x0000004 - -gUnk_080CC27C:: @ 080CC27C - .incbin "baserom.gba", 0x0CC27C, 0x0000020 - -gUnk_080CC29C:: @ 080CC29C - .incbin "baserom.gba", 0x0CC29C, 0x0000020 - -gUnk_080CC2BC:: @ 080CC2BC - .incbin "baserom.gba", 0x0CC2BC, 0x0000020 - -gUnk_080CC2DC:: @ 080CC2DC - .incbin "baserom.gba", 0x0CC2DC, 0x0000003 - -gUnk_080CC2DF:: @ 080CC2DF - .incbin "baserom.gba", 0x0CC2DF, 0x0000004 - -gUnk_080CC2E3:: @ 080CC2E3 - .incbin "baserom.gba", 0x0CC2E3, 0x0000004 - -gUnk_080CC2E7:: @ 080CC2E7 - .incbin "baserom.gba", 0x0CC2E7, 0x0000004 - -gUnk_080CC2EB:: @ 080CC2EB - .incbin "baserom.gba", 0x0CC2EB, 0x0000004 - -gUnk_080CC2EF:: @ 080CC2EF - .incbin "baserom.gba", 0x0CC2EF, 0x0000005 - -gUnk_080CC2F4:: @ 080CC2F4 - .incbin "baserom.gba", 0x0CC2F4, 0x0000011 - -gUnk_080CC305:: @ 080CC305 - .incbin "baserom.gba", 0x0CC305, 0x0000019 - -gUnk_080CC31E:: @ 080CC31E - .incbin "baserom.gba", 0x0CC31E, 0x000000D - -gUnk_080CC32B:: @ 080CC32B - .incbin "baserom.gba", 0x0CC32B, 0x000000D - -gUnk_080CC338:: @ 080CC338 - .incbin "baserom.gba", 0x0CC338, 0x0000005 - -gUnk_080CC33D:: @ 080CC33D - .incbin "baserom.gba", 0x0CC33D, 0x0000009 - -gUnk_080CC346:: @ 080CC346 - .incbin "baserom.gba", 0x0CC346, 0x000000D - -gUnk_080CC353:: @ 080CC353 - .incbin "baserom.gba", 0x0CC353, 0x0000009 - -gUnk_080CC35C:: @ 080CC35C - .incbin "baserom.gba", 0x0CC35C, 0x000000D - -gUnk_080CC369:: @ 080CC369 - .incbin "baserom.gba", 0x0CC369, 0x0000009 - -gUnk_080CC372:: @ 080CC372 - .incbin "baserom.gba", 0x0CC372, 0x0000009 - -gUnk_080CC37B:: @ 080CC37B - .incbin "baserom.gba", 0x0CC37B, 0x0000021 - -gUnk_080CC39C:: @ 080CC39C - .incbin "baserom.gba", 0x0CC39C, 0x0000038 - -gUnk_080CC3D4:: @ 080CC3D4 - .incbin "baserom.gba", 0x0CC3D4, 0x0000038 - -gUnk_080CC40C:: @ 080CC40C - .incbin "baserom.gba", 0x0CC40C, 0x0000034 - -gUnk_080CC440:: @ 080CC440 - .incbin "baserom.gba", 0x0CC440, 0x0000038 - -gUnk_080CC478:: @ 080CC478 - .incbin "baserom.gba", 0x0CC478, 0x0000038 - -gUnk_080CC4B0:: @ 080CC4B0 - .incbin "baserom.gba", 0x0CC4B0, 0x0000065 - -gUnk_080CC515:: @ 080CC515 - .incbin "baserom.gba", 0x0CC515, 0x000006D - -gUnk_080CC582:: @ 080CC582 - .incbin "baserom.gba", 0x0CC582, 0x000006D - -gUnk_080CC5EF:: @ 080CC5EF - .incbin "baserom.gba", 0x0CC5EF, 0x000006D - -gUnk_080CC65C:: @ 080CC65C - .incbin "baserom.gba", 0x0CC65C, 0x0000021 - -gUnk_080CC67D:: @ 080CC67D - .incbin "baserom.gba", 0x0CC67D, 0x0000007 - -gUnk_080CC684:: @ 080CC684 - .incbin "baserom.gba", 0x0CC684, 0x0000018 - -gUnk_080CC69C:: @ 080CC69C - .incbin "baserom.gba", 0x0CC69C, 0x0000038 - -gUnk_080CC6D4:: @ 080CC6D4 - .incbin "baserom.gba", 0x0CC6D4, 0x0000028 - -gUnk_080CC6FC:: @ 080CC6FC - .incbin "baserom.gba", 0x0CC6FC, 0x0000018 - -gUnk_080CC714:: @ 080CC714 - .incbin "baserom.gba", 0x0CC714, 0x0000020 - -gUnk_080CC734:: @ 080CC734 - .incbin "baserom.gba", 0x0CC734, 0x0000025 - -gUnk_080CC759:: @ 080CC759 - .incbin "baserom.gba", 0x0CC759, 0x0000015 - -gUnk_080CC76E:: @ 080CC76E - .incbin "baserom.gba", 0x0CC76E, 0x0000012 - -gUnk_080CC780:: @ 080CC780 - .incbin "baserom.gba", 0x0CC780, 0x0000010 - -gUnk_080CC790:: @ 080CC790 - .incbin "baserom.gba", 0x0CC790, 0x0000018 - -gUnk_080CC7A8:: @ 080CC7A8 - .incbin "baserom.gba", 0x0CC7A8, 0x0000014 - -gUnk_080CC7BC:: @ 080CC7BC - .incbin "baserom.gba", 0x0CC7BC, 0x0000004 - -gUnk_080CC7C0:: @ 080CC7C0 - .incbin "baserom.gba", 0x0CC7C0, 0x0000010 - -gUnk_080CC7D0:: @ 080CC7D0 - .incbin "baserom.gba", 0x0CC7D0, 0x0000008 - -gUnk_080CC7D8:: @ 080CC7D8 - .incbin "baserom.gba", 0x0CC7D8, 0x0000008 - -gUnk_080CC7E0:: @ 080CC7E0 - .incbin "baserom.gba", 0x0CC7E0, 0x0000009 - -gUnk_080CC7E9:: @ 080CC7E9 - .incbin "baserom.gba", 0x0CC7E9, 0x0000009 - -gUnk_080CC7F2:: @ 080CC7F2 - .incbin "baserom.gba", 0x0CC7F2, 0x0000009 - -gUnk_080CC7FB:: @ 080CC7FB - .incbin "baserom.gba", 0x0CC7FB, 0x0000009 - -gUnk_080CC804:: @ 080CC804 - .incbin "baserom.gba", 0x0CC804, 0x0000011 - -gUnk_080CC815:: @ 080CC815 - .incbin "baserom.gba", 0x0CC815, 0x0000011 - -gUnk_080CC826:: @ 080CC826 - .incbin "baserom.gba", 0x0CC826, 0x0000011 - -gUnk_080CC837:: @ 080CC837 - .incbin "baserom.gba", 0x0CC837, 0x0000011 - -gUnk_080CC848:: @ 080CC848 - .incbin "baserom.gba", 0x0CC848, 0x0000011 - -gUnk_080CC859:: @ 080CC859 - .incbin "baserom.gba", 0x0CC859, 0x0000011 - -gUnk_080CC86A:: @ 080CC86A - .incbin "baserom.gba", 0x0CC86A, 0x0000011 - -gUnk_080CC87B:: @ 080CC87B - .incbin "baserom.gba", 0x0CC87B, 0x0000011 - -gUnk_080CC88C:: @ 080CC88C - .incbin "baserom.gba", 0x0CC88C, 0x0000015 - -gUnk_080CC8A1:: @ 080CC8A1 - .incbin "baserom.gba", 0x0CC8A1, 0x0000015 - -gUnk_080CC8B6:: @ 080CC8B6 - .incbin "baserom.gba", 0x0CC8B6, 0x0000015 - -gUnk_080CC8CB:: @ 080CC8CB - .incbin "baserom.gba", 0x0CC8CB, 0x0000015 - -gUnk_080CC8E0:: @ 080CC8E0 - .incbin "baserom.gba", 0x0CC8E0, 0x0000044 - -gUnk_080CC924:: @ 080CC924 - .incbin "baserom.gba", 0x0CC924, 0x0000008 - -gUnk_080CC92C:: @ 080CC92C - .incbin "baserom.gba", 0x0CC92C, 0x0000008 - -gUnk_080CC934:: @ 080CC934 - .incbin "baserom.gba", 0x0CC934, 0x0000008 - -gUnk_080CC93C:: @ 080CC93C - .incbin "baserom.gba", 0x0CC93C, 0x0000008 - -gUnk_080CC944:: @ 080CC944 - .incbin "baserom.gba", 0x0CC944, 0x0000010 - -gUnk_080CC954:: @ 080CC954 - .incbin "baserom.gba", 0x0CC954, 0x000006C - -gUnk_080CC9C0:: @ 080CC9C0 - .incbin "baserom.gba", 0x0CC9C0, 0x0000008 - -gUnk_080CC9C8:: @ 080CC9C8 - .incbin "baserom.gba", 0x0CC9C8, 0x0000018 - -gUnk_080CC9E0:: @ 080CC9E0 - .incbin "baserom.gba", 0x0CC9E0, 0x0000024 - -gUnk_080CCA04:: @ 080CCA04 - .incbin "baserom.gba", 0x0CCA04, 0x0000006 - -gUnk_080CCA0A:: @ 080CCA0A - .incbin "baserom.gba", 0x0CCA0A, 0x0000015 - -gUnk_080CCA1F:: @ 080CCA1F - .incbin "baserom.gba", 0x0CCA1F, 0x0000015 - -gUnk_080CCA34:: @ 080CCA34 - .incbin "baserom.gba", 0x0CCA34, 0x0000015 - -gUnk_080CCA49:: @ 080CCA49 - .incbin "baserom.gba", 0x0CCA49, 0x0000015 - -gUnk_080CCA5E:: @ 080CCA5E - .incbin "baserom.gba", 0x0CCA5E, 0x0000011 - -gUnk_080CCA6F:: @ 080CCA6F - .incbin "baserom.gba", 0x0CCA6F, 0x0000011 - -gUnk_080CCA80:: @ 080CCA80 - .incbin "baserom.gba", 0x0CCA80, 0x0000011 - -gUnk_080CCA91:: @ 080CCA91 - .incbin "baserom.gba", 0x0CCA91, 0x0000011 - -gUnk_080CCAA2:: @ 080CCAA2 - .incbin "baserom.gba", 0x0CCAA2, 0x0000005 - -gUnk_080CCAA7:: @ 080CCAA7 - .incbin "baserom.gba", 0x0CCAA7, 0x0000005 - -gUnk_080CCAAC:: @ 080CCAAC - .incbin "baserom.gba", 0x0CCAAC, 0x0000005 - -gUnk_080CCAB1:: @ 080CCAB1 - .incbin "baserom.gba", 0x0CCAB1, 0x0000005 - -gUnk_080CCAB6:: @ 080CCAB6 - .incbin "baserom.gba", 0x0CCAB6, 0x0000010 - -gUnk_080CCAC6:: @ 080CCAC6 - .incbin "baserom.gba", 0x0CCAC6, 0x0000010 - -gUnk_080CCAD6:: @ 080CCAD6 - .incbin "baserom.gba", 0x0CCAD6, 0x0000010 - -gUnk_080CCAE6:: @ 080CCAE6 - .incbin "baserom.gba", 0x0CCAE6, 0x0000010 - -gUnk_080CCAF6:: @ 080CCAF6 - .incbin "baserom.gba", 0x0CCAF6, 0x0000011 - -gUnk_080CCB07:: @ 080CCB07 - .incbin "baserom.gba", 0x0CCB07, 0x0000011 - -gUnk_080CCB18:: @ 080CCB18 - .incbin "baserom.gba", 0x0CCB18, 0x0000011 - -gUnk_080CCB29:: @ 080CCB29 - .incbin "baserom.gba", 0x0CCB29, 0x0000011 - -gUnk_080CCB3A:: @ 080CCB3A - .incbin "baserom.gba", 0x0CCB3A, 0x000000D - -gUnk_080CCB47:: @ 080CCB47 - .incbin "baserom.gba", 0x0CCB47, 0x000000D - -gUnk_080CCB54:: @ 080CCB54 - .incbin "baserom.gba", 0x0CCB54, 0x000000D - -gUnk_080CCB61:: @ 080CCB61 - .incbin "baserom.gba", 0x0CCB61, 0x000000D - -gUnk_080CCB6E:: @ 080CCB6E - .incbin "baserom.gba", 0x0CCB6E, 0x0000011 - -gUnk_080CCB7F:: @ 080CCB7F - .incbin "baserom.gba", 0x0CCB7F, 0x0000015 - -gUnk_080CCB94:: @ 080CCB94 - .incbin "baserom.gba", 0x0CCB94, 0x000006C - -gUnk_080CCC00:: @ 080CCC00 - .incbin "baserom.gba", 0x0CCC00, 0x0000018 - -gUnk_080CCC18:: @ 080CCC18 - .incbin "baserom.gba", 0x0CCC18, 0x000001C - -gUnk_080CCC34:: @ 080CCC34 - .incbin "baserom.gba", 0x0CCC34, 0x0000008 - -gUnk_080CCC3C:: @ 080CCC3C - .incbin "baserom.gba", 0x0CCC3C, 0x0000008 - -gUnk_080CCC44:: @ 080CCC44 - .incbin "baserom.gba", 0x0CCC44, 0x0000003 - -gUnk_080CCC47:: @ 080CCC47 - .incbin "baserom.gba", 0x0CCC47, 0x0000003 - -gUnk_080CCC4A:: @ 080CCC4A - .incbin "baserom.gba", 0x0CCC4A, 0x0000015 - -gUnk_080CCC5F:: @ 080CCC5F - .incbin "baserom.gba", 0x0CCC5F, 0x0000015 - -gUnk_080CCC74:: @ 080CCC74 - .incbin "baserom.gba", 0x0CCC74, 0x0000028 - -gUnk_080CCC9C:: @ 080CCC9C - .incbin "baserom.gba", 0x0CCC9C, 0x0000018 - -gUnk_080CCCB4:: @ 080CCCB4 - .incbin "baserom.gba", 0x0CCCB4, 0x0000015 - -gUnk_080CCCC9:: @ 080CCCC9 - .incbin "baserom.gba", 0x0CCCC9, 0x0000015 - -gUnk_080CCCDE:: @ 080CCCDE - .incbin "baserom.gba", 0x0CCCDE, 0x0000028 - -gUnk_080CCD06:: @ 080CCD06 - .incbin "baserom.gba", 0x0CCD06, 0x000001A - -gUnk_080CCD20:: @ 080CCD20 - .incbin "baserom.gba", 0x0CCD20, 0x0000024 - -gUnk_080CCD44:: @ 080CCD44 - .incbin "baserom.gba", 0x0CCD44, 0x000001C - -gUnk_080CCD60:: @ 080CCD60 - .incbin "baserom.gba", 0x0CCD60, 0x0000018 - -gUnk_080CCD78:: @ 080CCD78 - .incbin "baserom.gba", 0x0CCD78, 0x0000010 - -gUnk_080CCD88:: @ 080CCD88 - .incbin "baserom.gba", 0x0CCD88, 0x0000018 - -gUnk_080CCDA0:: @ 080CCDA0 - .incbin "baserom.gba", 0x0CCDA0, 0x0000008 - -gUnk_080CCDA8:: @ 080CCDA8 - .incbin "baserom.gba", 0x0CCDA8, 0x0000020 - -gUnk_080CCDC8:: @ 080CCDC8 - .incbin "baserom.gba", 0x0CCDC8, 0x000000C - -gUnk_080CCDD4:: @ 080CCDD4 - .incbin "baserom.gba", 0x0CCDD4, 0x0000008 - -gUnk_080CCDDC:: @ 080CCDDC - .incbin "baserom.gba", 0x0CCDDC, 0x0000011 - -gUnk_080CCDED:: @ 080CCDED - .incbin "baserom.gba", 0x0CCDED, 0x0000011 - -gUnk_080CCDFE:: @ 080CCDFE - .incbin "baserom.gba", 0x0CCDFE, 0x0000011 - -gUnk_080CCE0F:: @ 080CCE0F - .incbin "baserom.gba", 0x0CCE0F, 0x0000011 - -gUnk_080CCE20:: @ 080CCE20 - .incbin "baserom.gba", 0x0CCE20, 0x0000011 - -gUnk_080CCE31:: @ 080CCE31 - .incbin "baserom.gba", 0x0CCE31, 0x0000011 - -gUnk_080CCE42:: @ 080CCE42 - .incbin "baserom.gba", 0x0CCE42, 0x0000011 - -gUnk_080CCE53:: @ 080CCE53 - .incbin "baserom.gba", 0x0CCE53, 0x0000011 - -gUnk_080CCE64:: @ 080CCE64 - .incbin "baserom.gba", 0x0CCE64, 0x0000024 - -gUnk_080CCE88:: @ 080CCE88 - .incbin "baserom.gba", 0x0CCE88, 0x0000011 - -gUnk_080CCE99:: @ 080CCE99 - .incbin "baserom.gba", 0x0CCE99, 0x0000011 - -gUnk_080CCEAA:: @ 080CCEAA - .incbin "baserom.gba", 0x0CCEAA, 0x0000011 - -gUnk_080CCEBB:: @ 080CCEBB - .incbin "baserom.gba", 0x0CCEBB, 0x0000011 - -gUnk_080CCECC:: @ 080CCECC - .incbin "baserom.gba", 0x0CCECC, 0x0000011 - -gUnk_080CCEDD:: @ 080CCEDD - .incbin "baserom.gba", 0x0CCEDD, 0x0000011 - -gUnk_080CCEEE:: @ 080CCEEE - .incbin "baserom.gba", 0x0CCEEE, 0x0000011 - -gUnk_080CCEFF:: @ 080CCEFF - .incbin "baserom.gba", 0x0CCEFF, 0x0000011 - -gUnk_080CCF10:: @ 080CCF10 - .incbin "baserom.gba", 0x0CCF10, 0x0000005 - -gUnk_080CCF15:: @ 080CCF15 - .incbin "baserom.gba", 0x0CCF15, 0x0000005 - -gUnk_080CCF1A:: @ 080CCF1A - .incbin "baserom.gba", 0x0CCF1A, 0x0000005 - -gUnk_080CCF1F:: @ 080CCF1F - .incbin "baserom.gba", 0x0CCF1F, 0x0000005 - -gUnk_080CCF24:: @ 080CCF24 - .incbin "baserom.gba", 0x0CCF24, 0x000001D - -gUnk_080CCF41:: @ 080CCF41 - .incbin "baserom.gba", 0x0CCF41, 0x000001D - -gUnk_080CCF5E:: @ 080CCF5E - .incbin "baserom.gba", 0x0CCF5E, 0x000001D - -gUnk_080CCF7B:: @ 080CCF7B - .incbin "baserom.gba", 0x0CCF7B, 0x000001D - -gUnk_080CCF98:: @ 080CCF98 - .incbin "baserom.gba", 0x0CCF98, 0x0000011 - -gUnk_080CCFA9:: @ 080CCFA9 - .incbin "baserom.gba", 0x0CCFA9, 0x0000011 - -gUnk_080CCFBA:: @ 080CCFBA - .incbin "baserom.gba", 0x0CCFBA, 0x0000011 - -gUnk_080CCFCB:: @ 080CCFCB - .incbin "baserom.gba", 0x0CCFCB, 0x0000011 - -gUnk_080CCFDC:: @ 080CCFDC - .incbin "baserom.gba", 0x0CCFDC, 0x0000054 - -gUnk_080CD030:: @ 080CD030 - .incbin "baserom.gba", 0x0CD030, 0x000000C - -gUnk_080CD03C:: @ 080CD03C - .incbin "baserom.gba", 0x0CD03C, 0x0000004 - -gUnk_080CD040:: @ 080CD040 - .incbin "baserom.gba", 0x0CD040, 0x0000004 - -gUnk_080CD044:: @ 080CD044 - .incbin "baserom.gba", 0x0CD044, 0x0000025 - -gUnk_080CD069:: @ 080CD069 - .incbin "baserom.gba", 0x0CD069, 0x0000007 - -gUnk_080CD070:: @ 080CD070 - .incbin "baserom.gba", 0x0CD070, 0x000000C - -gUnk_080CD07C:: @ 080CD07C - .incbin "baserom.gba", 0x0CD07C, 0x0000018 - -gUnk_080CD094:: @ 080CD094 - .incbin "baserom.gba", 0x0CD094, 0x000001C - -gUnk_080CD0B0:: @ 080CD0B0 - .incbin "baserom.gba", 0x0CD0B0, 0x0000008 - -gUnk_080CD0B8:: @ 080CD0B8 - .incbin "baserom.gba", 0x0CD0B8, 0x000000D - -gUnk_080CD0C5:: @ 080CD0C5 - .incbin "baserom.gba", 0x0CD0C5, 0x0000015 - -gUnk_080CD0DA:: @ 080CD0DA - .incbin "baserom.gba", 0x0CD0DA, 0x0000006 - -gUnk_080CD0E0:: @ 080CD0E0 - .incbin "baserom.gba", 0x0CD0E0, 0x0000010 - -gUnk_080CD0F0:: @ 080CD0F0 - .incbin "baserom.gba", 0x0CD0F0, 0x0000018 - -gUnk_080CD108:: @ 080CD108 - .incbin "baserom.gba", 0x0CD108, 0x0000018 - -gUnk_080CD120:: @ 080CD120 - .incbin "baserom.gba", 0x0CD120, 0x0000014 - -gUnk_080CD134:: @ 080CD134 - .incbin "baserom.gba", 0x0CD134, 0x000000C - -gUnk_080CD140:: @ 080CD140 - .incbin "baserom.gba", 0x0CD140, 0x0000018 - -gUnk_080CD158:: @ 080CD158 - .incbin "baserom.gba", 0x0CD158, 0x0000014 - -gUnk_080CD16C:: @ 080CD16C - .incbin "baserom.gba", 0x0CD16C, 0x0000008 - -gUnk_080CD174:: @ 080CD174 - .incbin "baserom.gba", 0x0CD174, 0x0000008 - -gUnk_080CD17C:: @ 080CD17C - .incbin "baserom.gba", 0x0CD17C, 0x0000008 - -gUnk_080CD184:: @ 080CD184 - .incbin "baserom.gba", 0x0CD184, 0x0000011 - -gUnk_080CD195:: @ 080CD195 - .incbin "baserom.gba", 0x0CD195, 0x0000041 - -gUnk_080CD1D6:: @ 080CD1D6 - .incbin "baserom.gba", 0x0CD1D6, 0x0000041 - -gUnk_080CD217:: @ 080CD217 - .incbin "baserom.gba", 0x0CD217, 0x0000009 - -gUnk_080CD220:: @ 080CD220 - .incbin "baserom.gba", 0x0CD220, 0x0000014 - -gUnk_080CD234:: @ 080CD234 - .incbin "baserom.gba", 0x0CD234, 0x0000018 - -gUnk_080CD24C:: @ 080CD24C - .incbin "baserom.gba", 0x0CD24C, 0x000000C - -gUnk_080CD258:: @ 080CD258 - .incbin "baserom.gba", 0x0CD258, 0x000001C - -gUnk_080CD274:: @ 080CD274 - .incbin "baserom.gba", 0x0CD274, 0x0000008 - -gUnk_080CD27C:: @ 080CD27C - .incbin "baserom.gba", 0x0CD27C, 0x000001C - -gUnk_080CD298:: @ 080CD298 - .incbin "baserom.gba", 0x0CD298, 0x0000010 - -gUnk_080CD2A8:: @ 080CD2A8 - .incbin "baserom.gba", 0x0CD2A8, 0x0000004 - -gUnk_080CD2AC:: @ 080CD2AC - .incbin "baserom.gba", 0x0CD2AC, 0x0000011 - -gUnk_080CD2BD:: @ 080CD2BD - .incbin "baserom.gba", 0x0CD2BD, 0x000000B - -gUnk_080CD2C8:: @ 080CD2C8 - .incbin "baserom.gba", 0x0CD2C8, 0x0000010 - -gUnk_080CD2D8:: @ 080CD2D8 - .incbin "baserom.gba", 0x0CD2D8, 0x0000018 - -gUnk_080CD2F0:: @ 080CD2F0 - .incbin "baserom.gba", 0x0CD2F0, 0x0000024 - -gUnk_080CD314:: @ 080CD314 - .incbin "baserom.gba", 0x0CD314, 0x0000004 - -gUnk_080CD318:: @ 080CD318 - .incbin "baserom.gba", 0x0CD318, 0x0000004 - -gUnk_080CD31C:: @ 080CD31C - .incbin "baserom.gba", 0x0CD31C, 0x0000011 - -gUnk_080CD32D:: @ 080CD32D - .incbin "baserom.gba", 0x0CD32D, 0x0000011 - -gUnk_080CD33E:: @ 080CD33E - .incbin "baserom.gba", 0x0CD33E, 0x0000011 - -gUnk_080CD34F:: @ 080CD34F - .incbin "baserom.gba", 0x0CD34F, 0x0000011 - -gUnk_080CD360:: @ 080CD360 - .incbin "baserom.gba", 0x0CD360, 0x0000008 - -gUnk_080CD368:: @ 080CD368 - .incbin "baserom.gba", 0x0CD368, 0x0000008 - -gUnk_080CD370:: @ 080CD370 - .incbin "baserom.gba", 0x0CD370, 0x0000008 - -gUnk_080CD378:: @ 080CD378 - .incbin "baserom.gba", 0x0CD378, 0x0000008 - -gUnk_080CD380:: @ 080CD380 - .incbin "baserom.gba", 0x0CD380, 0x0000011 - -gUnk_080CD391:: @ 080CD391 - .incbin "baserom.gba", 0x0CD391, 0x0000007 - -gUnk_080CD398:: @ 080CD398 - .incbin "baserom.gba", 0x0CD398, 0x000002C - -gUnk_080CD3C4:: @ 080CD3C4 - .incbin "baserom.gba", 0x0CD3C4, 0x0000010 - -gUnk_080CD3D4:: @ 080CD3D4 - .incbin "baserom.gba", 0x0CD3D4, 0x0000008 - -gUnk_080CD3DC:: @ 080CD3DC - .incbin "baserom.gba", 0x0CD3DC, 0x0000008 - -gUnk_080CD3E4:: @ 080CD3E4 - .incbin "baserom.gba", 0x0CD3E4, 0x0000018 - -gUnk_080CD3FC:: @ 080CD3FC - .incbin "baserom.gba", 0x0CD3FC, 0x000000C - -gUnk_080CD408:: @ 080CD408 - .incbin "baserom.gba", 0x0CD408, 0x0000024 - -gUnk_080CD42C:: @ 080CD42C - .incbin "baserom.gba", 0x0CD42C, 0x000000C - -gUnk_080CD438:: @ 080CD438 - .incbin "baserom.gba", 0x0CD438, 0x0000018 - -gUnk_080CD450:: @ 080CD450 - .incbin "baserom.gba", 0x0CD450, 0x000000C - -gUnk_080CD45C:: @ 080CD45C - .incbin "baserom.gba", 0x0CD45C, 0x0000008 - -gUnk_080CD464:: @ 080CD464 - .incbin "baserom.gba", 0x0CD464, 0x0000010 - -gUnk_080CD474:: @ 080CD474 - .incbin "baserom.gba", 0x0CD474, 0x0000011 - -gUnk_080CD485:: @ 080CD485 - .incbin "baserom.gba", 0x0CD485, 0x0000011 - -gUnk_080CD496:: @ 080CD496 - .incbin "baserom.gba", 0x0CD496, 0x0000011 - -gUnk_080CD4A7:: @ 080CD4A7 - .incbin "baserom.gba", 0x0CD4A7, 0x0000011 - -gUnk_080CD4B8:: @ 080CD4B8 - .incbin "baserom.gba", 0x0CD4B8, 0x0000011 - -gUnk_080CD4C9:: @ 080CD4C9 - .incbin "baserom.gba", 0x0CD4C9, 0x0000011 - -gUnk_080CD4DA:: @ 080CD4DA - .incbin "baserom.gba", 0x0CD4DA, 0x0000011 - -gUnk_080CD4EB:: @ 080CD4EB - .incbin "baserom.gba", 0x0CD4EB, 0x0000011 - -gUnk_080CD4FC:: @ 080CD4FC - .incbin "baserom.gba", 0x0CD4FC, 0x0000004 - -gUnk_080CD500:: @ 080CD500 - .incbin "baserom.gba", 0x0CD500, 0x0000004 - -gUnk_080CD504:: @ 080CD504 - .incbin "baserom.gba", 0x0CD504, 0x0000004 - -gUnk_080CD508:: @ 080CD508 - .incbin "baserom.gba", 0x0CD508, 0x0000004 - -gUnk_080CD50C:: @ 080CD50C - .incbin "baserom.gba", 0x0CD50C, 0x0000034 - -gUnk_080CD540:: @ 080CD540 - .incbin "baserom.gba", 0x0CD540, 0x0000018 - -gUnk_080CD558:: @ 080CD558 - .incbin "baserom.gba", 0x0CD558, 0x0000010 - -gUnk_080CD568:: @ 080CD568 - .incbin "baserom.gba", 0x0CD568, 0x0000018 - -gUnk_080CD580:: @ 080CD580 - .incbin "baserom.gba", 0x0CD580, 0x000000C - -gUnk_080CD58C:: @ 080CD58C - .incbin "baserom.gba", 0x0CD58C, 0x0000018 - -gUnk_080CD5A4:: @ 080CD5A4 - .incbin "baserom.gba", 0x0CD5A4, 0x0000011 - -gUnk_080CD5B5:: @ 080CD5B5 - .incbin "baserom.gba", 0x0CD5B5, 0x0000013 - -gUnk_080CD5C8:: @ 080CD5C8 - .incbin "baserom.gba", 0x0CD5C8, 0x000000C - -gUnk_080CD5D4:: @ 080CD5D4 - .incbin "baserom.gba", 0x0CD5D4, 0x0000018 - -gUnk_080CD5EC:: @ 080CD5EC - .incbin "baserom.gba", 0x0CD5EC, 0x0000014 - -gUnk_080CD600:: @ 080CD600 - .incbin "baserom.gba", 0x0CD600, 0x0000018 - -gUnk_080CD618:: @ 080CD618 - .incbin "baserom.gba", 0x0CD618, 0x0000010 - -gUnk_080CD628:: @ 080CD628 - .incbin "baserom.gba", 0x0CD628, 0x0000011 - -gUnk_080CD639:: @ 080CD639 - .incbin "baserom.gba", 0x0CD639, 0x0000011 - -gUnk_080CD64A:: @ 080CD64A - .incbin "baserom.gba", 0x0CD64A, 0x0000011 - -gUnk_080CD65B:: @ 080CD65B - .incbin "baserom.gba", 0x0CD65B, 0x0000011 - -gUnk_080CD66C:: @ 080CD66C - .incbin "baserom.gba", 0x0CD66C, 0x0000005 - -gUnk_080CD671:: @ 080CD671 - .incbin "baserom.gba", 0x0CD671, 0x0000005 - -gUnk_080CD676:: @ 080CD676 - .incbin "baserom.gba", 0x0CD676, 0x0000009 - -gUnk_080CD67F:: @ 080CD67F - .incbin "baserom.gba", 0x0CD67F, 0x0000009 - -gUnk_080CD688:: @ 080CD688 - .incbin "baserom.gba", 0x0CD688, 0x0000024 - -gUnk_080CD6AC:: @ 080CD6AC - .incbin "baserom.gba", 0x0CD6AC, 0x0000024 - -gUnk_080CD6D0:: @ 080CD6D0 - .incbin "baserom.gba", 0x0CD6D0, 0x000002C - -gUnk_080CD6FC:: @ 080CD6FC - .incbin "baserom.gba", 0x0CD6FC, 0x0000018 - -gUnk_080CD714:: @ 080CD714 - .incbin "baserom.gba", 0x0CD714, 0x0000014 - -gUnk_080CD728:: @ 080CD728 - .incbin "baserom.gba", 0x0CD728, 0x0000008 - -gUnk_080CD730:: @ 080CD730 - .incbin "baserom.gba", 0x0CD730, 0x0000010 - -gUnk_080CD740:: @ 080CD740 - .incbin "baserom.gba", 0x0CD740, 0x0000008 - -gUnk_080CD748:: @ 080CD748 - .incbin "baserom.gba", 0x0CD748, 0x0000014 - -gUnk_080CD75C:: @ 080CD75C - .incbin "baserom.gba", 0x0CD75C, 0x0000018 - -gUnk_080CD774:: @ 080CD774 - .incbin "baserom.gba", 0x0CD774, 0x0000044 - -gUnk_080CD7B8:: @ 080CD7B8 - .incbin "baserom.gba", 0x0CD7B8, 0x000000C - -gUnk_080CD7C4:: @ 080CD7C4 - .incbin "baserom.gba", 0x0CD7C4, 0x0000020 - -gUnk_080CD7E4:: @ 080CD7E4 - .incbin "baserom.gba", 0x0CD7E4, 0x0000014 - -gUnk_080CD7F8:: @ 080CD7F8 - .incbin "baserom.gba", 0x0CD7F8, 0x0000018 - -gUnk_080CD810:: @ 080CD810 - .incbin "baserom.gba", 0x0CD810, 0x0000018 - -gUnk_080CD828:: @ 080CD828 - .incbin "baserom.gba", 0x0CD828, 0x0000018 - -gUnk_080CD840:: @ 080CD840 - .incbin "baserom.gba", 0x0CD840, 0x0000004 - -gUnk_080CD844:: @ 080CD844 - .incbin "baserom.gba", 0x0CD844, 0x0000004 - -gUnk_080CD848:: @ 080CD848 - .incbin "baserom.gba", 0x0CD848, 0x0000008 - -gUnk_080CD850:: @ 080CD850 - .incbin "baserom.gba", 0x0CD850, 0x0000004 - -gUnk_080CD854:: @ 080CD854 - .incbin "baserom.gba", 0x0CD854, 0x0000004 - -gUnk_080CD858:: @ 080CD858 - .incbin "baserom.gba", 0x0CD858, 0x0000003 - -gUnk_080CD85B:: @ 080CD85B - .incbin "baserom.gba", 0x0CD85B, 0x0000003 - -gUnk_080CD85E:: @ 080CD85E - .incbin "baserom.gba", 0x0CD85E, 0x0000003 - -gUnk_080CD861:: @ 080CD861 - .incbin "baserom.gba", 0x0CD861, 0x0000003 - -gUnk_080CD864:: @ 080CD864 - .incbin "baserom.gba", 0x0CD864, 0x0000003 - -gUnk_080CD867:: @ 080CD867 - .incbin "baserom.gba", 0x0CD867, 0x0000005 - -gUnk_080CD86C:: @ 080CD86C - .incbin "baserom.gba", 0x0CD86C, 0x000000C - -gUnk_080CD878:: @ 080CD878 - .incbin "baserom.gba", 0x0CD878, 0x000000C - -gUnk_080CD884:: @ 080CD884 - .incbin "baserom.gba", 0x0CD884, 0x000001F - -gUnk_080CD8A3:: @ 080CD8A3 - .incbin "baserom.gba", 0x0CD8A3, 0x0000004 - -gUnk_080CD8A7:: @ 080CD8A7 - .incbin "baserom.gba", 0x0CD8A7, 0x0000004 - -gUnk_080CD8AB:: @ 080CD8AB - .incbin "baserom.gba", 0x0CD8AB, 0x0000004 - -gUnk_080CD8AF:: @ 080CD8AF - .incbin "baserom.gba", 0x0CD8AF, 0x0000004 - -gUnk_080CD8B3:: @ 080CD8B3 - .incbin "baserom.gba", 0x0CD8B3, 0x0000004 - -gUnk_080CD8B7:: @ 080CD8B7 - .incbin "baserom.gba", 0x0CD8B7, 0x0000004 - -gUnk_080CD8BB:: @ 080CD8BB - .incbin "baserom.gba", 0x0CD8BB, 0x0000004 - -gUnk_080CD8BF:: @ 080CD8BF - .incbin "baserom.gba", 0x0CD8BF, 0x0000004 - -gUnk_080CD8C3:: @ 080CD8C3 - .incbin "baserom.gba", 0x0CD8C3, 0x0000004 - -gUnk_080CD8C7:: @ 080CD8C7 - .incbin "baserom.gba", 0x0CD8C7, 0x0000004 - -gUnk_080CD8CB:: @ 080CD8CB - .incbin "baserom.gba", 0x0CD8CB, 0x0000004 - -gUnk_080CD8CF:: @ 080CD8CF - .incbin "baserom.gba", 0x0CD8CF, 0x0000004 - -gUnk_080CD8D3:: @ 080CD8D3 - .incbin "baserom.gba", 0x0CD8D3, 0x0000004 - -gUnk_080CD8D7:: @ 080CD8D7 - .incbin "baserom.gba", 0x0CD8D7, 0x0000004 - -gUnk_080CD8DB:: @ 080CD8DB - .incbin "baserom.gba", 0x0CD8DB, 0x0000004 - -gUnk_080CD8DF:: @ 080CD8DF - .incbin "baserom.gba", 0x0CD8DF, 0x0000004 - -gUnk_080CD8E3:: @ 080CD8E3 - .incbin "baserom.gba", 0x0CD8E3, 0x0000004 - -gUnk_080CD8E7:: @ 080CD8E7 - .incbin "baserom.gba", 0x0CD8E7, 0x0000004 - -gUnk_080CD8EB:: @ 080CD8EB - .incbin "baserom.gba", 0x0CD8EB, 0x0000004 - -gUnk_080CD8EF:: @ 080CD8EF - .incbin "baserom.gba", 0x0CD8EF, 0x0000004 - -gUnk_080CD8F3:: @ 080CD8F3 - .incbin "baserom.gba", 0x0CD8F3, 0x0000004 - -gUnk_080CD8F7:: @ 080CD8F7 - .incbin "baserom.gba", 0x0CD8F7, 0x0000004 - -gUnk_080CD8FB:: @ 080CD8FB - .incbin "baserom.gba", 0x0CD8FB, 0x0000004 - -gUnk_080CD8FF:: @ 080CD8FF - .incbin "baserom.gba", 0x0CD8FF, 0x0000004 - -gUnk_080CD903:: @ 080CD903 - .incbin "baserom.gba", 0x0CD903, 0x0000004 - -gUnk_080CD907:: @ 080CD907 - .incbin "baserom.gba", 0x0CD907, 0x0000004 - -gUnk_080CD90B:: @ 080CD90B - .incbin "baserom.gba", 0x0CD90B, 0x0000004 - -gUnk_080CD90F:: @ 080CD90F - .incbin "baserom.gba", 0x0CD90F, 0x0000004 - -gUnk_080CD913:: @ 080CD913 - .incbin "baserom.gba", 0x0CD913, 0x0000004 - -gUnk_080CD917:: @ 080CD917 - .incbin "baserom.gba", 0x0CD917, 0x0000004 - -gUnk_080CD91B:: @ 080CD91B - .incbin "baserom.gba", 0x0CD91B, 0x0000004 - -gUnk_080CD91F:: @ 080CD91F - .incbin "baserom.gba", 0x0CD91F, 0x0000004 - -gUnk_080CD923:: @ 080CD923 - .incbin "baserom.gba", 0x0CD923, 0x0000004 - -gUnk_080CD927:: @ 080CD927 - .incbin "baserom.gba", 0x0CD927, 0x0000004 - -gUnk_080CD92B:: @ 080CD92B - .incbin "baserom.gba", 0x0CD92B, 0x0000004 - -gUnk_080CD92F:: @ 080CD92F - .incbin "baserom.gba", 0x0CD92F, 0x0000004 - -gUnk_080CD933:: @ 080CD933 - .incbin "baserom.gba", 0x0CD933, 0x0000004 - -gUnk_080CD937:: @ 080CD937 - .incbin "baserom.gba", 0x0CD937, 0x0000004 - -gUnk_080CD93B:: @ 080CD93B - .incbin "baserom.gba", 0x0CD93B, 0x0000004 - -gUnk_080CD93F:: @ 080CD93F - .incbin "baserom.gba", 0x0CD93F, 0x0000004 - -gUnk_080CD943:: @ 080CD943 - .incbin "baserom.gba", 0x0CD943, 0x0000004 - -gUnk_080CD947:: @ 080CD947 - .incbin "baserom.gba", 0x0CD947, 0x0000004 - -gUnk_080CD94B:: @ 080CD94B - .incbin "baserom.gba", 0x0CD94B, 0x0000004 - -gUnk_080CD94F:: @ 080CD94F - .incbin "baserom.gba", 0x0CD94F, 0x0000004 - -gUnk_080CD953:: @ 080CD953 - .incbin "baserom.gba", 0x0CD953, 0x0000004 - -gUnk_080CD957:: @ 080CD957 - .incbin "baserom.gba", 0x0CD957, 0x0000004 - -gUnk_080CD95B:: @ 080CD95B - .incbin "baserom.gba", 0x0CD95B, 0x0000004 - -gUnk_080CD95F:: @ 080CD95F - .incbin "baserom.gba", 0x0CD95F, 0x0000004 - -gUnk_080CD963:: @ 080CD963 - .incbin "baserom.gba", 0x0CD963, 0x0000004 - -gUnk_080CD967:: @ 080CD967 - .incbin "baserom.gba", 0x0CD967, 0x0000004 - -gUnk_080CD96B:: @ 080CD96B - .incbin "baserom.gba", 0x0CD96B, 0x0000004 - -gUnk_080CD96F:: @ 080CD96F - .incbin "baserom.gba", 0x0CD96F, 0x0000004 - -gUnk_080CD973:: @ 080CD973 - .incbin "baserom.gba", 0x0CD973, 0x0000004 - -gUnk_080CD977:: @ 080CD977 - .incbin "baserom.gba", 0x0CD977, 0x0000004 - -gUnk_080CD97B:: @ 080CD97B - .incbin "baserom.gba", 0x0CD97B, 0x0000004 - -gUnk_080CD97F:: @ 080CD97F - .incbin "baserom.gba", 0x0CD97F, 0x0000004 - -gUnk_080CD983:: @ 080CD983 - .incbin "baserom.gba", 0x0CD983, 0x0000004 - -gUnk_080CD987:: @ 080CD987 - .incbin "baserom.gba", 0x0CD987, 0x0000004 - -gUnk_080CD98B:: @ 080CD98B - .incbin "baserom.gba", 0x0CD98B, 0x0000004 - -gUnk_080CD98F:: @ 080CD98F - .incbin "baserom.gba", 0x0CD98F, 0x0000004 - -gUnk_080CD993:: @ 080CD993 - .incbin "baserom.gba", 0x0CD993, 0x0000004 - -gUnk_080CD997:: @ 080CD997 - .incbin "baserom.gba", 0x0CD997, 0x0000004 - -gUnk_080CD99B:: @ 080CD99B - .incbin "baserom.gba", 0x0CD99B, 0x0000004 - -gUnk_080CD99F:: @ 080CD99F - .incbin "baserom.gba", 0x0CD99F, 0x0000004 - -gUnk_080CD9A3:: @ 080CD9A3 - .incbin "baserom.gba", 0x0CD9A3, 0x0000004 - -gUnk_080CD9A7:: @ 080CD9A7 - .incbin "baserom.gba", 0x0CD9A7, 0x0000004 - -gUnk_080CD9AB:: @ 080CD9AB - .incbin "baserom.gba", 0x0CD9AB, 0x0000004 - -gUnk_080CD9AF:: @ 080CD9AF - .incbin "baserom.gba", 0x0CD9AF, 0x0000004 - -gUnk_080CD9B3:: @ 080CD9B3 - .incbin "baserom.gba", 0x0CD9B3, 0x0000004 - -gUnk_080CD9B7:: @ 080CD9B7 - .incbin "baserom.gba", 0x0CD9B7, 0x0000004 - -gUnk_080CD9BB:: @ 080CD9BB - .incbin "baserom.gba", 0x0CD9BB, 0x0000004 - -gUnk_080CD9BF:: @ 080CD9BF - .incbin "baserom.gba", 0x0CD9BF, 0x0000004 - -gUnk_080CD9C3:: @ 080CD9C3 - .incbin "baserom.gba", 0x0CD9C3, 0x0000004 - -gUnk_080CD9C7:: @ 080CD9C7 - .incbin "baserom.gba", 0x0CD9C7, 0x0000004 - -gUnk_080CD9CB:: @ 080CD9CB - .incbin "baserom.gba", 0x0CD9CB, 0x0000004 - -gUnk_080CD9CF:: @ 080CD9CF - .incbin "baserom.gba", 0x0CD9CF, 0x0000010 - -gUnk_080CD9DF:: @ 080CD9DF - .incbin "baserom.gba", 0x0CD9DF, 0x000001C - -gUnk_080CD9FB:: @ 080CD9FB - .incbin "baserom.gba", 0x0CD9FB, 0x0000004 - -gUnk_080CD9FF:: @ 080CD9FF - .incbin "baserom.gba", 0x0CD9FF, 0x0000004 - -gUnk_080CDA03:: @ 080CDA03 - .incbin "baserom.gba", 0x0CDA03, 0x0000004 - -gUnk_080CDA07:: @ 080CDA07 - .incbin "baserom.gba", 0x0CDA07, 0x0000004 - -gUnk_080CDA0B:: @ 080CDA0B - .incbin "baserom.gba", 0x0CDA0B, 0x0000004 - -gUnk_080CDA0F:: @ 080CDA0F - .incbin "baserom.gba", 0x0CDA0F, 0x0000004 - -gUnk_080CDA13:: @ 080CDA13 - .incbin "baserom.gba", 0x0CDA13, 0x0000004 - -gUnk_080CDA17:: @ 080CDA17 - .incbin "baserom.gba", 0x0CDA17, 0x0000004 - -gUnk_080CDA1B:: @ 080CDA1B - .incbin "baserom.gba", 0x0CDA1B, 0x0000004 - -gUnk_080CDA1F:: @ 080CDA1F - .incbin "baserom.gba", 0x0CDA1F, 0x0000004 - -gUnk_080CDA23:: @ 080CDA23 - .incbin "baserom.gba", 0x0CDA23, 0x0000004 - -gUnk_080CDA27:: @ 080CDA27 - .incbin "baserom.gba", 0x0CDA27, 0x0000004 - -gUnk_080CDA2B:: @ 080CDA2B - .incbin "baserom.gba", 0x0CDA2B, 0x0000004 - -gUnk_080CDA2F:: @ 080CDA2F - .incbin "baserom.gba", 0x0CDA2F, 0x0000004 - -gUnk_080CDA33:: @ 080CDA33 - .incbin "baserom.gba", 0x0CDA33, 0x0000004 - -gUnk_080CDA37:: @ 080CDA37 - .incbin "baserom.gba", 0x0CDA37, 0x0000004 - -gUnk_080CDA3B:: @ 080CDA3B - .incbin "baserom.gba", 0x0CDA3B, 0x0000004 - -gUnk_080CDA3F:: @ 080CDA3F - .incbin "baserom.gba", 0x0CDA3F, 0x0000004 - -gUnk_080CDA43:: @ 080CDA43 - .incbin "baserom.gba", 0x0CDA43, 0x0000004 - -gUnk_080CDA47:: @ 080CDA47 - .incbin "baserom.gba", 0x0CDA47, 0x0000004 - -gUnk_080CDA4B:: @ 080CDA4B - .incbin "baserom.gba", 0x0CDA4B, 0x0000004 - -gUnk_080CDA4F:: @ 080CDA4F - .incbin "baserom.gba", 0x0CDA4F, 0x0000004 - -gUnk_080CDA53:: @ 080CDA53 - .incbin "baserom.gba", 0x0CDA53, 0x0000004 - -gUnk_080CDA57:: @ 080CDA57 - .incbin "baserom.gba", 0x0CDA57, 0x0000004 - -gUnk_080CDA5B:: @ 080CDA5B - .incbin "baserom.gba", 0x0CDA5B, 0x0000004 - -gUnk_080CDA5F:: @ 080CDA5F - .incbin "baserom.gba", 0x0CDA5F, 0x0000004 - -gUnk_080CDA63:: @ 080CDA63 - .incbin "baserom.gba", 0x0CDA63, 0x0000004 - -gUnk_080CDA67:: @ 080CDA67 - .incbin "baserom.gba", 0x0CDA67, 0x0000004 - -gUnk_080CDA6B:: @ 080CDA6B - .incbin "baserom.gba", 0x0CDA6B, 0x0000004 - -gUnk_080CDA6F:: @ 080CDA6F - .incbin "baserom.gba", 0x0CDA6F, 0x0000004 - -gUnk_080CDA73:: @ 080CDA73 - .incbin "baserom.gba", 0x0CDA73, 0x0000004 - -gUnk_080CDA77:: @ 080CDA77 - .incbin "baserom.gba", 0x0CDA77, 0x0000004 - -gUnk_080CDA7B:: @ 080CDA7B - .incbin "baserom.gba", 0x0CDA7B, 0x0000004 - -gUnk_080CDA7F:: @ 080CDA7F - .incbin "baserom.gba", 0x0CDA7F, 0x0000004 - -gUnk_080CDA83:: @ 080CDA83 - .incbin "baserom.gba", 0x0CDA83, 0x0000004 - -gUnk_080CDA87:: @ 080CDA87 - .incbin "baserom.gba", 0x0CDA87, 0x0000004 - -gUnk_080CDA8B:: @ 080CDA8B - .incbin "baserom.gba", 0x0CDA8B, 0x0000005 - -gUnk_080CDA90:: @ 080CDA90 - .incbin "baserom.gba", 0x0CDA90, 0x0000005 - -gUnk_080CDA95:: @ 080CDA95 - .incbin "baserom.gba", 0x0CDA95, 0x0000005 - -gUnk_080CDA9A:: @ 080CDA9A - .incbin "baserom.gba", 0x0CDA9A, 0x0000005 - -gUnk_080CDA9F:: @ 080CDA9F - .incbin "baserom.gba", 0x0CDA9F, 0x0000025 - -gUnk_080CDAC4:: @ 080CDAC4 - .incbin "baserom.gba", 0x0CDAC4, 0x0000011 - -gUnk_080CDAD5:: @ 080CDAD5 - .incbin "baserom.gba", 0x0CDAD5, 0x0000011 - -gUnk_080CDAE6:: @ 080CDAE6 - .incbin "baserom.gba", 0x0CDAE6, 0x000000D - -gUnk_080CDAF3:: @ 080CDAF3 - .incbin "baserom.gba", 0x0CDAF3, 0x0000010 - -gUnk_080CDB03:: @ 080CDB03 - .incbin "baserom.gba", 0x0CDB03, 0x0000014 - -gUnk_080CDB17:: @ 080CDB17 - .incbin "baserom.gba", 0x0CDB17, 0x0000011 - -gUnk_080CDB28:: @ 080CDB28 - .incbin "baserom.gba", 0x0CDB28, 0x0000011 - -gUnk_080CDB39:: @ 080CDB39 - .incbin "baserom.gba", 0x0CDB39, 0x0000024 - -gUnk_080CDB5D:: @ 080CDB5D - .incbin "baserom.gba", 0x0CDB5D, 0x0000010 - -gUnk_080CDB6D:: @ 080CDB6D - .incbin "baserom.gba", 0x0CDB6D, 0x0000011 - -gUnk_080CDB7E:: @ 080CDB7E - .incbin "baserom.gba", 0x0CDB7E, 0x0000014 - -gUnk_080CDB92:: @ 080CDB92 - .incbin "baserom.gba", 0x0CDB92, 0x0000019 - -gUnk_080CDBAB:: @ 080CDBAB - .incbin "baserom.gba", 0x0CDBAB, 0x0000019 - -gUnk_080CDBC4:: @ 080CDBC4 - .incbin "baserom.gba", 0x0CDBC4, 0x0000019 - -gUnk_080CDBDD:: @ 080CDBDD - .incbin "baserom.gba", 0x0CDBDD, 0x0000023 - -gUnk_080CDC00:: @ 080CDC00 - .incbin "baserom.gba", 0x0CDC00, 0x00000E7 - -gUnk_080CDCE7:: @ 080CDCE7 - .incbin "baserom.gba", 0x0CDCE7, 0x000007D - -gUnk_080CDD64:: @ 080CDD64 - .incbin "baserom.gba", 0x0CDD64, 0x00000D0 - -gUnk_080CDE34:: @ 080CDE34 - .incbin "baserom.gba", 0x0CDE34, 0x0000018 - -gUnk_080CDE4C:: @ 080CDE4C - .incbin "baserom.gba", 0x0CDE4C, 0x0000010 - -gUnk_080CDE5C:: @ 080CDE5C - .incbin "baserom.gba", 0x0CDE5C, 0x0000008 - -gUnk_080CDE64:: @ 080CDE64 - .incbin "baserom.gba", 0x0CDE64, 0x0000008 - -gUnk_080CDE6C:: @ 080CDE6C - .incbin "baserom.gba", 0x0CDE6C, 0x0000004 - -gUnk_080CDE70:: @ 080CDE70 - .incbin "baserom.gba", 0x0CDE70, 0x0000020 - -gUnk_080CDE90:: @ 080CDE90 - .incbin "baserom.gba", 0x0CDE90, 0x0000008 - -gUnk_080CDE98:: @ 080CDE98 - .incbin "baserom.gba", 0x0CDE98, 0x0000008 - -gUnk_080CDEA0:: @ 080CDEA0 - .incbin "baserom.gba", 0x0CDEA0, 0x0000011 - -gUnk_080CDEB1:: @ 080CDEB1 - .incbin "baserom.gba", 0x0CDEB1, 0x0000013 - -gUnk_080CDEC4:: @ 080CDEC4 - .incbin "baserom.gba", 0x0CDEC4, 0x000000C - -gUnk_080CDED0:: @ 080CDED0 - .incbin "baserom.gba", 0x0CDED0, 0x0000018 - -gUnk_080CDEE8:: @ 080CDEE8 - .incbin "baserom.gba", 0x0CDEE8, 0x0000010 - -gUnk_080CDEF8:: @ 080CDEF8 - .incbin "baserom.gba", 0x0CDEF8, 0x0000004 - -gUnk_080CDEFC:: @ 080CDEFC - .incbin "baserom.gba", 0x0CDEFC, 0x000000D - -gUnk_080CDF09:: @ 080CDF09 - .incbin "baserom.gba", 0x0CDF09, 0x0000011 - -gUnk_080CDF1A:: @ 080CDF1A - .incbin "baserom.gba", 0x0CDF1A, 0x000000D - -gUnk_080CDF27:: @ 080CDF27 - .incbin "baserom.gba", 0x0CDF27, 0x000000C - -gUnk_080CDF33:: @ 080CDF33 - .incbin "baserom.gba", 0x0CDF33, 0x0000005 - -gUnk_080CDF38:: @ 080CDF38 - .incbin "baserom.gba", 0x0CDF38, 0x0000018 - -gUnk_080CDF50:: @ 080CDF50 - .incbin "baserom.gba", 0x0CDF50, 0x0000018 - -gUnk_080CDF68:: @ 080CDF68 - .incbin "baserom.gba", 0x0CDF68, 0x0000010 - -gUnk_080CDF78:: @ 080CDF78 - .incbin "baserom.gba", 0x0CDF78, 0x0000005 - -gUnk_080CDF7D:: @ 080CDF7D - .incbin "baserom.gba", 0x0CDF7D, 0x0000005 - -gUnk_080CDF82:: @ 080CDF82 - .incbin "baserom.gba", 0x0CDF82, 0x0000005 - -gUnk_080CDF87:: @ 080CDF87 - .incbin "baserom.gba", 0x0CDF87, 0x0000005 - -gUnk_080CDF8C:: @ 080CDF8C - .incbin "baserom.gba", 0x0CDF8C, 0x0000005 - -gUnk_080CDF91:: @ 080CDF91 - .incbin "baserom.gba", 0x0CDF91, 0x0000005 - -gUnk_080CDF96:: @ 080CDF96 - .incbin "baserom.gba", 0x0CDF96, 0x0000005 - -gUnk_080CDF9B:: @ 080CDF9B - .incbin "baserom.gba", 0x0CDF9B, 0x0000005 - -gUnk_080CDFA0:: @ 080CDFA0 - .incbin "baserom.gba", 0x0CDFA0, 0x0000024 - -gUnk_080CDFC4:: @ 080CDFC4 - .incbin "baserom.gba", 0x0CDFC4, 0x0000018 - -gUnk_080CDFDC:: @ 080CDFDC - .incbin "baserom.gba", 0x0CDFDC, 0x000000C - -gUnk_080CDFE8:: @ 080CDFE8 - .incbin "baserom.gba", 0x0CDFE8, 0x000000D - -gUnk_080CDFF5:: @ 080CDFF5 - .incbin "baserom.gba", 0x0CDFF5, 0x000000D - -gUnk_080CE002:: @ 080CE002 - .incbin "baserom.gba", 0x0CE002, 0x000000D - -gUnk_080CE00F:: @ 080CE00F - .incbin "baserom.gba", 0x0CE00F, 0x000000D - -gUnk_080CE01C:: @ 080CE01C - .incbin "baserom.gba", 0x0CE01C, 0x000000D - -gUnk_080CE029:: @ 080CE029 - .incbin "baserom.gba", 0x0CE029, 0x000000D - -gUnk_080CE036:: @ 080CE036 - .incbin "baserom.gba", 0x0CE036, 0x000000D - -gUnk_080CE043:: @ 080CE043 - .incbin "baserom.gba", 0x0CE043, 0x000000D - -gUnk_080CE050:: @ 080CE050 - .incbin "baserom.gba", 0x0CE050, 0x0000024 - -gUnk_080CE074:: @ 080CE074 - .incbin "baserom.gba", 0x0CE074, 0x0000018 - -gUnk_080CE08C:: @ 080CE08C - .incbin "baserom.gba", 0x0CE08C, 0x000000C - -gUnk_080CE098:: @ 080CE098 - .incbin "baserom.gba", 0x0CE098, 0x000000D - -gUnk_080CE0A5:: @ 080CE0A5 - .incbin "baserom.gba", 0x0CE0A5, 0x000000D - -gUnk_080CE0B2:: @ 080CE0B2 - .incbin "baserom.gba", 0x0CE0B2, 0x000000D - -gUnk_080CE0BF:: @ 080CE0BF - .incbin "baserom.gba", 0x0CE0BF, 0x000000D - -gUnk_080CE0CC:: @ 080CE0CC - .incbin "baserom.gba", 0x0CE0CC, 0x000000D - -gUnk_080CE0D9:: @ 080CE0D9 - .incbin "baserom.gba", 0x0CE0D9, 0x000000D - -gUnk_080CE0E6:: @ 080CE0E6 - .incbin "baserom.gba", 0x0CE0E6, 0x000000D - -gUnk_080CE0F3:: @ 080CE0F3 - .incbin "baserom.gba", 0x0CE0F3, 0x000000D - -gUnk_080CE100:: @ 080CE100 - .incbin "baserom.gba", 0x0CE100, 0x0000024 - -gUnk_080CE124:: @ 080CE124 - .incbin "baserom.gba", 0x0CE124, 0x0000018 - -gUnk_080CE13C:: @ 080CE13C - .incbin "baserom.gba", 0x0CE13C, 0x0000024 - -gUnk_080CE160:: @ 080CE160 - .incbin "baserom.gba", 0x0CE160, 0x0000004 - -gUnk_080CE164:: @ 080CE164 - .incbin "baserom.gba", 0x0CE164, 0x0000008 - -gUnk_080CE16C:: @ 080CE16C - .incbin "baserom.gba", 0x0CE16C, 0x0000019 - -gUnk_080CE185:: @ 080CE185 - .incbin "baserom.gba", 0x0CE185, 0x0000019 - -gUnk_080CE19E:: @ 080CE19E - .incbin "baserom.gba", 0x0CE19E, 0x0000019 - -gUnk_080CE1B7:: @ 080CE1B7 - .incbin "baserom.gba", 0x0CE1B7, 0x0000019 - -gUnk_080CE1D0:: @ 080CE1D0 - .incbin "baserom.gba", 0x0CE1D0, 0x0000035 - -gUnk_080CE205:: @ 080CE205 - .incbin "baserom.gba", 0x0CE205, 0x0000041 - -gUnk_080CE246:: @ 080CE246 - .incbin "baserom.gba", 0x0CE246, 0x0000018 - -gUnk_080CE25E:: @ 080CE25E - .incbin "baserom.gba", 0x0CE25E, 0x0000006 - -gUnk_080CE264:: @ 080CE264 - .incbin "baserom.gba", 0x0CE264, 0x0000024 - -gUnk_080CE288:: @ 080CE288 - .incbin "baserom.gba", 0x0CE288, 0x0000018 - -gUnk_080CE2A0:: @ 080CE2A0 - .incbin "baserom.gba", 0x0CE2A0, 0x000001C - -gUnk_080CE2BC:: @ 080CE2BC - .incbin "baserom.gba", 0x0CE2BC, 0x0000004 - -gUnk_080CE2C0:: @ 080CE2C0 - .incbin "baserom.gba", 0x0CE2C0, 0x0000034 - -gUnk_080CE2F4:: @ 080CE2F4 - .incbin "baserom.gba", 0x0CE2F4, 0x0000010 - -gUnk_080CE304:: @ 080CE304 - .incbin "baserom.gba", 0x0CE304, 0x0000008 - -gUnk_080CE30C:: @ 080CE30C - .incbin "baserom.gba", 0x0CE30C, 0x0000010 - -gUnk_080CE31C:: @ 080CE31C - .incbin "baserom.gba", 0x0CE31C, 0x0000019 - -gUnk_080CE335:: @ 080CE335 - .incbin "baserom.gba", 0x0CE335, 0x0000010 - -gUnk_080CE345:: @ 080CE345 - .incbin "baserom.gba", 0x0CE345, 0x0000019 - -gUnk_080CE35E:: @ 080CE35E - .incbin "baserom.gba", 0x0CE35E, 0x0000010 - -gUnk_080CE36E:: @ 080CE36E - .incbin "baserom.gba", 0x0CE36E, 0x0000019 - -gUnk_080CE387:: @ 080CE387 - .incbin "baserom.gba", 0x0CE387, 0x0000010 - -gUnk_080CE397:: @ 080CE397 - .incbin "baserom.gba", 0x0CE397, 0x0000019 - -gUnk_080CE3B0:: @ 080CE3B0 - .incbin "baserom.gba", 0x0CE3B0, 0x000000C - -gUnk_080CE3BC:: @ 080CE3BC - .incbin "baserom.gba", 0x0CE3BC, 0x000000C - -gUnk_080CE3C8:: @ 080CE3C8 - .incbin "baserom.gba", 0x0CE3C8, 0x000000C - -gUnk_080CE3D4:: @ 080CE3D4 - .incbin "baserom.gba", 0x0CE3D4, 0x000000C - -gUnk_080CE3E0:: @ 080CE3E0 - .incbin "baserom.gba", 0x0CE3E0, 0x000000C - -gUnk_080CE3EC:: @ 080CE3EC - .incbin "baserom.gba", 0x0CE3EC, 0x000000C - -gUnk_080CE3F8:: @ 080CE3F8 - .incbin "baserom.gba", 0x0CE3F8, 0x000000C - -gUnk_080CE404:: @ 080CE404 - .incbin "baserom.gba", 0x0CE404, 0x0000003 - -gUnk_080CE407:: @ 080CE407 - .incbin "baserom.gba", 0x0CE407, 0x0000041 - -gUnk_080CE448:: @ 080CE448 - .incbin "baserom.gba", 0x0CE448, 0x0000018 - -gUnk_080CE460:: @ 080CE460 - .incbin "baserom.gba", 0x0CE460, 0x0000010 - -gUnk_080CE470:: @ 080CE470 - .incbin "baserom.gba", 0x0CE470, 0x000000C - -gUnk_080CE47C:: @ 080CE47C - .incbin "baserom.gba", 0x0CE47C, 0x0000011 - -gUnk_080CE48D:: @ 080CE48D - .incbin "baserom.gba", 0x0CE48D, 0x0000011 - -gUnk_080CE49E:: @ 080CE49E - .incbin "baserom.gba", 0x0CE49E, 0x0000011 - -gUnk_080CE4AF:: @ 080CE4AF - .incbin "baserom.gba", 0x0CE4AF, 0x0000011 - -gUnk_080CE4C0:: @ 080CE4C0 - .incbin "baserom.gba", 0x0CE4C0, 0x0000011 - -gUnk_080CE4D1:: @ 080CE4D1 - .incbin "baserom.gba", 0x0CE4D1, 0x0000011 - -gUnk_080CE4E2:: @ 080CE4E2 - .incbin "baserom.gba", 0x0CE4E2, 0x0000011 - -gUnk_080CE4F3:: @ 080CE4F3 - .incbin "baserom.gba", 0x0CE4F3, 0x0000019 - -gUnk_080CE50C:: @ 080CE50C - .incbin "baserom.gba", 0x0CE50C, 0x0000024 - -gUnk_080CE530:: @ 080CE530 - .incbin "baserom.gba", 0x0CE530, 0x0000018 - -gUnk_080CE548:: @ 080CE548 - .incbin "baserom.gba", 0x0CE548, 0x000000C - -gUnk_080CE554:: @ 080CE554 - .incbin "baserom.gba", 0x0CE554, 0x000000C - -gUnk_080CE560:: @ 080CE560 - .incbin "baserom.gba", 0x0CE560, 0x000000C - -gUnk_080CE56C:: @ 080CE56C - .incbin "baserom.gba", 0x0CE56C, 0x0000018 - -gUnk_080CE584:: @ 080CE584 - .incbin "baserom.gba", 0x0CE584, 0x0000008 - -gUnk_080CE58C:: @ 080CE58C - .incbin "baserom.gba", 0x0CE58C, 0x0000024 - -gUnk_080CE5B0:: @ 080CE5B0 - .incbin "baserom.gba", 0x0CE5B0, 0x0000008 - -gUnk_080CE5B8:: @ 080CE5B8 - .incbin "baserom.gba", 0x0CE5B8, 0x0000008 - -gUnk_080CE5C0:: @ 080CE5C0 - .incbin "baserom.gba", 0x0CE5C0, 0x0000008 - -gUnk_080CE5C8:: @ 080CE5C8 - .incbin "baserom.gba", 0x0CE5C8, 0x0000028 - -gUnk_080CE5F0:: @ 080CE5F0 - .incbin "baserom.gba", 0x0CE5F0, 0x000000A - -gUnk_080CE5FA:: @ 080CE5FA - .incbin "baserom.gba", 0x0CE5FA, 0x0000014 - -gUnk_080CE60E:: @ 080CE60E - .incbin "baserom.gba", 0x0CE60E, 0x0000018 - -gUnk_080CE626:: @ 080CE626 - .incbin "baserom.gba", 0x0CE626, 0x0000031 - -gUnk_080CE657:: @ 080CE657 - .incbin "baserom.gba", 0x0CE657, 0x0000010 - -gUnk_080CE667:: @ 080CE667 - .incbin "baserom.gba", 0x0CE667, 0x0000028 - -gUnk_080CE68F:: @ 080CE68F - .incbin "baserom.gba", 0x0CE68F, 0x0000009 - -gUnk_080CE698:: @ 080CE698 - .incbin "baserom.gba", 0x0CE698, 0x0000005 - -gUnk_080CE69D:: @ 080CE69D - .incbin "baserom.gba", 0x0CE69D, 0x0000009 - -gUnk_080CE6A6:: @ 080CE6A6 - .incbin "baserom.gba", 0x0CE6A6, 0x0000009 - -gUnk_080CE6AF:: @ 080CE6AF - .incbin "baserom.gba", 0x0CE6AF, 0x0000011 - -gUnk_080CE6C0:: @ 080CE6C0 - .incbin "baserom.gba", 0x0CE6C0, 0x0000011 - -gUnk_080CE6D1:: @ 080CE6D1 - .incbin "baserom.gba", 0x0CE6D1, 0x0000005 - -gUnk_080CE6D6:: @ 080CE6D6 - .incbin "baserom.gba", 0x0CE6D6, 0x0000005 - -gUnk_080CE6DB:: @ 080CE6DB - .incbin "baserom.gba", 0x0CE6DB, 0x000000C - -gUnk_080CE6E7:: @ 080CE6E7 - .incbin "baserom.gba", 0x0CE6E7, 0x0000040 - -gUnk_080CE727:: @ 080CE727 - .incbin "baserom.gba", 0x0CE727, 0x0000049 - -gUnk_080CE770:: @ 080CE770 - .incbin "baserom.gba", 0x0CE770, 0x0000040 - -gUnk_080CE7B0:: @ 080CE7B0 - .incbin "baserom.gba", 0x0CE7B0, 0x0000018 - -gUnk_080CE7C8:: @ 080CE7C8 - .incbin "baserom.gba", 0x0CE7C8, 0x0000018 - -gUnk_080CE7E0:: @ 080CE7E0 - .incbin "baserom.gba", 0x0CE7E0, 0x0000010 - -gUnk_080CE7F0:: @ 080CE7F0 - .incbin "baserom.gba", 0x0CE7F0, 0x0000020 - -gUnk_080CE810:: @ 080CE810 - .incbin "baserom.gba", 0x0CE810, 0x0000008 - -gUnk_080CE818:: @ 080CE818 - .incbin "baserom.gba", 0x0CE818, 0x0000011 - -gUnk_080CE829:: @ 080CE829 - .incbin "baserom.gba", 0x0CE829, 0x0000011 - -gUnk_080CE83A:: @ 080CE83A - .incbin "baserom.gba", 0x0CE83A, 0x0000011 - -gUnk_080CE84B:: @ 080CE84B - .incbin "baserom.gba", 0x0CE84B, 0x0000011 - -gUnk_080CE85C:: @ 080CE85C - .incbin "baserom.gba", 0x0CE85C, 0x0000011 - -gUnk_080CE86D:: @ 080CE86D - .incbin "baserom.gba", 0x0CE86D, 0x0000011 - -gUnk_080CE87E:: @ 080CE87E - .incbin "baserom.gba", 0x0CE87E, 0x0000011 - -gUnk_080CE88F:: @ 080CE88F - .incbin "baserom.gba", 0x0CE88F, 0x0000011 - -gUnk_080CE8A0:: @ 080CE8A0 - .incbin "baserom.gba", 0x0CE8A0, 0x0000029 - -gUnk_080CE8C9:: @ 080CE8C9 - .incbin "baserom.gba", 0x0CE8C9, 0x0000029 - -gUnk_080CE8F2:: @ 080CE8F2 - .incbin "baserom.gba", 0x0CE8F2, 0x0000029 - -gUnk_080CE91B:: @ 080CE91B - .incbin "baserom.gba", 0x0CE91B, 0x0000029 - -gUnk_080CE944:: @ 080CE944 - .incbin "baserom.gba", 0x0CE944, 0x0000034 - -gUnk_080CE978:: @ 080CE978 - .incbin "baserom.gba", 0x0CE978, 0x0000018 - -gUnk_080CE990:: @ 080CE990 - .incbin "baserom.gba", 0x0CE990, 0x0000014 - -gUnk_080CE9A4:: @ 080CE9A4 - .incbin "baserom.gba", 0x0CE9A4, 0x000000C - -gUnk_080CE9B0:: @ 080CE9B0 - .incbin "baserom.gba", 0x0CE9B0, 0x0000005 - -gUnk_080CE9B5:: @ 080CE9B5 - .incbin "baserom.gba", 0x0CE9B5, 0x0000005 - -gUnk_080CE9BA:: @ 080CE9BA - .incbin "baserom.gba", 0x0CE9BA, 0x0000011 - -gUnk_080CE9CB:: @ 080CE9CB - .incbin "baserom.gba", 0x0CE9CB, 0x0000011 - -gUnk_080CE9DC:: @ 080CE9DC - .incbin "baserom.gba", 0x0CE9DC, 0x0000011 - -gUnk_080CE9ED:: @ 080CE9ED - .incbin "baserom.gba", 0x0CE9ED, 0x0000013 - -gUnk_080CEA00:: @ 080CEA00 - .incbin "baserom.gba", 0x0CEA00, 0x000001C - -gUnk_080CEA1C:: @ 080CEA1C - .incbin "baserom.gba", 0x0CEA1C, 0x0000018 - -gUnk_080CEA34:: @ 080CEA34 - .incbin "baserom.gba", 0x0CEA34, 0x000001C - -gUnk_080CEA50:: @ 080CEA50 - .incbin "baserom.gba", 0x0CEA50, 0x0000004 - -gUnk_080CEA54:: @ 080CEA54 - .incbin "baserom.gba", 0x0CEA54, 0x0000002 - -gUnk_080CEA56:: @ 080CEA56 - .incbin "baserom.gba", 0x0CEA56, 0x0000010 - -gUnk_080CEA66:: @ 080CEA66 - .incbin "baserom.gba", 0x0CEA66, 0x0000005 - -gUnk_080CEA6B:: @ 080CEA6B - .incbin "baserom.gba", 0x0CEA6B, 0x0000005 - -gUnk_080CEA70:: @ 080CEA70 - .incbin "baserom.gba", 0x0CEA70, 0x0000005 - -gUnk_080CEA75:: @ 080CEA75 - .incbin "baserom.gba", 0x0CEA75, 0x0000005 - -gUnk_080CEA7A:: @ 080CEA7A - .incbin "baserom.gba", 0x0CEA7A, 0x0000011 - -gUnk_080CEA8B:: @ 080CEA8B - .incbin "baserom.gba", 0x0CEA8B, 0x0000011 - -gUnk_080CEA9C:: @ 080CEA9C - .incbin "baserom.gba", 0x0CEA9C, 0x0000011 - -gUnk_080CEAAD:: @ 080CEAAD - .incbin "baserom.gba", 0x0CEAAD, 0x0000011 - -gUnk_080CEABE:: @ 080CEABE - .incbin "baserom.gba", 0x0CEABE, 0x0000011 - -gUnk_080CEACF:: @ 080CEACF - .incbin "baserom.gba", 0x0CEACF, 0x0000011 - -gUnk_080CEAE0:: @ 080CEAE0 - .incbin "baserom.gba", 0x0CEAE0, 0x0000011 - -gUnk_080CEAF1:: @ 080CEAF1 - .incbin "baserom.gba", 0x0CEAF1, 0x0000013 - -gUnk_080CEB04:: @ 080CEB04 - .incbin "baserom.gba", 0x0CEB04, 0x0000034 - -gUnk_080CEB38:: @ 080CEB38 - .incbin "baserom.gba", 0x0CEB38, 0x0000018 - -gUnk_080CEB50:: @ 080CEB50 - .incbin "baserom.gba", 0x0CEB50, 0x0000010 - -gUnk_080CEB60:: @ 080CEB60 - .incbin "baserom.gba", 0x0CEB60, 0x000000C - -gUnk_080CEB6C:: @ 080CEB6C - .incbin "baserom.gba", 0x0CEB6C, 0x0000008 - -gUnk_080CEB74:: @ 080CEB74 - .incbin "baserom.gba", 0x0CEB74, 0x0000018 - -gUnk_080CEB8C:: @ 080CEB8C - .incbin "baserom.gba", 0x0CEB8C, 0x000000C - -gUnk_080CEB98:: @ 080CEB98 - .incbin "baserom.gba", 0x0CEB98, 0x000000C - -gUnk_080CEBA4:: @ 080CEBA4 - .incbin "baserom.gba", 0x0CEBA4, 0x0000008 - -gUnk_080CEBAC:: @ 080CEBAC - .incbin "baserom.gba", 0x0CEBAC, 0x0000011 - -gUnk_080CEBBD:: @ 080CEBBD - .incbin "baserom.gba", 0x0CEBBD, 0x0000013 - -gUnk_080CEBD0:: @ 080CEBD0 - .incbin "baserom.gba", 0x0CEBD0, 0x000001C - -gUnk_080CEBEC:: @ 080CEBEC - .incbin "baserom.gba", 0x0CEBEC, 0x0000018 - -gUnk_080CEC04:: @ 080CEC04 - .incbin "baserom.gba", 0x0CEC04, 0x0000018 - -gUnk_080CEC1C:: @ 080CEC1C - .incbin "baserom.gba", 0x0CEC1C, 0x0000008 - -gUnk_080CEC24:: @ 080CEC24 - .incbin "baserom.gba", 0x0CEC24, 0x0000005 - -gUnk_080CEC29:: @ 080CEC29 - .incbin "baserom.gba", 0x0CEC29, 0x0000019 - -gUnk_080CEC42:: @ 080CEC42 - .incbin "baserom.gba", 0x0CEC42, 0x0000009 - -gUnk_080CEC4B:: @ 080CEC4B - .incbin "baserom.gba", 0x0CEC4B, 0x0000011 - -gUnk_080CEC5C:: @ 080CEC5C - .incbin "baserom.gba", 0x0CEC5C, 0x0000014 - -gUnk_080CEC70:: @ 080CEC70 - .incbin "baserom.gba", 0x0CEC70, 0x0000018 - -gUnk_080CEC88:: @ 080CEC88 - .incbin "baserom.gba", 0x0CEC88, 0x0000018 - -gUnk_080CECA0:: @ 080CECA0 - .incbin "baserom.gba", 0x0CECA0, 0x0000014 - -gUnk_080CECB4:: @ 080CECB4 - .incbin "baserom.gba", 0x0CECB4, 0x0000019 - -gUnk_080CECCD:: @ 080CECCD - .incbin "baserom.gba", 0x0CECCD, 0x000001F - -gUnk_080CECEC:: @ 080CECEC - .incbin "baserom.gba", 0x0CECEC, 0x0000008 - -gUnk_080CECF4:: @ 080CECF4 - .incbin "baserom.gba", 0x0CECF4, 0x000000E - -gUnk_080CED02:: @ 080CED02 - .incbin "baserom.gba", 0x0CED02, 0x0000004 - -gUnk_080CED06:: @ 080CED06 - .incbin "baserom.gba", 0x0CED06, 0x0000006 - -gUnk_080CED0C:: @ 080CED0C - .incbin "baserom.gba", 0x0CED0C, 0x0000020 - -gUnk_080CED2C:: @ 080CED2C - .incbin "baserom.gba", 0x0CED2C, 0x0000020 - -gUnk_080CED4C:: @ 080CED4C - .incbin "baserom.gba", 0x0CED4C, 0x0000020 - -gUnk_080CED6C:: @ 080CED6C - .incbin "baserom.gba", 0x0CED6C, 0x0000008 - -gUnk_080CED74:: @ 080CED74 - .incbin "baserom.gba", 0x0CED74, 0x0000010 - -gUnk_080CED84:: @ 080CED84 - .incbin "baserom.gba", 0x0CED84, 0x0000004 - -gUnk_080CED88:: @ 080CED88 - .incbin "baserom.gba", 0x0CED88, 0x0000014 - -gUnk_080CED9C:: @ 080CED9C - .incbin "baserom.gba", 0x0CED9C, 0x0000014 - -gUnk_080CEDB0:: @ 080CEDB0 - .incbin "baserom.gba", 0x0CEDB0, 0x0000005 - -gUnk_080CEDB5:: @ 080CEDB5 - .incbin "baserom.gba", 0x0CEDB5, 0x0000005 - -gUnk_080CEDBA:: @ 080CEDBA - .incbin "baserom.gba", 0x0CEDBA, 0x0000015 - -gUnk_080CEDCF:: @ 080CEDCF - .incbin "baserom.gba", 0x0CEDCF, 0x0000038 - -gUnk_080CEE07:: @ 080CEE07 - .incbin "baserom.gba", 0x0CEE07, 0x0000038 - -gUnk_080CEE3F:: @ 080CEE3F - .incbin "baserom.gba", 0x0CEE3F, 0x0000018 - -gUnk_080CEE57:: @ 080CEE57 - .incbin "baserom.gba", 0x0CEE57, 0x0000019 - -gUnk_080CEE70:: @ 080CEE70 - .incbin "baserom.gba", 0x0CEE70, 0x0000020 - -gUnk_080CEE90:: @ 080CEE90 - .incbin "baserom.gba", 0x0CEE90, 0x0000014 - -gUnk_080CEEA4:: @ 080CEEA4 - .incbin "baserom.gba", 0x0CEEA4, 0x000000C - -gUnk_080CEEB0:: @ 080CEEB0 - .incbin "baserom.gba", 0x0CEEB0, 0x0000018 - -gUnk_080CEEC8:: @ 080CEEC8 - .incbin "baserom.gba", 0x0CEEC8, 0x0000004 - -gUnk_080CEECC:: @ 080CEECC - .incbin "baserom.gba", 0x0CEECC, 0x000000C - -gUnk_080CEED8:: @ 080CEED8 - .incbin "baserom.gba", 0x0CEED8, 0x0000004 - -gUnk_080CEEDC:: @ 080CEEDC - .incbin "baserom.gba", 0x0CEEDC, 0x000002C - -gUnk_080CEF08:: @ 080CEF08 - .incbin "baserom.gba", 0x0CEF08, 0x0000004 - -gUnk_080CEF0C:: @ 080CEF0C - .incbin "baserom.gba", 0x0CEF0C, 0x0000011 - -gUnk_080CEF1D:: @ 080CEF1D - .incbin "baserom.gba", 0x0CEF1D, 0x0000007 - -gUnk_080CEF24:: @ 080CEF24 - .incbin "baserom.gba", 0x0CEF24, 0x0000010 - -gUnk_080CEF34:: @ 080CEF34 - .incbin "baserom.gba", 0x0CEF34, 0x0000024 - -gUnk_080CEF58:: @ 080CEF58 - .incbin "baserom.gba", 0x0CEF58, 0x0000024 - -gUnk_080CEF7C:: @ 080CEF7C - .incbin "baserom.gba", 0x0CEF7C, 0x0000021 - -gUnk_080CEF9D:: @ 080CEF9D - .incbin "baserom.gba", 0x0CEF9D, 0x0000008 - -gUnk_080CEFA5:: @ 080CEFA5 - .incbin "baserom.gba", 0x0CEFA5, 0x0000009 - -gUnk_080CEFAE:: @ 080CEFAE - .incbin "baserom.gba", 0x0CEFAE, 0x0000004 - -gUnk_080CEFB2:: @ 080CEFB2 - .incbin "baserom.gba", 0x0CEFB2, 0x0000004 - -gUnk_080CEFB6:: @ 080CEFB6 - .incbin "baserom.gba", 0x0CEFB6, 0x0000015 - -gUnk_080CEFCB:: @ 080CEFCB - .incbin "baserom.gba", 0x0CEFCB, 0x0000015 - -gUnk_080CEFE0:: @ 080CEFE0 - .incbin "baserom.gba", 0x0CEFE0, 0x0000009 - -gUnk_080CEFE9:: @ 080CEFE9 - .incbin "baserom.gba", 0x0CEFE9, 0x0000019 - -gUnk_080CF002:: @ 080CF002 - .incbin "baserom.gba", 0x0CF002, 0x0000012 - -gUnk_080CF014:: @ 080CF014 - .incbin "baserom.gba", 0x0CF014, 0x000002C - -gUnk_080CF040:: @ 080CF040 - .incbin "baserom.gba", 0x0CF040, 0x0000014 - -gUnk_080CF054:: @ 080CF054 - .incbin "baserom.gba", 0x0CF054, 0x000001C - -gUnk_080CF070:: @ 080CF070 - .incbin "baserom.gba", 0x0CF070, 0x0000008 - -gUnk_080CF078:: @ 080CF078 - .incbin "baserom.gba", 0x0CF078, 0x0000014 - -gUnk_080CF08C:: @ 080CF08C - .incbin "baserom.gba", 0x0CF08C, 0x0000020 - -gUnk_080CF0AC:: @ 080CF0AC - .incbin "baserom.gba", 0x0CF0AC, 0x0000018 - -gUnk_080CF0C4:: @ 080CF0C4 - .incbin "baserom.gba", 0x0CF0C4, 0x0000014 - -gUnk_080CF0D8:: @ 080CF0D8 - .incbin "baserom.gba", 0x0CF0D8, 0x0000004 - -gUnk_080CF0DC:: @ 080CF0DC - .incbin "baserom.gba", 0x0CF0DC, 0x0000004 - -gUnk_080CF0E0:: @ 080CF0E0 - .incbin "baserom.gba", 0x0CF0E0, 0x0000010 - -gUnk_080CF0F0:: @ 080CF0F0 - .incbin "baserom.gba", 0x0CF0F0, 0x0000010 - -gUnk_080CF100:: @ 080CF100 - .incbin "baserom.gba", 0x0CF100, 0x000000C - -gUnk_080CF10C:: @ 080CF10C - .incbin "baserom.gba", 0x0CF10C, 0x0000004 - -gUnk_080CF110:: @ 080CF110 - .incbin "baserom.gba", 0x0CF110, 0x0000004 - -gUnk_080CF114:: @ 080CF114 - .incbin "baserom.gba", 0x0CF114, 0x0000005 - -gUnk_080CF119:: @ 080CF119 - .incbin "baserom.gba", 0x0CF119, 0x0000005 - -gUnk_080CF11E:: @ 080CF11E - .incbin "baserom.gba", 0x0CF11E, 0x0000006 - -gUnk_080CF124:: @ 080CF124 - .incbin "baserom.gba", 0x0CF124, 0x0000010 - -gUnk_080CF134:: @ 080CF134 - .incbin "baserom.gba", 0x0CF134, 0x0000004 - -gUnk_080CF138:: @ 080CF138 - .incbin "baserom.gba", 0x0CF138, 0x0000004 - -gUnk_080CF13C:: @ 080CF13C - .incbin "baserom.gba", 0x0CF13C, 0x0000003 - -gUnk_080CF13F:: @ 080CF13F - .incbin "baserom.gba", 0x0CF13F, 0x0000003 - -gUnk_080CF142:: @ 080CF142 - .incbin "baserom.gba", 0x0CF142, 0x0000005 - -gUnk_080CF147:: @ 080CF147 - .incbin "baserom.gba", 0x0CF147, 0x0000005 - -gUnk_080CF14C:: @ 080CF14C - .incbin "baserom.gba", 0x0CF14C, 0x0000004 - -gUnk_080CF150:: @ 080CF150 - .incbin "baserom.gba", 0x0CF150, 0x0000004 - -gUnk_080CF154:: @ 080CF154 - .incbin "baserom.gba", 0x0CF154, 0x0000004 - -gUnk_080CF158:: @ 080CF158 - .incbin "baserom.gba", 0x0CF158, 0x0000015 - -gUnk_080CF16D:: @ 080CF16D - .incbin "baserom.gba", 0x0CF16D, 0x0000015 - -gUnk_080CF182:: @ 080CF182 - .incbin "baserom.gba", 0x0CF182, 0x0000004 - -gUnk_080CF186:: @ 080CF186 - .incbin "baserom.gba", 0x0CF186, 0x0000011 - -gUnk_080CF197:: @ 080CF197 - .incbin "baserom.gba", 0x0CF197, 0x0000015 - -gUnk_080CF1AC:: @ 080CF1AC - .incbin "baserom.gba", 0x0CF1AC, 0x0000011 - -gUnk_080CF1BD:: @ 080CF1BD - .incbin "baserom.gba", 0x0CF1BD, 0x0000020 - -gUnk_080CF1DD:: @ 080CF1DD - .incbin "baserom.gba", 0x0CF1DD, 0x0000005 - -gUnk_080CF1E2:: @ 080CF1E2 - .incbin "baserom.gba", 0x0CF1E2, 0x0000019 - -gUnk_080CF1FB:: @ 080CF1FB - .incbin "baserom.gba", 0x0CF1FB, 0x0000004 - -gUnk_080CF1FF:: @ 080CF1FF - .incbin "baserom.gba", 0x0CF1FF, 0x0000005 - -gUnk_080CF204:: @ 080CF204 - .incbin "baserom.gba", 0x0CF204, 0x0000030 - -gUnk_080CF234:: @ 080CF234 - .incbin "baserom.gba", 0x0CF234, 0x0000010 - -gUnk_080CF244:: @ 080CF244 - .incbin "baserom.gba", 0x0CF244, 0x0000018 - -gUnk_080CF25C:: @ 080CF25C - .incbin "baserom.gba", 0x0CF25C, 0x000001C - -gUnk_080CF278:: @ 080CF278 - .incbin "baserom.gba", 0x0CF278, 0x0000018 - -gUnk_080CF290:: @ 080CF290 - .incbin "baserom.gba", 0x0CF290, 0x0000004 - -gUnk_080CF294:: @ 080CF294 - .incbin "baserom.gba", 0x0CF294, 0x0000018 - -gUnk_080CF2AC:: @ 080CF2AC - .incbin "baserom.gba", 0x0CF2AC, 0x0000024 - -gUnk_080CF2D0:: @ 080CF2D0 - .incbin "baserom.gba", 0x0CF2D0, 0x0000004 - -gUnk_080CF2D4:: @ 080CF2D4 - .incbin "baserom.gba", 0x0CF2D4, 0x0000004 - -gUnk_080CF2D8:: @ 080CF2D8 - .incbin "baserom.gba", 0x0CF2D8, 0x0000004 - -gUnk_080CF2DC:: @ 080CF2DC - .incbin "baserom.gba", 0x0CF2DC, 0x0000004 - -gUnk_080CF2E0:: @ 080CF2E0 - .incbin "baserom.gba", 0x0CF2E0, 0x0000019 - -gUnk_080CF2F9:: @ 080CF2F9 - .incbin "baserom.gba", 0x0CF2F9, 0x0000019 - -gUnk_080CF312:: @ 080CF312 - .incbin "baserom.gba", 0x0CF312, 0x0000019 - -gUnk_080CF32B:: @ 080CF32B - .incbin "baserom.gba", 0x0CF32B, 0x0000019 - -gUnk_080CF344:: @ 080CF344 - .incbin "baserom.gba", 0x0CF344, 0x0000018 - -gUnk_080CF35C:: @ 080CF35C - .incbin "baserom.gba", 0x0CF35C, 0x0000018 - -gUnk_080CF374:: @ 080CF374 - .incbin "baserom.gba", 0x0CF374, 0x0000018 - -gUnk_080CF38C:: @ 080CF38C - .incbin "baserom.gba", 0x0CF38C, 0x0000018 - -gUnk_080CF3A4:: @ 080CF3A4 - .incbin "baserom.gba", 0x0CF3A4, 0x0000009 - -gUnk_080CF3AD:: @ 080CF3AD - .incbin "baserom.gba", 0x0CF3AD, 0x0000009 - -gUnk_080CF3B6:: @ 080CF3B6 - .incbin "baserom.gba", 0x0CF3B6, 0x0000009 - -gUnk_080CF3BF:: @ 080CF3BF - .incbin "baserom.gba", 0x0CF3BF, 0x0000009 - -gUnk_080CF3C8:: @ 080CF3C8 - .incbin "baserom.gba", 0x0CF3C8, 0x0000014 - -gUnk_080CF3DC:: @ 080CF3DC - .incbin "baserom.gba", 0x0CF3DC, 0x0000014 - -gUnk_080CF3F0:: @ 080CF3F0 - .incbin "baserom.gba", 0x0CF3F0, 0x0000014 - -gUnk_080CF404:: @ 080CF404 - .incbin "baserom.gba", 0x0CF404, 0x0000014 - -gUnk_080CF418:: @ 080CF418 - .incbin "baserom.gba", 0x0CF418, 0x0000054 - -gUnk_080CF46C:: @ 080CF46C - .incbin "baserom.gba", 0x0CF46C, 0x0000018 - -gUnk_080CF484:: @ 080CF484 - .incbin "baserom.gba", 0x0CF484, 0x000000C - -gUnk_080CF490:: @ 080CF490 - .incbin "baserom.gba", 0x0CF490, 0x0000008 - -gUnk_080CF498:: @ 080CF498 - .incbin "baserom.gba", 0x0CF498, 0x0000008 - -gUnk_080CF4A0:: @ 080CF4A0 - .incbin "baserom.gba", 0x0CF4A0, 0x0000018 - -gUnk_080CF4B8:: @ 080CF4B8 - .incbin "baserom.gba", 0x0CF4B8, 0x000000C - -gUnk_080CF4C4:: @ 080CF4C4 - .incbin "baserom.gba", 0x0CF4C4, 0x0000004 - -gUnk_080CF4C8:: @ 080CF4C8 - .incbin "baserom.gba", 0x0CF4C8, 0x0000018 - -gUnk_080CF4E0:: @ 080CF4E0 - .incbin "baserom.gba", 0x0CF4E0, 0x0000010 - -gUnk_080CF4F0:: @ 080CF4F0 - .incbin "baserom.gba", 0x0CF4F0, 0x0000018 - -gUnk_080CF508:: @ 080CF508 - .incbin "baserom.gba", 0x0CF508, 0x0000018 - -gUnk_080CF520:: @ 080CF520 - .incbin "baserom.gba", 0x0CF520, 0x0000010 - -gUnk_080CF530:: @ 080CF530 - .incbin "baserom.gba", 0x0CF530, 0x000000D - -gUnk_080CF53D:: @ 080CF53D - .incbin "baserom.gba", 0x0CF53D, 0x000000D - -gUnk_080CF54A:: @ 080CF54A - .incbin "baserom.gba", 0x0CF54A, 0x000000D - -gUnk_080CF557:: @ 080CF557 - .incbin "baserom.gba", 0x0CF557, 0x000000D - -gUnk_080CF564:: @ 080CF564 - .incbin "baserom.gba", 0x0CF564, 0x000000D - -gUnk_080CF571:: @ 080CF571 - .incbin "baserom.gba", 0x0CF571, 0x000000D - -gUnk_080CF57E:: @ 080CF57E - .incbin "baserom.gba", 0x0CF57E, 0x000000D - -gUnk_080CF58B:: @ 080CF58B - .incbin "baserom.gba", 0x0CF58B, 0x000000D - -gUnk_080CF598:: @ 080CF598 - .incbin "baserom.gba", 0x0CF598, 0x000000D - -gUnk_080CF5A5:: @ 080CF5A5 - .incbin "baserom.gba", 0x0CF5A5, 0x000000D - -gUnk_080CF5B2:: @ 080CF5B2 - .incbin "baserom.gba", 0x0CF5B2, 0x000000D - -gUnk_080CF5BF:: @ 080CF5BF - .incbin "baserom.gba", 0x0CF5BF, 0x000000D - -gUnk_080CF5CC:: @ 080CF5CC - .incbin "baserom.gba", 0x0CF5CC, 0x0000034 - -gUnk_080CF600:: @ 080CF600 - .incbin "baserom.gba", 0x0CF600, 0x0000018 - -gUnk_080CF618:: @ 080CF618 - .incbin "baserom.gba", 0x0CF618, 0x0000014 - -gUnk_080CF62C:: @ 080CF62C - .incbin "baserom.gba", 0x0CF62C, 0x0000008 - -gUnk_080CF634:: @ 080CF634 - .incbin "baserom.gba", 0x0CF634, 0x0000008 - -gUnk_080CF63C:: @ 080CF63C - .incbin "baserom.gba", 0x0CF63C, 0x0000008 - -gUnk_080CF644:: @ 080CF644 - .incbin "baserom.gba", 0x0CF644, 0x0000005 - -gUnk_080CF649:: @ 080CF649 - .incbin "baserom.gba", 0x0CF649, 0x0000005 - -gUnk_080CF64E:: @ 080CF64E - .incbin "baserom.gba", 0x0CF64E, 0x0000005 - -gUnk_080CF653:: @ 080CF653 - .incbin "baserom.gba", 0x0CF653, 0x0000005 - -gUnk_080CF658:: @ 080CF658 - .incbin "baserom.gba", 0x0CF658, 0x0000011 - -gUnk_080CF669:: @ 080CF669 - .incbin "baserom.gba", 0x0CF669, 0x0000011 - -gUnk_080CF67A:: @ 080CF67A - .incbin "baserom.gba", 0x0CF67A, 0x0000011 - -gUnk_080CF68B:: @ 080CF68B - .incbin "baserom.gba", 0x0CF68B, 0x0000011 - -gUnk_080CF69C:: @ 080CF69C - .incbin "baserom.gba", 0x0CF69C, 0x0000005 - -gUnk_080CF6A1:: @ 080CF6A1 - .incbin "baserom.gba", 0x0CF6A1, 0x0000005 - -gUnk_080CF6A6:: @ 080CF6A6 - .incbin "baserom.gba", 0x0CF6A6, 0x0000005 - -gUnk_080CF6AB:: @ 080CF6AB - .incbin "baserom.gba", 0x0CF6AB, 0x0000005 - -gUnk_080CF6B0:: @ 080CF6B0 - .incbin "baserom.gba", 0x0CF6B0, 0x0000011 - -gUnk_080CF6C1:: @ 080CF6C1 - .incbin "baserom.gba", 0x0CF6C1, 0x0000011 - -gUnk_080CF6D2:: @ 080CF6D2 - .incbin "baserom.gba", 0x0CF6D2, 0x0000011 - -gUnk_080CF6E3:: @ 080CF6E3 - .incbin "baserom.gba", 0x0CF6E3, 0x0000011 - -gUnk_080CF6F4:: @ 080CF6F4 - .incbin "baserom.gba", 0x0CF6F4, 0x000000C - -gUnk_080CF700:: @ 080CF700 - .incbin "baserom.gba", 0x0CF700, 0x000000C - -gUnk_080CF70C:: @ 080CF70C - .incbin "baserom.gba", 0x0CF70C, 0x000000C - -gUnk_080CF718:: @ 080CF718 - .incbin "baserom.gba", 0x0CF718, 0x000000C - -gUnk_080CF724:: @ 080CF724 - .incbin "baserom.gba", 0x0CF724, 0x0000054 - -gUnk_080CF778:: @ 080CF778 - .incbin "baserom.gba", 0x0CF778, 0x0000018 - -gUnk_080CF790:: @ 080CF790 - .incbin "baserom.gba", 0x0CF790, 0x000001C - -gUnk_080CF7AC:: @ 080CF7AC - .incbin "baserom.gba", 0x0CF7AC, 0x0000010 - -gUnk_080CF7BC:: @ 080CF7BC - .incbin "baserom.gba", 0x0CF7BC, 0x0000002 - -gUnk_080CF7BE:: @ 080CF7BE - .incbin "baserom.gba", 0x0CF7BE, 0x0000004 - -gUnk_080CF7C2:: @ 080CF7C2 - .incbin "baserom.gba", 0x0CF7C2, 0x0000002 - -gUnk_080CF7C4:: @ 080CF7C4 - .incbin "baserom.gba", 0x0CF7C4, 0x0000037 - -gUnk_080CF7FB:: @ 080CF7FB - .incbin "baserom.gba", 0x0CF7FB, 0x0000018 - -gUnk_080CF813:: @ 080CF813 - .incbin "baserom.gba", 0x0CF813, 0x0000011 - -gUnk_080CF824:: @ 080CF824 - .incbin "baserom.gba", 0x0CF824, 0x0000004 - -gUnk_080CF828:: @ 080CF828 - .incbin "baserom.gba", 0x0CF828, 0x0000004 - -gUnk_080CF82C:: @ 080CF82C - .incbin "baserom.gba", 0x0CF82C, 0x0000002 - -gUnk_080CF82E:: @ 080CF82E - .incbin "baserom.gba", 0x0CF82E, 0x0000003 - -gUnk_080CF831:: @ 080CF831 - .incbin "baserom.gba", 0x0CF831, 0x0000005 - -gUnk_080CF836:: @ 080CF836 - .incbin "baserom.gba", 0x0CF836, 0x0000011 - -gUnk_080CF847:: @ 080CF847 - .incbin "baserom.gba", 0x0CF847, 0x0000018 - -gUnk_080CF85F:: @ 080CF85F - .incbin "baserom.gba", 0x0CF85F, 0x0000020 - -gUnk_080CF87F:: @ 080CF87F - .incbin "baserom.gba", 0x0CF87F, 0x0000011 - -gUnk_080CF890:: @ 080CF890 - .incbin "baserom.gba", 0x0CF890, 0x0000014 - -gUnk_080CF8A4:: @ 080CF8A4 - .incbin "baserom.gba", 0x0CF8A4, 0x0000018 - -gUnk_080CF8BC:: @ 080CF8BC - .incbin "baserom.gba", 0x0CF8BC, 0x0000030 - -gUnk_080CF8EC:: @ 080CF8EC - .incbin "baserom.gba", 0x0CF8EC, 0x000000C - -gUnk_080CF8F8:: @ 080CF8F8 - .incbin "baserom.gba", 0x0CF8F8, 0x0000008 - -gUnk_080CF900:: @ 080CF900 - .incbin "baserom.gba", 0x0CF900, 0x0000010 - -gUnk_080CF910:: @ 080CF910 - .incbin "baserom.gba", 0x0CF910, 0x0000008 - -gUnk_080CF918:: @ 080CF918 - .incbin "baserom.gba", 0x0CF918, 0x0000010 - -gUnk_080CF928:: @ 080CF928 - .incbin "baserom.gba", 0x0CF928, 0x0000004 - -gUnk_080CF92C:: @ 080CF92C - .incbin "baserom.gba", 0x0CF92C, 0x0000004 - -gUnk_080CF930:: @ 080CF930 - .incbin "baserom.gba", 0x0CF930, 0x0000008 - -gUnk_080CF938:: @ 080CF938 - .incbin "baserom.gba", 0x0CF938, 0x000000A - -gUnk_080CF942:: @ 080CF942 - .incbin "baserom.gba", 0x0CF942, 0x0000004 - -gUnk_080CF946:: @ 080CF946 - .incbin "baserom.gba", 0x0CF946, 0x0000004 - -gUnk_080CF94A:: @ 080CF94A - .incbin "baserom.gba", 0x0CF94A, 0x0000004 - -gUnk_080CF94E:: @ 080CF94E - .incbin "baserom.gba", 0x0CF94E, 0x0000004 - -gUnk_080CF952:: @ 080CF952 - .incbin "baserom.gba", 0x0CF952, 0x0000019 - -gUnk_080CF96B:: @ 080CF96B - .incbin "baserom.gba", 0x0CF96B, 0x0000019 - -gUnk_080CF984:: @ 080CF984 - .incbin "baserom.gba", 0x0CF984, 0x0000019 - -gUnk_080CF99D:: @ 080CF99D - .incbin "baserom.gba", 0x0CF99D, 0x0000019 - -gUnk_080CF9B6:: @ 080CF9B6 - .incbin "baserom.gba", 0x0CF9B6, 0x0000004 - -gUnk_080CF9BA:: @ 080CF9BA - .incbin "baserom.gba", 0x0CF9BA, 0x0000004 - -gUnk_080CF9BE:: @ 080CF9BE - .incbin "baserom.gba", 0x0CF9BE, 0x0000004 - -gUnk_080CF9C2:: @ 080CF9C2 - .incbin "baserom.gba", 0x0CF9C2, 0x0000004 - -gUnk_080CF9C6:: @ 080CF9C6 - .incbin "baserom.gba", 0x0CF9C6, 0x0000011 - -gUnk_080CF9D7:: @ 080CF9D7 - .incbin "baserom.gba", 0x0CF9D7, 0x0000011 - -gUnk_080CF9E8:: @ 080CF9E8 - .incbin "baserom.gba", 0x0CF9E8, 0x000000B - -gUnk_080CF9F3:: @ 080CF9F3 - .incbin "baserom.gba", 0x0CF9F3, 0x0000004 - -gUnk_080CF9F7:: @ 080CF9F7 - .incbin "baserom.gba", 0x0CF9F7, 0x0000002 - -gUnk_080CF9F9:: @ 080CF9F9 - .incbin "baserom.gba", 0x0CF9F9, 0x0000011 - -gUnk_080CFA0A:: @ 080CFA0A - .incbin "baserom.gba", 0x0CFA0A, 0x0000004 - -gUnk_080CFA0E:: @ 080CFA0E - .incbin "baserom.gba", 0x0CFA0E, 0x0000004 - -gUnk_080CFA12:: @ 080CFA12 - .incbin "baserom.gba", 0x0CFA12, 0x0000004 - -gUnk_080CFA16:: @ 080CFA16 - .incbin "baserom.gba", 0x0CFA16, 0x0000004 - -gUnk_080CFA1A:: @ 080CFA1A - .incbin "baserom.gba", 0x0CFA1A, 0x0000019 - -gUnk_080CFA33:: @ 080CFA33 - .incbin "baserom.gba", 0x0CFA33, 0x0000019 - -gUnk_080CFA4C:: @ 080CFA4C - .incbin "baserom.gba", 0x0CFA4C, 0x0000019 - -gUnk_080CFA65:: @ 080CFA65 - .incbin "baserom.gba", 0x0CFA65, 0x0000019 - -gUnk_080CFA7E:: @ 080CFA7E - .incbin "baserom.gba", 0x0CFA7E, 0x0000014 - -gUnk_080CFA92:: @ 080CFA92 - .incbin "baserom.gba", 0x0CFA92, 0x0000014 - -gUnk_080CFAA6:: @ 080CFAA6 - .incbin "baserom.gba", 0x0CFAA6, 0x0000014 - -gUnk_080CFABA:: @ 080CFABA - .incbin "baserom.gba", 0x0CFABA, 0x0000014 - -gUnk_080CFACE:: @ 080CFACE - .incbin "baserom.gba", 0x0CFACE, 0x0000004 - -gUnk_080CFAD2:: @ 080CFAD2 - .incbin "baserom.gba", 0x0CFAD2, 0x0000004 - -gUnk_080CFAD6:: @ 080CFAD6 - .incbin "baserom.gba", 0x0CFAD6, 0x0000004 - -gUnk_080CFADA:: @ 080CFADA - .incbin "baserom.gba", 0x0CFADA, 0x0000004 - -gUnk_080CFADE:: @ 080CFADE - .incbin "baserom.gba", 0x0CFADE, 0x0000004 - -gUnk_080CFAE2:: @ 080CFAE2 - .incbin "baserom.gba", 0x0CFAE2, 0x0000004 - -gUnk_080CFAE6:: @ 080CFAE6 - .incbin "baserom.gba", 0x0CFAE6, 0x0000004 - -gUnk_080CFAEA:: @ 080CFAEA - .incbin "baserom.gba", 0x0CFAEA, 0x0000006 - -gUnk_080CFAF0:: @ 080CFAF0 - .incbin "baserom.gba", 0x0CFAF0, 0x0000003 - -gUnk_080CFAF3:: @ 080CFAF3 - .incbin "baserom.gba", 0x0CFAF3, 0x0000091 - -gUnk_080CFB84:: @ 080CFB84 - .incbin "baserom.gba", 0x0CFB84, 0x0000018 - -gUnk_080CFB9C:: @ 080CFB9C - .incbin "baserom.gba", 0x0CFB9C, 0x0000020 - -gUnk_080CFBBC:: @ 080CFBBC - .incbin "baserom.gba", 0x0CFBBC, 0x0000018 - -gUnk_080CFBD4:: @ 080CFBD4 - .incbin "baserom.gba", 0x0CFBD4, 0x0000010 - -gUnk_080CFBE4:: @ 080CFBE4 - .incbin "baserom.gba", 0x0CFBE4, 0x0000004 - -gUnk_080CFBE8:: @ 080CFBE8 - .incbin "baserom.gba", 0x0CFBE8, 0x0000024 - -gUnk_080CFC0C:: @ 080CFC0C - .incbin "baserom.gba", 0x0CFC0C, 0x0000008 - -gUnk_080CFC14:: @ 080CFC14 - .incbin "baserom.gba", 0x0CFC14, 0x0000018 - -gUnk_080CFC2C:: @ 080CFC2C - .incbin "baserom.gba", 0x0CFC2C, 0x0000010 - -gUnk_080CFC3C:: @ 080CFC3C - .incbin "baserom.gba", 0x0CFC3C, 0x00000BB - -gUnk_080CFCF7:: @ 080CFCF7 - .incbin "baserom.gba", 0x0CFCF7, 0x0000011 - -gUnk_080CFD08:: @ 080CFD08 - .incbin "baserom.gba", 0x0CFD08, 0x0000002 - -gUnk_080CFD0A:: @ 080CFD0A - .incbin "baserom.gba", 0x0CFD0A, 0x0000002 - -gUnk_080CFD0C:: @ 080CFD0C - .incbin "baserom.gba", 0x0CFD0C, 0x000000D - -gUnk_080CFD19:: @ 080CFD19 - .incbin "baserom.gba", 0x0CFD19, 0x0000002 - -gUnk_080CFD1B:: @ 080CFD1B - .incbin "baserom.gba", 0x0CFD1B, 0x0000002 - -gUnk_080CFD1D:: @ 080CFD1D - .incbin "baserom.gba", 0x0CFD1D, 0x0000003 - -gUnk_080CFD20:: @ 080CFD20 - .incbin "baserom.gba", 0x0CFD20, 0x0000010 - -gUnk_080CFD30:: @ 080CFD30 - .incbin "baserom.gba", 0x0CFD30, 0x0000014 - -gUnk_080CFD44:: @ 080CFD44 - .incbin "baserom.gba", 0x0CFD44, 0x0000014 - -gUnk_080CFD58:: @ 080CFD58 - .incbin "baserom.gba", 0x0CFD58, 0x0000004 - -gUnk_080CFD5C:: @ 080CFD5C - .incbin "baserom.gba", 0x0CFD5C, 0x0000004 - -gUnk_080CFD60:: @ 080CFD60 - .incbin "baserom.gba", 0x0CFD60, 0x0000011 - -gUnk_080CFD71:: @ 080CFD71 - .incbin "baserom.gba", 0x0CFD71, 0x0000011 - -gUnk_080CFD82:: @ 080CFD82 - .incbin "baserom.gba", 0x0CFD82, 0x0000054 - -gUnk_080CFDD6:: @ 080CFDD6 - .incbin "baserom.gba", 0x0CFDD6, 0x0000013 - -gUnk_080CFDE9:: @ 080CFDE9 - .incbin "baserom.gba", 0x0CFDE9, 0x0000041 - -gUnk_080CFE2A:: @ 080CFE2A - .incbin "baserom.gba", 0x0CFE2A, 0x000000D - -gUnk_080CFE37:: @ 080CFE37 - .incbin "baserom.gba", 0x0CFE37, 0x000000D - -gUnk_080CFE44:: @ 080CFE44 - .incbin "baserom.gba", 0x0CFE44, 0x0000008 - -gUnk_080CFE4C:: @ 080CFE4C - .incbin "baserom.gba", 0x0CFE4C, 0x0000008 - -gUnk_080CFE54:: @ 080CFE54 - .incbin "baserom.gba", 0x0CFE54, 0x0000004 - -gUnk_080CFE58:: @ 080CFE58 - .incbin "baserom.gba", 0x0CFE58, 0x0000004 - -gUnk_080CFE5C:: @ 080CFE5C - .incbin "baserom.gba", 0x0CFE5C, 0x0000004 - -gUnk_080CFE60:: @ 080CFE60 - .incbin "baserom.gba", 0x0CFE60, 0x0000011 - -gUnk_080CFE71:: @ 080CFE71 - .incbin "baserom.gba", 0x0CFE71, 0x0000005 - -gUnk_080CFE76:: @ 080CFE76 - .incbin "baserom.gba", 0x0CFE76, 0x0000005 - -gUnk_080CFE7B:: @ 080CFE7B - .incbin "baserom.gba", 0x0CFE7B, 0x0000005 - -gUnk_080CFE80:: @ 080CFE80 - .incbin "baserom.gba", 0x0CFE80, 0x0000005 - -gUnk_080CFE85:: @ 080CFE85 - .incbin "baserom.gba", 0x0CFE85, 0x0000005 - -gUnk_080CFE8A:: @ 080CFE8A - .incbin "baserom.gba", 0x0CFE8A, 0x0000005 - -gUnk_080CFE8F:: @ 080CFE8F - .incbin "baserom.gba", 0x0CFE8F, 0x0000005 - -gUnk_080CFE94:: @ 080CFE94 - .incbin "baserom.gba", 0x0CFE94, 0x0000005 - -gUnk_080CFE99:: @ 080CFE99 - .incbin "baserom.gba", 0x0CFE99, 0x0000005 - -gUnk_080CFE9E:: @ 080CFE9E - .incbin "baserom.gba", 0x0CFE9E, 0x0000005 - -gUnk_080CFEA3:: @ 080CFEA3 - .incbin "baserom.gba", 0x0CFEA3, 0x000000D - -gUnk_080CFEB0:: @ 080CFEB0 - .incbin "baserom.gba", 0x0CFEB0, 0x0000011 - -gUnk_080CFEC1:: @ 080CFEC1 - .incbin "baserom.gba", 0x0CFEC1, 0x0000013 - -gUnk_080CFED4:: @ 080CFED4 - .incbin "baserom.gba", 0x0CFED4, 0x0000028 - -gUnk_080CFEFC:: @ 080CFEFC - .incbin "baserom.gba", 0x0CFEFC, 0x0000040 - -gUnk_080CFF3C:: @ 080CFF3C - .incbin "baserom.gba", 0x0CFF3C, 0x0000018 - -gUnk_080CFF54:: @ 080CFF54 - .incbin "baserom.gba", 0x0CFF54, 0x0000018 - -gUnk_080CFF6C:: @ 080CFF6C - .incbin "baserom.gba", 0x0CFF6C, 0x000000C - -gUnk_080CFF78:: @ 080CFF78 - .incbin "baserom.gba", 0x0CFF78, 0x0000018 - -gUnk_080CFF90:: @ 080CFF90 - .incbin "baserom.gba", 0x0CFF90, 0x0000014 - -gUnk_080CFFA4:: @ 080CFFA4 - .incbin "baserom.gba", 0x0CFFA4, 0x0000008 - -gUnk_080CFFAC:: @ 080CFFAC - .incbin "baserom.gba", 0x0CFFAC, 0x0000010 - -gUnk_080CFFBC:: @ 080CFFBC - .incbin "baserom.gba", 0x0CFFBC, 0x0000008 - -gUnk_080CFFC4:: @ 080CFFC4 - .incbin "baserom.gba", 0x0CFFC4, 0x0000008 - -gUnk_080CFFCC:: @ 080CFFCC - .incbin "baserom.gba", 0x0CFFCC, 0x0000009 - -gUnk_080CFFD5:: @ 080CFFD5 - .incbin "baserom.gba", 0x0CFFD5, 0x0000009 - -gUnk_080CFFDE:: @ 080CFFDE - .incbin "baserom.gba", 0x0CFFDE, 0x0000009 - -gUnk_080CFFE7:: @ 080CFFE7 - .incbin "baserom.gba", 0x0CFFE7, 0x0000009 - -gUnk_080CFFF0:: @ 080CFFF0 - .incbin "baserom.gba", 0x0CFFF0, 0x0000011 - -gUnk_080D0001:: @ 080D0001 - .incbin "baserom.gba", 0x0D0001, 0x0000004 - -gUnk_080D0005:: @ 080D0005 - .incbin "baserom.gba", 0x0D0005, 0x0000003 - -gUnk_080D0008:: @ 080D0008 - .incbin "baserom.gba", 0x0D0008, 0x0000001 - -gUnk_080D0009:: @ 080D0009 - .incbin "baserom.gba", 0x0D0009, 0x0000003 - -gUnk_080D000C:: @ 080D000C - .incbin "baserom.gba", 0x0D000C, 0x0000006 - -gUnk_080D0012:: @ 080D0012 - .incbin "baserom.gba", 0x0D0012, 0x0000011 - -gUnk_080D0023:: @ 080D0023 - .incbin "baserom.gba", 0x0D0023, 0x0000009 - -gUnk_080D002C:: @ 080D002C - .incbin "baserom.gba", 0x0D002C, 0x0000008 - -gUnk_080D0034:: @ 080D0034 - .incbin "baserom.gba", 0x0D0034, 0x0000011 - -gUnk_080D0045:: @ 080D0045 - .incbin "baserom.gba", 0x0D0045, 0x0000011 - -gUnk_080D0056:: @ 080D0056 - .incbin "baserom.gba", 0x0D0056, 0x0000011 - -gUnk_080D0067:: @ 080D0067 - .incbin "baserom.gba", 0x0D0067, 0x0000011 - -gUnk_080D0078:: @ 080D0078 - .incbin "baserom.gba", 0x0D0078, 0x0000015 - -gUnk_080D008D:: @ 080D008D - .incbin "baserom.gba", 0x0D008D, 0x0000015 - -gUnk_080D00A2:: @ 080D00A2 - .incbin "baserom.gba", 0x0D00A2, 0x0000015 - -gUnk_080D00B7:: @ 080D00B7 - .incbin "baserom.gba", 0x0D00B7, 0x0000015 - -gUnk_080D00CC:: @ 080D00CC - .incbin "baserom.gba", 0x0D00CC, 0x0000008 - -gUnk_080D00D4:: @ 080D00D4 - .incbin "baserom.gba", 0x0D00D4, 0x000002C - -gUnk_080D0100:: @ 080D0100 - .incbin "baserom.gba", 0x0D0100, 0x0000010 - -gUnk_080D0110:: @ 080D0110 - .incbin "baserom.gba", 0x0D0110, 0x0000018 - -gUnk_080D0128:: @ 080D0128 - .incbin "baserom.gba", 0x0D0128, 0x0000020 - -gUnk_080D0148:: @ 080D0148 - .incbin "baserom.gba", 0x0D0148, 0x000000C - -gUnk_080D0154:: @ 080D0154 - .incbin "baserom.gba", 0x0D0154, 0x0000008 - -gUnk_080D015C:: @ 080D015C - .incbin "baserom.gba", 0x0D015C, 0x0000011 - -gUnk_080D016D:: @ 080D016D - .incbin "baserom.gba", 0x0D016D, 0x0000011 - -gUnk_080D017E:: @ 080D017E - .incbin "baserom.gba", 0x0D017E, 0x0000011 - -gUnk_080D018F:: @ 080D018F - .incbin "baserom.gba", 0x0D018F, 0x0000011 - -gUnk_080D01A0:: @ 080D01A0 - .incbin "baserom.gba", 0x0D01A0, 0x0000011 - -gUnk_080D01B1:: @ 080D01B1 - .incbin "baserom.gba", 0x0D01B1, 0x0000011 - -gUnk_080D01C2:: @ 080D01C2 - .incbin "baserom.gba", 0x0D01C2, 0x0000011 - -gUnk_080D01D3:: @ 080D01D3 - .incbin "baserom.gba", 0x0D01D3, 0x0000011 - -gUnk_080D01E4:: @ 080D01E4 - .incbin "baserom.gba", 0x0D01E4, 0x000000B - -gUnk_080D01EF:: @ 080D01EF - .incbin "baserom.gba", 0x0D01EF, 0x000001D - -gUnk_080D020C:: @ 080D020C - .incbin "baserom.gba", 0x0D020C, 0x0000004 - -gUnk_080D0210:: @ 080D0210 - .incbin "baserom.gba", 0x0D0210, 0x0000001 - -gUnk_080D0211:: @ 080D0211 - .incbin "baserom.gba", 0x0D0211, 0x0000014 - -gUnk_080D0225:: @ 080D0225 - .incbin "baserom.gba", 0x0D0225, 0x0000041 - -gUnk_080D0266:: @ 080D0266 - .incbin "baserom.gba", 0x0D0266, 0x0000041 - -gUnk_080D02A7:: @ 080D02A7 - .incbin "baserom.gba", 0x0D02A7, 0x0000041 - -gUnk_080D02E8:: @ 080D02E8 - .incbin "baserom.gba", 0x0D02E8, 0x000000B - -gUnk_080D02F3:: @ 080D02F3 - .incbin "baserom.gba", 0x0D02F3, 0x0000003 - -gUnk_080D02F6:: @ 080D02F6 - .incbin "baserom.gba", 0x0D02F6, 0x0000001 - -gUnk_080D02F7:: @ 080D02F7 - .incbin "baserom.gba", 0x0D02F7, 0x0000002 - -gUnk_080D02F9:: @ 080D02F9 - .incbin "baserom.gba", 0x0D02F9, 0x0000003 - -gUnk_080D02FC:: @ 080D02FC - .incbin "baserom.gba", 0x0D02FC, 0x0000004 - -gUnk_080D0300:: @ 080D0300 - .incbin "baserom.gba", 0x0D0300, 0x000000A - -gUnk_080D030A:: @ 080D030A - .incbin "baserom.gba", 0x0D030A, 0x0000011 - -gUnk_080D031B:: @ 080D031B - .incbin "baserom.gba", 0x0D031B, 0x0000011 - -gUnk_080D032C:: @ 080D032C - .incbin "baserom.gba", 0x0D032C, 0x0000011 - -gUnk_080D033D:: @ 080D033D - .incbin "baserom.gba", 0x0D033D, 0x0000011 - -gUnk_080D034E:: @ 080D034E - .incbin "baserom.gba", 0x0D034E, 0x0000011 - -gUnk_080D035F:: @ 080D035F - .incbin "baserom.gba", 0x0D035F, 0x0000011 - -gUnk_080D0370:: @ 080D0370 - .incbin "baserom.gba", 0x0D0370, 0x0000011 - -gUnk_080D0381:: @ 080D0381 - .incbin "baserom.gba", 0x0D0381, 0x0000011 - -gUnk_080D0392:: @ 080D0392 - .incbin "baserom.gba", 0x0D0392, 0x0000011 - -gUnk_080D03A3:: @ 080D03A3 - .incbin "baserom.gba", 0x0D03A3, 0x0000011 - -gUnk_080D03B4:: @ 080D03B4 - .incbin "baserom.gba", 0x0D03B4, 0x000003C - -gUnk_080D03F0:: @ 080D03F0 - .incbin "baserom.gba", 0x0D03F0, 0x0000014 - -gUnk_080D0404:: @ 080D0404 - .incbin "baserom.gba", 0x0D0404, 0x0000014 - -gUnk_080D0418:: @ 080D0418 - .incbin "baserom.gba", 0x0D0418, 0x0000018 - -gUnk_080D0430:: @ 080D0430 - .incbin "baserom.gba", 0x0D0430, 0x000000C - -gUnk_080D043C:: @ 080D043C - .incbin "baserom.gba", 0x0D043C, 0x000000C - -gUnk_080D0448:: @ 080D0448 - .incbin "baserom.gba", 0x0D0448, 0x0000010 - -gUnk_080D0458:: @ 080D0458 - .incbin "baserom.gba", 0x0D0458, 0x0000010 - -gUnk_080D0468:: @ 080D0468 - .incbin "baserom.gba", 0x0D0468, 0x0000008 - -gUnk_080D0470:: @ 080D0470 - .incbin "baserom.gba", 0x0D0470, 0x0000020 - -gUnk_080D0490:: @ 080D0490 - .incbin "baserom.gba", 0x0D0490, 0x0000008 - -gUnk_080D0498:: @ 080D0498 - .incbin "baserom.gba", 0x0D0498, 0x0000008 - -gUnk_080D04A0:: @ 080D04A0 - .incbin "baserom.gba", 0x0D04A0, 0x0000008 - -gUnk_080D04A8:: @ 080D04A8 - .incbin "baserom.gba", 0x0D04A8, 0x0000004 - -gUnk_080D04AC:: @ 080D04AC - .incbin "baserom.gba", 0x0D04AC, 0x0000014 - -gUnk_080D04C0:: @ 080D04C0 - .incbin "baserom.gba", 0x0D04C0, 0x0000008 - -gUnk_080D04C8:: @ 080D04C8 - .incbin "baserom.gba", 0x0D04C8, 0x0000008 - -gUnk_080D04D0:: @ 080D04D0 - .incbin "baserom.gba", 0x0D04D0, 0x0000003 - -gUnk_080D04D3:: @ 080D04D3 - .incbin "baserom.gba", 0x0D04D3, 0x0000004 - -gUnk_080D04D7:: @ 080D04D7 - .incbin "baserom.gba", 0x0D04D7, 0x0000011 - -gUnk_080D04E8:: @ 080D04E8 - .incbin "baserom.gba", 0x0D04E8, 0x0000011 - -gUnk_080D04F9:: @ 080D04F9 - .incbin "baserom.gba", 0x0D04F9, 0x0000005 - -gUnk_080D04FE:: @ 080D04FE - .incbin "baserom.gba", 0x0D04FE, 0x0000003 - -gUnk_080D0501:: @ 080D0501 - .incbin "baserom.gba", 0x0D0501, 0x0000001 - -gUnk_080D0502:: @ 080D0502 - .incbin "baserom.gba", 0x0D0502, 0x0000006 - -gUnk_080D0508:: @ 080D0508 - .incbin "baserom.gba", 0x0D0508, 0x0000005 - -gUnk_080D050D:: @ 080D050D - .incbin "baserom.gba", 0x0D050D, 0x0000024 - -gUnk_080D0531:: @ 080D0531 - .incbin "baserom.gba", 0x0D0531, 0x0000027 - -gUnk_080D0558:: @ 080D0558 - .incbin "baserom.gba", 0x0D0558, 0x0000018 - -gUnk_080D0570:: @ 080D0570 - .incbin "baserom.gba", 0x0D0570, 0x0000005 - -gUnk_080D0575:: @ 080D0575 - .incbin "baserom.gba", 0x0D0575, 0x0000010 - -gUnk_080D0585:: @ 080D0585 - .incbin "baserom.gba", 0x0D0585, 0x0000007 - -gUnk_080D058C:: @ 080D058C - .incbin "baserom.gba", 0x0D058C, 0x0000010 - -gUnk_080D059C:: @ 080D059C - .incbin "baserom.gba", 0x0D059C, 0x0000011 - -gUnk_080D05AD:: @ 080D05AD - .incbin "baserom.gba", 0x0D05AD, 0x0000011 - -gUnk_080D05BE:: @ 080D05BE - .incbin "baserom.gba", 0x0D05BE, 0x0000011 - -gUnk_080D05CF:: @ 080D05CF - .incbin "baserom.gba", 0x0D05CF, 0x0000011 - -gUnk_080D05E0:: @ 080D05E0 - .incbin "baserom.gba", 0x0D05E0, 0x0000014 - -gUnk_080D05F4:: @ 080D05F4 - .incbin "baserom.gba", 0x0D05F4, 0x0000006 - -gUnk_080D05FA:: @ 080D05FA - .incbin "baserom.gba", 0x0D05FA, 0x0000002 - -gUnk_080D05FC:: @ 080D05FC - .incbin "baserom.gba", 0x0D05FC, 0x0000001 - -gUnk_080D05FD:: @ 080D05FD - .incbin "baserom.gba", 0x0D05FD, 0x0000001 - -gUnk_080D05FE:: @ 080D05FE - .incbin "baserom.gba", 0x0D05FE, 0x0000007 - -gUnk_080D0605:: @ 080D0605 - .incbin "baserom.gba", 0x0D0605, 0x0000003 - -gUnk_080D0608:: @ 080D0608 - .incbin "baserom.gba", 0x0D0608, 0x0000001 - -gUnk_080D0609:: @ 080D0609 - .incbin "baserom.gba", 0x0D0609, 0x0000015 - -gUnk_080D061E:: @ 080D061E - .incbin "baserom.gba", 0x0D061E, 0x0000016 - -gUnk_080D0634:: @ 080D0634 - .incbin "baserom.gba", 0x0D0634, 0x0000014 - -gUnk_080D0648:: @ 080D0648 - .incbin "baserom.gba", 0x0D0648, 0x0000018 - -gUnk_080D0660:: @ 080D0660 - .incbin "baserom.gba", 0x0D0660, 0x0000028 - -gUnk_080D0688:: @ 080D0688 - .incbin "baserom.gba", 0x0D0688, 0x0000019 - -gUnk_080D06A1:: @ 080D06A1 - .incbin "baserom.gba", 0x0D06A1, 0x0000011 - -gUnk_080D06B2:: @ 080D06B2 - .incbin "baserom.gba", 0x0D06B2, 0x000001E - -gUnk_080D06D0:: @ 080D06D0 - .incbin "baserom.gba", 0x0D06D0, 0x0000010 - -gUnk_080D06E0:: @ 080D06E0 - .incbin "baserom.gba", 0x0D06E0, 0x0000008 - -gUnk_080D06E8:: @ 080D06E8 - .incbin "baserom.gba", 0x0D06E8, 0x0000010 - -gUnk_080D06F8:: @ 080D06F8 - .incbin "baserom.gba", 0x0D06F8, 0x0000004 - -gUnk_080D06FC:: @ 080D06FC - .incbin "baserom.gba", 0x0D06FC, 0x0000002 - -gUnk_080D06FE:: @ 080D06FE - .incbin "baserom.gba", 0x0D06FE, 0x0000002 - -gUnk_080D0700:: @ 080D0700 - .incbin "baserom.gba", 0x0D0700, 0x0000001 - -gUnk_080D0701:: @ 080D0701 - .incbin "baserom.gba", 0x0D0701, 0x0000023 - -gUnk_080D0724:: @ 080D0724 - .incbin "baserom.gba", 0x0D0724, 0x0000004 - -gUnk_080D0728:: @ 080D0728 - .incbin "baserom.gba", 0x0D0728, 0x0000008 - -gUnk_080D0730:: @ 080D0730 - .incbin "baserom.gba", 0x0D0730, 0x0000008 - -gUnk_080D0738:: @ 080D0738 - .incbin "baserom.gba", 0x0D0738, 0x0000004 - -gUnk_080D073C:: @ 080D073C - .incbin "baserom.gba", 0x0D073C, 0x0000004 - -gUnk_080D0740:: @ 080D0740 - .incbin "baserom.gba", 0x0D0740, 0x0000004 - -gUnk_080D0744:: @ 080D0744 - .incbin "baserom.gba", 0x0D0744, 0x0000004 - -gUnk_080D0748:: @ 080D0748 - .incbin "baserom.gba", 0x0D0748, 0x0000004 - -gUnk_080D074C:: @ 080D074C - .incbin "baserom.gba", 0x0D074C, 0x0000004 - -gUnk_080D0750:: @ 080D0750 - .incbin "baserom.gba", 0x0D0750, 0x0000004 - -gUnk_080D0754:: @ 080D0754 - .incbin "baserom.gba", 0x0D0754, 0x0000004 - -gUnk_080D0758:: @ 080D0758 - .incbin "baserom.gba", 0x0D0758, 0x0000004 - -gUnk_080D075C:: @ 080D075C - .incbin "baserom.gba", 0x0D075C, 0x0000004 - -gUnk_080D0760:: @ 080D0760 - .incbin "baserom.gba", 0x0D0760, 0x0000004 - -gUnk_080D0764:: @ 080D0764 - .incbin "baserom.gba", 0x0D0764, 0x0000004 - -gUnk_080D0768:: @ 080D0768 - .incbin "baserom.gba", 0x0D0768, 0x0000004 - -gUnk_080D076C:: @ 080D076C - .incbin "baserom.gba", 0x0D076C, 0x0000004 - -gUnk_080D0770:: @ 080D0770 - .incbin "baserom.gba", 0x0D0770, 0x0000004 - -gUnk_080D0774:: @ 080D0774 - .incbin "baserom.gba", 0x0D0774, 0x0000004 - -gUnk_080D0778:: @ 080D0778 - .incbin "baserom.gba", 0x0D0778, 0x0000004 - -gUnk_080D077C:: @ 080D077C - .incbin "baserom.gba", 0x0D077C, 0x0000004 - -gUnk_080D0780:: @ 080D0780 - .incbin "baserom.gba", 0x0D0780, 0x0000004 - -gUnk_080D0784:: @ 080D0784 - .incbin "baserom.gba", 0x0D0784, 0x0000004 - -gUnk_080D0788:: @ 080D0788 - .incbin "baserom.gba", 0x0D0788, 0x0000004 - -gUnk_080D078C:: @ 080D078C - .incbin "baserom.gba", 0x0D078C, 0x0000004 - -gUnk_080D0790:: @ 080D0790 - .incbin "baserom.gba", 0x0D0790, 0x0000004 - -gUnk_080D0794:: @ 080D0794 - .incbin "baserom.gba", 0x0D0794, 0x0000004 - -gUnk_080D0798:: @ 080D0798 - .incbin "baserom.gba", 0x0D0798, 0x0000004 - -gUnk_080D079C:: @ 080D079C - .incbin "baserom.gba", 0x0D079C, 0x0000004 - -gUnk_080D07A0:: @ 080D07A0 - .incbin "baserom.gba", 0x0D07A0, 0x0000004 - -gUnk_080D07A4:: @ 080D07A4 - .incbin "baserom.gba", 0x0D07A4, 0x0000004 - -gUnk_080D07A8:: @ 080D07A8 - .incbin "baserom.gba", 0x0D07A8, 0x0000004 - -gUnk_080D07AC:: @ 080D07AC - .incbin "baserom.gba", 0x0D07AC, 0x0000004 - -gUnk_080D07B0:: @ 080D07B0 - .incbin "baserom.gba", 0x0D07B0, 0x0000004 - -gUnk_080D07B4:: @ 080D07B4 - .incbin "baserom.gba", 0x0D07B4, 0x0000004 - -gUnk_080D07B8:: @ 080D07B8 - .incbin "baserom.gba", 0x0D07B8, 0x000000D - -gUnk_080D07C5:: @ 080D07C5 - .incbin "baserom.gba", 0x0D07C5, 0x000000D - -gUnk_080D07D2:: @ 080D07D2 - .incbin "baserom.gba", 0x0D07D2, 0x000000D - -gUnk_080D07DF:: @ 080D07DF - .incbin "baserom.gba", 0x0D07DF, 0x000000D - -gUnk_080D07EC:: @ 080D07EC - .incbin "baserom.gba", 0x0D07EC, 0x0000010 - -gUnk_080D07FC:: @ 080D07FC - .incbin "baserom.gba", 0x0D07FC, 0x0000001 - -gUnk_080D07FD:: @ 080D07FD - .incbin "baserom.gba", 0x0D07FD, 0x0000002 - -gUnk_080D07FF:: @ 080D07FF - .incbin "baserom.gba", 0x0D07FF, 0x0000001 - -gUnk_080D0800:: @ 080D0800 - .incbin "baserom.gba", 0x0D0800, 0x0000001 - -gUnk_080D0801:: @ 080D0801 - .incbin "baserom.gba", 0x0D0801, 0x0000005 - -gUnk_080D0806:: @ 080D0806 - .incbin "baserom.gba", 0x0D0806, 0x0000001 - -gUnk_080D0807:: @ 080D0807 - .incbin "baserom.gba", 0x0D0807, 0x0000003 - -gUnk_080D080A:: @ 080D080A - .incbin "baserom.gba", 0x0D080A, 0x000000F - -gUnk_080D0819:: @ 080D0819 - .incbin "baserom.gba", 0x0D0819, 0x0000067 - -gUnk_080D0880:: @ 080D0880 - .incbin "baserom.gba", 0x0D0880, 0x0000018 - -gUnk_080D0898:: @ 080D0898 - .incbin "baserom.gba", 0x0D0898, 0x000002C - -gUnk_080D08C4:: @ 080D08C4 - .incbin "baserom.gba", 0x0D08C4, 0x0000004 - -gUnk_080D08C8:: @ 080D08C8 - .incbin "baserom.gba", 0x0D08C8, 0x0000035 - -gUnk_080D08FD:: @ 080D08FD - .incbin "baserom.gba", 0x0D08FD, 0x0000003 - -gUnk_080D0900:: @ 080D0900 - .incbin "baserom.gba", 0x0D0900, 0x0000003 - -gUnk_080D0903:: @ 080D0903 - .incbin "baserom.gba", 0x0D0903, 0x0000001 - -gUnk_080D0904:: @ 080D0904 - .incbin "baserom.gba", 0x0D0904, 0x0000002 - -gUnk_080D0906:: @ 080D0906 - .incbin "baserom.gba", 0x0D0906, 0x0000002 - -gUnk_080D0908:: @ 080D0908 - .incbin "baserom.gba", 0x0D0908, 0x000000A - -gUnk_080D0912:: @ 080D0912 - .incbin "baserom.gba", 0x0D0912, 0x0000012 - -gUnk_080D0924:: @ 080D0924 - .incbin "baserom.gba", 0x0D0924, 0x0000018 - -gUnk_080D093C:: @ 080D093C - .incbin "baserom.gba", 0x0D093C, 0x0000028 - -gUnk_080D0964:: @ 080D0964 - .incbin "baserom.gba", 0x0D0964, 0x000000C - -gUnk_080D0970:: @ 080D0970 - .incbin "baserom.gba", 0x0D0970, 0x0000004 - -gUnk_080D0974:: @ 080D0974 - .incbin "baserom.gba", 0x0D0974, 0x0000004 - -gUnk_080D0978:: @ 080D0978 - .incbin "baserom.gba", 0x0D0978, 0x0000008 - -gUnk_080D0980:: @ 080D0980 - .incbin "baserom.gba", 0x0D0980, 0x0000004 - -gUnk_080D0984:: @ 080D0984 - .incbin "baserom.gba", 0x0D0984, 0x0000004 - -gUnk_080D0988:: @ 080D0988 - .incbin "baserom.gba", 0x0D0988, 0x000001C - -gUnk_080D09A4:: @ 080D09A4 - .incbin "baserom.gba", 0x0D09A4, 0x0000025 - -gUnk_080D09C9:: @ 080D09C9 - .incbin "baserom.gba", 0x0D09C9, 0x0000025 - -gUnk_080D09EE:: @ 080D09EE - .incbin "baserom.gba", 0x0D09EE, 0x000000E - -gUnk_080D09FC:: @ 080D09FC - .incbin "baserom.gba", 0x0D09FC, 0x0000005 - -gUnk_080D0A01:: @ 080D0A01 - .incbin "baserom.gba", 0x0D0A01, 0x0000002 - -gUnk_080D0A03:: @ 080D0A03 - .incbin "baserom.gba", 0x0D0A03, 0x0000005 - -gUnk_080D0A08:: @ 080D0A08 - .incbin "baserom.gba", 0x0D0A08, 0x0000002 - -gUnk_080D0A0A:: @ 080D0A0A - .incbin "baserom.gba", 0x0D0A0A, 0x0000002 - -gUnk_080D0A0C:: @ 080D0A0C - .incbin "baserom.gba", 0x0D0A0C, 0x0000001 - -gUnk_080D0A0D:: @ 080D0A0D - .incbin "baserom.gba", 0x0D0A0D, 0x0000001 - -gUnk_080D0A0E:: @ 080D0A0E - .incbin "baserom.gba", 0x0D0A0E, 0x0000002 - -gUnk_080D0A10:: @ 080D0A10 - .incbin "baserom.gba", 0x0D0A10, 0x0000022 - -gUnk_080D0A32:: @ 080D0A32 - .incbin "baserom.gba", 0x0D0A32, 0x0000039 - -gUnk_080D0A6B:: @ 080D0A6B - .incbin "baserom.gba", 0x0D0A6B, 0x0000004 - -gUnk_080D0A6F:: @ 080D0A6F - .incbin "baserom.gba", 0x0D0A6F, 0x0000004 - -gUnk_080D0A73:: @ 080D0A73 - .incbin "baserom.gba", 0x0D0A73, 0x000000C - -gUnk_080D0A7F:: @ 080D0A7F - .incbin "baserom.gba", 0x0D0A7F, 0x000000C - -gUnk_080D0A8B:: @ 080D0A8B - .incbin "baserom.gba", 0x0D0A8B, 0x0000005 - -gUnk_080D0A90:: @ 080D0A90 - .incbin "baserom.gba", 0x0D0A90, 0x000002C - -gUnk_080D0ABC:: @ 080D0ABC - .incbin "baserom.gba", 0x0D0ABC, 0x0000003 - -gUnk_080D0ABF:: @ 080D0ABF - .incbin "baserom.gba", 0x0D0ABF, 0x0000009 - -gUnk_080D0AC8:: @ 080D0AC8 - .incbin "baserom.gba", 0x0D0AC8, 0x0000020 - -gUnk_080D0AE8:: @ 080D0AE8 - .incbin "baserom.gba", 0x0D0AE8, 0x0000008 - -gUnk_080D0AF0:: @ 080D0AF0 - .incbin "baserom.gba", 0x0D0AF0, 0x000000C - -gUnk_080D0AFC:: @ 080D0AFC - .incbin "baserom.gba", 0x0D0AFC, 0x0000004 - -gUnk_080D0B00:: @ 080D0B00 - .incbin "baserom.gba", 0x0D0B00, 0x0000001 - -gUnk_080D0B01:: @ 080D0B01 - .incbin "baserom.gba", 0x0D0B01, 0x0000001 - -gUnk_080D0B02:: @ 080D0B02 - .incbin "baserom.gba", 0x0D0B02, 0x0000002 - -gUnk_080D0B04:: @ 080D0B04 - .incbin "baserom.gba", 0x0D0B04, 0x0000002 - -gUnk_080D0B06:: @ 080D0B06 - .incbin "baserom.gba", 0x0D0B06, 0x0000006 - -gUnk_080D0B0C:: @ 080D0B0C - .incbin "baserom.gba", 0x0D0B0C, 0x0000003 - -gUnk_080D0B0F:: @ 080D0B0F - .incbin "baserom.gba", 0x0D0B0F, 0x0000001 - -gUnk_080D0B10:: @ 080D0B10 - .incbin "baserom.gba", 0x0D0B10, 0x0000008 - -gUnk_080D0B18:: @ 080D0B18 - .incbin "baserom.gba", 0x0D0B18, 0x0000011 - -gUnk_080D0B29:: @ 080D0B29 - .incbin "baserom.gba", 0x0D0B29, 0x000002F - -gUnk_080D0B58:: @ 080D0B58 - .incbin "baserom.gba", 0x0D0B58, 0x000000C - -gUnk_080D0B64:: @ 080D0B64 - .incbin "baserom.gba", 0x0D0B64, 0x0000010 - -gUnk_080D0B74:: @ 080D0B74 - .incbin "baserom.gba", 0x0D0B74, 0x0000010 - -gUnk_080D0B84:: @ 080D0B84 - .incbin "baserom.gba", 0x0D0B84, 0x0000020 - -gUnk_080D0BA4:: @ 080D0BA4 - .incbin "baserom.gba", 0x0D0BA4, 0x0000011 - -gUnk_080D0BB5:: @ 080D0BB5 - .incbin "baserom.gba", 0x0D0BB5, 0x000000F - -gUnk_080D0BC4:: @ 080D0BC4 - .incbin "baserom.gba", 0x0D0BC4, 0x0000018 - -gUnk_080D0BDC:: @ 080D0BDC - .incbin "baserom.gba", 0x0D0BDC, 0x0000005 - -gUnk_080D0BE1:: @ 080D0BE1 - .incbin "baserom.gba", 0x0D0BE1, 0x000000C - -gUnk_080D0BED:: @ 080D0BED - .incbin "baserom.gba", 0x0D0BED, 0x0000005 - -gUnk_080D0BF2:: @ 080D0BF2 - .incbin "baserom.gba", 0x0D0BF2, 0x0000005 - -gUnk_080D0BF7:: @ 080D0BF7 - .incbin "baserom.gba", 0x0D0BF7, 0x0000004 - -gUnk_080D0BFB:: @ 080D0BFB - .incbin "baserom.gba", 0x0D0BFB, 0x0000001 - -gUnk_080D0BFC:: @ 080D0BFC - .incbin "baserom.gba", 0x0D0BFC, 0x0000004 - -gUnk_080D0C00:: @ 080D0C00 - .incbin "baserom.gba", 0x0D0C00, 0x0000006 - -gUnk_080D0C06:: @ 080D0C06 - .incbin "baserom.gba", 0x0D0C06, 0x0000002 - -gUnk_080D0C08:: @ 080D0C08 - .incbin "baserom.gba", 0x0D0C08, 0x0000002 - -gUnk_080D0C0A:: @ 080D0C0A - .incbin "baserom.gba", 0x0D0C0A, 0x0000002 - -gUnk_080D0C0C:: @ 080D0C0C - .incbin "baserom.gba", 0x0D0C0C, 0x0000028 - -gUnk_080D0C34:: @ 080D0C34 - .incbin "baserom.gba", 0x0D0C34, 0x0000021 - -gUnk_080D0C55:: @ 080D0C55 - .incbin "baserom.gba", 0x0D0C55, 0x0000033 - -gUnk_080D0C88:: @ 080D0C88 - .incbin "baserom.gba", 0x0D0C88, 0x0000018 - -gUnk_080D0CA0:: @ 080D0CA0 - .incbin "baserom.gba", 0x0D0CA0, 0x0000005 - -gUnk_080D0CA5:: @ 080D0CA5 - .incbin "baserom.gba", 0x0D0CA5, 0x0000030 - -gUnk_080D0CD5:: @ 080D0CD5 - .incbin "baserom.gba", 0x0D0CD5, 0x0000011 - -gUnk_080D0CE6:: @ 080D0CE6 - .incbin "baserom.gba", 0x0D0CE6, 0x000000E - -gUnk_080D0CF4:: @ 080D0CF4 - .incbin "baserom.gba", 0x0D0CF4, 0x0000010 - -gUnk_080D0D04:: @ 080D0D04 - .incbin "baserom.gba", 0x0D0D04, 0x0000001 - -gUnk_080D0D05:: @ 080D0D05 - .incbin "baserom.gba", 0x0D0D05, 0x0000001 - -gUnk_080D0D06:: @ 080D0D06 - .incbin "baserom.gba", 0x0D0D06, 0x0000003 - -gUnk_080D0D09:: @ 080D0D09 - .incbin "baserom.gba", 0x0D0D09, 0x0000002 - -gUnk_080D0D0B:: @ 080D0D0B - .incbin "baserom.gba", 0x0D0D0B, 0x0000001 - -gUnk_080D0D0C:: @ 080D0D0C - .incbin "baserom.gba", 0x0D0D0C, 0x0000002 - -gUnk_080D0D0E:: @ 080D0D0E - .incbin "baserom.gba", 0x0D0D0E, 0x0000006 - -gUnk_080D0D14:: @ 080D0D14 - .incbin "baserom.gba", 0x0D0D14, 0x000002C - -gUnk_080D0D40:: @ 080D0D40 - .incbin "baserom.gba", 0x0D0D40, 0x0000008 - -gUnk_080D0D48:: @ 080D0D48 - .incbin "baserom.gba", 0x0D0D48, 0x0000030 - -gUnk_080D0D78:: @ 080D0D78 - .incbin "baserom.gba", 0x0D0D78, 0x0000019 - -gUnk_080D0D91:: @ 080D0D91 - .incbin "baserom.gba", 0x0D0D91, 0x0000010 - -gUnk_080D0DA1:: @ 080D0DA1 - .incbin "baserom.gba", 0x0D0DA1, 0x000000F - -gUnk_080D0DB0:: @ 080D0DB0 - .incbin "baserom.gba", 0x0D0DB0, 0x0000014 - -gUnk_080D0DC4:: @ 080D0DC4 - .incbin "baserom.gba", 0x0D0DC4, 0x0000018 - -gUnk_080D0DDC:: @ 080D0DDC - .incbin "baserom.gba", 0x0D0DDC, 0x000001B - -gUnk_080D0DF7:: @ 080D0DF7 - .incbin "baserom.gba", 0x0D0DF7, 0x000000A - -gUnk_080D0E01:: @ 080D0E01 - .incbin "baserom.gba", 0x0D0E01, 0x0000007 - -gUnk_080D0E08:: @ 080D0E08 - .incbin "baserom.gba", 0x0D0E08, 0x0000002 - -gUnk_080D0E0A:: @ 080D0E0A - .incbin "baserom.gba", 0x0D0E0A, 0x0000002 - -gUnk_080D0E0C:: @ 080D0E0C - .incbin "baserom.gba", 0x0D0E0C, 0x0000001 - -gUnk_080D0E0D:: @ 080D0E0D - .incbin "baserom.gba", 0x0D0E0D, 0x0000001 - -gUnk_080D0E0E:: @ 080D0E0E - .incbin "baserom.gba", 0x0D0E0E, 0x0000001 - -gUnk_080D0E0F:: @ 080D0E0F - .incbin "baserom.gba", 0x0D0E0F, 0x0000004 - -gUnk_080D0E13:: @ 080D0E13 - .incbin "baserom.gba", 0x0D0E13, 0x0000001 - -gUnk_080D0E14:: @ 080D0E14 - .incbin "baserom.gba", 0x0D0E14, 0x0000004 - -gUnk_080D0E18:: @ 080D0E18 - .incbin "baserom.gba", 0x0D0E18, 0x0000004 - -gUnk_080D0E1C:: @ 080D0E1C - .incbin "baserom.gba", 0x0D0E1C, 0x0000010 - -gUnk_080D0E2C:: @ 080D0E2C - .incbin "baserom.gba", 0x0D0E2C, 0x0000038 - -gUnk_080D0E64:: @ 080D0E64 - .incbin "baserom.gba", 0x0D0E64, 0x0000004 - -gUnk_080D0E68:: @ 080D0E68 - .incbin "baserom.gba", 0x0D0E68, 0x0000018 - -gUnk_080D0E80:: @ 080D0E80 - .incbin "baserom.gba", 0x0D0E80, 0x0000010 - -gUnk_080D0E90:: @ 080D0E90 - .incbin "baserom.gba", 0x0D0E90, 0x0000010 - -gUnk_080D0EA0:: @ 080D0EA0 - .incbin "baserom.gba", 0x0D0EA0, 0x0000008 - -gUnk_080D0EA8:: @ 080D0EA8 - .incbin "baserom.gba", 0x0D0EA8, 0x0000004 - -gUnk_080D0EAC:: @ 080D0EAC - .incbin "baserom.gba", 0x0D0EAC, 0x0000004 - -gUnk_080D0EB0:: @ 080D0EB0 - .incbin "baserom.gba", 0x0D0EB0, 0x0000020 - -gUnk_080D0ED0:: @ 080D0ED0 - .incbin "baserom.gba", 0x0D0ED0, 0x0000019 - -gUnk_080D0EE9:: @ 080D0EE9 - .incbin "baserom.gba", 0x0D0EE9, 0x000000C - -gUnk_080D0EF5:: @ 080D0EF5 - .incbin "baserom.gba", 0x0D0EF5, 0x000000D - -gUnk_080D0F02:: @ 080D0F02 - .incbin "baserom.gba", 0x0D0F02, 0x0000003 - -gUnk_080D0F05:: @ 080D0F05 - .incbin "baserom.gba", 0x0D0F05, 0x0000003 - -gUnk_080D0F08:: @ 080D0F08 - .incbin "baserom.gba", 0x0D0F08, 0x0000001 - -gUnk_080D0F09:: @ 080D0F09 - .incbin "baserom.gba", 0x0D0F09, 0x0000004 - -gUnk_080D0F0D:: @ 080D0F0D - .incbin "baserom.gba", 0x0D0F0D, 0x0000001 - -gUnk_080D0F0E:: @ 080D0F0E - .incbin "baserom.gba", 0x0D0F0E, 0x0000001 - -gUnk_080D0F0F:: @ 080D0F0F - .incbin "baserom.gba", 0x0D0F0F, 0x0000001 - -gUnk_080D0F10:: @ 080D0F10 - .incbin "baserom.gba", 0x0D0F10, 0x0000001 - -gUnk_080D0F11:: @ 080D0F11 - .incbin "baserom.gba", 0x0D0F11, 0x0000001 - -gUnk_080D0F12:: @ 080D0F12 - .incbin "baserom.gba", 0x0D0F12, 0x0000001 - -gUnk_080D0F13:: @ 080D0F13 - .incbin "baserom.gba", 0x0D0F13, 0x0000004 - -gUnk_080D0F17:: @ 080D0F17 - .incbin "baserom.gba", 0x0D0F17, 0x0000011 - -gUnk_080D0F28:: @ 080D0F28 - .incbin "baserom.gba", 0x0D0F28, 0x0000045 - -gUnk_080D0F6D:: @ 080D0F6D - .incbin "baserom.gba", 0x0D0F6D, 0x0000015 - -gUnk_080D0F82:: @ 080D0F82 - .incbin "baserom.gba", 0x0D0F82, 0x0000019 - -gUnk_080D0F9B:: @ 080D0F9B - .incbin "baserom.gba", 0x0D0F9B, 0x0000015 - -gUnk_080D0FB0:: @ 080D0FB0 - .incbin "baserom.gba", 0x0D0FB0, 0x0000011 - -gUnk_080D0FC1:: @ 080D0FC1 - .incbin "baserom.gba", 0x0D0FC1, 0x0000015 - -gUnk_080D0FD6:: @ 080D0FD6 - .incbin "baserom.gba", 0x0D0FD6, 0x000001D - -gUnk_080D0FF3:: @ 080D0FF3 - .incbin "baserom.gba", 0x0D0FF3, 0x0000005 - -gUnk_080D0FF8:: @ 080D0FF8 - .incbin "baserom.gba", 0x0D0FF8, 0x0000015 - -gUnk_080D100D:: @ 080D100D - .incbin "baserom.gba", 0x0D100D, 0x0000002 - -gUnk_080D100F:: @ 080D100F - .incbin "baserom.gba", 0x0D100F, 0x0000001 - -gUnk_080D1010:: @ 080D1010 - .incbin "baserom.gba", 0x0D1010, 0x0000001 - -gUnk_080D1011:: @ 080D1011 - .incbin "baserom.gba", 0x0D1011, 0x0000001 - -gUnk_080D1012:: @ 080D1012 - .incbin "baserom.gba", 0x0D1012, 0x0000001 - -gUnk_080D1013:: @ 080D1013 - .incbin "baserom.gba", 0x0D1013, 0x0000006 - -gUnk_080D1019:: @ 080D1019 - .incbin "baserom.gba", 0x0D1019, 0x0000012 - -gUnk_080D102B:: @ 080D102B - .incbin "baserom.gba", 0x0D102B, 0x000000B - -gUnk_080D1036:: @ 080D1036 - .incbin "baserom.gba", 0x0D1036, 0x0000019 - -gUnk_080D104F:: @ 080D104F - .incbin "baserom.gba", 0x0D104F, 0x0000011 - -gUnk_080D1060:: @ 080D1060 - .incbin "baserom.gba", 0x0D1060, 0x000000D - -gUnk_080D106D:: @ 080D106D - .incbin "baserom.gba", 0x0D106D, 0x000000D - -gUnk_080D107A:: @ 080D107A - .incbin "baserom.gba", 0x0D107A, 0x0000005 - -gUnk_080D107F:: @ 080D107F - .incbin "baserom.gba", 0x0D107F, 0x0000021 - -gUnk_080D10A0:: @ 080D10A0 - .incbin "baserom.gba", 0x0D10A0, 0x0000015 - -gUnk_080D10B5:: @ 080D10B5 - .incbin "baserom.gba", 0x0D10B5, 0x0000011 - -gUnk_080D10C6:: @ 080D10C6 - .incbin "baserom.gba", 0x0D10C6, 0x0000011 - -gUnk_080D10D7:: @ 080D10D7 - .incbin "baserom.gba", 0x0D10D7, 0x0000015 - -gUnk_080D10EC:: @ 080D10EC - .incbin "baserom.gba", 0x0D10EC, 0x0000005 - -gUnk_080D10F1:: @ 080D10F1 - .incbin "baserom.gba", 0x0D10F1, 0x0000015 - -gUnk_080D1106:: @ 080D1106 - .incbin "baserom.gba", 0x0D1106, 0x0000006 - -gUnk_080D110C:: @ 080D110C - .incbin "baserom.gba", 0x0D110C, 0x0000003 - -gUnk_080D110F:: @ 080D110F - .incbin "baserom.gba", 0x0D110F, 0x0000001 - -gUnk_080D1110:: @ 080D1110 - .incbin "baserom.gba", 0x0D1110, 0x0000001 - -gUnk_080D1111:: @ 080D1111 - .incbin "baserom.gba", 0x0D1111, 0x0000001 - -gUnk_080D1112:: @ 080D1112 - .incbin "baserom.gba", 0x0D1112, 0x0000002 - -gUnk_080D1114:: @ 080D1114 - .incbin "baserom.gba", 0x0D1114, 0x0000001 - -gUnk_080D1115:: @ 080D1115 - .incbin "baserom.gba", 0x0D1115, 0x0000001 - -gUnk_080D1116:: @ 080D1116 - .incbin "baserom.gba", 0x0D1116, 0x0000001 - -gUnk_080D1117:: @ 080D1117 - .incbin "baserom.gba", 0x0D1117, 0x0000007 - -gUnk_080D111E:: @ 080D111E - .incbin "baserom.gba", 0x0D111E, 0x000001A - -gUnk_080D1138:: @ 080D1138 - .incbin "baserom.gba", 0x0D1138, 0x0000015 - -gUnk_080D114D:: @ 080D114D - .incbin "baserom.gba", 0x0D114D, 0x0000031 - -gUnk_080D117E:: @ 080D117E - .incbin "baserom.gba", 0x0D117E, 0x0000019 - -gUnk_080D1197:: @ 080D1197 - .incbin "baserom.gba", 0x0D1197, 0x0000015 - -gUnk_080D11AC:: @ 080D11AC - .incbin "baserom.gba", 0x0D11AC, 0x000005C - -gUnk_080D1208:: @ 080D1208 - .incbin "baserom.gba", 0x0D1208, 0x0000004 - -gUnk_080D120C:: @ 080D120C - .incbin "baserom.gba", 0x0D120C, 0x0000001 - -gUnk_080D120D:: @ 080D120D - .incbin "baserom.gba", 0x0D120D, 0x0000002 - -gUnk_080D120F:: @ 080D120F - .incbin "baserom.gba", 0x0D120F, 0x0000002 - -gUnk_080D1211:: @ 080D1211 - .incbin "baserom.gba", 0x0D1211, 0x0000003 - -gUnk_080D1214:: @ 080D1214 - .incbin "baserom.gba", 0x0D1214, 0x0000001 - -gUnk_080D1215:: @ 080D1215 - .incbin "baserom.gba", 0x0D1215, 0x0000001 - -gUnk_080D1216:: @ 080D1216 - .incbin "baserom.gba", 0x0D1216, 0x0000001 - -gUnk_080D1217:: @ 080D1217 - .incbin "baserom.gba", 0x0D1217, 0x0000001 - -gUnk_080D1218:: @ 080D1218 - .incbin "baserom.gba", 0x0D1218, 0x0000001 - -gUnk_080D1219:: @ 080D1219 - .incbin "baserom.gba", 0x0D1219, 0x0000004 - -gUnk_080D121D:: @ 080D121D - .incbin "baserom.gba", 0x0D121D, 0x0000013 - -gUnk_080D1230:: @ 080D1230 - .incbin "baserom.gba", 0x0D1230, 0x0000018 - -gUnk_080D1248:: @ 080D1248 - .incbin "baserom.gba", 0x0D1248, 0x0000014 - -gUnk_080D125C:: @ 080D125C - .incbin "baserom.gba", 0x0D125C, 0x0000024 - -gUnk_080D1280:: @ 080D1280 - .incbin "baserom.gba", 0x0D1280, 0x0000004 - -gUnk_080D1284:: @ 080D1284 - .incbin "baserom.gba", 0x0D1284, 0x0000002 - -gUnk_080D1286:: @ 080D1286 - .incbin "baserom.gba", 0x0D1286, 0x000000A - -gUnk_080D1290:: @ 080D1290 - .incbin "baserom.gba", 0x0D1290, 0x000001C - -gUnk_080D12AC:: @ 080D12AC - .incbin "baserom.gba", 0x0D12AC, 0x0000004 - -gUnk_080D12B0:: @ 080D12B0 - .incbin "baserom.gba", 0x0D12B0, 0x0000002 - -gUnk_080D12B2:: @ 080D12B2 - .incbin "baserom.gba", 0x0D12B2, 0x0000002 - -gUnk_080D12B4:: @ 080D12B4 - .incbin "baserom.gba", 0x0D12B4, 0x0000002 - -gUnk_080D12B6:: @ 080D12B6 - .incbin "baserom.gba", 0x0D12B6, 0x0000002 - -gUnk_080D12B8:: @ 080D12B8 - .incbin "baserom.gba", 0x0D12B8, 0x0000010 - -gUnk_080D12C8:: @ 080D12C8 - .incbin "baserom.gba", 0x0D12C8, 0x0000002 - -gUnk_080D12CA:: @ 080D12CA - .incbin "baserom.gba", 0x0D12CA, 0x0000006 - -gUnk_080D12D0:: @ 080D12D0 - .incbin "baserom.gba", 0x0D12D0, 0x000001D - -gUnk_080D12ED:: @ 080D12ED - .incbin "baserom.gba", 0x0D12ED, 0x000000B - -gUnk_080D12F8:: @ 080D12F8 - .incbin "baserom.gba", 0x0D12F8, 0x0000006 - -gUnk_080D12FE:: @ 080D12FE - .incbin "baserom.gba", 0x0D12FE, 0x0000002 - -gUnk_080D1300:: @ 080D1300 - .incbin "baserom.gba", 0x0D1300, 0x0000004 - -gUnk_080D1304:: @ 080D1304 - .incbin "baserom.gba", 0x0D1304, 0x0000008 - -gUnk_080D130C:: @ 080D130C - .incbin "baserom.gba", 0x0D130C, 0x0000001 - -gUnk_080D130D:: @ 080D130D - .incbin "baserom.gba", 0x0D130D, 0x0000003 - -gUnk_080D1310:: @ 080D1310 - .incbin "baserom.gba", 0x0D1310, 0x0000004 - -gUnk_080D1314:: @ 080D1314 - .incbin "baserom.gba", 0x0D1314, 0x0000001 - -gUnk_080D1315:: @ 080D1315 - .incbin "baserom.gba", 0x0D1315, 0x0000001 - -gUnk_080D1316:: @ 080D1316 - .incbin "baserom.gba", 0x0D1316, 0x0000001 - -gUnk_080D1317:: @ 080D1317 - .incbin "baserom.gba", 0x0D1317, 0x0000001 - -gUnk_080D1318:: @ 080D1318 - .incbin "baserom.gba", 0x0D1318, 0x0000001 - -gUnk_080D1319:: @ 080D1319 - .incbin "baserom.gba", 0x0D1319, 0x0000001 - -gUnk_080D131A:: @ 080D131A - .incbin "baserom.gba", 0x0D131A, 0x0000002 - -gUnk_080D131C:: @ 080D131C - .incbin "baserom.gba", 0x0D131C, 0x0000004 - -gUnk_080D1320:: @ 080D1320 - .incbin "baserom.gba", 0x0D1320, 0x0000018 - -gUnk_080D1338:: @ 080D1338 - .incbin "baserom.gba", 0x0D1338, 0x0000004 - -gUnk_080D133C:: @ 080D133C - .incbin "baserom.gba", 0x0D133C, 0x0000004 - -gUnk_080D1340:: @ 080D1340 - .incbin "baserom.gba", 0x0D1340, 0x0000008 - -gUnk_080D1348:: @ 080D1348 - .incbin "baserom.gba", 0x0D1348, 0x0000014 - -gUnk_080D135C:: @ 080D135C - .incbin "baserom.gba", 0x0D135C, 0x0000006 - -gUnk_080D1362:: @ 080D1362 - .incbin "baserom.gba", 0x0D1362, 0x0000050 - -gUnk_080D13B2:: @ 080D13B2 - .incbin "baserom.gba", 0x0D13B2, 0x0000005 - -gUnk_080D13B7:: @ 080D13B7 - .incbin "baserom.gba", 0x0D13B7, 0x0000021 - -gUnk_080D13D8:: @ 080D13D8 - .incbin "baserom.gba", 0x0D13D8, 0x0000008 - -gUnk_080D13E0:: @ 080D13E0 - .incbin "baserom.gba", 0x0D13E0, 0x0000003 - -gUnk_080D13E3:: @ 080D13E3 - .incbin "baserom.gba", 0x0D13E3, 0x0000006 - -gUnk_080D13E9:: @ 080D13E9 - .incbin "baserom.gba", 0x0D13E9, 0x0000003 - -gUnk_080D13EC:: @ 080D13EC - .incbin "baserom.gba", 0x0D13EC, 0x0000014 - -gUnk_080D1400:: @ 080D1400 - .incbin "baserom.gba", 0x0D1400, 0x000000D - -gUnk_080D140D:: @ 080D140D - .incbin "baserom.gba", 0x0D140D, 0x0000005 - -gUnk_080D1412:: @ 080D1412 - .incbin "baserom.gba", 0x0D1412, 0x0000002 - -gUnk_080D1414:: @ 080D1414 - .incbin "baserom.gba", 0x0D1414, 0x0000003 - -gUnk_080D1417:: @ 080D1417 - .incbin "baserom.gba", 0x0D1417, 0x0000001 - -gUnk_080D1418:: @ 080D1418 - .incbin "baserom.gba", 0x0D1418, 0x0000001 - -gUnk_080D1419:: @ 080D1419 - .incbin "baserom.gba", 0x0D1419, 0x0000003 - -gUnk_080D141C:: @ 080D141C - .incbin "baserom.gba", 0x0D141C, 0x0000002 - -gUnk_080D141E:: @ 080D141E - .incbin "baserom.gba", 0x0D141E, 0x0000001 - -gUnk_080D141F:: @ 080D141F - .incbin "baserom.gba", 0x0D141F, 0x0000004 - -gUnk_080D1423:: @ 080D1423 - .incbin "baserom.gba", 0x0D1423, 0x0000008 - -gUnk_080D142B:: @ 080D142B - .incbin "baserom.gba", 0x0D142B, 0x0000005 - -gUnk_080D1430:: @ 080D1430 - .incbin "baserom.gba", 0x0D1430, 0x0000005 - -gUnk_080D1435:: @ 080D1435 - .incbin "baserom.gba", 0x0D1435, 0x0000005 - -gUnk_080D143A:: @ 080D143A - .incbin "baserom.gba", 0x0D143A, 0x0000005 - -gUnk_080D143F:: @ 080D143F - .incbin "baserom.gba", 0x0D143F, 0x0000005 - -gUnk_080D1444:: @ 080D1444 - .incbin "baserom.gba", 0x0D1444, 0x0000005 - -gUnk_080D1449:: @ 080D1449 - .incbin "baserom.gba", 0x0D1449, 0x0000005 - -gUnk_080D144E:: @ 080D144E - .incbin "baserom.gba", 0x0D144E, 0x0000005 - -gUnk_080D1453:: @ 080D1453 - .incbin "baserom.gba", 0x0D1453, 0x0000005 - -gUnk_080D1458:: @ 080D1458 - .incbin "baserom.gba", 0x0D1458, 0x0000005 - -gUnk_080D145D:: @ 080D145D - .incbin "baserom.gba", 0x0D145D, 0x0000005 - -gUnk_080D1462:: @ 080D1462 - .incbin "baserom.gba", 0x0D1462, 0x0000005 - -gUnk_080D1467:: @ 080D1467 - .incbin "baserom.gba", 0x0D1467, 0x0000021 - -gUnk_080D1488:: @ 080D1488 - .incbin "baserom.gba", 0x0D1488, 0x0000005 - -gUnk_080D148D:: @ 080D148D - .incbin "baserom.gba", 0x0D148D, 0x0000051 - -gUnk_080D14DE:: @ 080D14DE - .incbin "baserom.gba", 0x0D14DE, 0x0000015 - -gUnk_080D14F3:: @ 080D14F3 - .incbin "baserom.gba", 0x0D14F3, 0x0000019 - -gUnk_080D150C:: @ 080D150C - .incbin "baserom.gba", 0x0D150C, 0x0000009 - -gUnk_080D1515:: @ 080D1515 - .incbin "baserom.gba", 0x0D1515, 0x0000005 - -gUnk_080D151A:: @ 080D151A - .incbin "baserom.gba", 0x0D151A, 0x000000B - -gUnk_080D1525:: @ 080D1525 - .incbin "baserom.gba", 0x0D1525, 0x0000005 - -gUnk_080D152A:: @ 080D152A - .incbin "baserom.gba", 0x0D152A, 0x0000006 - -gUnk_080D1530:: @ 080D1530 - .incbin "baserom.gba", 0x0D1530, 0x0000058 - -gUnk_080D1588:: @ 080D1588 - .incbin "baserom.gba", 0x0D1588, 0x0000018 - -gUnk_080D15A0:: @ 080D15A0 - .incbin "baserom.gba", 0x0D15A0, 0x0000008 - -gUnk_080D15A8:: @ 080D15A8 - .incbin "baserom.gba", 0x0D15A8, 0x000000C - -gUnk_080D15B4:: @ 080D15B4 - .incbin "baserom.gba", 0x0D15B4, 0x0000050 - -gUnk_080D1604:: @ 080D1604 - .incbin "baserom.gba", 0x0D1604, 0x0000014 - -gUnk_080D1618:: @ 080D1618 - .incbin "baserom.gba", 0x0D1618, 0x0000005 - -gUnk_080D161D:: @ 080D161D - .incbin "baserom.gba", 0x0D161D, 0x0000003 - -gUnk_080D1620:: @ 080D1620 - .incbin "baserom.gba", 0x0D1620, 0x0000008 - -gUnk_080D1628:: @ 080D1628 - .incbin "baserom.gba", 0x0D1628, 0x0000007 - -gUnk_080D162F:: @ 080D162F - .incbin "baserom.gba", 0x0D162F, 0x0000009 - -gUnk_080D1638:: @ 080D1638 - .incbin "baserom.gba", 0x0D1638, 0x0000005 - -gUnk_080D163D:: @ 080D163D - .incbin "baserom.gba", 0x0D163D, 0x0000031 - -gUnk_080D166E:: @ 080D166E - .incbin "baserom.gba", 0x0D166E, 0x0000026 - -gUnk_080D1694:: @ 080D1694 - .incbin "baserom.gba", 0x0D1694, 0x0000010 - -gUnk_080D16A4:: @ 080D16A4 - .incbin "baserom.gba", 0x0D16A4, 0x0000018 - -gUnk_080D16BC:: @ 080D16BC - .incbin "baserom.gba", 0x0D16BC, 0x0000014 - -gUnk_080D16D0:: @ 080D16D0 - .incbin "baserom.gba", 0x0D16D0, 0x0000004 - -gUnk_080D16D4:: @ 080D16D4 - .incbin "baserom.gba", 0x0D16D4, 0x0000008 - -gUnk_080D16DC:: @ 080D16DC - .incbin "baserom.gba", 0x0D16DC, 0x0000009 - -gUnk_080D16E5:: @ 080D16E5 - .incbin "baserom.gba", 0x0D16E5, 0x0000010 - -gUnk_080D16F5:: @ 080D16F5 - .incbin "baserom.gba", 0x0D16F5, 0x0000018 - -gUnk_080D170D:: @ 080D170D - .incbin "baserom.gba", 0x0D170D, 0x0000010 - -gUnk_080D171D:: @ 080D171D - .incbin "baserom.gba", 0x0D171D, 0x0000004 - -gUnk_080D1721:: @ 080D1721 - .incbin "baserom.gba", 0x0D1721, 0x0000020 - -gUnk_080D1741:: @ 080D1741 - .incbin "baserom.gba", 0x0D1741, 0x0000020 - -gUnk_080D1761:: @ 080D1761 - .incbin "baserom.gba", 0x0D1761, 0x0000009 - -gUnk_080D176A:: @ 080D176A - .incbin "baserom.gba", 0x0D176A, 0x0000009 - -gUnk_080D1773:: @ 080D1773 - .incbin "baserom.gba", 0x0D1773, 0x0000005 - -gUnk_080D1778:: @ 080D1778 - .incbin "baserom.gba", 0x0D1778, 0x0000005 - -gUnk_080D177D:: @ 080D177D - .incbin "baserom.gba", 0x0D177D, 0x0000013 - -gUnk_080D1790:: @ 080D1790 - .incbin "baserom.gba", 0x0D1790, 0x0000030 - -gUnk_080D17C0:: @ 080D17C0 - .incbin "baserom.gba", 0x0D17C0, 0x0000018 - -gUnk_080D17D8:: @ 080D17D8 - .incbin "baserom.gba", 0x0D17D8, 0x0000010 - -gUnk_080D17E8:: @ 080D17E8 - .incbin "baserom.gba", 0x0D17E8, 0x0000018 - -gUnk_080D1800:: @ 080D1800 - .incbin "baserom.gba", 0x0D1800, 0x000000C - -gUnk_080D180C:: @ 080D180C - .incbin "baserom.gba", 0x0D180C, 0x0000004 - -gUnk_080D1810:: @ 080D1810 - .incbin "baserom.gba", 0x0D1810, 0x0000008 - -gUnk_080D1818:: @ 080D1818 - .incbin "baserom.gba", 0x0D1818, 0x0000004 - -gUnk_080D181C:: @ 080D181C - .incbin "baserom.gba", 0x0D181C, 0x0000010 - -gUnk_080D182C:: @ 080D182C - .incbin "baserom.gba", 0x0D182C, 0x000000D - -gUnk_080D1839:: @ 080D1839 - .incbin "baserom.gba", 0x0D1839, 0x0000023 - -gUnk_080D185C:: @ 080D185C - .incbin "baserom.gba", 0x0D185C, 0x000000C - -gUnk_080D1868:: @ 080D1868 - .incbin "baserom.gba", 0x0D1868, 0x0000018 - -gUnk_080D1880:: @ 080D1880 - .incbin "baserom.gba", 0x0D1880, 0x0000008 - -gUnk_080D1888:: @ 080D1888 - .incbin "baserom.gba", 0x0D1888, 0x0000018 - -gUnk_080D18A0:: @ 080D18A0 - .incbin "baserom.gba", 0x0D18A0, 0x0000014 - -gUnk_080D18B4:: @ 080D18B4 - .incbin "baserom.gba", 0x0D18B4, 0x0000010 - -gUnk_080D18C4:: @ 080D18C4 - .incbin "baserom.gba", 0x0D18C4, 0x0000005 - -gUnk_080D18C9:: @ 080D18C9 - .incbin "baserom.gba", 0x0D18C9, 0x0000011 - -gUnk_080D18DA:: @ 080D18DA - .incbin "baserom.gba", 0x0D18DA, 0x0000019 - -gUnk_080D18F3:: @ 080D18F3 - .incbin "baserom.gba", 0x0D18F3, 0x0000021 - -gUnk_080D1914:: @ 080D1914 - .incbin "baserom.gba", 0x0D1914, 0x0000004 - -gUnk_080D1918:: @ 080D1918 - .incbin "baserom.gba", 0x0D1918, 0x0000005 - -gUnk_080D191D:: @ 080D191D - .incbin "baserom.gba", 0x0D191D, 0x0000007 - -gUnk_080D1924:: @ 080D1924 - .incbin "baserom.gba", 0x0D1924, 0x0000002 - -gUnk_080D1926:: @ 080D1926 - .incbin "baserom.gba", 0x0D1926, 0x0000009 - -gUnk_080D192F:: @ 080D192F - .incbin "baserom.gba", 0x0D192F, 0x0000005 - -gUnk_080D1934:: @ 080D1934 - .incbin "baserom.gba", 0x0D1934, 0x0000011 - -gUnk_080D1945:: @ 080D1945 - .incbin "baserom.gba", 0x0D1945, 0x0000015 - -gUnk_080D195A:: @ 080D195A - .incbin "baserom.gba", 0x0D195A, 0x000000D - -gUnk_080D1967:: @ 080D1967 - .incbin "baserom.gba", 0x0D1967, 0x0000021 - -gUnk_080D1988:: @ 080D1988 - .incbin "baserom.gba", 0x0D1988, 0x0000025 - -gUnk_080D19AD:: @ 080D19AD - .incbin "baserom.gba", 0x0D19AD, 0x000000B - -gUnk_080D19B8:: @ 080D19B8 - .incbin "baserom.gba", 0x0D19B8, 0x0000044 - -gUnk_080D19FC:: @ 080D19FC - .incbin "baserom.gba", 0x0D19FC, 0x0000018 - -gUnk_080D1A14:: @ 080D1A14 - .incbin "baserom.gba", 0x0D1A14, 0x0000024 - -gUnk_080D1A38:: @ 080D1A38 - .incbin "baserom.gba", 0x0D1A38, 0x0000006 - -gUnk_080D1A3E:: @ 080D1A3E - .incbin "baserom.gba", 0x0D1A3E, 0x0000010 - -gUnk_080D1A4E:: @ 080D1A4E - .incbin "baserom.gba", 0x0D1A4E, 0x0000016 - -gUnk_080D1A64:: @ 080D1A64 - .incbin "baserom.gba", 0x0D1A64, 0x0000010 - -gUnk_080D1A74:: @ 080D1A74 - .incbin "baserom.gba", 0x0D1A74, 0x0000010 - -gUnk_080D1A84:: @ 080D1A84 - .incbin "baserom.gba", 0x0D1A84, 0x0000010 - -gUnk_080D1A94:: @ 080D1A94 - .incbin "baserom.gba", 0x0D1A94, 0x0000018 - -gUnk_080D1AAC:: @ 080D1AAC - .incbin "baserom.gba", 0x0D1AAC, 0x0000018 - -gUnk_080D1AC4:: @ 080D1AC4 - .incbin "baserom.gba", 0x0D1AC4, 0x0000018 - -gUnk_080D1ADC:: @ 080D1ADC - .incbin "baserom.gba", 0x0D1ADC, 0x0000018 - -gUnk_080D1AF4:: @ 080D1AF4 - .incbin "baserom.gba", 0x0D1AF4, 0x0000004 - -gUnk_080D1AF8:: @ 080D1AF8 - .incbin "baserom.gba", 0x0D1AF8, 0x0000004 - -gUnk_080D1AFC:: @ 080D1AFC - .incbin "baserom.gba", 0x0D1AFC, 0x0000020 - -gUnk_080D1B1C:: @ 080D1B1C - .incbin "baserom.gba", 0x0D1B1C, 0x0000003 - -gUnk_080D1B1F:: @ 080D1B1F - .incbin "baserom.gba", 0x0D1B1F, 0x0000019 - -gUnk_080D1B38:: @ 080D1B38 - .incbin "baserom.gba", 0x0D1B38, 0x0000014 - -gUnk_080D1B4C:: @ 080D1B4C - .incbin "baserom.gba", 0x0D1B4C, 0x0000014 - -gUnk_080D1B60:: @ 080D1B60 - .incbin "baserom.gba", 0x0D1B60, 0x0000010 - -gUnk_080D1B70:: @ 080D1B70 - .incbin "baserom.gba", 0x0D1B70, 0x0000004 - -gUnk_080D1B74:: @ 080D1B74 - .incbin "baserom.gba", 0x0D1B74, 0x0000020 - -gUnk_080D1B94:: @ 080D1B94 - .incbin "baserom.gba", 0x0D1B94, 0x0000028 - -gUnk_080D1BBC:: @ 080D1BBC - .incbin "baserom.gba", 0x0D1BBC, 0x0000004 - -gUnk_080D1BC0:: @ 080D1BC0 - .incbin "baserom.gba", 0x0D1BC0, 0x000001C - -gUnk_080D1BDC:: @ 080D1BDC - .incbin "baserom.gba", 0x0D1BDC, 0x0000014 - -gUnk_080D1BF0:: @ 080D1BF0 - .incbin "baserom.gba", 0x0D1BF0, 0x0000004 - -gUnk_080D1BF4:: @ 080D1BF4 - .incbin "baserom.gba", 0x0D1BF4, 0x000000C - -gUnk_080D1C00:: @ 080D1C00 - .incbin "baserom.gba", 0x0D1C00, 0x0000004 - -gUnk_080D1C04:: @ 080D1C04 - .incbin "baserom.gba", 0x0D1C04, 0x0000017 - -gUnk_080D1C1B:: @ 080D1C1B - .incbin "baserom.gba", 0x0D1C1B, 0x0000013 - -gUnk_080D1C2E:: @ 080D1C2E - .incbin "baserom.gba", 0x0D1C2E, 0x0000016 - -gUnk_080D1C44:: @ 080D1C44 - .incbin "baserom.gba", 0x0D1C44, 0x000000C - -gUnk_080D1C50:: @ 080D1C50 - .incbin "baserom.gba", 0x0D1C50, 0x0000010 - -gUnk_080D1C60:: @ 080D1C60 - .incbin "baserom.gba", 0x0D1C60, 0x0000010 - -gUnk_080D1C70:: @ 080D1C70 - .incbin "baserom.gba", 0x0D1C70, 0x0000021 - -gUnk_080D1C91:: @ 080D1C91 - .incbin "baserom.gba", 0x0D1C91, 0x000002B - -gUnk_080D1CBC:: @ 080D1CBC - .incbin "baserom.gba", 0x0D1CBC, 0x000000C - -gUnk_080D1CC8:: @ 080D1CC8 - .incbin "baserom.gba", 0x0D1CC8, 0x0000018 - -gUnk_080D1CE0:: @ 080D1CE0 - .incbin "baserom.gba", 0x0D1CE0, 0x0000010 - -gUnk_080D1CF0:: @ 080D1CF0 - .incbin "baserom.gba", 0x0D1CF0, 0x0000009 - -gUnk_080D1CF9:: @ 080D1CF9 - .incbin "baserom.gba", 0x0D1CF9, 0x0000009 - -gUnk_080D1D02:: @ 080D1D02 - .incbin "baserom.gba", 0x0D1D02, 0x0000020 - -gUnk_080D1D22:: @ 080D1D22 - .incbin "baserom.gba", 0x0D1D22, 0x0000001 - -gUnk_080D1D23:: @ 080D1D23 - .incbin "baserom.gba", 0x0D1D23, 0x0000003 - -gUnk_080D1D26:: @ 080D1D26 - .incbin "baserom.gba", 0x0D1D26, 0x0000001 - -gUnk_080D1D27:: @ 080D1D27 - .incbin "baserom.gba", 0x0D1D27, 0x0000005 - -gUnk_080D1D2C:: @ 080D1D2C - .incbin "baserom.gba", 0x0D1D2C, 0x0000008 - -gUnk_080D1D34:: @ 080D1D34 - .incbin "baserom.gba", 0x0D1D34, 0x0000014 - -gUnk_080D1D48:: @ 080D1D48 - .incbin "baserom.gba", 0x0D1D48, 0x0000028 - -gUnk_080D1D70:: @ 080D1D70 - .incbin "baserom.gba", 0x0D1D70, 0x0000008 - -gUnk_080D1D78:: @ 080D1D78 - .incbin "baserom.gba", 0x0D1D78, 0x0000020 - -gUnk_080D1D98:: @ 080D1D98 - .incbin "baserom.gba", 0x0D1D98, 0x0000008 - -gUnk_080D1DA0:: @ 080D1DA0 - .incbin "baserom.gba", 0x0D1DA0, 0x0000028 - -gUnk_080D1DC8:: @ 080D1DC8 - .incbin "baserom.gba", 0x0D1DC8, 0x0000004 - -gUnk_080D1DCC:: @ 080D1DCC - .incbin "baserom.gba", 0x0D1DCC, 0x0000004 - -gUnk_080D1DD0:: @ 080D1DD0 - .incbin "baserom.gba", 0x0D1DD0, 0x000000C - -gUnk_080D1DDC:: @ 080D1DDC - .incbin "baserom.gba", 0x0D1DDC, 0x000000C - -gUnk_080D1DE8:: @ 080D1DE8 - .incbin "baserom.gba", 0x0D1DE8, 0x000001D - -gUnk_080D1E05:: @ 080D1E05 - .incbin "baserom.gba", 0x0D1E05, 0x0000016 - -gUnk_080D1E1B:: @ 080D1E1B - .incbin "baserom.gba", 0x0D1E1B, 0x0000006 - -gUnk_080D1E21:: @ 080D1E21 - .incbin "baserom.gba", 0x0D1E21, 0x0000005 - -gUnk_080D1E26:: @ 080D1E26 - .incbin "baserom.gba", 0x0D1E26, 0x000000C - -gUnk_080D1E32:: @ 080D1E32 - .incbin "baserom.gba", 0x0D1E32, 0x0000012 - -gUnk_080D1E44:: @ 080D1E44 - .incbin "baserom.gba", 0x0D1E44, 0x0000028 - -gUnk_080D1E6C:: @ 080D1E6C - .incbin "baserom.gba", 0x0D1E6C, 0x0000018 - -gUnk_080D1E84:: @ 080D1E84 - .incbin "baserom.gba", 0x0D1E84, 0x0000010 - -gUnk_080D1E94:: @ 080D1E94 - .incbin "baserom.gba", 0x0D1E94, 0x000000C - -gUnk_080D1EA0:: @ 080D1EA0 - .incbin "baserom.gba", 0x0D1EA0, 0x0000016 - -gUnk_080D1EB6:: @ 080D1EB6 - .incbin "baserom.gba", 0x0D1EB6, 0x0000009 - -gUnk_080D1EBF:: @ 080D1EBF - .incbin "baserom.gba", 0x0D1EBF, 0x0000009 - -gUnk_080D1EC8:: @ 080D1EC8 - .incbin "baserom.gba", 0x0D1EC8, 0x0000009 - -gUnk_080D1ED1:: @ 080D1ED1 - .incbin "baserom.gba", 0x0D1ED1, 0x0000009 - -gUnk_080D1EDA:: @ 080D1EDA - .incbin "baserom.gba", 0x0D1EDA, 0x0000009 - -gUnk_080D1EE3:: @ 080D1EE3 - .incbin "baserom.gba", 0x0D1EE3, 0x0000009 - -gUnk_080D1EEC:: @ 080D1EEC - .incbin "baserom.gba", 0x0D1EEC, 0x0000009 - -gUnk_080D1EF5:: @ 080D1EF5 - .incbin "baserom.gba", 0x0D1EF5, 0x0000009 - -gUnk_080D1EFE:: @ 080D1EFE - .incbin "baserom.gba", 0x0D1EFE, 0x0000004 - -gUnk_080D1F02:: @ 080D1F02 - .incbin "baserom.gba", 0x0D1F02, 0x0000004 - -gUnk_080D1F06:: @ 080D1F06 - .incbin "baserom.gba", 0x0D1F06, 0x0000004 - -gUnk_080D1F0A:: @ 080D1F0A - .incbin "baserom.gba", 0x0D1F0A, 0x0000004 - -gUnk_080D1F0E:: @ 080D1F0E - .incbin "baserom.gba", 0x0D1F0E, 0x0000004 - -gUnk_080D1F12:: @ 080D1F12 - .incbin "baserom.gba", 0x0D1F12, 0x0000004 - -gUnk_080D1F16:: @ 080D1F16 - .incbin "baserom.gba", 0x0D1F16, 0x0000004 - -gUnk_080D1F1A:: @ 080D1F1A - .incbin "baserom.gba", 0x0D1F1A, 0x0000006 - -gUnk_080D1F20:: @ 080D1F20 - .incbin "baserom.gba", 0x0D1F20, 0x0000014 - -gUnk_080D1F34:: @ 080D1F34 - .incbin "baserom.gba", 0x0D1F34, 0x0000030 - -gUnk_080D1F64:: @ 080D1F64 - .incbin "baserom.gba", 0x0D1F64, 0x0000018 - -gUnk_080D1F7C:: @ 080D1F7C - .incbin "baserom.gba", 0x0D1F7C, 0x0000014 - -gUnk_080D1F90:: @ 080D1F90 - .incbin "baserom.gba", 0x0D1F90, 0x0000080 - -gUnk_080D2010:: @ 080D2010 - .incbin "baserom.gba", 0x0D2010, 0x0000020 - -gUnk_080D2030:: @ 080D2030 - .incbin "baserom.gba", 0x0D2030, 0x0000020 - -gUnk_080D2050:: @ 080D2050 - .incbin "baserom.gba", 0x0D2050, 0x0000014 - -gUnk_080D2064:: @ 080D2064 - .incbin "baserom.gba", 0x0D2064, 0x0000014 - -gUnk_080D2078:: @ 080D2078 - .incbin "baserom.gba", 0x0D2078, 0x0000014 - -gUnk_080D208C:: @ 080D208C - .incbin "baserom.gba", 0x0D208C, 0x0000014 - -gUnk_080D20A0:: @ 080D20A0 - .incbin "baserom.gba", 0x0D20A0, 0x0000014 - -gUnk_080D20B4:: @ 080D20B4 - .incbin "baserom.gba", 0x0D20B4, 0x0000014 - -gUnk_080D20C8:: @ 080D20C8 - .incbin "baserom.gba", 0x0D20C8, 0x0000014 - -gUnk_080D20DC:: @ 080D20DC - .incbin "baserom.gba", 0x0D20DC, 0x0000014 - -gUnk_080D20F0:: @ 080D20F0 - .incbin "baserom.gba", 0x0D20F0, 0x0000014 - -gUnk_080D2104:: @ 080D2104 - .incbin "baserom.gba", 0x0D2104, 0x0000014 - -gUnk_080D2118:: @ 080D2118 - .incbin "baserom.gba", 0x0D2118, 0x0000014 - -gUnk_080D212C:: @ 080D212C - .incbin "baserom.gba", 0x0D212C, 0x0000014 - -gUnk_080D2140:: @ 080D2140 - .incbin "baserom.gba", 0x0D2140, 0x0000014 - -gUnk_080D2154:: @ 080D2154 - .incbin "baserom.gba", 0x0D2154, 0x0000014 - -gUnk_080D2168:: @ 080D2168 - .incbin "baserom.gba", 0x0D2168, 0x0000014 - -gUnk_080D217C:: @ 080D217C - .incbin "baserom.gba", 0x0D217C, 0x0000014 - -gUnk_080D2190:: @ 080D2190 - .incbin "baserom.gba", 0x0D2190, 0x0000029 - -gUnk_080D21B9:: @ 080D21B9 - .incbin "baserom.gba", 0x0D21B9, 0x0000029 - -gUnk_080D21E2:: @ 080D21E2 - .incbin "baserom.gba", 0x0D21E2, 0x0000029 - -gUnk_080D220B:: @ 080D220B - .incbin "baserom.gba", 0x0D220B, 0x0000029 - -gUnk_080D2234:: @ 080D2234 - .incbin "baserom.gba", 0x0D2234, 0x0000010 - -gUnk_080D2244:: @ 080D2244 - .incbin "baserom.gba", 0x0D2244, 0x0000010 - -gUnk_080D2254:: @ 080D2254 - .incbin "baserom.gba", 0x0D2254, 0x0000010 - -gUnk_080D2264:: @ 080D2264 - .incbin "baserom.gba", 0x0D2264, 0x0000010 - -gUnk_080D2274:: @ 080D2274 - .incbin "baserom.gba", 0x0D2274, 0x0000064 - -gUnk_080D22D8:: @ 080D22D8 - .incbin "baserom.gba", 0x0D22D8, 0x0000018 - -gUnk_080D22F0:: @ 080D22F0 - .incbin "baserom.gba", 0x0D22F0, 0x0000010 - -gUnk_080D2300:: @ 080D2300 - .incbin "baserom.gba", 0x0D2300, 0x0000048 - -gUnk_080D2348:: @ 080D2348 - .incbin "baserom.gba", 0x0D2348, 0x0000020 - -gUnk_080D2368:: @ 080D2368 - .incbin "baserom.gba", 0x0D2368, 0x0000011 - -gUnk_080D2379:: @ 080D2379 - .incbin "baserom.gba", 0x0D2379, 0x0000011 - -gUnk_080D238A:: @ 080D238A - .incbin "baserom.gba", 0x0D238A, 0x0000011 - -gUnk_080D239B:: @ 080D239B - .incbin "baserom.gba", 0x0D239B, 0x0000011 - -gUnk_080D23AC:: @ 080D23AC - .incbin "baserom.gba", 0x0D23AC, 0x0000011 - -gUnk_080D23BD:: @ 080D23BD - .incbin "baserom.gba", 0x0D23BD, 0x0000011 - -gUnk_080D23CE:: @ 080D23CE - .incbin "baserom.gba", 0x0D23CE, 0x0000011 - -gUnk_080D23DF:: @ 080D23DF - .incbin "baserom.gba", 0x0D23DF, 0x0000011 - -gUnk_080D23F0:: @ 080D23F0 - .incbin "baserom.gba", 0x0D23F0, 0x0000011 - -gUnk_080D2401:: @ 080D2401 - .incbin "baserom.gba", 0x0D2401, 0x0000011 - -gUnk_080D2412:: @ 080D2412 - .incbin "baserom.gba", 0x0D2412, 0x0000011 - -gUnk_080D2423:: @ 080D2423 - .incbin "baserom.gba", 0x0D2423, 0x0000011 - -gUnk_080D2434:: @ 080D2434 - .incbin "baserom.gba", 0x0D2434, 0x0000011 - -gUnk_080D2445:: @ 080D2445 - .incbin "baserom.gba", 0x0D2445, 0x0000011 - -gUnk_080D2456:: @ 080D2456 - .incbin "baserom.gba", 0x0D2456, 0x0000011 - -gUnk_080D2467:: @ 080D2467 - .incbin "baserom.gba", 0x0D2467, 0x0000011 - -gUnk_080D2478:: @ 080D2478 - .incbin "baserom.gba", 0x0D2478, 0x0000011 - -gUnk_080D2489:: @ 080D2489 - .incbin "baserom.gba", 0x0D2489, 0x0000011 - -gUnk_080D249A:: @ 080D249A - .incbin "baserom.gba", 0x0D249A, 0x0000011 - -gUnk_080D24AB:: @ 080D24AB - .incbin "baserom.gba", 0x0D24AB, 0x0000011 - -gUnk_080D24BC:: @ 080D24BC - .incbin "baserom.gba", 0x0D24BC, 0x0000011 - -gUnk_080D24CD:: @ 080D24CD - .incbin "baserom.gba", 0x0D24CD, 0x0000011 - -gUnk_080D24DE:: @ 080D24DE - .incbin "baserom.gba", 0x0D24DE, 0x0000011 - -gUnk_080D24EF:: @ 080D24EF - .incbin "baserom.gba", 0x0D24EF, 0x0000011 - -gUnk_080D2500:: @ 080D2500 - .incbin "baserom.gba", 0x0D2500, 0x0000011 - -gUnk_080D2511:: @ 080D2511 - .incbin "baserom.gba", 0x0D2511, 0x0000011 - -gUnk_080D2522:: @ 080D2522 - .incbin "baserom.gba", 0x0D2522, 0x0000011 - -gUnk_080D2533:: @ 080D2533 - .incbin "baserom.gba", 0x0D2533, 0x0000011 - -gUnk_080D2544:: @ 080D2544 - .incbin "baserom.gba", 0x0D2544, 0x0000011 - -gUnk_080D2555:: @ 080D2555 - .incbin "baserom.gba", 0x0D2555, 0x0000011 - -gUnk_080D2566:: @ 080D2566 - .incbin "baserom.gba", 0x0D2566, 0x0000011 - -gUnk_080D2577:: @ 080D2577 - .incbin "baserom.gba", 0x0D2577, 0x0000011 - -gUnk_080D2588:: @ 080D2588 - .incbin "baserom.gba", 0x0D2588, 0x0000011 - -gUnk_080D2599:: @ 080D2599 - .incbin "baserom.gba", 0x0D2599, 0x0000011 - -gUnk_080D25AA:: @ 080D25AA - .incbin "baserom.gba", 0x0D25AA, 0x0000011 - -gUnk_080D25BB:: @ 080D25BB - .incbin "baserom.gba", 0x0D25BB, 0x0000011 - -gUnk_080D25CC:: @ 080D25CC - .incbin "baserom.gba", 0x0D25CC, 0x0000011 - -gUnk_080D25DD:: @ 080D25DD - .incbin "baserom.gba", 0x0D25DD, 0x0000011 - -gUnk_080D25EE:: @ 080D25EE - .incbin "baserom.gba", 0x0D25EE, 0x0000011 - -gUnk_080D25FF:: @ 080D25FF - .incbin "baserom.gba", 0x0D25FF, 0x0000011 - -gUnk_080D2610:: @ 080D2610 - .incbin "baserom.gba", 0x0D2610, 0x0000011 - -gUnk_080D2621:: @ 080D2621 - .incbin "baserom.gba", 0x0D2621, 0x0000011 - -gUnk_080D2632:: @ 080D2632 - .incbin "baserom.gba", 0x0D2632, 0x0000011 - -gUnk_080D2643:: @ 080D2643 - .incbin "baserom.gba", 0x0D2643, 0x0000011 - -gUnk_080D2654:: @ 080D2654 - .incbin "baserom.gba", 0x0D2654, 0x0000011 - -gUnk_080D2665:: @ 080D2665 - .incbin "baserom.gba", 0x0D2665, 0x0000011 - -gUnk_080D2676:: @ 080D2676 - .incbin "baserom.gba", 0x0D2676, 0x0000011 - -gUnk_080D2687:: @ 080D2687 - .incbin "baserom.gba", 0x0D2687, 0x0000011 - -gUnk_080D2698:: @ 080D2698 - .incbin "baserom.gba", 0x0D2698, 0x0000011 - -gUnk_080D26A9:: @ 080D26A9 - .incbin "baserom.gba", 0x0D26A9, 0x0000011 - -gUnk_080D26BA:: @ 080D26BA - .incbin "baserom.gba", 0x0D26BA, 0x0000011 - -gUnk_080D26CB:: @ 080D26CB - .incbin "baserom.gba", 0x0D26CB, 0x0000011 - -gUnk_080D26DC:: @ 080D26DC - .incbin "baserom.gba", 0x0D26DC, 0x0000011 - -gUnk_080D26ED:: @ 080D26ED - .incbin "baserom.gba", 0x0D26ED, 0x0000011 - -gUnk_080D26FE:: @ 080D26FE - .incbin "baserom.gba", 0x0D26FE, 0x0000011 - -gUnk_080D270F:: @ 080D270F - .incbin "baserom.gba", 0x0D270F, 0x0000011 - -gUnk_080D2720:: @ 080D2720 - .incbin "baserom.gba", 0x0D2720, 0x0000011 - -gUnk_080D2731:: @ 080D2731 - .incbin "baserom.gba", 0x0D2731, 0x0000011 - -gUnk_080D2742:: @ 080D2742 - .incbin "baserom.gba", 0x0D2742, 0x0000011 - -gUnk_080D2753:: @ 080D2753 - .incbin "baserom.gba", 0x0D2753, 0x0000011 - -gUnk_080D2764:: @ 080D2764 - .incbin "baserom.gba", 0x0D2764, 0x0000011 - -gUnk_080D2775:: @ 080D2775 - .incbin "baserom.gba", 0x0D2775, 0x0000011 - -gUnk_080D2786:: @ 080D2786 - .incbin "baserom.gba", 0x0D2786, 0x0000011 - -gUnk_080D2797:: @ 080D2797 - .incbin "baserom.gba", 0x0D2797, 0x0000011 - -gUnk_080D27A8:: @ 080D27A8 - .incbin "baserom.gba", 0x0D27A8, 0x0000104 - -gUnk_080D28AC:: @ 080D28AC - .incbin "baserom.gba", 0x0D28AC, 0x0000020 - -gUnk_080D28CC:: @ 080D28CC - .incbin "baserom.gba", 0x0D28CC, 0x0000010 - -gUnk_080D28DC:: @ 080D28DC - .incbin "baserom.gba", 0x0D28DC, 0x0000008 - -gUnk_080D28E4:: @ 080D28E4 - .incbin "baserom.gba", 0x0D28E4, 0x0000008 - -gUnk_080D28EC:: @ 080D28EC - .incbin "baserom.gba", 0x0D28EC, 0x0000008 - -gUnk_080D28F4:: @ 080D28F4 - .incbin "baserom.gba", 0x0D28F4, 0x0000008 - -gUnk_080D28FC:: @ 080D28FC - .incbin "baserom.gba", 0x0D28FC, 0x0000008 - -gUnk_080D2904:: @ 080D2904 - .incbin "baserom.gba", 0x0D2904, 0x0000008 - -gUnk_080D290C:: @ 080D290C - .incbin "baserom.gba", 0x0D290C, 0x0000008 - -gUnk_080D2914:: @ 080D2914 - .incbin "baserom.gba", 0x0D2914, 0x0000008 - -gUnk_080D291C:: @ 080D291C - .incbin "baserom.gba", 0x0D291C, 0x0000011 - -gUnk_080D292D:: @ 080D292D - .incbin "baserom.gba", 0x0D292D, 0x0000011 - -gUnk_080D293E:: @ 080D293E - .incbin "baserom.gba", 0x0D293E, 0x000000C - -gUnk_080D294A:: @ 080D294A - .incbin "baserom.gba", 0x0D294A, 0x0000005 - -gUnk_080D294F:: @ 080D294F - .incbin "baserom.gba", 0x0D294F, 0x0000011 - -gUnk_080D2960:: @ 080D2960 - .incbin "baserom.gba", 0x0D2960, 0x0000014 - -gUnk_080D2974:: @ 080D2974 - .incbin "baserom.gba", 0x0D2974, 0x0000014 - -gUnk_080D2988:: @ 080D2988 - .incbin "baserom.gba", 0x0D2988, 0x0000008 - -gUnk_080D2990:: @ 080D2990 - .incbin "baserom.gba", 0x0D2990, 0x0000018 - -gUnk_080D29A8:: @ 080D29A8 - .incbin "baserom.gba", 0x0D29A8, 0x0000010 - -gUnk_080D29B8:: @ 080D29B8 - .incbin "baserom.gba", 0x0D29B8, 0x0000008 - -gUnk_080D29C0:: @ 080D29C0 - .incbin "baserom.gba", 0x0D29C0, 0x0000020 - -gUnk_080D29E0:: @ 080D29E0 - .incbin "baserom.gba", 0x0D29E0, 0x00000D0 - -gUnk_080D2AB0:: @ 080D2AB0 - .incbin "baserom.gba", 0x0D2AB0, 0x000000C - -gUnk_080D2ABC:: @ 080D2ABC - .incbin "baserom.gba", 0x0D2ABC, 0x000019C - -gUnk_080D2C58:: @ 080D2C58 - .incbin "baserom.gba", 0x0D2C58, 0x00001CE - -gUnk_080D2E26:: @ 080D2E26 - .incbin "baserom.gba", 0x0D2E26, 0x0000492 - -gUnk_080D32B8:: @ 080D32B8 - .incbin "baserom.gba", 0x0D32B8, 0x0000030 - -gUnk_080D32E8:: @ 080D32E8 - .incbin "baserom.gba", 0x0D32E8, 0x0000020 - -gUnk_080D3308:: @ 080D3308 - .incbin "baserom.gba", 0x0D3308, 0x0000080 - -gUnk_080D3388:: @ 080D3388 - .incbin "baserom.gba", 0x0D3388, 0x0000040 - -gUnk_080D33C8:: @ 080D33C8 - .incbin "baserom.gba", 0x0D33C8, 0x0000090 - -gUnk_080D3458:: @ 080D3458 - .incbin "baserom.gba", 0x0D3458, 0x0000030 - -gUnk_080D3488:: @ 080D3488 - .incbin "baserom.gba", 0x0D3488, 0x0000030 - -gUnk_080D34B8:: @ 080D34B8 - .incbin "baserom.gba", 0x0D34B8, 0x0000020 - -gUnk_080D34D8:: @ 080D34D8 - .incbin "baserom.gba", 0x0D34D8, 0x0000030 - -gUnk_080D3508:: @ 080D3508 - .incbin "baserom.gba", 0x0D3508, 0x0000090 - -gUnk_080D3598:: @ 080D3598 - .incbin "baserom.gba", 0x0D3598, 0x0000040 - -gUnk_080D35D8:: @ 080D35D8 - .incbin "baserom.gba", 0x0D35D8, 0x0000070 - -gUnk_080D3648:: @ 080D3648 - .incbin "baserom.gba", 0x0D3648, 0x0000080 - -gUnk_080D36C8:: @ 080D36C8 - .incbin "baserom.gba", 0x0D36C8, 0x0000020 - -gUnk_080D36E8:: @ 080D36E8 - .incbin "baserom.gba", 0x0D36E8, 0x0000030 - -gUnk_080D3718:: @ 080D3718 - .incbin "baserom.gba", 0x0D3718, 0x0000030 - -gUnk_080D3748:: @ 080D3748 - .incbin "baserom.gba", 0x0D3748, 0x0000020 - -gUnk_080D3768:: @ 080D3768 - .incbin "baserom.gba", 0x0D3768, 0x0000020 - -gUnk_080D3788:: @ 080D3788 - .incbin "baserom.gba", 0x0D3788, 0x0000050 - -gUnk_080D37D8:: @ 080D37D8 - .incbin "baserom.gba", 0x0D37D8, 0x0000020 - -gUnk_080D37F8:: @ 080D37F8 - .incbin "baserom.gba", 0x0D37F8, 0x0000030 - -gUnk_080D3828:: @ 080D3828 - .incbin "baserom.gba", 0x0D3828, 0x0000080 - -gUnk_080D38A8:: @ 080D38A8 - .incbin "baserom.gba", 0x0D38A8, 0x0000030 - -gUnk_080D38D8:: @ 080D38D8 - .incbin "baserom.gba", 0x0D38D8, 0x0000040 - -gUnk_080D3918:: @ 080D3918 - .incbin "baserom.gba", 0x0D3918, 0x0000020 - -gUnk_080D3938:: @ 080D3938 - .incbin "baserom.gba", 0x0D3938, 0x0000017 - -gUnk_080D394F:: @ 080D394F - .incbin "baserom.gba", 0x0D394F, 0x0000029 - -gUnk_080D3978:: @ 080D3978 - .incbin "baserom.gba", 0x0D3978, 0x0000060 - -gUnk_080D39D8:: @ 080D39D8 - .incbin "baserom.gba", 0x0D39D8, 0x0000040 - -gUnk_080D3A18:: @ 080D3A18 - .incbin "baserom.gba", 0x0D3A18, 0x0000050 - -gUnk_080D3A68:: @ 080D3A68 - .incbin "baserom.gba", 0x0D3A68, 0x0000030 - -gUnk_080D3A98:: @ 080D3A98 - .incbin "baserom.gba", 0x0D3A98, 0x0000030 - -gUnk_080D3AC8:: @ 080D3AC8 - .incbin "baserom.gba", 0x0D3AC8, 0x0000020 - -gUnk_080D3AE8:: @ 080D3AE8 - .incbin "baserom.gba", 0x0D3AE8, 0x0000040 - -gUnk_080D3B28:: @ 080D3B28 - .incbin "baserom.gba", 0x0D3B28, 0x0000020 - -gUnk_080D3B48:: @ 080D3B48 - .incbin "baserom.gba", 0x0D3B48, 0x0000040 - -gUnk_080D3B88:: @ 080D3B88 - .incbin "baserom.gba", 0x0D3B88, 0x0000020 - -gUnk_080D3BA8:: @ 080D3BA8 - .incbin "baserom.gba", 0x0D3BA8, 0x0000020 - -gUnk_080D3BC8:: @ 080D3BC8 - .incbin "baserom.gba", 0x0D3BC8, 0x0000020 - -gUnk_080D3BE8:: @ 080D3BE8 - .incbin "baserom.gba", 0x0D3BE8, 0x0000010 diff --git a/data/data_080CA2B4.s b/data/data_080CA2B4.s new file mode 100644 index 00000000..77b08eee --- /dev/null +++ b/data/data_080CA2B4.s @@ -0,0 +1,6035 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080CA2B4:: @ 080CA2B4 + .incbin "baserom.gba", 0x0CA2B4, 0x000000A + +gUnk_080CA2BE:: @ 080CA2BE + .incbin "baserom.gba", 0x0CA2BE, 0x000002C + +gUnk_080CA2EA:: @ 080CA2EA + .incbin "baserom.gba", 0x0CA2EA, 0x0000011 + +gUnk_080CA2FB:: @ 080CA2FB + .incbin "baserom.gba", 0x0CA2FB, 0x0000041 + +gUnk_080CA33C:: @ 080CA33C + .incbin "baserom.gba", 0x0CA33C, 0x000001C + +gUnk_080CA358:: @ 080CA358 + .incbin "baserom.gba", 0x0CA358, 0x000000C + +gUnk_080CA364:: @ 080CA364 + .incbin "baserom.gba", 0x0CA364, 0x000000C + +gUnk_080CA370:: @ 080CA370 + .incbin "baserom.gba", 0x0CA370, 0x0000041 + +gUnk_080CA3B1:: @ 080CA3B1 + .incbin "baserom.gba", 0x0CA3B1, 0x0000014 + +gUnk_080CA3C5:: @ 080CA3C5 + .incbin "baserom.gba", 0x0CA3C5, 0x0000069 + +gUnk_080CA42E:: @ 080CA42E + .incbin "baserom.gba", 0x0CA42E, 0x0000042 + +gUnk_080CA470:: @ 080CA470 + .incbin "baserom.gba", 0x0CA470, 0x000002C + +gUnk_080CA49C:: @ 080CA49C + .incbin "baserom.gba", 0x0CA49C, 0x0000018 + +gUnk_080CA4B4:: @ 080CA4B4 + .incbin "baserom.gba", 0x0CA4B4, 0x0000014 + +gUnk_080CA4C8:: @ 080CA4C8 + .incbin "baserom.gba", 0x0CA4C8, 0x0000002 + +gUnk_080CA4CA:: @ 080CA4CA + .incbin "baserom.gba", 0x0CA4CA, 0x000000A + +gUnk_080CA4D4:: @ 080CA4D4 + .incbin "baserom.gba", 0x0CA4D4, 0x000002C + +gUnk_080CA500:: @ 080CA500 + .incbin "baserom.gba", 0x0CA500, 0x000001C + +gUnk_080CA51C:: @ 080CA51C + .incbin "baserom.gba", 0x0CA51C, 0x0000044 + +gUnk_080CA560:: @ 080CA560 + .incbin "baserom.gba", 0x0CA560, 0x0000010 + +gUnk_080CA570:: @ 080CA570 + .incbin "baserom.gba", 0x0CA570, 0x0000018 + +gUnk_080CA588:: @ 080CA588 + .incbin "baserom.gba", 0x0CA588, 0x0000008 + +gUnk_080CA590:: @ 080CA590 + .incbin "baserom.gba", 0x0CA590, 0x0000028 + +gUnk_080CA5B8:: @ 080CA5B8 + .incbin "baserom.gba", 0x0CA5B8, 0x0000004 + +gUnk_080CA5BC:: @ 080CA5BC + .incbin "baserom.gba", 0x0CA5BC, 0x0000018 + +gUnk_080CA5D4:: @ 080CA5D4 + .incbin "baserom.gba", 0x0CA5D4, 0x0000002 + +gUnk_080CA5D6:: @ 080CA5D6 + .incbin "baserom.gba", 0x0CA5D6, 0x0000011 + +gUnk_080CA5E7:: @ 080CA5E7 + .incbin "baserom.gba", 0x0CA5E7, 0x0000011 + +gUnk_080CA5F8:: @ 080CA5F8 + .incbin "baserom.gba", 0x0CA5F8, 0x000001D + +gUnk_080CA615:: @ 080CA615 + .incbin "baserom.gba", 0x0CA615, 0x0000011 + +gUnk_080CA626:: @ 080CA626 + .incbin "baserom.gba", 0x0CA626, 0x0000014 + +gUnk_080CA63A:: @ 080CA63A + .incbin "baserom.gba", 0x0CA63A, 0x0000016 + +gUnk_080CA650:: @ 080CA650 + .incbin "baserom.gba", 0x0CA650, 0x000001C + +gUnk_080CA66C:: @ 080CA66C + .incbin "baserom.gba", 0x0CA66C, 0x0000018 + +gUnk_080CA684:: @ 080CA684 + .incbin "baserom.gba", 0x0CA684, 0x0000020 + +gUnk_080CA6A4:: @ 080CA6A4 + .incbin "baserom.gba", 0x0CA6A4, 0x0000018 + +gUnk_080CA6BC:: @ 080CA6BC + .incbin "baserom.gba", 0x0CA6BC, 0x0000010 + +gUnk_080CA6CC:: @ 080CA6CC + .incbin "baserom.gba", 0x0CA6CC, 0x0000008 + +gUnk_080CA6D4:: @ 080CA6D4 + .incbin "baserom.gba", 0x0CA6D4, 0x0000003 + +gUnk_080CA6D7:: @ 080CA6D7 + .incbin "baserom.gba", 0x0CA6D7, 0x0000021 + +gUnk_080CA6F8:: @ 080CA6F8 + .incbin "baserom.gba", 0x0CA6F8, 0x0000021 + +gUnk_080CA719:: @ 080CA719 + .incbin "baserom.gba", 0x0CA719, 0x0000021 + +gUnk_080CA73A:: @ 080CA73A + .incbin "baserom.gba", 0x0CA73A, 0x0000021 + +gUnk_080CA75B:: @ 080CA75B + .incbin "baserom.gba", 0x0CA75B, 0x0000011 + +gUnk_080CA76C:: @ 080CA76C + .incbin "baserom.gba", 0x0CA76C, 0x0000011 + +gUnk_080CA77D:: @ 080CA77D + .incbin "baserom.gba", 0x0CA77D, 0x0000011 + +gUnk_080CA78E:: @ 080CA78E + .incbin "baserom.gba", 0x0CA78E, 0x0000011 + +gUnk_080CA79F:: @ 080CA79F + .incbin "baserom.gba", 0x0CA79F, 0x0000058 + +gUnk_080CA7F7:: @ 080CA7F7 + .incbin "baserom.gba", 0x0CA7F7, 0x0000058 + +gUnk_080CA84F:: @ 080CA84F + .incbin "baserom.gba", 0x0CA84F, 0x0000058 + +gUnk_080CA8A7:: @ 080CA8A7 + .incbin "baserom.gba", 0x0CA8A7, 0x0000058 + +gUnk_080CA8FF:: @ 080CA8FF + .incbin "baserom.gba", 0x0CA8FF, 0x0000008 + +gUnk_080CA907:: @ 080CA907 + .incbin "baserom.gba", 0x0CA907, 0x0000008 + +gUnk_080CA90F:: @ 080CA90F + .incbin "baserom.gba", 0x0CA90F, 0x0000008 + +gUnk_080CA917:: @ 080CA917 + .incbin "baserom.gba", 0x0CA917, 0x0000008 + +gUnk_080CA91F:: @ 080CA91F + .incbin "baserom.gba", 0x0CA91F, 0x0000004 + +gUnk_080CA923:: @ 080CA923 + .incbin "baserom.gba", 0x0CA923, 0x0000004 + +gUnk_080CA927:: @ 080CA927 + .incbin "baserom.gba", 0x0CA927, 0x0000004 + +gUnk_080CA92B:: @ 080CA92B + .incbin "baserom.gba", 0x0CA92B, 0x0000004 + +gUnk_080CA92F:: @ 080CA92F + .incbin "baserom.gba", 0x0CA92F, 0x0000041 + +gUnk_080CA970:: @ 080CA970 + .incbin "baserom.gba", 0x0CA970, 0x0000041 + +gUnk_080CA9B1:: @ 080CA9B1 + .incbin "baserom.gba", 0x0CA9B1, 0x0000041 + +gUnk_080CA9F2:: @ 080CA9F2 + .incbin "baserom.gba", 0x0CA9F2, 0x0000042 + +gUnk_080CAA34:: @ 080CAA34 + .incbin "baserom.gba", 0x0CAA34, 0x0000064 + +gUnk_080CAA98:: @ 080CAA98 + .incbin "baserom.gba", 0x0CAA98, 0x0000018 + +gUnk_080CAAB0:: @ 080CAAB0 + .incbin "baserom.gba", 0x0CAAB0, 0x0000050 + +gUnk_080CAB00:: @ 080CAB00 + .incbin "baserom.gba", 0x0CAB00, 0x0000004 + +gUnk_080CAB04:: @ 080CAB04 + .incbin "baserom.gba", 0x0CAB04, 0x0000004 + +gUnk_080CAB08:: @ 080CAB08 + .incbin "baserom.gba", 0x0CAB08, 0x0000004 + +gUnk_080CAB0C:: @ 080CAB0C + .incbin "baserom.gba", 0x0CAB0C, 0x0000004 + +gUnk_080CAB10:: @ 080CAB10 + .incbin "baserom.gba", 0x0CAB10, 0x0000004 + +gUnk_080CAB14:: @ 080CAB14 + .incbin "baserom.gba", 0x0CAB14, 0x0000026 + +gUnk_080CAB3A:: @ 080CAB3A + .incbin "baserom.gba", 0x0CAB3A, 0x0000008 + +gUnk_080CAB42:: @ 080CAB42 + .incbin "baserom.gba", 0x0CAB42, 0x0000008 + +gUnk_080CAB4A:: @ 080CAB4A + .incbin "baserom.gba", 0x0CAB4A, 0x0000008 + +gUnk_080CAB52:: @ 080CAB52 + .incbin "baserom.gba", 0x0CAB52, 0x0000006 + +gUnk_080CAB58:: @ 080CAB58 + .incbin "baserom.gba", 0x0CAB58, 0x0000010 + +gUnk_080CAB68:: @ 080CAB68 + .incbin "baserom.gba", 0x0CAB68, 0x0000004 + +gUnk_080CAB6C:: @ 080CAB6C + .incbin "baserom.gba", 0x0CAB6C, 0x0000004 + +gUnk_080CAB70:: @ 080CAB70 + .incbin "baserom.gba", 0x0CAB70, 0x0000004 + +gUnk_080CAB74:: @ 080CAB74 + .incbin "baserom.gba", 0x0CAB74, 0x0000004 + +gUnk_080CAB78:: @ 080CAB78 + .incbin "baserom.gba", 0x0CAB78, 0x0000004 + +gUnk_080CAB7C:: @ 080CAB7C + .incbin "baserom.gba", 0x0CAB7C, 0x0000010 + +gUnk_080CAB8C:: @ 080CAB8C + .incbin "baserom.gba", 0x0CAB8C, 0x0000010 + +gUnk_080CAB9C:: @ 080CAB9C + .incbin "baserom.gba", 0x0CAB9C, 0x0000010 + +gUnk_080CABAC:: @ 080CABAC + .incbin "baserom.gba", 0x0CABAC, 0x0000010 + +gUnk_080CABBC:: @ 080CABBC + .incbin "baserom.gba", 0x0CABBC, 0x0000004 + +gUnk_080CABC0:: @ 080CABC0 + .incbin "baserom.gba", 0x0CABC0, 0x0000004 + +gUnk_080CABC4:: @ 080CABC4 + .incbin "baserom.gba", 0x0CABC4, 0x0000004 + +gUnk_080CABC8:: @ 080CABC8 + .incbin "baserom.gba", 0x0CABC8, 0x0000004 + +gUnk_080CABCC:: @ 080CABCC + .incbin "baserom.gba", 0x0CABCC, 0x0000019 + +gUnk_080CABE5:: @ 080CABE5 + .incbin "baserom.gba", 0x0CABE5, 0x0000019 + +gUnk_080CABFE:: @ 080CABFE + .incbin "baserom.gba", 0x0CABFE, 0x0000019 + +gUnk_080CAC17:: @ 080CAC17 + .incbin "baserom.gba", 0x0CAC17, 0x0000019 + +gUnk_080CAC30:: @ 080CAC30 + .incbin "baserom.gba", 0x0CAC30, 0x000000C + +gUnk_080CAC3C:: @ 080CAC3C + .incbin "baserom.gba", 0x0CAC3C, 0x000000C + +gUnk_080CAC48:: @ 080CAC48 + .incbin "baserom.gba", 0x0CAC48, 0x000000C + +gUnk_080CAC54:: @ 080CAC54 + .incbin "baserom.gba", 0x0CAC54, 0x000000C + +gUnk_080CAC60:: @ 080CAC60 + .incbin "baserom.gba", 0x0CAC60, 0x0000028 + +gUnk_080CAC88:: @ 080CAC88 + .incbin "baserom.gba", 0x0CAC88, 0x0000028 + +gUnk_080CACB0:: @ 080CACB0 + .incbin "baserom.gba", 0x0CACB0, 0x0000028 + +gUnk_080CACD8:: @ 080CACD8 + .incbin "baserom.gba", 0x0CACD8, 0x0000028 + +gUnk_080CAD00:: @ 080CAD00 + .incbin "baserom.gba", 0x0CAD00, 0x0000019 + +gUnk_080CAD19:: @ 080CAD19 + .incbin "baserom.gba", 0x0CAD19, 0x0000019 + +gUnk_080CAD32:: @ 080CAD32 + .incbin "baserom.gba", 0x0CAD32, 0x0000019 + +gUnk_080CAD4B:: @ 080CAD4B + .incbin "baserom.gba", 0x0CAD4B, 0x0000019 + +gUnk_080CAD64:: @ 080CAD64 + .incbin "baserom.gba", 0x0CAD64, 0x000000C + +gUnk_080CAD70:: @ 080CAD70 + .incbin "baserom.gba", 0x0CAD70, 0x000000C + +gUnk_080CAD7C:: @ 080CAD7C + .incbin "baserom.gba", 0x0CAD7C, 0x000000C + +gUnk_080CAD88:: @ 080CAD88 + .incbin "baserom.gba", 0x0CAD88, 0x000000C + +gUnk_080CAD94:: @ 080CAD94 + .incbin "baserom.gba", 0x0CAD94, 0x0000015 + +gUnk_080CADA9:: @ 080CADA9 + .incbin "baserom.gba", 0x0CADA9, 0x0000015 + +gUnk_080CADBE:: @ 080CADBE + .incbin "baserom.gba", 0x0CADBE, 0x0000015 + +gUnk_080CADD3:: @ 080CADD3 + .incbin "baserom.gba", 0x0CADD3, 0x0000015 + +gUnk_080CADE8:: @ 080CADE8 + .incbin "baserom.gba", 0x0CADE8, 0x0000019 + +gUnk_080CAE01:: @ 080CAE01 + .incbin "baserom.gba", 0x0CAE01, 0x0000019 + +gUnk_080CAE1A:: @ 080CAE1A + .incbin "baserom.gba", 0x0CAE1A, 0x0000019 + +gUnk_080CAE33:: @ 080CAE33 + .incbin "baserom.gba", 0x0CAE33, 0x0000019 + +gUnk_080CAE4C:: @ 080CAE4C + .incbin "baserom.gba", 0x0CAE4C, 0x0000019 + +gUnk_080CAE65:: @ 080CAE65 + .incbin "baserom.gba", 0x0CAE65, 0x0000019 + +gUnk_080CAE7E:: @ 080CAE7E + .incbin "baserom.gba", 0x0CAE7E, 0x0000019 + +gUnk_080CAE97:: @ 080CAE97 + .incbin "baserom.gba", 0x0CAE97, 0x0000019 + +gUnk_080CAEB0:: @ 080CAEB0 + .incbin "baserom.gba", 0x0CAEB0, 0x0000010 + +gUnk_080CAEC0:: @ 080CAEC0 + .incbin "baserom.gba", 0x0CAEC0, 0x0000010 + +gUnk_080CAED0:: @ 080CAED0 + .incbin "baserom.gba", 0x0CAED0, 0x0000010 + +gUnk_080CAEE0:: @ 080CAEE0 + .incbin "baserom.gba", 0x0CAEE0, 0x0000010 + +gUnk_080CAEF0:: @ 080CAEF0 + .incbin "baserom.gba", 0x0CAEF0, 0x0000030 + +gUnk_080CAF20:: @ 080CAF20 + .incbin "baserom.gba", 0x0CAF20, 0x0000030 + +gUnk_080CAF50:: @ 080CAF50 + .incbin "baserom.gba", 0x0CAF50, 0x0000030 + +gUnk_080CAF80:: @ 080CAF80 + .incbin "baserom.gba", 0x0CAF80, 0x0000030 + +gUnk_080CAFB0:: @ 080CAFB0 + .incbin "baserom.gba", 0x0CAFB0, 0x0000018 + +gUnk_080CAFC8:: @ 080CAFC8 + .incbin "baserom.gba", 0x0CAFC8, 0x0000018 + +gUnk_080CAFE0:: @ 080CAFE0 + .incbin "baserom.gba", 0x0CAFE0, 0x0000018 + +gUnk_080CAFF8:: @ 080CAFF8 + .incbin "baserom.gba", 0x0CAFF8, 0x0000018 + +gUnk_080CB010:: @ 080CB010 + .incbin "baserom.gba", 0x0CB010, 0x0000035 + +gUnk_080CB045:: @ 080CB045 + .incbin "baserom.gba", 0x0CB045, 0x0000035 + +gUnk_080CB07A:: @ 080CB07A + .incbin "baserom.gba", 0x0CB07A, 0x0000035 + +gUnk_080CB0AF:: @ 080CB0AF + .incbin "baserom.gba", 0x0CB0AF, 0x0000035 + +gUnk_080CB0E4:: @ 080CB0E4 + .incbin "baserom.gba", 0x0CB0E4, 0x0000008 + +gUnk_080CB0EC:: @ 080CB0EC + .incbin "baserom.gba", 0x0CB0EC, 0x0000008 + +gUnk_080CB0F4:: @ 080CB0F4 + .incbin "baserom.gba", 0x0CB0F4, 0x0000008 + +gUnk_080CB0FC:: @ 080CB0FC + .incbin "baserom.gba", 0x0CB0FC, 0x0000008 + +gUnk_080CB104:: @ 080CB104 + .incbin "baserom.gba", 0x0CB104, 0x0000070 + +gUnk_080CB174:: @ 080CB174 + .incbin "baserom.gba", 0x0CB174, 0x0000070 + +gUnk_080CB1E4:: @ 080CB1E4 + .incbin "baserom.gba", 0x0CB1E4, 0x0000070 + +gUnk_080CB254:: @ 080CB254 + .incbin "baserom.gba", 0x0CB254, 0x0000070 + +gUnk_080CB2C4:: @ 080CB2C4 + .incbin "baserom.gba", 0x0CB2C4, 0x0000034 + +gUnk_080CB2F8:: @ 080CB2F8 + .incbin "baserom.gba", 0x0CB2F8, 0x0000034 + +gUnk_080CB32C:: @ 080CB32C + .incbin "baserom.gba", 0x0CB32C, 0x0000034 + +gUnk_080CB360:: @ 080CB360 + .incbin "baserom.gba", 0x0CB360, 0x0000034 + +gUnk_080CB394:: @ 080CB394 + .incbin "baserom.gba", 0x0CB394, 0x0000029 + +gUnk_080CB3BD:: @ 080CB3BD + .incbin "baserom.gba", 0x0CB3BD, 0x0000029 + +gUnk_080CB3E6:: @ 080CB3E6 + .incbin "baserom.gba", 0x0CB3E6, 0x0000029 + +gUnk_080CB40F:: @ 080CB40F + .incbin "baserom.gba", 0x0CB40F, 0x0000029 + +gUnk_080CB438:: @ 080CB438 + .incbin "baserom.gba", 0x0CB438, 0x00000C4 + +gUnk_080CB4FC:: @ 080CB4FC + .incbin "baserom.gba", 0x0CB4FC, 0x0000074 + +gUnk_080CB570:: @ 080CB570 + .incbin "baserom.gba", 0x0CB570, 0x0000018 + +gUnk_080CB588:: @ 080CB588 + .incbin "baserom.gba", 0x0CB588, 0x0000008 + +gUnk_080CB590:: @ 080CB590 + .incbin "baserom.gba", 0x0CB590, 0x0000018 + +gUnk_080CB5A8:: @ 080CB5A8 + .incbin "baserom.gba", 0x0CB5A8, 0x0000020 + +gUnk_080CB5C8:: @ 080CB5C8 + .incbin "baserom.gba", 0x0CB5C8, 0x000000C + +gUnk_080CB5D4:: @ 080CB5D4 + .incbin "baserom.gba", 0x0CB5D4, 0x0000008 + +gUnk_080CB5DC:: @ 080CB5DC + .incbin "baserom.gba", 0x0CB5DC, 0x0000008 + +gUnk_080CB5E4:: @ 080CB5E4 + .incbin "baserom.gba", 0x0CB5E4, 0x0000008 + +gUnk_080CB5EC:: @ 080CB5EC + .incbin "baserom.gba", 0x0CB5EC, 0x0000014 + +gUnk_080CB600:: @ 080CB600 + .incbin "baserom.gba", 0x0CB600, 0x000001C + +gUnk_080CB61C:: @ 080CB61C + .incbin "baserom.gba", 0x0CB61C, 0x0000011 + +gUnk_080CB62D:: @ 080CB62D + .incbin "baserom.gba", 0x0CB62D, 0x0000018 + +gUnk_080CB645:: @ 080CB645 + .incbin "baserom.gba", 0x0CB645, 0x0000018 + +gUnk_080CB65D:: @ 080CB65D + .incbin "baserom.gba", 0x0CB65D, 0x0000014 + +gUnk_080CB671:: @ 080CB671 + .incbin "baserom.gba", 0x0CB671, 0x000000B + +gUnk_080CB67C:: @ 080CB67C + .incbin "baserom.gba", 0x0CB67C, 0x0000020 + +gUnk_080CB69C:: @ 080CB69C + .incbin "baserom.gba", 0x0CB69C, 0x0000018 + +gUnk_080CB6B4:: @ 080CB6B4 + .incbin "baserom.gba", 0x0CB6B4, 0x0000010 + +gUnk_080CB6C4:: @ 080CB6C4 + .incbin "baserom.gba", 0x0CB6C4, 0x000000C + +gUnk_080CB6D0:: @ 080CB6D0 + .incbin "baserom.gba", 0x0CB6D0, 0x0000006 + +gUnk_080CB6D6:: @ 080CB6D6 + .incbin "baserom.gba", 0x0CB6D6, 0x0000020 + +gUnk_080CB6F6:: @ 080CB6F6 + .incbin "baserom.gba", 0x0CB6F6, 0x0000010 + +gUnk_080CB706:: @ 080CB706 + .incbin "baserom.gba", 0x0CB706, 0x0000018 + +gUnk_080CB71E:: @ 080CB71E + .incbin "baserom.gba", 0x0CB71E, 0x000000A + +gUnk_080CB728:: @ 080CB728 + .incbin "baserom.gba", 0x0CB728, 0x000000C + +gUnk_080CB734:: @ 080CB734 + .incbin "baserom.gba", 0x0CB734, 0x0000018 + +gUnk_080CB74C:: @ 080CB74C + .incbin "baserom.gba", 0x0CB74C, 0x0000018 + +gUnk_080CB764:: @ 080CB764 + .incbin "baserom.gba", 0x0CB764, 0x0000008 + +gUnk_080CB76C:: @ 080CB76C + .incbin "baserom.gba", 0x0CB76C, 0x0000030 + +gUnk_080CB79C:: @ 080CB79C + .incbin "baserom.gba", 0x0CB79C, 0x0000008 + +gUnk_080CB7A4:: @ 080CB7A4 + .incbin "baserom.gba", 0x0CB7A4, 0x0000008 + +gUnk_080CB7AC:: @ 080CB7AC + .incbin "baserom.gba", 0x0CB7AC, 0x0000008 + +gUnk_080CB7B4:: @ 080CB7B4 + .incbin "baserom.gba", 0x0CB7B4, 0x0000008 + +gUnk_080CB7BC:: @ 080CB7BC + .incbin "baserom.gba", 0x0CB7BC, 0x0000008 + +gUnk_080CB7C4:: @ 080CB7C4 + .incbin "baserom.gba", 0x0CB7C4, 0x0000008 + +gUnk_080CB7CC:: @ 080CB7CC + .incbin "baserom.gba", 0x0CB7CC, 0x0000008 + +gUnk_080CB7D4:: @ 080CB7D4 + .incbin "baserom.gba", 0x0CB7D4, 0x0000008 + +gUnk_080CB7DC:: @ 080CB7DC + .incbin "baserom.gba", 0x0CB7DC, 0x0000008 + +gUnk_080CB7E4:: @ 080CB7E4 + .incbin "baserom.gba", 0x0CB7E4, 0x0000008 + +gUnk_080CB7EC:: @ 080CB7EC + .incbin "baserom.gba", 0x0CB7EC, 0x0000008 + +gUnk_080CB7F4:: @ 080CB7F4 + .incbin "baserom.gba", 0x0CB7F4, 0x0000030 + +gUnk_080CB824:: @ 080CB824 + .incbin "baserom.gba", 0x0CB824, 0x0000008 + +gUnk_080CB82C:: @ 080CB82C + .incbin "baserom.gba", 0x0CB82C, 0x0000008 + +gUnk_080CB834:: @ 080CB834 + .incbin "baserom.gba", 0x0CB834, 0x0000008 + +gUnk_080CB83C:: @ 080CB83C + .incbin "baserom.gba", 0x0CB83C, 0x0000008 + +gUnk_080CB844:: @ 080CB844 + .incbin "baserom.gba", 0x0CB844, 0x0000008 + +gUnk_080CB84C:: @ 080CB84C + .incbin "baserom.gba", 0x0CB84C, 0x0000008 + +gUnk_080CB854:: @ 080CB854 + .incbin "baserom.gba", 0x0CB854, 0x0000008 + +gUnk_080CB85C:: @ 080CB85C + .incbin "baserom.gba", 0x0CB85C, 0x0000008 + +gUnk_080CB864:: @ 080CB864 + .incbin "baserom.gba", 0x0CB864, 0x0000008 + +gUnk_080CB86C:: @ 080CB86C + .incbin "baserom.gba", 0x0CB86C, 0x0000008 + +gUnk_080CB874:: @ 080CB874 + .incbin "baserom.gba", 0x0CB874, 0x0000030 + +gUnk_080CB8A4:: @ 080CB8A4 + .incbin "baserom.gba", 0x0CB8A4, 0x0000010 + +gUnk_080CB8B4:: @ 080CB8B4 + .incbin "baserom.gba", 0x0CB8B4, 0x0000005 + +gUnk_080CB8B9:: @ 080CB8B9 + .incbin "baserom.gba", 0x0CB8B9, 0x0000005 + +gUnk_080CB8BE:: @ 080CB8BE + .incbin "baserom.gba", 0x0CB8BE, 0x0000019 + +gUnk_080CB8D7:: @ 080CB8D7 + .incbin "baserom.gba", 0x0CB8D7, 0x0000019 + +gUnk_080CB8F0:: @ 080CB8F0 + .incbin "baserom.gba", 0x0CB8F0, 0x0000011 + +gUnk_080CB901:: @ 080CB901 + .incbin "baserom.gba", 0x0CB901, 0x0000013 + +gUnk_080CB914:: @ 080CB914 + .incbin "baserom.gba", 0x0CB914, 0x0000034 + +gUnk_080CB948:: @ 080CB948 + .incbin "baserom.gba", 0x0CB948, 0x0000018 + +gUnk_080CB960:: @ 080CB960 + .incbin "baserom.gba", 0x0CB960, 0x000000C + +gUnk_080CB96C:: @ 080CB96C + .incbin "baserom.gba", 0x0CB96C, 0x0000029 + +gUnk_080CB995:: @ 080CB995 + .incbin "baserom.gba", 0x0CB995, 0x0000041 + +gUnk_080CB9D6:: @ 080CB9D6 + .incbin "baserom.gba", 0x0CB9D6, 0x0000042 + +gUnk_080CBA18:: @ 080CBA18 + .incbin "baserom.gba", 0x0CBA18, 0x0000010 + +gUnk_080CBA28:: @ 080CBA28 + .incbin "baserom.gba", 0x0CBA28, 0x0000018 + +gUnk_080CBA40:: @ 080CBA40 + .incbin "baserom.gba", 0x0CBA40, 0x0000020 + +gUnk_080CBA60:: @ 080CBA60 + .incbin "baserom.gba", 0x0CBA60, 0x0000004 + +gUnk_080CBA64:: @ 080CBA64 + .incbin "baserom.gba", 0x0CBA64, 0x0000041 + +gUnk_080CBAA5:: @ 080CBAA5 + .incbin "baserom.gba", 0x0CBAA5, 0x0000040 + +gUnk_080CBAE5:: @ 080CBAE5 + .incbin "baserom.gba", 0x0CBAE5, 0x0000018 + +gUnk_080CBAFD:: @ 080CBAFD + .incbin "baserom.gba", 0x0CBAFD, 0x0000024 + +gUnk_080CBB21:: @ 080CBB21 + .incbin "baserom.gba", 0x0CBB21, 0x0000011 + +gUnk_080CBB32:: @ 080CBB32 + .incbin "baserom.gba", 0x0CBB32, 0x000000D + +gUnk_080CBB3F:: @ 080CBB3F + .incbin "baserom.gba", 0x0CBB3F, 0x0000005 + +gUnk_080CBB44:: @ 080CBB44 + .incbin "baserom.gba", 0x0CBB44, 0x0000020 + +gUnk_080CBB64:: @ 080CBB64 + .incbin "baserom.gba", 0x0CBB64, 0x0000018 + +gUnk_080CBB7C:: @ 080CBB7C + .incbin "baserom.gba", 0x0CBB7C, 0x0000014 + +gUnk_080CBB90:: @ 080CBB90 + .incbin "baserom.gba", 0x0CBB90, 0x0000010 + +gUnk_080CBBA0:: @ 080CBBA0 + .incbin "baserom.gba", 0x0CBBA0, 0x0000014 + +gUnk_080CBBB4:: @ 080CBBB4 + .incbin "baserom.gba", 0x0CBBB4, 0x0000008 + +gUnk_080CBBBC:: @ 080CBBBC + .incbin "baserom.gba", 0x0CBBBC, 0x0000008 + +gUnk_080CBBC4:: @ 080CBBC4 + .incbin "baserom.gba", 0x0CBBC4, 0x0000004 + +gUnk_080CBBC8:: @ 080CBBC8 + .incbin "baserom.gba", 0x0CBBC8, 0x0000014 + +gUnk_080CBBDC:: @ 080CBBDC + .incbin "baserom.gba", 0x0CBBDC, 0x0000010 + +gUnk_080CBBEC:: @ 080CBBEC + .incbin "baserom.gba", 0x0CBBEC, 0x000004C + +gUnk_080CBC38:: @ 080CBC38 + .incbin "baserom.gba", 0x0CBC38, 0x0000018 + +gUnk_080CBC50:: @ 080CBC50 + .incbin "baserom.gba", 0x0CBC50, 0x0000020 + +gUnk_080CBC70:: @ 080CBC70 + .incbin "baserom.gba", 0x0CBC70, 0x0000020 + +gUnk_080CBC90:: @ 080CBC90 + .incbin "baserom.gba", 0x0CBC90, 0x0000008 + +gUnk_080CBC98:: @ 080CBC98 + .incbin "baserom.gba", 0x0CBC98, 0x0000010 + +gUnk_080CBCA8:: @ 080CBCA8 + .incbin "baserom.gba", 0x0CBCA8, 0x0000010 + +gUnk_080CBCB8:: @ 080CBCB8 + .incbin "baserom.gba", 0x0CBCB8, 0x0000010 + +gUnk_080CBCC8:: @ 080CBCC8 + .incbin "baserom.gba", 0x0CBCC8, 0x0000004 + +gUnk_080CBCCC:: @ 080CBCCC + .incbin "baserom.gba", 0x0CBCCC, 0x0000004 + +gUnk_080CBCD0:: @ 080CBCD0 + .incbin "baserom.gba", 0x0CBCD0, 0x0000004 + +gUnk_080CBCD4:: @ 080CBCD4 + .incbin "baserom.gba", 0x0CBCD4, 0x0000004 + +gUnk_080CBCD8:: @ 080CBCD8 + .incbin "baserom.gba", 0x0CBCD8, 0x0000004 + +gUnk_080CBCDC:: @ 080CBCDC + .incbin "baserom.gba", 0x0CBCDC, 0x0000004 + +gUnk_080CBCE0:: @ 080CBCE0 + .incbin "baserom.gba", 0x0CBCE0, 0x0000004 + +gUnk_080CBCE4:: @ 080CBCE4 + .incbin "baserom.gba", 0x0CBCE4, 0x0000004 + +gUnk_080CBCE8:: @ 080CBCE8 + .incbin "baserom.gba", 0x0CBCE8, 0x0000004 + +gUnk_080CBCEC:: @ 080CBCEC + .incbin "baserom.gba", 0x0CBCEC, 0x0000004 + +gUnk_080CBCF0:: @ 080CBCF0 + .incbin "baserom.gba", 0x0CBCF0, 0x0000004 + +gUnk_080CBCF4:: @ 080CBCF4 + .incbin "baserom.gba", 0x0CBCF4, 0x0000004 + +gUnk_080CBCF8:: @ 080CBCF8 + .incbin "baserom.gba", 0x0CBCF8, 0x0000004 + +gUnk_080CBCFC:: @ 080CBCFC + .incbin "baserom.gba", 0x0CBCFC, 0x0000004 + +gUnk_080CBD00:: @ 080CBD00 + .incbin "baserom.gba", 0x0CBD00, 0x0000004 + +gUnk_080CBD04:: @ 080CBD04 + .incbin "baserom.gba", 0x0CBD04, 0x0000004 + +gUnk_080CBD08:: @ 080CBD08 + .incbin "baserom.gba", 0x0CBD08, 0x0000004 + +gUnk_080CBD0C:: @ 080CBD0C + .incbin "baserom.gba", 0x0CBD0C, 0x0000004 + +gUnk_080CBD10:: @ 080CBD10 + .incbin "baserom.gba", 0x0CBD10, 0x0000004 + +gUnk_080CBD14:: @ 080CBD14 + .incbin "baserom.gba", 0x0CBD14, 0x0000004 + +gUnk_080CBD18:: @ 080CBD18 + .incbin "baserom.gba", 0x0CBD18, 0x0000004 + +gUnk_080CBD1C:: @ 080CBD1C + .incbin "baserom.gba", 0x0CBD1C, 0x0000004 + +gUnk_080CBD20:: @ 080CBD20 + .incbin "baserom.gba", 0x0CBD20, 0x000002C + +gUnk_080CBD4C:: @ 080CBD4C + .incbin "baserom.gba", 0x0CBD4C, 0x000000C + +gUnk_080CBD58:: @ 080CBD58 + .incbin "baserom.gba", 0x0CBD58, 0x0000064 + +gUnk_080CBDBC:: @ 080CBDBC + .incbin "baserom.gba", 0x0CBDBC, 0x0000018 + +gUnk_080CBDD4:: @ 080CBDD4 + .incbin "baserom.gba", 0x0CBDD4, 0x0000018 + +gUnk_080CBDEC:: @ 080CBDEC + .incbin "baserom.gba", 0x0CBDEC, 0x0000008 + +gUnk_080CBDF4:: @ 080CBDF4 + .incbin "baserom.gba", 0x0CBDF4, 0x0000003 + +gUnk_080CBDF7:: @ 080CBDF7 + .incbin "baserom.gba", 0x0CBDF7, 0x0000008 + +gUnk_080CBDFF:: @ 080CBDFF + .incbin "baserom.gba", 0x0CBDFF, 0x0000003 + +gUnk_080CBE02:: @ 080CBE02 + .incbin "baserom.gba", 0x0CBE02, 0x0000019 + +gUnk_080CBE1B:: @ 080CBE1B + .incbin "baserom.gba", 0x0CBE1B, 0x0000019 + +gUnk_080CBE34:: @ 080CBE34 + .incbin "baserom.gba", 0x0CBE34, 0x0000019 + +gUnk_080CBE4D:: @ 080CBE4D + .incbin "baserom.gba", 0x0CBE4D, 0x0000019 + +gUnk_080CBE66:: @ 080CBE66 + .incbin "baserom.gba", 0x0CBE66, 0x0000024 + +gUnk_080CBE8A:: @ 080CBE8A + .incbin "baserom.gba", 0x0CBE8A, 0x0000014 + +gUnk_080CBE9E:: @ 080CBE9E + .incbin "baserom.gba", 0x0CBE9E, 0x0000006 + +gUnk_080CBEA4:: @ 080CBEA4 + .incbin "baserom.gba", 0x0CBEA4, 0x0000020 + +gUnk_080CBEC4:: @ 080CBEC4 + .incbin "baserom.gba", 0x0CBEC4, 0x0000018 + +gUnk_080CBEDC:: @ 080CBEDC + .incbin "baserom.gba", 0x0CBEDC, 0x000001C + +gUnk_080CBEF8:: @ 080CBEF8 + .incbin "baserom.gba", 0x0CBEF8, 0x0000018 + +gUnk_080CBF10:: @ 080CBF10 + .incbin "baserom.gba", 0x0CBF10, 0x0000008 + +gUnk_080CBF18:: @ 080CBF18 + .incbin "baserom.gba", 0x0CBF18, 0x0000008 + +gUnk_080CBF20:: @ 080CBF20 + .incbin "baserom.gba", 0x0CBF20, 0x0000010 + +gUnk_080CBF30:: @ 080CBF30 + .incbin "baserom.gba", 0x0CBF30, 0x0000009 + +gUnk_080CBF39:: @ 080CBF39 + .incbin "baserom.gba", 0x0CBF39, 0x0000009 + +gUnk_080CBF42:: @ 080CBF42 + .incbin "baserom.gba", 0x0CBF42, 0x0000009 + +gUnk_080CBF4B:: @ 080CBF4B + .incbin "baserom.gba", 0x0CBF4B, 0x0000009 + +gUnk_080CBF54:: @ 080CBF54 + .incbin "baserom.gba", 0x0CBF54, 0x0000009 + +gUnk_080CBF5D:: @ 080CBF5D + .incbin "baserom.gba", 0x0CBF5D, 0x0000009 + +gUnk_080CBF66:: @ 080CBF66 + .incbin "baserom.gba", 0x0CBF66, 0x0000009 + +gUnk_080CBF6F:: @ 080CBF6F + .incbin "baserom.gba", 0x0CBF6F, 0x0000009 + +gUnk_080CBF78:: @ 080CBF78 + .incbin "baserom.gba", 0x0CBF78, 0x0000024 + +gUnk_080CBF9C:: @ 080CBF9C + .incbin "baserom.gba", 0x0CBF9C, 0x0000018 + +gUnk_080CBFB4:: @ 080CBFB4 + .incbin "baserom.gba", 0x0CBFB4, 0x0000034 + +gUnk_080CBFE8:: @ 080CBFE8 + .incbin "baserom.gba", 0x0CBFE8, 0x0000004 + +gUnk_080CBFEC:: @ 080CBFEC + .incbin "baserom.gba", 0x0CBFEC, 0x000000C + +gUnk_080CBFF8:: @ 080CBFF8 + .incbin "baserom.gba", 0x0CBFF8, 0x0000008 + +gUnk_080CC000:: @ 080CC000 + .incbin "baserom.gba", 0x0CC000, 0x0000020 + +gUnk_080CC020:: @ 080CC020 + .incbin "baserom.gba", 0x0CC020, 0x0000030 + +gUnk_080CC050:: @ 080CC050 + .incbin "baserom.gba", 0x0CC050, 0x0000008 + +gUnk_080CC058:: @ 080CC058 + .incbin "baserom.gba", 0x0CC058, 0x000000B + +gUnk_080CC063:: @ 080CC063 + .incbin "baserom.gba", 0x0CC063, 0x0000011 + +gUnk_080CC074:: @ 080CC074 + .incbin "baserom.gba", 0x0CC074, 0x0000011 + +gUnk_080CC085:: @ 080CC085 + .incbin "baserom.gba", 0x0CC085, 0x000000B + +gUnk_080CC090:: @ 080CC090 + .incbin "baserom.gba", 0x0CC090, 0x0000010 + +gUnk_080CC0A0:: @ 080CC0A0 + .incbin "baserom.gba", 0x0CC0A0, 0x0000008 + +gUnk_080CC0A8:: @ 080CC0A8 + .incbin "baserom.gba", 0x0CC0A8, 0x0000012 + +gUnk_080CC0BA:: @ 080CC0BA + .incbin "baserom.gba", 0x0CC0BA, 0x0000008 + +gUnk_080CC0C2:: @ 080CC0C2 + .incbin "baserom.gba", 0x0CC0C2, 0x0000008 + +gUnk_080CC0CA:: @ 080CC0CA + .incbin "baserom.gba", 0x0CC0CA, 0x0000041 + +gUnk_080CC10B:: @ 080CC10B + .incbin "baserom.gba", 0x0CC10B, 0x000000D + +gUnk_080CC118:: @ 080CC118 + .incbin "baserom.gba", 0x0CC118, 0x0000009 + +gUnk_080CC121:: @ 080CC121 + .incbin "baserom.gba", 0x0CC121, 0x0000010 + +gUnk_080CC131:: @ 080CC131 + .incbin "baserom.gba", 0x0CC131, 0x000000D + +gUnk_080CC13E:: @ 080CC13E + .incbin "baserom.gba", 0x0CC13E, 0x000000D + +gUnk_080CC14B:: @ 080CC14B + .incbin "baserom.gba", 0x0CC14B, 0x000000D + +gUnk_080CC158:: @ 080CC158 + .incbin "baserom.gba", 0x0CC158, 0x000000D + +gUnk_080CC165:: @ 080CC165 + .incbin "baserom.gba", 0x0CC165, 0x000000F + +gUnk_080CC174:: @ 080CC174 + .incbin "baserom.gba", 0x0CC174, 0x0000028 + +gUnk_080CC19C:: @ 080CC19C + .incbin "baserom.gba", 0x0CC19C, 0x0000014 + +gUnk_080CC1B0:: @ 080CC1B0 + .incbin "baserom.gba", 0x0CC1B0, 0x0000008 + +gUnk_080CC1B8:: @ 080CC1B8 + .incbin "baserom.gba", 0x0CC1B8, 0x0000010 + +gUnk_080CC1C8:: @ 080CC1C8 + .incbin "baserom.gba", 0x0CC1C8, 0x0000014 + +gUnk_080CC1DC:: @ 080CC1DC + .incbin "baserom.gba", 0x0CC1DC, 0x0000030 + +gUnk_080CC20C:: @ 080CC20C + .incbin "baserom.gba", 0x0CC20C, 0x0000028 + +gUnk_080CC234:: @ 080CC234 + .incbin "baserom.gba", 0x0CC234, 0x000001B + +gUnk_080CC24F:: @ 080CC24F + .incbin "baserom.gba", 0x0CC24F, 0x0000009 + +gUnk_080CC258:: @ 080CC258 + .incbin "baserom.gba", 0x0CC258, 0x000000C + +gUnk_080CC264:: @ 080CC264 + .incbin "baserom.gba", 0x0CC264, 0x0000008 + +gUnk_080CC26C:: @ 080CC26C + .incbin "baserom.gba", 0x0CC26C, 0x000000C + +gUnk_080CC278:: @ 080CC278 + .incbin "baserom.gba", 0x0CC278, 0x0000004 + +gUnk_080CC27C:: @ 080CC27C + .incbin "baserom.gba", 0x0CC27C, 0x0000020 + +gUnk_080CC29C:: @ 080CC29C + .incbin "baserom.gba", 0x0CC29C, 0x0000020 + +gUnk_080CC2BC:: @ 080CC2BC + .incbin "baserom.gba", 0x0CC2BC, 0x0000020 + +gUnk_080CC2DC:: @ 080CC2DC + .incbin "baserom.gba", 0x0CC2DC, 0x0000003 + +gUnk_080CC2DF:: @ 080CC2DF + .incbin "baserom.gba", 0x0CC2DF, 0x0000004 + +gUnk_080CC2E3:: @ 080CC2E3 + .incbin "baserom.gba", 0x0CC2E3, 0x0000004 + +gUnk_080CC2E7:: @ 080CC2E7 + .incbin "baserom.gba", 0x0CC2E7, 0x0000004 + +gUnk_080CC2EB:: @ 080CC2EB + .incbin "baserom.gba", 0x0CC2EB, 0x0000004 + +gUnk_080CC2EF:: @ 080CC2EF + .incbin "baserom.gba", 0x0CC2EF, 0x0000005 + +gUnk_080CC2F4:: @ 080CC2F4 + .incbin "baserom.gba", 0x0CC2F4, 0x0000011 + +gUnk_080CC305:: @ 080CC305 + .incbin "baserom.gba", 0x0CC305, 0x0000019 + +gUnk_080CC31E:: @ 080CC31E + .incbin "baserom.gba", 0x0CC31E, 0x000000D + +gUnk_080CC32B:: @ 080CC32B + .incbin "baserom.gba", 0x0CC32B, 0x000000D + +gUnk_080CC338:: @ 080CC338 + .incbin "baserom.gba", 0x0CC338, 0x0000005 + +gUnk_080CC33D:: @ 080CC33D + .incbin "baserom.gba", 0x0CC33D, 0x0000009 + +gUnk_080CC346:: @ 080CC346 + .incbin "baserom.gba", 0x0CC346, 0x000000D + +gUnk_080CC353:: @ 080CC353 + .incbin "baserom.gba", 0x0CC353, 0x0000009 + +gUnk_080CC35C:: @ 080CC35C + .incbin "baserom.gba", 0x0CC35C, 0x000000D + +gUnk_080CC369:: @ 080CC369 + .incbin "baserom.gba", 0x0CC369, 0x0000009 + +gUnk_080CC372:: @ 080CC372 + .incbin "baserom.gba", 0x0CC372, 0x0000009 + +gUnk_080CC37B:: @ 080CC37B + .incbin "baserom.gba", 0x0CC37B, 0x0000021 + +gUnk_080CC39C:: @ 080CC39C + .incbin "baserom.gba", 0x0CC39C, 0x0000038 + +gUnk_080CC3D4:: @ 080CC3D4 + .incbin "baserom.gba", 0x0CC3D4, 0x0000038 + +gUnk_080CC40C:: @ 080CC40C + .incbin "baserom.gba", 0x0CC40C, 0x0000034 + +gUnk_080CC440:: @ 080CC440 + .incbin "baserom.gba", 0x0CC440, 0x0000038 + +gUnk_080CC478:: @ 080CC478 + .incbin "baserom.gba", 0x0CC478, 0x0000038 + +gUnk_080CC4B0:: @ 080CC4B0 + .incbin "baserom.gba", 0x0CC4B0, 0x0000065 + +gUnk_080CC515:: @ 080CC515 + .incbin "baserom.gba", 0x0CC515, 0x000006D + +gUnk_080CC582:: @ 080CC582 + .incbin "baserom.gba", 0x0CC582, 0x000006D + +gUnk_080CC5EF:: @ 080CC5EF + .incbin "baserom.gba", 0x0CC5EF, 0x000006D + +gUnk_080CC65C:: @ 080CC65C + .incbin "baserom.gba", 0x0CC65C, 0x0000021 + +gUnk_080CC67D:: @ 080CC67D + .incbin "baserom.gba", 0x0CC67D, 0x0000007 + +gUnk_080CC684:: @ 080CC684 + .incbin "baserom.gba", 0x0CC684, 0x0000018 + +gUnk_080CC69C:: @ 080CC69C + .incbin "baserom.gba", 0x0CC69C, 0x0000038 + +gUnk_080CC6D4:: @ 080CC6D4 + .incbin "baserom.gba", 0x0CC6D4, 0x0000028 + +gUnk_080CC6FC:: @ 080CC6FC + .incbin "baserom.gba", 0x0CC6FC, 0x0000018 + +gUnk_080CC714:: @ 080CC714 + .incbin "baserom.gba", 0x0CC714, 0x0000020 + +gUnk_080CC734:: @ 080CC734 + .incbin "baserom.gba", 0x0CC734, 0x0000025 + +gUnk_080CC759:: @ 080CC759 + .incbin "baserom.gba", 0x0CC759, 0x0000015 + +gUnk_080CC76E:: @ 080CC76E + .incbin "baserom.gba", 0x0CC76E, 0x0000012 + +gUnk_080CC780:: @ 080CC780 + .incbin "baserom.gba", 0x0CC780, 0x0000010 + +gUnk_080CC790:: @ 080CC790 + .incbin "baserom.gba", 0x0CC790, 0x0000018 + +gUnk_080CC7A8:: @ 080CC7A8 + .incbin "baserom.gba", 0x0CC7A8, 0x0000014 + +gUnk_080CC7BC:: @ 080CC7BC + .incbin "baserom.gba", 0x0CC7BC, 0x0000004 + +gUnk_080CC7C0:: @ 080CC7C0 + .incbin "baserom.gba", 0x0CC7C0, 0x0000010 + +gUnk_080CC7D0:: @ 080CC7D0 + .incbin "baserom.gba", 0x0CC7D0, 0x0000008 + +gUnk_080CC7D8:: @ 080CC7D8 + .incbin "baserom.gba", 0x0CC7D8, 0x0000008 + +gUnk_080CC7E0:: @ 080CC7E0 + .incbin "baserom.gba", 0x0CC7E0, 0x0000009 + +gUnk_080CC7E9:: @ 080CC7E9 + .incbin "baserom.gba", 0x0CC7E9, 0x0000009 + +gUnk_080CC7F2:: @ 080CC7F2 + .incbin "baserom.gba", 0x0CC7F2, 0x0000009 + +gUnk_080CC7FB:: @ 080CC7FB + .incbin "baserom.gba", 0x0CC7FB, 0x0000009 + +gUnk_080CC804:: @ 080CC804 + .incbin "baserom.gba", 0x0CC804, 0x0000011 + +gUnk_080CC815:: @ 080CC815 + .incbin "baserom.gba", 0x0CC815, 0x0000011 + +gUnk_080CC826:: @ 080CC826 + .incbin "baserom.gba", 0x0CC826, 0x0000011 + +gUnk_080CC837:: @ 080CC837 + .incbin "baserom.gba", 0x0CC837, 0x0000011 + +gUnk_080CC848:: @ 080CC848 + .incbin "baserom.gba", 0x0CC848, 0x0000011 + +gUnk_080CC859:: @ 080CC859 + .incbin "baserom.gba", 0x0CC859, 0x0000011 + +gUnk_080CC86A:: @ 080CC86A + .incbin "baserom.gba", 0x0CC86A, 0x0000011 + +gUnk_080CC87B:: @ 080CC87B + .incbin "baserom.gba", 0x0CC87B, 0x0000011 + +gUnk_080CC88C:: @ 080CC88C + .incbin "baserom.gba", 0x0CC88C, 0x0000015 + +gUnk_080CC8A1:: @ 080CC8A1 + .incbin "baserom.gba", 0x0CC8A1, 0x0000015 + +gUnk_080CC8B6:: @ 080CC8B6 + .incbin "baserom.gba", 0x0CC8B6, 0x0000015 + +gUnk_080CC8CB:: @ 080CC8CB + .incbin "baserom.gba", 0x0CC8CB, 0x0000015 + +gUnk_080CC8E0:: @ 080CC8E0 + .incbin "baserom.gba", 0x0CC8E0, 0x0000044 + +gUnk_080CC924:: @ 080CC924 + .incbin "baserom.gba", 0x0CC924, 0x0000008 + +gUnk_080CC92C:: @ 080CC92C + .incbin "baserom.gba", 0x0CC92C, 0x0000008 + +gUnk_080CC934:: @ 080CC934 + .incbin "baserom.gba", 0x0CC934, 0x0000008 + +gUnk_080CC93C:: @ 080CC93C + .incbin "baserom.gba", 0x0CC93C, 0x0000008 + +gUnk_080CC944:: @ 080CC944 + .incbin "baserom.gba", 0x0CC944, 0x0000010 + +gUnk_080CC954:: @ 080CC954 + .incbin "baserom.gba", 0x0CC954, 0x000006C + +gUnk_080CC9C0:: @ 080CC9C0 + .incbin "baserom.gba", 0x0CC9C0, 0x0000008 + +gUnk_080CC9C8:: @ 080CC9C8 + .incbin "baserom.gba", 0x0CC9C8, 0x0000018 + +gUnk_080CC9E0:: @ 080CC9E0 + .incbin "baserom.gba", 0x0CC9E0, 0x0000024 + +gUnk_080CCA04:: @ 080CCA04 + .incbin "baserom.gba", 0x0CCA04, 0x0000006 + +gUnk_080CCA0A:: @ 080CCA0A + .incbin "baserom.gba", 0x0CCA0A, 0x0000015 + +gUnk_080CCA1F:: @ 080CCA1F + .incbin "baserom.gba", 0x0CCA1F, 0x0000015 + +gUnk_080CCA34:: @ 080CCA34 + .incbin "baserom.gba", 0x0CCA34, 0x0000015 + +gUnk_080CCA49:: @ 080CCA49 + .incbin "baserom.gba", 0x0CCA49, 0x0000015 + +gUnk_080CCA5E:: @ 080CCA5E + .incbin "baserom.gba", 0x0CCA5E, 0x0000011 + +gUnk_080CCA6F:: @ 080CCA6F + .incbin "baserom.gba", 0x0CCA6F, 0x0000011 + +gUnk_080CCA80:: @ 080CCA80 + .incbin "baserom.gba", 0x0CCA80, 0x0000011 + +gUnk_080CCA91:: @ 080CCA91 + .incbin "baserom.gba", 0x0CCA91, 0x0000011 + +gUnk_080CCAA2:: @ 080CCAA2 + .incbin "baserom.gba", 0x0CCAA2, 0x0000005 + +gUnk_080CCAA7:: @ 080CCAA7 + .incbin "baserom.gba", 0x0CCAA7, 0x0000005 + +gUnk_080CCAAC:: @ 080CCAAC + .incbin "baserom.gba", 0x0CCAAC, 0x0000005 + +gUnk_080CCAB1:: @ 080CCAB1 + .incbin "baserom.gba", 0x0CCAB1, 0x0000005 + +gUnk_080CCAB6:: @ 080CCAB6 + .incbin "baserom.gba", 0x0CCAB6, 0x0000010 + +gUnk_080CCAC6:: @ 080CCAC6 + .incbin "baserom.gba", 0x0CCAC6, 0x0000010 + +gUnk_080CCAD6:: @ 080CCAD6 + .incbin "baserom.gba", 0x0CCAD6, 0x0000010 + +gUnk_080CCAE6:: @ 080CCAE6 + .incbin "baserom.gba", 0x0CCAE6, 0x0000010 + +gUnk_080CCAF6:: @ 080CCAF6 + .incbin "baserom.gba", 0x0CCAF6, 0x0000011 + +gUnk_080CCB07:: @ 080CCB07 + .incbin "baserom.gba", 0x0CCB07, 0x0000011 + +gUnk_080CCB18:: @ 080CCB18 + .incbin "baserom.gba", 0x0CCB18, 0x0000011 + +gUnk_080CCB29:: @ 080CCB29 + .incbin "baserom.gba", 0x0CCB29, 0x0000011 + +gUnk_080CCB3A:: @ 080CCB3A + .incbin "baserom.gba", 0x0CCB3A, 0x000000D + +gUnk_080CCB47:: @ 080CCB47 + .incbin "baserom.gba", 0x0CCB47, 0x000000D + +gUnk_080CCB54:: @ 080CCB54 + .incbin "baserom.gba", 0x0CCB54, 0x000000D + +gUnk_080CCB61:: @ 080CCB61 + .incbin "baserom.gba", 0x0CCB61, 0x000000D + +gUnk_080CCB6E:: @ 080CCB6E + .incbin "baserom.gba", 0x0CCB6E, 0x0000011 + +gUnk_080CCB7F:: @ 080CCB7F + .incbin "baserom.gba", 0x0CCB7F, 0x0000015 + +gUnk_080CCB94:: @ 080CCB94 + .incbin "baserom.gba", 0x0CCB94, 0x000006C + +gUnk_080CCC00:: @ 080CCC00 + .incbin "baserom.gba", 0x0CCC00, 0x0000018 + +gUnk_080CCC18:: @ 080CCC18 + .incbin "baserom.gba", 0x0CCC18, 0x000001C + +gUnk_080CCC34:: @ 080CCC34 + .incbin "baserom.gba", 0x0CCC34, 0x0000008 + +gUnk_080CCC3C:: @ 080CCC3C + .incbin "baserom.gba", 0x0CCC3C, 0x0000008 + +gUnk_080CCC44:: @ 080CCC44 + .incbin "baserom.gba", 0x0CCC44, 0x0000003 + +gUnk_080CCC47:: @ 080CCC47 + .incbin "baserom.gba", 0x0CCC47, 0x0000003 + +gUnk_080CCC4A:: @ 080CCC4A + .incbin "baserom.gba", 0x0CCC4A, 0x0000015 + +gUnk_080CCC5F:: @ 080CCC5F + .incbin "baserom.gba", 0x0CCC5F, 0x0000015 + +gUnk_080CCC74:: @ 080CCC74 + .incbin "baserom.gba", 0x0CCC74, 0x0000028 + +gUnk_080CCC9C:: @ 080CCC9C + .incbin "baserom.gba", 0x0CCC9C, 0x0000018 + +gUnk_080CCCB4:: @ 080CCCB4 + .incbin "baserom.gba", 0x0CCCB4, 0x0000015 + +gUnk_080CCCC9:: @ 080CCCC9 + .incbin "baserom.gba", 0x0CCCC9, 0x0000015 + +gUnk_080CCCDE:: @ 080CCCDE + .incbin "baserom.gba", 0x0CCCDE, 0x0000028 + +gUnk_080CCD06:: @ 080CCD06 + .incbin "baserom.gba", 0x0CCD06, 0x000001A + +gUnk_080CCD20:: @ 080CCD20 + .incbin "baserom.gba", 0x0CCD20, 0x0000024 + +gUnk_080CCD44:: @ 080CCD44 + .incbin "baserom.gba", 0x0CCD44, 0x000001C + +gUnk_080CCD60:: @ 080CCD60 + .incbin "baserom.gba", 0x0CCD60, 0x0000018 + +gUnk_080CCD78:: @ 080CCD78 + .incbin "baserom.gba", 0x0CCD78, 0x0000010 + +gUnk_080CCD88:: @ 080CCD88 + .incbin "baserom.gba", 0x0CCD88, 0x0000018 + +gUnk_080CCDA0:: @ 080CCDA0 + .incbin "baserom.gba", 0x0CCDA0, 0x0000008 + +gUnk_080CCDA8:: @ 080CCDA8 + .incbin "baserom.gba", 0x0CCDA8, 0x0000020 + +gUnk_080CCDC8:: @ 080CCDC8 + .incbin "baserom.gba", 0x0CCDC8, 0x000000C + +gUnk_080CCDD4:: @ 080CCDD4 + .incbin "baserom.gba", 0x0CCDD4, 0x0000008 + +gUnk_080CCDDC:: @ 080CCDDC + .incbin "baserom.gba", 0x0CCDDC, 0x0000011 + +gUnk_080CCDED:: @ 080CCDED + .incbin "baserom.gba", 0x0CCDED, 0x0000011 + +gUnk_080CCDFE:: @ 080CCDFE + .incbin "baserom.gba", 0x0CCDFE, 0x0000011 + +gUnk_080CCE0F:: @ 080CCE0F + .incbin "baserom.gba", 0x0CCE0F, 0x0000011 + +gUnk_080CCE20:: @ 080CCE20 + .incbin "baserom.gba", 0x0CCE20, 0x0000011 + +gUnk_080CCE31:: @ 080CCE31 + .incbin "baserom.gba", 0x0CCE31, 0x0000011 + +gUnk_080CCE42:: @ 080CCE42 + .incbin "baserom.gba", 0x0CCE42, 0x0000011 + +gUnk_080CCE53:: @ 080CCE53 + .incbin "baserom.gba", 0x0CCE53, 0x0000011 + +gUnk_080CCE64:: @ 080CCE64 + .incbin "baserom.gba", 0x0CCE64, 0x0000024 + +gUnk_080CCE88:: @ 080CCE88 + .incbin "baserom.gba", 0x0CCE88, 0x0000011 + +gUnk_080CCE99:: @ 080CCE99 + .incbin "baserom.gba", 0x0CCE99, 0x0000011 + +gUnk_080CCEAA:: @ 080CCEAA + .incbin "baserom.gba", 0x0CCEAA, 0x0000011 + +gUnk_080CCEBB:: @ 080CCEBB + .incbin "baserom.gba", 0x0CCEBB, 0x0000011 + +gUnk_080CCECC:: @ 080CCECC + .incbin "baserom.gba", 0x0CCECC, 0x0000011 + +gUnk_080CCEDD:: @ 080CCEDD + .incbin "baserom.gba", 0x0CCEDD, 0x0000011 + +gUnk_080CCEEE:: @ 080CCEEE + .incbin "baserom.gba", 0x0CCEEE, 0x0000011 + +gUnk_080CCEFF:: @ 080CCEFF + .incbin "baserom.gba", 0x0CCEFF, 0x0000011 + +gUnk_080CCF10:: @ 080CCF10 + .incbin "baserom.gba", 0x0CCF10, 0x0000005 + +gUnk_080CCF15:: @ 080CCF15 + .incbin "baserom.gba", 0x0CCF15, 0x0000005 + +gUnk_080CCF1A:: @ 080CCF1A + .incbin "baserom.gba", 0x0CCF1A, 0x0000005 + +gUnk_080CCF1F:: @ 080CCF1F + .incbin "baserom.gba", 0x0CCF1F, 0x0000005 + +gUnk_080CCF24:: @ 080CCF24 + .incbin "baserom.gba", 0x0CCF24, 0x000001D + +gUnk_080CCF41:: @ 080CCF41 + .incbin "baserom.gba", 0x0CCF41, 0x000001D + +gUnk_080CCF5E:: @ 080CCF5E + .incbin "baserom.gba", 0x0CCF5E, 0x000001D + +gUnk_080CCF7B:: @ 080CCF7B + .incbin "baserom.gba", 0x0CCF7B, 0x000001D + +gUnk_080CCF98:: @ 080CCF98 + .incbin "baserom.gba", 0x0CCF98, 0x0000011 + +gUnk_080CCFA9:: @ 080CCFA9 + .incbin "baserom.gba", 0x0CCFA9, 0x0000011 + +gUnk_080CCFBA:: @ 080CCFBA + .incbin "baserom.gba", 0x0CCFBA, 0x0000011 + +gUnk_080CCFCB:: @ 080CCFCB + .incbin "baserom.gba", 0x0CCFCB, 0x0000011 + +gUnk_080CCFDC:: @ 080CCFDC + .incbin "baserom.gba", 0x0CCFDC, 0x0000054 + +gUnk_080CD030:: @ 080CD030 + .incbin "baserom.gba", 0x0CD030, 0x000000C + +gUnk_080CD03C:: @ 080CD03C + .incbin "baserom.gba", 0x0CD03C, 0x0000004 + +gUnk_080CD040:: @ 080CD040 + .incbin "baserom.gba", 0x0CD040, 0x0000004 + +gUnk_080CD044:: @ 080CD044 + .incbin "baserom.gba", 0x0CD044, 0x0000025 + +gUnk_080CD069:: @ 080CD069 + .incbin "baserom.gba", 0x0CD069, 0x0000007 + +gUnk_080CD070:: @ 080CD070 + .incbin "baserom.gba", 0x0CD070, 0x000000C + +gUnk_080CD07C:: @ 080CD07C + .incbin "baserom.gba", 0x0CD07C, 0x0000018 + +gUnk_080CD094:: @ 080CD094 + .incbin "baserom.gba", 0x0CD094, 0x000001C + +gUnk_080CD0B0:: @ 080CD0B0 + .incbin "baserom.gba", 0x0CD0B0, 0x0000008 + +gUnk_080CD0B8:: @ 080CD0B8 + .incbin "baserom.gba", 0x0CD0B8, 0x000000D + +gUnk_080CD0C5:: @ 080CD0C5 + .incbin "baserom.gba", 0x0CD0C5, 0x0000015 + +gUnk_080CD0DA:: @ 080CD0DA + .incbin "baserom.gba", 0x0CD0DA, 0x0000006 + +gUnk_080CD0E0:: @ 080CD0E0 + .incbin "baserom.gba", 0x0CD0E0, 0x0000010 + +gUnk_080CD0F0:: @ 080CD0F0 + .incbin "baserom.gba", 0x0CD0F0, 0x0000018 + +gUnk_080CD108:: @ 080CD108 + .incbin "baserom.gba", 0x0CD108, 0x0000018 + +gUnk_080CD120:: @ 080CD120 + .incbin "baserom.gba", 0x0CD120, 0x0000014 + +gUnk_080CD134:: @ 080CD134 + .incbin "baserom.gba", 0x0CD134, 0x000000C + +gUnk_080CD140:: @ 080CD140 + .incbin "baserom.gba", 0x0CD140, 0x0000018 + +gUnk_080CD158:: @ 080CD158 + .incbin "baserom.gba", 0x0CD158, 0x0000014 + +gUnk_080CD16C:: @ 080CD16C + .incbin "baserom.gba", 0x0CD16C, 0x0000008 + +gUnk_080CD174:: @ 080CD174 + .incbin "baserom.gba", 0x0CD174, 0x0000008 + +gUnk_080CD17C:: @ 080CD17C + .incbin "baserom.gba", 0x0CD17C, 0x0000008 + +gUnk_080CD184:: @ 080CD184 + .incbin "baserom.gba", 0x0CD184, 0x0000011 + +gUnk_080CD195:: @ 080CD195 + .incbin "baserom.gba", 0x0CD195, 0x0000041 + +gUnk_080CD1D6:: @ 080CD1D6 + .incbin "baserom.gba", 0x0CD1D6, 0x0000041 + +gUnk_080CD217:: @ 080CD217 + .incbin "baserom.gba", 0x0CD217, 0x0000009 + +gUnk_080CD220:: @ 080CD220 + .incbin "baserom.gba", 0x0CD220, 0x0000014 + +gUnk_080CD234:: @ 080CD234 + .incbin "baserom.gba", 0x0CD234, 0x0000018 + +gUnk_080CD24C:: @ 080CD24C + .incbin "baserom.gba", 0x0CD24C, 0x000000C + +gUnk_080CD258:: @ 080CD258 + .incbin "baserom.gba", 0x0CD258, 0x000001C + +gUnk_080CD274:: @ 080CD274 + .incbin "baserom.gba", 0x0CD274, 0x0000008 + +gUnk_080CD27C:: @ 080CD27C + .incbin "baserom.gba", 0x0CD27C, 0x000001C + +gUnk_080CD298:: @ 080CD298 + .incbin "baserom.gba", 0x0CD298, 0x0000010 + +gUnk_080CD2A8:: @ 080CD2A8 + .incbin "baserom.gba", 0x0CD2A8, 0x0000004 + +gUnk_080CD2AC:: @ 080CD2AC + .incbin "baserom.gba", 0x0CD2AC, 0x0000011 + +gUnk_080CD2BD:: @ 080CD2BD + .incbin "baserom.gba", 0x0CD2BD, 0x000000B + +gUnk_080CD2C8:: @ 080CD2C8 + .incbin "baserom.gba", 0x0CD2C8, 0x0000010 + +gUnk_080CD2D8:: @ 080CD2D8 + .incbin "baserom.gba", 0x0CD2D8, 0x0000018 + +gUnk_080CD2F0:: @ 080CD2F0 + .incbin "baserom.gba", 0x0CD2F0, 0x0000024 + +gUnk_080CD314:: @ 080CD314 + .incbin "baserom.gba", 0x0CD314, 0x0000004 + +gUnk_080CD318:: @ 080CD318 + .incbin "baserom.gba", 0x0CD318, 0x0000004 + +gUnk_080CD31C:: @ 080CD31C + .incbin "baserom.gba", 0x0CD31C, 0x0000011 + +gUnk_080CD32D:: @ 080CD32D + .incbin "baserom.gba", 0x0CD32D, 0x0000011 + +gUnk_080CD33E:: @ 080CD33E + .incbin "baserom.gba", 0x0CD33E, 0x0000011 + +gUnk_080CD34F:: @ 080CD34F + .incbin "baserom.gba", 0x0CD34F, 0x0000011 + +gUnk_080CD360:: @ 080CD360 + .incbin "baserom.gba", 0x0CD360, 0x0000008 + +gUnk_080CD368:: @ 080CD368 + .incbin "baserom.gba", 0x0CD368, 0x0000008 + +gUnk_080CD370:: @ 080CD370 + .incbin "baserom.gba", 0x0CD370, 0x0000008 + +gUnk_080CD378:: @ 080CD378 + .incbin "baserom.gba", 0x0CD378, 0x0000008 + +gUnk_080CD380:: @ 080CD380 + .incbin "baserom.gba", 0x0CD380, 0x0000011 + +gUnk_080CD391:: @ 080CD391 + .incbin "baserom.gba", 0x0CD391, 0x0000007 + +gUnk_080CD398:: @ 080CD398 + .incbin "baserom.gba", 0x0CD398, 0x000002C + +gUnk_080CD3C4:: @ 080CD3C4 + .incbin "baserom.gba", 0x0CD3C4, 0x0000010 + +gUnk_080CD3D4:: @ 080CD3D4 + .incbin "baserom.gba", 0x0CD3D4, 0x0000008 + +gUnk_080CD3DC:: @ 080CD3DC + .incbin "baserom.gba", 0x0CD3DC, 0x0000008 + +gUnk_080CD3E4:: @ 080CD3E4 + .incbin "baserom.gba", 0x0CD3E4, 0x0000018 + +gUnk_080CD3FC:: @ 080CD3FC + .incbin "baserom.gba", 0x0CD3FC, 0x000000C + +gUnk_080CD408:: @ 080CD408 + .incbin "baserom.gba", 0x0CD408, 0x0000024 + +gUnk_080CD42C:: @ 080CD42C + .incbin "baserom.gba", 0x0CD42C, 0x000000C + +gUnk_080CD438:: @ 080CD438 + .incbin "baserom.gba", 0x0CD438, 0x0000018 + +gUnk_080CD450:: @ 080CD450 + .incbin "baserom.gba", 0x0CD450, 0x000000C + +gUnk_080CD45C:: @ 080CD45C + .incbin "baserom.gba", 0x0CD45C, 0x0000008 + +gUnk_080CD464:: @ 080CD464 + .incbin "baserom.gba", 0x0CD464, 0x0000010 + +gUnk_080CD474:: @ 080CD474 + .incbin "baserom.gba", 0x0CD474, 0x0000011 + +gUnk_080CD485:: @ 080CD485 + .incbin "baserom.gba", 0x0CD485, 0x0000011 + +gUnk_080CD496:: @ 080CD496 + .incbin "baserom.gba", 0x0CD496, 0x0000011 + +gUnk_080CD4A7:: @ 080CD4A7 + .incbin "baserom.gba", 0x0CD4A7, 0x0000011 + +gUnk_080CD4B8:: @ 080CD4B8 + .incbin "baserom.gba", 0x0CD4B8, 0x0000011 + +gUnk_080CD4C9:: @ 080CD4C9 + .incbin "baserom.gba", 0x0CD4C9, 0x0000011 + +gUnk_080CD4DA:: @ 080CD4DA + .incbin "baserom.gba", 0x0CD4DA, 0x0000011 + +gUnk_080CD4EB:: @ 080CD4EB + .incbin "baserom.gba", 0x0CD4EB, 0x0000011 + +gUnk_080CD4FC:: @ 080CD4FC + .incbin "baserom.gba", 0x0CD4FC, 0x0000004 + +gUnk_080CD500:: @ 080CD500 + .incbin "baserom.gba", 0x0CD500, 0x0000004 + +gUnk_080CD504:: @ 080CD504 + .incbin "baserom.gba", 0x0CD504, 0x0000004 + +gUnk_080CD508:: @ 080CD508 + .incbin "baserom.gba", 0x0CD508, 0x0000004 + +gUnk_080CD50C:: @ 080CD50C + .incbin "baserom.gba", 0x0CD50C, 0x0000034 + +gUnk_080CD540:: @ 080CD540 + .incbin "baserom.gba", 0x0CD540, 0x0000018 + +gUnk_080CD558:: @ 080CD558 + .incbin "baserom.gba", 0x0CD558, 0x0000010 + +gUnk_080CD568:: @ 080CD568 + .incbin "baserom.gba", 0x0CD568, 0x0000018 + +gUnk_080CD580:: @ 080CD580 + .incbin "baserom.gba", 0x0CD580, 0x000000C + +gUnk_080CD58C:: @ 080CD58C + .incbin "baserom.gba", 0x0CD58C, 0x0000018 + +gUnk_080CD5A4:: @ 080CD5A4 + .incbin "baserom.gba", 0x0CD5A4, 0x0000011 + +gUnk_080CD5B5:: @ 080CD5B5 + .incbin "baserom.gba", 0x0CD5B5, 0x0000013 + +gUnk_080CD5C8:: @ 080CD5C8 + .incbin "baserom.gba", 0x0CD5C8, 0x000000C + +gUnk_080CD5D4:: @ 080CD5D4 + .incbin "baserom.gba", 0x0CD5D4, 0x0000018 + +gUnk_080CD5EC:: @ 080CD5EC + .incbin "baserom.gba", 0x0CD5EC, 0x0000014 + +gUnk_080CD600:: @ 080CD600 + .incbin "baserom.gba", 0x0CD600, 0x0000018 + +gUnk_080CD618:: @ 080CD618 + .incbin "baserom.gba", 0x0CD618, 0x0000010 + +gUnk_080CD628:: @ 080CD628 + .incbin "baserom.gba", 0x0CD628, 0x0000011 + +gUnk_080CD639:: @ 080CD639 + .incbin "baserom.gba", 0x0CD639, 0x0000011 + +gUnk_080CD64A:: @ 080CD64A + .incbin "baserom.gba", 0x0CD64A, 0x0000011 + +gUnk_080CD65B:: @ 080CD65B + .incbin "baserom.gba", 0x0CD65B, 0x0000011 + +gUnk_080CD66C:: @ 080CD66C + .incbin "baserom.gba", 0x0CD66C, 0x0000005 + +gUnk_080CD671:: @ 080CD671 + .incbin "baserom.gba", 0x0CD671, 0x0000005 + +gUnk_080CD676:: @ 080CD676 + .incbin "baserom.gba", 0x0CD676, 0x0000009 + +gUnk_080CD67F:: @ 080CD67F + .incbin "baserom.gba", 0x0CD67F, 0x0000009 + +gUnk_080CD688:: @ 080CD688 + .incbin "baserom.gba", 0x0CD688, 0x0000024 + +gUnk_080CD6AC:: @ 080CD6AC + .incbin "baserom.gba", 0x0CD6AC, 0x0000024 + +gUnk_080CD6D0:: @ 080CD6D0 + .incbin "baserom.gba", 0x0CD6D0, 0x000002C + +gUnk_080CD6FC:: @ 080CD6FC + .incbin "baserom.gba", 0x0CD6FC, 0x0000018 + +gUnk_080CD714:: @ 080CD714 + .incbin "baserom.gba", 0x0CD714, 0x0000014 + +gUnk_080CD728:: @ 080CD728 + .incbin "baserom.gba", 0x0CD728, 0x0000008 + +gUnk_080CD730:: @ 080CD730 + .incbin "baserom.gba", 0x0CD730, 0x0000010 + +gUnk_080CD740:: @ 080CD740 + .incbin "baserom.gba", 0x0CD740, 0x0000008 + +gUnk_080CD748:: @ 080CD748 + .incbin "baserom.gba", 0x0CD748, 0x0000014 + +gUnk_080CD75C:: @ 080CD75C + .incbin "baserom.gba", 0x0CD75C, 0x0000018 + +gUnk_080CD774:: @ 080CD774 + .incbin "baserom.gba", 0x0CD774, 0x0000044 + +gUnk_080CD7B8:: @ 080CD7B8 + .incbin "baserom.gba", 0x0CD7B8, 0x000000C + +gUnk_080CD7C4:: @ 080CD7C4 + .incbin "baserom.gba", 0x0CD7C4, 0x0000020 + +gUnk_080CD7E4:: @ 080CD7E4 + .incbin "baserom.gba", 0x0CD7E4, 0x0000014 + +gUnk_080CD7F8:: @ 080CD7F8 + .incbin "baserom.gba", 0x0CD7F8, 0x0000018 + +gUnk_080CD810:: @ 080CD810 + .incbin "baserom.gba", 0x0CD810, 0x0000018 + +gUnk_080CD828:: @ 080CD828 + .incbin "baserom.gba", 0x0CD828, 0x0000018 + +gUnk_080CD840:: @ 080CD840 + .incbin "baserom.gba", 0x0CD840, 0x0000004 + +gUnk_080CD844:: @ 080CD844 + .incbin "baserom.gba", 0x0CD844, 0x0000004 + +gUnk_080CD848:: @ 080CD848 + .incbin "baserom.gba", 0x0CD848, 0x0000008 + +gUnk_080CD850:: @ 080CD850 + .incbin "baserom.gba", 0x0CD850, 0x0000004 + +gUnk_080CD854:: @ 080CD854 + .incbin "baserom.gba", 0x0CD854, 0x0000004 + +gUnk_080CD858:: @ 080CD858 + .incbin "baserom.gba", 0x0CD858, 0x0000003 + +gUnk_080CD85B:: @ 080CD85B + .incbin "baserom.gba", 0x0CD85B, 0x0000003 + +gUnk_080CD85E:: @ 080CD85E + .incbin "baserom.gba", 0x0CD85E, 0x0000003 + +gUnk_080CD861:: @ 080CD861 + .incbin "baserom.gba", 0x0CD861, 0x0000003 + +gUnk_080CD864:: @ 080CD864 + .incbin "baserom.gba", 0x0CD864, 0x0000003 + +gUnk_080CD867:: @ 080CD867 + .incbin "baserom.gba", 0x0CD867, 0x0000005 + +gUnk_080CD86C:: @ 080CD86C + .incbin "baserom.gba", 0x0CD86C, 0x000000C + +gUnk_080CD878:: @ 080CD878 + .incbin "baserom.gba", 0x0CD878, 0x000000C + +gUnk_080CD884:: @ 080CD884 + .incbin "baserom.gba", 0x0CD884, 0x000001F + +gUnk_080CD8A3:: @ 080CD8A3 + .incbin "baserom.gba", 0x0CD8A3, 0x0000004 + +gUnk_080CD8A7:: @ 080CD8A7 + .incbin "baserom.gba", 0x0CD8A7, 0x0000004 + +gUnk_080CD8AB:: @ 080CD8AB + .incbin "baserom.gba", 0x0CD8AB, 0x0000004 + +gUnk_080CD8AF:: @ 080CD8AF + .incbin "baserom.gba", 0x0CD8AF, 0x0000004 + +gUnk_080CD8B3:: @ 080CD8B3 + .incbin "baserom.gba", 0x0CD8B3, 0x0000004 + +gUnk_080CD8B7:: @ 080CD8B7 + .incbin "baserom.gba", 0x0CD8B7, 0x0000004 + +gUnk_080CD8BB:: @ 080CD8BB + .incbin "baserom.gba", 0x0CD8BB, 0x0000004 + +gUnk_080CD8BF:: @ 080CD8BF + .incbin "baserom.gba", 0x0CD8BF, 0x0000004 + +gUnk_080CD8C3:: @ 080CD8C3 + .incbin "baserom.gba", 0x0CD8C3, 0x0000004 + +gUnk_080CD8C7:: @ 080CD8C7 + .incbin "baserom.gba", 0x0CD8C7, 0x0000004 + +gUnk_080CD8CB:: @ 080CD8CB + .incbin "baserom.gba", 0x0CD8CB, 0x0000004 + +gUnk_080CD8CF:: @ 080CD8CF + .incbin "baserom.gba", 0x0CD8CF, 0x0000004 + +gUnk_080CD8D3:: @ 080CD8D3 + .incbin "baserom.gba", 0x0CD8D3, 0x0000004 + +gUnk_080CD8D7:: @ 080CD8D7 + .incbin "baserom.gba", 0x0CD8D7, 0x0000004 + +gUnk_080CD8DB:: @ 080CD8DB + .incbin "baserom.gba", 0x0CD8DB, 0x0000004 + +gUnk_080CD8DF:: @ 080CD8DF + .incbin "baserom.gba", 0x0CD8DF, 0x0000004 + +gUnk_080CD8E3:: @ 080CD8E3 + .incbin "baserom.gba", 0x0CD8E3, 0x0000004 + +gUnk_080CD8E7:: @ 080CD8E7 + .incbin "baserom.gba", 0x0CD8E7, 0x0000004 + +gUnk_080CD8EB:: @ 080CD8EB + .incbin "baserom.gba", 0x0CD8EB, 0x0000004 + +gUnk_080CD8EF:: @ 080CD8EF + .incbin "baserom.gba", 0x0CD8EF, 0x0000004 + +gUnk_080CD8F3:: @ 080CD8F3 + .incbin "baserom.gba", 0x0CD8F3, 0x0000004 + +gUnk_080CD8F7:: @ 080CD8F7 + .incbin "baserom.gba", 0x0CD8F7, 0x0000004 + +gUnk_080CD8FB:: @ 080CD8FB + .incbin "baserom.gba", 0x0CD8FB, 0x0000004 + +gUnk_080CD8FF:: @ 080CD8FF + .incbin "baserom.gba", 0x0CD8FF, 0x0000004 + +gUnk_080CD903:: @ 080CD903 + .incbin "baserom.gba", 0x0CD903, 0x0000004 + +gUnk_080CD907:: @ 080CD907 + .incbin "baserom.gba", 0x0CD907, 0x0000004 + +gUnk_080CD90B:: @ 080CD90B + .incbin "baserom.gba", 0x0CD90B, 0x0000004 + +gUnk_080CD90F:: @ 080CD90F + .incbin "baserom.gba", 0x0CD90F, 0x0000004 + +gUnk_080CD913:: @ 080CD913 + .incbin "baserom.gba", 0x0CD913, 0x0000004 + +gUnk_080CD917:: @ 080CD917 + .incbin "baserom.gba", 0x0CD917, 0x0000004 + +gUnk_080CD91B:: @ 080CD91B + .incbin "baserom.gba", 0x0CD91B, 0x0000004 + +gUnk_080CD91F:: @ 080CD91F + .incbin "baserom.gba", 0x0CD91F, 0x0000004 + +gUnk_080CD923:: @ 080CD923 + .incbin "baserom.gba", 0x0CD923, 0x0000004 + +gUnk_080CD927:: @ 080CD927 + .incbin "baserom.gba", 0x0CD927, 0x0000004 + +gUnk_080CD92B:: @ 080CD92B + .incbin "baserom.gba", 0x0CD92B, 0x0000004 + +gUnk_080CD92F:: @ 080CD92F + .incbin "baserom.gba", 0x0CD92F, 0x0000004 + +gUnk_080CD933:: @ 080CD933 + .incbin "baserom.gba", 0x0CD933, 0x0000004 + +gUnk_080CD937:: @ 080CD937 + .incbin "baserom.gba", 0x0CD937, 0x0000004 + +gUnk_080CD93B:: @ 080CD93B + .incbin "baserom.gba", 0x0CD93B, 0x0000004 + +gUnk_080CD93F:: @ 080CD93F + .incbin "baserom.gba", 0x0CD93F, 0x0000004 + +gUnk_080CD943:: @ 080CD943 + .incbin "baserom.gba", 0x0CD943, 0x0000004 + +gUnk_080CD947:: @ 080CD947 + .incbin "baserom.gba", 0x0CD947, 0x0000004 + +gUnk_080CD94B:: @ 080CD94B + .incbin "baserom.gba", 0x0CD94B, 0x0000004 + +gUnk_080CD94F:: @ 080CD94F + .incbin "baserom.gba", 0x0CD94F, 0x0000004 + +gUnk_080CD953:: @ 080CD953 + .incbin "baserom.gba", 0x0CD953, 0x0000004 + +gUnk_080CD957:: @ 080CD957 + .incbin "baserom.gba", 0x0CD957, 0x0000004 + +gUnk_080CD95B:: @ 080CD95B + .incbin "baserom.gba", 0x0CD95B, 0x0000004 + +gUnk_080CD95F:: @ 080CD95F + .incbin "baserom.gba", 0x0CD95F, 0x0000004 + +gUnk_080CD963:: @ 080CD963 + .incbin "baserom.gba", 0x0CD963, 0x0000004 + +gUnk_080CD967:: @ 080CD967 + .incbin "baserom.gba", 0x0CD967, 0x0000004 + +gUnk_080CD96B:: @ 080CD96B + .incbin "baserom.gba", 0x0CD96B, 0x0000004 + +gUnk_080CD96F:: @ 080CD96F + .incbin "baserom.gba", 0x0CD96F, 0x0000004 + +gUnk_080CD973:: @ 080CD973 + .incbin "baserom.gba", 0x0CD973, 0x0000004 + +gUnk_080CD977:: @ 080CD977 + .incbin "baserom.gba", 0x0CD977, 0x0000004 + +gUnk_080CD97B:: @ 080CD97B + .incbin "baserom.gba", 0x0CD97B, 0x0000004 + +gUnk_080CD97F:: @ 080CD97F + .incbin "baserom.gba", 0x0CD97F, 0x0000004 + +gUnk_080CD983:: @ 080CD983 + .incbin "baserom.gba", 0x0CD983, 0x0000004 + +gUnk_080CD987:: @ 080CD987 + .incbin "baserom.gba", 0x0CD987, 0x0000004 + +gUnk_080CD98B:: @ 080CD98B + .incbin "baserom.gba", 0x0CD98B, 0x0000004 + +gUnk_080CD98F:: @ 080CD98F + .incbin "baserom.gba", 0x0CD98F, 0x0000004 + +gUnk_080CD993:: @ 080CD993 + .incbin "baserom.gba", 0x0CD993, 0x0000004 + +gUnk_080CD997:: @ 080CD997 + .incbin "baserom.gba", 0x0CD997, 0x0000004 + +gUnk_080CD99B:: @ 080CD99B + .incbin "baserom.gba", 0x0CD99B, 0x0000004 + +gUnk_080CD99F:: @ 080CD99F + .incbin "baserom.gba", 0x0CD99F, 0x0000004 + +gUnk_080CD9A3:: @ 080CD9A3 + .incbin "baserom.gba", 0x0CD9A3, 0x0000004 + +gUnk_080CD9A7:: @ 080CD9A7 + .incbin "baserom.gba", 0x0CD9A7, 0x0000004 + +gUnk_080CD9AB:: @ 080CD9AB + .incbin "baserom.gba", 0x0CD9AB, 0x0000004 + +gUnk_080CD9AF:: @ 080CD9AF + .incbin "baserom.gba", 0x0CD9AF, 0x0000004 + +gUnk_080CD9B3:: @ 080CD9B3 + .incbin "baserom.gba", 0x0CD9B3, 0x0000004 + +gUnk_080CD9B7:: @ 080CD9B7 + .incbin "baserom.gba", 0x0CD9B7, 0x0000004 + +gUnk_080CD9BB:: @ 080CD9BB + .incbin "baserom.gba", 0x0CD9BB, 0x0000004 + +gUnk_080CD9BF:: @ 080CD9BF + .incbin "baserom.gba", 0x0CD9BF, 0x0000004 + +gUnk_080CD9C3:: @ 080CD9C3 + .incbin "baserom.gba", 0x0CD9C3, 0x0000004 + +gUnk_080CD9C7:: @ 080CD9C7 + .incbin "baserom.gba", 0x0CD9C7, 0x0000004 + +gUnk_080CD9CB:: @ 080CD9CB + .incbin "baserom.gba", 0x0CD9CB, 0x0000004 + +gUnk_080CD9CF:: @ 080CD9CF + .incbin "baserom.gba", 0x0CD9CF, 0x0000010 + +gUnk_080CD9DF:: @ 080CD9DF + .incbin "baserom.gba", 0x0CD9DF, 0x000001C + +gUnk_080CD9FB:: @ 080CD9FB + .incbin "baserom.gba", 0x0CD9FB, 0x0000004 + +gUnk_080CD9FF:: @ 080CD9FF + .incbin "baserom.gba", 0x0CD9FF, 0x0000004 + +gUnk_080CDA03:: @ 080CDA03 + .incbin "baserom.gba", 0x0CDA03, 0x0000004 + +gUnk_080CDA07:: @ 080CDA07 + .incbin "baserom.gba", 0x0CDA07, 0x0000004 + +gUnk_080CDA0B:: @ 080CDA0B + .incbin "baserom.gba", 0x0CDA0B, 0x0000004 + +gUnk_080CDA0F:: @ 080CDA0F + .incbin "baserom.gba", 0x0CDA0F, 0x0000004 + +gUnk_080CDA13:: @ 080CDA13 + .incbin "baserom.gba", 0x0CDA13, 0x0000004 + +gUnk_080CDA17:: @ 080CDA17 + .incbin "baserom.gba", 0x0CDA17, 0x0000004 + +gUnk_080CDA1B:: @ 080CDA1B + .incbin "baserom.gba", 0x0CDA1B, 0x0000004 + +gUnk_080CDA1F:: @ 080CDA1F + .incbin "baserom.gba", 0x0CDA1F, 0x0000004 + +gUnk_080CDA23:: @ 080CDA23 + .incbin "baserom.gba", 0x0CDA23, 0x0000004 + +gUnk_080CDA27:: @ 080CDA27 + .incbin "baserom.gba", 0x0CDA27, 0x0000004 + +gUnk_080CDA2B:: @ 080CDA2B + .incbin "baserom.gba", 0x0CDA2B, 0x0000004 + +gUnk_080CDA2F:: @ 080CDA2F + .incbin "baserom.gba", 0x0CDA2F, 0x0000004 + +gUnk_080CDA33:: @ 080CDA33 + .incbin "baserom.gba", 0x0CDA33, 0x0000004 + +gUnk_080CDA37:: @ 080CDA37 + .incbin "baserom.gba", 0x0CDA37, 0x0000004 + +gUnk_080CDA3B:: @ 080CDA3B + .incbin "baserom.gba", 0x0CDA3B, 0x0000004 + +gUnk_080CDA3F:: @ 080CDA3F + .incbin "baserom.gba", 0x0CDA3F, 0x0000004 + +gUnk_080CDA43:: @ 080CDA43 + .incbin "baserom.gba", 0x0CDA43, 0x0000004 + +gUnk_080CDA47:: @ 080CDA47 + .incbin "baserom.gba", 0x0CDA47, 0x0000004 + +gUnk_080CDA4B:: @ 080CDA4B + .incbin "baserom.gba", 0x0CDA4B, 0x0000004 + +gUnk_080CDA4F:: @ 080CDA4F + .incbin "baserom.gba", 0x0CDA4F, 0x0000004 + +gUnk_080CDA53:: @ 080CDA53 + .incbin "baserom.gba", 0x0CDA53, 0x0000004 + +gUnk_080CDA57:: @ 080CDA57 + .incbin "baserom.gba", 0x0CDA57, 0x0000004 + +gUnk_080CDA5B:: @ 080CDA5B + .incbin "baserom.gba", 0x0CDA5B, 0x0000004 + +gUnk_080CDA5F:: @ 080CDA5F + .incbin "baserom.gba", 0x0CDA5F, 0x0000004 + +gUnk_080CDA63:: @ 080CDA63 + .incbin "baserom.gba", 0x0CDA63, 0x0000004 + +gUnk_080CDA67:: @ 080CDA67 + .incbin "baserom.gba", 0x0CDA67, 0x0000004 + +gUnk_080CDA6B:: @ 080CDA6B + .incbin "baserom.gba", 0x0CDA6B, 0x0000004 + +gUnk_080CDA6F:: @ 080CDA6F + .incbin "baserom.gba", 0x0CDA6F, 0x0000004 + +gUnk_080CDA73:: @ 080CDA73 + .incbin "baserom.gba", 0x0CDA73, 0x0000004 + +gUnk_080CDA77:: @ 080CDA77 + .incbin "baserom.gba", 0x0CDA77, 0x0000004 + +gUnk_080CDA7B:: @ 080CDA7B + .incbin "baserom.gba", 0x0CDA7B, 0x0000004 + +gUnk_080CDA7F:: @ 080CDA7F + .incbin "baserom.gba", 0x0CDA7F, 0x0000004 + +gUnk_080CDA83:: @ 080CDA83 + .incbin "baserom.gba", 0x0CDA83, 0x0000004 + +gUnk_080CDA87:: @ 080CDA87 + .incbin "baserom.gba", 0x0CDA87, 0x0000004 + +gUnk_080CDA8B:: @ 080CDA8B + .incbin "baserom.gba", 0x0CDA8B, 0x0000005 + +gUnk_080CDA90:: @ 080CDA90 + .incbin "baserom.gba", 0x0CDA90, 0x0000005 + +gUnk_080CDA95:: @ 080CDA95 + .incbin "baserom.gba", 0x0CDA95, 0x0000005 + +gUnk_080CDA9A:: @ 080CDA9A + .incbin "baserom.gba", 0x0CDA9A, 0x0000005 + +gUnk_080CDA9F:: @ 080CDA9F + .incbin "baserom.gba", 0x0CDA9F, 0x0000025 + +gUnk_080CDAC4:: @ 080CDAC4 + .incbin "baserom.gba", 0x0CDAC4, 0x0000011 + +gUnk_080CDAD5:: @ 080CDAD5 + .incbin "baserom.gba", 0x0CDAD5, 0x0000011 + +gUnk_080CDAE6:: @ 080CDAE6 + .incbin "baserom.gba", 0x0CDAE6, 0x000000D + +gUnk_080CDAF3:: @ 080CDAF3 + .incbin "baserom.gba", 0x0CDAF3, 0x0000010 + +gUnk_080CDB03:: @ 080CDB03 + .incbin "baserom.gba", 0x0CDB03, 0x0000014 + +gUnk_080CDB17:: @ 080CDB17 + .incbin "baserom.gba", 0x0CDB17, 0x0000011 + +gUnk_080CDB28:: @ 080CDB28 + .incbin "baserom.gba", 0x0CDB28, 0x0000011 + +gUnk_080CDB39:: @ 080CDB39 + .incbin "baserom.gba", 0x0CDB39, 0x0000024 + +gUnk_080CDB5D:: @ 080CDB5D + .incbin "baserom.gba", 0x0CDB5D, 0x0000010 + +gUnk_080CDB6D:: @ 080CDB6D + .incbin "baserom.gba", 0x0CDB6D, 0x0000011 + +gUnk_080CDB7E:: @ 080CDB7E + .incbin "baserom.gba", 0x0CDB7E, 0x0000014 + +gUnk_080CDB92:: @ 080CDB92 + .incbin "baserom.gba", 0x0CDB92, 0x0000019 + +gUnk_080CDBAB:: @ 080CDBAB + .incbin "baserom.gba", 0x0CDBAB, 0x0000019 + +gUnk_080CDBC4:: @ 080CDBC4 + .incbin "baserom.gba", 0x0CDBC4, 0x0000019 + +gUnk_080CDBDD:: @ 080CDBDD + .incbin "baserom.gba", 0x0CDBDD, 0x0000023 + +gUnk_080CDC00:: @ 080CDC00 + .incbin "baserom.gba", 0x0CDC00, 0x00000E7 + +gUnk_080CDCE7:: @ 080CDCE7 + .incbin "baserom.gba", 0x0CDCE7, 0x000007D + +gUnk_080CDD64:: @ 080CDD64 + .incbin "baserom.gba", 0x0CDD64, 0x00000D0 + +gUnk_080CDE34:: @ 080CDE34 + .incbin "baserom.gba", 0x0CDE34, 0x0000018 + +gUnk_080CDE4C:: @ 080CDE4C + .incbin "baserom.gba", 0x0CDE4C, 0x0000010 + +gUnk_080CDE5C:: @ 080CDE5C + .incbin "baserom.gba", 0x0CDE5C, 0x0000008 + +gUnk_080CDE64:: @ 080CDE64 + .incbin "baserom.gba", 0x0CDE64, 0x0000008 + +gUnk_080CDE6C:: @ 080CDE6C + .incbin "baserom.gba", 0x0CDE6C, 0x0000004 + +gUnk_080CDE70:: @ 080CDE70 + .incbin "baserom.gba", 0x0CDE70, 0x0000020 + +gUnk_080CDE90:: @ 080CDE90 + .incbin "baserom.gba", 0x0CDE90, 0x0000008 + +gUnk_080CDE98:: @ 080CDE98 + .incbin "baserom.gba", 0x0CDE98, 0x0000008 + +gUnk_080CDEA0:: @ 080CDEA0 + .incbin "baserom.gba", 0x0CDEA0, 0x0000011 + +gUnk_080CDEB1:: @ 080CDEB1 + .incbin "baserom.gba", 0x0CDEB1, 0x0000013 + +gUnk_080CDEC4:: @ 080CDEC4 + .incbin "baserom.gba", 0x0CDEC4, 0x000000C + +gUnk_080CDED0:: @ 080CDED0 + .incbin "baserom.gba", 0x0CDED0, 0x0000018 + +gUnk_080CDEE8:: @ 080CDEE8 + .incbin "baserom.gba", 0x0CDEE8, 0x0000010 + +gUnk_080CDEF8:: @ 080CDEF8 + .incbin "baserom.gba", 0x0CDEF8, 0x0000004 + +gUnk_080CDEFC:: @ 080CDEFC + .incbin "baserom.gba", 0x0CDEFC, 0x000000D + +gUnk_080CDF09:: @ 080CDF09 + .incbin "baserom.gba", 0x0CDF09, 0x0000011 + +gUnk_080CDF1A:: @ 080CDF1A + .incbin "baserom.gba", 0x0CDF1A, 0x000000D + +gUnk_080CDF27:: @ 080CDF27 + .incbin "baserom.gba", 0x0CDF27, 0x000000C + +gUnk_080CDF33:: @ 080CDF33 + .incbin "baserom.gba", 0x0CDF33, 0x0000005 + +gUnk_080CDF38:: @ 080CDF38 + .incbin "baserom.gba", 0x0CDF38, 0x0000018 + +gUnk_080CDF50:: @ 080CDF50 + .incbin "baserom.gba", 0x0CDF50, 0x0000018 + +gUnk_080CDF68:: @ 080CDF68 + .incbin "baserom.gba", 0x0CDF68, 0x0000010 + +gUnk_080CDF78:: @ 080CDF78 + .incbin "baserom.gba", 0x0CDF78, 0x0000005 + +gUnk_080CDF7D:: @ 080CDF7D + .incbin "baserom.gba", 0x0CDF7D, 0x0000005 + +gUnk_080CDF82:: @ 080CDF82 + .incbin "baserom.gba", 0x0CDF82, 0x0000005 + +gUnk_080CDF87:: @ 080CDF87 + .incbin "baserom.gba", 0x0CDF87, 0x0000005 + +gUnk_080CDF8C:: @ 080CDF8C + .incbin "baserom.gba", 0x0CDF8C, 0x0000005 + +gUnk_080CDF91:: @ 080CDF91 + .incbin "baserom.gba", 0x0CDF91, 0x0000005 + +gUnk_080CDF96:: @ 080CDF96 + .incbin "baserom.gba", 0x0CDF96, 0x0000005 + +gUnk_080CDF9B:: @ 080CDF9B + .incbin "baserom.gba", 0x0CDF9B, 0x0000005 + +gUnk_080CDFA0:: @ 080CDFA0 + .incbin "baserom.gba", 0x0CDFA0, 0x0000024 + +gUnk_080CDFC4:: @ 080CDFC4 + .incbin "baserom.gba", 0x0CDFC4, 0x0000018 + +gUnk_080CDFDC:: @ 080CDFDC + .incbin "baserom.gba", 0x0CDFDC, 0x000000C + +gUnk_080CDFE8:: @ 080CDFE8 + .incbin "baserom.gba", 0x0CDFE8, 0x000000D + +gUnk_080CDFF5:: @ 080CDFF5 + .incbin "baserom.gba", 0x0CDFF5, 0x000000D + +gUnk_080CE002:: @ 080CE002 + .incbin "baserom.gba", 0x0CE002, 0x000000D + +gUnk_080CE00F:: @ 080CE00F + .incbin "baserom.gba", 0x0CE00F, 0x000000D + +gUnk_080CE01C:: @ 080CE01C + .incbin "baserom.gba", 0x0CE01C, 0x000000D + +gUnk_080CE029:: @ 080CE029 + .incbin "baserom.gba", 0x0CE029, 0x000000D + +gUnk_080CE036:: @ 080CE036 + .incbin "baserom.gba", 0x0CE036, 0x000000D + +gUnk_080CE043:: @ 080CE043 + .incbin "baserom.gba", 0x0CE043, 0x000000D + +gUnk_080CE050:: @ 080CE050 + .incbin "baserom.gba", 0x0CE050, 0x0000024 + +gUnk_080CE074:: @ 080CE074 + .incbin "baserom.gba", 0x0CE074, 0x0000018 + +gUnk_080CE08C:: @ 080CE08C + .incbin "baserom.gba", 0x0CE08C, 0x000000C + +gUnk_080CE098:: @ 080CE098 + .incbin "baserom.gba", 0x0CE098, 0x000000D + +gUnk_080CE0A5:: @ 080CE0A5 + .incbin "baserom.gba", 0x0CE0A5, 0x000000D + +gUnk_080CE0B2:: @ 080CE0B2 + .incbin "baserom.gba", 0x0CE0B2, 0x000000D + +gUnk_080CE0BF:: @ 080CE0BF + .incbin "baserom.gba", 0x0CE0BF, 0x000000D + +gUnk_080CE0CC:: @ 080CE0CC + .incbin "baserom.gba", 0x0CE0CC, 0x000000D + +gUnk_080CE0D9:: @ 080CE0D9 + .incbin "baserom.gba", 0x0CE0D9, 0x000000D + +gUnk_080CE0E6:: @ 080CE0E6 + .incbin "baserom.gba", 0x0CE0E6, 0x000000D + +gUnk_080CE0F3:: @ 080CE0F3 + .incbin "baserom.gba", 0x0CE0F3, 0x000000D + +gUnk_080CE100:: @ 080CE100 + .incbin "baserom.gba", 0x0CE100, 0x0000024 + +gUnk_080CE124:: @ 080CE124 + .incbin "baserom.gba", 0x0CE124, 0x0000018 + +gUnk_080CE13C:: @ 080CE13C + .incbin "baserom.gba", 0x0CE13C, 0x0000024 + +gUnk_080CE160:: @ 080CE160 + .incbin "baserom.gba", 0x0CE160, 0x0000004 + +gUnk_080CE164:: @ 080CE164 + .incbin "baserom.gba", 0x0CE164, 0x0000008 + +gUnk_080CE16C:: @ 080CE16C + .incbin "baserom.gba", 0x0CE16C, 0x0000019 + +gUnk_080CE185:: @ 080CE185 + .incbin "baserom.gba", 0x0CE185, 0x0000019 + +gUnk_080CE19E:: @ 080CE19E + .incbin "baserom.gba", 0x0CE19E, 0x0000019 + +gUnk_080CE1B7:: @ 080CE1B7 + .incbin "baserom.gba", 0x0CE1B7, 0x0000019 + +gUnk_080CE1D0:: @ 080CE1D0 + .incbin "baserom.gba", 0x0CE1D0, 0x0000035 + +gUnk_080CE205:: @ 080CE205 + .incbin "baserom.gba", 0x0CE205, 0x0000041 + +gUnk_080CE246:: @ 080CE246 + .incbin "baserom.gba", 0x0CE246, 0x0000018 + +gUnk_080CE25E:: @ 080CE25E + .incbin "baserom.gba", 0x0CE25E, 0x0000006 + +gUnk_080CE264:: @ 080CE264 + .incbin "baserom.gba", 0x0CE264, 0x0000024 + +gUnk_080CE288:: @ 080CE288 + .incbin "baserom.gba", 0x0CE288, 0x0000018 + +gUnk_080CE2A0:: @ 080CE2A0 + .incbin "baserom.gba", 0x0CE2A0, 0x000001C + +gUnk_080CE2BC:: @ 080CE2BC + .incbin "baserom.gba", 0x0CE2BC, 0x0000004 + +gUnk_080CE2C0:: @ 080CE2C0 + .incbin "baserom.gba", 0x0CE2C0, 0x0000034 + +gUnk_080CE2F4:: @ 080CE2F4 + .incbin "baserom.gba", 0x0CE2F4, 0x0000010 + +gUnk_080CE304:: @ 080CE304 + .incbin "baserom.gba", 0x0CE304, 0x0000008 + +gUnk_080CE30C:: @ 080CE30C + .incbin "baserom.gba", 0x0CE30C, 0x0000010 + +gUnk_080CE31C:: @ 080CE31C + .incbin "baserom.gba", 0x0CE31C, 0x0000019 + +gUnk_080CE335:: @ 080CE335 + .incbin "baserom.gba", 0x0CE335, 0x0000010 + +gUnk_080CE345:: @ 080CE345 + .incbin "baserom.gba", 0x0CE345, 0x0000019 + +gUnk_080CE35E:: @ 080CE35E + .incbin "baserom.gba", 0x0CE35E, 0x0000010 + +gUnk_080CE36E:: @ 080CE36E + .incbin "baserom.gba", 0x0CE36E, 0x0000019 + +gUnk_080CE387:: @ 080CE387 + .incbin "baserom.gba", 0x0CE387, 0x0000010 + +gUnk_080CE397:: @ 080CE397 + .incbin "baserom.gba", 0x0CE397, 0x0000019 + +gUnk_080CE3B0:: @ 080CE3B0 + .incbin "baserom.gba", 0x0CE3B0, 0x000000C + +gUnk_080CE3BC:: @ 080CE3BC + .incbin "baserom.gba", 0x0CE3BC, 0x000000C + +gUnk_080CE3C8:: @ 080CE3C8 + .incbin "baserom.gba", 0x0CE3C8, 0x000000C + +gUnk_080CE3D4:: @ 080CE3D4 + .incbin "baserom.gba", 0x0CE3D4, 0x000000C + +gUnk_080CE3E0:: @ 080CE3E0 + .incbin "baserom.gba", 0x0CE3E0, 0x000000C + +gUnk_080CE3EC:: @ 080CE3EC + .incbin "baserom.gba", 0x0CE3EC, 0x000000C + +gUnk_080CE3F8:: @ 080CE3F8 + .incbin "baserom.gba", 0x0CE3F8, 0x000000C + +gUnk_080CE404:: @ 080CE404 + .incbin "baserom.gba", 0x0CE404, 0x0000003 + +gUnk_080CE407:: @ 080CE407 + .incbin "baserom.gba", 0x0CE407, 0x0000041 + +gUnk_080CE448:: @ 080CE448 + .incbin "baserom.gba", 0x0CE448, 0x0000018 + +gUnk_080CE460:: @ 080CE460 + .incbin "baserom.gba", 0x0CE460, 0x0000010 + +gUnk_080CE470:: @ 080CE470 + .incbin "baserom.gba", 0x0CE470, 0x000000C + +gUnk_080CE47C:: @ 080CE47C + .incbin "baserom.gba", 0x0CE47C, 0x0000011 + +gUnk_080CE48D:: @ 080CE48D + .incbin "baserom.gba", 0x0CE48D, 0x0000011 + +gUnk_080CE49E:: @ 080CE49E + .incbin "baserom.gba", 0x0CE49E, 0x0000011 + +gUnk_080CE4AF:: @ 080CE4AF + .incbin "baserom.gba", 0x0CE4AF, 0x0000011 + +gUnk_080CE4C0:: @ 080CE4C0 + .incbin "baserom.gba", 0x0CE4C0, 0x0000011 + +gUnk_080CE4D1:: @ 080CE4D1 + .incbin "baserom.gba", 0x0CE4D1, 0x0000011 + +gUnk_080CE4E2:: @ 080CE4E2 + .incbin "baserom.gba", 0x0CE4E2, 0x0000011 + +gUnk_080CE4F3:: @ 080CE4F3 + .incbin "baserom.gba", 0x0CE4F3, 0x0000019 + +gUnk_080CE50C:: @ 080CE50C + .incbin "baserom.gba", 0x0CE50C, 0x0000024 + +gUnk_080CE530:: @ 080CE530 + .incbin "baserom.gba", 0x0CE530, 0x0000018 + +gUnk_080CE548:: @ 080CE548 + .incbin "baserom.gba", 0x0CE548, 0x000000C + +gUnk_080CE554:: @ 080CE554 + .incbin "baserom.gba", 0x0CE554, 0x000000C + +gUnk_080CE560:: @ 080CE560 + .incbin "baserom.gba", 0x0CE560, 0x000000C + +gUnk_080CE56C:: @ 080CE56C + .incbin "baserom.gba", 0x0CE56C, 0x0000018 + +gUnk_080CE584:: @ 080CE584 + .incbin "baserom.gba", 0x0CE584, 0x0000008 + +gUnk_080CE58C:: @ 080CE58C + .incbin "baserom.gba", 0x0CE58C, 0x0000024 + +gUnk_080CE5B0:: @ 080CE5B0 + .incbin "baserom.gba", 0x0CE5B0, 0x0000008 + +gUnk_080CE5B8:: @ 080CE5B8 + .incbin "baserom.gba", 0x0CE5B8, 0x0000008 + +gUnk_080CE5C0:: @ 080CE5C0 + .incbin "baserom.gba", 0x0CE5C0, 0x0000008 + +gUnk_080CE5C8:: @ 080CE5C8 + .incbin "baserom.gba", 0x0CE5C8, 0x0000028 + +gUnk_080CE5F0:: @ 080CE5F0 + .incbin "baserom.gba", 0x0CE5F0, 0x000000A + +gUnk_080CE5FA:: @ 080CE5FA + .incbin "baserom.gba", 0x0CE5FA, 0x0000014 + +gUnk_080CE60E:: @ 080CE60E + .incbin "baserom.gba", 0x0CE60E, 0x0000018 + +gUnk_080CE626:: @ 080CE626 + .incbin "baserom.gba", 0x0CE626, 0x0000031 + +gUnk_080CE657:: @ 080CE657 + .incbin "baserom.gba", 0x0CE657, 0x0000010 + +gUnk_080CE667:: @ 080CE667 + .incbin "baserom.gba", 0x0CE667, 0x0000028 + +gUnk_080CE68F:: @ 080CE68F + .incbin "baserom.gba", 0x0CE68F, 0x0000009 + +gUnk_080CE698:: @ 080CE698 + .incbin "baserom.gba", 0x0CE698, 0x0000005 + +gUnk_080CE69D:: @ 080CE69D + .incbin "baserom.gba", 0x0CE69D, 0x0000009 + +gUnk_080CE6A6:: @ 080CE6A6 + .incbin "baserom.gba", 0x0CE6A6, 0x0000009 + +gUnk_080CE6AF:: @ 080CE6AF + .incbin "baserom.gba", 0x0CE6AF, 0x0000011 + +gUnk_080CE6C0:: @ 080CE6C0 + .incbin "baserom.gba", 0x0CE6C0, 0x0000011 + +gUnk_080CE6D1:: @ 080CE6D1 + .incbin "baserom.gba", 0x0CE6D1, 0x0000005 + +gUnk_080CE6D6:: @ 080CE6D6 + .incbin "baserom.gba", 0x0CE6D6, 0x0000005 + +gUnk_080CE6DB:: @ 080CE6DB + .incbin "baserom.gba", 0x0CE6DB, 0x000000C + +gUnk_080CE6E7:: @ 080CE6E7 + .incbin "baserom.gba", 0x0CE6E7, 0x0000040 + +gUnk_080CE727:: @ 080CE727 + .incbin "baserom.gba", 0x0CE727, 0x0000049 + +gUnk_080CE770:: @ 080CE770 + .incbin "baserom.gba", 0x0CE770, 0x0000040 + +gUnk_080CE7B0:: @ 080CE7B0 + .incbin "baserom.gba", 0x0CE7B0, 0x0000018 + +gUnk_080CE7C8:: @ 080CE7C8 + .incbin "baserom.gba", 0x0CE7C8, 0x0000018 + +gUnk_080CE7E0:: @ 080CE7E0 + .incbin "baserom.gba", 0x0CE7E0, 0x0000010 + +gUnk_080CE7F0:: @ 080CE7F0 + .incbin "baserom.gba", 0x0CE7F0, 0x0000020 + +gUnk_080CE810:: @ 080CE810 + .incbin "baserom.gba", 0x0CE810, 0x0000008 + +gUnk_080CE818:: @ 080CE818 + .incbin "baserom.gba", 0x0CE818, 0x0000011 + +gUnk_080CE829:: @ 080CE829 + .incbin "baserom.gba", 0x0CE829, 0x0000011 + +gUnk_080CE83A:: @ 080CE83A + .incbin "baserom.gba", 0x0CE83A, 0x0000011 + +gUnk_080CE84B:: @ 080CE84B + .incbin "baserom.gba", 0x0CE84B, 0x0000011 + +gUnk_080CE85C:: @ 080CE85C + .incbin "baserom.gba", 0x0CE85C, 0x0000011 + +gUnk_080CE86D:: @ 080CE86D + .incbin "baserom.gba", 0x0CE86D, 0x0000011 + +gUnk_080CE87E:: @ 080CE87E + .incbin "baserom.gba", 0x0CE87E, 0x0000011 + +gUnk_080CE88F:: @ 080CE88F + .incbin "baserom.gba", 0x0CE88F, 0x0000011 + +gUnk_080CE8A0:: @ 080CE8A0 + .incbin "baserom.gba", 0x0CE8A0, 0x0000029 + +gUnk_080CE8C9:: @ 080CE8C9 + .incbin "baserom.gba", 0x0CE8C9, 0x0000029 + +gUnk_080CE8F2:: @ 080CE8F2 + .incbin "baserom.gba", 0x0CE8F2, 0x0000029 + +gUnk_080CE91B:: @ 080CE91B + .incbin "baserom.gba", 0x0CE91B, 0x0000029 + +gUnk_080CE944:: @ 080CE944 + .incbin "baserom.gba", 0x0CE944, 0x0000034 + +gUnk_080CE978:: @ 080CE978 + .incbin "baserom.gba", 0x0CE978, 0x0000018 + +gUnk_080CE990:: @ 080CE990 + .incbin "baserom.gba", 0x0CE990, 0x0000014 + +gUnk_080CE9A4:: @ 080CE9A4 + .incbin "baserom.gba", 0x0CE9A4, 0x000000C + +gUnk_080CE9B0:: @ 080CE9B0 + .incbin "baserom.gba", 0x0CE9B0, 0x0000005 + +gUnk_080CE9B5:: @ 080CE9B5 + .incbin "baserom.gba", 0x0CE9B5, 0x0000005 + +gUnk_080CE9BA:: @ 080CE9BA + .incbin "baserom.gba", 0x0CE9BA, 0x0000011 + +gUnk_080CE9CB:: @ 080CE9CB + .incbin "baserom.gba", 0x0CE9CB, 0x0000011 + +gUnk_080CE9DC:: @ 080CE9DC + .incbin "baserom.gba", 0x0CE9DC, 0x0000011 + +gUnk_080CE9ED:: @ 080CE9ED + .incbin "baserom.gba", 0x0CE9ED, 0x0000013 + +gUnk_080CEA00:: @ 080CEA00 + .incbin "baserom.gba", 0x0CEA00, 0x000001C + +gUnk_080CEA1C:: @ 080CEA1C + .incbin "baserom.gba", 0x0CEA1C, 0x0000018 + +gUnk_080CEA34:: @ 080CEA34 + .incbin "baserom.gba", 0x0CEA34, 0x000001C + +gUnk_080CEA50:: @ 080CEA50 + .incbin "baserom.gba", 0x0CEA50, 0x0000004 + +gUnk_080CEA54:: @ 080CEA54 + .incbin "baserom.gba", 0x0CEA54, 0x0000002 + +gUnk_080CEA56:: @ 080CEA56 + .incbin "baserom.gba", 0x0CEA56, 0x0000010 + +gUnk_080CEA66:: @ 080CEA66 + .incbin "baserom.gba", 0x0CEA66, 0x0000005 + +gUnk_080CEA6B:: @ 080CEA6B + .incbin "baserom.gba", 0x0CEA6B, 0x0000005 + +gUnk_080CEA70:: @ 080CEA70 + .incbin "baserom.gba", 0x0CEA70, 0x0000005 + +gUnk_080CEA75:: @ 080CEA75 + .incbin "baserom.gba", 0x0CEA75, 0x0000005 + +gUnk_080CEA7A:: @ 080CEA7A + .incbin "baserom.gba", 0x0CEA7A, 0x0000011 + +gUnk_080CEA8B:: @ 080CEA8B + .incbin "baserom.gba", 0x0CEA8B, 0x0000011 + +gUnk_080CEA9C:: @ 080CEA9C + .incbin "baserom.gba", 0x0CEA9C, 0x0000011 + +gUnk_080CEAAD:: @ 080CEAAD + .incbin "baserom.gba", 0x0CEAAD, 0x0000011 + +gUnk_080CEABE:: @ 080CEABE + .incbin "baserom.gba", 0x0CEABE, 0x0000011 + +gUnk_080CEACF:: @ 080CEACF + .incbin "baserom.gba", 0x0CEACF, 0x0000011 + +gUnk_080CEAE0:: @ 080CEAE0 + .incbin "baserom.gba", 0x0CEAE0, 0x0000011 + +gUnk_080CEAF1:: @ 080CEAF1 + .incbin "baserom.gba", 0x0CEAF1, 0x0000013 + +gUnk_080CEB04:: @ 080CEB04 + .incbin "baserom.gba", 0x0CEB04, 0x0000034 + +gUnk_080CEB38:: @ 080CEB38 + .incbin "baserom.gba", 0x0CEB38, 0x0000018 + +gUnk_080CEB50:: @ 080CEB50 + .incbin "baserom.gba", 0x0CEB50, 0x0000010 + +gUnk_080CEB60:: @ 080CEB60 + .incbin "baserom.gba", 0x0CEB60, 0x000000C + +gUnk_080CEB6C:: @ 080CEB6C + .incbin "baserom.gba", 0x0CEB6C, 0x0000008 + +gUnk_080CEB74:: @ 080CEB74 + .incbin "baserom.gba", 0x0CEB74, 0x0000018 + +gUnk_080CEB8C:: @ 080CEB8C + .incbin "baserom.gba", 0x0CEB8C, 0x000000C + +gUnk_080CEB98:: @ 080CEB98 + .incbin "baserom.gba", 0x0CEB98, 0x000000C + +gUnk_080CEBA4:: @ 080CEBA4 + .incbin "baserom.gba", 0x0CEBA4, 0x0000008 + +gUnk_080CEBAC:: @ 080CEBAC + .incbin "baserom.gba", 0x0CEBAC, 0x0000011 + +gUnk_080CEBBD:: @ 080CEBBD + .incbin "baserom.gba", 0x0CEBBD, 0x0000013 + +gUnk_080CEBD0:: @ 080CEBD0 + .incbin "baserom.gba", 0x0CEBD0, 0x000001C + +gUnk_080CEBEC:: @ 080CEBEC + .incbin "baserom.gba", 0x0CEBEC, 0x0000018 + +gUnk_080CEC04:: @ 080CEC04 + .incbin "baserom.gba", 0x0CEC04, 0x0000018 + +gUnk_080CEC1C:: @ 080CEC1C + .incbin "baserom.gba", 0x0CEC1C, 0x0000008 + +gUnk_080CEC24:: @ 080CEC24 + .incbin "baserom.gba", 0x0CEC24, 0x0000005 + +gUnk_080CEC29:: @ 080CEC29 + .incbin "baserom.gba", 0x0CEC29, 0x0000019 + +gUnk_080CEC42:: @ 080CEC42 + .incbin "baserom.gba", 0x0CEC42, 0x0000009 + +gUnk_080CEC4B:: @ 080CEC4B + .incbin "baserom.gba", 0x0CEC4B, 0x0000011 + +gUnk_080CEC5C:: @ 080CEC5C + .incbin "baserom.gba", 0x0CEC5C, 0x0000014 + +gUnk_080CEC70:: @ 080CEC70 + .incbin "baserom.gba", 0x0CEC70, 0x0000018 + +gUnk_080CEC88:: @ 080CEC88 + .incbin "baserom.gba", 0x0CEC88, 0x0000018 + +gUnk_080CECA0:: @ 080CECA0 + .incbin "baserom.gba", 0x0CECA0, 0x0000014 + +gUnk_080CECB4:: @ 080CECB4 + .incbin "baserom.gba", 0x0CECB4, 0x0000019 + +gUnk_080CECCD:: @ 080CECCD + .incbin "baserom.gba", 0x0CECCD, 0x000001F + +gUnk_080CECEC:: @ 080CECEC + .incbin "baserom.gba", 0x0CECEC, 0x0000008 + +gUnk_080CECF4:: @ 080CECF4 + .incbin "baserom.gba", 0x0CECF4, 0x000000E + +gUnk_080CED02:: @ 080CED02 + .incbin "baserom.gba", 0x0CED02, 0x0000004 + +gUnk_080CED06:: @ 080CED06 + .incbin "baserom.gba", 0x0CED06, 0x0000006 + +gUnk_080CED0C:: @ 080CED0C + .incbin "baserom.gba", 0x0CED0C, 0x0000020 + +gUnk_080CED2C:: @ 080CED2C + .incbin "baserom.gba", 0x0CED2C, 0x0000020 + +gUnk_080CED4C:: @ 080CED4C + .incbin "baserom.gba", 0x0CED4C, 0x0000020 + +gUnk_080CED6C:: @ 080CED6C + .incbin "baserom.gba", 0x0CED6C, 0x0000008 + +gUnk_080CED74:: @ 080CED74 + .incbin "baserom.gba", 0x0CED74, 0x0000010 + +gUnk_080CED84:: @ 080CED84 + .incbin "baserom.gba", 0x0CED84, 0x0000004 + +gUnk_080CED88:: @ 080CED88 + .incbin "baserom.gba", 0x0CED88, 0x0000014 + +gUnk_080CED9C:: @ 080CED9C + .incbin "baserom.gba", 0x0CED9C, 0x0000014 + +gUnk_080CEDB0:: @ 080CEDB0 + .incbin "baserom.gba", 0x0CEDB0, 0x0000005 + +gUnk_080CEDB5:: @ 080CEDB5 + .incbin "baserom.gba", 0x0CEDB5, 0x0000005 + +gUnk_080CEDBA:: @ 080CEDBA + .incbin "baserom.gba", 0x0CEDBA, 0x0000015 + +gUnk_080CEDCF:: @ 080CEDCF + .incbin "baserom.gba", 0x0CEDCF, 0x0000038 + +gUnk_080CEE07:: @ 080CEE07 + .incbin "baserom.gba", 0x0CEE07, 0x0000038 + +gUnk_080CEE3F:: @ 080CEE3F + .incbin "baserom.gba", 0x0CEE3F, 0x0000018 + +gUnk_080CEE57:: @ 080CEE57 + .incbin "baserom.gba", 0x0CEE57, 0x0000019 + +gUnk_080CEE70:: @ 080CEE70 + .incbin "baserom.gba", 0x0CEE70, 0x0000020 + +gUnk_080CEE90:: @ 080CEE90 + .incbin "baserom.gba", 0x0CEE90, 0x0000014 + +gUnk_080CEEA4:: @ 080CEEA4 + .incbin "baserom.gba", 0x0CEEA4, 0x000000C + +gUnk_080CEEB0:: @ 080CEEB0 + .incbin "baserom.gba", 0x0CEEB0, 0x0000018 + +gUnk_080CEEC8:: @ 080CEEC8 + .incbin "baserom.gba", 0x0CEEC8, 0x0000004 + +gUnk_080CEECC:: @ 080CEECC + .incbin "baserom.gba", 0x0CEECC, 0x000000C + +gUnk_080CEED8:: @ 080CEED8 + .incbin "baserom.gba", 0x0CEED8, 0x0000004 + +gUnk_080CEEDC:: @ 080CEEDC + .incbin "baserom.gba", 0x0CEEDC, 0x000002C + +gUnk_080CEF08:: @ 080CEF08 + .incbin "baserom.gba", 0x0CEF08, 0x0000004 + +gUnk_080CEF0C:: @ 080CEF0C + .incbin "baserom.gba", 0x0CEF0C, 0x0000011 + +gUnk_080CEF1D:: @ 080CEF1D + .incbin "baserom.gba", 0x0CEF1D, 0x0000007 + +gUnk_080CEF24:: @ 080CEF24 + .incbin "baserom.gba", 0x0CEF24, 0x0000010 + +gUnk_080CEF34:: @ 080CEF34 + .incbin "baserom.gba", 0x0CEF34, 0x0000024 + +gUnk_080CEF58:: @ 080CEF58 + .incbin "baserom.gba", 0x0CEF58, 0x0000024 + +gUnk_080CEF7C:: @ 080CEF7C + .incbin "baserom.gba", 0x0CEF7C, 0x0000021 + +gUnk_080CEF9D:: @ 080CEF9D + .incbin "baserom.gba", 0x0CEF9D, 0x0000008 + +gUnk_080CEFA5:: @ 080CEFA5 + .incbin "baserom.gba", 0x0CEFA5, 0x0000009 + +gUnk_080CEFAE:: @ 080CEFAE + .incbin "baserom.gba", 0x0CEFAE, 0x0000004 + +gUnk_080CEFB2:: @ 080CEFB2 + .incbin "baserom.gba", 0x0CEFB2, 0x0000004 + +gUnk_080CEFB6:: @ 080CEFB6 + .incbin "baserom.gba", 0x0CEFB6, 0x0000015 + +gUnk_080CEFCB:: @ 080CEFCB + .incbin "baserom.gba", 0x0CEFCB, 0x0000015 + +gUnk_080CEFE0:: @ 080CEFE0 + .incbin "baserom.gba", 0x0CEFE0, 0x0000009 + +gUnk_080CEFE9:: @ 080CEFE9 + .incbin "baserom.gba", 0x0CEFE9, 0x0000019 + +gUnk_080CF002:: @ 080CF002 + .incbin "baserom.gba", 0x0CF002, 0x0000012 + +gUnk_080CF014:: @ 080CF014 + .incbin "baserom.gba", 0x0CF014, 0x000002C + +gUnk_080CF040:: @ 080CF040 + .incbin "baserom.gba", 0x0CF040, 0x0000014 + +gUnk_080CF054:: @ 080CF054 + .incbin "baserom.gba", 0x0CF054, 0x000001C + +gUnk_080CF070:: @ 080CF070 + .incbin "baserom.gba", 0x0CF070, 0x0000008 + +gUnk_080CF078:: @ 080CF078 + .incbin "baserom.gba", 0x0CF078, 0x0000014 + +gUnk_080CF08C:: @ 080CF08C + .incbin "baserom.gba", 0x0CF08C, 0x0000020 + +gUnk_080CF0AC:: @ 080CF0AC + .incbin "baserom.gba", 0x0CF0AC, 0x0000018 + +gUnk_080CF0C4:: @ 080CF0C4 + .incbin "baserom.gba", 0x0CF0C4, 0x0000014 + +gUnk_080CF0D8:: @ 080CF0D8 + .incbin "baserom.gba", 0x0CF0D8, 0x0000004 + +gUnk_080CF0DC:: @ 080CF0DC + .incbin "baserom.gba", 0x0CF0DC, 0x0000004 + +gUnk_080CF0E0:: @ 080CF0E0 + .incbin "baserom.gba", 0x0CF0E0, 0x0000010 + +gUnk_080CF0F0:: @ 080CF0F0 + .incbin "baserom.gba", 0x0CF0F0, 0x0000010 + +gUnk_080CF100:: @ 080CF100 + .incbin "baserom.gba", 0x0CF100, 0x000000C + +gUnk_080CF10C:: @ 080CF10C + .incbin "baserom.gba", 0x0CF10C, 0x0000004 + +gUnk_080CF110:: @ 080CF110 + .incbin "baserom.gba", 0x0CF110, 0x0000004 + +gUnk_080CF114:: @ 080CF114 + .incbin "baserom.gba", 0x0CF114, 0x0000005 + +gUnk_080CF119:: @ 080CF119 + .incbin "baserom.gba", 0x0CF119, 0x0000005 + +gUnk_080CF11E:: @ 080CF11E + .incbin "baserom.gba", 0x0CF11E, 0x0000006 + +gUnk_080CF124:: @ 080CF124 + .incbin "baserom.gba", 0x0CF124, 0x0000010 + +gUnk_080CF134:: @ 080CF134 + .incbin "baserom.gba", 0x0CF134, 0x0000004 + +gUnk_080CF138:: @ 080CF138 + .incbin "baserom.gba", 0x0CF138, 0x0000004 + +gUnk_080CF13C:: @ 080CF13C + .incbin "baserom.gba", 0x0CF13C, 0x0000003 + +gUnk_080CF13F:: @ 080CF13F + .incbin "baserom.gba", 0x0CF13F, 0x0000003 + +gUnk_080CF142:: @ 080CF142 + .incbin "baserom.gba", 0x0CF142, 0x0000005 + +gUnk_080CF147:: @ 080CF147 + .incbin "baserom.gba", 0x0CF147, 0x0000005 + +gUnk_080CF14C:: @ 080CF14C + .incbin "baserom.gba", 0x0CF14C, 0x0000004 + +gUnk_080CF150:: @ 080CF150 + .incbin "baserom.gba", 0x0CF150, 0x0000004 + +gUnk_080CF154:: @ 080CF154 + .incbin "baserom.gba", 0x0CF154, 0x0000004 + +gUnk_080CF158:: @ 080CF158 + .incbin "baserom.gba", 0x0CF158, 0x0000015 + +gUnk_080CF16D:: @ 080CF16D + .incbin "baserom.gba", 0x0CF16D, 0x0000015 + +gUnk_080CF182:: @ 080CF182 + .incbin "baserom.gba", 0x0CF182, 0x0000004 + +gUnk_080CF186:: @ 080CF186 + .incbin "baserom.gba", 0x0CF186, 0x0000011 + +gUnk_080CF197:: @ 080CF197 + .incbin "baserom.gba", 0x0CF197, 0x0000015 + +gUnk_080CF1AC:: @ 080CF1AC + .incbin "baserom.gba", 0x0CF1AC, 0x0000011 + +gUnk_080CF1BD:: @ 080CF1BD + .incbin "baserom.gba", 0x0CF1BD, 0x0000020 + +gUnk_080CF1DD:: @ 080CF1DD + .incbin "baserom.gba", 0x0CF1DD, 0x0000005 + +gUnk_080CF1E2:: @ 080CF1E2 + .incbin "baserom.gba", 0x0CF1E2, 0x0000019 + +gUnk_080CF1FB:: @ 080CF1FB + .incbin "baserom.gba", 0x0CF1FB, 0x0000004 + +gUnk_080CF1FF:: @ 080CF1FF + .incbin "baserom.gba", 0x0CF1FF, 0x0000005 + +gUnk_080CF204:: @ 080CF204 + .incbin "baserom.gba", 0x0CF204, 0x0000030 + +gUnk_080CF234:: @ 080CF234 + .incbin "baserom.gba", 0x0CF234, 0x0000010 + +gUnk_080CF244:: @ 080CF244 + .incbin "baserom.gba", 0x0CF244, 0x0000018 + +gUnk_080CF25C:: @ 080CF25C + .incbin "baserom.gba", 0x0CF25C, 0x000001C + +gUnk_080CF278:: @ 080CF278 + .incbin "baserom.gba", 0x0CF278, 0x0000018 + +gUnk_080CF290:: @ 080CF290 + .incbin "baserom.gba", 0x0CF290, 0x0000004 + +gUnk_080CF294:: @ 080CF294 + .incbin "baserom.gba", 0x0CF294, 0x0000018 + +gUnk_080CF2AC:: @ 080CF2AC + .incbin "baserom.gba", 0x0CF2AC, 0x0000024 + +gUnk_080CF2D0:: @ 080CF2D0 + .incbin "baserom.gba", 0x0CF2D0, 0x0000004 + +gUnk_080CF2D4:: @ 080CF2D4 + .incbin "baserom.gba", 0x0CF2D4, 0x0000004 + +gUnk_080CF2D8:: @ 080CF2D8 + .incbin "baserom.gba", 0x0CF2D8, 0x0000004 + +gUnk_080CF2DC:: @ 080CF2DC + .incbin "baserom.gba", 0x0CF2DC, 0x0000004 + +gUnk_080CF2E0:: @ 080CF2E0 + .incbin "baserom.gba", 0x0CF2E0, 0x0000019 + +gUnk_080CF2F9:: @ 080CF2F9 + .incbin "baserom.gba", 0x0CF2F9, 0x0000019 + +gUnk_080CF312:: @ 080CF312 + .incbin "baserom.gba", 0x0CF312, 0x0000019 + +gUnk_080CF32B:: @ 080CF32B + .incbin "baserom.gba", 0x0CF32B, 0x0000019 + +gUnk_080CF344:: @ 080CF344 + .incbin "baserom.gba", 0x0CF344, 0x0000018 + +gUnk_080CF35C:: @ 080CF35C + .incbin "baserom.gba", 0x0CF35C, 0x0000018 + +gUnk_080CF374:: @ 080CF374 + .incbin "baserom.gba", 0x0CF374, 0x0000018 + +gUnk_080CF38C:: @ 080CF38C + .incbin "baserom.gba", 0x0CF38C, 0x0000018 + +gUnk_080CF3A4:: @ 080CF3A4 + .incbin "baserom.gba", 0x0CF3A4, 0x0000009 + +gUnk_080CF3AD:: @ 080CF3AD + .incbin "baserom.gba", 0x0CF3AD, 0x0000009 + +gUnk_080CF3B6:: @ 080CF3B6 + .incbin "baserom.gba", 0x0CF3B6, 0x0000009 + +gUnk_080CF3BF:: @ 080CF3BF + .incbin "baserom.gba", 0x0CF3BF, 0x0000009 + +gUnk_080CF3C8:: @ 080CF3C8 + .incbin "baserom.gba", 0x0CF3C8, 0x0000014 + +gUnk_080CF3DC:: @ 080CF3DC + .incbin "baserom.gba", 0x0CF3DC, 0x0000014 + +gUnk_080CF3F0:: @ 080CF3F0 + .incbin "baserom.gba", 0x0CF3F0, 0x0000014 + +gUnk_080CF404:: @ 080CF404 + .incbin "baserom.gba", 0x0CF404, 0x0000014 + +gUnk_080CF418:: @ 080CF418 + .incbin "baserom.gba", 0x0CF418, 0x0000054 + +gUnk_080CF46C:: @ 080CF46C + .incbin "baserom.gba", 0x0CF46C, 0x0000018 + +gUnk_080CF484:: @ 080CF484 + .incbin "baserom.gba", 0x0CF484, 0x000000C + +gUnk_080CF490:: @ 080CF490 + .incbin "baserom.gba", 0x0CF490, 0x0000008 + +gUnk_080CF498:: @ 080CF498 + .incbin "baserom.gba", 0x0CF498, 0x0000008 + +gUnk_080CF4A0:: @ 080CF4A0 + .incbin "baserom.gba", 0x0CF4A0, 0x0000018 + +gUnk_080CF4B8:: @ 080CF4B8 + .incbin "baserom.gba", 0x0CF4B8, 0x000000C + +gUnk_080CF4C4:: @ 080CF4C4 + .incbin "baserom.gba", 0x0CF4C4, 0x0000004 + +gUnk_080CF4C8:: @ 080CF4C8 + .incbin "baserom.gba", 0x0CF4C8, 0x0000018 + +gUnk_080CF4E0:: @ 080CF4E0 + .incbin "baserom.gba", 0x0CF4E0, 0x0000010 + +gUnk_080CF4F0:: @ 080CF4F0 + .incbin "baserom.gba", 0x0CF4F0, 0x0000018 + +gUnk_080CF508:: @ 080CF508 + .incbin "baserom.gba", 0x0CF508, 0x0000018 + +gUnk_080CF520:: @ 080CF520 + .incbin "baserom.gba", 0x0CF520, 0x0000010 + +gUnk_080CF530:: @ 080CF530 + .incbin "baserom.gba", 0x0CF530, 0x000000D + +gUnk_080CF53D:: @ 080CF53D + .incbin "baserom.gba", 0x0CF53D, 0x000000D + +gUnk_080CF54A:: @ 080CF54A + .incbin "baserom.gba", 0x0CF54A, 0x000000D + +gUnk_080CF557:: @ 080CF557 + .incbin "baserom.gba", 0x0CF557, 0x000000D + +gUnk_080CF564:: @ 080CF564 + .incbin "baserom.gba", 0x0CF564, 0x000000D + +gUnk_080CF571:: @ 080CF571 + .incbin "baserom.gba", 0x0CF571, 0x000000D + +gUnk_080CF57E:: @ 080CF57E + .incbin "baserom.gba", 0x0CF57E, 0x000000D + +gUnk_080CF58B:: @ 080CF58B + .incbin "baserom.gba", 0x0CF58B, 0x000000D + +gUnk_080CF598:: @ 080CF598 + .incbin "baserom.gba", 0x0CF598, 0x000000D + +gUnk_080CF5A5:: @ 080CF5A5 + .incbin "baserom.gba", 0x0CF5A5, 0x000000D + +gUnk_080CF5B2:: @ 080CF5B2 + .incbin "baserom.gba", 0x0CF5B2, 0x000000D + +gUnk_080CF5BF:: @ 080CF5BF + .incbin "baserom.gba", 0x0CF5BF, 0x000000D + +gUnk_080CF5CC:: @ 080CF5CC + .incbin "baserom.gba", 0x0CF5CC, 0x0000034 + +gUnk_080CF600:: @ 080CF600 + .incbin "baserom.gba", 0x0CF600, 0x0000018 + +gUnk_080CF618:: @ 080CF618 + .incbin "baserom.gba", 0x0CF618, 0x0000014 + +gUnk_080CF62C:: @ 080CF62C + .incbin "baserom.gba", 0x0CF62C, 0x0000008 + +gUnk_080CF634:: @ 080CF634 + .incbin "baserom.gba", 0x0CF634, 0x0000008 + +gUnk_080CF63C:: @ 080CF63C + .incbin "baserom.gba", 0x0CF63C, 0x0000008 + +gUnk_080CF644:: @ 080CF644 + .incbin "baserom.gba", 0x0CF644, 0x0000005 + +gUnk_080CF649:: @ 080CF649 + .incbin "baserom.gba", 0x0CF649, 0x0000005 + +gUnk_080CF64E:: @ 080CF64E + .incbin "baserom.gba", 0x0CF64E, 0x0000005 + +gUnk_080CF653:: @ 080CF653 + .incbin "baserom.gba", 0x0CF653, 0x0000005 + +gUnk_080CF658:: @ 080CF658 + .incbin "baserom.gba", 0x0CF658, 0x0000011 + +gUnk_080CF669:: @ 080CF669 + .incbin "baserom.gba", 0x0CF669, 0x0000011 + +gUnk_080CF67A:: @ 080CF67A + .incbin "baserom.gba", 0x0CF67A, 0x0000011 + +gUnk_080CF68B:: @ 080CF68B + .incbin "baserom.gba", 0x0CF68B, 0x0000011 + +gUnk_080CF69C:: @ 080CF69C + .incbin "baserom.gba", 0x0CF69C, 0x0000005 + +gUnk_080CF6A1:: @ 080CF6A1 + .incbin "baserom.gba", 0x0CF6A1, 0x0000005 + +gUnk_080CF6A6:: @ 080CF6A6 + .incbin "baserom.gba", 0x0CF6A6, 0x0000005 + +gUnk_080CF6AB:: @ 080CF6AB + .incbin "baserom.gba", 0x0CF6AB, 0x0000005 + +gUnk_080CF6B0:: @ 080CF6B0 + .incbin "baserom.gba", 0x0CF6B0, 0x0000011 + +gUnk_080CF6C1:: @ 080CF6C1 + .incbin "baserom.gba", 0x0CF6C1, 0x0000011 + +gUnk_080CF6D2:: @ 080CF6D2 + .incbin "baserom.gba", 0x0CF6D2, 0x0000011 + +gUnk_080CF6E3:: @ 080CF6E3 + .incbin "baserom.gba", 0x0CF6E3, 0x0000011 + +gUnk_080CF6F4:: @ 080CF6F4 + .incbin "baserom.gba", 0x0CF6F4, 0x000000C + +gUnk_080CF700:: @ 080CF700 + .incbin "baserom.gba", 0x0CF700, 0x000000C + +gUnk_080CF70C:: @ 080CF70C + .incbin "baserom.gba", 0x0CF70C, 0x000000C + +gUnk_080CF718:: @ 080CF718 + .incbin "baserom.gba", 0x0CF718, 0x000000C + +gUnk_080CF724:: @ 080CF724 + .incbin "baserom.gba", 0x0CF724, 0x0000054 + +gUnk_080CF778:: @ 080CF778 + .incbin "baserom.gba", 0x0CF778, 0x0000018 + +gUnk_080CF790:: @ 080CF790 + .incbin "baserom.gba", 0x0CF790, 0x000001C + +gUnk_080CF7AC:: @ 080CF7AC + .incbin "baserom.gba", 0x0CF7AC, 0x0000010 + +gUnk_080CF7BC:: @ 080CF7BC + .incbin "baserom.gba", 0x0CF7BC, 0x0000002 + +gUnk_080CF7BE:: @ 080CF7BE + .incbin "baserom.gba", 0x0CF7BE, 0x0000004 + +gUnk_080CF7C2:: @ 080CF7C2 + .incbin "baserom.gba", 0x0CF7C2, 0x0000002 + +gUnk_080CF7C4:: @ 080CF7C4 + .incbin "baserom.gba", 0x0CF7C4, 0x0000037 + +gUnk_080CF7FB:: @ 080CF7FB + .incbin "baserom.gba", 0x0CF7FB, 0x0000018 + +gUnk_080CF813:: @ 080CF813 + .incbin "baserom.gba", 0x0CF813, 0x0000011 + +gUnk_080CF824:: @ 080CF824 + .incbin "baserom.gba", 0x0CF824, 0x0000004 + +gUnk_080CF828:: @ 080CF828 + .incbin "baserom.gba", 0x0CF828, 0x0000004 + +gUnk_080CF82C:: @ 080CF82C + .incbin "baserom.gba", 0x0CF82C, 0x0000002 + +gUnk_080CF82E:: @ 080CF82E + .incbin "baserom.gba", 0x0CF82E, 0x0000003 + +gUnk_080CF831:: @ 080CF831 + .incbin "baserom.gba", 0x0CF831, 0x0000005 + +gUnk_080CF836:: @ 080CF836 + .incbin "baserom.gba", 0x0CF836, 0x0000011 + +gUnk_080CF847:: @ 080CF847 + .incbin "baserom.gba", 0x0CF847, 0x0000018 + +gUnk_080CF85F:: @ 080CF85F + .incbin "baserom.gba", 0x0CF85F, 0x0000020 + +gUnk_080CF87F:: @ 080CF87F + .incbin "baserom.gba", 0x0CF87F, 0x0000011 + +gUnk_080CF890:: @ 080CF890 + .incbin "baserom.gba", 0x0CF890, 0x0000014 + +gUnk_080CF8A4:: @ 080CF8A4 + .incbin "baserom.gba", 0x0CF8A4, 0x0000018 + +gUnk_080CF8BC:: @ 080CF8BC + .incbin "baserom.gba", 0x0CF8BC, 0x0000030 + +gUnk_080CF8EC:: @ 080CF8EC + .incbin "baserom.gba", 0x0CF8EC, 0x000000C + +gUnk_080CF8F8:: @ 080CF8F8 + .incbin "baserom.gba", 0x0CF8F8, 0x0000008 + +gUnk_080CF900:: @ 080CF900 + .incbin "baserom.gba", 0x0CF900, 0x0000010 + +gUnk_080CF910:: @ 080CF910 + .incbin "baserom.gba", 0x0CF910, 0x0000008 + +gUnk_080CF918:: @ 080CF918 + .incbin "baserom.gba", 0x0CF918, 0x0000010 + +gUnk_080CF928:: @ 080CF928 + .incbin "baserom.gba", 0x0CF928, 0x0000004 + +gUnk_080CF92C:: @ 080CF92C + .incbin "baserom.gba", 0x0CF92C, 0x0000004 + +gUnk_080CF930:: @ 080CF930 + .incbin "baserom.gba", 0x0CF930, 0x0000008 + +gUnk_080CF938:: @ 080CF938 + .incbin "baserom.gba", 0x0CF938, 0x000000A + +gUnk_080CF942:: @ 080CF942 + .incbin "baserom.gba", 0x0CF942, 0x0000004 + +gUnk_080CF946:: @ 080CF946 + .incbin "baserom.gba", 0x0CF946, 0x0000004 + +gUnk_080CF94A:: @ 080CF94A + .incbin "baserom.gba", 0x0CF94A, 0x0000004 + +gUnk_080CF94E:: @ 080CF94E + .incbin "baserom.gba", 0x0CF94E, 0x0000004 + +gUnk_080CF952:: @ 080CF952 + .incbin "baserom.gba", 0x0CF952, 0x0000019 + +gUnk_080CF96B:: @ 080CF96B + .incbin "baserom.gba", 0x0CF96B, 0x0000019 + +gUnk_080CF984:: @ 080CF984 + .incbin "baserom.gba", 0x0CF984, 0x0000019 + +gUnk_080CF99D:: @ 080CF99D + .incbin "baserom.gba", 0x0CF99D, 0x0000019 + +gUnk_080CF9B6:: @ 080CF9B6 + .incbin "baserom.gba", 0x0CF9B6, 0x0000004 + +gUnk_080CF9BA:: @ 080CF9BA + .incbin "baserom.gba", 0x0CF9BA, 0x0000004 + +gUnk_080CF9BE:: @ 080CF9BE + .incbin "baserom.gba", 0x0CF9BE, 0x0000004 + +gUnk_080CF9C2:: @ 080CF9C2 + .incbin "baserom.gba", 0x0CF9C2, 0x0000004 + +gUnk_080CF9C6:: @ 080CF9C6 + .incbin "baserom.gba", 0x0CF9C6, 0x0000011 + +gUnk_080CF9D7:: @ 080CF9D7 + .incbin "baserom.gba", 0x0CF9D7, 0x0000011 + +gUnk_080CF9E8:: @ 080CF9E8 + .incbin "baserom.gba", 0x0CF9E8, 0x000000B + +gUnk_080CF9F3:: @ 080CF9F3 + .incbin "baserom.gba", 0x0CF9F3, 0x0000004 + +gUnk_080CF9F7:: @ 080CF9F7 + .incbin "baserom.gba", 0x0CF9F7, 0x0000002 + +gUnk_080CF9F9:: @ 080CF9F9 + .incbin "baserom.gba", 0x0CF9F9, 0x0000011 + +gUnk_080CFA0A:: @ 080CFA0A + .incbin "baserom.gba", 0x0CFA0A, 0x0000004 + +gUnk_080CFA0E:: @ 080CFA0E + .incbin "baserom.gba", 0x0CFA0E, 0x0000004 + +gUnk_080CFA12:: @ 080CFA12 + .incbin "baserom.gba", 0x0CFA12, 0x0000004 + +gUnk_080CFA16:: @ 080CFA16 + .incbin "baserom.gba", 0x0CFA16, 0x0000004 + +gUnk_080CFA1A:: @ 080CFA1A + .incbin "baserom.gba", 0x0CFA1A, 0x0000019 + +gUnk_080CFA33:: @ 080CFA33 + .incbin "baserom.gba", 0x0CFA33, 0x0000019 + +gUnk_080CFA4C:: @ 080CFA4C + .incbin "baserom.gba", 0x0CFA4C, 0x0000019 + +gUnk_080CFA65:: @ 080CFA65 + .incbin "baserom.gba", 0x0CFA65, 0x0000019 + +gUnk_080CFA7E:: @ 080CFA7E + .incbin "baserom.gba", 0x0CFA7E, 0x0000014 + +gUnk_080CFA92:: @ 080CFA92 + .incbin "baserom.gba", 0x0CFA92, 0x0000014 + +gUnk_080CFAA6:: @ 080CFAA6 + .incbin "baserom.gba", 0x0CFAA6, 0x0000014 + +gUnk_080CFABA:: @ 080CFABA + .incbin "baserom.gba", 0x0CFABA, 0x0000014 + +gUnk_080CFACE:: @ 080CFACE + .incbin "baserom.gba", 0x0CFACE, 0x0000004 + +gUnk_080CFAD2:: @ 080CFAD2 + .incbin "baserom.gba", 0x0CFAD2, 0x0000004 + +gUnk_080CFAD6:: @ 080CFAD6 + .incbin "baserom.gba", 0x0CFAD6, 0x0000004 + +gUnk_080CFADA:: @ 080CFADA + .incbin "baserom.gba", 0x0CFADA, 0x0000004 + +gUnk_080CFADE:: @ 080CFADE + .incbin "baserom.gba", 0x0CFADE, 0x0000004 + +gUnk_080CFAE2:: @ 080CFAE2 + .incbin "baserom.gba", 0x0CFAE2, 0x0000004 + +gUnk_080CFAE6:: @ 080CFAE6 + .incbin "baserom.gba", 0x0CFAE6, 0x0000004 + +gUnk_080CFAEA:: @ 080CFAEA + .incbin "baserom.gba", 0x0CFAEA, 0x0000006 + +gUnk_080CFAF0:: @ 080CFAF0 + .incbin "baserom.gba", 0x0CFAF0, 0x0000003 + +gUnk_080CFAF3:: @ 080CFAF3 + .incbin "baserom.gba", 0x0CFAF3, 0x0000091 + +gUnk_080CFB84:: @ 080CFB84 + .incbin "baserom.gba", 0x0CFB84, 0x0000018 + +gUnk_080CFB9C:: @ 080CFB9C + .incbin "baserom.gba", 0x0CFB9C, 0x0000020 + +gUnk_080CFBBC:: @ 080CFBBC + .incbin "baserom.gba", 0x0CFBBC, 0x0000018 + +gUnk_080CFBD4:: @ 080CFBD4 + .incbin "baserom.gba", 0x0CFBD4, 0x0000010 + +gUnk_080CFBE4:: @ 080CFBE4 + .incbin "baserom.gba", 0x0CFBE4, 0x0000004 + +gUnk_080CFBE8:: @ 080CFBE8 + .incbin "baserom.gba", 0x0CFBE8, 0x0000024 + +gUnk_080CFC0C:: @ 080CFC0C + .incbin "baserom.gba", 0x0CFC0C, 0x0000008 + +gUnk_080CFC14:: @ 080CFC14 + .incbin "baserom.gba", 0x0CFC14, 0x0000018 + +gUnk_080CFC2C:: @ 080CFC2C + .incbin "baserom.gba", 0x0CFC2C, 0x0000010 + +gUnk_080CFC3C:: @ 080CFC3C + .incbin "baserom.gba", 0x0CFC3C, 0x00000BB + +gUnk_080CFCF7:: @ 080CFCF7 + .incbin "baserom.gba", 0x0CFCF7, 0x0000011 + +gUnk_080CFD08:: @ 080CFD08 + .incbin "baserom.gba", 0x0CFD08, 0x0000002 + +gUnk_080CFD0A:: @ 080CFD0A + .incbin "baserom.gba", 0x0CFD0A, 0x0000002 + +gUnk_080CFD0C:: @ 080CFD0C + .incbin "baserom.gba", 0x0CFD0C, 0x000000D + +gUnk_080CFD19:: @ 080CFD19 + .incbin "baserom.gba", 0x0CFD19, 0x0000002 + +gUnk_080CFD1B:: @ 080CFD1B + .incbin "baserom.gba", 0x0CFD1B, 0x0000002 + +gUnk_080CFD1D:: @ 080CFD1D + .incbin "baserom.gba", 0x0CFD1D, 0x0000003 + +gUnk_080CFD20:: @ 080CFD20 + .incbin "baserom.gba", 0x0CFD20, 0x0000010 + +gUnk_080CFD30:: @ 080CFD30 + .incbin "baserom.gba", 0x0CFD30, 0x0000014 + +gUnk_080CFD44:: @ 080CFD44 + .incbin "baserom.gba", 0x0CFD44, 0x0000014 + +gUnk_080CFD58:: @ 080CFD58 + .incbin "baserom.gba", 0x0CFD58, 0x0000004 + +gUnk_080CFD5C:: @ 080CFD5C + .incbin "baserom.gba", 0x0CFD5C, 0x0000004 + +gUnk_080CFD60:: @ 080CFD60 + .incbin "baserom.gba", 0x0CFD60, 0x0000011 + +gUnk_080CFD71:: @ 080CFD71 + .incbin "baserom.gba", 0x0CFD71, 0x0000011 + +gUnk_080CFD82:: @ 080CFD82 + .incbin "baserom.gba", 0x0CFD82, 0x0000054 + +gUnk_080CFDD6:: @ 080CFDD6 + .incbin "baserom.gba", 0x0CFDD6, 0x0000013 + +gUnk_080CFDE9:: @ 080CFDE9 + .incbin "baserom.gba", 0x0CFDE9, 0x0000041 + +gUnk_080CFE2A:: @ 080CFE2A + .incbin "baserom.gba", 0x0CFE2A, 0x000000D + +gUnk_080CFE37:: @ 080CFE37 + .incbin "baserom.gba", 0x0CFE37, 0x000000D + +gUnk_080CFE44:: @ 080CFE44 + .incbin "baserom.gba", 0x0CFE44, 0x0000008 + +gUnk_080CFE4C:: @ 080CFE4C + .incbin "baserom.gba", 0x0CFE4C, 0x0000008 + +gUnk_080CFE54:: @ 080CFE54 + .incbin "baserom.gba", 0x0CFE54, 0x0000004 + +gUnk_080CFE58:: @ 080CFE58 + .incbin "baserom.gba", 0x0CFE58, 0x0000004 + +gUnk_080CFE5C:: @ 080CFE5C + .incbin "baserom.gba", 0x0CFE5C, 0x0000004 + +gUnk_080CFE60:: @ 080CFE60 + .incbin "baserom.gba", 0x0CFE60, 0x0000011 + +gUnk_080CFE71:: @ 080CFE71 + .incbin "baserom.gba", 0x0CFE71, 0x0000005 + +gUnk_080CFE76:: @ 080CFE76 + .incbin "baserom.gba", 0x0CFE76, 0x0000005 + +gUnk_080CFE7B:: @ 080CFE7B + .incbin "baserom.gba", 0x0CFE7B, 0x0000005 + +gUnk_080CFE80:: @ 080CFE80 + .incbin "baserom.gba", 0x0CFE80, 0x0000005 + +gUnk_080CFE85:: @ 080CFE85 + .incbin "baserom.gba", 0x0CFE85, 0x0000005 + +gUnk_080CFE8A:: @ 080CFE8A + .incbin "baserom.gba", 0x0CFE8A, 0x0000005 + +gUnk_080CFE8F:: @ 080CFE8F + .incbin "baserom.gba", 0x0CFE8F, 0x0000005 + +gUnk_080CFE94:: @ 080CFE94 + .incbin "baserom.gba", 0x0CFE94, 0x0000005 + +gUnk_080CFE99:: @ 080CFE99 + .incbin "baserom.gba", 0x0CFE99, 0x0000005 + +gUnk_080CFE9E:: @ 080CFE9E + .incbin "baserom.gba", 0x0CFE9E, 0x0000005 + +gUnk_080CFEA3:: @ 080CFEA3 + .incbin "baserom.gba", 0x0CFEA3, 0x000000D + +gUnk_080CFEB0:: @ 080CFEB0 + .incbin "baserom.gba", 0x0CFEB0, 0x0000011 + +gUnk_080CFEC1:: @ 080CFEC1 + .incbin "baserom.gba", 0x0CFEC1, 0x0000013 + +gUnk_080CFED4:: @ 080CFED4 + .incbin "baserom.gba", 0x0CFED4, 0x0000028 + +gUnk_080CFEFC:: @ 080CFEFC + .incbin "baserom.gba", 0x0CFEFC, 0x0000040 + +gUnk_080CFF3C:: @ 080CFF3C + .incbin "baserom.gba", 0x0CFF3C, 0x0000018 + +gUnk_080CFF54:: @ 080CFF54 + .incbin "baserom.gba", 0x0CFF54, 0x0000018 + +gUnk_080CFF6C:: @ 080CFF6C + .incbin "baserom.gba", 0x0CFF6C, 0x000000C + +gUnk_080CFF78:: @ 080CFF78 + .incbin "baserom.gba", 0x0CFF78, 0x0000018 + +gUnk_080CFF90:: @ 080CFF90 + .incbin "baserom.gba", 0x0CFF90, 0x0000014 + +gUnk_080CFFA4:: @ 080CFFA4 + .incbin "baserom.gba", 0x0CFFA4, 0x0000008 + +gUnk_080CFFAC:: @ 080CFFAC + .incbin "baserom.gba", 0x0CFFAC, 0x0000010 + +gUnk_080CFFBC:: @ 080CFFBC + .incbin "baserom.gba", 0x0CFFBC, 0x0000008 + +gUnk_080CFFC4:: @ 080CFFC4 + .incbin "baserom.gba", 0x0CFFC4, 0x0000008 + +gUnk_080CFFCC:: @ 080CFFCC + .incbin "baserom.gba", 0x0CFFCC, 0x0000009 + +gUnk_080CFFD5:: @ 080CFFD5 + .incbin "baserom.gba", 0x0CFFD5, 0x0000009 + +gUnk_080CFFDE:: @ 080CFFDE + .incbin "baserom.gba", 0x0CFFDE, 0x0000009 + +gUnk_080CFFE7:: @ 080CFFE7 + .incbin "baserom.gba", 0x0CFFE7, 0x0000009 + +gUnk_080CFFF0:: @ 080CFFF0 + .incbin "baserom.gba", 0x0CFFF0, 0x0000011 + +gUnk_080D0001:: @ 080D0001 + .incbin "baserom.gba", 0x0D0001, 0x0000004 + +gUnk_080D0005:: @ 080D0005 + .incbin "baserom.gba", 0x0D0005, 0x0000003 + +gUnk_080D0008:: @ 080D0008 + .incbin "baserom.gba", 0x0D0008, 0x0000001 + +gUnk_080D0009:: @ 080D0009 + .incbin "baserom.gba", 0x0D0009, 0x0000003 + +gUnk_080D000C:: @ 080D000C + .incbin "baserom.gba", 0x0D000C, 0x0000006 + +gUnk_080D0012:: @ 080D0012 + .incbin "baserom.gba", 0x0D0012, 0x0000011 + +gUnk_080D0023:: @ 080D0023 + .incbin "baserom.gba", 0x0D0023, 0x0000009 + +gUnk_080D002C:: @ 080D002C + .incbin "baserom.gba", 0x0D002C, 0x0000008 + +gUnk_080D0034:: @ 080D0034 + .incbin "baserom.gba", 0x0D0034, 0x0000011 + +gUnk_080D0045:: @ 080D0045 + .incbin "baserom.gba", 0x0D0045, 0x0000011 + +gUnk_080D0056:: @ 080D0056 + .incbin "baserom.gba", 0x0D0056, 0x0000011 + +gUnk_080D0067:: @ 080D0067 + .incbin "baserom.gba", 0x0D0067, 0x0000011 + +gUnk_080D0078:: @ 080D0078 + .incbin "baserom.gba", 0x0D0078, 0x0000015 + +gUnk_080D008D:: @ 080D008D + .incbin "baserom.gba", 0x0D008D, 0x0000015 + +gUnk_080D00A2:: @ 080D00A2 + .incbin "baserom.gba", 0x0D00A2, 0x0000015 + +gUnk_080D00B7:: @ 080D00B7 + .incbin "baserom.gba", 0x0D00B7, 0x0000015 + +gUnk_080D00CC:: @ 080D00CC + .incbin "baserom.gba", 0x0D00CC, 0x0000008 + +gUnk_080D00D4:: @ 080D00D4 + .incbin "baserom.gba", 0x0D00D4, 0x000002C + +gUnk_080D0100:: @ 080D0100 + .incbin "baserom.gba", 0x0D0100, 0x0000010 + +gUnk_080D0110:: @ 080D0110 + .incbin "baserom.gba", 0x0D0110, 0x0000018 + +gUnk_080D0128:: @ 080D0128 + .incbin "baserom.gba", 0x0D0128, 0x0000020 + +gUnk_080D0148:: @ 080D0148 + .incbin "baserom.gba", 0x0D0148, 0x000000C + +gUnk_080D0154:: @ 080D0154 + .incbin "baserom.gba", 0x0D0154, 0x0000008 + +gUnk_080D015C:: @ 080D015C + .incbin "baserom.gba", 0x0D015C, 0x0000011 + +gUnk_080D016D:: @ 080D016D + .incbin "baserom.gba", 0x0D016D, 0x0000011 + +gUnk_080D017E:: @ 080D017E + .incbin "baserom.gba", 0x0D017E, 0x0000011 + +gUnk_080D018F:: @ 080D018F + .incbin "baserom.gba", 0x0D018F, 0x0000011 + +gUnk_080D01A0:: @ 080D01A0 + .incbin "baserom.gba", 0x0D01A0, 0x0000011 + +gUnk_080D01B1:: @ 080D01B1 + .incbin "baserom.gba", 0x0D01B1, 0x0000011 + +gUnk_080D01C2:: @ 080D01C2 + .incbin "baserom.gba", 0x0D01C2, 0x0000011 + +gUnk_080D01D3:: @ 080D01D3 + .incbin "baserom.gba", 0x0D01D3, 0x0000011 + +gUnk_080D01E4:: @ 080D01E4 + .incbin "baserom.gba", 0x0D01E4, 0x000000B + +gUnk_080D01EF:: @ 080D01EF + .incbin "baserom.gba", 0x0D01EF, 0x000001D + +gUnk_080D020C:: @ 080D020C + .incbin "baserom.gba", 0x0D020C, 0x0000004 + +gUnk_080D0210:: @ 080D0210 + .incbin "baserom.gba", 0x0D0210, 0x0000001 + +gUnk_080D0211:: @ 080D0211 + .incbin "baserom.gba", 0x0D0211, 0x0000014 + +gUnk_080D0225:: @ 080D0225 + .incbin "baserom.gba", 0x0D0225, 0x0000041 + +gUnk_080D0266:: @ 080D0266 + .incbin "baserom.gba", 0x0D0266, 0x0000041 + +gUnk_080D02A7:: @ 080D02A7 + .incbin "baserom.gba", 0x0D02A7, 0x0000041 + +gUnk_080D02E8:: @ 080D02E8 + .incbin "baserom.gba", 0x0D02E8, 0x000000B + +gUnk_080D02F3:: @ 080D02F3 + .incbin "baserom.gba", 0x0D02F3, 0x0000003 + +gUnk_080D02F6:: @ 080D02F6 + .incbin "baserom.gba", 0x0D02F6, 0x0000001 + +gUnk_080D02F7:: @ 080D02F7 + .incbin "baserom.gba", 0x0D02F7, 0x0000002 + +gUnk_080D02F9:: @ 080D02F9 + .incbin "baserom.gba", 0x0D02F9, 0x0000003 + +gUnk_080D02FC:: @ 080D02FC + .incbin "baserom.gba", 0x0D02FC, 0x0000004 + +gUnk_080D0300:: @ 080D0300 + .incbin "baserom.gba", 0x0D0300, 0x000000A + +gUnk_080D030A:: @ 080D030A + .incbin "baserom.gba", 0x0D030A, 0x0000011 + +gUnk_080D031B:: @ 080D031B + .incbin "baserom.gba", 0x0D031B, 0x0000011 + +gUnk_080D032C:: @ 080D032C + .incbin "baserom.gba", 0x0D032C, 0x0000011 + +gUnk_080D033D:: @ 080D033D + .incbin "baserom.gba", 0x0D033D, 0x0000011 + +gUnk_080D034E:: @ 080D034E + .incbin "baserom.gba", 0x0D034E, 0x0000011 + +gUnk_080D035F:: @ 080D035F + .incbin "baserom.gba", 0x0D035F, 0x0000011 + +gUnk_080D0370:: @ 080D0370 + .incbin "baserom.gba", 0x0D0370, 0x0000011 + +gUnk_080D0381:: @ 080D0381 + .incbin "baserom.gba", 0x0D0381, 0x0000011 + +gUnk_080D0392:: @ 080D0392 + .incbin "baserom.gba", 0x0D0392, 0x0000011 + +gUnk_080D03A3:: @ 080D03A3 + .incbin "baserom.gba", 0x0D03A3, 0x0000011 + +gUnk_080D03B4:: @ 080D03B4 + .incbin "baserom.gba", 0x0D03B4, 0x000003C + +gUnk_080D03F0:: @ 080D03F0 + .incbin "baserom.gba", 0x0D03F0, 0x0000014 + +gUnk_080D0404:: @ 080D0404 + .incbin "baserom.gba", 0x0D0404, 0x0000014 + +gUnk_080D0418:: @ 080D0418 + .incbin "baserom.gba", 0x0D0418, 0x0000018 + +gUnk_080D0430:: @ 080D0430 + .incbin "baserom.gba", 0x0D0430, 0x000000C + +gUnk_080D043C:: @ 080D043C + .incbin "baserom.gba", 0x0D043C, 0x000000C + +gUnk_080D0448:: @ 080D0448 + .incbin "baserom.gba", 0x0D0448, 0x0000010 + +gUnk_080D0458:: @ 080D0458 + .incbin "baserom.gba", 0x0D0458, 0x0000010 + +gUnk_080D0468:: @ 080D0468 + .incbin "baserom.gba", 0x0D0468, 0x0000008 + +gUnk_080D0470:: @ 080D0470 + .incbin "baserom.gba", 0x0D0470, 0x0000020 + +gUnk_080D0490:: @ 080D0490 + .incbin "baserom.gba", 0x0D0490, 0x0000008 + +gUnk_080D0498:: @ 080D0498 + .incbin "baserom.gba", 0x0D0498, 0x0000008 + +gUnk_080D04A0:: @ 080D04A0 + .incbin "baserom.gba", 0x0D04A0, 0x0000008 + +gUnk_080D04A8:: @ 080D04A8 + .incbin "baserom.gba", 0x0D04A8, 0x0000004 + +gUnk_080D04AC:: @ 080D04AC + .incbin "baserom.gba", 0x0D04AC, 0x0000014 + +gUnk_080D04C0:: @ 080D04C0 + .incbin "baserom.gba", 0x0D04C0, 0x0000008 + +gUnk_080D04C8:: @ 080D04C8 + .incbin "baserom.gba", 0x0D04C8, 0x0000008 + +gUnk_080D04D0:: @ 080D04D0 + .incbin "baserom.gba", 0x0D04D0, 0x0000003 + +gUnk_080D04D3:: @ 080D04D3 + .incbin "baserom.gba", 0x0D04D3, 0x0000004 + +gUnk_080D04D7:: @ 080D04D7 + .incbin "baserom.gba", 0x0D04D7, 0x0000011 + +gUnk_080D04E8:: @ 080D04E8 + .incbin "baserom.gba", 0x0D04E8, 0x0000011 + +gUnk_080D04F9:: @ 080D04F9 + .incbin "baserom.gba", 0x0D04F9, 0x0000005 + +gUnk_080D04FE:: @ 080D04FE + .incbin "baserom.gba", 0x0D04FE, 0x0000003 + +gUnk_080D0501:: @ 080D0501 + .incbin "baserom.gba", 0x0D0501, 0x0000001 + +gUnk_080D0502:: @ 080D0502 + .incbin "baserom.gba", 0x0D0502, 0x0000006 + +gUnk_080D0508:: @ 080D0508 + .incbin "baserom.gba", 0x0D0508, 0x0000005 + +gUnk_080D050D:: @ 080D050D + .incbin "baserom.gba", 0x0D050D, 0x0000024 + +gUnk_080D0531:: @ 080D0531 + .incbin "baserom.gba", 0x0D0531, 0x0000027 + +gUnk_080D0558:: @ 080D0558 + .incbin "baserom.gba", 0x0D0558, 0x0000018 + +gUnk_080D0570:: @ 080D0570 + .incbin "baserom.gba", 0x0D0570, 0x0000005 + +gUnk_080D0575:: @ 080D0575 + .incbin "baserom.gba", 0x0D0575, 0x0000010 + +gUnk_080D0585:: @ 080D0585 + .incbin "baserom.gba", 0x0D0585, 0x0000007 + +gUnk_080D058C:: @ 080D058C + .incbin "baserom.gba", 0x0D058C, 0x0000010 + +gUnk_080D059C:: @ 080D059C + .incbin "baserom.gba", 0x0D059C, 0x0000011 + +gUnk_080D05AD:: @ 080D05AD + .incbin "baserom.gba", 0x0D05AD, 0x0000011 + +gUnk_080D05BE:: @ 080D05BE + .incbin "baserom.gba", 0x0D05BE, 0x0000011 + +gUnk_080D05CF:: @ 080D05CF + .incbin "baserom.gba", 0x0D05CF, 0x0000011 + +gUnk_080D05E0:: @ 080D05E0 + .incbin "baserom.gba", 0x0D05E0, 0x0000014 + +gUnk_080D05F4:: @ 080D05F4 + .incbin "baserom.gba", 0x0D05F4, 0x0000006 + +gUnk_080D05FA:: @ 080D05FA + .incbin "baserom.gba", 0x0D05FA, 0x0000002 + +gUnk_080D05FC:: @ 080D05FC + .incbin "baserom.gba", 0x0D05FC, 0x0000001 + +gUnk_080D05FD:: @ 080D05FD + .incbin "baserom.gba", 0x0D05FD, 0x0000001 + +gUnk_080D05FE:: @ 080D05FE + .incbin "baserom.gba", 0x0D05FE, 0x0000007 + +gUnk_080D0605:: @ 080D0605 + .incbin "baserom.gba", 0x0D0605, 0x0000003 + +gUnk_080D0608:: @ 080D0608 + .incbin "baserom.gba", 0x0D0608, 0x0000001 + +gUnk_080D0609:: @ 080D0609 + .incbin "baserom.gba", 0x0D0609, 0x0000015 + +gUnk_080D061E:: @ 080D061E + .incbin "baserom.gba", 0x0D061E, 0x0000016 + +gUnk_080D0634:: @ 080D0634 + .incbin "baserom.gba", 0x0D0634, 0x0000014 + +gUnk_080D0648:: @ 080D0648 + .incbin "baserom.gba", 0x0D0648, 0x0000018 + +gUnk_080D0660:: @ 080D0660 + .incbin "baserom.gba", 0x0D0660, 0x0000028 + +gUnk_080D0688:: @ 080D0688 + .incbin "baserom.gba", 0x0D0688, 0x0000019 + +gUnk_080D06A1:: @ 080D06A1 + .incbin "baserom.gba", 0x0D06A1, 0x0000011 + +gUnk_080D06B2:: @ 080D06B2 + .incbin "baserom.gba", 0x0D06B2, 0x000001E + +gUnk_080D06D0:: @ 080D06D0 + .incbin "baserom.gba", 0x0D06D0, 0x0000010 + +gUnk_080D06E0:: @ 080D06E0 + .incbin "baserom.gba", 0x0D06E0, 0x0000008 + +gUnk_080D06E8:: @ 080D06E8 + .incbin "baserom.gba", 0x0D06E8, 0x0000010 + +gUnk_080D06F8:: @ 080D06F8 + .incbin "baserom.gba", 0x0D06F8, 0x0000004 + +gUnk_080D06FC:: @ 080D06FC + .incbin "baserom.gba", 0x0D06FC, 0x0000002 + +gUnk_080D06FE:: @ 080D06FE + .incbin "baserom.gba", 0x0D06FE, 0x0000002 + +gUnk_080D0700:: @ 080D0700 + .incbin "baserom.gba", 0x0D0700, 0x0000001 + +gUnk_080D0701:: @ 080D0701 + .incbin "baserom.gba", 0x0D0701, 0x0000023 + +gUnk_080D0724:: @ 080D0724 + .incbin "baserom.gba", 0x0D0724, 0x0000004 + +gUnk_080D0728:: @ 080D0728 + .incbin "baserom.gba", 0x0D0728, 0x0000008 + +gUnk_080D0730:: @ 080D0730 + .incbin "baserom.gba", 0x0D0730, 0x0000008 + +gUnk_080D0738:: @ 080D0738 + .incbin "baserom.gba", 0x0D0738, 0x0000004 + +gUnk_080D073C:: @ 080D073C + .incbin "baserom.gba", 0x0D073C, 0x0000004 + +gUnk_080D0740:: @ 080D0740 + .incbin "baserom.gba", 0x0D0740, 0x0000004 + +gUnk_080D0744:: @ 080D0744 + .incbin "baserom.gba", 0x0D0744, 0x0000004 + +gUnk_080D0748:: @ 080D0748 + .incbin "baserom.gba", 0x0D0748, 0x0000004 + +gUnk_080D074C:: @ 080D074C + .incbin "baserom.gba", 0x0D074C, 0x0000004 + +gUnk_080D0750:: @ 080D0750 + .incbin "baserom.gba", 0x0D0750, 0x0000004 + +gUnk_080D0754:: @ 080D0754 + .incbin "baserom.gba", 0x0D0754, 0x0000004 + +gUnk_080D0758:: @ 080D0758 + .incbin "baserom.gba", 0x0D0758, 0x0000004 + +gUnk_080D075C:: @ 080D075C + .incbin "baserom.gba", 0x0D075C, 0x0000004 + +gUnk_080D0760:: @ 080D0760 + .incbin "baserom.gba", 0x0D0760, 0x0000004 + +gUnk_080D0764:: @ 080D0764 + .incbin "baserom.gba", 0x0D0764, 0x0000004 + +gUnk_080D0768:: @ 080D0768 + .incbin "baserom.gba", 0x0D0768, 0x0000004 + +gUnk_080D076C:: @ 080D076C + .incbin "baserom.gba", 0x0D076C, 0x0000004 + +gUnk_080D0770:: @ 080D0770 + .incbin "baserom.gba", 0x0D0770, 0x0000004 + +gUnk_080D0774:: @ 080D0774 + .incbin "baserom.gba", 0x0D0774, 0x0000004 + +gUnk_080D0778:: @ 080D0778 + .incbin "baserom.gba", 0x0D0778, 0x0000004 + +gUnk_080D077C:: @ 080D077C + .incbin "baserom.gba", 0x0D077C, 0x0000004 + +gUnk_080D0780:: @ 080D0780 + .incbin "baserom.gba", 0x0D0780, 0x0000004 + +gUnk_080D0784:: @ 080D0784 + .incbin "baserom.gba", 0x0D0784, 0x0000004 + +gUnk_080D0788:: @ 080D0788 + .incbin "baserom.gba", 0x0D0788, 0x0000004 + +gUnk_080D078C:: @ 080D078C + .incbin "baserom.gba", 0x0D078C, 0x0000004 + +gUnk_080D0790:: @ 080D0790 + .incbin "baserom.gba", 0x0D0790, 0x0000004 + +gUnk_080D0794:: @ 080D0794 + .incbin "baserom.gba", 0x0D0794, 0x0000004 + +gUnk_080D0798:: @ 080D0798 + .incbin "baserom.gba", 0x0D0798, 0x0000004 + +gUnk_080D079C:: @ 080D079C + .incbin "baserom.gba", 0x0D079C, 0x0000004 + +gUnk_080D07A0:: @ 080D07A0 + .incbin "baserom.gba", 0x0D07A0, 0x0000004 + +gUnk_080D07A4:: @ 080D07A4 + .incbin "baserom.gba", 0x0D07A4, 0x0000004 + +gUnk_080D07A8:: @ 080D07A8 + .incbin "baserom.gba", 0x0D07A8, 0x0000004 + +gUnk_080D07AC:: @ 080D07AC + .incbin "baserom.gba", 0x0D07AC, 0x0000004 + +gUnk_080D07B0:: @ 080D07B0 + .incbin "baserom.gba", 0x0D07B0, 0x0000004 + +gUnk_080D07B4:: @ 080D07B4 + .incbin "baserom.gba", 0x0D07B4, 0x0000004 + +gUnk_080D07B8:: @ 080D07B8 + .incbin "baserom.gba", 0x0D07B8, 0x000000D + +gUnk_080D07C5:: @ 080D07C5 + .incbin "baserom.gba", 0x0D07C5, 0x000000D + +gUnk_080D07D2:: @ 080D07D2 + .incbin "baserom.gba", 0x0D07D2, 0x000000D + +gUnk_080D07DF:: @ 080D07DF + .incbin "baserom.gba", 0x0D07DF, 0x000000D + +gUnk_080D07EC:: @ 080D07EC + .incbin "baserom.gba", 0x0D07EC, 0x0000010 + +gUnk_080D07FC:: @ 080D07FC + .incbin "baserom.gba", 0x0D07FC, 0x0000001 + +gUnk_080D07FD:: @ 080D07FD + .incbin "baserom.gba", 0x0D07FD, 0x0000002 + +gUnk_080D07FF:: @ 080D07FF + .incbin "baserom.gba", 0x0D07FF, 0x0000001 + +gUnk_080D0800:: @ 080D0800 + .incbin "baserom.gba", 0x0D0800, 0x0000001 + +gUnk_080D0801:: @ 080D0801 + .incbin "baserom.gba", 0x0D0801, 0x0000005 + +gUnk_080D0806:: @ 080D0806 + .incbin "baserom.gba", 0x0D0806, 0x0000001 + +gUnk_080D0807:: @ 080D0807 + .incbin "baserom.gba", 0x0D0807, 0x0000003 + +gUnk_080D080A:: @ 080D080A + .incbin "baserom.gba", 0x0D080A, 0x000000F + +gUnk_080D0819:: @ 080D0819 + .incbin "baserom.gba", 0x0D0819, 0x0000067 + +gUnk_080D0880:: @ 080D0880 + .incbin "baserom.gba", 0x0D0880, 0x0000018 + +gUnk_080D0898:: @ 080D0898 + .incbin "baserom.gba", 0x0D0898, 0x000002C + +gUnk_080D08C4:: @ 080D08C4 + .incbin "baserom.gba", 0x0D08C4, 0x0000004 + +gUnk_080D08C8:: @ 080D08C8 + .incbin "baserom.gba", 0x0D08C8, 0x0000035 + +gUnk_080D08FD:: @ 080D08FD + .incbin "baserom.gba", 0x0D08FD, 0x0000003 + +gUnk_080D0900:: @ 080D0900 + .incbin "baserom.gba", 0x0D0900, 0x0000003 + +gUnk_080D0903:: @ 080D0903 + .incbin "baserom.gba", 0x0D0903, 0x0000001 + +gUnk_080D0904:: @ 080D0904 + .incbin "baserom.gba", 0x0D0904, 0x0000002 + +gUnk_080D0906:: @ 080D0906 + .incbin "baserom.gba", 0x0D0906, 0x0000002 + +gUnk_080D0908:: @ 080D0908 + .incbin "baserom.gba", 0x0D0908, 0x000000A + +gUnk_080D0912:: @ 080D0912 + .incbin "baserom.gba", 0x0D0912, 0x0000012 + +gUnk_080D0924:: @ 080D0924 + .incbin "baserom.gba", 0x0D0924, 0x0000018 + +gUnk_080D093C:: @ 080D093C + .incbin "baserom.gba", 0x0D093C, 0x0000028 + +gUnk_080D0964:: @ 080D0964 + .incbin "baserom.gba", 0x0D0964, 0x000000C + +gUnk_080D0970:: @ 080D0970 + .incbin "baserom.gba", 0x0D0970, 0x0000004 + +gUnk_080D0974:: @ 080D0974 + .incbin "baserom.gba", 0x0D0974, 0x0000004 + +gUnk_080D0978:: @ 080D0978 + .incbin "baserom.gba", 0x0D0978, 0x0000008 + +gUnk_080D0980:: @ 080D0980 + .incbin "baserom.gba", 0x0D0980, 0x0000004 + +gUnk_080D0984:: @ 080D0984 + .incbin "baserom.gba", 0x0D0984, 0x0000004 + +gUnk_080D0988:: @ 080D0988 + .incbin "baserom.gba", 0x0D0988, 0x000001C + +gUnk_080D09A4:: @ 080D09A4 + .incbin "baserom.gba", 0x0D09A4, 0x0000025 + +gUnk_080D09C9:: @ 080D09C9 + .incbin "baserom.gba", 0x0D09C9, 0x0000025 + +gUnk_080D09EE:: @ 080D09EE + .incbin "baserom.gba", 0x0D09EE, 0x000000E + +gUnk_080D09FC:: @ 080D09FC + .incbin "baserom.gba", 0x0D09FC, 0x0000005 + +gUnk_080D0A01:: @ 080D0A01 + .incbin "baserom.gba", 0x0D0A01, 0x0000002 + +gUnk_080D0A03:: @ 080D0A03 + .incbin "baserom.gba", 0x0D0A03, 0x0000005 + +gUnk_080D0A08:: @ 080D0A08 + .incbin "baserom.gba", 0x0D0A08, 0x0000002 + +gUnk_080D0A0A:: @ 080D0A0A + .incbin "baserom.gba", 0x0D0A0A, 0x0000002 + +gUnk_080D0A0C:: @ 080D0A0C + .incbin "baserom.gba", 0x0D0A0C, 0x0000001 + +gUnk_080D0A0D:: @ 080D0A0D + .incbin "baserom.gba", 0x0D0A0D, 0x0000001 + +gUnk_080D0A0E:: @ 080D0A0E + .incbin "baserom.gba", 0x0D0A0E, 0x0000002 + +gUnk_080D0A10:: @ 080D0A10 + .incbin "baserom.gba", 0x0D0A10, 0x0000022 + +gUnk_080D0A32:: @ 080D0A32 + .incbin "baserom.gba", 0x0D0A32, 0x0000039 + +gUnk_080D0A6B:: @ 080D0A6B + .incbin "baserom.gba", 0x0D0A6B, 0x0000004 + +gUnk_080D0A6F:: @ 080D0A6F + .incbin "baserom.gba", 0x0D0A6F, 0x0000004 + +gUnk_080D0A73:: @ 080D0A73 + .incbin "baserom.gba", 0x0D0A73, 0x000000C + +gUnk_080D0A7F:: @ 080D0A7F + .incbin "baserom.gba", 0x0D0A7F, 0x000000C + +gUnk_080D0A8B:: @ 080D0A8B + .incbin "baserom.gba", 0x0D0A8B, 0x0000005 + +gUnk_080D0A90:: @ 080D0A90 + .incbin "baserom.gba", 0x0D0A90, 0x000002C + +gUnk_080D0ABC:: @ 080D0ABC + .incbin "baserom.gba", 0x0D0ABC, 0x0000003 + +gUnk_080D0ABF:: @ 080D0ABF + .incbin "baserom.gba", 0x0D0ABF, 0x0000009 + +gUnk_080D0AC8:: @ 080D0AC8 + .incbin "baserom.gba", 0x0D0AC8, 0x0000020 + +gUnk_080D0AE8:: @ 080D0AE8 + .incbin "baserom.gba", 0x0D0AE8, 0x0000008 + +gUnk_080D0AF0:: @ 080D0AF0 + .incbin "baserom.gba", 0x0D0AF0, 0x000000C + +gUnk_080D0AFC:: @ 080D0AFC + .incbin "baserom.gba", 0x0D0AFC, 0x0000004 + +gUnk_080D0B00:: @ 080D0B00 + .incbin "baserom.gba", 0x0D0B00, 0x0000001 + +gUnk_080D0B01:: @ 080D0B01 + .incbin "baserom.gba", 0x0D0B01, 0x0000001 + +gUnk_080D0B02:: @ 080D0B02 + .incbin "baserom.gba", 0x0D0B02, 0x0000002 + +gUnk_080D0B04:: @ 080D0B04 + .incbin "baserom.gba", 0x0D0B04, 0x0000002 + +gUnk_080D0B06:: @ 080D0B06 + .incbin "baserom.gba", 0x0D0B06, 0x0000006 + +gUnk_080D0B0C:: @ 080D0B0C + .incbin "baserom.gba", 0x0D0B0C, 0x0000003 + +gUnk_080D0B0F:: @ 080D0B0F + .incbin "baserom.gba", 0x0D0B0F, 0x0000001 + +gUnk_080D0B10:: @ 080D0B10 + .incbin "baserom.gba", 0x0D0B10, 0x0000008 + +gUnk_080D0B18:: @ 080D0B18 + .incbin "baserom.gba", 0x0D0B18, 0x0000011 + +gUnk_080D0B29:: @ 080D0B29 + .incbin "baserom.gba", 0x0D0B29, 0x000002F + +gUnk_080D0B58:: @ 080D0B58 + .incbin "baserom.gba", 0x0D0B58, 0x000000C + +gUnk_080D0B64:: @ 080D0B64 + .incbin "baserom.gba", 0x0D0B64, 0x0000010 + +gUnk_080D0B74:: @ 080D0B74 + .incbin "baserom.gba", 0x0D0B74, 0x0000010 + +gUnk_080D0B84:: @ 080D0B84 + .incbin "baserom.gba", 0x0D0B84, 0x0000020 + +gUnk_080D0BA4:: @ 080D0BA4 + .incbin "baserom.gba", 0x0D0BA4, 0x0000011 + +gUnk_080D0BB5:: @ 080D0BB5 + .incbin "baserom.gba", 0x0D0BB5, 0x000000F + +gUnk_080D0BC4:: @ 080D0BC4 + .incbin "baserom.gba", 0x0D0BC4, 0x0000018 + +gUnk_080D0BDC:: @ 080D0BDC + .incbin "baserom.gba", 0x0D0BDC, 0x0000005 + +gUnk_080D0BE1:: @ 080D0BE1 + .incbin "baserom.gba", 0x0D0BE1, 0x000000C + +gUnk_080D0BED:: @ 080D0BED + .incbin "baserom.gba", 0x0D0BED, 0x0000005 + +gUnk_080D0BF2:: @ 080D0BF2 + .incbin "baserom.gba", 0x0D0BF2, 0x0000005 + +gUnk_080D0BF7:: @ 080D0BF7 + .incbin "baserom.gba", 0x0D0BF7, 0x0000004 + +gUnk_080D0BFB:: @ 080D0BFB + .incbin "baserom.gba", 0x0D0BFB, 0x0000001 + +gUnk_080D0BFC:: @ 080D0BFC + .incbin "baserom.gba", 0x0D0BFC, 0x0000004 + +gUnk_080D0C00:: @ 080D0C00 + .incbin "baserom.gba", 0x0D0C00, 0x0000006 + +gUnk_080D0C06:: @ 080D0C06 + .incbin "baserom.gba", 0x0D0C06, 0x0000002 + +gUnk_080D0C08:: @ 080D0C08 + .incbin "baserom.gba", 0x0D0C08, 0x0000002 + +gUnk_080D0C0A:: @ 080D0C0A + .incbin "baserom.gba", 0x0D0C0A, 0x0000002 + +gUnk_080D0C0C:: @ 080D0C0C + .incbin "baserom.gba", 0x0D0C0C, 0x0000028 + +gUnk_080D0C34:: @ 080D0C34 + .incbin "baserom.gba", 0x0D0C34, 0x0000021 + +gUnk_080D0C55:: @ 080D0C55 + .incbin "baserom.gba", 0x0D0C55, 0x0000033 + +gUnk_080D0C88:: @ 080D0C88 + .incbin "baserom.gba", 0x0D0C88, 0x0000018 + +gUnk_080D0CA0:: @ 080D0CA0 + .incbin "baserom.gba", 0x0D0CA0, 0x0000005 + +gUnk_080D0CA5:: @ 080D0CA5 + .incbin "baserom.gba", 0x0D0CA5, 0x0000030 + +gUnk_080D0CD5:: @ 080D0CD5 + .incbin "baserom.gba", 0x0D0CD5, 0x0000011 + +gUnk_080D0CE6:: @ 080D0CE6 + .incbin "baserom.gba", 0x0D0CE6, 0x000000E + +gUnk_080D0CF4:: @ 080D0CF4 + .incbin "baserom.gba", 0x0D0CF4, 0x0000010 + +gUnk_080D0D04:: @ 080D0D04 + .incbin "baserom.gba", 0x0D0D04, 0x0000001 + +gUnk_080D0D05:: @ 080D0D05 + .incbin "baserom.gba", 0x0D0D05, 0x0000001 + +gUnk_080D0D06:: @ 080D0D06 + .incbin "baserom.gba", 0x0D0D06, 0x0000003 + +gUnk_080D0D09:: @ 080D0D09 + .incbin "baserom.gba", 0x0D0D09, 0x0000002 + +gUnk_080D0D0B:: @ 080D0D0B + .incbin "baserom.gba", 0x0D0D0B, 0x0000001 + +gUnk_080D0D0C:: @ 080D0D0C + .incbin "baserom.gba", 0x0D0D0C, 0x0000002 + +gUnk_080D0D0E:: @ 080D0D0E + .incbin "baserom.gba", 0x0D0D0E, 0x0000006 + +gUnk_080D0D14:: @ 080D0D14 + .incbin "baserom.gba", 0x0D0D14, 0x000002C + +gUnk_080D0D40:: @ 080D0D40 + .incbin "baserom.gba", 0x0D0D40, 0x0000008 + +gUnk_080D0D48:: @ 080D0D48 + .incbin "baserom.gba", 0x0D0D48, 0x0000030 + +gUnk_080D0D78:: @ 080D0D78 + .incbin "baserom.gba", 0x0D0D78, 0x0000019 + +gUnk_080D0D91:: @ 080D0D91 + .incbin "baserom.gba", 0x0D0D91, 0x0000010 + +gUnk_080D0DA1:: @ 080D0DA1 + .incbin "baserom.gba", 0x0D0DA1, 0x000000F + +gUnk_080D0DB0:: @ 080D0DB0 + .incbin "baserom.gba", 0x0D0DB0, 0x0000014 + +gUnk_080D0DC4:: @ 080D0DC4 + .incbin "baserom.gba", 0x0D0DC4, 0x0000018 + +gUnk_080D0DDC:: @ 080D0DDC + .incbin "baserom.gba", 0x0D0DDC, 0x000001B + +gUnk_080D0DF7:: @ 080D0DF7 + .incbin "baserom.gba", 0x0D0DF7, 0x000000A + +gUnk_080D0E01:: @ 080D0E01 + .incbin "baserom.gba", 0x0D0E01, 0x0000007 + +gUnk_080D0E08:: @ 080D0E08 + .incbin "baserom.gba", 0x0D0E08, 0x0000002 + +gUnk_080D0E0A:: @ 080D0E0A + .incbin "baserom.gba", 0x0D0E0A, 0x0000002 + +gUnk_080D0E0C:: @ 080D0E0C + .incbin "baserom.gba", 0x0D0E0C, 0x0000001 + +gUnk_080D0E0D:: @ 080D0E0D + .incbin "baserom.gba", 0x0D0E0D, 0x0000001 + +gUnk_080D0E0E:: @ 080D0E0E + .incbin "baserom.gba", 0x0D0E0E, 0x0000001 + +gUnk_080D0E0F:: @ 080D0E0F + .incbin "baserom.gba", 0x0D0E0F, 0x0000004 + +gUnk_080D0E13:: @ 080D0E13 + .incbin "baserom.gba", 0x0D0E13, 0x0000001 + +gUnk_080D0E14:: @ 080D0E14 + .incbin "baserom.gba", 0x0D0E14, 0x0000004 + +gUnk_080D0E18:: @ 080D0E18 + .incbin "baserom.gba", 0x0D0E18, 0x0000004 + +gUnk_080D0E1C:: @ 080D0E1C + .incbin "baserom.gba", 0x0D0E1C, 0x0000010 + +gUnk_080D0E2C:: @ 080D0E2C + .incbin "baserom.gba", 0x0D0E2C, 0x0000038 + +gUnk_080D0E64:: @ 080D0E64 + .incbin "baserom.gba", 0x0D0E64, 0x0000004 + +gUnk_080D0E68:: @ 080D0E68 + .incbin "baserom.gba", 0x0D0E68, 0x0000018 + +gUnk_080D0E80:: @ 080D0E80 + .incbin "baserom.gba", 0x0D0E80, 0x0000010 + +gUnk_080D0E90:: @ 080D0E90 + .incbin "baserom.gba", 0x0D0E90, 0x0000010 + +gUnk_080D0EA0:: @ 080D0EA0 + .incbin "baserom.gba", 0x0D0EA0, 0x0000008 + +gUnk_080D0EA8:: @ 080D0EA8 + .incbin "baserom.gba", 0x0D0EA8, 0x0000004 + +gUnk_080D0EAC:: @ 080D0EAC + .incbin "baserom.gba", 0x0D0EAC, 0x0000004 + +gUnk_080D0EB0:: @ 080D0EB0 + .incbin "baserom.gba", 0x0D0EB0, 0x0000020 + +gUnk_080D0ED0:: @ 080D0ED0 + .incbin "baserom.gba", 0x0D0ED0, 0x0000019 + +gUnk_080D0EE9:: @ 080D0EE9 + .incbin "baserom.gba", 0x0D0EE9, 0x000000C + +gUnk_080D0EF5:: @ 080D0EF5 + .incbin "baserom.gba", 0x0D0EF5, 0x000000D + +gUnk_080D0F02:: @ 080D0F02 + .incbin "baserom.gba", 0x0D0F02, 0x0000003 + +gUnk_080D0F05:: @ 080D0F05 + .incbin "baserom.gba", 0x0D0F05, 0x0000003 + +gUnk_080D0F08:: @ 080D0F08 + .incbin "baserom.gba", 0x0D0F08, 0x0000001 + +gUnk_080D0F09:: @ 080D0F09 + .incbin "baserom.gba", 0x0D0F09, 0x0000004 + +gUnk_080D0F0D:: @ 080D0F0D + .incbin "baserom.gba", 0x0D0F0D, 0x0000001 + +gUnk_080D0F0E:: @ 080D0F0E + .incbin "baserom.gba", 0x0D0F0E, 0x0000001 + +gUnk_080D0F0F:: @ 080D0F0F + .incbin "baserom.gba", 0x0D0F0F, 0x0000001 + +gUnk_080D0F10:: @ 080D0F10 + .incbin "baserom.gba", 0x0D0F10, 0x0000001 + +gUnk_080D0F11:: @ 080D0F11 + .incbin "baserom.gba", 0x0D0F11, 0x0000001 + +gUnk_080D0F12:: @ 080D0F12 + .incbin "baserom.gba", 0x0D0F12, 0x0000001 + +gUnk_080D0F13:: @ 080D0F13 + .incbin "baserom.gba", 0x0D0F13, 0x0000004 + +gUnk_080D0F17:: @ 080D0F17 + .incbin "baserom.gba", 0x0D0F17, 0x0000011 + +gUnk_080D0F28:: @ 080D0F28 + .incbin "baserom.gba", 0x0D0F28, 0x0000045 + +gUnk_080D0F6D:: @ 080D0F6D + .incbin "baserom.gba", 0x0D0F6D, 0x0000015 + +gUnk_080D0F82:: @ 080D0F82 + .incbin "baserom.gba", 0x0D0F82, 0x0000019 + +gUnk_080D0F9B:: @ 080D0F9B + .incbin "baserom.gba", 0x0D0F9B, 0x0000015 + +gUnk_080D0FB0:: @ 080D0FB0 + .incbin "baserom.gba", 0x0D0FB0, 0x0000011 + +gUnk_080D0FC1:: @ 080D0FC1 + .incbin "baserom.gba", 0x0D0FC1, 0x0000015 + +gUnk_080D0FD6:: @ 080D0FD6 + .incbin "baserom.gba", 0x0D0FD6, 0x000001D + +gUnk_080D0FF3:: @ 080D0FF3 + .incbin "baserom.gba", 0x0D0FF3, 0x0000005 + +gUnk_080D0FF8:: @ 080D0FF8 + .incbin "baserom.gba", 0x0D0FF8, 0x0000015 + +gUnk_080D100D:: @ 080D100D + .incbin "baserom.gba", 0x0D100D, 0x0000002 + +gUnk_080D100F:: @ 080D100F + .incbin "baserom.gba", 0x0D100F, 0x0000001 + +gUnk_080D1010:: @ 080D1010 + .incbin "baserom.gba", 0x0D1010, 0x0000001 + +gUnk_080D1011:: @ 080D1011 + .incbin "baserom.gba", 0x0D1011, 0x0000001 + +gUnk_080D1012:: @ 080D1012 + .incbin "baserom.gba", 0x0D1012, 0x0000001 + +gUnk_080D1013:: @ 080D1013 + .incbin "baserom.gba", 0x0D1013, 0x0000006 + +gUnk_080D1019:: @ 080D1019 + .incbin "baserom.gba", 0x0D1019, 0x0000012 + +gUnk_080D102B:: @ 080D102B + .incbin "baserom.gba", 0x0D102B, 0x000000B + +gUnk_080D1036:: @ 080D1036 + .incbin "baserom.gba", 0x0D1036, 0x0000019 + +gUnk_080D104F:: @ 080D104F + .incbin "baserom.gba", 0x0D104F, 0x0000011 + +gUnk_080D1060:: @ 080D1060 + .incbin "baserom.gba", 0x0D1060, 0x000000D + +gUnk_080D106D:: @ 080D106D + .incbin "baserom.gba", 0x0D106D, 0x000000D + +gUnk_080D107A:: @ 080D107A + .incbin "baserom.gba", 0x0D107A, 0x0000005 + +gUnk_080D107F:: @ 080D107F + .incbin "baserom.gba", 0x0D107F, 0x0000021 + +gUnk_080D10A0:: @ 080D10A0 + .incbin "baserom.gba", 0x0D10A0, 0x0000015 + +gUnk_080D10B5:: @ 080D10B5 + .incbin "baserom.gba", 0x0D10B5, 0x0000011 + +gUnk_080D10C6:: @ 080D10C6 + .incbin "baserom.gba", 0x0D10C6, 0x0000011 + +gUnk_080D10D7:: @ 080D10D7 + .incbin "baserom.gba", 0x0D10D7, 0x0000015 + +gUnk_080D10EC:: @ 080D10EC + .incbin "baserom.gba", 0x0D10EC, 0x0000005 + +gUnk_080D10F1:: @ 080D10F1 + .incbin "baserom.gba", 0x0D10F1, 0x0000015 + +gUnk_080D1106:: @ 080D1106 + .incbin "baserom.gba", 0x0D1106, 0x0000006 + +gUnk_080D110C:: @ 080D110C + .incbin "baserom.gba", 0x0D110C, 0x0000003 + +gUnk_080D110F:: @ 080D110F + .incbin "baserom.gba", 0x0D110F, 0x0000001 + +gUnk_080D1110:: @ 080D1110 + .incbin "baserom.gba", 0x0D1110, 0x0000001 + +gUnk_080D1111:: @ 080D1111 + .incbin "baserom.gba", 0x0D1111, 0x0000001 + +gUnk_080D1112:: @ 080D1112 + .incbin "baserom.gba", 0x0D1112, 0x0000002 + +gUnk_080D1114:: @ 080D1114 + .incbin "baserom.gba", 0x0D1114, 0x0000001 + +gUnk_080D1115:: @ 080D1115 + .incbin "baserom.gba", 0x0D1115, 0x0000001 + +gUnk_080D1116:: @ 080D1116 + .incbin "baserom.gba", 0x0D1116, 0x0000001 + +gUnk_080D1117:: @ 080D1117 + .incbin "baserom.gba", 0x0D1117, 0x0000007 + +gUnk_080D111E:: @ 080D111E + .incbin "baserom.gba", 0x0D111E, 0x000001A + +gUnk_080D1138:: @ 080D1138 + .incbin "baserom.gba", 0x0D1138, 0x0000015 + +gUnk_080D114D:: @ 080D114D + .incbin "baserom.gba", 0x0D114D, 0x0000031 + +gUnk_080D117E:: @ 080D117E + .incbin "baserom.gba", 0x0D117E, 0x0000019 + +gUnk_080D1197:: @ 080D1197 + .incbin "baserom.gba", 0x0D1197, 0x0000015 + +gUnk_080D11AC:: @ 080D11AC + .incbin "baserom.gba", 0x0D11AC, 0x000005C + +gUnk_080D1208:: @ 080D1208 + .incbin "baserom.gba", 0x0D1208, 0x0000004 + +gUnk_080D120C:: @ 080D120C + .incbin "baserom.gba", 0x0D120C, 0x0000001 + +gUnk_080D120D:: @ 080D120D + .incbin "baserom.gba", 0x0D120D, 0x0000002 + +gUnk_080D120F:: @ 080D120F + .incbin "baserom.gba", 0x0D120F, 0x0000002 + +gUnk_080D1211:: @ 080D1211 + .incbin "baserom.gba", 0x0D1211, 0x0000003 + +gUnk_080D1214:: @ 080D1214 + .incbin "baserom.gba", 0x0D1214, 0x0000001 + +gUnk_080D1215:: @ 080D1215 + .incbin "baserom.gba", 0x0D1215, 0x0000001 + +gUnk_080D1216:: @ 080D1216 + .incbin "baserom.gba", 0x0D1216, 0x0000001 + +gUnk_080D1217:: @ 080D1217 + .incbin "baserom.gba", 0x0D1217, 0x0000001 + +gUnk_080D1218:: @ 080D1218 + .incbin "baserom.gba", 0x0D1218, 0x0000001 + +gUnk_080D1219:: @ 080D1219 + .incbin "baserom.gba", 0x0D1219, 0x0000004 + +gUnk_080D121D:: @ 080D121D + .incbin "baserom.gba", 0x0D121D, 0x0000013 + +gUnk_080D1230:: @ 080D1230 + .incbin "baserom.gba", 0x0D1230, 0x0000018 + +gUnk_080D1248:: @ 080D1248 + .incbin "baserom.gba", 0x0D1248, 0x0000014 + +gUnk_080D125C:: @ 080D125C + .incbin "baserom.gba", 0x0D125C, 0x0000024 + +gUnk_080D1280:: @ 080D1280 + .incbin "baserom.gba", 0x0D1280, 0x0000004 + +gUnk_080D1284:: @ 080D1284 + .incbin "baserom.gba", 0x0D1284, 0x0000002 + +gUnk_080D1286:: @ 080D1286 + .incbin "baserom.gba", 0x0D1286, 0x000000A + +gUnk_080D1290:: @ 080D1290 + .incbin "baserom.gba", 0x0D1290, 0x000001C + +gUnk_080D12AC:: @ 080D12AC + .incbin "baserom.gba", 0x0D12AC, 0x0000004 + +gUnk_080D12B0:: @ 080D12B0 + .incbin "baserom.gba", 0x0D12B0, 0x0000002 + +gUnk_080D12B2:: @ 080D12B2 + .incbin "baserom.gba", 0x0D12B2, 0x0000002 + +gUnk_080D12B4:: @ 080D12B4 + .incbin "baserom.gba", 0x0D12B4, 0x0000002 + +gUnk_080D12B6:: @ 080D12B6 + .incbin "baserom.gba", 0x0D12B6, 0x0000002 + +gUnk_080D12B8:: @ 080D12B8 + .incbin "baserom.gba", 0x0D12B8, 0x0000010 + +gUnk_080D12C8:: @ 080D12C8 + .incbin "baserom.gba", 0x0D12C8, 0x0000002 + +gUnk_080D12CA:: @ 080D12CA + .incbin "baserom.gba", 0x0D12CA, 0x0000006 + +gUnk_080D12D0:: @ 080D12D0 + .incbin "baserom.gba", 0x0D12D0, 0x000001D + +gUnk_080D12ED:: @ 080D12ED + .incbin "baserom.gba", 0x0D12ED, 0x000000B + +gUnk_080D12F8:: @ 080D12F8 + .incbin "baserom.gba", 0x0D12F8, 0x0000006 + +gUnk_080D12FE:: @ 080D12FE + .incbin "baserom.gba", 0x0D12FE, 0x0000002 + +gUnk_080D1300:: @ 080D1300 + .incbin "baserom.gba", 0x0D1300, 0x0000004 + +gUnk_080D1304:: @ 080D1304 + .incbin "baserom.gba", 0x0D1304, 0x0000008 + +gUnk_080D130C:: @ 080D130C + .incbin "baserom.gba", 0x0D130C, 0x0000001 + +gUnk_080D130D:: @ 080D130D + .incbin "baserom.gba", 0x0D130D, 0x0000003 + +gUnk_080D1310:: @ 080D1310 + .incbin "baserom.gba", 0x0D1310, 0x0000004 + +gUnk_080D1314:: @ 080D1314 + .incbin "baserom.gba", 0x0D1314, 0x0000001 + +gUnk_080D1315:: @ 080D1315 + .incbin "baserom.gba", 0x0D1315, 0x0000001 + +gUnk_080D1316:: @ 080D1316 + .incbin "baserom.gba", 0x0D1316, 0x0000001 + +gUnk_080D1317:: @ 080D1317 + .incbin "baserom.gba", 0x0D1317, 0x0000001 + +gUnk_080D1318:: @ 080D1318 + .incbin "baserom.gba", 0x0D1318, 0x0000001 + +gUnk_080D1319:: @ 080D1319 + .incbin "baserom.gba", 0x0D1319, 0x0000001 + +gUnk_080D131A:: @ 080D131A + .incbin "baserom.gba", 0x0D131A, 0x0000002 + +gUnk_080D131C:: @ 080D131C + .incbin "baserom.gba", 0x0D131C, 0x0000004 + +gUnk_080D1320:: @ 080D1320 + .incbin "baserom.gba", 0x0D1320, 0x0000018 + +gUnk_080D1338:: @ 080D1338 + .incbin "baserom.gba", 0x0D1338, 0x0000004 + +gUnk_080D133C:: @ 080D133C + .incbin "baserom.gba", 0x0D133C, 0x0000004 + +gUnk_080D1340:: @ 080D1340 + .incbin "baserom.gba", 0x0D1340, 0x0000008 + +gUnk_080D1348:: @ 080D1348 + .incbin "baserom.gba", 0x0D1348, 0x0000014 + +gUnk_080D135C:: @ 080D135C + .incbin "baserom.gba", 0x0D135C, 0x0000006 + +gUnk_080D1362:: @ 080D1362 + .incbin "baserom.gba", 0x0D1362, 0x0000050 + +gUnk_080D13B2:: @ 080D13B2 + .incbin "baserom.gba", 0x0D13B2, 0x0000005 + +gUnk_080D13B7:: @ 080D13B7 + .incbin "baserom.gba", 0x0D13B7, 0x0000021 + +gUnk_080D13D8:: @ 080D13D8 + .incbin "baserom.gba", 0x0D13D8, 0x0000008 + +gUnk_080D13E0:: @ 080D13E0 + .incbin "baserom.gba", 0x0D13E0, 0x0000003 + +gUnk_080D13E3:: @ 080D13E3 + .incbin "baserom.gba", 0x0D13E3, 0x0000006 + +gUnk_080D13E9:: @ 080D13E9 + .incbin "baserom.gba", 0x0D13E9, 0x0000003 + +gUnk_080D13EC:: @ 080D13EC + .incbin "baserom.gba", 0x0D13EC, 0x0000014 + +gUnk_080D1400:: @ 080D1400 + .incbin "baserom.gba", 0x0D1400, 0x000000D + +gUnk_080D140D:: @ 080D140D + .incbin "baserom.gba", 0x0D140D, 0x0000005 + +gUnk_080D1412:: @ 080D1412 + .incbin "baserom.gba", 0x0D1412, 0x0000002 + +gUnk_080D1414:: @ 080D1414 + .incbin "baserom.gba", 0x0D1414, 0x0000003 + +gUnk_080D1417:: @ 080D1417 + .incbin "baserom.gba", 0x0D1417, 0x0000001 + +gUnk_080D1418:: @ 080D1418 + .incbin "baserom.gba", 0x0D1418, 0x0000001 + +gUnk_080D1419:: @ 080D1419 + .incbin "baserom.gba", 0x0D1419, 0x0000003 + +gUnk_080D141C:: @ 080D141C + .incbin "baserom.gba", 0x0D141C, 0x0000002 + +gUnk_080D141E:: @ 080D141E + .incbin "baserom.gba", 0x0D141E, 0x0000001 + +gUnk_080D141F:: @ 080D141F + .incbin "baserom.gba", 0x0D141F, 0x0000004 + +gUnk_080D1423:: @ 080D1423 + .incbin "baserom.gba", 0x0D1423, 0x0000008 + +gUnk_080D142B:: @ 080D142B + .incbin "baserom.gba", 0x0D142B, 0x0000005 + +gUnk_080D1430:: @ 080D1430 + .incbin "baserom.gba", 0x0D1430, 0x0000005 + +gUnk_080D1435:: @ 080D1435 + .incbin "baserom.gba", 0x0D1435, 0x0000005 + +gUnk_080D143A:: @ 080D143A + .incbin "baserom.gba", 0x0D143A, 0x0000005 + +gUnk_080D143F:: @ 080D143F + .incbin "baserom.gba", 0x0D143F, 0x0000005 + +gUnk_080D1444:: @ 080D1444 + .incbin "baserom.gba", 0x0D1444, 0x0000005 + +gUnk_080D1449:: @ 080D1449 + .incbin "baserom.gba", 0x0D1449, 0x0000005 + +gUnk_080D144E:: @ 080D144E + .incbin "baserom.gba", 0x0D144E, 0x0000005 + +gUnk_080D1453:: @ 080D1453 + .incbin "baserom.gba", 0x0D1453, 0x0000005 + +gUnk_080D1458:: @ 080D1458 + .incbin "baserom.gba", 0x0D1458, 0x0000005 + +gUnk_080D145D:: @ 080D145D + .incbin "baserom.gba", 0x0D145D, 0x0000005 + +gUnk_080D1462:: @ 080D1462 + .incbin "baserom.gba", 0x0D1462, 0x0000005 + +gUnk_080D1467:: @ 080D1467 + .incbin "baserom.gba", 0x0D1467, 0x0000021 + +gUnk_080D1488:: @ 080D1488 + .incbin "baserom.gba", 0x0D1488, 0x0000005 + +gUnk_080D148D:: @ 080D148D + .incbin "baserom.gba", 0x0D148D, 0x0000051 + +gUnk_080D14DE:: @ 080D14DE + .incbin "baserom.gba", 0x0D14DE, 0x0000015 + +gUnk_080D14F3:: @ 080D14F3 + .incbin "baserom.gba", 0x0D14F3, 0x0000019 + +gUnk_080D150C:: @ 080D150C + .incbin "baserom.gba", 0x0D150C, 0x0000009 + +gUnk_080D1515:: @ 080D1515 + .incbin "baserom.gba", 0x0D1515, 0x0000005 + +gUnk_080D151A:: @ 080D151A + .incbin "baserom.gba", 0x0D151A, 0x000000B + +gUnk_080D1525:: @ 080D1525 + .incbin "baserom.gba", 0x0D1525, 0x0000005 + +gUnk_080D152A:: @ 080D152A + .incbin "baserom.gba", 0x0D152A, 0x0000006 + +gUnk_080D1530:: @ 080D1530 + .incbin "baserom.gba", 0x0D1530, 0x0000058 + +gUnk_080D1588:: @ 080D1588 + .incbin "baserom.gba", 0x0D1588, 0x0000018 + +gUnk_080D15A0:: @ 080D15A0 + .incbin "baserom.gba", 0x0D15A0, 0x0000008 + +gUnk_080D15A8:: @ 080D15A8 + .incbin "baserom.gba", 0x0D15A8, 0x000000C + +gUnk_080D15B4:: @ 080D15B4 + .incbin "baserom.gba", 0x0D15B4, 0x0000050 + +gUnk_080D1604:: @ 080D1604 + .incbin "baserom.gba", 0x0D1604, 0x0000014 + +gUnk_080D1618:: @ 080D1618 + .incbin "baserom.gba", 0x0D1618, 0x0000005 + +gUnk_080D161D:: @ 080D161D + .incbin "baserom.gba", 0x0D161D, 0x0000003 + +gUnk_080D1620:: @ 080D1620 + .incbin "baserom.gba", 0x0D1620, 0x0000008 + +gUnk_080D1628:: @ 080D1628 + .incbin "baserom.gba", 0x0D1628, 0x0000007 + +gUnk_080D162F:: @ 080D162F + .incbin "baserom.gba", 0x0D162F, 0x0000009 + +gUnk_080D1638:: @ 080D1638 + .incbin "baserom.gba", 0x0D1638, 0x0000005 + +gUnk_080D163D:: @ 080D163D + .incbin "baserom.gba", 0x0D163D, 0x0000031 + +gUnk_080D166E:: @ 080D166E + .incbin "baserom.gba", 0x0D166E, 0x0000026 + +gUnk_080D1694:: @ 080D1694 + .incbin "baserom.gba", 0x0D1694, 0x0000010 + +gUnk_080D16A4:: @ 080D16A4 + .incbin "baserom.gba", 0x0D16A4, 0x0000018 + +gUnk_080D16BC:: @ 080D16BC + .incbin "baserom.gba", 0x0D16BC, 0x0000014 + +gUnk_080D16D0:: @ 080D16D0 + .incbin "baserom.gba", 0x0D16D0, 0x0000004 + +gUnk_080D16D4:: @ 080D16D4 + .incbin "baserom.gba", 0x0D16D4, 0x0000008 + +gUnk_080D16DC:: @ 080D16DC + .incbin "baserom.gba", 0x0D16DC, 0x0000009 + +gUnk_080D16E5:: @ 080D16E5 + .incbin "baserom.gba", 0x0D16E5, 0x0000010 + +gUnk_080D16F5:: @ 080D16F5 + .incbin "baserom.gba", 0x0D16F5, 0x0000018 + +gUnk_080D170D:: @ 080D170D + .incbin "baserom.gba", 0x0D170D, 0x0000010 + +gUnk_080D171D:: @ 080D171D + .incbin "baserom.gba", 0x0D171D, 0x0000004 + +gUnk_080D1721:: @ 080D1721 + .incbin "baserom.gba", 0x0D1721, 0x0000020 + +gUnk_080D1741:: @ 080D1741 + .incbin "baserom.gba", 0x0D1741, 0x0000020 + +gUnk_080D1761:: @ 080D1761 + .incbin "baserom.gba", 0x0D1761, 0x0000009 + +gUnk_080D176A:: @ 080D176A + .incbin "baserom.gba", 0x0D176A, 0x0000009 + +gUnk_080D1773:: @ 080D1773 + .incbin "baserom.gba", 0x0D1773, 0x0000005 + +gUnk_080D1778:: @ 080D1778 + .incbin "baserom.gba", 0x0D1778, 0x0000005 + +gUnk_080D177D:: @ 080D177D + .incbin "baserom.gba", 0x0D177D, 0x0000013 + +gUnk_080D1790:: @ 080D1790 + .incbin "baserom.gba", 0x0D1790, 0x0000030 + +gUnk_080D17C0:: @ 080D17C0 + .incbin "baserom.gba", 0x0D17C0, 0x0000018 + +gUnk_080D17D8:: @ 080D17D8 + .incbin "baserom.gba", 0x0D17D8, 0x0000010 + +gUnk_080D17E8:: @ 080D17E8 + .incbin "baserom.gba", 0x0D17E8, 0x0000018 + +gUnk_080D1800:: @ 080D1800 + .incbin "baserom.gba", 0x0D1800, 0x000000C + +gUnk_080D180C:: @ 080D180C + .incbin "baserom.gba", 0x0D180C, 0x0000004 + +gUnk_080D1810:: @ 080D1810 + .incbin "baserom.gba", 0x0D1810, 0x0000008 + +gUnk_080D1818:: @ 080D1818 + .incbin "baserom.gba", 0x0D1818, 0x0000004 + +gUnk_080D181C:: @ 080D181C + .incbin "baserom.gba", 0x0D181C, 0x0000010 + +gUnk_080D182C:: @ 080D182C + .incbin "baserom.gba", 0x0D182C, 0x000000D + +gUnk_080D1839:: @ 080D1839 + .incbin "baserom.gba", 0x0D1839, 0x0000023 + +gUnk_080D185C:: @ 080D185C + .incbin "baserom.gba", 0x0D185C, 0x000000C + +gUnk_080D1868:: @ 080D1868 + .incbin "baserom.gba", 0x0D1868, 0x0000018 + +gUnk_080D1880:: @ 080D1880 + .incbin "baserom.gba", 0x0D1880, 0x0000008 + +gUnk_080D1888:: @ 080D1888 + .incbin "baserom.gba", 0x0D1888, 0x0000018 + +gUnk_080D18A0:: @ 080D18A0 + .incbin "baserom.gba", 0x0D18A0, 0x0000014 + +gUnk_080D18B4:: @ 080D18B4 + .incbin "baserom.gba", 0x0D18B4, 0x0000010 + +gUnk_080D18C4:: @ 080D18C4 + .incbin "baserom.gba", 0x0D18C4, 0x0000005 + +gUnk_080D18C9:: @ 080D18C9 + .incbin "baserom.gba", 0x0D18C9, 0x0000011 + +gUnk_080D18DA:: @ 080D18DA + .incbin "baserom.gba", 0x0D18DA, 0x0000019 + +gUnk_080D18F3:: @ 080D18F3 + .incbin "baserom.gba", 0x0D18F3, 0x0000021 + +gUnk_080D1914:: @ 080D1914 + .incbin "baserom.gba", 0x0D1914, 0x0000004 + +gUnk_080D1918:: @ 080D1918 + .incbin "baserom.gba", 0x0D1918, 0x0000005 + +gUnk_080D191D:: @ 080D191D + .incbin "baserom.gba", 0x0D191D, 0x0000007 + +gUnk_080D1924:: @ 080D1924 + .incbin "baserom.gba", 0x0D1924, 0x0000002 + +gUnk_080D1926:: @ 080D1926 + .incbin "baserom.gba", 0x0D1926, 0x0000009 + +gUnk_080D192F:: @ 080D192F + .incbin "baserom.gba", 0x0D192F, 0x0000005 + +gUnk_080D1934:: @ 080D1934 + .incbin "baserom.gba", 0x0D1934, 0x0000011 + +gUnk_080D1945:: @ 080D1945 + .incbin "baserom.gba", 0x0D1945, 0x0000015 + +gUnk_080D195A:: @ 080D195A + .incbin "baserom.gba", 0x0D195A, 0x000000D + +gUnk_080D1967:: @ 080D1967 + .incbin "baserom.gba", 0x0D1967, 0x0000021 + +gUnk_080D1988:: @ 080D1988 + .incbin "baserom.gba", 0x0D1988, 0x0000025 + +gUnk_080D19AD:: @ 080D19AD + .incbin "baserom.gba", 0x0D19AD, 0x000000B + +gUnk_080D19B8:: @ 080D19B8 + .incbin "baserom.gba", 0x0D19B8, 0x0000044 + +gUnk_080D19FC:: @ 080D19FC + .incbin "baserom.gba", 0x0D19FC, 0x0000018 + +gUnk_080D1A14:: @ 080D1A14 + .incbin "baserom.gba", 0x0D1A14, 0x0000024 + +gUnk_080D1A38:: @ 080D1A38 + .incbin "baserom.gba", 0x0D1A38, 0x0000006 + +gUnk_080D1A3E:: @ 080D1A3E + .incbin "baserom.gba", 0x0D1A3E, 0x0000010 + +gUnk_080D1A4E:: @ 080D1A4E + .incbin "baserom.gba", 0x0D1A4E, 0x0000016 + +gUnk_080D1A64:: @ 080D1A64 + .incbin "baserom.gba", 0x0D1A64, 0x0000010 + +gUnk_080D1A74:: @ 080D1A74 + .incbin "baserom.gba", 0x0D1A74, 0x0000010 + +gUnk_080D1A84:: @ 080D1A84 + .incbin "baserom.gba", 0x0D1A84, 0x0000010 + +gUnk_080D1A94:: @ 080D1A94 + .incbin "baserom.gba", 0x0D1A94, 0x0000018 + +gUnk_080D1AAC:: @ 080D1AAC + .incbin "baserom.gba", 0x0D1AAC, 0x0000018 + +gUnk_080D1AC4:: @ 080D1AC4 + .incbin "baserom.gba", 0x0D1AC4, 0x0000018 + +gUnk_080D1ADC:: @ 080D1ADC + .incbin "baserom.gba", 0x0D1ADC, 0x0000018 + +gUnk_080D1AF4:: @ 080D1AF4 + .incbin "baserom.gba", 0x0D1AF4, 0x0000004 + +gUnk_080D1AF8:: @ 080D1AF8 + .incbin "baserom.gba", 0x0D1AF8, 0x0000004 + +gUnk_080D1AFC:: @ 080D1AFC + .incbin "baserom.gba", 0x0D1AFC, 0x0000020 + +gUnk_080D1B1C:: @ 080D1B1C + .incbin "baserom.gba", 0x0D1B1C, 0x0000003 + +gUnk_080D1B1F:: @ 080D1B1F + .incbin "baserom.gba", 0x0D1B1F, 0x0000019 + +gUnk_080D1B38:: @ 080D1B38 + .incbin "baserom.gba", 0x0D1B38, 0x0000014 + +gUnk_080D1B4C:: @ 080D1B4C + .incbin "baserom.gba", 0x0D1B4C, 0x0000014 + +gUnk_080D1B60:: @ 080D1B60 + .incbin "baserom.gba", 0x0D1B60, 0x0000010 + +gUnk_080D1B70:: @ 080D1B70 + .incbin "baserom.gba", 0x0D1B70, 0x0000004 + +gUnk_080D1B74:: @ 080D1B74 + .incbin "baserom.gba", 0x0D1B74, 0x0000020 + +gUnk_080D1B94:: @ 080D1B94 + .incbin "baserom.gba", 0x0D1B94, 0x0000028 + +gUnk_080D1BBC:: @ 080D1BBC + .incbin "baserom.gba", 0x0D1BBC, 0x0000004 + +gUnk_080D1BC0:: @ 080D1BC0 + .incbin "baserom.gba", 0x0D1BC0, 0x000001C + +gUnk_080D1BDC:: @ 080D1BDC + .incbin "baserom.gba", 0x0D1BDC, 0x0000014 + +gUnk_080D1BF0:: @ 080D1BF0 + .incbin "baserom.gba", 0x0D1BF0, 0x0000004 + +gUnk_080D1BF4:: @ 080D1BF4 + .incbin "baserom.gba", 0x0D1BF4, 0x000000C + +gUnk_080D1C00:: @ 080D1C00 + .incbin "baserom.gba", 0x0D1C00, 0x0000004 + +gUnk_080D1C04:: @ 080D1C04 + .incbin "baserom.gba", 0x0D1C04, 0x0000017 + +gUnk_080D1C1B:: @ 080D1C1B + .incbin "baserom.gba", 0x0D1C1B, 0x0000013 + +gUnk_080D1C2E:: @ 080D1C2E + .incbin "baserom.gba", 0x0D1C2E, 0x0000016 + +gUnk_080D1C44:: @ 080D1C44 + .incbin "baserom.gba", 0x0D1C44, 0x000000C + +gUnk_080D1C50:: @ 080D1C50 + .incbin "baserom.gba", 0x0D1C50, 0x0000010 + +gUnk_080D1C60:: @ 080D1C60 + .incbin "baserom.gba", 0x0D1C60, 0x0000010 + +gUnk_080D1C70:: @ 080D1C70 + .incbin "baserom.gba", 0x0D1C70, 0x0000021 + +gUnk_080D1C91:: @ 080D1C91 + .incbin "baserom.gba", 0x0D1C91, 0x000002B + +gUnk_080D1CBC:: @ 080D1CBC + .incbin "baserom.gba", 0x0D1CBC, 0x000000C + +gUnk_080D1CC8:: @ 080D1CC8 + .incbin "baserom.gba", 0x0D1CC8, 0x0000018 + +gUnk_080D1CE0:: @ 080D1CE0 + .incbin "baserom.gba", 0x0D1CE0, 0x0000010 + +gUnk_080D1CF0:: @ 080D1CF0 + .incbin "baserom.gba", 0x0D1CF0, 0x0000009 + +gUnk_080D1CF9:: @ 080D1CF9 + .incbin "baserom.gba", 0x0D1CF9, 0x0000009 + +gUnk_080D1D02:: @ 080D1D02 + .incbin "baserom.gba", 0x0D1D02, 0x0000020 + +gUnk_080D1D22:: @ 080D1D22 + .incbin "baserom.gba", 0x0D1D22, 0x0000001 + +gUnk_080D1D23:: @ 080D1D23 + .incbin "baserom.gba", 0x0D1D23, 0x0000003 + +gUnk_080D1D26:: @ 080D1D26 + .incbin "baserom.gba", 0x0D1D26, 0x0000001 + +gUnk_080D1D27:: @ 080D1D27 + .incbin "baserom.gba", 0x0D1D27, 0x0000005 + +gUnk_080D1D2C:: @ 080D1D2C + .incbin "baserom.gba", 0x0D1D2C, 0x0000008 + +gUnk_080D1D34:: @ 080D1D34 + .incbin "baserom.gba", 0x0D1D34, 0x0000014 + +gUnk_080D1D48:: @ 080D1D48 + .incbin "baserom.gba", 0x0D1D48, 0x0000028 + +gUnk_080D1D70:: @ 080D1D70 + .incbin "baserom.gba", 0x0D1D70, 0x0000008 + +gUnk_080D1D78:: @ 080D1D78 + .incbin "baserom.gba", 0x0D1D78, 0x0000020 + +gUnk_080D1D98:: @ 080D1D98 + .incbin "baserom.gba", 0x0D1D98, 0x0000008 + +gUnk_080D1DA0:: @ 080D1DA0 + .incbin "baserom.gba", 0x0D1DA0, 0x0000028 + +gUnk_080D1DC8:: @ 080D1DC8 + .incbin "baserom.gba", 0x0D1DC8, 0x0000004 + +gUnk_080D1DCC:: @ 080D1DCC + .incbin "baserom.gba", 0x0D1DCC, 0x0000004 + +gUnk_080D1DD0:: @ 080D1DD0 + .incbin "baserom.gba", 0x0D1DD0, 0x000000C + +gUnk_080D1DDC:: @ 080D1DDC + .incbin "baserom.gba", 0x0D1DDC, 0x000000C + +gUnk_080D1DE8:: @ 080D1DE8 + .incbin "baserom.gba", 0x0D1DE8, 0x000001D + +gUnk_080D1E05:: @ 080D1E05 + .incbin "baserom.gba", 0x0D1E05, 0x0000016 + +gUnk_080D1E1B:: @ 080D1E1B + .incbin "baserom.gba", 0x0D1E1B, 0x0000006 + +gUnk_080D1E21:: @ 080D1E21 + .incbin "baserom.gba", 0x0D1E21, 0x0000005 + +gUnk_080D1E26:: @ 080D1E26 + .incbin "baserom.gba", 0x0D1E26, 0x000000C + +gUnk_080D1E32:: @ 080D1E32 + .incbin "baserom.gba", 0x0D1E32, 0x0000012 + +gUnk_080D1E44:: @ 080D1E44 + .incbin "baserom.gba", 0x0D1E44, 0x0000028 + +gUnk_080D1E6C:: @ 080D1E6C + .incbin "baserom.gba", 0x0D1E6C, 0x0000018 + +gUnk_080D1E84:: @ 080D1E84 + .incbin "baserom.gba", 0x0D1E84, 0x0000010 + +gUnk_080D1E94:: @ 080D1E94 + .incbin "baserom.gba", 0x0D1E94, 0x000000C + +gUnk_080D1EA0:: @ 080D1EA0 + .incbin "baserom.gba", 0x0D1EA0, 0x0000016 + +gUnk_080D1EB6:: @ 080D1EB6 + .incbin "baserom.gba", 0x0D1EB6, 0x0000009 + +gUnk_080D1EBF:: @ 080D1EBF + .incbin "baserom.gba", 0x0D1EBF, 0x0000009 + +gUnk_080D1EC8:: @ 080D1EC8 + .incbin "baserom.gba", 0x0D1EC8, 0x0000009 + +gUnk_080D1ED1:: @ 080D1ED1 + .incbin "baserom.gba", 0x0D1ED1, 0x0000009 + +gUnk_080D1EDA:: @ 080D1EDA + .incbin "baserom.gba", 0x0D1EDA, 0x0000009 + +gUnk_080D1EE3:: @ 080D1EE3 + .incbin "baserom.gba", 0x0D1EE3, 0x0000009 + +gUnk_080D1EEC:: @ 080D1EEC + .incbin "baserom.gba", 0x0D1EEC, 0x0000009 + +gUnk_080D1EF5:: @ 080D1EF5 + .incbin "baserom.gba", 0x0D1EF5, 0x0000009 + +gUnk_080D1EFE:: @ 080D1EFE + .incbin "baserom.gba", 0x0D1EFE, 0x0000004 + +gUnk_080D1F02:: @ 080D1F02 + .incbin "baserom.gba", 0x0D1F02, 0x0000004 + +gUnk_080D1F06:: @ 080D1F06 + .incbin "baserom.gba", 0x0D1F06, 0x0000004 + +gUnk_080D1F0A:: @ 080D1F0A + .incbin "baserom.gba", 0x0D1F0A, 0x0000004 + +gUnk_080D1F0E:: @ 080D1F0E + .incbin "baserom.gba", 0x0D1F0E, 0x0000004 + +gUnk_080D1F12:: @ 080D1F12 + .incbin "baserom.gba", 0x0D1F12, 0x0000004 + +gUnk_080D1F16:: @ 080D1F16 + .incbin "baserom.gba", 0x0D1F16, 0x0000004 + +gUnk_080D1F1A:: @ 080D1F1A + .incbin "baserom.gba", 0x0D1F1A, 0x0000006 + +gUnk_080D1F20:: @ 080D1F20 + .incbin "baserom.gba", 0x0D1F20, 0x0000014 + +gUnk_080D1F34:: @ 080D1F34 + .incbin "baserom.gba", 0x0D1F34, 0x0000030 + +gUnk_080D1F64:: @ 080D1F64 + .incbin "baserom.gba", 0x0D1F64, 0x0000018 + +gUnk_080D1F7C:: @ 080D1F7C + .incbin "baserom.gba", 0x0D1F7C, 0x0000014 + +gUnk_080D1F90:: @ 080D1F90 + .incbin "baserom.gba", 0x0D1F90, 0x0000080 + +gUnk_080D2010:: @ 080D2010 + .incbin "baserom.gba", 0x0D2010, 0x0000020 + +gUnk_080D2030:: @ 080D2030 + .incbin "baserom.gba", 0x0D2030, 0x0000020 + +gUnk_080D2050:: @ 080D2050 + .incbin "baserom.gba", 0x0D2050, 0x0000014 + +gUnk_080D2064:: @ 080D2064 + .incbin "baserom.gba", 0x0D2064, 0x0000014 + +gUnk_080D2078:: @ 080D2078 + .incbin "baserom.gba", 0x0D2078, 0x0000014 + +gUnk_080D208C:: @ 080D208C + .incbin "baserom.gba", 0x0D208C, 0x0000014 + +gUnk_080D20A0:: @ 080D20A0 + .incbin "baserom.gba", 0x0D20A0, 0x0000014 + +gUnk_080D20B4:: @ 080D20B4 + .incbin "baserom.gba", 0x0D20B4, 0x0000014 + +gUnk_080D20C8:: @ 080D20C8 + .incbin "baserom.gba", 0x0D20C8, 0x0000014 + +gUnk_080D20DC:: @ 080D20DC + .incbin "baserom.gba", 0x0D20DC, 0x0000014 + +gUnk_080D20F0:: @ 080D20F0 + .incbin "baserom.gba", 0x0D20F0, 0x0000014 + +gUnk_080D2104:: @ 080D2104 + .incbin "baserom.gba", 0x0D2104, 0x0000014 + +gUnk_080D2118:: @ 080D2118 + .incbin "baserom.gba", 0x0D2118, 0x0000014 + +gUnk_080D212C:: @ 080D212C + .incbin "baserom.gba", 0x0D212C, 0x0000014 + +gUnk_080D2140:: @ 080D2140 + .incbin "baserom.gba", 0x0D2140, 0x0000014 + +gUnk_080D2154:: @ 080D2154 + .incbin "baserom.gba", 0x0D2154, 0x0000014 + +gUnk_080D2168:: @ 080D2168 + .incbin "baserom.gba", 0x0D2168, 0x0000014 + +gUnk_080D217C:: @ 080D217C + .incbin "baserom.gba", 0x0D217C, 0x0000014 + +gUnk_080D2190:: @ 080D2190 + .incbin "baserom.gba", 0x0D2190, 0x0000029 + +gUnk_080D21B9:: @ 080D21B9 + .incbin "baserom.gba", 0x0D21B9, 0x0000029 + +gUnk_080D21E2:: @ 080D21E2 + .incbin "baserom.gba", 0x0D21E2, 0x0000029 + +gUnk_080D220B:: @ 080D220B + .incbin "baserom.gba", 0x0D220B, 0x0000029 + +gUnk_080D2234:: @ 080D2234 + .incbin "baserom.gba", 0x0D2234, 0x0000010 + +gUnk_080D2244:: @ 080D2244 + .incbin "baserom.gba", 0x0D2244, 0x0000010 + +gUnk_080D2254:: @ 080D2254 + .incbin "baserom.gba", 0x0D2254, 0x0000010 + +gUnk_080D2264:: @ 080D2264 + .incbin "baserom.gba", 0x0D2264, 0x0000010 + +gUnk_080D2274:: @ 080D2274 + .incbin "baserom.gba", 0x0D2274, 0x0000064 + +gUnk_080D22D8:: @ 080D22D8 + .incbin "baserom.gba", 0x0D22D8, 0x0000018 + +gUnk_080D22F0:: @ 080D22F0 + .incbin "baserom.gba", 0x0D22F0, 0x0000010 + +gUnk_080D2300:: @ 080D2300 + .incbin "baserom.gba", 0x0D2300, 0x0000048 + +gUnk_080D2348:: @ 080D2348 + .incbin "baserom.gba", 0x0D2348, 0x0000020 + +gUnk_080D2368:: @ 080D2368 + .incbin "baserom.gba", 0x0D2368, 0x0000011 + +gUnk_080D2379:: @ 080D2379 + .incbin "baserom.gba", 0x0D2379, 0x0000011 + +gUnk_080D238A:: @ 080D238A + .incbin "baserom.gba", 0x0D238A, 0x0000011 + +gUnk_080D239B:: @ 080D239B + .incbin "baserom.gba", 0x0D239B, 0x0000011 + +gUnk_080D23AC:: @ 080D23AC + .incbin "baserom.gba", 0x0D23AC, 0x0000011 + +gUnk_080D23BD:: @ 080D23BD + .incbin "baserom.gba", 0x0D23BD, 0x0000011 + +gUnk_080D23CE:: @ 080D23CE + .incbin "baserom.gba", 0x0D23CE, 0x0000011 + +gUnk_080D23DF:: @ 080D23DF + .incbin "baserom.gba", 0x0D23DF, 0x0000011 + +gUnk_080D23F0:: @ 080D23F0 + .incbin "baserom.gba", 0x0D23F0, 0x0000011 + +gUnk_080D2401:: @ 080D2401 + .incbin "baserom.gba", 0x0D2401, 0x0000011 + +gUnk_080D2412:: @ 080D2412 + .incbin "baserom.gba", 0x0D2412, 0x0000011 + +gUnk_080D2423:: @ 080D2423 + .incbin "baserom.gba", 0x0D2423, 0x0000011 + +gUnk_080D2434:: @ 080D2434 + .incbin "baserom.gba", 0x0D2434, 0x0000011 + +gUnk_080D2445:: @ 080D2445 + .incbin "baserom.gba", 0x0D2445, 0x0000011 + +gUnk_080D2456:: @ 080D2456 + .incbin "baserom.gba", 0x0D2456, 0x0000011 + +gUnk_080D2467:: @ 080D2467 + .incbin "baserom.gba", 0x0D2467, 0x0000011 + +gUnk_080D2478:: @ 080D2478 + .incbin "baserom.gba", 0x0D2478, 0x0000011 + +gUnk_080D2489:: @ 080D2489 + .incbin "baserom.gba", 0x0D2489, 0x0000011 + +gUnk_080D249A:: @ 080D249A + .incbin "baserom.gba", 0x0D249A, 0x0000011 + +gUnk_080D24AB:: @ 080D24AB + .incbin "baserom.gba", 0x0D24AB, 0x0000011 + +gUnk_080D24BC:: @ 080D24BC + .incbin "baserom.gba", 0x0D24BC, 0x0000011 + +gUnk_080D24CD:: @ 080D24CD + .incbin "baserom.gba", 0x0D24CD, 0x0000011 + +gUnk_080D24DE:: @ 080D24DE + .incbin "baserom.gba", 0x0D24DE, 0x0000011 + +gUnk_080D24EF:: @ 080D24EF + .incbin "baserom.gba", 0x0D24EF, 0x0000011 + +gUnk_080D2500:: @ 080D2500 + .incbin "baserom.gba", 0x0D2500, 0x0000011 + +gUnk_080D2511:: @ 080D2511 + .incbin "baserom.gba", 0x0D2511, 0x0000011 + +gUnk_080D2522:: @ 080D2522 + .incbin "baserom.gba", 0x0D2522, 0x0000011 + +gUnk_080D2533:: @ 080D2533 + .incbin "baserom.gba", 0x0D2533, 0x0000011 + +gUnk_080D2544:: @ 080D2544 + .incbin "baserom.gba", 0x0D2544, 0x0000011 + +gUnk_080D2555:: @ 080D2555 + .incbin "baserom.gba", 0x0D2555, 0x0000011 + +gUnk_080D2566:: @ 080D2566 + .incbin "baserom.gba", 0x0D2566, 0x0000011 + +gUnk_080D2577:: @ 080D2577 + .incbin "baserom.gba", 0x0D2577, 0x0000011 + +gUnk_080D2588:: @ 080D2588 + .incbin "baserom.gba", 0x0D2588, 0x0000011 + +gUnk_080D2599:: @ 080D2599 + .incbin "baserom.gba", 0x0D2599, 0x0000011 + +gUnk_080D25AA:: @ 080D25AA + .incbin "baserom.gba", 0x0D25AA, 0x0000011 + +gUnk_080D25BB:: @ 080D25BB + .incbin "baserom.gba", 0x0D25BB, 0x0000011 + +gUnk_080D25CC:: @ 080D25CC + .incbin "baserom.gba", 0x0D25CC, 0x0000011 + +gUnk_080D25DD:: @ 080D25DD + .incbin "baserom.gba", 0x0D25DD, 0x0000011 + +gUnk_080D25EE:: @ 080D25EE + .incbin "baserom.gba", 0x0D25EE, 0x0000011 + +gUnk_080D25FF:: @ 080D25FF + .incbin "baserom.gba", 0x0D25FF, 0x0000011 + +gUnk_080D2610:: @ 080D2610 + .incbin "baserom.gba", 0x0D2610, 0x0000011 + +gUnk_080D2621:: @ 080D2621 + .incbin "baserom.gba", 0x0D2621, 0x0000011 + +gUnk_080D2632:: @ 080D2632 + .incbin "baserom.gba", 0x0D2632, 0x0000011 + +gUnk_080D2643:: @ 080D2643 + .incbin "baserom.gba", 0x0D2643, 0x0000011 + +gUnk_080D2654:: @ 080D2654 + .incbin "baserom.gba", 0x0D2654, 0x0000011 + +gUnk_080D2665:: @ 080D2665 + .incbin "baserom.gba", 0x0D2665, 0x0000011 + +gUnk_080D2676:: @ 080D2676 + .incbin "baserom.gba", 0x0D2676, 0x0000011 + +gUnk_080D2687:: @ 080D2687 + .incbin "baserom.gba", 0x0D2687, 0x0000011 + +gUnk_080D2698:: @ 080D2698 + .incbin "baserom.gba", 0x0D2698, 0x0000011 + +gUnk_080D26A9:: @ 080D26A9 + .incbin "baserom.gba", 0x0D26A9, 0x0000011 + +gUnk_080D26BA:: @ 080D26BA + .incbin "baserom.gba", 0x0D26BA, 0x0000011 + +gUnk_080D26CB:: @ 080D26CB + .incbin "baserom.gba", 0x0D26CB, 0x0000011 + +gUnk_080D26DC:: @ 080D26DC + .incbin "baserom.gba", 0x0D26DC, 0x0000011 + +gUnk_080D26ED:: @ 080D26ED + .incbin "baserom.gba", 0x0D26ED, 0x0000011 + +gUnk_080D26FE:: @ 080D26FE + .incbin "baserom.gba", 0x0D26FE, 0x0000011 + +gUnk_080D270F:: @ 080D270F + .incbin "baserom.gba", 0x0D270F, 0x0000011 + +gUnk_080D2720:: @ 080D2720 + .incbin "baserom.gba", 0x0D2720, 0x0000011 + +gUnk_080D2731:: @ 080D2731 + .incbin "baserom.gba", 0x0D2731, 0x0000011 + +gUnk_080D2742:: @ 080D2742 + .incbin "baserom.gba", 0x0D2742, 0x0000011 + +gUnk_080D2753:: @ 080D2753 + .incbin "baserom.gba", 0x0D2753, 0x0000011 + +gUnk_080D2764:: @ 080D2764 + .incbin "baserom.gba", 0x0D2764, 0x0000011 + +gUnk_080D2775:: @ 080D2775 + .incbin "baserom.gba", 0x0D2775, 0x0000011 + +gUnk_080D2786:: @ 080D2786 + .incbin "baserom.gba", 0x0D2786, 0x0000011 + +gUnk_080D2797:: @ 080D2797 + .incbin "baserom.gba", 0x0D2797, 0x0000011 + +gUnk_080D27A8:: @ 080D27A8 + .incbin "baserom.gba", 0x0D27A8, 0x0000104 + +gUnk_080D28AC:: @ 080D28AC + .incbin "baserom.gba", 0x0D28AC, 0x0000020 + +gUnk_080D28CC:: @ 080D28CC + .incbin "baserom.gba", 0x0D28CC, 0x0000010 + +gUnk_080D28DC:: @ 080D28DC + .incbin "baserom.gba", 0x0D28DC, 0x0000008 + +gUnk_080D28E4:: @ 080D28E4 + .incbin "baserom.gba", 0x0D28E4, 0x0000008 + +gUnk_080D28EC:: @ 080D28EC + .incbin "baserom.gba", 0x0D28EC, 0x0000008 + +gUnk_080D28F4:: @ 080D28F4 + .incbin "baserom.gba", 0x0D28F4, 0x0000008 + +gUnk_080D28FC:: @ 080D28FC + .incbin "baserom.gba", 0x0D28FC, 0x0000008 + +gUnk_080D2904:: @ 080D2904 + .incbin "baserom.gba", 0x0D2904, 0x0000008 + +gUnk_080D290C:: @ 080D290C + .incbin "baserom.gba", 0x0D290C, 0x0000008 + +gUnk_080D2914:: @ 080D2914 + .incbin "baserom.gba", 0x0D2914, 0x0000008 + +gUnk_080D291C:: @ 080D291C + .incbin "baserom.gba", 0x0D291C, 0x0000011 + +gUnk_080D292D:: @ 080D292D + .incbin "baserom.gba", 0x0D292D, 0x0000011 + +gUnk_080D293E:: @ 080D293E + .incbin "baserom.gba", 0x0D293E, 0x000000C + +gUnk_080D294A:: @ 080D294A + .incbin "baserom.gba", 0x0D294A, 0x0000005 + +gUnk_080D294F:: @ 080D294F + .incbin "baserom.gba", 0x0D294F, 0x0000011 + +gUnk_080D2960:: @ 080D2960 + .incbin "baserom.gba", 0x0D2960, 0x0000014 + +gUnk_080D2974:: @ 080D2974 + .incbin "baserom.gba", 0x0D2974, 0x0000014 + +gUnk_080D2988:: @ 080D2988 + .incbin "baserom.gba", 0x0D2988, 0x0000008 + +gUnk_080D2990:: @ 080D2990 + .incbin "baserom.gba", 0x0D2990, 0x0000018 + +gUnk_080D29A8:: @ 080D29A8 + .incbin "baserom.gba", 0x0D29A8, 0x0000010 + +gUnk_080D29B8:: @ 080D29B8 + .incbin "baserom.gba", 0x0D29B8, 0x0000008 + +gUnk_080D29C0:: @ 080D29C0 + .incbin "baserom.gba", 0x0D29C0, 0x0000020 + +gUnk_080D29E0:: @ 080D29E0 + .incbin "baserom.gba", 0x0D29E0, 0x00000D0 + +gUnk_080D2AB0:: @ 080D2AB0 + .incbin "baserom.gba", 0x0D2AB0, 0x000000C + +gUnk_080D2ABC:: @ 080D2ABC + .incbin "baserom.gba", 0x0D2ABC, 0x000019C + +gUnk_080D2C58:: @ 080D2C58 + .incbin "baserom.gba", 0x0D2C58, 0x00001CE + +gUnk_080D2E26:: @ 080D2E26 + .incbin "baserom.gba", 0x0D2E26, 0x0000492 + +gUnk_080D32B8:: @ 080D32B8 + .incbin "baserom.gba", 0x0D32B8, 0x0000030 + +gUnk_080D32E8:: @ 080D32E8 + .incbin "baserom.gba", 0x0D32E8, 0x0000020 + +gUnk_080D3308:: @ 080D3308 + .incbin "baserom.gba", 0x0D3308, 0x0000080 + +gUnk_080D3388:: @ 080D3388 + .incbin "baserom.gba", 0x0D3388, 0x0000040 + +gUnk_080D33C8:: @ 080D33C8 + .incbin "baserom.gba", 0x0D33C8, 0x0000090 + +gUnk_080D3458:: @ 080D3458 + .incbin "baserom.gba", 0x0D3458, 0x0000030 + +gUnk_080D3488:: @ 080D3488 + .incbin "baserom.gba", 0x0D3488, 0x0000030 + +gUnk_080D34B8:: @ 080D34B8 + .incbin "baserom.gba", 0x0D34B8, 0x0000020 + +gUnk_080D34D8:: @ 080D34D8 + .incbin "baserom.gba", 0x0D34D8, 0x0000030 + +gUnk_080D3508:: @ 080D3508 + .incbin "baserom.gba", 0x0D3508, 0x0000090 + +gUnk_080D3598:: @ 080D3598 + .incbin "baserom.gba", 0x0D3598, 0x0000040 + +gUnk_080D35D8:: @ 080D35D8 + .incbin "baserom.gba", 0x0D35D8, 0x0000070 + +gUnk_080D3648:: @ 080D3648 + .incbin "baserom.gba", 0x0D3648, 0x0000080 + +gUnk_080D36C8:: @ 080D36C8 + .incbin "baserom.gba", 0x0D36C8, 0x0000020 + +gUnk_080D36E8:: @ 080D36E8 + .incbin "baserom.gba", 0x0D36E8, 0x0000030 + +gUnk_080D3718:: @ 080D3718 + .incbin "baserom.gba", 0x0D3718, 0x0000030 + +gUnk_080D3748:: @ 080D3748 + .incbin "baserom.gba", 0x0D3748, 0x0000020 + +gUnk_080D3768:: @ 080D3768 + .incbin "baserom.gba", 0x0D3768, 0x0000020 + +gUnk_080D3788:: @ 080D3788 + .incbin "baserom.gba", 0x0D3788, 0x0000050 + +gUnk_080D37D8:: @ 080D37D8 + .incbin "baserom.gba", 0x0D37D8, 0x0000020 + +gUnk_080D37F8:: @ 080D37F8 + .incbin "baserom.gba", 0x0D37F8, 0x0000030 + +gUnk_080D3828:: @ 080D3828 + .incbin "baserom.gba", 0x0D3828, 0x0000080 + +gUnk_080D38A8:: @ 080D38A8 + .incbin "baserom.gba", 0x0D38A8, 0x0000030 + +gUnk_080D38D8:: @ 080D38D8 + .incbin "baserom.gba", 0x0D38D8, 0x0000040 + +gUnk_080D3918:: @ 080D3918 + .incbin "baserom.gba", 0x0D3918, 0x0000020 + +gUnk_080D3938:: @ 080D3938 + .incbin "baserom.gba", 0x0D3938, 0x0000017 + +gUnk_080D394F:: @ 080D394F + .incbin "baserom.gba", 0x0D394F, 0x0000029 + +gUnk_080D3978:: @ 080D3978 + .incbin "baserom.gba", 0x0D3978, 0x0000060 + +gUnk_080D39D8:: @ 080D39D8 + .incbin "baserom.gba", 0x0D39D8, 0x0000040 + +gUnk_080D3A18:: @ 080D3A18 + .incbin "baserom.gba", 0x0D3A18, 0x0000050 + +gUnk_080D3A68:: @ 080D3A68 + .incbin "baserom.gba", 0x0D3A68, 0x0000030 + +gUnk_080D3A98:: @ 080D3A98 + .incbin "baserom.gba", 0x0D3A98, 0x0000030 + +gUnk_080D3AC8:: @ 080D3AC8 + .incbin "baserom.gba", 0x0D3AC8, 0x0000020 + +gUnk_080D3AE8:: @ 080D3AE8 + .incbin "baserom.gba", 0x0D3AE8, 0x0000040 + +gUnk_080D3B28:: @ 080D3B28 + .incbin "baserom.gba", 0x0D3B28, 0x0000020 + +gUnk_080D3B48:: @ 080D3B48 + .incbin "baserom.gba", 0x0D3B48, 0x0000040 + +gUnk_080D3B88:: @ 080D3B88 + .incbin "baserom.gba", 0x0D3B88, 0x0000020 + +gUnk_080D3BA8:: @ 080D3BA8 + .incbin "baserom.gba", 0x0D3BA8, 0x0000020 + +gUnk_080D3BC8:: @ 080D3BC8 + .incbin "baserom.gba", 0x0D3BC8, 0x0000020 + +gUnk_080D3BE8:: @ 080D3BE8 + .incbin "baserom.gba", 0x0D3BE8, 0x0000010 \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index 5d2da623..84c05f99 100644 --- a/include/functions.h +++ b/include/functions.h @@ -92,7 +92,7 @@ extern void sub_0805ED14(u32*); extern void sub_080A7C18(u32, u32, u32); extern void sub_08068BEC(Entity*, u32); extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*)); -extern void sub_0804A9FC(Entity*, u32); +extern Entity* sub_0804A9FC(Entity*, u32); extern void sub_0804A720(Entity*); extern u32 sub_080AEFE0(Entity*); extern u32 sub_08049FA0(Entity*); @@ -186,7 +186,7 @@ extern void sub_080A4398(void); extern void sub_0801E738(u32); extern void sub_080A70AC(const void*); extern void sub_080A7114(u32); -extern void sub_08001242(void); +extern void sub_08001242(Entity*); extern u32 sub_08003FC4(Entity*, u32); extern u32 sub_080043E8(Entity*); extern void sub_08001290(Entity*, u32); diff --git a/linker.ld b/linker.ld index 63c8f3f7..af09560d 100644 --- a/linker.ld +++ b/linker.ld @@ -326,7 +326,7 @@ SECTIONS { asm/code_0801D79C.o(.text); /* enemies */ src/enemy/octorok.o(.text); - asm/chuchu.o(.text); + src/enemy/chuchu.o(.text); src/enemy/leever.o(.text); asm/peahat.o(.text); asm/rollobite.o(.text); @@ -906,6 +906,8 @@ SECTIONS { data/data_080B3740.o(.rodata); src/trig.o(.rodata); data/data_080C93E0.o(.rodata); + src/enemy/chuchu.o(.rodata); + data/data_080CA2B4.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index e3c3d9be..2d767f8a 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -13,7 +13,6 @@ extern u32 sub_080322A4(Entity*); void sub_080322E8(Entity*); extern void sub_08032338(Entity*); extern Entity* sub_08049DF4(u32); -extern void sub_0804A9FC(Entity*, u32); extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*)); extern u32 sub_0806FCB8(Entity*, u32, u32, u32); extern u32 GetNextFunction(Entity*); diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c new file mode 100644 index 00000000..8dc5948c --- /dev/null +++ b/src/enemy/chuchu.c @@ -0,0 +1,764 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern s32 sub_080012DC(Entity*); +extern void sub_08001318(Entity*); +extern void sub_080043A8(Entity*); +extern u32 sub_08049F1C(Entity*, Entity*, u32); +extern u32 sub_08049F64(Entity*, u32, u32); +extern void sub_0804AA1C(Entity*); +extern void sub_080AF160(Entity*); + +extern Entity* gUnk_020000B0; + +void sub_0801F328(Entity*); +void sub_0801F340(Entity*); +void sub_0801F360(Entity*); +void sub_0801F3AC(Entity*); +void sub_0801F730(Entity*); +void sub_0801F748(Entity*); +void sub_0801F764(Entity*); +void sub_0801FAE0(Entity*); +void sub_0801FAF8(Entity*); +void sub_0801FB14(Entity*); +void sub_0801FB34(Entity*); +void sub_0801FB68(Entity*); +u32 sub_0801FBD0(Entity*); +void sub_0801FBE4(Entity*); + +extern void (*const gUnk_080012C8[])(Entity*); +extern void (*const gUnk_080CA21C[])(Entity*); +extern void (*const gUnk_080CA234[])(Entity*); +extern void (*const gUnk_080CA25C[])(Entity*); +extern void (*const gUnk_080CA288[])(Entity*); + +extern const s8 gUnk_080CA2B4[]; + +void Chuchu(Entity* this) { + int index; + + index = sub_080012DC(this); + switch (index) { + default: + gUnk_080012C8[index](this); + return; + case 0: + /* ... */ + break; + case 2: + this->field_0x3a &= 0xfe; + if (index != this->field_0x80.HALF.HI) { + switch (this->entityType.form) { + case 0: + if (this->flags & 0x80) { + this->action = 6; + this->flags &= ~0x80; + this->nonPlanarMovement = 0x20; + this->damageType = 0x5c; + InitializeAnimation(this, 5); + } + break; + case 1: + /* ... */ + break; + case 2: + sub_080043A8(this); + return; + } + } + break; + } + this->field_0x80.HALF.HI = index; + gUnk_080CA21C[GetNextFunction(this)](this); + if (*(char*)(*(int*)&this->field_0x68 + 10) == 0x1c) { + SetChildOffset(this, 0, 1, -0x10); + } else if (this->entityType.form == 2) { + sub_0801FB34(this); + } +} + +void sub_0801EEE4(Entity* this) { + switch (this->entityType.form) { + case 0: + sub_0801F3AC(this); + gUnk_080CA234[this->action](this); + break; + case 1: + sub_0801F764(this); + gUnk_080CA25C[this->action](this); + break; + case 2: + gUnk_080CA288[this->action](this); + break; + } +} + +void sub_0801EF40(Entity* this) { + u8 health; + + if (this->entityType.form == 2) { + if (this->bitfield == 0x8e || this->bitfield == 0x95) { + this->flags &= ~0x80; + this->currentHealth = 0; + } + } + + health = this->currentHealth; + if (health) { + if (this->bitfield == 0x94) { + sub_0801FB68(this); + sub_0804A9FC(this, 0x1c); + InitializeAnimation(this, 6); + } else if (this->field_0x80.HALF.LO != health) { + sub_0801FB68(this); + InitializeAnimation(this, 6); + } + } else { + sub_0804AA1C(this); + this->field_0x20 = 0; + InitializeAnimation(this, 9); + } + this->field_0x80.HALF.LO = this->currentHealth; + sub_0804AA30(this, gUnk_080CA21C); +} + +void sub_0801EFD8(Entity* this) { + if (sub_0806F520(this) == 0 && this->field_0x43) { + sub_0804A9FC(this, 0x1c); + InitializeAnimation(this, 6); + } else { + if (this->animIndex != 8) { + sub_0801FB68(this); + InitializeAnimation(this, 8); + } + sub_08003FC4(this, 0x1800); + GetNextFrame(this); + } +} + +void sub_0801F02C(Entity* this) { + if (this->animIndex == 6) + GetNextFrame(this); + sub_08001318(this); +} + +void sub_0801F048(Entity* this) { + sub_08003FC4(this, 0x1800); + GetNextFrame(this); + if (this->entityType.form == 0) { + sub_0804A7D4(this); + } else if (this->entityType.form == 1) { + CreateDeathFx(this, 0xf2, 0); + } else { + CreateDeathFx(this, 0xf1, 0); + } +} + +void sub_0801F084(Entity* this) { + if ((this->frames.all & 0x80) == 0) + GetNextFrame(this); + sub_08001242(this); +} + +void sub_0801F0A4(Entity* this) { + sub_0804A720(this); + this->action = 1; + this->field_0x80.HALF.LO = this->currentHealth; + this->field_0x82.HALF.LO = 0; +} + +void nullsub_4(Entity* this) { + (void)this; +} + +void sub_0801F0C8(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 3; + this->actionDelay = (Random() & 3) + 0xc; + this->field_0xf = Random(); + this->direction = sub_08049F84(this, 1); + this->flags |= 0x80; + this->spritePriority.b0 = 4; + this->spritePriority.b1 = 3; + InitializeAnimation(this, 2); + } +} + +void sub_0801F12C(Entity* this) { + if (sub_0801FBD0(this)) { + sub_0801F328(this); + } else { + if ((this->field_0xf++ & 7) == 0) { + this->direction = sub_08049F84(this, 1); + } + sub_080AEF88(this); + GetNextFrame(this); + if (--this->actionDelay == 0) { + if (sub_08049F64(this, 1, 0x38)) { + this->action = 4; + sub_0801FBE4(this); + } else if (sub_08049F64(this, 1, 0x48)) { + this->actionDelay = (Random() & 3) + 0xc; + } else { + sub_0801F328(this); + } + } + } +} + +void sub_0801F1B0(Entity* this) { + if (this->frames.all & 0x10) { + if (this->frames.all & 1) { + this->frames.all ^= 1; + this->damageType = 90; + sub_08004488(299); + } + sub_080AEFE0(this); + if (sub_08003FC4(this, 0x4000) == 0) + GetNextFrame(this); + } else { + GetNextFrame(this); + } + + if (this->frames.all & 0x80) { + if (sub_0801FBD0(this)) { + sub_0801F328(this); + } else { + sub_0801F340(this); + } + } +} + +void sub_0801F228(Entity* this) { + if (--this->actionDelay == 0) { + this->action = 3; + this->direction = sub_08049F84(this, 1); + } + GetNextFrame(this); +} + +void sub_0801F250(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) + sub_0801F360(this); +} + +void sub_0801F270(Entity* this) { + if ((this->field_0xf++ & 7) == 0) { + this->direction = sub_08049F84(this, 1); + } + + sub_080AF160(this); + GetNextFrame(this); + if (sub_0801FBD0(this)) + return; + + if (--this->actionDelay) + return; + + if (this->field_0x80.HALF.HI == 0) { + this->action = 2; + InitializeAnimation(this, 4); + } else { + this->actionDelay = 8; + } +} + +void sub_0801F2CC(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 1; + this->spriteSettings.b.draw = 0; + InitializeAnimation(this, 4); + } +} + +void sub_0801F2F8(Entity* this) { + sub_08003FC4(this, 0x1800); + GetNextFrame(this); + if (this->frames.all & 0x80) { + sub_0801F340(this); + sub_0804AA1C(this); + } +} + +void sub_0801F328(Entity* this) { + this->action = 6; + this->flags &= ~0x80; + InitializeAnimation(this, 5); +} + +void sub_0801F340(Entity* this) { + this->action = 5; + this->actionDelay = 60; + this->nonPlanarMovement = 0x20; + this->damageType = 92; + InitializeAnimation(this, 2); +} + +void sub_0801F360(Entity* this) { + this->action = 7; + this->actionDelay = (Random() & 0x38) + 0xb4; + this->field_0xf = Random(); + this->direction = sub_08049F84(this, 1); + this->spritePriority.b1 = 2; + this->spritePriority.b0 = 6; + InitializeAnimation(this, 1); +} + +void sub_0801F3AC(Entity* this) { + if (this->action == 9 || this->action == 0) + return; + + if (sub_08049FDC(this, 1)) { + if (this->field_0x82.HALF.LO || sub_08049F64(this, 1, 0x48)) { + if (this->action == 1) { + this->action = 2; + this->spriteSettings.b.draw = 1; + this->field_0x82.HALF.LO = 1; + InitializeAnimation(this, 0); + } + } else if (this->action == 3) { + sub_0801F328(this); + } + } else if (this->action == 3) { + sub_0801F328(this); + } else if (this->action == 7) { + this->action = 8; + InitializeAnimation(this, 7); + } +} + +void sub_0801F428(Entity* this) { + sub_0804A720(this); + this->action = 1; + this->actionDelay = Random(); + this->field_0x80.HALF.LO = this->currentHealth; + this->field_0x82.HALF.LO = 0; + if (this->entityType.parameter == 0) + return; + + this->action = 3; + this->field_0xf = 30; + this->flags |= 0x80; + this->spritePriority.b1 = 3; + this->spriteSettings.b.draw = 1; + InitializeAnimation(this, 2); +} + +void sub_0801F48C(Entity* this) { + GetNextFrame(this); +} + +void sub_0801F494(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 3; + this->field_0xf = 30; + this->direction = sub_08049F84(this, 1); + this->flags |= 0x80; + this->spritePriority.b0 = 4; + this->spritePriority.b1 = 3; + InitializeAnimation(this, 2); + } +} + +void sub_0801F4EC(Entity* this) { + GetNextFrame(this); + if (--this->field_0xf == 0) + this->action = 4; +} + +void sub_0801F508(Entity* this) { + if (sub_0801FBD0(this)) { + this->field_0x82.HALF.HI = 0; + sub_0801F730(this); + } else { + u8 tmp = ++this->actionDelay & 7; + if (tmp == 0 && sub_08049F64(this, 1, 0x38)) { + if (Random() & 1) { + this->action = 5; + sub_0801FBE4(this); + } else { + this->field_0x82.HALF.HI = 120; + sub_0801F730(this); + } + } else { + if (tmp == 4) { + this->direction = sub_08049F84(this, 1); + } + sub_080AEF88(this); + GetNextFrame(this); + } + } +} + +void sub_0801F584(Entity* this) { + if (this->frames.all & 0x10) { + if (this->frames.all & 0x1) { + this->frames.all ^= 1; + this->damageType = 91; + sub_08004488(299); + } + sub_080AEFE0(this); + if (sub_08003FC4(this, 0x4000) == 0) + GetNextFrame(this); + + } else { + GetNextFrame(this); + } + + if (this->frames.all & 0x80) { + if (sub_0801FBD0(this)) { + this->field_0x82.HALF.HI = 0; + sub_0801F730(this); + } else { + this->action = 6; + this->field_0xf = 60; + this->nonPlanarMovement = 0x20; + this->damageType = 92; + InitializeAnimation(this, 2); + } + } +} + +void sub_0801F61C(Entity* this) { + if (--this->field_0xf == 0) + this->action = 4; + GetNextFrame(this); +} + +void sub_0801F638(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 8; + this->field_0xf = 30; + this->direction = sub_08049F84(this, 1); + this->spritePriority.b1 = 2; + this->spritePriority.b0 = 6; + InitializeAnimation(this, 1); + } +} + +void sub_0801F688(Entity* this) { + if (this->field_0x82.HALF.HI) + this->field_0x82.HALF.HI--; + + if (sub_0801FBD0(this) || this->field_0x82.HALF.HI) { + this->direction = sub_08049F84(this, 1); + sub_080AF160(this); + GetNextFrame(this); + } else { + sub_0801F748(this); + } +} + +void sub_0801F6CC(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 1; + this->spriteSettings.b.draw = 0; + InitializeAnimation(this, 4); + } +} + +void sub_0801F6F8(Entity* this) { + sub_08003FC4(this, 0x1800); + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 4; + this->nonPlanarMovement = 0x20; + sub_0804AA1C(this); + InitializeAnimation(this, 2); + } +} + +void sub_0801F730(Entity* this) { + this->action = 7; + this->flags &= ~0x80; + InitializeAnimation(this, 5); +} + +void sub_0801F748(Entity* this) { + this->action = 2; + this->spriteSettings.b.draw = 1; + InitializeAnimation(this, 4); +} + +void sub_0801F764(Entity* this) { + if (this->action == 10 || this->action == 0) + return; + + if (sub_08049FDC(this, 1)) { + if (this->action == 1) { + if (this->field_0x82.HALF.LO || sub_08049F64(this, 1, 0x48)) { + this->action = 2; + this->spriteSettings.b.draw = 1; + this->field_0x82.HALF.LO = 1; + InitializeAnimation(this, 0); + } + } + } else if (this->action == 4) { + sub_0801F730(this); + } else if (this->action == 8) { + this->action = 9; + InitializeAnimation(this, 7); + } +} + +void sub_0801F7D8(Entity* this) { + sub_0804A720(this); + this->action = 1; + this->actionDelay = Random(); + this->field_0x80.HALF.LO = this->currentHealth; + this->field_0x82.HALF.LO = 0; +} + +void sub_0801F7FC(Entity* this) { + if (sub_08049FDC(this, 1) == 0) + return; + + if (this->field_0x82.HALF.LO || sub_08049F64(this, 1, 0x48)) { + this->action = 2; + this->spriteSettings.b.draw = 1; + this->field_0x82.HALF.LO = 1; + InitializeAnimation(this, 0); + } +} + +void sub_0801F840(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + sub_0801FB14(this); + this->flags |= 0x80; + this->spritePriority.b0 = 4; + this->spritePriority.b1 = 3; + } +} + +void sub_0801F884(Entity* this) { + GetNextFrame(this); + if (this->field_0xf) { + this->field_0xf--; + } else { + Entity* ent = sub_0804A9FC(this, 0x1b); + if (ent) { + ent->entityType.parameter = 64; + this->action = 4; + this->damageType = 165; + sub_08004488(0x193); + } + } +} + +void sub_0801F8C0(Entity* this) { + if (sub_0801FBD0(this)) { + sub_0801FAE0(this); + } else if (sub_08049FDC(this, 1) == 0) { + sub_0801F730(this); + } else { + u8 tmp = ++this->actionDelay & 7; + if (tmp == 0 && sub_08049F1C(this, gUnk_020000B0, 0x38)) { + this->action = 5; + sub_0801FBE4(this); + } else { + if (tmp == 4) { + this->direction = GetFacingDirection(this, gUnk_020000B0); + } + sub_080AEF88(this); + GetNextFrame(this); + } + } +} + +void sub_0801F940(Entity* this) { + if (this->frames.all & 0x10) { + if (this->frames.all & 1) { + this->frames.all ^= 1; + sub_08004488(299); + } + sub_080AEFE0(this); + if (sub_08003FC4(this, 0x4000) == 0) + GetNextFrame(this); + } else { + GetNextFrame(this); + } + + if (this->frames.all & 0x80) { + if (sub_0801FBD0(this)) { + sub_0801FAE0(this); + } else { + this->action = 6; + this->field_0xf = 60; + this->nonPlanarMovement = 0x20; + InitializeAnimation(this, 2); + } + } +} + +void sub_0801F9C4(Entity* this) { + if (--this->field_0xf == 0) + this->action = 4; + GetNextFrame(this); +} + +void sub_0801F9E0(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 8; + this->field_0xf = 30; + this->direction = sub_08049F84(this, 1); + this->spritePriority.b1 = 2; + this->spritePriority.b0 = 6; + InitializeAnimation(this, 1); + } +} + +void sub_0801FA30(Entity* this) { + if (sub_0801FBD0(this)) { + this->direction = sub_08049F84(this, 1); + sub_080AF160(this); + GetNextFrame(this); + } else if (sub_08049FDC(this, 1) == 0) { + this->action = 9; + InitializeAnimation(this, 7); + } else { + sub_0801FAF8(this); + } +} + +void sub_0801FA78(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 1; + this->spriteSettings.b.draw = 0; + InitializeAnimation(this, 4); + sub_0804AA1C(this); + } +} + +void sub_0801FAAC(Entity* this) { + sub_08003FC4(this, 0x1800); + GetNextFrame(this); + if (this->frames.all & 0x80) { + sub_0801FB14(this); + this->nonPlanarMovement = 0x20; + sub_0804AA1C(this); + } +} + +void sub_0801FAE0(Entity* this) { + this->action = 7; + this->flags &= ~0x80; + InitializeAnimation(this, 5); +} + +void sub_0801FAF8(Entity* this) { + this->action = 2; + this->spriteSettings.b.draw = 1; + InitializeAnimation(this, 4); +} + +void sub_0801FB14(Entity* this) { + this->action = 3; + this->field_0xf = 30; + this->direction = sub_08049F84(this, 1); + InitializeAnimation(this, 2); +} + +void sub_0801FB34(Entity* this) { + if (*(Entity**)&this->field_0x68) { + sub_0806FA90(this, *(Entity**)&this->field_0x68, gUnk_080CA2B4[this->frames.all & 0xf], 1); + (*(Entity**)&this->field_0x68)->spriteOffsetY--; + } +} + +void sub_0801FB68(Entity* this) { + switch (this->entityType.form) { + case 0: + this->action = 9; + break; + case 1: + this->action = 10; + this->flags |= 0x80; + this->spriteSettings.b.draw = 1; + this->spritePriority.b1 = 3; + break; + case 2: + this->action = 10; + this->damageType = 92; + sub_0804AA1C(this); + break; + } + + this->field_0x20 = 0; +} + +u32 sub_0801FBD0(Entity* this) { + if (sub_080002B8(this) == 0x10) { + return 1; + } else { + return 0; + } +} + +void sub_0801FBE4(Entity* this) { + this->nonPlanarMovement = 0x180; + this->field_0x20 = 0x20000; + this->direction = sub_08049F84(this, 1); + InitializeAnimation(this, 3); +} + +// clang-format off +void (*const gUnk_080CA21C[])(Entity*) = { + sub_0801EEE4, + sub_0801EF40, + sub_0801F02C, + sub_0801F048, + sub_0801F084, + sub_0801EFD8, +}; + +void (*const gUnk_080CA234[])(Entity*) = { + sub_0801F0A4, + nullsub_4, + sub_0801F0C8, + sub_0801F12C, + sub_0801F1B0, + sub_0801F228, + sub_0801F250, + sub_0801F270, + sub_0801F2CC, + sub_0801F2F8, +}; + +void (*const gUnk_080CA25C[])(Entity*) = { + sub_0801F428, + sub_0801F48C, + sub_0801F494, + sub_0801F4EC, + sub_0801F508, + sub_0801F584, + sub_0801F61C, + sub_0801F638, + sub_0801F688, + sub_0801F6CC, + sub_0801F6F8, +}; + +void (*const gUnk_080CA288[])(Entity*) = { + sub_0801F7D8, + sub_0801F7FC, + sub_0801F840, + sub_0801F884, + sub_0801F8C0, + sub_0801F940, + sub_0801F9C4, + sub_0801F9E0, + sub_0801FA30, + sub_0801FA78, + sub_0801FAAC, +}; +// clang-format on diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index 038f7ff7..585ec102 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -14,7 +14,6 @@ extern void sub_0803CAD0(Entity *); // sub_0803C784 extern void sub_0803CBAC(Entity *); // Also used in sub_0803C86C extern Entity *CreateFx(Entity*, u32, u32); -extern void sub_0804A9FC(Entity *, u32); extern void sub_0804AA30(Entity *, void (*const funcs[])(Entity *)); // sub_0803C820 diff --git a/src/enemy/leever.c b/src/enemy/leever.c index 5c06ce5f..914bddae 100644 --- a/src/enemy/leever.c +++ b/src/enemy/leever.c @@ -4,7 +4,6 @@ #include "functions.h" extern void SetChildOffset(Entity*, s32, s32, s32); -extern void sub_0804A9FC(Entity*, u32); extern void sub_0804AA30(Entity*, void (*const func[])(Entity*)); extern void sub_0804A7D4(Entity*); extern Entity* CreateDeathFx(Entity*, u32, u32); diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index eac2e020..64c9c089 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -8,7 +8,6 @@ void sub_08045374(Entity*); extern u32 sub_0806FA04(u32, u32); extern void sub_0804A720(); extern void sub_080452E4(); -extern void sub_0804A9FC(); extern void sub_0804AA30(); extern void ReplaceMonitoredEntity(Entity*, Entity*); extern void sub_0804A7D4(Entity*); diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index 83dce4ed..e758887a 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -5,7 +5,6 @@ extern void EnemyFunctionHandler(); extern void SetChildOffset(); extern void sub_0804AA30(); -extern void sub_0804A9FC(); extern void sub_0804A7D4(); extern void sub_0801ECFC(); extern u32 sub_0806F520(); diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 74343df7..91238ab9 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -16,7 +16,6 @@ typedef struct { void sub_08044FF8(Entity*); void sub_08045178(Entity*, Entity*, int, int); -extern void sub_0804A9FC(Entity*, u32); extern void sub_0804A720(Entity*); extern u32 sub_0806FA04(u32, u32); extern u32 sub_08049FA0(Entity*); diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index 0cea604e..4aec209c 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -56,7 +56,7 @@ void nullsub_16(Entity* this) { } void sub_0802F1F0(Entity* this) { - sub_08001242(); + sub_08001242(this); if (this->height.HALF.HI != 0) { sub_08003FC4(this, this->field_0x80.HWORD); } diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c index 32c3ba40..f46a65e3 100644 --- a/src/enemy/tektiteGolden.c +++ b/src/enemy/tektiteGolden.c @@ -56,7 +56,7 @@ void sub_08037F58(Entity* this) { } void sub_08037F84(Entity* this) { - sub_08001242(); + sub_08001242(this); if (this->height.HALF.HI != 0) { sub_08003FC4(this, 0x3000); } From ba047d6a43cf63746c1179bf8225e7705701dfa7 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 28 Aug 2020 00:17:53 +0200 Subject: [PATCH 023/105] add octorok rodata --- data/data_080C93E0.s | 48 ------------------------ data/octorokAnimations.s | 32 ++++++++++++++++ include/functions.h | 1 + linker.ld | 2 + src/enemy/octorok.c | 80 ++++++++++++++++++++++++++++++++++------ 5 files changed, 103 insertions(+), 60 deletions(-) create mode 100644 data/octorokAnimations.s diff --git a/data/data_080C93E0.s b/data/data_080C93E0.s index 9254078e..85db529c 100644 --- a/data/data_080C93E0.s +++ b/data/data_080C93E0.s @@ -120,51 +120,3 @@ gUnk_080CA06C:: @ 080CA06C gUnk_080CA11C:: @ 080CA11C .incbin "baserom.gba", 0x0CA11C, 0x0000014 - -gOctorok:: @ 080CA130 - .incbin "baserom.gba", 0x0CA130, 0x0000018 - -gOctorokIdle:: @ 080CA148 - .incbin "baserom.gba", 0x0CA148, 0x0000010 - -gUnk_080CA158:: @ 080CA158 - .incbin "baserom.gba", 0x0CA158, 0x0000018 - -gUnk_080CA170:: @ 080CA170 - .incbin "baserom.gba", 0x0CA170, 0x0000004 - -gUnk_080CA174:: @ 080CA174 - .incbin "baserom.gba", 0x0CA174, 0x0000002 - -gUnk_080CA176:: @ 080CA176 - .incbin "baserom.gba", 0x0CA176, 0x0000008 - -gUnk_080CA17E:: @ 080CA17E - .incbin "baserom.gba", 0x0CA17E, 0x0000002 - -gUnk_080CA180:: @ 080CA180 - .incbin "baserom.gba", 0x0CA180, 0x0000009 - -gUnk_080CA189:: @ 080CA189 - .incbin "baserom.gba", 0x0CA189, 0x0000009 - -gUnk_080CA192:: @ 080CA192 - .incbin "baserom.gba", 0x0CA192, 0x0000009 - -gUnk_080CA19B:: @ 080CA19B - .incbin "baserom.gba", 0x0CA19B, 0x0000009 - -gUnk_080CA1A4:: @ 080CA1A4 - .incbin "baserom.gba", 0x0CA1A4, 0x0000015 - -gUnk_080CA1B9:: @ 080CA1B9 - .incbin "baserom.gba", 0x0CA1B9, 0x0000015 - -gUnk_080CA1CE:: @ 080CA1CE - .incbin "baserom.gba", 0x0CA1CE, 0x0000015 - -gUnk_080CA1E3:: @ 080CA1E3 - .incbin "baserom.gba", 0x0CA1E3, 0x0000015 - -gUnk_080CA1F8:: @ 080CA1F8 - .incbin "baserom.gba", 0x0CA1F8, 0x0000024 diff --git a/data/octorokAnimations.s b/data/octorokAnimations.s new file mode 100644 index 00000000..d5e52e44 --- /dev/null +++ b/data/octorokAnimations.s @@ -0,0 +1,32 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080CA180:: @ 080CA180 + .incbin "baserom.gba", 0x0CA180, 0x0000009 + +gUnk_080CA189:: @ 080CA189 + .incbin "baserom.gba", 0x0CA189, 0x0000009 + +gUnk_080CA192:: @ 080CA192 + .incbin "baserom.gba", 0x0CA192, 0x0000009 + +gUnk_080CA19B:: @ 080CA19B + .incbin "baserom.gba", 0x0CA19B, 0x0000009 + +gUnk_080CA1A4:: @ 080CA1A4 + .incbin "baserom.gba", 0x0CA1A4, 0x0000015 + +gUnk_080CA1B9:: @ 080CA1B9 + .incbin "baserom.gba", 0x0CA1B9, 0x0000015 + +gUnk_080CA1CE:: @ 080CA1CE + .incbin "baserom.gba", 0x0CA1CE, 0x0000015 + +gUnk_080CA1E3:: @ 080CA1E3 + .incbin "baserom.gba", 0x0CA1E3, 0x0000015 + +gUnk_080CA1F8:: @ 080CA1F8 + .incbin "baserom.gba", 0x0CA1F8, 0x0000024 diff --git a/include/functions.h b/include/functions.h index 84c05f99..25ebf1ca 100644 --- a/include/functions.h +++ b/include/functions.h @@ -186,6 +186,7 @@ extern void sub_080A4398(void); extern void sub_0801E738(u32); extern void sub_080A70AC(const void*); extern void sub_080A7114(u32); +extern void sub_08001324(Entity*); extern void sub_08001242(Entity*); extern u32 sub_08003FC4(Entity*, u32); extern u32 sub_080043E8(Entity*); diff --git a/linker.ld b/linker.ld index 1441a473..9ce9e7ba 100644 --- a/linker.ld +++ b/linker.ld @@ -906,6 +906,8 @@ SECTIONS { data/data_080B3740.o(.rodata); src/trig.o(.rodata); data/data_080C93E0.o(.rodata); + src/enemy/octorok.o(.rodata); + data/octorokAnimations.o(.rodata); src/enemy/chuchu.o(.rodata); data/data_080CA2B4.o(.rodata); src/enemy.o(.rodata); diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index e758887a..90e53a23 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -14,17 +14,18 @@ extern void sub_0804A720(); extern u32 Random(); extern void sub_0801ED14(); extern u32 sub_0801EDEC(); -extern Entity *sub_08049DF4(u32); +extern Entity* sub_08049DF4(u32); extern void (*const gOctorok[6])(Entity*); extern void (*const gOctorokIdle[4])(Entity*); -extern void (*const gUnk_080CA158[4])(Entity*); +extern void (*const gUnk_080CA158[6])(Entity*); extern Entity* gUnk_020000B0; -extern s8 gUnk_080CA17E[2]; -extern u8 gUnk_080CA170[8]; -extern u8 gUnk_080CA174[2]; -extern u8 gUnk_080CA176[8]; +extern const u8 gUnk_080CA170[4]; +extern const u8 gUnk_080CA174[2]; +extern const u8 gUnk_080CA176[8]; +extern const s8 gUnk_080CA17E[2]; + // Main void Octorok(Entity* this) { EnemyFunctionHandler(this, gOctorok); @@ -82,7 +83,7 @@ void sub_0801EB84(Entity* this) { UpdateAnimationVariableFrames(this, 2); } -void nullsub_3() { +void nullsub_3(Entity* this) { } void sub_0801EB9C(Entity* this) { @@ -137,7 +138,7 @@ void sub_0801EC80(Entity* this) { if (this->frames.all & 1) { Entity* ent = sub_0804A98C(this, 1, 0); if (ent) { - s8* off; + const s8* off; ent->direction = this->direction; off = &gUnk_080CA176[this->direction / 4]; ent->x.HALF.HI += off[0]; @@ -187,14 +188,69 @@ void sub_0801ED14(Entity* this) { InitializeAnimation(this, this->animationState); } -u32 sub_0801EDEC(Entity *this) { +u32 sub_0801EDEC(Entity* this) { Entity* ent = sub_08049DF4(1); - + if (ent == NULL) return 0; - + if (((GetFacingDirection(this, ent) + 4) & 0x18) != this->direction) return 0; - + return 1; } + +// clang-format off +void (*const gOctorok[])(Entity*) = { + sub_0801EAD0, + sub_0801EAE8, + sub_08001324, + sub_0801EB0C, + sub_08001242, + sub_0801EB2C, +}; + +void (*const gOctorokIdle[])(Entity*) = { + sub_0801EBC8, + sub_0801EBF4, + sub_0801EC2C, + sub_0801EC80, +}; + +void (*const gUnk_080CA158[])(Entity*) = { + sub_0801EB68, + sub_0801EB74, + sub_0801EB7C, + sub_0801EB84, + nullsub_3, + sub_0801EB9C, +}; + +const u8 gUnk_080CA170[] = { + 30, + 60, + 60, + 90, +}; + +const u8 gUnk_080CA174[] = { + 1, + 0, +}; + +const u8 gUnk_080CA176[] = { + 0x00, + 0xFD, + 0x04, + 0x00, + 0x00, + 0x02, + 0xFC, + 0x00, +}; + +const s8 gUnk_080CA17E[] = { + 0x04, + 0xFC, +}; +// clang-format on From ccd02a96ec7c7ab3158d4fb873f11d7de708bd59 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 28 Aug 2020 03:34:01 +0200 Subject: [PATCH 024/105] whoops --- src/createObject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/createObject.c b/src/createObject.c index 9397169b..25adbe29 100644 --- a/src/createObject.c +++ b/src/createObject.c @@ -32,7 +32,7 @@ Entity* CreateObjectWithParent(Entity* parentEnt, u32 subtype, u32 form, u32 par } Entity* CreateFx(Entity* parentEnt, u32 form, u32 parameter) { - CreateObjectWithParent(parentEnt, 0xf, form, parameter); + return CreateObjectWithParent(parentEnt, 0xf, form, parameter); } void CreateDust(Entity* parent) { From 2751406a337868366413ccf56944651f64166405 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 28 Aug 2020 03:45:50 +0200 Subject: [PATCH 025/105] decompile peahat --- asm/peahat.s | 928 ---------------------------------------- data/chuchuAnimations.s | 41 ++ data/data_080CA2B4.s | 101 +---- data/leeverAnimations.s | 17 + data/peahatAnimations.s | 29 ++ linker.ld | 7 +- src/enemy/leever.c | 39 +- src/enemy/peahat.c | 412 ++++++++++++++++++ 8 files changed, 542 insertions(+), 1032 deletions(-) delete mode 100644 asm/peahat.s create mode 100644 data/chuchuAnimations.s create mode 100644 data/leeverAnimations.s create mode 100644 data/peahatAnimations.s create mode 100644 src/enemy/peahat.c diff --git a/asm/peahat.s b/asm/peahat.s deleted file mode 100644 index 35197070..00000000 --- a/asm/peahat.s +++ /dev/null @@ -1,928 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Peahat -Peahat: @ 0x0801FF5C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0801FF84 - ldr r1, _0801FF80 @ =gUnk_080CA570 - adds r0, r4, #0 - bl EnemyFunctionHandler - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl SetChildOffset - b _0801FF94 - .align 2, 0 -_0801FF80: .4byte gUnk_080CA570 -_0801FF84: - ldr r0, _0801FF98 @ =gUnk_080CA588 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0801FF94: - pop {r4, pc} - .align 2, 0 -_0801FF98: .4byte gUnk_080CA588 - - thumb_func_start sub_0801FF9C -sub_0801FF9C: @ 0x0801FF9C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0801FFD4 @ =gUnk_080CA590 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0801FFD2 - ldr r2, _0801FFD8 @ =gUnk_080CA5B8 - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #0x30 - ands r0, r1 - lsrs r0, r0, #4 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r4, #0x36] -_0801FFD2: - pop {r4, pc} - .align 2, 0 -_0801FFD4: .4byte gUnk_080CA590 -_0801FFD8: .4byte gUnk_080CA5B8 - - thumb_func_start sub_0801FFDC -sub_0801FFDC: @ 0x0801FFDC - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x82 - ldrb r0, [r6] - cmp r0, #0 - beq _08020068 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - cmp r1, #0x94 - bne _08020018 - movs r0, #3 - movs r1, #1 - bl CreateEnemy - adds r5, r0, #0 - cmp r5, #0 - beq _08020010 - adds r0, r4, #0 - adds r1, r5, #0 - bl CopyPosition - ldrh r0, [r5, #0x36] - subs r0, #8 - strh r0, [r5, #0x36] -_08020010: - movs r0, #0 - strb r0, [r6] - movs r0, #2 - b _0802001E -_08020018: - cmp r1, #0x9b - bne _08020042 - movs r0, #1 -_0802001E: - strb r0, [r4, #0x14] - movs r0, #5 - strb r0, [r4, #0xc] - movs r1, #0 - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r2, r4, #0 - adds r2, #0x3d - movs r0, #0xe2 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x81 - strb r1, [r0] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation - b _08020068 -_08020042: - cmp r1, #0x80 - bne _08020068 - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _08020068 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - strh r1, [r4, #0x24] - movs r0, #0xff - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x78 - strb r0, [r1] - adds r0, r4, #0 - bl GetNextFrame -_08020068: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802007A - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802007A: - ldr r1, _08020084 @ =gUnk_080CA570 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08020084: .4byte gUnk_080CA570 - - thumb_func_start sub_08020088 -sub_08020088: @ 0x08020088 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _0802009C - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _080200AC -_0802009C: - ldr r0, _080200B0 @ =gUnk_080CA5BC - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_080200AC: - pop {r4, pc} - .align 2, 0 -_080200B0: .4byte gUnk_080CA5BC - - thumb_func_start sub_080200B4 -sub_080200B4: @ 0x080200B4 - push {lr} - adds r2, r0, #0 - movs r1, #1 - strb r1, [r2, #0xd] - movs r0, #0x3c - strb r0, [r2, #0x1d] - ldrb r3, [r2, #0x14] - cmp r3, #0 - bne _080200E2 - strb r1, [r2, #0x14] - movs r0, #5 - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x71 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x81 - strb r3, [r0] - ldrb r1, [r2, #0x14] - adds r0, r2, #0 - bl InitializeAnimation -_080200E2: - pop {pc} - - thumb_func_start sub_080200E4 -sub_080200E4: @ 0x080200E4 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_080200EC -sub_080200EC: @ 0x080200EC - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_080200F4 -sub_080200F4: @ 0x080200F4 - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - bx lr - .align 2, 0 - - thumb_func_start nullsub_5 -nullsub_5: @ 0x08020100 - bx lr - .align 2, 0 - - thumb_func_start sub_08020104 -sub_08020104: @ 0x08020104 - push {lr} - adds r2, r0, #0 - ldrb r3, [r2, #0x10] - movs r0, #0x80 - ands r0, r3 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _08020128 - movs r0, #0x80 - orrs r0, r3 - strb r0, [r2, #0x10] - adds r2, #0x3a - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - b _0802012E -_08020128: - adds r0, r2, #0 - adds r0, #0x45 - strb r1, [r0] -_0802012E: - pop {pc} - - thumb_func_start sub_08020130 -sub_08020130: @ 0x08020130 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r5, #1 - strb r5, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] - bl Random - strb r0, [r4, #0xf] - bl Random - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x12 - strb r0, [r4, #0x1c] - bl Random - ands r0, r5 - movs r1, #0xfe - cmp r0, #0 - beq _08020162 - movs r1, #2 -_08020162: - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - adds r0, #1 - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - movs r0, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08020180 -sub_08020180: @ 0x08020180 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x83 - ldrb r0, [r5] - cmp r0, #0 - beq _08020192 - subs r0, #1 - strb r0, [r5] -_08020192: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080201D4 - ldrb r0, [r5] - cmp r0, #0 - bne _080201D4 - ldrb r1, [r4, #0xf] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _080201D4 - ldr r0, _0802021C @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x30 - bl sub_08049F1C - cmp r0, #0 - beq _080201D4 - movs r0, #2 - strb r0, [r4, #0xc] - bl Random - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0xa0 - strh r0, [r4, #0x24] -_080201D4: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802020C - movs r0, #0x10 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08020604 - bl Random - movs r1, #3 - ands r1, r0 - cmp r1, #0 - bne _0802020C - bl Random - movs r1, #1 - ands r1, r0 - movs r2, #0xfe - cmp r1, #0 - beq _08020206 - movs r2, #2 -_08020206: - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] -_0802020C: - adds r0, r4, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - bl GetNextFrame - pop {r4, r5, pc} - .align 2, 0 -_0802021C: .4byte gUnk_020000B0 - - thumb_func_start sub_08020220 -sub_08020220: @ 0x08020220 - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08020284 - ldrb r0, [r5, #0xe] - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - beq _0802024C - lsrs r0, r0, #0x1c - movs r1, #3 - ands r0, r1 - movs r1, #4 - subs r1, r1, r0 - adds r0, r5, #0 - bl UpdateAnimationVariableFrames - b _08020292 -_0802024C: - movs r0, #3 - strb r0, [r5, #0xc] - movs r0, #0x78 - strb r0, [r5, #0xe] - movs r0, #0xc0 - strh r0, [r5, #0x24] - ldr r0, _0802027C @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl GetFacingDirection - adds r4, r0, #0 - bl Random - ldr r2, _08020280 @ =gUnk_080CA5D4 - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - b _0802028A - .align 2, 0 -_0802027C: .4byte gUnk_020000B0 -_08020280: .4byte gUnk_080CA5D4 -_08020284: - adds r0, r5, #0 - bl sub_080205F8 -_0802028A: - adds r0, r5, #0 - movs r1, #4 - bl UpdateAnimationVariableFrames -_08020292: - pop {r4, r5, pc} - - thumb_func_start sub_08020294 -sub_08020294: @ 0x08020294 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080202F8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080202B4 - adds r0, r4, #0 - bl sub_080205F8 -_080202B4: - ldrb r1, [r4, #0xe] - cmp r1, #0x3c - bls _080202E6 - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080202C8 - ldrh r0, [r4, #0x24] - adds r0, #4 - strh r0, [r4, #0x24] -_080202C8: - ldr r0, _080202F0 @ =gScreenTransition - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _080202E6 - ldr r0, _080202F4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl GetFacingDirection - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_080202E6: - adds r0, r4, #0 - bl sub_080AEFE0 - b _080202FE - .align 2, 0 -_080202F0: .4byte gScreenTransition -_080202F4: .4byte gUnk_020000B0 -_080202F8: - adds r0, r4, #0 - bl sub_080205F8 -_080202FE: - adds r0, r4, #0 - movs r1, #4 - bl UpdateAnimationVariableFrames - pop {r4, pc} - - thumb_func_start sub_08020308 -sub_08020308: @ 0x08020308 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _08020332 - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x78 - strb r0, [r1] - adds r0, r4, #0 - bl GetNextFrame - b _0802034E -_08020332: - movs r0, #1 - ands r1, r0 - cmp r1, #0 - beq _08020340 - ldrh r0, [r4, #0x24] - subs r0, #8 - strh r0, [r4, #0x24] -_08020340: - adds r0, r4, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - movs r1, #4 - bl UpdateAnimationVariableFrames -_0802034E: - pop {r4, pc} - - thumb_func_start sub_08020350 -sub_08020350: @ 0x08020350 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x14] - cmp r0, #2 - beq _08020398 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - bne _0802037C - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - movs r0, #0xa - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x71 - strb r0, [r1] -_0802037C: - ldrb r0, [r4, #0x15] - cmp r0, #0xff - bne _0802038A - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r4, #0x15] -_0802038A: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl GetNextFrame - b _080203BE -_08020398: - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _080203BE - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x96 - strb r0, [r4, #0xe] - movs r0, #0xa - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x71 - strb r0, [r1] -_080203BE: - pop {r4, pc} - - thumb_func_start sub_080203C0 -sub_080203C0: @ 0x080203C0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080203DC - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080203DC - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_080203DC: - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _080203F2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020418 -_080203F2: - movs r0, #9 - strb r0, [r4, #0xc] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - bl Random - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0804AA1C - movs r0, #5 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #5 - bl InitializeAnimation -_08020418: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802041C -sub_0802041C: @ 0x0802041C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08020438 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020438 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08020438: - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _0802044E - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020466 -_0802044E: - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - bl Random - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0804AA1C -_08020466: - pop {r4, pc} - - thumb_func_start sub_08020468 -sub_08020468: @ 0x08020468 - push {r4, r5, lr} - adds r4, r0, #0 - bl GetNextFrame - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080204A6 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080204A2 - movs r0, #9 - strb r0, [r4, #0xc] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #4 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #4 - bl InitializeAnimation - b _080204A6 -_080204A2: - movs r0, #1 - strb r0, [r4, #0xe] -_080204A6: - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080204C4 - movs r0, #0xfd - ands r0, r1 - strb r0, [r5] - bl Random - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_080204C4: - ldrb r1, [r5] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080204D6 - adds r0, r4, #0 - bl sub_0800442E - b _080204DC -_080204D6: - adds r0, r4, #0 - bl sub_080AEF88 -_080204DC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080204E0 -sub_080204E0: @ 0x080204E0 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802051A - movs r2, #0 - movs r1, #1 - strb r1, [r4, #0xc] - adds r3, r4, #0 - adds r3, #0x3f - movs r0, #0x70 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x82 - strb r1, [r0] - subs r0, #1 - strb r1, [r0] - strb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - b _0802053A -_0802051A: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802052A - adds r0, r4, #0 - bl sub_0800442E - b _0802053A -_0802052A: - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_080AEF88 -_0802053A: - pop {r4, pc} - - thumb_func_start sub_0802053C -sub_0802053C: @ 0x0802053C - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - movs r0, #0x28 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x18] - movs r2, #4 - rsbs r2, r2, #0 - ands r2, r0 - orrs r2, r1 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - movs r3, #0x40 - orrs r0, r3 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r3 - strb r1, [r4, #0x1b] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r2, r0 - strb r2, [r4, #0x18] - movs r0, #0x20 - strh r0, [r4, #0x24] - bl Random - movs r1, #0x10 - ands r0, r1 - adds r0, #8 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #3 - bl InitializeAnimation - pop {r4, pc} - - thumb_func_start sub_08020590 -sub_08020590: @ 0x08020590 - push {r4, r5, lr} - adds r4, r0, #0 - bl GetNextFrame - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - movs r5, #0xff - lsls r0, r1, #0x18 - cmp r0, #0 - bne _080205AE - adds r0, r4, #0 - bl DeleteEntity - b _080205F2 -_080205AE: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3b - bhi _080205C8 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_080205C8: - ldr r0, [r4, #0x34] - ldr r1, _080205F4 @ =0xFFFF4000 - adds r0, r0, r1 - str r0, [r4, #0x34] - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _080205F2 - movs r0, #0x28 - strb r0, [r4, #0xf] - bl Random - movs r1, #0x10 - ands r0, r1 - adds r0, #8 - strb r0, [r4, #0x15] -_080205F2: - pop {r4, r5, pc} - .align 2, 0 -_080205F4: .4byte 0xFFFF4000 - - thumb_func_start sub_080205F8 -sub_080205F8: @ 0x080205F8 - movs r1, #4 - strb r1, [r0, #0xc] - movs r1, #0x3c - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_08020604 -sub_08020604: @ 0x08020604 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08020624 - bl Random - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _08020624 - adds r0, r4, #0 - bl sub_08049EE4 - b _08020632 -_08020624: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 -_08020632: - strb r0, [r4, #0x15] - pop {r4, pc} - .align 2, 0 diff --git a/data/chuchuAnimations.s b/data/chuchuAnimations.s new file mode 100644 index 00000000..7b9b2642 --- /dev/null +++ b/data/chuchuAnimations.s @@ -0,0 +1,41 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080CA2B4:: @ 080CA2B4 + .incbin "baserom.gba", 0x0CA2B4, 0x000000A + +gUnk_080CA2BE:: @ 080CA2BE + .incbin "baserom.gba", 0x0CA2BE, 0x000002C + +gUnk_080CA2EA:: @ 080CA2EA + .incbin "baserom.gba", 0x0CA2EA, 0x0000011 + +gUnk_080CA2FB:: @ 080CA2FB + .incbin "baserom.gba", 0x0CA2FB, 0x0000041 + +gUnk_080CA33C:: @ 080CA33C + .incbin "baserom.gba", 0x0CA33C, 0x000001C + +gUnk_080CA358:: @ 080CA358 + .incbin "baserom.gba", 0x0CA358, 0x000000C + +gUnk_080CA364:: @ 080CA364 + .incbin "baserom.gba", 0x0CA364, 0x000000C + +gUnk_080CA370:: @ 080CA370 + .incbin "baserom.gba", 0x0CA370, 0x0000041 + +gUnk_080CA3B1:: @ 080CA3B1 + .incbin "baserom.gba", 0x0CA3B1, 0x0000014 + +gUnk_080CA3C5:: @ 080CA3C5 + .incbin "baserom.gba", 0x0CA3C5, 0x0000069 + +gUnk_080CA42E:: @ 080CA42E + .incbin "baserom.gba", 0x0CA42E, 0x0000042 + +gUnk_080CA470:: @ 080CA470 + .incbin "baserom.gba", 0x0CA470, 0x000002C diff --git a/data/data_080CA2B4.s b/data/data_080CA2B4.s index 77b08eee..aef40c28 100644 --- a/data/data_080CA2B4.s +++ b/data/data_080CA2B4.s @@ -4,105 +4,6 @@ .section .rodata .align 2 -gUnk_080CA2B4:: @ 080CA2B4 - .incbin "baserom.gba", 0x0CA2B4, 0x000000A - -gUnk_080CA2BE:: @ 080CA2BE - .incbin "baserom.gba", 0x0CA2BE, 0x000002C - -gUnk_080CA2EA:: @ 080CA2EA - .incbin "baserom.gba", 0x0CA2EA, 0x0000011 - -gUnk_080CA2FB:: @ 080CA2FB - .incbin "baserom.gba", 0x0CA2FB, 0x0000041 - -gUnk_080CA33C:: @ 080CA33C - .incbin "baserom.gba", 0x0CA33C, 0x000001C - -gUnk_080CA358:: @ 080CA358 - .incbin "baserom.gba", 0x0CA358, 0x000000C - -gUnk_080CA364:: @ 080CA364 - .incbin "baserom.gba", 0x0CA364, 0x000000C - -gUnk_080CA370:: @ 080CA370 - .incbin "baserom.gba", 0x0CA370, 0x0000041 - -gUnk_080CA3B1:: @ 080CA3B1 - .incbin "baserom.gba", 0x0CA3B1, 0x0000014 - -gUnk_080CA3C5:: @ 080CA3C5 - .incbin "baserom.gba", 0x0CA3C5, 0x0000069 - -gUnk_080CA42E:: @ 080CA42E - .incbin "baserom.gba", 0x0CA42E, 0x0000042 - -gUnk_080CA470:: @ 080CA470 - .incbin "baserom.gba", 0x0CA470, 0x000002C - -gUnk_080CA49C:: @ 080CA49C - .incbin "baserom.gba", 0x0CA49C, 0x0000018 - -gUnk_080CA4B4:: @ 080CA4B4 - .incbin "baserom.gba", 0x0CA4B4, 0x0000014 - -gUnk_080CA4C8:: @ 080CA4C8 - .incbin "baserom.gba", 0x0CA4C8, 0x0000002 - -gUnk_080CA4CA:: @ 080CA4CA - .incbin "baserom.gba", 0x0CA4CA, 0x000000A - -gUnk_080CA4D4:: @ 080CA4D4 - .incbin "baserom.gba", 0x0CA4D4, 0x000002C - -gUnk_080CA500:: @ 080CA500 - .incbin "baserom.gba", 0x0CA500, 0x000001C - -gUnk_080CA51C:: @ 080CA51C - .incbin "baserom.gba", 0x0CA51C, 0x0000044 - -gUnk_080CA560:: @ 080CA560 - .incbin "baserom.gba", 0x0CA560, 0x0000010 - -gUnk_080CA570:: @ 080CA570 - .incbin "baserom.gba", 0x0CA570, 0x0000018 - -gUnk_080CA588:: @ 080CA588 - .incbin "baserom.gba", 0x0CA588, 0x0000008 - -gUnk_080CA590:: @ 080CA590 - .incbin "baserom.gba", 0x0CA590, 0x0000028 - -gUnk_080CA5B8:: @ 080CA5B8 - .incbin "baserom.gba", 0x0CA5B8, 0x0000004 - -gUnk_080CA5BC:: @ 080CA5BC - .incbin "baserom.gba", 0x0CA5BC, 0x0000018 - -gUnk_080CA5D4:: @ 080CA5D4 - .incbin "baserom.gba", 0x0CA5D4, 0x0000002 - -gUnk_080CA5D6:: @ 080CA5D6 - .incbin "baserom.gba", 0x0CA5D6, 0x0000011 - -gUnk_080CA5E7:: @ 080CA5E7 - .incbin "baserom.gba", 0x0CA5E7, 0x0000011 - -gUnk_080CA5F8:: @ 080CA5F8 - .incbin "baserom.gba", 0x0CA5F8, 0x000001D - -gUnk_080CA615:: @ 080CA615 - .incbin "baserom.gba", 0x0CA615, 0x0000011 - -gUnk_080CA626:: @ 080CA626 - .incbin "baserom.gba", 0x0CA626, 0x0000014 - -gUnk_080CA63A:: @ 080CA63A - .incbin "baserom.gba", 0x0CA63A, 0x0000016 - -gUnk_080CA650:: @ 080CA650 - .incbin "baserom.gba", 0x0CA650, 0x000001C - gUnk_080CA66C:: @ 080CA66C .incbin "baserom.gba", 0x0CA66C, 0x0000018 @@ -6032,4 +5933,4 @@ gUnk_080D3BC8:: @ 080D3BC8 .incbin "baserom.gba", 0x0D3BC8, 0x0000020 gUnk_080D3BE8:: @ 080D3BE8 - .incbin "baserom.gba", 0x0D3BE8, 0x0000010 \ No newline at end of file + .incbin "baserom.gba", 0x0D3BE8, 0x0000010 diff --git a/data/leeverAnimations.s b/data/leeverAnimations.s new file mode 100644 index 00000000..08fccd38 --- /dev/null +++ b/data/leeverAnimations.s @@ -0,0 +1,17 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080CA4D4:: @ 080CA4D4 + .incbin "baserom.gba", 0x0CA4D4, 0x000002C + +gUnk_080CA500:: @ 080CA500 + .incbin "baserom.gba", 0x0CA500, 0x000001C + +gUnk_080CA51C:: @ 080CA51C + .incbin "baserom.gba", 0x0CA51C, 0x0000044 + +gUnk_080CA560:: @ 080CA560 + .incbin "baserom.gba", 0x0CA560, 0x0000010 diff --git a/data/peahatAnimations.s b/data/peahatAnimations.s new file mode 100644 index 00000000..8977da85 --- /dev/null +++ b/data/peahatAnimations.s @@ -0,0 +1,29 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080CA5D4:: @ 080CA5D4 + .incbin "baserom.gba", 0x0CA5D4, 0x0000002 + +gUnk_080CA5D6:: @ 080CA5D6 + .incbin "baserom.gba", 0x0CA5D6, 0x0000011 + +gUnk_080CA5E7:: @ 080CA5E7 + .incbin "baserom.gba", 0x0CA5E7, 0x0000011 + +gUnk_080CA5F8:: @ 080CA5F8 + .incbin "baserom.gba", 0x0CA5F8, 0x000001D + +gUnk_080CA615:: @ 080CA615 + .incbin "baserom.gba", 0x0CA615, 0x0000011 + +gUnk_080CA626:: @ 080CA626 + .incbin "baserom.gba", 0x0CA626, 0x0000014 + +gUnk_080CA63A:: @ 080CA63A + .incbin "baserom.gba", 0x0CA63A, 0x0000016 + +gUnk_080CA650:: @ 080CA650 + .incbin "baserom.gba", 0x0CA650, 0x000001C diff --git a/linker.ld b/linker.ld index 9ce9e7ba..0d15033f 100644 --- a/linker.ld +++ b/linker.ld @@ -328,7 +328,7 @@ SECTIONS { src/enemy/octorok.o(.text); src/enemy/chuchu.o(.text); src/enemy/leever.o(.text); - asm/peahat.o(.text); + src/enemy/peahat.o(.text); asm/rollobite.o(.text); asm/darkNut.o(.text); src/enemy/hangingSeed.o(.text); @@ -909,6 +909,11 @@ SECTIONS { src/enemy/octorok.o(.rodata); data/octorokAnimations.o(.rodata); src/enemy/chuchu.o(.rodata); + data/chuchuAnimations.o(.rodata); + src/enemy/leever.o(.rodata); + data/leeverAnimations.o(.rodata); + src/enemy/peahat.o(.rodata); + data/peahatAnimations.o(.rodata); data/data_080CA2B4.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/leever.c b/src/enemy/leever.c index 914bddae..2a3b621f 100644 --- a/src/enemy/leever.c +++ b/src/enemy/leever.c @@ -18,9 +18,10 @@ bool32 sub_0801FDE4(Entity*, s32, s32); extern void (*const gUnk_080CA49C[])(Entity*); extern void (*const gUnk_080CA4B4[])(Entity*); extern Entity* gUnk_020000B0; -extern u8 gUnk_080CA4C8[]; -extern u16 gUnk_080CA4CA[]; +extern const u8 gUnk_080CA4C8[]; +extern const u16 gUnk_080CA4CA[]; extern s16 gSineTable[]; + void Leever(Entity* this) { EnemyFunctionHandler(this, gUnk_080CA49C); SetChildOffset(this, 0, 1, -0x10); @@ -113,7 +114,7 @@ void sub_0801FDB4(Entity* this) { u32 sub_0801FDE4(Entity* ent, s32 x, s32 y) { u32 uVar3; - u16* puVar4; + const u16* puVar4; if (sub_080002D4(x, y, gUnk_020000B0->collisionLayer) != 0) { return 0; @@ -176,3 +177,35 @@ void sub_0801FED4(Entity* this) { } sub_080AEF88(this); } + +// clang-format off +void (*const gUnk_080CA49C[])(Entity*) = { + sub_0801FC28, + sub_0801FC40, + sub_08001324, + sub_0801FC7C, + sub_08001242, + sub_0801FC28, +}; + +void (*const gUnk_080CA4B4[])(Entity*) = { + sub_0801FC9C, + sub_0801FCB0, + sub_0801FD2C, + sub_0801FD80, + sub_0801FDB4, +}; + +const u8 gUnk_080CA4C8[] = { + 0x06, + 0xFA, +}; + +const u16 gUnk_080CA4CA[] = { + 0x000A, + 0x0009, + 0x000C, + 0x000B, + 0xFFFF, +}; +// clang-format on diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c new file mode 100644 index 00000000..a7480914 --- /dev/null +++ b/src/enemy/peahat.c @@ -0,0 +1,412 @@ +#include "entity.h" +#include "functions.h" + +extern void (*const gUnk_080CA570[])(Entity*); +extern void (*const gUnk_080CA588[])(Entity*); +extern void (*const gUnk_080CA590[])(Entity*); +extern void (*const gUnk_080CA5BC[])(Entity*); + +extern const s8 gUnk_080CA5B8[]; +extern const s8 gUnk_080CA5D4[]; + +void sub_080205F8(Entity*); +void sub_08020604(Entity*); + +extern u32 sub_0800442E(Entity*); +extern u32 sub_08049F1C(Entity*, Entity*, u32); +extern void sub_0804AA1C(Entity*); + +extern Entity* gUnk_020000B0; + +void Peahat(Entity* this) { + if (this->entityType.form == 0) { + EnemyFunctionHandler(this, gUnk_080CA570); + SetChildOffset(this, 0, 1, -0x10); + } else { + gUnk_080CA588[this->action](this); + } +} + +void sub_0801FF9C(Entity* this) { + gUnk_080CA590[this->action](this); + if (this->field_0x80.HALF.HI) + this->height.HALF.HI = gUnk_080CA5B8[(this->field_0xf++ & 0x30) >> 4]; +} + +void sub_0801FFDC(Entity* this) { + if (this->field_0x82.HALF.LO) { + if (this->bitfield == 0x94) { + Entity* ent = CreateEnemy(3, 1); + if (ent) { + CopyPosition(this, ent); + ent->height.HALF.HI -= 8; + } + this->field_0x82.HALF.LO = 0; + this->animationState = 2; + this->action = 5; + this->nonPlanarMovement = 0x80; + this->hurtBlinkTime = -30; + this->field_0x80.HALF.HI = 0; + InitializeAnimation(this, this->animationState); + } else if (this->bitfield == 0x9b) { + this->animationState = 1; + this->action = 5; + this->nonPlanarMovement = 0x80; + this->hurtBlinkTime = -30; + this->field_0x80.HALF.HI = 0; + InitializeAnimation(this, this->animationState); + } else if (this->bitfield == 0x80) { + if (this->animationState == 0) { + this->action = 1; + this->actionDelay = 30; + this->nonPlanarMovement = 0x80; + this->direction = -1; + this->field_0x82.HALF.HI = 0x78; + GetNextFrame(this); + } + } + } + + if (this->field_0x43) + sub_0804A9FC(this, 0x1c); + + sub_0804AA30(this, gUnk_080CA570); +} + +void sub_08020088(Entity* this) { + if (2 >= this->previousActionFlag && !sub_0806F520(this)) + return; + + gUnk_080CA5BC[this->previousActionFlag](this); +} + +void sub_080200B4(Entity* this) { + this->previousActionFlag = 1; + this->field_0x1d = 60; + if (this->animationState == 0) { + this->animationState = 1; + this->action = 5; + this->damageType = 0x71; + this->field_0x80.HALF.HI = 0; + InitializeAnimation(this, this->animationState); + } +} + +void sub_080200E4(Entity* this) { + sub_0806F4E8(this); +} + +void sub_080200EC(Entity* this) { + sub_0806F3E4(this); +} + +void sub_080200F4(Entity* this) { + this->flags &= ~0x80; +} + +void nullsub_5(Entity* this) { +} + +void sub_08020104(Entity* this) { + if (this->flags & 0x80) { + this->flags |= 0x80; + this->field_0x3a &= 0xfb; + } else { + this->currentHealth = 0; + } +} + +void sub_08020130(Entity* this) { + sub_0804A720(this); + this->action = 1; + this->actionDelay = 16; + this->field_0xf = Random(); + this->direction = Random() & 0x1f; + this->field_0x1c = 18; + this->field_0x80.HALF.LO = (Random() & 1) ? 2 : -2; + this->field_0x80.HALF.HI = 1; + this->field_0x82.HALF.LO = 1; + this->animationState = 0; + InitializeAnimation(this, 0); +} + +void sub_08020180(Entity* this) { + if (this->field_0x82.HALF.HI) + this->field_0x82.HALF.HI--; + + if (sub_08049FDC(this, 1)) { + if (this->field_0x82.HALF.HI == 0 && (this->field_0xf & 0xf) == 0 && sub_08049F1C(this, gUnk_020000B0, 0x30)) { + this->action = 2; + this->previousActionFlag = Random() & 3; + this->actionDelay = 60; + this->nonPlanarMovement = 160; + } + } + + if (--this->actionDelay == 0) { + this->actionDelay = 16; + sub_08020604(this); + if ((Random() & 3) == 0) { + this->field_0x80.HALF.LO = (Random() & 1) ? 2 : -2; + } + } + + sub_080AEFE0(this); + GetNextFrame(this); +} + +void sub_08020220(Entity* this) { + if (sub_08049FDC(this, 1)) { + if (--this->actionDelay) { + UpdateAnimationVariableFrames(this, 4 - ((this->actionDelay >> 4) & 0x3)); + return; + } else { + this->action = 3; + this->actionDelay = 120; + this->nonPlanarMovement = 192; + this->direction = (GetFacingDirection(this, gUnk_020000B0) + gUnk_080CA5D4[Random() & 1]) & 0x1f; + } + } else { + sub_080205F8(this); + } + + UpdateAnimationVariableFrames(this, 4); +} + +void sub_08020294(Entity* this) { + if (sub_08049FDC(this, 1)) { + if (--this->actionDelay == 0) { + sub_080205F8(this); + } + if (60 < this->actionDelay) { + if (this->actionDelay & 1) + this->nonPlanarMovement += 4; + + if ((gScreenTransition.frameCount & 3) == 0) + sub_08004596(this, GetFacingDirection(this, gUnk_020000B0)); + } + sub_080AEFE0(this); + } else { + sub_080205F8(this); + } + UpdateAnimationVariableFrames(this, 4); +} + +void sub_08020308(Entity* this) { + if (--this->actionDelay == 0) { + this->action = 1; + this->actionDelay = 1; + this->nonPlanarMovement = 128; + this->field_0x82.HALF.HI = 120; + GetNextFrame(this); + } else { + if (this->actionDelay & 1) + this->nonPlanarMovement -= 8; + + sub_080AEFE0(this); + UpdateAnimationVariableFrames(this, 4); + } +} + +void sub_08020350(Entity* this) { + if (this->animationState != 2) { + if (sub_080044EC(this, 0x1800) == 0) { + this->action = 6; + this->actionDelay = -0x10; + this->field_0xf = 10; + this->damageType = 113; + } + + if (this->direction == 0xff) + this->direction = this->field_0x3e; + + sub_080AEF88(this); + GetNextFrame(this); + } else { + sub_08003FC4(this, 0x1c00); + if (this->height.HALF.HI == 0) { + this->action = 7; + this->actionDelay = -106; + this->field_0xf = 10; + this->damageType = 113; + } + } +} + +void sub_080203C0(Entity* this) { + if (this->field_0xf) + if (--this->field_0xf == 0) + sub_0804A9FC(this, 0x1c); + + if (!sub_0800442E(this) && --this->actionDelay) + return; + + this->action = 9; + this->field_0x20 = 0x18000; + this->direction = Random() & 0x1f; + sub_0804AA1C(this); + this->animationState = 5; + InitializeAnimation(this, 5); +} + +void sub_0802041C(Entity* this) { + if (this->field_0xf) + if (--this->field_0xf == 0) + sub_0804A9FC(this, 0x1c); + + if (!sub_0800442E(this) && --this->actionDelay) + return; + + this->action = 8; + this->actionDelay = -16; + this->direction = Random() & 0x1f; + sub_0804AA1C(this); +} + +void sub_08020468(Entity* this) { + GetNextFrame(this); + if (--this->actionDelay == 0) { + if (this->frames.all & 0x80) { + this->action = 9; + this->field_0x20 = 0x18000; + this->animationState = 4; + InitializeAnimation(this, 4); + } else { + this->actionDelay = 1; + } + } + + if (this->frames.all & 2) { + this->frames.all &= 0xfd; + this->direction = Random() & 0x1f; + } + + if (this->frames.all & 1) { + sub_0800442E(this); + } else { + sub_080AEF88(this); + } +} + +void sub_080204E0(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 1; + this->damageType = 0x70; + this->field_0x82.HALF.LO = 1; + this->field_0x80.HALF.HI = 1; + this->animationState = 0; + InitializeAnimation(this, 0); + } else { + if (this->frames.all & 1) { + sub_0800442E(this); + } else { + sub_08003FC4(this, 0x1c00); + sub_080AEF88(this); + } + } +} + +void sub_0802053C(Entity* this) { + this->action = 1; + this->actionDelay = -16; + this->field_0xf = 40; + this->spriteSettings.b.draw = 1; + this->spriteRendering.b3 = 1; + this->spriteOrientation.flipY = 1; + this->spriteSettings.b.shadow = 0; + this->nonPlanarMovement = 0x20; + this->direction = (Random() & 0x10) + 8; + InitializeAnimation(this, 3); +} + +void sub_08020590(Entity* this) { + GetNextFrame(this); + if (--this->actionDelay == '\0') { + DeleteEntity(this); + } else { + if (this->actionDelay < 60) +#if NON_MATCHING + this->spriteSettings.b.draw ^= 1; +#else + asm("ldrb r2, [r4, #0x18]\n\ + lsl r1, r2, #0x1e\n\ + lsr r1, r1, #0x1e\n\ + mov r0, #1\n\ + eor r1, r0\n\ + sub r0, #5\n\ + and r0, r2\n\ + orr r0, r1\n\ + strb r0, [r4, #0x18]"); +#endif + + this->height.WORD -= 0xc000; + sub_0806F69C(this); + if (--this->field_0xf == 0) { + this->field_0xf = 40; + this->direction = (Random() & 0x10) + 8; + } + } +} + +void sub_080205F8(Entity* this) { + this->action = 4; + this->actionDelay = 60; +} + +void sub_08020604(Entity *this){ + if (!sub_08049FA0(this) && (Random() & 3)) { + this->direction = sub_08049EE4(this); + } else { + this->direction += this->field_0x80.HALF.LO; + this->direction &= 0x1f; + } +} + + + +// clang-format off +void (*const gUnk_080CA570[])(Entity*) = { + sub_0801FF9C, + sub_0801FFDC, + sub_08001324, + sub_0804A7D4, + sub_08001242, + sub_08020088, +}; + +void (*const gUnk_080CA588[])(Entity*) = { + sub_0802053C, + sub_08020590, +}; + +void (*const gUnk_080CA590[])(Entity*) = { + sub_08020130, + sub_08020180, + sub_08020220, + sub_08020294, + sub_08020308, + sub_08020350, + sub_080203C0, + sub_0802041C, + sub_08020468, + sub_080204E0, +}; + +const s8 gUnk_080CA5B8[] = { + -5, + -6, + -7, + -6, +}; + +void (*const gUnk_080CA5BC[])(Entity*) = { + sub_080200B4, + sub_080200E4, + sub_080200EC, + sub_080200F4, + nullsub_5, + sub_08020104, +}; +// clang-format on + From a8dd952f318a2f36efa1fd6c444d117dd36a30a0 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 28 Aug 2020 03:46:41 +0200 Subject: [PATCH 026/105] rename data file --- data/{data_080CA2B4.s => data_080CA66C.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CA2B4.s => data_080CA66C.s} (100%) diff --git a/data/data_080CA2B4.s b/data/data_080CA66C.s similarity index 100% rename from data/data_080CA2B4.s rename to data/data_080CA66C.s diff --git a/linker.ld b/linker.ld index 0d15033f..b3006acb 100644 --- a/linker.ld +++ b/linker.ld @@ -914,7 +914,7 @@ SECTIONS { data/leeverAnimations.o(.rodata); src/enemy/peahat.o(.rodata); data/peahatAnimations.o(.rodata); - data/data_080CA2B4.o(.rodata); + data/data_080CA66C.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From e9f980bef5e9b7db95f4191c334071bd5746d81d Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 28 Aug 2020 05:26:41 +0200 Subject: [PATCH 027/105] decompile rollobite --- asm/rollobite.s | 735 ------------------------------------- data/data_080CA66C.s | 93 ----- data/rollobiteAnimations.s | 83 +++++ include/entity.h | 2 +- linker.ld | 3 + src/enemy/rollobite.c | 325 ++++++++++++++++ 6 files changed, 412 insertions(+), 829 deletions(-) delete mode 100644 asm/rollobite.s create mode 100644 data/rollobiteAnimations.s create mode 100644 src/enemy/rollobite.c diff --git a/asm/rollobite.s b/asm/rollobite.s deleted file mode 100644 index 916f1612..00000000 --- a/asm/rollobite.s +++ /dev/null @@ -1,735 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Rollobite -Rollobite: @ 0x08020638 - push {lr} - ldr r1, _08020644 @ =gUnk_080CA66C - bl EnemyFunctionHandler - pop {pc} - .align 2, 0 -_08020644: .4byte gUnk_080CA66C - - thumb_func_start sub_08020648 -sub_08020648: @ 0x08020648 - push {r4, lr} - adds r4, r0, #0 - bl sub_08020AD0 - ldr r1, _08020664 @ =gUnk_080CA684 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08020664: .4byte gUnk_080CA684 - - thumb_func_start sub_08020668 -sub_08020668: @ 0x08020668 - push {r4, r5, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x3f - ldrb r0, [r2] - cmp r0, #0x22 - bne _080206A2 - adds r1, r4, #0 - adds r1, #0x45 - ldrb r0, [r1] - cmp r0, #0xff - beq _080206A2 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #0xff - strb r0, [r4, #0x15] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - movs r0, #0x23 - strb r0, [r2] - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl InitializeAnimation -_080206A2: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0x80 - beq _080206D0 - ldrb r0, [r4, #0xc] - subs r0, #4 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _080206D0 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xb4 - strb r0, [r4, #0xe] - movs r0, #0xff - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r1, #0x10 - adds r0, r4, #0 - bl InitializeAnimation -_080206D0: - ldrb r0, [r5] - cmp r0, #0x93 - bne _080206DC - adds r0, r4, #0 - bl sub_08020648 -_080206DC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080206E0 -sub_080206E0: @ 0x080206E0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08020AD0 - cmp r0, #0 - beq _080206F6 - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - b _08020730 -_080206F6: - adds r0, r4, #0 - bl sub_08020B6C - cmp r0, #0 - beq _0802072A - adds r1, r4, #0 - adds r1, #0x42 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r5, r4, #0 - adds r5, #0x3e - ldrb r1, [r5] - adds r0, r4, #0 - movs r2, #0xa - bl sub_080AE58C - adds r0, r4, #0 - adds r0, #0x46 - ldrh r1, [r0] - ldrb r2, [r5] - adds r0, r4, #0 - movs r3, #0xa - bl sub_080AE7E8 - b _08020730 -_0802072A: - adds r0, r4, #0 - bl sub_08001324 -_08020730: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08020734 -sub_08020734: @ 0x08020734 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _08020764 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _08020764 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xff - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r1, #0x10 - adds r0, r4, #0 - bl InitializeAnimation - b _08020774 -_08020764: - ldr r0, _08020778 @ =gUnk_080CA6A4 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08020774: - pop {r4, pc} - .align 2, 0 -_08020778: .4byte gUnk_080CA6A4 - - thumb_func_start sub_0802077C -sub_0802077C: @ 0x0802077C - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_08020788 -sub_08020788: @ 0x08020788 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_08020790 -sub_08020790: @ 0x08020790 - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_08020798 -sub_08020798: @ 0x08020798 - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - bx lr - .align 2, 0 - - thumb_func_start nullsub_6 -nullsub_6: @ 0x080207A4 - bx lr - .align 2, 0 - - thumb_func_start sub_080207A8 -sub_080207A8: @ 0x080207A8 - push {lr} - movs r3, #4 - movs r1, #4 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - movs r1, #0x29 - adds r1, r1, r0 - mov ip, r1 - ldrb r2, [r1] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r3 - mov r2, ip - strb r1, [r2] - adds r3, r0, #0 - adds r3, #0x3a - ldrb r2, [r3] - movs r1, #0xfb - ands r1, r2 - strb r1, [r3] - ldrb r1, [r0, #0x15] - movs r2, #0x10 - eors r1, r2 - strb r1, [r0, #0x15] - movs r1, #0xc0 - lsls r1, r1, #9 - str r1, [r0, #0x20] - movs r1, #0x80 - strh r1, [r0, #0x24] - ldrb r1, [r0, #0x14] - adds r1, #0x10 - bl InitializeAnimation - pop {pc} - - thumb_func_start sub_080207F4 -sub_080207F4: @ 0x080207F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r1, #0 - movs r0, #0x30 - strb r0, [r4, #0x16] - movs r0, #0x12 - strb r0, [r4, #0x1c] - adds r0, r4, #0 - adds r0, #0x84 - strb r1, [r0] - bl Random - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08020A30 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020820 -sub_08020820: @ 0x08020820 - push {r4, r5, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r5, #1 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0802084A - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0802084A - strb r5, [r4, #0xe] -_0802084A: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08020872 - movs r0, #0xef - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020872 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] -_08020872: - pop {r4, r5, pc} - - thumb_func_start sub_08020874 -sub_08020874: @ 0x08020874 - push {lr} - ldr r2, _08020888 @ =gUnk_080CA6BC - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08020888: .4byte gUnk_080CA6BC - - thumb_func_start sub_0802088C -sub_0802088C: @ 0x0802088C - movs r1, #1 - strb r1, [r0, #0xd] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - ldr r1, _080208B0 @ =gPlayerEntity - ldrb r1, [r1, #0x14] - adds r2, r0, #0 - adds r2, #0x85 - strb r1, [r2] - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_080208B0: .4byte gPlayerEntity - - thumb_func_start sub_080208B4 -sub_080208B4: @ 0x080208B4 - push {r4, r5, lr} - adds r2, r0, #0 - adds r4, r2, #0 - adds r4, #0x85 - ldrb r0, [r4] - ldr r5, _080208EC @ =gPlayerEntity - ldrb r1, [r5, #0x14] - subs r0, r0, r1 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r0, #0 - beq _080208E6 - ldrb r0, [r2, #0x14] - adds r0, r0, r1 - movs r1, #3 - ands r0, r1 - strb r0, [r2, #0x14] - ldrb r1, [r2, #0x14] - adds r1, #0x10 - adds r0, r2, #0 - bl InitializeAnimation -_080208E6: - ldrb r0, [r5, #0x14] - strb r0, [r4] - pop {r4, r5, pc} - .align 2, 0 -_080208EC: .4byte gPlayerEntity - - thumb_func_start sub_080208F0 -sub_080208F0: @ 0x080208F0 - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #0x18 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_08020904 -sub_08020904: @ 0x08020904 - push {lr} - movs r1, #4 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - movs r1, #0xff - strb r1, [r0, #0x15] - ldrb r1, [r0, #0x14] - adds r1, #0x10 - bl InitializeAnimation - pop {pc} - - thumb_func_start sub_08020920 -sub_08020920: @ 0x08020920 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020936 - adds r0, r1, #0 - bl sub_08020A30 -_08020936: - pop {pc} - - thumb_func_start sub_08020938 -sub_08020938: @ 0x08020938 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r5, #0x80 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _08020950 - adds r0, r4, #0 - bl GetNextFrame -_08020950: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - bne _08020980 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020978 - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x14] - adds r1, #0xc - adds r0, r4, #0 - bl InitializeAnimation -_08020978: - adds r0, r4, #0 - bl sub_08078930 - b _0802099C -_08020980: - cmp r0, #1 - bne _0802098C - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 -_0802098C: - ldrb r1, [r4, #0x15] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _0802099C - adds r0, r4, #0 - bl sub_080AEFE0 -_0802099C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080209A0 -sub_080209A0: @ 0x080209A0 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080209E2 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x22 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08020A30 - ldrb r0, [r4, #0x14] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation - b _080209F0 -_080209E2: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080209F0 - adds r0, r4, #0 - bl sub_08078930 -_080209F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080209F4 -sub_080209F4: @ 0x080209F4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xe0 - lsls r1, r1, #5 - bl sub_08003FC4 - cmp r0, #0 - bne _08020A14 - movs r1, #7 - movs r0, #7 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - orrs r0, r1 - strb r0, [r2] -_08020A14: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - bne _08020A24 - adds r0, r4, #0 - bl GetNextFrame -_08020A24: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020A28 -sub_08020A28: @ 0x08020A28 - push {lr} - bl GetNextFrame - pop {pc} - - thumb_func_start sub_08020A30 -sub_08020A30: @ 0x08020A30 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x84 - ldrb r0, [r5] - cmp r0, #1 - bhi _08020A68 - bl Random - ldr r2, _08020A64 @ =gUnk_080CA6CC - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xe] - cmp r0, #0 - bne _08020A68 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - b _08020A7A - .align 2, 0 -_08020A64: .4byte gUnk_080CA6CC -_08020A68: - movs r0, #0 - movs r1, #1 - strb r1, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x84 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08020A7C -_08020A7A: - pop {r4, r5, pc} - - thumb_func_start sub_08020A7C -sub_08020A7C: @ 0x08020A7C - push {r4, r5, r6, lr} - adds r6, r0, #0 - bl Random - ldrb r5, [r6, #0x15] - ldr r4, _08020ACC @ =gUnk_080CA6D4 - movs r1, #3 - bl __modsi3 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r5, r0 - movs r4, #0x18 - ands r5, r4 - adds r0, r6, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08020ABA - adds r0, r6, #0 - bl sub_08049EE4 - adds r0, #4 - ands r0, r4 - movs r1, #0x10 - eors r1, r5 - cmp r1, r0 - bne _08020ABA - adds r5, r1, #0 -_08020ABA: - strb r5, [r6, #0x15] - lsrs r0, r5, #3 - strb r0, [r6, #0x14] - ldrb r1, [r6, #0x14] - adds r0, r6, #0 - bl InitializeAnimation - pop {r4, r5, r6, pc} - .align 2, 0 -_08020ACC: .4byte gUnk_080CA6D4 - - thumb_func_start sub_08020AD0 -sub_08020AD0: @ 0x08020AD0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08020B6C - cmp r0, #0 - beq _08020B68 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08020B68 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _08020B5C @ =gRoomControls - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r5, #0 - bl GetTileType - lsls r0, r0, #0x10 - ldr r1, _08020B60 @ =0xFF8F0000 - adds r0, r0, r1 - lsrs r0, r0, #0x10 - cmp r0, #1 - bhi _08020B68 - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrh r2, [r4, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - adds r0, #8 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - ands r1, r0 - adds r1, #0xd - strh r1, [r4, #0x32] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldrb r1, [r4, #0x14] - adds r1, #0x14 - adds r0, r4, #0 - bl InitializeAnimation - ldr r0, _08020B64 @ =0x00004034 - ldrb r2, [r6] - adds r1, r5, #0 - bl SetTile - movs r0, #1 - b _08020B6A - .align 2, 0 -_08020B5C: .4byte gRoomControls -_08020B60: .4byte 0xFF8F0000 -_08020B64: .4byte 0x00004034 -_08020B68: - movs r0, #0 -_08020B6A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08020B6C -sub_08020B6C: @ 0x08020B6C - push {lr} - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #0x10 - cmp r0, #3 - bls _08020B7C - movs r0, #0 - b _08020B7E -_08020B7C: - movs r0, #1 -_08020B7E: - pop {pc} diff --git a/data/data_080CA66C.s b/data/data_080CA66C.s index aef40c28..305d378b 100644 --- a/data/data_080CA66C.s +++ b/data/data_080CA66C.s @@ -4,99 +4,6 @@ .section .rodata .align 2 -gUnk_080CA66C:: @ 080CA66C - .incbin "baserom.gba", 0x0CA66C, 0x0000018 - -gUnk_080CA684:: @ 080CA684 - .incbin "baserom.gba", 0x0CA684, 0x0000020 - -gUnk_080CA6A4:: @ 080CA6A4 - .incbin "baserom.gba", 0x0CA6A4, 0x0000018 - -gUnk_080CA6BC:: @ 080CA6BC - .incbin "baserom.gba", 0x0CA6BC, 0x0000010 - -gUnk_080CA6CC:: @ 080CA6CC - .incbin "baserom.gba", 0x0CA6CC, 0x0000008 - -gUnk_080CA6D4:: @ 080CA6D4 - .incbin "baserom.gba", 0x0CA6D4, 0x0000003 - -gUnk_080CA6D7:: @ 080CA6D7 - .incbin "baserom.gba", 0x0CA6D7, 0x0000021 - -gUnk_080CA6F8:: @ 080CA6F8 - .incbin "baserom.gba", 0x0CA6F8, 0x0000021 - -gUnk_080CA719:: @ 080CA719 - .incbin "baserom.gba", 0x0CA719, 0x0000021 - -gUnk_080CA73A:: @ 080CA73A - .incbin "baserom.gba", 0x0CA73A, 0x0000021 - -gUnk_080CA75B:: @ 080CA75B - .incbin "baserom.gba", 0x0CA75B, 0x0000011 - -gUnk_080CA76C:: @ 080CA76C - .incbin "baserom.gba", 0x0CA76C, 0x0000011 - -gUnk_080CA77D:: @ 080CA77D - .incbin "baserom.gba", 0x0CA77D, 0x0000011 - -gUnk_080CA78E:: @ 080CA78E - .incbin "baserom.gba", 0x0CA78E, 0x0000011 - -gUnk_080CA79F:: @ 080CA79F - .incbin "baserom.gba", 0x0CA79F, 0x0000058 - -gUnk_080CA7F7:: @ 080CA7F7 - .incbin "baserom.gba", 0x0CA7F7, 0x0000058 - -gUnk_080CA84F:: @ 080CA84F - .incbin "baserom.gba", 0x0CA84F, 0x0000058 - -gUnk_080CA8A7:: @ 080CA8A7 - .incbin "baserom.gba", 0x0CA8A7, 0x0000058 - -gUnk_080CA8FF:: @ 080CA8FF - .incbin "baserom.gba", 0x0CA8FF, 0x0000008 - -gUnk_080CA907:: @ 080CA907 - .incbin "baserom.gba", 0x0CA907, 0x0000008 - -gUnk_080CA90F:: @ 080CA90F - .incbin "baserom.gba", 0x0CA90F, 0x0000008 - -gUnk_080CA917:: @ 080CA917 - .incbin "baserom.gba", 0x0CA917, 0x0000008 - -gUnk_080CA91F:: @ 080CA91F - .incbin "baserom.gba", 0x0CA91F, 0x0000004 - -gUnk_080CA923:: @ 080CA923 - .incbin "baserom.gba", 0x0CA923, 0x0000004 - -gUnk_080CA927:: @ 080CA927 - .incbin "baserom.gba", 0x0CA927, 0x0000004 - -gUnk_080CA92B:: @ 080CA92B - .incbin "baserom.gba", 0x0CA92B, 0x0000004 - -gUnk_080CA92F:: @ 080CA92F - .incbin "baserom.gba", 0x0CA92F, 0x0000041 - -gUnk_080CA970:: @ 080CA970 - .incbin "baserom.gba", 0x0CA970, 0x0000041 - -gUnk_080CA9B1:: @ 080CA9B1 - .incbin "baserom.gba", 0x0CA9B1, 0x0000041 - -gUnk_080CA9F2:: @ 080CA9F2 - .incbin "baserom.gba", 0x0CA9F2, 0x0000042 - -gUnk_080CAA34:: @ 080CAA34 - .incbin "baserom.gba", 0x0CAA34, 0x0000064 - gUnk_080CAA98:: @ 080CAA98 .incbin "baserom.gba", 0x0CAA98, 0x0000018 diff --git a/data/rollobiteAnimations.s b/data/rollobiteAnimations.s new file mode 100644 index 00000000..1abb3ffd --- /dev/null +++ b/data/rollobiteAnimations.s @@ -0,0 +1,83 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080CA6D4:: @ 080CA6D4 + .incbin "baserom.gba", 0x0CA6D4, 0x0000003 + +gUnk_080CA6D7:: @ 080CA6D7 + .incbin "baserom.gba", 0x0CA6D7, 0x0000021 + +gUnk_080CA6F8:: @ 080CA6F8 + .incbin "baserom.gba", 0x0CA6F8, 0x0000021 + +gUnk_080CA719:: @ 080CA719 + .incbin "baserom.gba", 0x0CA719, 0x0000021 + +gUnk_080CA73A:: @ 080CA73A + .incbin "baserom.gba", 0x0CA73A, 0x0000021 + +gUnk_080CA75B:: @ 080CA75B + .incbin "baserom.gba", 0x0CA75B, 0x0000011 + +gUnk_080CA76C:: @ 080CA76C + .incbin "baserom.gba", 0x0CA76C, 0x0000011 + +gUnk_080CA77D:: @ 080CA77D + .incbin "baserom.gba", 0x0CA77D, 0x0000011 + +gUnk_080CA78E:: @ 080CA78E + .incbin "baserom.gba", 0x0CA78E, 0x0000011 + +gUnk_080CA79F:: @ 080CA79F + .incbin "baserom.gba", 0x0CA79F, 0x0000058 + +gUnk_080CA7F7:: @ 080CA7F7 + .incbin "baserom.gba", 0x0CA7F7, 0x0000058 + +gUnk_080CA84F:: @ 080CA84F + .incbin "baserom.gba", 0x0CA84F, 0x0000058 + +gUnk_080CA8A7:: @ 080CA8A7 + .incbin "baserom.gba", 0x0CA8A7, 0x0000058 + +gUnk_080CA8FF:: @ 080CA8FF + .incbin "baserom.gba", 0x0CA8FF, 0x0000008 + +gUnk_080CA907:: @ 080CA907 + .incbin "baserom.gba", 0x0CA907, 0x0000008 + +gUnk_080CA90F:: @ 080CA90F + .incbin "baserom.gba", 0x0CA90F, 0x0000008 + +gUnk_080CA917:: @ 080CA917 + .incbin "baserom.gba", 0x0CA917, 0x0000008 + +gUnk_080CA91F:: @ 080CA91F + .incbin "baserom.gba", 0x0CA91F, 0x0000004 + +gUnk_080CA923:: @ 080CA923 + .incbin "baserom.gba", 0x0CA923, 0x0000004 + +gUnk_080CA927:: @ 080CA927 + .incbin "baserom.gba", 0x0CA927, 0x0000004 + +gUnk_080CA92B:: @ 080CA92B + .incbin "baserom.gba", 0x0CA92B, 0x0000004 + +gUnk_080CA92F:: @ 080CA92F + .incbin "baserom.gba", 0x0CA92F, 0x0000041 + +gUnk_080CA970:: @ 080CA970 + .incbin "baserom.gba", 0x0CA970, 0x0000041 + +gUnk_080CA9B1:: @ 080CA9B1 + .incbin "baserom.gba", 0x0CA9B1, 0x0000041 + +gUnk_080CA9F2:: @ 080CA9F2 + .incbin "baserom.gba", 0x0CA9F2, 0x0000042 + +gUnk_080CAA34:: @ 080CAA34 + .incbin "baserom.gba", 0x0CAA34, 0x0000064 diff --git a/include/entity.h b/include/entity.h index 069f2073..fbf048d3 100644 --- a/include/entity.h +++ b/include/entity.h @@ -100,7 +100,7 @@ typedef struct Entity { /*0x43*/ u8 field_0x43; /*0x44*/ u8 field_0x44; /*0x45*/ u8 currentHealth; - /*0x46*/ s16 field_0x46; + /*0x46*/ u16 field_0x46; /*0x48*/ BoundingBox* boundingBox; /*0x4c*/ u8 field_0x4c; /*0x4d*/ u8 field_0x4d; diff --git a/linker.ld b/linker.ld index b3006acb..d0694a1e 100644 --- a/linker.ld +++ b/linker.ld @@ -329,6 +329,7 @@ SECTIONS { src/enemy/chuchu.o(.text); src/enemy/leever.o(.text); src/enemy/peahat.o(.text); + src/enemy/rollobite.o(.text); asm/rollobite.o(.text); asm/darkNut.o(.text); src/enemy/hangingSeed.o(.text); @@ -914,6 +915,8 @@ SECTIONS { data/leeverAnimations.o(.rodata); src/enemy/peahat.o(.rodata); data/peahatAnimations.o(.rodata); + src/enemy/rollobite.o(.rodata); + data/rollobiteAnimations.o(.rodata); data/data_080CA66C.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c new file mode 100644 index 00000000..9a662526 --- /dev/null +++ b/src/enemy/rollobite.c @@ -0,0 +1,325 @@ +#include "entity.h" +#include "functions.h" + +extern void (*const gUnk_080CA66C[])(Entity*); +extern void (*const gUnk_080CA684[])(Entity*); +extern void (*const gUnk_080CA6A4[])(Entity*); +extern void (*const gUnk_080CA6BC[])(Entity*); + +extern const u8 gUnk_080CA6CC[]; +extern const s8 gUnk_080CA6D4[]; + +void sub_08020A30(Entity*); +void sub_08020A7C(Entity*); +u32 sub_08020AD0(Entity*); +u32 sub_08020B6C(Entity*); + +extern void sub_080AE58C(); +extern void sub_080AE7E8(); +extern void sub_08078930(); +extern s32 GetTileType(s32 tilePosition, s32 layerIndex); + +void Rollobite(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CA66C); +} + +void sub_08020648(Entity* this) { + sub_08020AD0(this); + gUnk_080CA684[this->action](this); +} + +void sub_08020668(Entity* this) { + if (this->damageType == 34 && this->currentHealth != 0xff) { + this->action = 4; + this->field_0x20 = 0x20000; + this->direction = -1; + this->currentHealth = -1; + this->damageType = 35; + InitializeAnimation(this, this->animationState + 8); + } + + if (this->bitfield != 0x80) { + u8 tmp = this->action - 4; + if (tmp < 2) { + this->action = 4; + this->actionDelay = -76; + this->direction = -1; + InitializeAnimation(this, this->animationState + 0x10); + } + } + + if (this->bitfield == 0x93) + sub_08020648(this); +} + +void sub_080206E0(Entity* this) { + if (sub_08020AD0(this)) { + this->field_0x42 = 0; + } else { + if (sub_08020B6C(this)) { + this->field_0x42--; + sub_080AE58C(this, this->field_0x3e, 10); + sub_080AE7E8(this, this->field_0x46, this->field_0x3e, 10); + } else { + sub_08001324(this); + } + } +} + +void sub_08020734(Entity* this) { + if (this->previousActionFlag < 3 && !sub_0806F520(this)) { + this->action = 4; + this->flags |= 0x80; + this->direction = -1; + InitializeAnimation(this, this->animationState + 0x10); + } else { + gUnk_080CA6A4[this->previousActionFlag](this); + } +} + +void sub_0802077C(Entity* this) { + this->previousActionFlag = 1; + this->field_0x1d = 60; +} + +void sub_08020788(Entity* this) { + sub_0806F4E8(this); +} + +void sub_08020790(Entity* this) { + sub_0806F3E4(this); +} + +void sub_08020798(Entity* this) { + this->flags &= ~0x80; +} + +void nullsub_6(Entity* this) { +} + +void sub_080207A8(Entity* this) { + this->action = 4; + this->flags |= 0x80; + this->spritePriority.b0 = 4; + this->field_0x3a &= 0xfb; + this->direction ^= 0x10; + this->field_0x20 = 0x18000; + this->nonPlanarMovement = 0x80; + InitializeAnimation(this, this->animationState + 0x10); +} + +void sub_080207F4(Entity* this) { + sub_0804A720(this); + this->field_0x16 = 0x30; + this->field_0x1c = 18; + this->cutsceneBeh.HALF.LO = 0; + this->direction = Random() & 0x18; + sub_08020A30(this); +} + +void sub_08020820(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x1) { + this->frames.all &= ~0x1; + if (!sub_080AEF88(this)) + this->actionDelay = 1; + } + + if (this->frames.all & 0x10) { + this->frames.all &= ~0x10; + if (--this->actionDelay == 0) { + this->action = 3; + this->actionDelay = 60; + } + } +} + +void sub_08020874(Entity* this) { + gUnk_080CA6BC[this->previousActionFlag](this); +} + +void sub_0802088C(Entity* this) { + this->previousActionFlag = 1; + this->flags &= ~0x80; + this->cutsceneBeh.HALF.HI = gPlayerEntity.animationState; + this->spritePriority.b1 = 0; +} + +void sub_080208B4(Entity* this) { + s8 uVar1 = (this->cutsceneBeh.HALF.HI - gPlayerEntity.animationState) / 2; + if (uVar1) { + this->animationState = (this->animationState + uVar1) & 3; + InitializeAnimation(this, this->animationState + 0x10); + } + this->cutsceneBeh.HALF.HI = gPlayerEntity.animationState; +} + +void sub_080208F0(Entity* this) { + this->spritePriority.b1 = 3; +} + +void sub_08020904(Entity* this) { + this->action = 4; + this->flags |= 0x80; + this->direction = -1; + InitializeAnimation(this, this->animationState + 0x10); +} + +void sub_08020920(Entity* this) { + if (--this->actionDelay == 0) + sub_08020A30(this); +} + +void sub_08020938(Entity* this) { + u32 unk; + + if ((this->frames.all & 0x80) == 0) + GetNextFrame(this); + + unk = sub_080044EC(this, 0x2800); + + if (unk == 0) { + if (--this->actionDelay == 0) { + this->action = 5; + InitializeAnimation(this, this->animationState + 12); + } + sub_08078930(this); + } else { + if (unk == 1) + sub_08004488(260); + + if ((this->direction & 0x80) == 0) + sub_080AEFE0(this); + } +} + +void sub_080209A0(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->flags |= 0x80; + this->nonPlanarMovement = 0x100; + this->damageType = 34; + sub_08020A30(this); + this->direction = this->animationState << 3; + InitializeAnimation(this, this->animationState); + } else { + if ((this->frames.all & 1) == 0) + sub_08078930(this); + } +} + +void sub_080209F4(Entity* this) { + if (sub_08003FC4(this, 0x1c00) == 0) { + this->action = 7; + this->spritePriority.b0 = 7; + } + + if (this->frames.all == 0) + GetNextFrame(this); +} + +void sub_08020A28(Entity* this) { + GetNextFrame(this); +} + +void sub_08020A30(Entity* this) { + if (this->cutsceneBeh.HALF.LO < 2) { + this->actionDelay = gUnk_080CA6CC[Random() & 7]; + if (this->actionDelay == 0) { + this->action = 3; + this->actionDelay = 60; + this->cutsceneBeh.HALF.LO++; + return; + } + } + this->action = 1; + this->cutsceneBeh.HALF.LO = 0; + sub_08020A7C(this); +} + +void sub_08020A7C(Entity* this) { + int tmp = Random(); + u32 state = (this->direction + gUnk_080CA6D4[tmp % 3]) & 0x18; + + if (sub_08049FA0(this) == 0) { + int tmp = (sub_08049EE4(this) + 4) & 0x18; + if ((state ^ 0x10) == tmp) + state ^= 0x10; + } + + this->direction = state; + this->animationState = (u8)(state >> 3); + InitializeAnimation(this, this->animationState); +} + +u32 sub_08020AD0(Entity* this) { + if (sub_08020B6C(this) && this->height.HALF.HI == 0) { + int tile = COORD_TO_TILE(this); + int iVar1 = GetTileType(tile, this->collisionLayer); + if ((iVar1 * 0x10000 - 0x710000U) >> 0x10 < 2) { + this->action = 6; + this->flags &= ~0x80; + this->x.HALF.HI &= 0xfff0; + this->x.HALF.HI += 8; + this->y.HALF.HI &= 0xfff0; + this->y.HALF.HI += 13; + this->field_0x20 = 0x20000; + InitializeAnimation(this, this->animationState + 0x14); + SetTile(0x4034, tile, this->collisionLayer); + return 1; + } + } + return 0; +} + +u32 sub_08020B6C(Entity* this) { + u32 tmp = this->animIndex - 0x10; + if (tmp < 4) { + return 1; + } else { + return 0; + } +} + +// clang-format off +void (*const gUnk_080CA66C[])(Entity*) = { + sub_08020648, + sub_08020668, + sub_080206E0, + sub_0804A7D4, + sub_08001242, + sub_08020734, +}; + +void (*const gUnk_080CA684[])(Entity*) = { + sub_080207F4, + sub_08020820, + sub_08020874, + sub_08020920, + sub_08020938, + sub_080209A0, + sub_080209F4, + sub_08020A28, +}; + +void (*const gUnk_080CA6A4[])(Entity*) = { + sub_0802077C, + sub_08020788, + sub_08020790, + sub_08020798, + nullsub_6, + sub_080207A8, +}; + +void (*const gUnk_080CA6BC[])(Entity*) = { + sub_0802088C, + sub_080208B4, + sub_080208F0, + sub_08020904, +}; + +const u8 gUnk_080CA6CC[] = { + 0,6,9,0,6,6,0,7 +}; +// clang-format on + From c8ca34878beb88af7dce2fab450ded812caf762e Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 28 Aug 2020 05:29:21 +0200 Subject: [PATCH 028/105] rename rodata and remove rollobite asm reference --- data/{data_080CA66C.s => data_080CAA98.s} | 0 linker.ld | 3 +-- 2 files changed, 1 insertion(+), 2 deletions(-) rename data/{data_080CA66C.s => data_080CAA98.s} (100%) diff --git a/data/data_080CA66C.s b/data/data_080CAA98.s similarity index 100% rename from data/data_080CA66C.s rename to data/data_080CAA98.s diff --git a/linker.ld b/linker.ld index d0694a1e..5c94a2bb 100644 --- a/linker.ld +++ b/linker.ld @@ -330,7 +330,6 @@ SECTIONS { src/enemy/leever.o(.text); src/enemy/peahat.o(.text); src/enemy/rollobite.o(.text); - asm/rollobite.o(.text); asm/darkNut.o(.text); src/enemy/hangingSeed.o(.text); asm/beetle.o(.text); @@ -917,7 +916,7 @@ SECTIONS { data/peahatAnimations.o(.rodata); src/enemy/rollobite.o(.rodata); data/rollobiteAnimations.o(.rodata); - data/data_080CA66C.o(.rodata); + data/data_080CAA98.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From 224b89f6a26bc01f65a1a43c5db4859595d9128d Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 28 Aug 2020 14:59:49 +0200 Subject: [PATCH 029/105] agbcc memes --- include/entity.h | 12 ++++++------ src/enemy/acroBandits.c | 6 +++--- src/enemy/peahat.c | 12 ------------ 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/include/entity.h b/include/entity.h index fbf048d3..0304f396 100644 --- a/include/entity.h +++ b/include/entity.h @@ -44,12 +44,12 @@ typedef struct Entity { /*0x18*/ union { /* */ u8 raw; /* */ struct { - /* */ u8 draw : 2; // 1-2 - /* */ u8 ss2 : 1; // 4 - /* */ u8 ss3 : 1; // 8 - /* */ u8 shadow : 2; //0x10-0x20 - /* */ u8 flipX : 1; //0x40 - /* */ u8 flipY : 1; //0x80 + /* */ u32 draw : 2; // 1-2 + /* */ u32 ss2 : 1; // 4 + /* */ u32 ss3 : 1; // 8 + /* */ u32 shadow : 2; //0x10-0x20 + /* */ u32 flipX : 1; //0x40 + /* */ u32 flipY : 1; //0x80 /* */ } PACKED b; /* */ } PACKED spriteSettings; /*0x19*/ struct { diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 2d767f8a..98e6f254 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -411,9 +411,9 @@ void sub_08032008(Entity* this) { } } - if (this->direction & 0xf) { - this->spriteSettings.b.flipX = !(!(this->direction & 0x10) ^ 1); - } + if (this->direction & 0xf) + this->spriteSettings.b.flipX = (this->direction >> 4 ^ 1); + sub_080AEF88(this); } else { diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index a7480914..728a7837 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -326,19 +326,7 @@ void sub_08020590(Entity* this) { DeleteEntity(this); } else { if (this->actionDelay < 60) -#if NON_MATCHING this->spriteSettings.b.draw ^= 1; -#else - asm("ldrb r2, [r4, #0x18]\n\ - lsl r1, r2, #0x1e\n\ - lsr r1, r1, #0x1e\n\ - mov r0, #1\n\ - eor r1, r0\n\ - sub r0, #5\n\ - and r0, r2\n\ - orr r0, r1\n\ - strb r0, [r4, #0x18]"); -#endif this->height.WORD -= 0xc000; sub_0806F69C(this); From 6887d83e419961ce446922406a3bd12d5fdd4b58 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 28 Aug 2020 15:13:10 +0200 Subject: [PATCH 030/105] objectB2 matches now thanks to Revo --- asm/objectB2.s | 79 ------------------------------------------- linker.ld | 1 - src/object/objectB2.c | 54 +++++++++++++---------------- 3 files changed, 24 insertions(+), 110 deletions(-) delete mode 100644 asm/objectB2.s diff --git a/asm/objectB2.s b/asm/objectB2.s deleted file mode 100644 index 6b752af2..00000000 --- a/asm/objectB2.s +++ /dev/null @@ -1,79 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectB2 -ObjectB2: @ 0x080A09A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A09D4 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xa] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - ldr r1, _080A0A2C @ =gUnk_02027EB4 - cmp r0, #2 - bne _080A09CA - ldr r1, _080A0A30 @ =gUnk_0200D654 -_080A09CA: - str r1, [r4, #0x54] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl InitializeAnimation -_080A09D4: - ldr r0, [r4, #0x50] - ldrh r0, [r0, #0x24] - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, [r4, #0x54] - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r3, #0x32 - ldrsh r2, [r4, r3] - movs r3, #9 - bl sub_080AE4CC - cmp r0, #0 - beq _080A09F8 - bl DeleteThisEntity -_080A09F8: - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0x40 - bgt _080A0A22 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A0A22 - bl DeleteThisEntity -_080A0A22: - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - .align 2, 0 -_080A0A2C: .4byte gUnk_02027EB4 -_080A0A30: .4byte gUnk_0200D654 diff --git a/linker.ld b/linker.ld index 5c94a2bb..dfbdb5ac 100644 --- a/linker.ld +++ b/linker.ld @@ -857,7 +857,6 @@ SECTIONS { src/object/metalDoor.o(.text); src/object/jailBars.o(.text); src/object/objectB2.o(.text); - asm/objectB2.o(.text); asm/objectB3.o(.text); asm/objectB4.o(.text); asm/objectB5.o(.text); diff --git a/src/object/objectB2.c b/src/object/objectB2.c index 3c7e7fe2..eb584161 100644 --- a/src/object/objectB2.c +++ b/src/object/objectB2.c @@ -7,38 +7,32 @@ extern u32 sub_080AE4CC(Entity*, u32, u32, u32); extern void* gUnk_02027EB4; extern void* gUnk_0200D654; -#if 0 +void ObjectB2(Entity* this) { + void* pEVar3; -void ObjectB2(Entity *this) -{ - void* pEVar3; - - if (this->action == 0) { - this->action = 1; - this->actionDelay = 0x10; - this->direction = (this->entityType).form << 3; - if (this->collisionLayer == 2) { - pEVar3 = &gUnk_0200D654; + if (this->action == 0) { + this->action = 1; + this->actionDelay = 0x10; + this->direction = (this->entityType).form << 3; + if (this->collisionLayer == 2) { + pEVar3 = &gUnk_0200D654; + } else { + pEVar3 = &gUnk_02027EB4; + } + this->attachedEntity = pEVar3; + InitializeAnimation(this, this->entityType.form); } - else { - pEVar3 = &gUnk_02027EB4; + this->nonPlanarMovement = this->parent->nonPlanarMovement; + sub_0806F69C(this); + if (sub_080AE4CC(this->attachedEntity, this->x.HALF.HI, this->y.HALF.HI, 9) != 0) { + DeleteThisEntity(); } - this->attachedEntity = pEVar3; - InitializeAnimation(this, this->entityType.form); - } - this->nonPlanarMovement = this->parent->nonPlanarMovement; - sub_0806F69C(this); - if (sub_080AE4CC(this->attachedEntity, this->x.HALF.HI, this->y.HALF.HI, 9) != 0) { - DeleteThisEntity(); - } - if (this->nonPlanarMovement < 0x41) { - this->spriteSettings.b.draw ^= 1; + if (this->nonPlanarMovement < 0x41) { + this->spriteSettings.b.draw ^= 1; - if (--this->actionDelay == 0) { - DeleteThisEntity(); + if (--this->actionDelay == 0) { + DeleteThisEntity(); + } } - } - GetNextFrame(this); -} - -#endif \ No newline at end of file + GetNextFrame(this); +} \ No newline at end of file From 4a61e8727f0da230a986fd46f026feadc855642f Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 01:05:12 +0200 Subject: [PATCH 031/105] decompile darkNut --- asm/darkNut.s | 1549 --------------------- asm/non_matching/darkNut/sub_08021274.inc | 43 + data/darkNutAnimations.s | 239 ++++ data/data_080CAA98.s | 276 ---- include/functions.h | 2 +- linker.ld | 4 +- src/enemy/darkNut.c | 754 ++++++++++ 7 files changed, 1040 insertions(+), 1827 deletions(-) delete mode 100644 asm/darkNut.s create mode 100644 asm/non_matching/darkNut/sub_08021274.inc create mode 100644 data/darkNutAnimations.s create mode 100644 src/enemy/darkNut.c diff --git a/asm/darkNut.s b/asm/darkNut.s deleted file mode 100644 index fd3af0e8..00000000 --- a/asm/darkNut.s +++ /dev/null @@ -1,1549 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start DarkNut -DarkNut: @ 0x08020B80 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08020B9C @ =gUnk_080CAA98 - bl EnemyFunctionHandler - movs r3, #0x16 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl SetChildOffset - pop {r4, pc} - .align 2, 0 -_08020B9C: .4byte gUnk_080CAA98 - - thumb_func_start sub_08020BA0 -sub_08020BA0: @ 0x08020BA0 - push {lr} - ldr r2, _08020BB4 @ =gUnk_080CAAB0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08020BB4: .4byte gUnk_080CAAB0 - - thumb_func_start sub_08020BB8 -sub_08020BB8: @ 0x08020BB8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r2, #0x7f - adds r1, r2, #0 - ands r1, r0 - cmp r1, #0x1c - beq _08020BE0 - cmp r1, #0x1c - bgt _08020BD4 - cmp r1, #0x16 - beq _08020C24 - b _08020D32 -_08020BD4: - cmp r1, #0x4b - beq _08020C68 - cmp r1, #0x4c - bne _08020BDE - b _08020CF0 -_08020BDE: - b _08020D32 -_08020BE0: - movs r0, #0xb - strb r0, [r4, #0xc] - ldr r1, _08020C20 @ =gUnk_080CAB0C - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x51 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - movs r2, #0x10 - eors r2, r0 - adds r2, #4 - movs r0, #0x18 - ands r2, r0 - asrs r2, r2, #3 - adds r0, r4, #0 - movs r1, #8 - bl sub_08021218 - adds r0, r4, #0 - bl sub_08021588 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - b _08020CE2 - .align 2, 0 -_08020C20: .4byte gUnk_080CAB0C -_08020C24: - movs r0, #0xb - strb r0, [r4, #0xc] - ldr r1, _08020C64 @ =gUnk_080CAB10 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x51 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - movs r2, #0x10 - eors r2, r0 - adds r2, #4 - movs r0, #0x18 - ands r2, r0 - asrs r2, r2, #3 - adds r0, r4, #0 - movs r1, #8 - bl sub_08021218 - adds r0, r4, #0 - bl sub_08021588 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - b _08020CE2 - .align 2, 0 -_08020C64: .4byte gUnk_080CAB10 -_08020C68: - ldrb r0, [r4, #0xc] - adds r6, r4, #0 - adds r6, #0x45 - adds r5, r4, #0 - adds r5, #0x78 - cmp r0, #0xd - beq _08020D58 - cmp r0, #0xf - beq _08020D58 - cmp r0, #0x13 - beq _08020D58 - cmp r0, #0x12 - beq _08020D58 - adds r0, r4, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #4 - blt _08020CC0 - cmp r0, #6 - ble _08020CAC - cmp r0, #0xc - bgt _08020CC0 - cmp r0, #8 - blt _08020CC0 - ldr r0, _08020CA8 @ =gUnk_080CAB04 - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - ldrb r0, [r1] - adds r1, r4, #0 - adds r1, #0x7a - b _08020CC6 - .align 2, 0 -_08020CA8: .4byte gUnk_080CAB04 -_08020CAC: - ldr r0, _08020CBC @ =gUnk_080CAB00 - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - ldrb r0, [r1] - adds r1, r4, #0 - adds r1, #0x7a - b _08020CC6 - .align 2, 0 -_08020CBC: .4byte gUnk_080CAB00 -_08020CC0: - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0 -_08020CC6: - strb r0, [r1] - movs r0, #0xa - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0xb - bl sub_08021218 - ldr r0, _08020CEC @ =0x0000015D - bl sub_08004488 - adds r0, r4, #0 - bl sub_08021588 -_08020CE2: - adds r6, r4, #0 - adds r6, #0x45 - adds r5, r4, #0 - adds r5, #0x78 - b _08020D58 - .align 2, 0 -_08020CEC: .4byte 0x0000015D -_08020CF0: - ldrb r0, [r4, #0xc] - adds r6, r4, #0 - adds r6, #0x45 - adds r5, r4, #0 - adds r5, #0x78 - cmp r0, #0xf - bne _08020D58 - movs r1, #0xff - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _08020D0E - adds r0, #0x41 - ldrb r0, [r0] - adds r1, r2, #0 - ands r1, r0 -_08020D0E: - cmp r1, #2 - bne _08020D28 - ldr r0, _08020D24 @ =gUnk_080CAB08 - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_080213D0 - b _08020D58 - .align 2, 0 -_08020D24: .4byte gUnk_080CAB08 -_08020D28: - adds r0, r4, #0 - movs r1, #0 - bl sub_080213D0 - b _08020D58 -_08020D32: - adds r2, r4, #0 - adds r2, #0x45 - adds r0, r4, #0 - adds r0, #0x78 - ldrb r1, [r2] - adds r6, r2, #0 - adds r5, r0, #0 - ldrb r0, [r5] - cmp r1, r0 - beq _08020D58 - adds r0, r4, #0 - bl sub_08021588 - adds r0, r4, #0 - bl sub_08021390 - adds r0, r4, #0 - bl sub_0804AA1C -_08020D58: - ldrb r0, [r6] - strb r0, [r5] - ldr r1, _08020D68 @ =gUnk_080CAA98 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08020D68: .4byte gUnk_080CAA98 - - thumb_func_start nullsub_129 -nullsub_129: @ 0x08020D6C - bx lr - .align 2, 0 - - thumb_func_start sub_08020D70 -sub_08020D70: @ 0x08020D70 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x75 - strb r1, [r0] - subs r0, #0x30 - ldrb r1, [r0] - adds r0, #0x33 - strb r1, [r0] - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - movs r2, #2 - bl sub_08021218 - pop {r4, pc} - - thumb_func_start sub_08020D9C -sub_08020D9C: @ 0x08020D9C - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08020DB0 - adds r0, r4, #0 - bl sub_080213F0 -_08020DB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020DB4 -sub_08020DB4: @ 0x08020DB4 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020DD0 - adds r0, r4, #0 - bl sub_08021390 -_08020DD0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020DD4 -sub_08020DD4: @ 0x08020DD4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080214FC - cmp r0, #0 - beq _08020DE8 - adds r0, r4, #0 - bl sub_080213F0 - b _08020E26 -_08020DE8: - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08020E08 - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #5 - bl sub_08021218 - b _08020E26 -_08020E08: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020E1A - adds r0, r4, #0 - bl sub_08021540 -_08020E1A: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame -_08020E26: - pop {r4, pc} - - thumb_func_start sub_08020E28 -sub_08020E28: @ 0x08020E28 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020E44 - adds r0, r4, #0 - bl sub_080213B0 -_08020E44: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020E48 -sub_08020E48: @ 0x08020E48 - push {r4, lr} - adds r4, r0, #0 - bl sub_080214FC - cmp r0, #0 - beq _08020E5C - adds r0, r4, #0 - bl sub_080213F0 - b _08020E76 -_08020E5C: - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020E76 - adds r0, r4, #0 - bl sub_080213B0 -_08020E76: - pop {r4, pc} - - thumb_func_start sub_08020E78 -sub_08020E78: @ 0x08020E78 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020E94 - adds r0, r4, #0 - bl sub_08021390 -_08020E94: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020E98 -sub_08020E98: @ 0x08020E98 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #1 - movs r2, #0x38 - bl sub_08049F64 - cmp r0, #0 - beq _08020EF6 - ldr r5, _08020EDC @ =gUnk_020000B0 - ldr r1, [r5] - adds r0, r4, #0 - bl sub_0802169C - cmp r0, #0 - bne _08020ECA - ldr r0, [r5] - adds r1, r4, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _08020EE0 -_08020ECA: - movs r0, #8 - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #7 - bl sub_08021218 - b _08020F26 - .align 2, 0 -_08020EDC: .4byte gUnk_020000B0 -_08020EE0: - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0802124C - adds r0, r4, #0 - bl sub_08021644 - b _08020F26 -_08020EF6: - ldr r0, _08020F08 @ =gUnk_020000B0 - ldr r1, [r0] - cmp r1, #0 - bne _08020F0C - adds r0, r4, #0 - bl sub_08021414 - b _08020F26 - .align 2, 0 -_08020F08: .4byte gUnk_020000B0 -_08020F0C: - adds r0, r4, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_0802124C - adds r0, r4, #0 - bl sub_08021644 -_08020F26: - pop {r4, r5, pc} - - thumb_func_start sub_08020F28 -sub_08020F28: @ 0x08020F28 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020F44 - adds r0, r4, #0 - bl sub_08021400 -_08020F44: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020F48 -sub_08020F48: @ 0x08020F48 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _08020FA4 - ldr r5, _08020F98 @ =gUnk_020000B0 - ldr r1, [r5] - adds r0, r4, #0 - bl sub_08021664 - cmp r0, #0 - beq _08020F9C - ldr r1, [r5] - adds r0, r4, #0 - movs r2, #9 - bl sub_0804A044 - adds r2, r0, #0 - cmp r2, #0xff - beq _08020F9C - movs r0, #0xe - strb r0, [r4, #0xc] - lsrs r2, r2, #3 - adds r0, r4, #0 - movs r1, #0xd - bl sub_08021218 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A98C - cmp r0, #0 - beq _08020FAA - str r4, [r0, #0x50] - str r0, [r4, #0x54] - b _08020FAA - .align 2, 0 -_08020F98: .4byte gUnk_020000B0 -_08020F9C: - adds r0, r4, #0 - bl sub_08021424 - b _08020FAA -_08020FA4: - adds r0, r4, #0 - bl sub_08021390 -_08020FAA: - pop {r4, r5, pc} - - thumb_func_start sub_08020FAC -sub_08020FAC: @ 0x08020FAC - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020FDC - adds r1, r2, #0 - adds r1, #0x7a - ldrb r0, [r1] - cmp r0, #0 - beq _08020FCC - subs r0, #1 - strb r0, [r1] - b _08020FE2 -_08020FCC: - adds r1, r2, #0 - adds r1, #0x3d - movs r0, #0xf8 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08021390 - b _08020FE2 -_08020FDC: - adds r0, r2, #0 - bl UpdateAnimationSingleFrame -_08020FE2: - pop {pc} - - thumb_func_start sub_08020FE4 -sub_08020FE4: @ 0x08020FE4 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802100C - movs r0, #0xc - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #9 - bl sub_08021218 - adds r0, r4, #0 - bl sub_0804AA1C -_0802100C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021010 -sub_08021010: @ 0x08021010 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021034 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x56 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080213F0 -_08021034: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021038 -sub_08021038: @ 0x08021038 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - cmp r0, #0 - bne _08021066 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - beq _08021066 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_0804A98C - cmp r0, #0 - beq _0802105E - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_0802105E: - movs r0, #0x87 - lsls r0, r0, #1 - bl sub_08004488 -_08021066: - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021090 - adds r0, r4, #0 - bl sub_08021588 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - cmp r0, #0 - beq _08021088 - subs r0, #1 - b _080210A2 -_08021088: - adds r0, r4, #0 - bl sub_08021390 - b _080210A4 -_08021090: - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - ldrb r0, [r5] - cmp r0, #4 - bne _080210A4 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x51 -_080210A2: - strb r0, [r1] -_080210A4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080210A8 -sub_080210A8: @ 0x080210A8 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080210D4 - movs r0, #0 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08021588 - ldr r0, _080210D0 @ =0x0000015D - bl sub_08004488 - b _080210E2 - .align 2, 0 -_080210D0: .4byte 0x0000015D -_080210D4: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080210E2 - adds r0, r4, #0 - bl sub_08021390 -_080210E2: - pop {r4, pc} - - thumb_func_start sub_080210E4 -sub_080210E4: @ 0x080210E4 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802111A - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0 - movs r2, #2 - bl sub_0804A98C - cmp r0, #0 - beq _08021112 - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_08021112: - movs r0, #0x87 - lsls r0, r0, #1 - bl sub_08004488 -_0802111A: - adds r0, r4, #0 - bl sub_08021644 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08021154 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - beq _0802114A - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _08021154 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021154 -_0802114A: - adds r0, r4, #0 - movs r1, #0 - bl sub_080213D0 - b _0802116C -_08021154: - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802116C - adds r0, r4, #0 - movs r1, #0 - bl sub_080213D0 -_0802116C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021170 -sub_08021170: @ 0x08021170 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021198 - adds r1, r2, #0 - adds r1, #0x7b - ldrb r0, [r1] - cmp r0, #0 - beq _08021190 - subs r0, #1 - strb r0, [r1] - b _0802119E -_08021190: - adds r0, r2, #0 - bl sub_08021390 - b _0802119E -_08021198: - adds r0, r2, #0 - bl UpdateAnimationSingleFrame -_0802119E: - pop {pc} - - thumb_func_start sub_080211A0 -sub_080211A0: @ 0x080211A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080214FC - cmp r0, #0 - beq _080211B4 - adds r0, r4, #0 - bl sub_08021390 - b _080211CE -_080211B4: - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080211CE - adds r0, r4, #0 - bl sub_080213B0 -_080211CE: - pop {r4, pc} - - thumb_func_start sub_080211D0 -sub_080211D0: @ 0x080211D0 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - bl sub_0802159C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080211F2 - adds r0, r4, #0 - bl sub_08021390 -_080211F2: - pop {r4, pc} - - thumb_func_start sub_080211F4 -sub_080211F4: @ 0x080211F4 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - bl sub_08021600 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021216 - adds r0, r4, #0 - bl sub_08021390 -_08021216: - pop {r4, pc} - - thumb_func_start sub_08021218 -sub_08021218: @ 0x08021218 - push {r4, lr} - adds r3, r0, #0 - adds r4, r3, #0 - adds r4, #0x74 - ldrb r0, [r4] - cmp r0, r1 - bne _0802122C - ldrb r0, [r3, #0x14] - cmp r0, r2 - beq _08021244 -_0802122C: - strb r2, [r3, #0x14] - strb r1, [r4] - lsls r0, r1, #1 - ldr r1, _08021248 @ =gUnk_080CAB14 - adds r0, r0, r1 - ldrb r1, [r0, #1] - strh r1, [r3, #0x12] - ldrb r1, [r0] - adds r1, r1, r2 - adds r0, r3, #0 - bl InitAnimationForceUpdate -_08021244: - pop {r4, pc} - .align 2, 0 -_08021248: .4byte gUnk_080CAB14 - - thumb_func_start sub_0802124C -sub_0802124C: @ 0x0802124C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x14] - ldrb r1, [r4, #0x15] - bl sub_08021274 - adds r2, r0, #0 - cmp r2, #0xff - beq _0802126C - adds r0, r4, #0 - adds r0, #0x74 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08021218 - b _08021272 -_0802126C: - adds r0, r4, #0 - bl UpdateAnimationSingleFrame -_08021272: - pop {r4, pc} - - thumb_func_start sub_08021274 -sub_08021274: @ 0x08021274 - push {lr} - adds r2, r0, #0 - movs r0, #7 - ands r0, r1 - subs r0, #3 - cmp r0, #2 - bhi _0802129A - movs r3, #0x18 - adds r0, r1, #0 - ands r0, r3 - lsrs r0, r0, #3 - cmp r0, r2 - beq _080212AA - adds r0, r1, #0 - adds r0, #8 - ands r0, r3 - lsrs r0, r0, #3 - cmp r0, r2 - beq _080212AA -_0802129A: - adds r0, r1, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r1, r0, #3 - cmp r2, r1 - beq _080212AA - adds r0, r1, #0 - b _080212AC -_080212AA: - movs r0, #0xff -_080212AC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080212B0 -sub_080212B0: @ 0x080212B0 - push {r4, r5, lr} - adds r5, r0, #0 - adds r1, r5, #0 - adds r1, #0x75 - ldrb r0, [r1] - cmp r0, #1 - beq _080212D0 - cmp r0, #2 - beq _080212DC - movs r0, #1 - strb r0, [r1] - ldr r4, _080212CC @ =gUnk_080CAB3A - b _080212E2 - .align 2, 0 -_080212CC: .4byte gUnk_080CAB3A -_080212D0: - movs r0, #2 - strb r0, [r1] - ldr r4, _080212D8 @ =gUnk_080CAB42 - b _080212E2 - .align 2, 0 -_080212D8: .4byte gUnk_080CAB42 -_080212DC: - movs r0, #0 - strb r0, [r1] - ldr r4, _0802131C @ =gUnk_080CAB4A -_080212E2: - bl Random - movs r1, #7 - ands r1, r0 - adds r1, r1, r4 - ldrb r2, [r1] - ldrb r0, [r5, #0xa] - cmp r0, #1 - bhi _08021306 - cmp r2, #2 - bne _08021306 - ldr r4, _08021320 @ =gUnk_080CAB52 - bl Random - movs r1, #3 - ands r1, r0 - adds r1, r1, r4 - ldrb r2, [r1] -_08021306: - movs r0, #0 - str r0, [r5, #0x54] - ldr r1, _08021324 @ =gUnk_080CAB58 - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0802131C: .4byte gUnk_080CAB4A -_08021320: .4byte gUnk_080CAB52 -_08021324: .4byte gUnk_080CAB58 - - thumb_func_start sub_08021328 -sub_08021328: @ 0x08021328 - push {lr} - movs r1, #0xd - strb r1, [r0, #0xc] - ldr r2, _08021348 @ =gUnk_080CAB68 - ldrb r1, [r0, #0xa] - adds r1, r1, r2 - ldrb r2, [r1] - adds r1, r0, #0 - adds r1, #0x7c - strb r2, [r1] - ldrb r2, [r0, #0x14] - movs r1, #0xc - bl sub_08021218 - pop {pc} - .align 2, 0 -_08021348: .4byte gUnk_080CAB68 - - thumb_func_start sub_0802134C -sub_0802134C: @ 0x0802134C - push {lr} - movs r1, #0xf - strb r1, [r0, #0xc] - ldrb r1, [r0, #0x14] - lsls r1, r1, #3 - strb r1, [r0, #0x15] - movs r1, #0x80 - lsls r1, r1, #2 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x76 - movs r1, #0x78 - strh r1, [r2] - ldrb r2, [r0, #0x14] - movs r1, #0xe - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021370 -sub_08021370: @ 0x08021370 - push {lr} - movs r1, #0x12 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x14] - movs r1, #0x10 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021380 -sub_08021380: @ 0x08021380 - push {lr} - movs r1, #0x13 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x14] - movs r1, #0x11 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021390 -sub_08021390: @ 0x08021390 - push {lr} - movs r1, #7 - strb r1, [r0, #0xc] - movs r1, #0x80 - lsls r1, r1, #2 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x3f - movs r1, #0x56 - strb r1, [r2] - ldrb r2, [r0, #0x14] - movs r1, #6 - bl sub_08021218 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080213B0 -sub_080213B0: @ 0x080213B0 - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #1 - strb r1, [r0, #0xe] - movs r1, #0xc0 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x76 - movs r1, #0xf0 - strh r1, [r2] - ldrb r2, [r0, #0x14] - movs r1, #3 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_080213D0 -sub_080213D0: @ 0x080213D0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x10 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x7b - strb r1, [r0] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0xf - bl sub_08021218 - adds r0, r4, #0 - bl sub_08021588 - pop {r4, pc} - - thumb_func_start sub_080213F0 -sub_080213F0: @ 0x080213F0 - push {lr} - movs r1, #6 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x14] - movs r1, #1 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021400 -sub_08021400: @ 0x08021400 - push {lr} - movs r1, #9 - strb r1, [r0, #0xc] - movs r1, #0x60 - strh r1, [r0, #0x24] - ldrb r2, [r0, #0x14] - movs r1, #0xa - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021414 -sub_08021414: @ 0x08021414 - push {lr} - movs r1, #0x11 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x14] - movs r1, #5 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021424 -sub_08021424: @ 0x08021424 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _08021450 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl GetFacingDirection - adds r1, r0, #0 - ldrb r0, [r5, #0x14] - bl sub_08021274 - adds r4, r0, #0 - cmp r4, #0xff - beq _08021454 - adds r0, r5, #0 - adds r0, #0x74 - ldrb r1, [r0] - adds r0, r5, #0 - adds r2, r4, #0 - bl sub_08021218 - b _08021456 - .align 2, 0 -_08021450: .4byte gUnk_020000B0 -_08021454: - ldrb r4, [r5, #0x14] -_08021456: - cmp r4, #1 - beq _08021490 - cmp r4, #1 - blo _08021478 - cmp r4, #2 - beq _080214A8 - ldr r0, _08021474 @ =gUnk_020000B0 - ldr r1, [r0] - movs r2, #0x2e - ldrsh r0, [r1, r2] - adds r2, r0, #0 - adds r2, #0x24 - movs r4, #0x32 - ldrsh r3, [r1, r4] - b _080214B8 - .align 2, 0 -_08021474: .4byte gUnk_020000B0 -_08021478: - ldr r0, _0802148C @ =gUnk_020000B0 - ldr r0, [r0] - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r4, #0x32 - ldrsh r0, [r0, r4] - adds r3, r0, #0 - adds r3, #0x2c - b _080214B8 - .align 2, 0 -_0802148C: .4byte gUnk_020000B0 -_08021490: - ldr r0, _080214A4 @ =gUnk_020000B0 - ldr r1, [r0] - movs r2, #0x2e - ldrsh r0, [r1, r2] - adds r2, r0, #0 - subs r2, #0x24 - movs r4, #0x32 - ldrsh r3, [r1, r4] - b _080214B8 - .align 2, 0 -_080214A4: .4byte gUnk_020000B0 -_080214A8: - ldr r0, _080214F0 @ =gUnk_020000B0 - ldr r0, [r0] - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r4, #0x32 - ldrsh r0, [r0, r4] - adds r3, r0, #0 - subs r3, #0x1d -_080214B8: - movs r1, #0x2e - ldrsh r0, [r5, r1] - subs r0, r2, r0 - adds r0, #3 - cmp r0, #6 - bhi _080214D0 - movs r4, #0x32 - ldrsh r0, [r5, r4] - subs r0, r3, r0 - adds r0, #2 - cmp r0, #4 - bls _080214E8 -_080214D0: - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r4, #0x32 - ldrsh r1, [r5, r4] - bl sub_080045D4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _080214F4 -_080214E8: - adds r0, r5, #0 - bl sub_080212B0 - b _080214FA - .align 2, 0 -_080214F0: .4byte gUnk_020000B0 -_080214F4: - adds r0, r5, #0 - bl UpdateAnimationSingleFrame -_080214FA: - pop {r4, r5, pc} - - thumb_func_start sub_080214FC -sub_080214FC: @ 0x080214FC - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802153C - ldr r0, _08021538 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl GetFacingDirection - adds r2, r0, #0 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x1f - ands r0, r1 - subs r0, r2, r0 - subs r0, #2 - cmp r0, #4 - bhi _0802153C - adds r0, r2, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - movs r0, #1 - b _0802153E - .align 2, 0 -_08021538: .4byte gUnk_020000B0 -_0802153C: - movs r0, #0 -_0802153E: - pop {r4, pc} - - thumb_func_start sub_08021540 -sub_08021540: @ 0x08021540 - push {r4, r5, lr} - adds r4, r0, #0 - bl Random - adds r5, r0, #0 - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08021566 - movs r0, #1 - ands r0, r5 - cmp r0, #0 - beq _08021566 - adds r0, r4, #0 - bl sub_08049EE4 - adds r1, r0, #4 - b _08021568 -_08021566: - lsrs r1, r5, #0x10 -_08021568: - movs r0, #0x18 - ands r1, r0 - strb r1, [r4, #0x15] - ldrb r0, [r4, #0x14] - bl sub_08021274 - adds r2, r0, #0 - cmp r2, #0xff - beq _08021582 - adds r0, r4, #0 - movs r1, #3 - bl sub_08021218 -_08021582: - movs r0, #0x1e - strb r0, [r4, #0xe] - pop {r4, r5, pc} - - thumb_func_start sub_08021588 -sub_08021588: @ 0x08021588 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #0x54] - cmp r1, #0 - beq _08021598 - movs r0, #0 - str r0, [r1, #0x50] - str r0, [r2, #0x54] -_08021598: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802159C -sub_0802159C: @ 0x0802159C - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - adds r0, r1, #0 - cmp r0, #1 - bne _080215D4 - movs r0, #0 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x51 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - movs r2, #3 - bl sub_0804A98C - cmp r0, #0 - beq _080215CA - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_080215CA: - movs r0, #0x8b - lsls r0, r0, #1 - bl sub_08004488 - b _080215F8 -_080215D4: - cmp r0, #2 - bne _080215E4 - movs r0, #0 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08021588 - b _080215F8 -_080215E4: - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080215F8 - movs r0, #0xdf - ands r0, r1 - strb r0, [r2] - ldr r0, _080215FC @ =0x00000115 - bl sub_08004488 -_080215F8: - pop {r4, pc} - .align 2, 0 -_080215FC: .4byte 0x00000115 - - thumb_func_start sub_08021600 -sub_08021600: @ 0x08021600 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x5a - ldrb r0, [r1] - cmp r0, #1 - bne _08021634 - movs r0, #0 - strb r0, [r1] - subs r1, #0x1b - movs r0, #0x51 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - movs r2, #4 - bl sub_0804A98C - cmp r0, #0 - beq _0802162A - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_0802162A: - movs r0, #0x87 - lsls r0, r0, #1 - bl sub_08004488 - b _08021642 -_08021634: - cmp r0, #2 - bne _08021642 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08021588 -_08021642: - pop {r4, pc} - - thumb_func_start sub_08021644 -sub_08021644: @ 0x08021644 - push {lr} - adds r2, r0, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08021660 - movs r0, #0xdf - ands r0, r1 - strb r0, [r2] - movs r0, #0x7d - bl sub_08004488 -_08021660: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08021664 -sub_08021664: @ 0x08021664 - push {lr} - ldrb r2, [r0, #0x14] - cmp r2, #1 - beq _08021690 - cmp r2, #1 - bgt _08021676 - cmp r2, #0 - beq _08021680 - b _08021698 -_08021676: - cmp r2, #2 - beq _08021688 - cmp r2, #3 - beq _08021690 - b _08021698 -_08021680: - movs r2, #0x22 - bl sub_08049F1C - b _0802169A -_08021688: - movs r2, #0x13 - bl sub_08049F1C - b _0802169A -_08021690: - movs r2, #0x1a - bl sub_08049F1C - b _0802169A -_08021698: - movs r0, #0 -_0802169A: - pop {pc} - - thumb_func_start sub_0802169C -sub_0802169C: @ 0x0802169C - push {lr} - ldrb r2, [r0, #0x14] - cmp r2, #1 - beq _080216C0 - cmp r2, #1 - bgt _080216AE - cmp r2, #0 - beq _080216B8 - b _080216CE -_080216AE: - cmp r2, #2 - beq _080216BC - cmp r2, #3 - beq _080216C0 - b _080216CE -_080216B8: - movs r2, #0x2c - b _080216C2 -_080216BC: - movs r2, #0x1d - b _080216C2 -_080216C0: - movs r2, #0x24 -_080216C2: - bl sub_08049F1C - cmp r0, #0 - bne _080216CE - movs r0, #1 - b _080216D0 -_080216CE: - movs r0, #0 -_080216D0: - pop {pc} - .align 2, 0 diff --git a/asm/non_matching/darkNut/sub_08021274.inc b/asm/non_matching/darkNut/sub_08021274.inc new file mode 100644 index 00000000..9809b641 --- /dev/null +++ b/asm/non_matching/darkNut/sub_08021274.inc @@ -0,0 +1,43 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {lr} + adds r2, r0, #0 + movs r0, #7 + ands r0, r1 + subs r0, #3 + cmp r0, #2 + bhi _0802129A + movs r3, #0x18 + adds r0, r1, #0 + ands r0, r3 + lsrs r0, r0, #3 + cmp r0, r2 + beq _080212AA + adds r0, r1, #0 + adds r0, #8 + ands r0, r3 + lsrs r0, r0, #3 + cmp r0, r2 + beq _080212AA +_0802129A: + adds r0, r1, #4 + movs r1, #0x18 + ands r0, r1 + lsrs r1, r0, #3 + cmp r2, r1 + beq _080212AA + adds r0, r1, #0 + b _080212AC +_080212AA: + movs r0, #0xff +_080212AC: + pop {pc} + .align 2, 0 + + .syntax divided diff --git a/data/darkNutAnimations.s b/data/darkNutAnimations.s new file mode 100644 index 00000000..67419e1d --- /dev/null +++ b/data/darkNutAnimations.s @@ -0,0 +1,239 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080CAB6C:: @ 080CAB6C + .incbin "baserom.gba", 0x0CAB6C, 0x0000004 + +gUnk_080CAB70:: @ 080CAB70 + .incbin "baserom.gba", 0x0CAB70, 0x0000004 + +gUnk_080CAB74:: @ 080CAB74 + .incbin "baserom.gba", 0x0CAB74, 0x0000004 + +gUnk_080CAB78:: @ 080CAB78 + .incbin "baserom.gba", 0x0CAB78, 0x0000004 + +gUnk_080CAB7C:: @ 080CAB7C + .incbin "baserom.gba", 0x0CAB7C, 0x0000010 + +gUnk_080CAB8C:: @ 080CAB8C + .incbin "baserom.gba", 0x0CAB8C, 0x0000010 + +gUnk_080CAB9C:: @ 080CAB9C + .incbin "baserom.gba", 0x0CAB9C, 0x0000010 + +gUnk_080CABAC:: @ 080CABAC + .incbin "baserom.gba", 0x0CABAC, 0x0000010 + +gUnk_080CABBC:: @ 080CABBC + .incbin "baserom.gba", 0x0CABBC, 0x0000004 + +gUnk_080CABC0:: @ 080CABC0 + .incbin "baserom.gba", 0x0CABC0, 0x0000004 + +gUnk_080CABC4:: @ 080CABC4 + .incbin "baserom.gba", 0x0CABC4, 0x0000004 + +gUnk_080CABC8:: @ 080CABC8 + .incbin "baserom.gba", 0x0CABC8, 0x0000004 + +gUnk_080CABCC:: @ 080CABCC + .incbin "baserom.gba", 0x0CABCC, 0x0000019 + +gUnk_080CABE5:: @ 080CABE5 + .incbin "baserom.gba", 0x0CABE5, 0x0000019 + +gUnk_080CABFE:: @ 080CABFE + .incbin "baserom.gba", 0x0CABFE, 0x0000019 + +gUnk_080CAC17:: @ 080CAC17 + .incbin "baserom.gba", 0x0CAC17, 0x0000019 + +gUnk_080CAC30:: @ 080CAC30 + .incbin "baserom.gba", 0x0CAC30, 0x000000C + +gUnk_080CAC3C:: @ 080CAC3C + .incbin "baserom.gba", 0x0CAC3C, 0x000000C + +gUnk_080CAC48:: @ 080CAC48 + .incbin "baserom.gba", 0x0CAC48, 0x000000C + +gUnk_080CAC54:: @ 080CAC54 + .incbin "baserom.gba", 0x0CAC54, 0x000000C + +gUnk_080CAC60:: @ 080CAC60 + .incbin "baserom.gba", 0x0CAC60, 0x0000028 + +gUnk_080CAC88:: @ 080CAC88 + .incbin "baserom.gba", 0x0CAC88, 0x0000028 + +gUnk_080CACB0:: @ 080CACB0 + .incbin "baserom.gba", 0x0CACB0, 0x0000028 + +gUnk_080CACD8:: @ 080CACD8 + .incbin "baserom.gba", 0x0CACD8, 0x0000028 + +gUnk_080CAD00:: @ 080CAD00 + .incbin "baserom.gba", 0x0CAD00, 0x0000019 + +gUnk_080CAD19:: @ 080CAD19 + .incbin "baserom.gba", 0x0CAD19, 0x0000019 + +gUnk_080CAD32:: @ 080CAD32 + .incbin "baserom.gba", 0x0CAD32, 0x0000019 + +gUnk_080CAD4B:: @ 080CAD4B + .incbin "baserom.gba", 0x0CAD4B, 0x0000019 + +gUnk_080CAD64:: @ 080CAD64 + .incbin "baserom.gba", 0x0CAD64, 0x000000C + +gUnk_080CAD70:: @ 080CAD70 + .incbin "baserom.gba", 0x0CAD70, 0x000000C + +gUnk_080CAD7C:: @ 080CAD7C + .incbin "baserom.gba", 0x0CAD7C, 0x000000C + +gUnk_080CAD88:: @ 080CAD88 + .incbin "baserom.gba", 0x0CAD88, 0x000000C + +gUnk_080CAD94:: @ 080CAD94 + .incbin "baserom.gba", 0x0CAD94, 0x0000015 + +gUnk_080CADA9:: @ 080CADA9 + .incbin "baserom.gba", 0x0CADA9, 0x0000015 + +gUnk_080CADBE:: @ 080CADBE + .incbin "baserom.gba", 0x0CADBE, 0x0000015 + +gUnk_080CADD3:: @ 080CADD3 + .incbin "baserom.gba", 0x0CADD3, 0x0000015 + +gUnk_080CADE8:: @ 080CADE8 + .incbin "baserom.gba", 0x0CADE8, 0x0000019 + +gUnk_080CAE01:: @ 080CAE01 + .incbin "baserom.gba", 0x0CAE01, 0x0000019 + +gUnk_080CAE1A:: @ 080CAE1A + .incbin "baserom.gba", 0x0CAE1A, 0x0000019 + +gUnk_080CAE33:: @ 080CAE33 + .incbin "baserom.gba", 0x0CAE33, 0x0000019 + +gUnk_080CAE4C:: @ 080CAE4C + .incbin "baserom.gba", 0x0CAE4C, 0x0000019 + +gUnk_080CAE65:: @ 080CAE65 + .incbin "baserom.gba", 0x0CAE65, 0x0000019 + +gUnk_080CAE7E:: @ 080CAE7E + .incbin "baserom.gba", 0x0CAE7E, 0x0000019 + +gUnk_080CAE97:: @ 080CAE97 + .incbin "baserom.gba", 0x0CAE97, 0x0000019 + +gUnk_080CAEB0:: @ 080CAEB0 + .incbin "baserom.gba", 0x0CAEB0, 0x0000010 + +gUnk_080CAEC0:: @ 080CAEC0 + .incbin "baserom.gba", 0x0CAEC0, 0x0000010 + +gUnk_080CAED0:: @ 080CAED0 + .incbin "baserom.gba", 0x0CAED0, 0x0000010 + +gUnk_080CAEE0:: @ 080CAEE0 + .incbin "baserom.gba", 0x0CAEE0, 0x0000010 + +gUnk_080CAEF0:: @ 080CAEF0 + .incbin "baserom.gba", 0x0CAEF0, 0x0000030 + +gUnk_080CAF20:: @ 080CAF20 + .incbin "baserom.gba", 0x0CAF20, 0x0000030 + +gUnk_080CAF50:: @ 080CAF50 + .incbin "baserom.gba", 0x0CAF50, 0x0000030 + +gUnk_080CAF80:: @ 080CAF80 + .incbin "baserom.gba", 0x0CAF80, 0x0000030 + +gUnk_080CAFB0:: @ 080CAFB0 + .incbin "baserom.gba", 0x0CAFB0, 0x0000018 + +gUnk_080CAFC8:: @ 080CAFC8 + .incbin "baserom.gba", 0x0CAFC8, 0x0000018 + +gUnk_080CAFE0:: @ 080CAFE0 + .incbin "baserom.gba", 0x0CAFE0, 0x0000018 + +gUnk_080CAFF8:: @ 080CAFF8 + .incbin "baserom.gba", 0x0CAFF8, 0x0000018 + +gUnk_080CB010:: @ 080CB010 + .incbin "baserom.gba", 0x0CB010, 0x0000035 + +gUnk_080CB045:: @ 080CB045 + .incbin "baserom.gba", 0x0CB045, 0x0000035 + +gUnk_080CB07A:: @ 080CB07A + .incbin "baserom.gba", 0x0CB07A, 0x0000035 + +gUnk_080CB0AF:: @ 080CB0AF + .incbin "baserom.gba", 0x0CB0AF, 0x0000035 + +gUnk_080CB0E4:: @ 080CB0E4 + .incbin "baserom.gba", 0x0CB0E4, 0x0000008 + +gUnk_080CB0EC:: @ 080CB0EC + .incbin "baserom.gba", 0x0CB0EC, 0x0000008 + +gUnk_080CB0F4:: @ 080CB0F4 + .incbin "baserom.gba", 0x0CB0F4, 0x0000008 + +gUnk_080CB0FC:: @ 080CB0FC + .incbin "baserom.gba", 0x0CB0FC, 0x0000008 + +gUnk_080CB104:: @ 080CB104 + .incbin "baserom.gba", 0x0CB104, 0x0000070 + +gUnk_080CB174:: @ 080CB174 + .incbin "baserom.gba", 0x0CB174, 0x0000070 + +gUnk_080CB1E4:: @ 080CB1E4 + .incbin "baserom.gba", 0x0CB1E4, 0x0000070 + +gUnk_080CB254:: @ 080CB254 + .incbin "baserom.gba", 0x0CB254, 0x0000070 + +gUnk_080CB2C4:: @ 080CB2C4 + .incbin "baserom.gba", 0x0CB2C4, 0x0000034 + +gUnk_080CB2F8:: @ 080CB2F8 + .incbin "baserom.gba", 0x0CB2F8, 0x0000034 + +gUnk_080CB32C:: @ 080CB32C + .incbin "baserom.gba", 0x0CB32C, 0x0000034 + +gUnk_080CB360:: @ 080CB360 + .incbin "baserom.gba", 0x0CB360, 0x0000034 + +gUnk_080CB394:: @ 080CB394 + .incbin "baserom.gba", 0x0CB394, 0x0000029 + +gUnk_080CB3BD:: @ 080CB3BD + .incbin "baserom.gba", 0x0CB3BD, 0x0000029 + +gUnk_080CB3E6:: @ 080CB3E6 + .incbin "baserom.gba", 0x0CB3E6, 0x0000029 + +gUnk_080CB40F:: @ 080CB40F + .incbin "baserom.gba", 0x0CB40F, 0x0000029 + +gUnk_080CB438:: @ 080CB438 + .incbin "baserom.gba", 0x0CB438, 0x00000C4 + +gUnk_080CB4FC:: @ 080CB4FC + .incbin "baserom.gba", 0x0CB4FC, 0x0000074 diff --git a/data/data_080CAA98.s b/data/data_080CAA98.s index 305d378b..ae280443 100644 --- a/data/data_080CAA98.s +++ b/data/data_080CAA98.s @@ -4,282 +4,6 @@ .section .rodata .align 2 -gUnk_080CAA98:: @ 080CAA98 - .incbin "baserom.gba", 0x0CAA98, 0x0000018 - -gUnk_080CAAB0:: @ 080CAAB0 - .incbin "baserom.gba", 0x0CAAB0, 0x0000050 - -gUnk_080CAB00:: @ 080CAB00 - .incbin "baserom.gba", 0x0CAB00, 0x0000004 - -gUnk_080CAB04:: @ 080CAB04 - .incbin "baserom.gba", 0x0CAB04, 0x0000004 - -gUnk_080CAB08:: @ 080CAB08 - .incbin "baserom.gba", 0x0CAB08, 0x0000004 - -gUnk_080CAB0C:: @ 080CAB0C - .incbin "baserom.gba", 0x0CAB0C, 0x0000004 - -gUnk_080CAB10:: @ 080CAB10 - .incbin "baserom.gba", 0x0CAB10, 0x0000004 - -gUnk_080CAB14:: @ 080CAB14 - .incbin "baserom.gba", 0x0CAB14, 0x0000026 - -gUnk_080CAB3A:: @ 080CAB3A - .incbin "baserom.gba", 0x0CAB3A, 0x0000008 - -gUnk_080CAB42:: @ 080CAB42 - .incbin "baserom.gba", 0x0CAB42, 0x0000008 - -gUnk_080CAB4A:: @ 080CAB4A - .incbin "baserom.gba", 0x0CAB4A, 0x0000008 - -gUnk_080CAB52:: @ 080CAB52 - .incbin "baserom.gba", 0x0CAB52, 0x0000006 - -gUnk_080CAB58:: @ 080CAB58 - .incbin "baserom.gba", 0x0CAB58, 0x0000010 - -gUnk_080CAB68:: @ 080CAB68 - .incbin "baserom.gba", 0x0CAB68, 0x0000004 - -gUnk_080CAB6C:: @ 080CAB6C - .incbin "baserom.gba", 0x0CAB6C, 0x0000004 - -gUnk_080CAB70:: @ 080CAB70 - .incbin "baserom.gba", 0x0CAB70, 0x0000004 - -gUnk_080CAB74:: @ 080CAB74 - .incbin "baserom.gba", 0x0CAB74, 0x0000004 - -gUnk_080CAB78:: @ 080CAB78 - .incbin "baserom.gba", 0x0CAB78, 0x0000004 - -gUnk_080CAB7C:: @ 080CAB7C - .incbin "baserom.gba", 0x0CAB7C, 0x0000010 - -gUnk_080CAB8C:: @ 080CAB8C - .incbin "baserom.gba", 0x0CAB8C, 0x0000010 - -gUnk_080CAB9C:: @ 080CAB9C - .incbin "baserom.gba", 0x0CAB9C, 0x0000010 - -gUnk_080CABAC:: @ 080CABAC - .incbin "baserom.gba", 0x0CABAC, 0x0000010 - -gUnk_080CABBC:: @ 080CABBC - .incbin "baserom.gba", 0x0CABBC, 0x0000004 - -gUnk_080CABC0:: @ 080CABC0 - .incbin "baserom.gba", 0x0CABC0, 0x0000004 - -gUnk_080CABC4:: @ 080CABC4 - .incbin "baserom.gba", 0x0CABC4, 0x0000004 - -gUnk_080CABC8:: @ 080CABC8 - .incbin "baserom.gba", 0x0CABC8, 0x0000004 - -gUnk_080CABCC:: @ 080CABCC - .incbin "baserom.gba", 0x0CABCC, 0x0000019 - -gUnk_080CABE5:: @ 080CABE5 - .incbin "baserom.gba", 0x0CABE5, 0x0000019 - -gUnk_080CABFE:: @ 080CABFE - .incbin "baserom.gba", 0x0CABFE, 0x0000019 - -gUnk_080CAC17:: @ 080CAC17 - .incbin "baserom.gba", 0x0CAC17, 0x0000019 - -gUnk_080CAC30:: @ 080CAC30 - .incbin "baserom.gba", 0x0CAC30, 0x000000C - -gUnk_080CAC3C:: @ 080CAC3C - .incbin "baserom.gba", 0x0CAC3C, 0x000000C - -gUnk_080CAC48:: @ 080CAC48 - .incbin "baserom.gba", 0x0CAC48, 0x000000C - -gUnk_080CAC54:: @ 080CAC54 - .incbin "baserom.gba", 0x0CAC54, 0x000000C - -gUnk_080CAC60:: @ 080CAC60 - .incbin "baserom.gba", 0x0CAC60, 0x0000028 - -gUnk_080CAC88:: @ 080CAC88 - .incbin "baserom.gba", 0x0CAC88, 0x0000028 - -gUnk_080CACB0:: @ 080CACB0 - .incbin "baserom.gba", 0x0CACB0, 0x0000028 - -gUnk_080CACD8:: @ 080CACD8 - .incbin "baserom.gba", 0x0CACD8, 0x0000028 - -gUnk_080CAD00:: @ 080CAD00 - .incbin "baserom.gba", 0x0CAD00, 0x0000019 - -gUnk_080CAD19:: @ 080CAD19 - .incbin "baserom.gba", 0x0CAD19, 0x0000019 - -gUnk_080CAD32:: @ 080CAD32 - .incbin "baserom.gba", 0x0CAD32, 0x0000019 - -gUnk_080CAD4B:: @ 080CAD4B - .incbin "baserom.gba", 0x0CAD4B, 0x0000019 - -gUnk_080CAD64:: @ 080CAD64 - .incbin "baserom.gba", 0x0CAD64, 0x000000C - -gUnk_080CAD70:: @ 080CAD70 - .incbin "baserom.gba", 0x0CAD70, 0x000000C - -gUnk_080CAD7C:: @ 080CAD7C - .incbin "baserom.gba", 0x0CAD7C, 0x000000C - -gUnk_080CAD88:: @ 080CAD88 - .incbin "baserom.gba", 0x0CAD88, 0x000000C - -gUnk_080CAD94:: @ 080CAD94 - .incbin "baserom.gba", 0x0CAD94, 0x0000015 - -gUnk_080CADA9:: @ 080CADA9 - .incbin "baserom.gba", 0x0CADA9, 0x0000015 - -gUnk_080CADBE:: @ 080CADBE - .incbin "baserom.gba", 0x0CADBE, 0x0000015 - -gUnk_080CADD3:: @ 080CADD3 - .incbin "baserom.gba", 0x0CADD3, 0x0000015 - -gUnk_080CADE8:: @ 080CADE8 - .incbin "baserom.gba", 0x0CADE8, 0x0000019 - -gUnk_080CAE01:: @ 080CAE01 - .incbin "baserom.gba", 0x0CAE01, 0x0000019 - -gUnk_080CAE1A:: @ 080CAE1A - .incbin "baserom.gba", 0x0CAE1A, 0x0000019 - -gUnk_080CAE33:: @ 080CAE33 - .incbin "baserom.gba", 0x0CAE33, 0x0000019 - -gUnk_080CAE4C:: @ 080CAE4C - .incbin "baserom.gba", 0x0CAE4C, 0x0000019 - -gUnk_080CAE65:: @ 080CAE65 - .incbin "baserom.gba", 0x0CAE65, 0x0000019 - -gUnk_080CAE7E:: @ 080CAE7E - .incbin "baserom.gba", 0x0CAE7E, 0x0000019 - -gUnk_080CAE97:: @ 080CAE97 - .incbin "baserom.gba", 0x0CAE97, 0x0000019 - -gUnk_080CAEB0:: @ 080CAEB0 - .incbin "baserom.gba", 0x0CAEB0, 0x0000010 - -gUnk_080CAEC0:: @ 080CAEC0 - .incbin "baserom.gba", 0x0CAEC0, 0x0000010 - -gUnk_080CAED0:: @ 080CAED0 - .incbin "baserom.gba", 0x0CAED0, 0x0000010 - -gUnk_080CAEE0:: @ 080CAEE0 - .incbin "baserom.gba", 0x0CAEE0, 0x0000010 - -gUnk_080CAEF0:: @ 080CAEF0 - .incbin "baserom.gba", 0x0CAEF0, 0x0000030 - -gUnk_080CAF20:: @ 080CAF20 - .incbin "baserom.gba", 0x0CAF20, 0x0000030 - -gUnk_080CAF50:: @ 080CAF50 - .incbin "baserom.gba", 0x0CAF50, 0x0000030 - -gUnk_080CAF80:: @ 080CAF80 - .incbin "baserom.gba", 0x0CAF80, 0x0000030 - -gUnk_080CAFB0:: @ 080CAFB0 - .incbin "baserom.gba", 0x0CAFB0, 0x0000018 - -gUnk_080CAFC8:: @ 080CAFC8 - .incbin "baserom.gba", 0x0CAFC8, 0x0000018 - -gUnk_080CAFE0:: @ 080CAFE0 - .incbin "baserom.gba", 0x0CAFE0, 0x0000018 - -gUnk_080CAFF8:: @ 080CAFF8 - .incbin "baserom.gba", 0x0CAFF8, 0x0000018 - -gUnk_080CB010:: @ 080CB010 - .incbin "baserom.gba", 0x0CB010, 0x0000035 - -gUnk_080CB045:: @ 080CB045 - .incbin "baserom.gba", 0x0CB045, 0x0000035 - -gUnk_080CB07A:: @ 080CB07A - .incbin "baserom.gba", 0x0CB07A, 0x0000035 - -gUnk_080CB0AF:: @ 080CB0AF - .incbin "baserom.gba", 0x0CB0AF, 0x0000035 - -gUnk_080CB0E4:: @ 080CB0E4 - .incbin "baserom.gba", 0x0CB0E4, 0x0000008 - -gUnk_080CB0EC:: @ 080CB0EC - .incbin "baserom.gba", 0x0CB0EC, 0x0000008 - -gUnk_080CB0F4:: @ 080CB0F4 - .incbin "baserom.gba", 0x0CB0F4, 0x0000008 - -gUnk_080CB0FC:: @ 080CB0FC - .incbin "baserom.gba", 0x0CB0FC, 0x0000008 - -gUnk_080CB104:: @ 080CB104 - .incbin "baserom.gba", 0x0CB104, 0x0000070 - -gUnk_080CB174:: @ 080CB174 - .incbin "baserom.gba", 0x0CB174, 0x0000070 - -gUnk_080CB1E4:: @ 080CB1E4 - .incbin "baserom.gba", 0x0CB1E4, 0x0000070 - -gUnk_080CB254:: @ 080CB254 - .incbin "baserom.gba", 0x0CB254, 0x0000070 - -gUnk_080CB2C4:: @ 080CB2C4 - .incbin "baserom.gba", 0x0CB2C4, 0x0000034 - -gUnk_080CB2F8:: @ 080CB2F8 - .incbin "baserom.gba", 0x0CB2F8, 0x0000034 - -gUnk_080CB32C:: @ 080CB32C - .incbin "baserom.gba", 0x0CB32C, 0x0000034 - -gUnk_080CB360:: @ 080CB360 - .incbin "baserom.gba", 0x0CB360, 0x0000034 - -gUnk_080CB394:: @ 080CB394 - .incbin "baserom.gba", 0x0CB394, 0x0000029 - -gUnk_080CB3BD:: @ 080CB3BD - .incbin "baserom.gba", 0x0CB3BD, 0x0000029 - -gUnk_080CB3E6:: @ 080CB3E6 - .incbin "baserom.gba", 0x0CB3E6, 0x0000029 - -gUnk_080CB40F:: @ 080CB40F - .incbin "baserom.gba", 0x0CB40F, 0x0000029 - -gUnk_080CB438:: @ 080CB438 - .incbin "baserom.gba", 0x0CB438, 0x00000C4 - -gUnk_080CB4FC:: @ 080CB4FC - .incbin "baserom.gba", 0x0CB4FC, 0x0000074 - gUnk_080CB570:: @ 080CB570 .incbin "baserom.gba", 0x0CB570, 0x0000018 diff --git a/include/functions.h b/include/functions.h index 25ebf1ca..cd11f49e 100644 --- a/include/functions.h +++ b/include/functions.h @@ -60,7 +60,7 @@ extern void sub_080791D0(); extern void sub_0805EC9C(); extern void sub_0805EC60(); extern void sub_080873D0(); -extern u8 sub_080045D4(s16, s16, u16, u16); +extern u8 sub_080045D4(s16, s16, u32, u32); extern void sub_0806F69C(Entity*); extern void sub_0805E3A0(void*, u32); extern void sub_0806D0B0(Entity*); diff --git a/linker.ld b/linker.ld index dfbdb5ac..61480876 100644 --- a/linker.ld +++ b/linker.ld @@ -330,7 +330,7 @@ SECTIONS { src/enemy/leever.o(.text); src/enemy/peahat.o(.text); src/enemy/rollobite.o(.text); - asm/darkNut.o(.text); + src/enemy/darkNut.o(.text); src/enemy/hangingSeed.o(.text); asm/beetle.o(.text); src/enemy/keese.o(.text); @@ -915,6 +915,8 @@ SECTIONS { data/peahatAnimations.o(.rodata); src/enemy/rollobite.o(.rodata); data/rollobiteAnimations.o(.rodata); + src/enemy/darkNut.o(.rodata); + data/darkNutAnimations.o(.rodata); data/data_080CAA98.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c new file mode 100644 index 00000000..f226026f --- /dev/null +++ b/src/enemy/darkNut.c @@ -0,0 +1,754 @@ +#include "entity.h" +#include "functions.h" + +typedef struct { + u8 field_0x0; + u8 field_0x1; +} PACKED stuct_080CAB14; + +void sub_08021218(); +void sub_08021588(); +void sub_080213D0(); +void sub_08021390(); +void sub_0802159C(); +void sub_0804AA1C(); +void sub_080213F0(); +u32 sub_080214FC(); +void sub_08021540(); +void sub_08021600(); +void sub_080213B0(); +u32 sub_08049F64(); +u32 sub_0802169C(); +void sub_0802124C(); +void sub_08021644(); +void sub_08021414(); +void sub_08021400(); +u32 sub_08021274(u32, u32); +u32 sub_08021664(Entity*, Entity*); +u32 sub_0804A044(Entity*, Entity*, u32); +void sub_08021424(Entity*); + +extern Entity* gUnk_020000B0; + +extern void (*const gUnk_080CAA98[])(Entity*); +extern void (*const gUnk_080CAAB0[])(Entity*); + +extern const s8 gUnk_080CAB00[]; +extern const s8 gUnk_080CAB04[]; +extern const u8 gUnk_080CAB08[]; +extern const s8 gUnk_080CAB0C[]; +extern const s8 gUnk_080CAB10[]; +extern const stuct_080CAB14 gUnk_080CAB14[]; +extern const u8 gUnk_080CAB3A[]; +extern const u8 gUnk_080CAB42[]; +extern const u8 gUnk_080CAB4A[]; +extern const u8 gUnk_080CAB52[]; +extern const u8 gUnk_080CAB68[]; + +extern void (*const gUnk_080CAB58[])(Entity*); + +void DarkNut(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CAA98); + SetChildOffset(this, 0, 1, -22); +} + +void sub_08020BA0(Entity* this) { + gUnk_080CAAB0[this->action](this); +} + +void sub_08020BB8(Entity* this) { + switch (this->bitfield & 0x7f) { + case 0x1c: + this->action = 11; + this->actionDelay = gUnk_080CAB0C[this->entityType.form]; + this->damageType = 81; + sub_08021218(this, 8, (((this->field_0x3e ^ 0x10) + 4) & 0x18) >> 3); + sub_08021588(this); + sub_0804A9FC(this, 0x1c); + break; + case 0x16: + this->action = 11; + this->actionDelay = gUnk_080CAB10[this->entityType.form]; + this->damageType = 81; + sub_08021218(this, 8, (((this->field_0x3e ^ 0x10) + 4) & 0x18) >> 3); + sub_08021588(this); + sub_0804A9FC(this, 0x1c); + break; + case 0x4b: + if (this->action == 13 || this->action == 15 || this->action == 19 || this->action == 18) + break; + switch (this->field_0x78.HALF.HI) { + case 8 ... 12: + this->field_0x7a.HALF.LO = gUnk_080CAB04[this->entityType.form]; + break; + case 4 ... 6: + this->field_0x7a.HALF.LO = gUnk_080CAB00[this->entityType.form]; + break; + default: + this->field_0x7a.HALF.LO = 0; + break; + } + this->action = 10; + sub_08021218(this, 0xb, this->animationState); + sub_08004488(0x15d); + sub_08021588(this); + break; + case 0x4c: + if (this->action == 15) { + u8 bVar3 = 0xff; + if (this->attachedEntity != NULL) { + bVar3 = this->attachedEntity->bitfield & 0x7f; + } + if (bVar3 == 2) { + sub_080213D0(this, gUnk_080CAB08[this->entityType.form]); + } else { + sub_080213D0(this, 0); + } + } + break; + default: + if (this->currentHealth != this->field_0x78.HALF.LO) { + sub_08021588(this); + sub_08021390(this); + sub_0804AA1C(this); + } + break; + } + this->field_0x78.HALF.LO = this->currentHealth; + sub_0804AA30(this, gUnk_080CAA98); +} + +void nullsub_129(Entity* this) { +} + +void sub_08020D70(Entity* this) { + sub_0804A720(this); + this->action = 1; + this->field_0x74.HALF.HI = 0; + this->field_0x78.HALF.LO = this->currentHealth; + this->animationState = -1; + sub_08021218(this, 0, 2); +} + +void sub_08020D9C(Entity* this) { + if (sub_08049FDC(this, 1)) + sub_080213F0(this); +} + +void sub_08020DB4(Entity* this) { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 0x80) + sub_08021390(this); +} + +void sub_08020DD4(Entity* this) { + if (sub_080214FC(this)) { + sub_080213F0(this); + } else if (--this->field_0x76.HWORD == 0) { + this->action = 5; + sub_08021218(this, 5, this->animationState); + } else { + if (--this->actionDelay == 0) + sub_08021540(this); + sub_080AEF88(this); + UpdateAnimationSingleFrame(this); + } +} + +void sub_08020E28(Entity* this) { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 0x80) + sub_080213B0(this); +} + +void sub_08020E48(Entity* this) { + if (sub_080214FC(this)) { + sub_080213F0(this); + } else { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 0x80) + sub_080213B0(this); + } +} + +void sub_08020E78(Entity* this) { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 0x80) + sub_08021390(this); +} + +void sub_08020E98(Entity* this) { + if (sub_08049F64(this, 1, 0x38)) { + if (sub_0802169C(this, gUnk_020000B0)) { + this->action = 8; + sub_08021218(this, 7, this->animationState); + } else { + this->direction = GetFacingDirection(gUnk_020000B0, this); + if (sub_080AEF88(this) == 0) { + this->action = 8; + sub_08021218(this, 7, this->animationState); + } else { + this->direction ^= 0x10; + sub_0802124C(this); + sub_08021644(this); + } + } + } else { + if (gUnk_020000B0 == NULL) { + sub_08021414(this); + } else { + this->direction = GetFacingDirection(this, gUnk_020000B0); + sub_080AEF88(this); + sub_0802124C(this); + sub_08021644(this); + } + } +} + +void sub_08020F28(Entity* this) { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 0x80) + sub_08021400(this); +} + +void sub_08020F48(Entity* this) { + if (sub_08049F64(this, 1, 0x48)) { + if (sub_08021664(this, gUnk_020000B0)) { + u32 uVar2 = sub_0804A044(this, gUnk_020000B0, 9); + if (uVar2 == 0xff) { + sub_08021424(this); + } else { + Entity* pEVar3; + + this->action = 14; + sub_08021218(this, 13, uVar2 >> 3); + pEVar3 = sub_0804A98C(this, 0, 1); + if (pEVar3) { + pEVar3->parent = this; + this->attachedEntity = pEVar3; + } + } + } else { + sub_08021424(this); + } + } else { + sub_08021390(this); + } +} + +void sub_08020FAC(Entity* this) { + if (this->frames.all & 0x80) { + if (this->field_0x7a.HALF.LO) { + this->field_0x7a.HALF.LO--; + } else { + this->hurtBlinkTime = -8; + sub_08021390(this); + } + } else { + UpdateAnimationSingleFrame(this); + } +} + +void sub_08020FE4(Entity* this) { + UpdateAnimationSingleFrame(this); + if (--this->actionDelay == 0) { + this->action = 12; + sub_08021218(this, 9, this->animationState); + sub_0804AA1C(this); + } +} + +void sub_08021010(Entity* this) { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 0x80) { + this->damageType = 0x56; + sub_080213F0(this); + } +} + +void sub_08021038(Entity* this) { + if (this->attachedEntity == NULL && this->frames.all) { + Entity* pEVar2 = (Entity*)sub_0804A98C(this, 0, 0); + if (pEVar2) { + pEVar2->parent = this; + this->attachedEntity = pEVar2; + } + sub_08004488(270); + } + + if (this->frames.all & 0x80) { + sub_08021588(this); + if (this->field_0x7c.BYTES.byte0) { + this->field_0x7c.BYTES.byte0--; + } else { + sub_08021390(this); + } + } else { + UpdateAnimationSingleFrame(this); + if (this->frames.all == 4) + this->damageType = 81; + } +} + +void sub_080210A8(Entity* this) { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 1) { + this->frames.all = 0; + sub_08021588(this); + sub_08004488(349); + } else if (this->frames.all & 0x80) { + sub_08021390(this); + } +} + +void sub_080210E4(Entity* this) { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 1) { + Entity* ent; + + this->frames.all &= ~1; + ent = sub_0804A98C(this, 0, 2); + if (ent) { + ent->parent = this; + this->attachedEntity = ent; + } + + sub_08004488(270); + } + + sub_08021644(this); + if ((this->frames.all & 0x10) && + (!sub_080AEF88(this) || (this->attachedEntity && (this->attachedEntity->bitfield & 0x80)))) { + sub_080213D0(this, 0); + } else { + if (--this->field_0x76.HWORD == 0) + sub_080213D0(this, 0); + } +} + +void sub_08021170(Entity* this) { + if (this->frames.all & 0x80) { + if (this->field_0x7a.HALF.HI) { + this->field_0x7a.HALF.HI--; + } else { + sub_08021390(this); + } + } else { + UpdateAnimationSingleFrame(this); + } +} + +void sub_080211A0(Entity* this) { + if (sub_080214FC(this)) { + sub_08021390(this); + } else { + UpdateAnimationSingleFrame(this); + if (this->frames.all & 0x80) + sub_080213B0(this); + } +} + +void sub_080211D0(Entity* this) + +{ + UpdateAnimationSingleFrame(this); + sub_0802159C(this); + + if (this->frames.all & 0x80) + sub_08021390(this); +} + +void sub_080211F4(Entity* this) { + UpdateAnimationSingleFrame(this); + sub_08021600(this); + + if (this->frames.all & 0x80) + sub_08021390(this); +} + +void sub_08021218(Entity* this, u32 param_2, u32 param_3) { + const stuct_080CAB14* unk; + + if (this->field_0x74.HALF.LO == param_2 && this->animationState == param_3) + return; + + this->animationState = param_3; + this->field_0x74.HALF.LO = param_2; + + unk = &gUnk_080CAB14[param_2]; + this->spriteIndex = unk->field_0x1; + InitAnimationForceUpdate(this, unk->field_0x0 + param_3); +} + +void sub_0802124C(Entity* this) { + u32 iVar1 = sub_08021274(this->animationState, this->direction); + if (iVar1 != 0xff) { + sub_08021218(this, this->field_0x74.HALF.LO, iVar1); + } else { + UpdateAnimationSingleFrame(this); + } +} + +NAKED +u32 sub_08021274(u32 a, u32 b) { + asm(".include \"asm/non_matching/darkNut/sub_08021274.inc\""); +} + +void sub_080212B0(Entity* this) { + u8 tmp; + + switch (this->field_0x74.HALF.HI) { + default: + this->field_0x74.HALF.HI = 1; + tmp = gUnk_080CAB3A[Random() & 7]; + break; + case 1: + this->field_0x74.HALF.HI = 2; + tmp = gUnk_080CAB42[Random() & 7]; + break; + case 2: + this->field_0x74.HALF.HI = 0; + tmp = gUnk_080CAB4A[Random() & 7]; + break; + } + + if (this->entityType.form < 2 && tmp == 2) + tmp = gUnk_080CAB52[Random() & 3]; + + this->attachedEntity = NULL; + gUnk_080CAB58[tmp](this); +} + +void sub_08021328(Entity* this) { + this->action = 13; + this->field_0x7c.BYTES.byte0 = gUnk_080CAB68[this->entityType.form]; + sub_08021218(this, 0xc, this->animationState); +} + +void sub_0802134C(Entity* this) { + this->action = 15; + this->direction = this->animationState << 3; + this->nonPlanarMovement = 0x200; + this->field_0x76.HWORD = 0x78; + sub_08021218(this, 0xe, this->animationState); +} + +void sub_08021370(Entity* this) { + this->action = 18; + sub_08021218(this, 0x10, this->animationState); +} + +void sub_08021380(Entity* this) { + this->action = 19; + sub_08021218(this, 0x11, this->animationState); +} + +void sub_08021390(Entity* this) { + this->action = 7; + this->nonPlanarMovement = 0x200; + this->damageType = 0x56; + sub_08021218(this, 6, this->animationState); +} + +void sub_080213B0(Entity* this) { + this->action = 3; + this->actionDelay = 1; + this->nonPlanarMovement = 0xc0; + this->field_0x76.HWORD = 0xf0; + sub_08021218(this, 3, this->animationState); +} + +void sub_080213D0(Entity* this, u32 param_2) { + this->action = 16; + this->field_0x7a.HALF.HI = param_2; + sub_08021218(this, 0xf, this->animationState); + sub_08021588(this); +} + +void sub_080213F0(Entity* this) { + this->action = 6; + sub_08021218(this, 1, this->animationState); +} + +void sub_08021400(Entity* this) { + this->action = 9; + this->nonPlanarMovement = 0x60; + sub_08021218(this, 10, this->animationState); +} + +void sub_08021414(Entity* this) { + this->action = 17; + sub_08021218(this, 5, this->animationState); +} + +void sub_08021424(Entity* this) { + s32 x, y; + u32 tmp; + + u32 dir = GetFacingDirection(this, gUnk_020000B0); + tmp = sub_08021274(this->animationState, dir); + if (tmp != 0xff) { + sub_08021218(this, this->field_0x74.HALF.LO, tmp); + } else { + tmp = this->animationState; + } + + switch (tmp) { + case 0: + x = gUnk_020000B0->x.HALF.HI; + y = gUnk_020000B0->y.HALF.HI + 0x2c; + break; + case 1: + x = gUnk_020000B0->x.HALF.HI - 0x24; + y = gUnk_020000B0->y.HALF.HI; + break; + case 2: + x = gUnk_020000B0->x.HALF.HI; + y = gUnk_020000B0->y.HALF.HI - 0x1d; + break; + default: + x = gUnk_020000B0->x.HALF.HI + 0x24; + y = gUnk_020000B0->y.HALF.HI; + break; + } + + if (!(6 < (x - this->x.HALF.HI) + 3U) && !(4 < (y - this->y.HALF.HI) + 2U)) { + sub_080212B0(this); + } else { + this->direction = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, x, y); + if (!sub_080AEF88(this)) { + sub_080212B0(this); + } else { + UpdateAnimationSingleFrame(this); + } + } +} + +u32 sub_080214FC(Entity* this) { + u32 direction; + + if (!sub_08049FDC(this, 1)) + return 0; + + direction = GetFacingDirection(this, gUnk_020000B0); + if (4 < (direction - (this->frames.all & 0x1f)) - 2) + return 0; + + this->animationState = ((direction + 4) & 0x18) >> 3; + return 1; +} + +void sub_08021540(Entity* this) { + u32 tmp, tmp2; + u32 rand; + + rand = Random(); + if (!sub_08049FA0(this) && (rand & 1)) { + tmp2 = (sub_08049EE4(this) + 4) & 0x18; + } else { + tmp2 = (rand >> 0x10) & 0x18; + } + this->direction = tmp2; + + tmp = sub_08021274(this->animationState, tmp2); + if (tmp != 0xff) + sub_08021218(this, 3, tmp); + + this->actionDelay = 30; +} + +void sub_08021588(Entity* this) { + if (this->attachedEntity) { + this->attachedEntity->parent = NULL; + this->attachedEntity = NULL; + } +} + +void sub_0802159C(Entity* this) { + if (this->frames.all == 1) { + Entity* ent; + + this->frames.all = 0; + this->damageType = 0x51; + ent = sub_0804A98C(this, 0, 3); + if (ent) { + ent->parent = this; + this->attachedEntity = ent; + } + sub_08004488(0x116); + } else if (this->frames.all == 2) { + this->frames.all = 0; + sub_08021588(this); + } else if (this->frames.all & 0x20) { + this->frames.all &= ~0x20; + sub_08004488(0x115); + } +} + +void sub_08021600(Entity* this) { + if (this->frames.all == 1) { + Entity* ent; + + this->frames.all = 0; + this->damageType = 0x51; + ent = sub_0804A98C(this, 0, 4); + if (ent) { + ent->parent = this; + this->attachedEntity = ent; + } + sub_08004488(0x10e); + } else if (this->frames.all == 2) { + this->frames.all = 0; + sub_08021588(this); + } +} + +void sub_08021644(Entity* this) { + if (this->frames.all & 0x20) { + this->frames.all &= ~0x20; + sub_08004488(0x7d); + } +} + +extern u32 sub_08049F1C(Entity*, Entity*, u32); + +u32 sub_08021664(Entity* this, Entity* ent) { + switch (this->animationState) { + case 0: + return sub_08049F1C(this, ent, 0x22); + case 1: + return sub_08049F1C(this, ent, 0x1a); + case 2: + return sub_08049F1C(this, ent, 0x13); + case 3: + return sub_08049F1C(this, ent, 0x1a); + } + return 0; +} + +u32 sub_0802169C(Entity* this, Entity* ent) { + u32 ret; + + switch (this->animationState) { + case 0: + ret = 0x2c; + break; + case 2: + ret = 0x1d; + break; + case 1: + case 3: + ret = 0x24; + break; + default: + return 0; + } + + if (sub_08049F1C(this, ent, ret)) { + return 0; + } else { + return 1; + } +} + +// clang-format off +void (*const gUnk_080CAA98[])(Entity*) = { + sub_08020BA0, + sub_08020BB8, + sub_08001324, + sub_0804A7D4, + sub_08001242, + nullsub_129, +}; +void (*const gUnk_080CAAB0[])(Entity*) = { + sub_08020D70, + sub_08020D9C, + sub_08020DB4, + sub_08020DD4, + sub_08020E28, + sub_08020E48, + sub_08020E78, + sub_08020E98, + sub_08020F28, + sub_08020F48, + sub_08020FAC, + sub_08020FE4, + sub_08021010, + sub_08021038, + sub_080210A8, + sub_080210E4, + sub_08021170, + sub_080211A0, + sub_080211D0, + sub_080211F4, +}; + +const s8 gUnk_080CAB00[] = { + 30, 30, 20, 10, +}; + +const s8 gUnk_080CAB04[] = { + 60, 60, 45, 30, +}; + +const u8 gUnk_080CAB08[] = { + 90, 90, 60, 30, +}; + +const s8 gUnk_080CAB0C[] = { + 90, 90, 60, 30, +}; + +const s8 gUnk_080CAB10[] = { + 90, 90, 45, 8, +}; + +const stuct_080CAB14 gUnk_080CAB14[] = { + {0x00, 0x62}, + {0x04, 0x62}, + {0x08, 0x62}, + {0x0C, 0x62}, + {0x10, 0x62}, + {0x14, 0x62}, + {0x18, 0x62}, + {0x1C, 0x62}, + {0x20, 0x62}, + {0x24, 0x62}, + {0x28, 0x62}, + {0x2C, 0x62}, + {0x00, 0x63}, + {0x04, 0x63}, + {0x08, 0x63}, + {0x0C, 0x63}, + {0x10, 0x63}, + {0x14, 0x63}, + {0x18, 0x63}, +}; + +const u8 gUnk_080CAB3A[] = { + 0, 1, 1, 0, 3, 0, 1, 0, +}; + +const u8 gUnk_080CAB42[] = { + 1, 1, 3, 0, 1, 2, 0, 0, +}; + +const u8 gUnk_080CAB4A[] = { + 0, 0, 3, 1, 2, 2, 3, 1, +}; + +const u8 gUnk_080CAB52[] = { + 0, 3, 1, 0, 0, 0 +}; + +void (*const gUnk_080CAB58[])(Entity*) = { + sub_08021328, + sub_0802134C, + sub_08021370, + sub_08021380, +}; + +const u8 gUnk_080CAB68[] = { + 90, 90, 45, 7, +}; +// clang-format on From b127fb2ea8ef73c18cb139fcedcb8614ba2b1de0 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 01:06:21 +0200 Subject: [PATCH 032/105] rename rodata file --- data/{data_080CAA98.s => data_080CB570.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CAA98.s => data_080CB570.s} (100%) diff --git a/data/data_080CAA98.s b/data/data_080CB570.s similarity index 100% rename from data/data_080CAA98.s rename to data/data_080CB570.s diff --git a/linker.ld b/linker.ld index 61480876..962668bc 100644 --- a/linker.ld +++ b/linker.ld @@ -917,7 +917,7 @@ SECTIONS { data/rollobiteAnimations.o(.rodata); src/enemy/darkNut.o(.rodata); data/darkNutAnimations.o(.rodata); - data/data_080CAA98.o(.rodata); + data/data_080CB570.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From c63d80ee1dd6ad883c9e5cdee5e27338c0f2d419 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 01:54:38 +0200 Subject: [PATCH 033/105] add HangingSeed rodata --- data/data_080CB570.s | 7 ----- linker.ld | 1 + src/enemy/hangingSeed.c | 64 ++++++++++++++++++++++++----------------- 3 files changed, 39 insertions(+), 33 deletions(-) diff --git a/data/data_080CB570.s b/data/data_080CB570.s index ae280443..c1270bfb 100644 --- a/data/data_080CB570.s +++ b/data/data_080CB570.s @@ -2,13 +2,6 @@ .include "constants/constants.inc" .section .rodata - .align 2 - -gUnk_080CB570:: @ 080CB570 - .incbin "baserom.gba", 0x0CB570, 0x0000018 - -gUnk_080CB588:: @ 080CB588 - .incbin "baserom.gba", 0x0CB588, 0x0000008 gUnk_080CB590:: @ 080CB590 .incbin "baserom.gba", 0x0CB590, 0x0000018 diff --git a/linker.ld b/linker.ld index 962668bc..c3d812bd 100644 --- a/linker.ld +++ b/linker.ld @@ -917,6 +917,7 @@ SECTIONS { data/rollobiteAnimations.o(.rodata); src/enemy/darkNut.o(.rodata); data/darkNutAnimations.o(.rodata); + src/enemy/hangingSeed.o(.rodata); data/data_080CB570.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/hangingSeed.c b/src/enemy/hangingSeed.c index 7f0ba1dc..cd204a6e 100644 --- a/src/enemy/hangingSeed.c +++ b/src/enemy/hangingSeed.c @@ -1,39 +1,51 @@ -#include "global.h" #include "entity.h" - -extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); -extern void DeleteThisEntity(); +#include "functions.h" extern void (*const gUnk_080CB570[])(Entity*); extern void (*const gUnk_080CB588[])(Entity*); -void HangingSeed(Entity *this) -{ - EnemyFunctionHandler(this, gUnk_080CB570); +void HangingSeed(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CB570); } -void sub_080216E4(Entity *this) -{ - gUnk_080CB588[this->action](this); +void sub_080216E4(Entity* this) { + gUnk_080CB588[this->action](this); } -void sub_080216FC(Entity *this) -{ - if ((this->bitfield & 0x80) != 0) { - CreateFx(this, 3, 0x80); - DeleteThisEntity(); - } +void sub_080216FC(Entity* this) { + if (this->bitfield & 0x80) { + CreateFx(this, 3, 0x80); + DeleteThisEntity(); + } } -void nullsub_7(Entity* this){} - -void sub_08021720(Entity *this) -{ - this->action = 1; - this->spriteSettings.b.draw = 1; - this->frameIndex = (this->entityType).form; - this->spriteRendering.b3 = 1; - this->spritePriority.b0 = 3; +void nullsub_7(Entity* this) { } -void nullsub_08(Entity* this){} \ No newline at end of file +void sub_08021720(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = 1; + this->frameIndex = this->entityType.form; + this->spriteRendering.b3 = 1; + this->spritePriority.b0 = 3; +} + +void nullsub_08(Entity* this) { +} + +// clang-format off +void (*const gUnk_080CB570[])(Entity*) = { + sub_080216E4, + sub_080216FC, + sub_08001324, + sub_0804A7D4, + sub_08001242, + nullsub_7, +}; + +void (*const gUnk_080CB588[])(Entity*) = { + sub_08021720, + nullsub_08, +}; +// clang-format on + From 5ce1629a81178405a1f446f0f7a2da694bd1bf08 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 04:14:07 +0200 Subject: [PATCH 034/105] decompile beetle --- asm/beetle.s | 812 ---------------------------------------- data/beetleAnimations.s | 28 ++ data/data_080CB570.s | 42 --- include/player.h | 10 +- linker.ld | 4 +- src/enemy/beetle.c | 360 ++++++++++++++++++ 6 files changed, 398 insertions(+), 858 deletions(-) delete mode 100644 asm/beetle.s create mode 100644 data/beetleAnimations.s create mode 100644 src/enemy/beetle.c diff --git a/asm/beetle.s b/asm/beetle.s deleted file mode 100644 index 9bdbd6d4..00000000 --- a/asm/beetle.s +++ /dev/null @@ -1,812 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Beetle -Beetle: @ 0x08021758 - push {lr} - ldr r1, _08021764 @ =gUnk_080CB590 - bl EnemyFunctionHandler - pop {pc} - .align 2, 0 -_08021764: .4byte gUnk_080CB590 - - thumb_func_start sub_08021768 -sub_08021768: @ 0x08021768 - push {lr} - ldr r2, _0802177C @ =gUnk_080CB5A8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802177C: .4byte gUnk_080CB5A8 - - thumb_func_start sub_08021780 -sub_08021780: @ 0x08021780 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - beq _08021792 - cmp r0, #0x93 - beq _080217F4 - b _080217FA -_08021792: - ldr r0, _080217A4 @ =gPlayerState - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x18 - bne _080217A8 - adds r0, r4, #0 - bl sub_08021768 - b _080217FA - .align 2, 0 -_080217A4: .4byte gPlayerState -_080217A8: - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0xb4 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080217EC @ =gPlayerEntity - adds r1, r4, #0 - bl CopyPositionAndSpriteOffset - ldr r0, _080217F0 @ =0x0000FFFF - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x87 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #6 - bl InitializeAnimation - b _080217FA - .align 2, 0 -_080217EC: .4byte gPlayerEntity -_080217F0: .4byte 0x0000FFFF -_080217F4: - adds r0, r4, #0 - bl sub_08021768 -_080217FA: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - bne _08021808 - subs r0, #3 - strb r1, [r0] -_08021808: - ldr r1, _08021814 @ =gUnk_080CB590 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08021814: .4byte gUnk_080CB590 - - thumb_func_start sub_08021818 -sub_08021818: @ 0x08021818 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xa] - cmp r0, #0 - bne _0802182A - adds r0, r3, #0 - bl sub_0804A7D4 - b _08021844 -_0802182A: - ldr r2, [r3, #0x50] - cmp r2, #0 - beq _0802183A - ldrb r0, [r2, #0xf] - subs r0, #1 - movs r1, #0 - strb r0, [r2, #0xf] - str r1, [r3, #0x50] -_0802183A: - adds r0, r3, #0 - movs r1, #0xf0 - movs r2, #0 - bl CreateDeathFx -_08021844: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08021848 -sub_08021848: @ 0x08021848 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - adds r1, r0, #0 - cmp r1, #0 - beq _0802186C - ldr r0, _08021868 @ =gUnk_080CB5C8 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0802187A - .align 2, 0 -_08021868: .4byte gUnk_080CB5C8 -_0802186C: - movs r0, #3 - strb r0, [r4, #0xc] - strh r1, [r4, #0x36] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_0802187A: - pop {r4, pc} - - thumb_func_start sub_0802187C -sub_0802187C: @ 0x0802187C - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start nullsub_130 -nullsub_130: @ 0x08021884 - bx lr - .align 2, 0 - - thumb_func_start sub_08021888 -sub_08021888: @ 0x08021888 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0802189A - adds r0, r4, #0 - bl sub_08021818 -_0802189A: - pop {r4, pc} - - thumb_func_start sub_0802189C -sub_0802189C: @ 0x0802189C - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0x1c] - adds r0, r4, #0 - movs r1, #3 - bl InitializeAnimation - pop {r4, pc} - - thumb_func_start sub_080218B4 -sub_080218B4: @ 0x080218B4 - push {lr} - ldr r2, _080218C8 @ =gUnk_080CB5D4 - ldrb r1, [r0, #0xb] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080218C8: .4byte gUnk_080CB5D4 - - thumb_func_start sub_080218CC -sub_080218CC: @ 0x080218CC - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xd] - cmp r0, #0 - bne _08021916 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xd] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - adds r4, r0, #0 - bl Random - movs r1, #0x10 - eors r4, r1 - ldr r2, _08021980 @ =gUnk_080CB5DC - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - movs r0, #0x90 - lsls r0, r0, #9 - str r0, [r5, #0x20] -_08021916: - adds r0, r5, #0 - bl GetNextFrame - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r6, #1 - adds r0, r6, #0 - ands r0, r1 - adds r4, r2, #0 - cmp r0, #0 - beq _08021948 - adds r0, r5, #0 - bl sub_080AEFE0 - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r5, #0 - bl sub_080044EC - cmp r0, #0 - bne _08021948 - adds r0, r5, #0 - adds r0, #0x59 - strb r6, [r0] -_08021948: - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802197C - movs r0, #2 - strb r0, [r5, #0xc] - bl Random - movs r1, #0x38 - ands r0, r1 - adds r0, #8 - strb r0, [r5, #0xe] - movs r0, #1 - strb r0, [r5, #0xf] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r0, r5, #0 - movs r1, #0 - bl InitializeAnimation -_0802197C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08021980: .4byte gUnk_080CB5DC - - thumb_func_start sub_08021984 -sub_08021984: @ 0x08021984 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080219C2 - movs r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r0, _08021A08 @ =0x0000FF80 - strh r0, [r4, #0x36] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - ldr r0, _08021A0C @ =0x0000012D - bl sub_08004488 -_080219C2: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08021A04 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x86 - movs r0, #0x3c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer -_08021A04: - pop {r4, pc} - .align 2, 0 -_08021A08: .4byte 0x0000FF80 -_08021A0C: .4byte 0x0000012D - - thumb_func_start sub_08021A10 -sub_08021A10: @ 0x08021A10 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - ldr r1, _08021A60 @ =gPlayerEntity - adds r0, r4, #0 - movs r2, #0x78 - movs r3, #0x50 - bl sub_080041A0 - cmp r0, #0 - beq _08021A5E - adds r0, r4, #0 - bl sub_08021D00 - cmp r0, #0 - bne _08021A5E - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08021A5E - movs r0, #3 - strb r0, [r4, #0xc] - bl Random - movs r1, #0x3f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - bl sub_08021D44 - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_08021A5E: - pop {r4, pc} - .align 2, 0 -_08021A60: .4byte gPlayerEntity - - thumb_func_start sub_08021A64 -sub_08021A64: @ 0x08021A64 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08021D00 - cmp r0, #0 - bne _08021AD4 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08021A96 - movs r0, #2 - strb r0, [r4, #0xc] - bl Random - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation -_08021A96: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _08021AC8 - movs r0, #8 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - adds r1, r0, #0 - cmp r1, #0xff - bne _08021AC2 - movs r0, #7 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation - b _08021AD4 -_08021AC2: - adds r0, r4, #0 - bl sub_08021D44 -_08021AC8: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl GetNextFrame -_08021AD4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08021AD8 -sub_08021AD8: @ 0x08021AD8 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08021B3A - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08021B1E - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - cmp r0, #0xff - bne _08021B16 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - b _08021B60 -_08021B16: - strb r0, [r4, #0x15] - movs r0, #0x7c - bl sub_08004488 -_08021B1E: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08021B3A - adds r1, r4, #0 - adds r1, #0x59 - movs r0, #1 - strb r0, [r1] -_08021B3A: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021B60 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x14 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x86 - movs r0, #0x3c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation -_08021B60: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021B64 -sub_08021B64: @ 0x08021B64 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, _08021B88 @ =gPlayerState - ldr r1, [r0, #0x30] - movs r2, #4 - ands r1, r2 - adds r6, r0, #0 - cmp r1, #0 - beq _08021B8C - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - str r1, [r4, #0x34] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation - b _08021C4E - .align 2, 0 -_08021B88: .4byte gPlayerState -_08021B8C: - movs r5, #1 - adds r0, r6, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0xb - beq _08021BBA - cmp r0, #0x14 - beq _08021BBA - bl sub_0807953C - cmp r0, #0 - beq _08021BAE - ldrb r1, [r4, #0xa] - lsls r0, r1, #1 - adds r0, r0, r1 - adds r5, r0, #0 - adds r5, #8 -_08021BAE: - ldrb r0, [r4, #0xe] - subs r5, r0, r5 - cmp r5, #0 - bge _08021BB8 - movs r5, #0 -_08021BB8: - strb r5, [r4, #0xe] -_08021BBA: - ldr r0, [r6, #0x30] - movs r1, #0x88 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08021BC8 - movs r5, #0 -_08021BC8: - cmp r5, #0 - bne _08021C04 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - adds r0, #0x87 - strb r5, [r0] - ldr r2, _08021BEC @ =gPlayerEntity - ldrb r1, [r2, #0x15] - adds r0, r1, #0 - cmp r0, #0xff - beq _08021BF0 - movs r0, #0x10 - b _08021BF6 - .align 2, 0 -_08021BEC: .4byte gPlayerEntity -_08021BF0: - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 -_08021BF6: - eors r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #5 - bl InitializeAnimation - b _08021C4E -_08021C04: - ldrb r1, [r6, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r6, #0x1a] - adds r1, r6, #0 - adds r1, #0x80 - ldrh r0, [r1] - subs r0, #0x50 - strh r0, [r1] - adds r1, #0x2a - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, _08021C50 @ =gPlayerEntity - adds r1, r4, #0 - bl CopyPositionAndSpriteOffset - ldr r2, _08021C54 @ =gUnk_080CB5E4 - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #0xe - ands r0, r1 - lsrs r0, r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl GetNextFrame -_08021C4E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08021C50: .4byte gPlayerEntity -_08021C54: .4byte gUnk_080CB5E4 - - thumb_func_start sub_08021C58 -sub_08021C58: @ 0x08021C58 - push {r4, r5, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r5, #1 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _08021C8A - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08021C8A - adds r0, r4, #0 - adds r0, #0x59 - strb r5, [r0] -_08021C8A: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021CCC - movs r0, #2 - strb r0, [r4, #0xc] - movs r2, #0x3c - strb r2, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x86 - strb r2, [r0] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation -_08021CCC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08021CD0 -sub_08021CD0: @ 0x08021CD0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08021CE6 - adds r0, r4, #0 - bl GetNextFrame -_08021CE6: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - cmp r0, #0xff - beq _08021CFE - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_08021CFE: - pop {r4, pc} - - thumb_func_start sub_08021D00 -sub_08021D00: @ 0x08021D00 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrb r0, [r1] - cmp r0, #0 - beq _08021D16 - subs r0, #1 - strb r0, [r1] - movs r0, #0 - b _08021D40 -_08021D16: - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x10 - bl sub_08049F64 - cmp r0, #0 - bne _08021D28 - movs r0, #0 - b _08021D40 -_08021D28: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xe] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #4 - bl InitializeAnimation - movs r0, #1 -_08021D40: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021D44 -sub_08021D44: @ 0x08021D44 - push {lr} - adds r2, r0, #0 - adds r1, #4 - movs r0, #0x18 - ands r1, r0 - strb r1, [r2, #0x15] - movs r0, #8 - ands r1, r0 - cmp r1, #0 - beq _08021D5E - movs r0, #0xc0 - lsls r0, r0, #1 - b _08021D60 -_08021D5E: - movs r0, #0xc0 -_08021D60: - strh r0, [r2, #0x24] - pop {pc} diff --git a/data/beetleAnimations.s b/data/beetleAnimations.s new file mode 100644 index 00000000..e9bdbbf0 --- /dev/null +++ b/data/beetleAnimations.s @@ -0,0 +1,28 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CB5EC:: @ 080CB5EC + .incbin "baserom.gba", 0x0CB5EC, 0x0000014 + +gUnk_080CB600:: @ 080CB600 + .incbin "baserom.gba", 0x0CB600, 0x000001C + +gUnk_080CB61C:: @ 080CB61C + .incbin "baserom.gba", 0x0CB61C, 0x0000011 + +gUnk_080CB62D:: @ 080CB62D + .incbin "baserom.gba", 0x0CB62D, 0x0000018 + +gUnk_080CB645:: @ 080CB645 + .incbin "baserom.gba", 0x0CB645, 0x0000018 + +gUnk_080CB65D:: @ 080CB65D + .incbin "baserom.gba", 0x0CB65D, 0x0000014 + +gUnk_080CB671:: @ 080CB671 + .incbin "baserom.gba", 0x0CB671, 0x000000B + +gUnk_080CB67C:: @ 080CB67C + .incbin "baserom.gba", 0x0CB67C, 0x0000020 diff --git a/data/data_080CB570.s b/data/data_080CB570.s index c1270bfb..773ba945 100644 --- a/data/data_080CB570.s +++ b/data/data_080CB570.s @@ -3,48 +3,6 @@ .section .rodata -gUnk_080CB590:: @ 080CB590 - .incbin "baserom.gba", 0x0CB590, 0x0000018 - -gUnk_080CB5A8:: @ 080CB5A8 - .incbin "baserom.gba", 0x0CB5A8, 0x0000020 - -gUnk_080CB5C8:: @ 080CB5C8 - .incbin "baserom.gba", 0x0CB5C8, 0x000000C - -gUnk_080CB5D4:: @ 080CB5D4 - .incbin "baserom.gba", 0x0CB5D4, 0x0000008 - -gUnk_080CB5DC:: @ 080CB5DC - .incbin "baserom.gba", 0x0CB5DC, 0x0000008 - -gUnk_080CB5E4:: @ 080CB5E4 - .incbin "baserom.gba", 0x0CB5E4, 0x0000008 - -gUnk_080CB5EC:: @ 080CB5EC - .incbin "baserom.gba", 0x0CB5EC, 0x0000014 - -gUnk_080CB600:: @ 080CB600 - .incbin "baserom.gba", 0x0CB600, 0x000001C - -gUnk_080CB61C:: @ 080CB61C - .incbin "baserom.gba", 0x0CB61C, 0x0000011 - -gUnk_080CB62D:: @ 080CB62D - .incbin "baserom.gba", 0x0CB62D, 0x0000018 - -gUnk_080CB645:: @ 080CB645 - .incbin "baserom.gba", 0x0CB645, 0x0000018 - -gUnk_080CB65D:: @ 080CB65D - .incbin "baserom.gba", 0x0CB65D, 0x0000014 - -gUnk_080CB671:: @ 080CB671 - .incbin "baserom.gba", 0x0CB671, 0x000000B - -gUnk_080CB67C:: @ 080CB67C - .incbin "baserom.gba", 0x0CB67C, 0x0000020 - gUnk_080CB69C:: @ 080CB69C .incbin "baserom.gba", 0x0CB69C, 0x0000018 diff --git a/include/player.h b/include/player.h index 77f9e59d..38dca39c 100644 --- a/include/player.h +++ b/include/player.h @@ -33,13 +33,15 @@ typedef struct { /*0x30*/ union { /* */ u32 all; /* */ struct { - /* */ u32 filler9 : 3; + /* */ u32 filler9 : 2; + /* */ u32 unk2 : 1; /* */ u32 noMinishCap : 1; /* */ u32 pullingState : 1; /* */ u32 windyState : 1; /* */ u32 filler6 : 1; /* */ u32 unk7 : 1; - /* */ u32 filler8 : 2; + /* */ u32 unk8 : 1; + /* */ u32 unk9 : 1; /* */ u32 slipperyState : 1; /* */ u32 filler11 : 5; /* */ u32 filler11b : 16; @@ -54,7 +56,9 @@ typedef struct { /* */ u8 swordBlueParticle : 1; /* */ u8 filler14 : 6; /*0x3f*/ u8 field_0x3f; - /*0x40*/ u8 field_0x40[75]; + /*0x40*/ u8 field_0x40[64]; + /*0x80*/ u16 field_0x80; + /*0x82*/ u8 field_0x82[9]; /*0x8b*/ u8 field_0x8b; /*0x8c*/ u32 field_0x8c; /*0x90*/ union SplitWord field_0x90; diff --git a/linker.ld b/linker.ld index c3d812bd..1fa68736 100644 --- a/linker.ld +++ b/linker.ld @@ -332,7 +332,7 @@ SECTIONS { src/enemy/rollobite.o(.text); src/enemy/darkNut.o(.text); src/enemy/hangingSeed.o(.text); - asm/beetle.o(.text); + src/enemy/beetle.o(.text); src/enemy/keese.o(.text); asm/doorMimic.o(.text); asm/rockChuchu.o(.text); @@ -918,6 +918,8 @@ SECTIONS { src/enemy/darkNut.o(.rodata); data/darkNutAnimations.o(.rodata); src/enemy/hangingSeed.o(.rodata); + src/enemy/beetle.o(.rodata); + data/beetleAnimations.o(.rodata); data/data_080CB570.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c new file mode 100644 index 00000000..3bdbfdad --- /dev/null +++ b/src/enemy/beetle.c @@ -0,0 +1,360 @@ +#include "entity.h" +#include "functions.h" +#include "player.h" + +extern u32 sub_08049F64(Entity*, u32, u32); + +u32 sub_08021D00(); +void sub_08021D44(Entity* this, u32 param_2); + +extern void (*const gUnk_080CB590[])(Entity*); +extern void (*const gUnk_080CB5A8[])(Entity*); +extern void (*const gUnk_080CB5C8[])(Entity*); +extern void (*const gUnk_080CB5D4[])(Entity*); + +extern const s8 gUnk_080CB5DC[]; +extern const s8 gUnk_080CB5E4[]; + +void Beetle(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CB590); +} + +void sub_08021768(Entity* this) { + gUnk_080CB5A8[this->action](this); +} + +void sub_08021780(Entity* this) { + switch (this->bitfield) { + case 0x80: + if (gPlayerState.field_0xa8 == 24) { + sub_08021768(this); + } else { + this->action = 5; + this->actionDelay = 0xb4; + this->field_0xf = 0; + this->flags &= ~0x80; + this->spritePriority.b0 = 3; + CopyPositionAndSpriteOffset(&gPlayerEntity, this); + this->height.HALF.HI = -1; + ((u8*)&this->field_0x86)[1] = 1; + InitializeAnimation(this, 6); + } + break; + case 0x93: + sub_08021768(this); + break; + } + + if (this->currentHealth == 0) + this->field_0x42 = 0; + + sub_0804AA30(this, gUnk_080CB590); +} + +void sub_08021818(Entity* this) { + if (this->entityType.form == 0) { + sub_0804A7D4(this); + } else { + Entity* ent = this->parent; + if (ent) { + ent->field_0xf--; + this->parent = NULL; + } + CreateDeathFx(this, 0xf0, 0); + } +} + +void sub_08021848(Entity* this) { + if (sub_0806F520(this)) { + gUnk_080CB5C8[this->previousActionFlag](this); + } else { + this->action = 3; + this->height.HALF.HI = 0; + InitializeAnimation(this, 2); + } +} + +void sub_0802187C(Entity* this) { + this->previousActionFlag = 2; +} + +void nullsub_130(Entity* this) { +} + +void sub_08021888(Entity* this) { + if (sub_0806F3E4(this)) + sub_08021818(this); +} + +void sub_0802189C(Entity* this) { + sub_0804A720(this); + this->action = 1; + this->field_0x1c = 1; + InitializeAnimation(this, 3); +} + +void sub_080218B4(Entity* this) { + gUnk_080CB5D4[this->entityType.parameter](this); +} + +void sub_080218CC(Entity* this) { + if (this->previousActionFlag == 0) { + this->previousActionFlag = 1; + this->spriteSettings.b.draw = 1; + this->direction = ((sub_08049F84(this, 1) ^ 0x10) + gUnk_080CB5DC[Random() & 7]) & 0x1f; + this->nonPlanarMovement = 0x100; + this->field_0x20 = 0x12000; + } + + GetNextFrame(this); + if (this->frames.all & 1) { + sub_080AEFE0(this); + if (sub_080044EC(this, 0x1c00) == 0) + this->frameDuration = 1; + } + + if (this->frames.all & 0x80) { + this->action = 2; + this->actionDelay = (Random() & 0x38) + 8; + this->field_0xf = 1; + this->flags |= 0x80; + this->nonPlanarMovement = 0x180; + InitializeAnimation(this, 0); + } +} + +void sub_08021984(Entity* this) { + if (this->previousActionFlag == 0) { + this->previousActionFlag = 1; + this->flags |= 0x80; + this->spriteSettings.b.draw = 3; + this->height.HALF.HI = -0x80; + this->spriteRendering.b3 = 1; + this->spriteOrientation.flipY = 1; + sub_08004488(0x12d); + } + + if (sub_08003FC4(this, 0x1800) == 0) { + this->action = 2; + this->actionDelay = 16; + this->field_0xf = 1; + this->spriteSettings.b.draw = 1; + this->nonPlanarMovement = 0x180; + ((u8*)&this->field_0x86)[0] = 60; + InitializeAnimation(this, 0); + UpdateSpriteForCollisionLayer(this); + } +} + +void sub_08021A10(Entity* this) { + GetNextFrame(this); + if (sub_080041A0(this, &gPlayerEntity, 120, 80) && sub_08021D00(this) == 0) { + if (--this->actionDelay == 0) { + this->action = 3; + this->actionDelay = (Random() & 0x3f) + 30; + sub_08021D44(this, this->direction); + InitializeAnimation(this, 2); + } + } +} + +void sub_08021A64(Entity* this) { + if (!sub_08021D00(this)) { + if (--this->actionDelay == 0) { + this->action = 2; + this->actionDelay = (Random() & 0x1f) + 0x1e; + InitializeAnimation(this, 0); + } + + if (--this->field_0xf == 0) { + u32 tmp; + + this->field_0xf = 8; + tmp = sub_08049F84(this, 1); + if (tmp == 0xff) { + this->action = 7; + InitializeAnimation(this, 1); + return; + } + sub_08021D44(this, tmp); + } + sub_080AEF88(this); + GetNextFrame(this); + } +} + +void sub_08021AD8(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 1) { + if (this->actionDelay) { + u32 tmp; + + this->actionDelay = 0; + tmp = sub_08049F84(this, 1); + if (tmp == 0xff) { + this->action = 2; + this->actionDelay = '\b'; + InitializeAnimation(this, 0); + return; + } + this->direction = (u8)tmp; + sub_08004488(0x7c); + } + sub_080AEFE0(this); + if (!sub_08003FC4(this, 0x1800)) + this->frameDuration = 1; + } + + if (this->frames.all & 0x80) { + this->action = 2; + this->actionDelay = 20; + ((u8*)&this->field_0x86)[0] = 60; + InitializeAnimation(this, 0); + } +} + +void sub_08021B64(Entity* this) { + if (gPlayerState.flags.all & 4) { + this->action = 3; + this->height.WORD = 0; + InitializeAnimation(this, 2); + } else { + int iVar4 = 1; + if (gPlayerState.field_0xa8 != 11 && gPlayerState.field_0xa8 != 20) { + if (sub_0807953C()) + iVar4 = this->entityType.form * 3 + 8; + + iVar4 = this->actionDelay - iVar4; + if (iVar4 < 0) + iVar4 = 0; + + this->actionDelay = (u8)iVar4; + } + + if (gPlayerState.flags.all & 0x110) + iVar4 = 0; + + if (iVar4 == 0) { + this->action = 6; + this->field_0x20 = 0x10000; + ((u8*)&this->field_0x86)[1] = 0; + if (gPlayerEntity.direction != 0xff) { + this->direction = 0x10 ^ gPlayerEntity.direction; + } else { + this->direction = (gPlayerEntity.animationState << 2) ^ 0x10; + } + InitializeAnimation(this, 5); + } else { + gPlayerState.field_0x1a[0] |= 0x80; + gPlayerState.field_0x80 -= 0x50; + gPlayerState.field_0xaa++; + CopyPositionAndSpriteOffset(&gPlayerEntity, this); + this->x.HALF.HI += gUnk_080CB5E4[(this->field_0xf++ & 0xe) >> 1]; + this->height.HALF.HI--; + GetNextFrame(this); + } + } +} + +void sub_08021C58(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 1) { + sub_080AEFE0(this); + if (sub_08003FC4(this, 0x1800) == 0) + this->frameDuration = 1; + } + + if (this->frames.all & 0x80) { + this->action = 2; + this->actionDelay = 60; + this->field_0xf = 1; + this->flags |= 0x80; + this->spritePriority.b0 = 4; + ((u8*)&this->field_0x86)[0] = 60; + InitializeAnimation(this, 0); + } +} + +void sub_08021CD0(Entity* this) { + if ((this->frames.all & 0x80) == 0) + GetNextFrame(this); + + if (sub_08049F84(this, 1) == 0xff) + return; + + this->action = 3; + InitializeAnimation(this, 2); +} + +u32 sub_08021D00(Entity* this) { + u32 ret; + + if (((u8*)&this->field_0x86)[0]) { + ((u8*)&this->field_0x86)[0]--; + ret = 0; + } else if (sub_08049F64(this, 1, 0x10) == 0) { + ret = 0; + } else { + this->action = 4; + this->actionDelay = 1; + this->field_0x20 = 0x18000; + InitializeAnimation(this, 4); + ret = 1; + } + + return ret; +} + +void sub_08021D44(Entity* this, u32 param_2) { + param_2 += 4; + param_2 &= 0x18; + this->direction = param_2; + if (param_2 & 8) { + this->nonPlanarMovement = 0x180; + } else { + this->nonPlanarMovement = 0xc0; + } +} + + +// clang-format off +void (*const gUnk_080CB590[])(Entity*) = { + sub_08021768, + sub_08021780, + sub_08001324, + sub_08021818, + sub_08001242, + sub_08021848, +}; + +void (*const gUnk_080CB5A8[])(Entity*) = { + sub_0802189C, + sub_080218B4, + sub_08021A10, + sub_08021A64, + sub_08021AD8, + sub_08021B64, + sub_08021C58, + sub_08021CD0, +}; + +void (*const gUnk_080CB5C8[])(Entity*) = { + sub_0802187C, + nullsub_130, + sub_08021888, +}; + +void (*const gUnk_080CB5D4[])(Entity*) = { + sub_080218CC, + sub_08021984, +}; + +const s8 gUnk_080CB5DC[] = { + -1, -2, 1, 2, -3, 3, -4, 4, +}; + +const s8 gUnk_080CB5E4[] = { + -1, -2, -1, 0, 1, 2, 1, 0, +}; +// clang-format on + From ff7a8ec40454bb05e218a31fd4e62953c11dae3c Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 04:23:37 +0200 Subject: [PATCH 035/105] rename rodata file --- data/{data_080CB570.s => data_080CB69C.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CB570.s => data_080CB69C.s} (100%) diff --git a/data/data_080CB570.s b/data/data_080CB69C.s similarity index 100% rename from data/data_080CB570.s rename to data/data_080CB69C.s diff --git a/linker.ld b/linker.ld index 1fa68736..2e23d06b 100644 --- a/linker.ld +++ b/linker.ld @@ -920,7 +920,7 @@ SECTIONS { src/enemy/hangingSeed.o(.rodata); src/enemy/beetle.o(.rodata); data/beetleAnimations.o(.rodata); - data/data_080CB570.o(.rodata); + data/data_080CB69C.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From c3a7199cd63b148c35052cdc3f34e3825ed6c311 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 04:40:43 +0200 Subject: [PATCH 036/105] add keese rodata --- data/data_080CB69C.s | 27 ------ data/keeseAnimations.s | 13 +++ linker.ld | 2 + src/enemy/keese.c | 203 +++++++++++++++++++++++------------------ 4 files changed, 127 insertions(+), 118 deletions(-) create mode 100644 data/keeseAnimations.s diff --git a/data/data_080CB69C.s b/data/data_080CB69C.s index 773ba945..5f45f375 100644 --- a/data/data_080CB69C.s +++ b/data/data_080CB69C.s @@ -3,33 +3,6 @@ .section .rodata -gUnk_080CB69C:: @ 080CB69C - .incbin "baserom.gba", 0x0CB69C, 0x0000018 - -gUnk_080CB6B4:: @ 080CB6B4 - .incbin "baserom.gba", 0x0CB6B4, 0x0000010 - -gUnk_080CB6C4:: @ 080CB6C4 - .incbin "baserom.gba", 0x0CB6C4, 0x000000C - -gUnk_080CB6D0:: @ 080CB6D0 - .incbin "baserom.gba", 0x0CB6D0, 0x0000006 - -gUnk_080CB6D6:: @ 080CB6D6 - .incbin "baserom.gba", 0x0CB6D6, 0x0000020 - -gUnk_080CB6F6:: @ 080CB6F6 - .incbin "baserom.gba", 0x0CB6F6, 0x0000010 - -gUnk_080CB706:: @ 080CB706 - .incbin "baserom.gba", 0x0CB706, 0x0000018 - -gUnk_080CB71E:: @ 080CB71E - .incbin "baserom.gba", 0x0CB71E, 0x000000A - -gUnk_080CB728:: @ 080CB728 - .incbin "baserom.gba", 0x0CB728, 0x000000C - gUnk_080CB734:: @ 080CB734 .incbin "baserom.gba", 0x0CB734, 0x0000018 diff --git a/data/keeseAnimations.s b/data/keeseAnimations.s new file mode 100644 index 00000000..3275c2d1 --- /dev/null +++ b/data/keeseAnimations.s @@ -0,0 +1,13 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CB706:: @ 080CB706 + .incbin "baserom.gba", 0x0CB706, 0x0000018 + +gUnk_080CB71E:: @ 080CB71E + .incbin "baserom.gba", 0x0CB71E, 0x000000A + +gUnk_080CB728:: @ 080CB728 + .incbin "baserom.gba", 0x0CB728, 0x000000C diff --git a/linker.ld b/linker.ld index 2e23d06b..9078a4b6 100644 --- a/linker.ld +++ b/linker.ld @@ -920,6 +920,8 @@ SECTIONS { src/enemy/hangingSeed.o(.rodata); src/enemy/beetle.o(.rodata); data/beetleAnimations.o(.rodata); + src/enemy/keese.o(.rodata); + data/keeseAnimations.o(.rodata); data/data_080CB69C.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/keese.c b/src/enemy/keese.c index 0083bbf3..14f5c520 100644 --- a/src/enemy/keese.c +++ b/src/enemy/keese.c @@ -2,14 +2,14 @@ #include "entity.h" #include "enemy.h" #include "player.h" +#include "functions.h" -extern void sub_0804AA30(Entity*, void *); +extern void sub_08001328(Entity*); extern u32 sub_0806F520(Entity*); extern void sub_0806F4E8(Entity*); extern u32 sub_0806F3E4(Entity*); extern void sub_0804A7D4(Entity*); extern void sub_0804A720(Entity*); -extern u32 Random(); extern void sub_08021EF0(Entity*); extern void sub_080AEFB4(Entity*); extern void sub_08021F24(Entity*); @@ -17,102 +17,89 @@ extern u32 sub_0806FCB8(Entity*, s32, s32, u32); extern u32 sub_08049FA0(Entity*); extern u32 sub_08049EE4(Entity*); -extern void (*gUnk_080CB69C[])(Entity*); -extern void (*gUnk_080CB6B4[])(Entity*); -extern void (*gUnk_080CB6C4[])(Entity*); +extern void (*const gUnk_080CB69C[])(Entity*); +extern void (*const gUnk_080CB6B4[])(Entity*); +extern void (*const gUnk_080CB6C4[])(Entity*); -extern u8 gUnk_080CB6D0[]; -extern u16 gUnk_080CB6D6[]; -extern u8 gUnk_080CB6F6[]; +extern const s8 gUnk_080CB6D0[]; +extern const u16 gUnk_080CB6D6[]; +extern const u8 gUnk_080CB6F6[]; -void Keese(Entity *this) -{ +void Keese(Entity* this) { gUnk_080CB69C[GetNextFunction(this)](this); } -void sub_08021D80(Entity *this) -{ +void sub_08021D80(Entity* this) { gUnk_080CB6B4[this->action](this); } -void sub_08021d98(Entity *this) -{ - sub_0804AA30(this, &gUnk_080CB69C); +void sub_08021d98(Entity* this) { + sub_0804AA30(this, gUnk_080CB69C); } -void sub_08021DA8(Entity *this) -{ - if (sub_0806F520(this)) { - gUnk_080CB6C4[this->previousActionFlag](this); - } +void sub_08021DA8(Entity* this) { + if (sub_0806F520(this)) { + gUnk_080CB6C4[this->previousActionFlag](this); + } } -void sub_08021DCC(Entity *this) -{ - this->previousActionFlag = 2; +void sub_08021DCC(Entity* this) { + this->previousActionFlag = 2; } -void sub_08021DD4(Entity *this) -{ - sub_0806F4E8(this); +void sub_08021DD4(Entity* this) { + sub_0806F4E8(this); } -void sub_08021DDC(Entity *this) -{ - if (sub_0806F3E4(this)) { - sub_0804A7D4(this); - } +void sub_08021DDC(Entity* this) { + if (sub_0806F3E4(this)) { + sub_0804A7D4(this); + } } -void sub_08021DF0(Entity *this) -{ - - sub_0804A720(this); - if ((this->entityType).form != 0) { - this->spritePriority.b1 = 1; - this->height.HALF.HI = -0x10; - } - this->direction = Random() & 0x1f; - this->field_0x1c = 1; - this->spritePriority.b0 = 3; - this->collisionLayer = 3; - UpdateSpriteForCollisionLayer(this); - sub_08021EF0(this); -} +void sub_08021DF0(Entity* this) { -void sub_08021E4C(Entity *this) -{ - if (this->field_0x78.HWORD != 0) { - this->field_0x78.HWORD--; - } - if (this->field_0x7a.HWORD != 0) { - (this->field_0x7a.HWORD)--; - } - GetNextFrame(this); - if ((this->frames.b.f3) != 0) { - sub_08021F24(this); - } - else { - sub_080AEFB4(this); - } - this->spriteOffsetY = gUnk_080CB6D0[this->frames.all]; -} - -void sub_08021EA4(Entity *this) -{ - if (--this->actionDelay == 0) { + sub_0804A720(this); + if ((this->entityType).form != 0) { + this->spritePriority.b1 = 1; + this->height.HALF.HI = -0x10; + } + this->direction = Random() & 0x1f; + this->field_0x1c = 1; + this->spritePriority.b0 = 3; + this->collisionLayer = 3; + UpdateSpriteForCollisionLayer(this); sub_08021EF0(this); - } } -void sub_08021EBC(Entity *this) -{ +void sub_08021E4C(Entity* this) { + if (this->field_0x78.HWORD != 0) { + this->field_0x78.HWORD--; + } + if (this->field_0x7a.HWORD != 0) { + (this->field_0x7a.HWORD)--; + } + GetNextFrame(this); + if ((this->frames.b.f3) != 0) { + sub_08021F24(this); + } else { + sub_080AEFB4(this); + } + this->spriteOffsetY = gUnk_080CB6D0[this->frames.all]; +} + +void sub_08021EA4(Entity* this) { + if (--this->actionDelay == 0) { + sub_08021EF0(this); + } +} + +void sub_08021EBC(Entity* this) { s32 iVar1; - + if (this->actionDelay != 0) { this->actionDelay--; - } - else { + } else { iVar1 = sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x70); if (iVar1 != 0) { sub_08021EF0(this); @@ -120,37 +107,71 @@ void sub_08021EBC(Entity *this) } } -void sub_08021EF0(Entity *this) -{ - u32 uVar1; - - this->action = 1; - this->field_0x78.HWORD = gUnk_080CB6D6[Random() & 0xf]; - this->field_0x7a.HWORD = 0x3c; - InitializeAnimation(this, 0); +void sub_08021EF0(Entity* this) { + u32 uVar1; + + this->action = 1; + this->field_0x78.HWORD = gUnk_080CB6D6[Random() & 0xf]; + this->field_0x7a.HWORD = 0x3c; + InitializeAnimation(this, 0); } -void sub_08021F24(Entity *this) -{ +void sub_08021F24(Entity* this) { u32 bVar1; - + if (this->field_0x78.HWORD == 0) { this->action = 2; this->actionDelay = gUnk_080CB6F6[Random() & 0xf]; InitializeAnimation(this, 1); - } - else if (!this->field_0x7a.HWORD && !(sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x70))) { + } else if (!this->field_0x7a.HWORD && + !(sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x70))) { this->action = 3; this->actionDelay = 0x1e; InitializeAnimation(this, 1); - } - else { + } else { if (sub_08049FA0(this) != 0) { this->direction = Random() & 0x1f; - } - else { + } else { this->direction = sub_08049EE4(this); } InitializeAnimation(this, 0); } -} \ No newline at end of file +} + +// clang-format off +void (*const gUnk_080CB69C[])(Entity*) = { + sub_08021D80, + sub_08021d98, + sub_08001328, + sub_0804A7D4, + sub_08001242, + sub_08021DA8, +}; + +void (*const gUnk_080CB6B4[])(Entity*) = { + sub_08021DF0, + sub_08021E4C, + sub_08021EA4, + sub_08021EBC, +}; + +void (*const gUnk_080CB6C4[])(Entity*) = { + sub_08021DCC, + sub_08021DD4, + sub_08021DDC, +}; + +const s8 gUnk_080CB6D0[] = { + 1, -2, -5, -2, 1, 0, +}; + +const u16 gUnk_080CB6D6[] = { + 180, 180, 300, 300, 300, 300, 300, 300, + 480, 480, 480, 480, 480, 480, 720, 720, +}; + +const u8 gUnk_080CB6F6[] = { + 30, 30, 45, 45, 45, 45, 45, 45, + 60, 60, 60, 60, 60, 60, 75, 75, +}; +// clang-format on From 9ad81a51d323e9149e1ffb092769befac3029fff Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 04:41:26 +0200 Subject: [PATCH 037/105] rename rodata file --- data/{data_080CB69C.s => data_080CB734.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CB69C.s => data_080CB734.s} (100%) diff --git a/data/data_080CB69C.s b/data/data_080CB734.s similarity index 100% rename from data/data_080CB69C.s rename to data/data_080CB734.s diff --git a/linker.ld b/linker.ld index 9078a4b6..2a5be4eb 100644 --- a/linker.ld +++ b/linker.ld @@ -922,7 +922,7 @@ SECTIONS { data/beetleAnimations.o(.rodata); src/enemy/keese.o(.rodata); data/keeseAnimations.o(.rodata); - data/data_080CB69C.o(.rodata); + data/data_080CB734.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From 46dc6bb37e1f28810092c6d144523d76640e34df Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Sat, 29 Aug 2020 13:06:27 +0200 Subject: [PATCH 038/105] manager30.c: ok Used for tile puzzles --- asm/manager30.s | 204 ---------------------------------------- include/functions.h | 1 + linker.ld | 2 +- src/enemy/rollobite.c | 1 - src/manager/manager30.c | 98 +++++++++++++++++++ 5 files changed, 100 insertions(+), 206 deletions(-) delete mode 100644 asm/manager30.s create mode 100644 src/manager/manager30.c diff --git a/asm/manager30.s b/asm/manager30.s deleted file mode 100644 index 6d5e1c08..00000000 --- a/asm/manager30.s +++ /dev/null @@ -1,204 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805D4AC -sub_0805D4AC: @ 0x0805D4AC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - ldrb r0, [r6, #0xc] - cmp r0, #1 - beq _0805D520 - cmp r0, #1 - bgt _0805D4C6 - cmp r0, #0 - beq _0805D4D2 - b _0805D628 -_0805D4C6: - cmp r0, #2 - beq _0805D5A4 - cmp r0, #3 - bne _0805D4D0 - b _0805D604 -_0805D4D0: - b _0805D628 -_0805D4D2: - movs r0, #1 - strb r0, [r6, #0xc] - ldrb r0, [r6, #0xe] - strb r0, [r6, #0xf] - ldrh r1, [r6, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r0, [r6, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r6, #0x28] - ldr r4, _0805D518 @ =gPlayerEntity - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0805D51C @ =gRoomControls - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r6, #0x2e] - strh r1, [r6, #0x2c] - b _0805D628 - .align 2, 0 -_0805D518: .4byte gPlayerEntity -_0805D51C: .4byte gRoomControls -_0805D520: - ldr r4, _0805D568 @ =gPlayerEntity - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _0805D56C @ =gRoomControls - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - strh r5, [r6, #0x2e] - ldrh r2, [r6, #0x2c] - cmp r5, r2 - beq _0805D5A4 - strh r5, [r6, #0x2c] - ldrh r0, [r6, #0x2e] - ldrb r1, [r6, #0xb] - bl GetTileType - adds r1, r0, #0 - ldr r3, _0805D570 @ =0x00000317 - cmp r1, r3 - beq _0805D574 - movs r0, #0xc6 - lsls r0, r0, #2 - cmp r1, r0 - beq _0805D580 - b _0805D5A4 - .align 2, 0 -_0805D568: .4byte gPlayerEntity -_0805D56C: .4byte gRoomControls -_0805D570: .4byte 0x00000317 -_0805D574: - movs r0, #2 - strb r0, [r6, #0xc] - movs r0, #0x6d - bl PlaySFX - b _0805D5A4 -_0805D580: - ldrh r1, [r6, #0x2e] - ldrb r2, [r6, #0xb] - adds r0, r3, #0 - bl sub_0807B7D8 - movs r0, #0x6b - bl PlaySFX - ldrb r0, [r6, #0xe] - subs r0, #1 - strb r0, [r6, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D5A4 - movs r0, #3 - strb r0, [r6, #0xc] - movs r0, #0x40 - strb r0, [r6, #0xe] -_0805D5A4: - ldrh r0, [r6, #0x3e] - cmp r0, #0 - beq _0805D628 - bl CheckFlags - cmp r0, #0 - beq _0805D628 - ldrh r0, [r6, #0x3e] - bl ClearFlag - movs r0, #1 - strb r0, [r6, #0xc] - ldrb r0, [r6, #0xf] - strb r0, [r6, #0xe] - movs r1, #0 - adds r0, r6, #0 - adds r0, #0x37 - mov sb, r0 - ldrb r5, [r0] - cmp r1, r5 - bhs _0805D628 - movs r0, #0x36 - adds r0, r0, r6 - mov r8, r0 -_0805D5D4: - lsls r0, r1, #6 - ldrh r2, [r6, #0x28] - adds r5, r0, r2 - movs r4, #0 - adds r7, r1, #1 - mov r0, r8 - ldrb r0, [r0] - cmp r4, r0 - bhs _0805D5F8 -_0805D5E6: - adds r0, r5, r4 - ldrb r1, [r6, #0xb] - bl sub_0807BA8C - adds r4, #1 - mov r1, r8 - ldrb r1, [r1] - cmp r4, r1 - blo _0805D5E6 -_0805D5F8: - adds r1, r7, #0 - mov r2, sb - ldrb r2, [r2] - cmp r1, r2 - blo _0805D5D4 - b _0805D628 -_0805D604: - ldrb r0, [r6, #0xe] - cmp r0, #0 - beq _0805D628 - subs r0, #1 - strb r0, [r6, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _0805D622 - cmp r0, #0x20 - bne _0805D628 - ldrh r0, [r6, #0x3c] - bl SetFlag - b _0805D628 -_0805D622: - movs r0, #0x72 - bl PlaySFX -_0805D628: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} diff --git a/include/functions.h b/include/functions.h index cd11f49e..c499fe02 100644 --- a/include/functions.h +++ b/include/functions.h @@ -32,6 +32,7 @@ extern u32 GetFacingDirection(Entity*, Entity*); extern Entity* CreatePlayerItem(u32, u32, u32, u32); extern Entity* GetEmptyEntity(void); extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer); +extern u32 GetTileType(u32 pos, u32 layer); extern void _DmaZero(void* src, u32 count); extern void EraseAllEntities(void); extern void SetTile(u32, u32, u32); diff --git a/linker.ld b/linker.ld index 962668bc..2407b66a 100644 --- a/linker.ld +++ b/linker.ld @@ -518,7 +518,7 @@ SECTIONS { src/manager/manager2E.o(.text); asm/manager2E.o(.text); asm/manager2F.o(.text); - asm/manager30.o(.text); + src/manager/manager30.o(.text); asm/manager31.o(.text); asm/manager32.o(.text); asm/manager33.o(.text); diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index 9a662526..1a9fc159 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -17,7 +17,6 @@ u32 sub_08020B6C(Entity*); extern void sub_080AE58C(); extern void sub_080AE7E8(); extern void sub_08078930(); -extern s32 GetTileType(s32 tilePosition, s32 layerIndex); void Rollobite(Entity* this) { EnemyFunctionHandler(this, gUnk_080CA66C); diff --git a/src/manager/manager30.c b/src/manager/manager30.c new file mode 100644 index 00000000..5f5ead82 --- /dev/null +++ b/src/manager/manager30.c @@ -0,0 +1,98 @@ +#include "global.h" +#include "manager.h" +#include "flags.h" +#include "functions.h" + +typedef struct Manager30 { + Manager manager; + u8 unk_20[8];//unused + u16 own_tile; + u8 unk_2a[0x2];//unused + u16 player_previous_tile; + u16 player_current_tile; + u8 unk_30[0x6];//unused + u8 width; + u8 height; + s16 x; + s16 y; + u16 flag_succeeded; + u16 flag_reset; +} Manager30; + +extern void sub_0807B7D8(u32, u32, u32); + +enum { + INIT, + IN_PROGRESS, + FAILED, + SUCCEEDED +}; + +/* + * Tile puzzles (step on all blue tiles exactly once). + * + * The Manager's field 0xe is used for the remaining number of tiles to be changed. + * field 0xf is used for the total number of tiles to be changed. +*/ +void Manager30_Main(Manager30* this) { + u32 i, j, tmp, tmp2; + switch (this->manager.action) { + default: + break; + case INIT: + this->manager.action = IN_PROGRESS; + this->manager.unk_0f = this->manager.unk_0e; + this->own_tile = (((this->x >> 4) & 0x3fU) | + ((this->y >> 4) & 0x3fU) << 6); + this->player_previous_tile = this->player_current_tile = COORD_TO_TILE((&gPlayerEntity)); + break; + case 1: + this->player_current_tile = COORD_TO_TILE((&gPlayerEntity)); + if (this->player_current_tile != this->player_previous_tile) { + this->player_previous_tile = this->player_current_tile; + switch (GetTileType(this->player_current_tile, this->manager.unk_0b)) { + case 0x317: + //stepped on a red tile again + this->manager.action = FAILED; + PlaySFX(0x6d); + break; + case 0x318: + //stepped on a blue tile + //turn the tile into a red tile + sub_0807B7D8(0x317, this->player_current_tile, this->manager.unk_0b); + PlaySFX(0x6b); + //decrease the number of remaining tiles and check if we're done + if (--this->manager.unk_0e == 0) { + this->manager.action = SUCCEEDED; + //set up delay for setting the flag/playing the success sfx + this->manager.unk_0e = 0x40; + } + break; + } + } + //fall through, can be reset in-progress + case FAILED: + if (!this->flag_reset) return;//can't be reset + if (!CheckFlags(this->flag_reset)) return;//wait for the flag telling it to reset + ClearFlag(this->flag_reset);//make sure the puzzle can be reset again later + this->manager.action = IN_PROGRESS; + this->manager.unk_0e = this->manager.unk_0f; + for (i = 0; i < this->height; i++) { + tmp = this->own_tile + (i << 6); + for (j = 0; j < this->width; j++) { + sub_0807BA8C(tmp + j, this->manager.unk_0b); + } + } + break; + case SUCCEEDED: + if (this->manager.unk_0e == 0) return; + tmp2 = --this->manager.unk_0e; + if (tmp2) { + if (tmp2 == 0x20) { + SetFlag(this->flag_succeeded); + } + } else { + PlaySFX(0x72); + } + } +} From a218aadd404b6b7a03749c4bc453d67f8ffcc4c6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 29 Aug 2020 10:01:48 -0500 Subject: [PATCH 039/105] Dump map headers --- asm/bigGoron.s | 8 +- asm/button.s | 4 +- asm/code_08000108.s | 12 +- asm/code_08019444.s | 4 +- asm/code_080526F8.s | 8 +- asm/code_08078778.s | 4 +- asm/code_0807B9B8.s | 64 +- asm/code_0807CC3C.s | 32 +- asm/gyorgFemale.s | 8 +- asm/itemOnGround.s | 8 +- asm/macros/map.inc | 28 +- asm/manager2.s | 8 +- asm/manager8.s | 6 +- asm/manager9.s | 4 +- data/data_081032DC.s | 2360 -------------------------- data/data_08107BC8.s | 137 ++ data/map_headers.s | 3601 ++++++++++++++++++++++++++++++++++++++++ data/tileset_headers.s | 2 + linker.ld | 9 +- 19 files changed, 3854 insertions(+), 2453 deletions(-) delete mode 100755 data/data_081032DC.s create mode 100755 data/data_08107BC8.s create mode 100755 data/map_headers.s diff --git a/asm/bigGoron.s b/asm/bigGoron.s index 293eb6a0..0377de66 100644 --- a/asm/bigGoron.s +++ b/asm/bigGoron.s @@ -91,7 +91,7 @@ sub_0806D0B0: @ 0x0806D0B0 movs r0, #0x30 bl LoadGfxGroup bl sub_0806D110 - ldr r5, _0806D0EC @ =gUnk_02002F00 + ldr r5, _0806D0EC @ =gMapDataTopSpecial movs r1, #0x80 lsls r1, r1, #6 adds r0, r5, #0 @@ -110,7 +110,7 @@ _0806D0DA: pop {r4, r5, pc} .align 2, 0 _0806D0E8: .4byte gUnk_0200B650 -_0806D0EC: .4byte gUnk_02002F00 +_0806D0EC: .4byte gMapDataTopSpecial _0806D0F0: .4byte gScreen _0806D0F4: .4byte 0x00001D47 @@ -131,7 +131,7 @@ _0806D10C: thumb_func_start sub_0806D110 sub_0806D110: @ 0x0806D110 push {r4, r5, lr} - ldr r4, _0806D134 @ =gUnk_02002F00 + ldr r4, _0806D134 @ =gMapDataTopSpecial movs r0, #0x80 lsls r0, r0, #7 adds r5, r4, r0 @@ -147,7 +147,7 @@ sub_0806D110: @ 0x0806D110 bl sub_0806D138 pop {r4, r5, pc} .align 2, 0 -_0806D134: .4byte gUnk_02002F00 +_0806D134: .4byte gMapDataTopSpecial thumb_func_start sub_0806D138 sub_0806D138: @ 0x0806D138 diff --git a/asm/button.s b/asm/button.s index 044a9d1a..dd80d20d 100644 --- a/asm/button.s +++ b/asm/button.s @@ -538,7 +538,7 @@ _08081E9A: ldr r2, _08081EF8 @ =gUnk_02019EE0 cmp r5, #2 bne _08081EB4 - ldr r2, _08081EFC @ =gUnk_02002F00 + ldr r2, _08081EFC @ =gMapDataTopSpecial _08081EB4: movs r0, #0x3f ands r0, r6 @@ -570,7 +570,7 @@ _08081EEC: .4byte 0x00003FFF _08081EF0: .4byte 0x00007004 _08081EF4: .4byte 0x00006004 _08081EF8: .4byte gUnk_02019EE0 -_08081EFC: .4byte gUnk_02002F00 +_08081EFC: .4byte gMapDataTopSpecial thumb_func_start sub_08081F00 sub_08081F00: @ 0x08081F00 diff --git a/asm/code_08000108.s b/asm/code_08000108.s index 04c7b12a..7fb9b84d 100644 --- a/asm/code_08000108.s +++ b/asm/code_08000108.s @@ -26,7 +26,7 @@ _08000126: ldr r0, [r0] cmp r0, #0 beq _08000136 - ldr r0, _080001FC @ =gUnk_02002F00 + ldr r0, _080001FC @ =gMapDataTopSpecial ldr r1, _08000200 @ =gUnk_020344F0 bl _call_via_r4 _08000136: @@ -126,7 +126,7 @@ _080001EC: .4byte gUnk_02025EB0 _080001F0: .4byte gUnk_02019EE0 _080001F4: .4byte gUnk_02021F70 _080001F8: .4byte gUnk_0200B650 -_080001FC: .4byte gUnk_02002F00 +_080001FC: .4byte gMapDataTopSpecial _08000200: .4byte gUnk_020344F0 _08000204: .4byte gUnk_08000248 _08000208: .4byte gUnk_08000228 @@ -138,14 +138,14 @@ _0800021C: .4byte gUnk_080B3E80 _08000220: .4byte gUnk_08000278 _08000224: .4byte gUnk_08000228 gUnk_08000228:: - .4byte gUnk_02025EB4 + .4byte gMapDataBottom gUnk_0800022C:: .4byte gMetatileTypesBottom - .4byte gUnk_02025EB4 + .4byte gMapDataBottom .4byte gMetatileTypesBottom - .4byte gUnk_0200B654 + .4byte gMapDataTop .4byte gMetatileTypesTop - .4byte gUnk_02025EB4 + .4byte gMapDataBottom .4byte gMetatileTypesBottom gUnk_08000248:: .4byte gUnk_02027EB4 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index d8877c00..a9a303c8 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -3508,7 +3508,7 @@ _0801AED0: ldr r0, [r1] cmp r0, #0 beq _0801AF10 - ldr r0, _0801AF08 @ =gUnk_02002F00 + ldr r0, _0801AF08 @ =gMapDataTopSpecial bl sub_0801AB08 b _0801AF10 .align 2, 0 @@ -3522,7 +3522,7 @@ _0801AEF8: .4byte 0x00000888 _0801AEFC: .4byte gUnk_02025EB0 _0801AF00: .4byte gUnk_02019EE0 _0801AF04: .4byte gUnk_0200B650 -_0801AF08: .4byte gUnk_02002F00 +_0801AF08: .4byte gMapDataTopSpecial _0801AF0C: bl sub_0807C4F8 _0801AF10: diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 4b1152ae..b7fb77fa 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -939,7 +939,7 @@ sub_08052E10: @ 0x08052E10 adds r0, r0, r1 ldr r0, [r0] str r0, [r5, #8] - ldr r0, _08052E78 @ =gUnk_08107988 + ldr r0, _08052E78 @ =gAreaRoomMaps adds r0, r2, r0 ldr r0, [r0] lsls r3, r3, #2 @@ -972,7 +972,7 @@ _08052E70: pop {r4, r5, pc} .align 2, 0 _08052E74: .4byte gAreaTilesets -_08052E78: .4byte gUnk_08107988 +_08052E78: .4byte gAreaRoomMaps _08052E7C: .4byte gAreaMetatiles _08052E80: .4byte gUnk_080B755C _08052E84: .4byte gUnk_0813A7F0 @@ -1204,7 +1204,7 @@ sub_08052FF4: @ 0x08052FF4 adds r0, r0, r1 ldr r0, [r0] str r0, [r5, #8] - ldr r0, _08053080 @ =gUnk_08107988 + ldr r0, _08053080 @ =gAreaRoomMaps adds r0, r6, r0 ldr r0, [r0] adds r2, r2, r0 @@ -1225,7 +1225,7 @@ _08053070: .4byte gScreen _08053074: .4byte gUnk_020342CC _08053078: .4byte gAreaRoomHeaders _0805307C: .4byte gAreaTilesets -_08053080: .4byte gUnk_08107988 +_08053080: .4byte gAreaRoomMaps _08053084: .4byte gAreaMetatiles _08053088: .4byte gUnk_080B755C diff --git a/asm/code_08078778.s b/asm/code_08078778.s index 475e152d..54e812c4 100644 --- a/asm/code_08078778.s +++ b/asm/code_08078778.s @@ -5774,7 +5774,7 @@ _0807B3BC: .4byte gUnk_080B37A0 _0807B3C0: .4byte gUnk_02019EE0 _0807B3C4: lsls r1, r1, #1 - ldr r0, _0807B400 @ =gUnk_02002F00 + ldr r0, _0807B400 @ =gMapDataTopSpecial _0807B3C8: adds r3, r1, r0 mov r1, ip @@ -5805,7 +5805,7 @@ _0807B3C8: strb r0, [r1] b _0807B430 .align 2, 0 -_0807B400: .4byte gUnk_02002F00 +_0807B400: .4byte gMapDataTopSpecial _0807B404: .4byte 0x00007004 _0807B408: .4byte gRoomControls _0807B40C: .4byte gUnk_02000070 diff --git a/asm/code_0807B9B8.s b/asm/code_0807B9B8.s index f9881427..6ab76607 100644 --- a/asm/code_0807B9B8.s +++ b/asm/code_0807B9B8.s @@ -70,7 +70,7 @@ _0807BA38: .4byte gRoomControls _0807BA3C: .4byte gUnk_02019EE0 _0807BA40: lsls r1, r1, #1 - ldr r0, _0807BA7C @ =gUnk_02002F00 + ldr r0, _0807BA7C @ =gMapDataTopSpecial _0807BA44: adds r3, r1, r0 lsls r0, r7, #3 @@ -101,7 +101,7 @@ _0807BA44: _0807BA78: pop {r4, r5, r6, r7, pc} .align 2, 0 -_0807BA7C: .4byte gUnk_02002F00 +_0807BA7C: .4byte gMapDataTopSpecial _0807BA80: .4byte 0x00007004 _0807BA84: .4byte gRoomControls _0807BA88: .4byte gUnk_02000070 @@ -172,7 +172,7 @@ _0807BB14: .4byte gRoomControls _0807BB18: .4byte gUnk_02019EE0 _0807BB1C: lsls r1, r1, #1 - ldr r0, _0807BB58 @ =gUnk_02002F00 + ldr r0, _0807BB58 @ =gMapDataTopSpecial _0807BB20: adds r3, r1, r0 lsls r0, r6, #3 @@ -203,7 +203,7 @@ _0807BB20: _0807BB54: pop {r4, r5, r6, r7, pc} .align 2, 0 -_0807BB58: .4byte gUnk_02002F00 +_0807BB58: .4byte gMapDataTopSpecial _0807BB5C: .4byte 0x00007004 _0807BB60: .4byte gRoomControls _0807BB64: .4byte gUnk_02000070 @@ -943,7 +943,7 @@ sub_0807C0DC: @ 0x0807C0DC movs r0, #0xfc ands r0, r1 strb r0, [r7, #0xf] - ldr r5, _0807C15C @ =gUnk_0200B654 + ldr r5, _0807C15C @ =gMapDataTop movs r6, #0x80 lsls r6, r6, #6 adds r0, r5, #0 @@ -958,7 +958,7 @@ sub_0807C0DC: @ 0x0807C0DC lsls r4, r4, #8 adds r1, r4, #0 bl _DmaZero - ldr r0, _0807C164 @ =gUnk_02002F00 + ldr r0, _0807C164 @ =gMapDataTopSpecial adds r1, r4, #0 bl _DmaZero ldr r0, _0807C168 @ =gArea @@ -989,9 +989,9 @@ sub_0807C0DC: @ 0x0807C0DC b _0807C184 .align 2, 0 _0807C158: .4byte gRoomControls -_0807C15C: .4byte gUnk_0200B654 +_0807C15C: .4byte gMapDataTop _0807C160: .4byte gUnk_02019EE0 -_0807C164: .4byte gUnk_02002F00 +_0807C164: .4byte gMapDataTopSpecial _0807C168: .4byte gArea _0807C16C: .4byte 0x0000085C _0807C170: .4byte gUnk_02025EB0 @@ -1008,7 +1008,7 @@ _0807C184: ldrb r0, [r0] cmp r0, #0 bne _0807C1BC - ldr r0, _0807C1B4 @ =gUnk_02025EB4 + ldr r0, _0807C1B4 @ =gMapDataBottom movs r2, #0xc0 lsls r2, r2, #6 adds r1, r0, r2 @@ -1016,7 +1016,7 @@ _0807C184: lsls r4, r4, #6 adds r2, r4, #0 bl _DmaCopy - ldr r0, _0807C1B8 @ =gUnk_0200B654 + ldr r0, _0807C1B8 @ =gMapDataTop movs r3, #0xc0 lsls r3, r3, #6 adds r1, r0, r3 @@ -1025,12 +1025,12 @@ _0807C184: b _0807C26C .align 2, 0 _0807C1B0: .4byte gScreenTransition -_0807C1B4: .4byte gUnk_02025EB4 -_0807C1B8: .4byte gUnk_0200B654 +_0807C1B4: .4byte gMapDataBottom +_0807C1B8: .4byte gMapDataTop _0807C1BC: cmp r0, #2 bne _0807C26C - ldr r4, _0807C278 @ =gUnk_02025EB4 + ldr r4, _0807C278 @ =gMapDataBottom movs r0, #0xb0 lsls r0, r0, #8 adds r0, r0, r4 @@ -1068,7 +1068,7 @@ _0807C1BC: adds r1, r4, #0 adds r2, r5, #0 bl _DmaCopy - ldr r4, _0807C27C @ =gUnk_0200B654 + ldr r4, _0807C27C @ =gMapDataTop movs r3, #0xb0 lsls r3, r3, #8 adds r3, r3, r4 @@ -1111,8 +1111,8 @@ _0807C26C: bl sub_0807BBE4 b _0807C2A0 .align 2, 0 -_0807C278: .4byte gUnk_02025EB4 -_0807C27C: .4byte gUnk_0200B654 +_0807C278: .4byte gMapDataBottom +_0807C27C: .4byte gMapDataTop _0807C280: ldr r0, _0807C2CC @ =gUnk_02027EB4 ldrh r1, [r7, #0x1e] @@ -1141,7 +1141,7 @@ _0807C2A0: ldr r0, _0807C2DC @ =gUnk_02019EE0 adds r1, r4, #0 bl sub_0801AB08 - ldr r0, _0807C2E0 @ =gUnk_02002F00 + ldr r0, _0807C2E0 @ =gMapDataTopSpecial adds r1, r5, #0 bl sub_0801AB08 b _0807C326 @@ -1151,7 +1151,7 @@ _0807C2D0: .4byte gUnk_0200D654 _0807C2D4: .4byte gUnk_02025EB0 _0807C2D8: .4byte gUnk_0200B650 _0807C2DC: .4byte gUnk_02019EE0 -_0807C2E0: .4byte gUnk_02002F00 +_0807C2E0: .4byte gMapDataTopSpecial _0807C2E4: ldr r4, _0807C34C @ =gUnk_02019EE0 movs r0, #0x80 @@ -1168,7 +1168,7 @@ _0807C2E4: adds r0, r5, #0 adds r1, r6, #0 bl _DmaZero - ldr r4, _0807C350 @ =gUnk_02002F00 + ldr r4, _0807C350 @ =gMapDataTopSpecial adds r5, r4, r6 adds r0, r4, #0 adds r1, r5, #0 @@ -1204,7 +1204,7 @@ _0807C33A: mov pc, r0 .align 2, 0 _0807C34C: .4byte gUnk_02019EE0 -_0807C350: .4byte gUnk_02002F00 +_0807C350: .4byte gMapDataTopSpecial _0807C354: .4byte _0807C358 _0807C358: @ jump table .4byte _0807C3BC @ case 0 @@ -1323,8 +1323,8 @@ sub_0807C460: @ 0x0807C460 mov r5, r8 push {r5, r6, r7} sub sp, #8 - ldr r7, _0807C4E8 @ =gUnk_02025EB4 - ldr r6, _0807C4EC @ =gUnk_0200B654 + ldr r7, _0807C4E8 @ =gMapDataBottom + ldr r6, _0807C4EC @ =gMapDataTop ldr r0, _0807C4F0 @ =gRoomControls ldrh r1, [r0, #0x1e] lsrs r3, r1, #4 @@ -1390,8 +1390,8 @@ _0807C4DC: mov sl, r5 pop {r4, r5, r6, r7, pc} .align 2, 0 -_0807C4E8: .4byte gUnk_02025EB4 -_0807C4EC: .4byte gUnk_0200B654 +_0807C4E8: .4byte gMapDataBottom +_0807C4EC: .4byte gMapDataTop _0807C4F0: .4byte gRoomControls _0807C4F4: .4byte 0x00003FFF @@ -1407,7 +1407,7 @@ sub_0807C4F8: @ 0x0807C4F8 lsls r4, r4, #8 adds r1, r4, #0 bl _DmaZero - ldr r0, _0807C59C @ =gUnk_02002F00 + ldr r0, _0807C59C @ =gMapDataTopSpecial adds r1, r4, #0 bl _DmaZero ldr r5, _0807C5A0 @ =gUnk_02022830 @@ -1423,7 +1423,7 @@ _0807C524: ldr r0, _0807C598 @ =gUnk_02019EE0 cmp r1, r0 beq _0807C534 - ldr r0, _0807C59C @ =gUnk_02002F00 + ldr r0, _0807C59C @ =gMapDataTopSpecial cmp r1, r0 bne _0807C54A _0807C534: @@ -1456,7 +1456,7 @@ _0807C54A: adds r0, r5, #0 adds r1, r6, #0 bl _DmaZero - ldr r4, _0807C59C @ =gUnk_02002F00 + ldr r4, _0807C59C @ =gMapDataTopSpecial adds r5, r4, r6 adds r0, r4, #0 adds r1, r5, #0 @@ -1473,7 +1473,7 @@ _0807C592: .align 2, 0 _0807C594: .4byte gRoomControls _0807C598: .4byte gUnk_02019EE0 -_0807C59C: .4byte gUnk_02002F00 +_0807C59C: .4byte gMapDataTopSpecial _0807C5A0: .4byte gUnk_02022830 _0807C5A4: .4byte gArea _0807C5A8: .4byte 0x0000085C @@ -1863,7 +1863,7 @@ sub_0807C860: @ 0x0807C860 adds r0, #0x2d movs r1, #1 strb r1, [r0] - ldr r0, _0807C890 @ =gUnk_02025EB4 + ldr r0, _0807C890 @ =gMapDataBottom movs r2, #0xc0 lsls r2, r2, #6 adds r1, r0, r2 @@ -1871,7 +1871,7 @@ sub_0807C860: @ 0x0807C860 lsls r4, r4, #6 adds r2, r4, #0 bl _DmaCopy - ldr r0, _0807C894 @ =gUnk_0200B654 + ldr r0, _0807C894 @ =gMapDataTop movs r2, #0xc0 lsls r2, r2, #6 adds r1, r0, r2 @@ -1880,8 +1880,8 @@ sub_0807C860: @ 0x0807C860 pop {r4, pc} .align 2, 0 _0807C88C: .4byte gScreenTransition -_0807C890: .4byte gUnk_02025EB4 -_0807C894: .4byte gUnk_0200B654 +_0807C890: .4byte gMapDataBottom +_0807C894: .4byte gMapDataTop thumb_func_start sub_0807C898 sub_0807C898: @ 0x0807C898 diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index e953f3ee..48053ae7 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -6843,14 +6843,14 @@ sub_0807FFE4: @ 0x0807FFE4 ldr r0, [r0] ldr r0, [r0] bl sub_080197D4 - ldr r4, _08080038 @ =gUnk_0200B654 + ldr r4, _08080038 @ =gMapDataTop ldrh r1, [r5, #0x1e] lsrs r1, r1, #4 ldrh r2, [r5, #0x20] lsrs r2, r2, #4 adds r0, r4, #0 bl sub_0807C8B0 - ldr r0, _0808003C @ =gUnk_02002F00 + ldr r0, _0808003C @ =gMapDataTopSpecial subs r4, #4 adds r1, r4, #0 bl sub_0801AB08 @@ -6859,8 +6859,8 @@ sub_0807FFE4: @ 0x0807FFE4 _0808002C: .4byte gUnk_0200B640 _08080030: .4byte gUnk_08109194 _08080034: .4byte gUnk_03004030 -_08080038: .4byte gUnk_0200B654 -_0808003C: .4byte gUnk_02002F00 +_08080038: .4byte gMapDataTop +_0808003C: .4byte gMapDataTopSpecial thumb_func_start sub_08080040 sub_08080040: @ 0x08080040 @@ -6970,7 +6970,7 @@ sub_08080108: @ 0x08080108 push {r4, r5, r6, lr} movs r1, #4 strb r1, [r0, #3] - ldr r5, _08080178 @ =gUnk_02025EB4 + ldr r5, _08080178 @ =gMapDataBottom movs r0, #0xc0 lsls r0, r0, #6 adds r1, r5, r0 @@ -6979,7 +6979,7 @@ sub_08080108: @ 0x08080108 adds r0, r5, #0 adds r2, r6, #0 bl _DmaCopy - ldr r4, _0808017C @ =gUnk_0200B654 + ldr r4, _0808017C @ =gMapDataTop movs r0, #0xc0 lsls r0, r0, #6 adds r1, r4, r0 @@ -7008,19 +7008,19 @@ sub_08080108: @ 0x08080108 ldr r0, _08080190 @ =gUnk_02019EE0 adds r1, r5, #0 bl sub_0801AB08 - ldr r0, _08080194 @ =gUnk_02002F00 + ldr r0, _08080194 @ =gMapDataTopSpecial adds r1, r4, #0 bl sub_0801AB08 pop {r4, r5, r6, pc} .align 2, 0 -_08080178: .4byte gUnk_02025EB4 -_0808017C: .4byte gUnk_0200B654 +_08080178: .4byte gMapDataBottom +_0808017C: .4byte gMapDataTop _08080180: .4byte gUnk_02034480 _08080184: .4byte gUnk_0200B640 _08080188: .4byte gUnk_02022830 _0808018C: .4byte gUnk_020246B0 _08080190: .4byte gUnk_02019EE0 -_08080194: .4byte gUnk_02002F00 +_08080194: .4byte gMapDataTopSpecial thumb_func_start sub_08080198 sub_08080198: @ 0x08080198 @@ -7169,11 +7169,11 @@ _080802A2: ldr r0, [sp] cmp r8, r0 bhs _08080328 - ldr r4, _0808034C @ =gUnk_0200B654 + ldr r4, _0808034C @ =gMapDataTop add r4, sb ldr r7, _08080350 @ =gUnk_0200E654 add r7, sb - ldr r3, _08080354 @ =gUnk_02025EB4 + ldr r3, _08080354 @ =gMapDataBottom add r3, sb ldr r6, _08080358 @ =gUnk_02028EB4 add r6, sb @@ -7253,9 +7253,9 @@ _08080336: .align 2, 0 _08080344: .4byte gUnk_02022830 _08080348: .4byte gRoomControls -_0808034C: .4byte gUnk_0200B654 +_0808034C: .4byte gMapDataTop _08080350: .4byte gUnk_0200E654 -_08080354: .4byte gUnk_02025EB4 +_08080354: .4byte gMapDataBottom _08080358: .4byte gUnk_02028EB4 _0808035C: .4byte 0x00003FFF _08080360: .4byte 0x000005FF @@ -7673,7 +7673,7 @@ sub_08080668: @ 0x08080668 lsls r4, r4, #8 adds r1, r4, #0 bl _DmaZero - ldr r0, _080806B8 @ =gUnk_02002F00 + ldr r0, _080806B8 @ =gMapDataTopSpecial adds r1, r4, #0 bl _DmaZero pop {r4, r5, pc} @@ -7683,7 +7683,7 @@ _080806A8: .4byte gUnk_03004030 _080806AC: .4byte 0x0000FFFF _080806B0: .4byte gUnk_02034480 _080806B4: .4byte gUnk_02019EE0 -_080806B8: .4byte gUnk_02002F00 +_080806B8: .4byte gMapDataTopSpecial thumb_func_start sub_080806BC sub_080806BC: @ 0x080806BC diff --git a/asm/gyorgFemale.s b/asm/gyorgFemale.s index f0fd69cb..96d884d9 100644 --- a/asm/gyorgFemale.s +++ b/asm/gyorgFemale.s @@ -113,7 +113,7 @@ sub_0804614C: @ 0x0804614C lsls r4, r4, #8 adds r1, r4, #0 bl _DmaZero - ldr r0, _08046250 @ =gUnk_02002F00 + ldr r0, _08046250 @ =gMapDataTopSpecial adds r1, r4, #0 bl _DmaZero adds r0, r6, #0 @@ -135,7 +135,7 @@ _08046244: .align 2, 0 _08046248: .4byte gEntCount _0804624C: .4byte gUnk_02019EE0 -_08046250: .4byte gUnk_02002F00 +_08046250: .4byte gMapDataTopSpecial _08046254: .4byte gPlayerEntity _08046258: .4byte sub_08046498 @@ -446,7 +446,7 @@ sub_08046498: @ 0x08046498 lsls r4, r4, #8 adds r1, r4, #0 bl _DmaZero - ldr r0, _080464BC @ =gUnk_02002F00 + ldr r0, _080464BC @ =gMapDataTopSpecial adds r1, r4, #0 bl _DmaZero adds r0, r5, #0 @@ -454,7 +454,7 @@ sub_08046498: @ 0x08046498 pop {r4, r5, pc} .align 2, 0 _080464B8: .4byte gUnk_02019EE0 -_080464BC: .4byte gUnk_02002F00 +_080464BC: .4byte gMapDataTopSpecial thumb_func_start sub_080464C0 sub_080464C0: @ 0x080464C0 diff --git a/asm/itemOnGround.s b/asm/itemOnGround.s index e42f4bf9..19b8d65f 100644 --- a/asm/itemOnGround.s +++ b/asm/itemOnGround.s @@ -395,14 +395,14 @@ _08080C7C: .4byte gUnk_0200B650 sub_08080C80: @ 0x08080C80 push {r4, lr} bl sub_080197D4 - ldr r0, _08080CA8 @ =gUnk_02025EB4 + ldr r0, _08080CA8 @ =gMapDataBottom ldr r4, _08080CAC @ =gRoomControls ldrh r1, [r4, #0x1e] lsrs r1, r1, #4 ldrh r2, [r4, #0x20] lsrs r2, r2, #4 bl sub_0807C8B0 - ldr r0, _08080CB0 @ =gUnk_0200B654 + ldr r0, _08080CB0 @ =gMapDataTop ldrh r1, [r4, #0x1e] lsrs r1, r1, #4 ldrh r2, [r4, #0x20] @@ -410,9 +410,9 @@ sub_08080C80: @ 0x08080C80 bl sub_0807C8B0 pop {r4, pc} .align 2, 0 -_08080CA8: .4byte gUnk_02025EB4 +_08080CA8: .4byte gMapDataBottom _08080CAC: .4byte gRoomControls -_08080CB0: .4byte gUnk_0200B654 +_08080CB0: .4byte gMapDataTop thumb_func_start sub_08080CB4 sub_08080CB4: @ 0x08080CB4 diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 755413c0..0716c838 100755 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -26,19 +26,39 @@ .endm .macro metatiles_bottom src_offset, size, compressed, terminator=0 - map_data \src_offset, 0x0202CEB4, \size, \compressed, \terminator + map_data \src_offset, gMetatilesBottom, \size, \compressed, \terminator .endm .macro metatiles_top src_offset, size, compressed, terminator=0 - map_data \src_offset, 0x02012654, \size, \compressed, \terminator + map_data \src_offset, gMetatilesTop, \size, \compressed, \terminator .endm .macro metatile_types_bottom src_offset, size, compressed, terminator=0 - map_data \src_offset, 0x0202AEB4, \size, \compressed, \terminator + map_data \src_offset, gMetatileTypesBottom, \size, \compressed, \terminator .endm .macro metatile_types_top src_offset, size, compressed, terminator=0 - map_data \src_offset, 0x02010654, \size, \compressed, \terminator + map_data \src_offset, gMetatileTypesTop, \size, \compressed, \terminator + .endm + + .macro map_bottom src_offset, size, compressed, terminator=0 + map_data \src_offset, gMapDataBottom, \size, \compressed, \terminator + .endm + + .macro map_top src_offset, size, compressed, terminator=0 + map_data \src_offset, gMapDataTop, \size, \compressed, \terminator + .endm + + .macro map_top_special src_offset, size, compressed, terminator=0 + map_data \src_offset, gMapDataTopSpecial, \size, \compressed, \terminator + .endm + + .macro map_unknown src_offset, size, compressed, terminator=0 + map_data \src_offset, gUnk_02027EB4, \size, \compressed, \terminator + .endm + + .macro map_unknown_2 src_offset, size, compressed, terminator=0 + map_data \src_offset, gUnk_02019EE0, \size, \compressed, \terminator .endm .endif @ GUARD_ASM_MACROS_MAP_INC diff --git a/asm/manager2.s b/asm/manager2.s index ca617098..a1ffd36e 100644 --- a/asm/manager2.s +++ b/asm/manager2.s @@ -29,7 +29,7 @@ sub_0805754C: @ 0x0805754C _08057570: asrs r0, r0, #6 lsls r0, r0, #9 - ldr r5, _080575C4 @ =gUnk_02002F00 + ldr r5, _080575C4 @ =gMapDataTopSpecial adds r1, r0, r5 str r1, [r4, #0x34] ldr r0, [r2, #0x38] @@ -71,7 +71,7 @@ _080575BA: .align 2, 0 _080575BC: .4byte gRoomControls _080575C0: .4byte gScreen -_080575C4: .4byte gUnk_02002F00 +_080575C4: .4byte gMapDataTopSpecial thumb_func_start sub_080575C8 sub_080575C8: @ 0x080575C8 @@ -107,7 +107,7 @@ sub_080575C8: @ 0x080575C8 _08057604: asrs r0, r0, #6 lsls r0, r0, #9 - ldr r4, _08057674 @ =gUnk_02002F00 + ldr r4, _08057674 @ =gMapDataTopSpecial adds r0, r0, r4 str r0, [r2, #0x34] ldr r0, _08057678 @ =0x00001D49 @@ -158,7 +158,7 @@ _08057664: .4byte gUnk_0200B650 _08057668: .4byte gRoomVars _0805766C: .4byte gRoomControls _08057670: .4byte gScreen -_08057674: .4byte gUnk_02002F00 +_08057674: .4byte gMapDataTopSpecial _08057678: .4byte 0x00001D49 _0805767C: .4byte 0x00001E49 _08057680: .4byte 0x00003C48 diff --git a/asm/manager8.s b/asm/manager8.s index 4cee9e01..92809da7 100644 --- a/asm/manager8.s +++ b/asm/manager8.s @@ -188,7 +188,7 @@ _08058030: .4byte 0x80000020 thumb_func_start sub_08058034 sub_08058034: @ 0x08058034 push {r4, r5, r6, lr} - ldr r6, _08058080 @ =gUnk_02002F00 + ldr r6, _08058080 @ =gMapDataTopSpecial movs r0, #0x80 lsls r0, r0, #7 adds r5, r6, r0 @@ -204,7 +204,7 @@ _08058040: adds r4, #1 cmp r4, #3 bls _08058040 - ldr r0, _08058080 @ =gUnk_02002F00 + ldr r0, _08058080 @ =gMapDataTopSpecial movs r1, #0x80 lsls r1, r1, #6 adds r6, r0, r1 @@ -225,7 +225,7 @@ _08058066: bls _08058066 pop {r4, r5, r6, pc} .align 2, 0 -_08058080: .4byte gUnk_02002F00 +_08058080: .4byte gMapDataTopSpecial thumb_func_start sub_08058084 sub_08058084: @ 0x08058084 diff --git a/asm/manager9.s b/asm/manager9.s index 2b7bd3c1..1f9385b4 100644 --- a/asm/manager9.s +++ b/asm/manager9.s @@ -134,7 +134,7 @@ _080582CC: .4byte 0x80000020 thumb_func_start sub_080582D0 sub_080582D0: @ 0x080582D0 push {r4, r5, lr} - ldr r4, _080582F4 @ =gUnk_02002F00 + ldr r4, _080582F4 @ =gMapDataTopSpecial movs r0, #0x80 lsls r0, r0, #7 adds r5, r4, r0 @@ -150,7 +150,7 @@ sub_080582D0: @ 0x080582D0 bl sub_080582F8 pop {r4, r5, pc} .align 2, 0 -_080582F4: .4byte gUnk_02002F00 +_080582F4: .4byte gMapDataTopSpecial thumb_func_start sub_080582F8 sub_080582F8: @ 0x080582F8 diff --git a/data/data_081032DC.s b/data/data_081032DC.s deleted file mode 100755 index ee81b361..00000000 --- a/data/data_081032DC.s +++ /dev/null @@ -1,2360 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_081032DC:: @ 081032DC - .incbin "baserom.gba", 0x1032DC, 0x0000018 - -gUnk_081032F4:: @ 081032F4 - .incbin "baserom.gba", 0x1032F4, 0x0000004 - -gUnk_081032F8:: @ 081032F8 - .incbin "baserom.gba", 0x1032F8, 0x0000018 - -gUnk_08103310:: @ 08103310 - .incbin "baserom.gba", 0x103310, 0x0000018 - -gUnk_08103328:: @ 08103328 - .incbin "baserom.gba", 0x103328, 0x0000008 - -gUnk_08103330:: @ 08103330 - .incbin "baserom.gba", 0x103330, 0x0000018 - -gUnk_08103348:: @ 08103348 - .incbin "baserom.gba", 0x103348, 0x0000004 - -gUnk_0810334C:: @ 0810334C - .incbin "baserom.gba", 0x10334C, 0x0000018 - -gUnk_08103364:: @ 08103364 - .incbin "baserom.gba", 0x103364, 0x0000016 - -gUnk_0810337A:: @ 0810337A - .incbin "baserom.gba", 0x10337A, 0x0000002 - -gUnk_0810337C:: @ 0810337C - .incbin "baserom.gba", 0x10337C, 0x0000018 - -gUnk_08103394:: @ 08103394 - .incbin "baserom.gba", 0x103394, 0x0000018 - -gUnk_081033AC:: @ 081033AC - .incbin "baserom.gba", 0x1033AC, 0x0000018 - -gUnk_081033C4:: @ 081033C4 - .incbin "baserom.gba", 0x1033C4, 0x0000018 - -gUnk_081033DC:: @ 081033DC - .incbin "baserom.gba", 0x1033DC, 0x0000018 - -gUnk_081033F4:: @ 081033F4 - .incbin "baserom.gba", 0x1033F4, 0x0000018 - -gUnk_0810340C:: @ 0810340C - .incbin "baserom.gba", 0x10340C, 0x0000004 - -gUnk_08103410:: @ 08103410 - .incbin "baserom.gba", 0x103410, 0x0000018 - -gUnk_08103428:: @ 08103428 - .incbin "baserom.gba", 0x103428, 0x0000004 - -gUnk_0810342C:: @ 0810342C - .incbin "baserom.gba", 0x10342C, 0x0000017 - -gUnk_08103443:: @ 08103443 - .incbin "baserom.gba", 0x103443, 0x0000001 - -gUnk_08103444:: @ 08103444 - .incbin "baserom.gba", 0x103444, 0x0000018 - -gUnk_0810345C:: @ 0810345C - .incbin "baserom.gba", 0x10345C, 0x0000018 - -gUnk_08103474:: @ 08103474 - .incbin "baserom.gba", 0x103474, 0x0000018 - -gUnk_0810348C:: @ 0810348C - .incbin "baserom.gba", 0x10348C, 0x0000018 - -gUnk_081034A4:: @ 081034A4 - .incbin "baserom.gba", 0x1034A4, 0x0000014 - -gUnk_081034B8:: @ 081034B8 - .incbin "baserom.gba", 0x1034B8, 0x0000018 - -gUnk_081034D0:: @ 081034D0 - .incbin "baserom.gba", 0x1034D0, 0x000003C - -gUnk_0810350C:: @ 0810350C - .incbin "baserom.gba", 0x10350C, 0x0000018 - -gUnk_08103524:: @ 08103524 - .incbin "baserom.gba", 0x103524, 0x0000031 - -gUnk_08103555:: @ 08103555 - .incbin "baserom.gba", 0x103555, 0x000000B - -gUnk_08103560:: @ 08103560 - .incbin "baserom.gba", 0x103560, 0x000003C - -gUnk_0810359C:: @ 0810359C - .incbin "baserom.gba", 0x10359C, 0x000003C - -gUnk_081035D8:: @ 081035D8 - .incbin "baserom.gba", 0x1035D8, 0x000003C - -gUnk_08103614:: @ 08103614 - .incbin "baserom.gba", 0x103614, 0x000003C - -gUnk_08103650:: @ 08103650 - .incbin "baserom.gba", 0x103650, 0x0000018 - -gUnk_08103668:: @ 08103668 - .incbin "baserom.gba", 0x103668, 0x0000018 - -gUnk_08103680:: @ 08103680 - .incbin "baserom.gba", 0x103680, 0x0000028 - -gUnk_081036A8:: @ 081036A8 - .incbin "baserom.gba", 0x1036A8, 0x0000018 - -gUnk_081036C0:: @ 081036C0 - .incbin "baserom.gba", 0x1036C0, 0x0000004 - -gUnk_081036C4:: @ 081036C4 - .incbin "baserom.gba", 0x1036C4, 0x0000018 - -gUnk_081036DC:: @ 081036DC - .incbin "baserom.gba", 0x1036DC, 0x0000018 - -gUnk_081036F4:: @ 081036F4 - .incbin "baserom.gba", 0x1036F4, 0x0000018 - -gUnk_0810370C:: @ 0810370C - .incbin "baserom.gba", 0x10370C, 0x000000C - -gUnk_08103718:: @ 08103718 - .incbin "baserom.gba", 0x103718, 0x0000018 - -gUnk_08103730:: @ 08103730 - .incbin "baserom.gba", 0x103730, 0x0000003 - -gUnk_08103733:: @ 08103733 - .incbin "baserom.gba", 0x103733, 0x0000015 - -gUnk_08103748:: @ 08103748 - .incbin "baserom.gba", 0x103748, 0x0000008 - -gUnk_08103750:: @ 08103750 - .incbin "baserom.gba", 0x103750, 0x0000015 - -gUnk_08103765:: @ 08103765 - .incbin "baserom.gba", 0x103765, 0x0000003 - -gUnk_08103768:: @ 08103768 - .incbin "baserom.gba", 0x103768, 0x0000004 - -gUnk_0810376C:: @ 0810376C - .incbin "baserom.gba", 0x10376C, 0x0000018 - -gUnk_08103784:: @ 08103784 - .incbin "baserom.gba", 0x103784, 0x0000004 - -gUnk_08103788:: @ 08103788 - .incbin "baserom.gba", 0x103788, 0x000000C - -gUnk_08103794:: @ 08103794 - .incbin "baserom.gba", 0x103794, 0x000000C - -gUnk_081037A0:: @ 081037A0 - .incbin "baserom.gba", 0x1037A0, 0x000000C - -gUnk_081037AC:: @ 081037AC - .incbin "baserom.gba", 0x1037AC, 0x000000C - -gUnk_081037B8:: @ 081037B8 - .incbin "baserom.gba", 0x1037B8, 0x000000C - -gUnk_081037C4:: @ 081037C4 - .incbin "baserom.gba", 0x1037C4, 0x0000018 - -gUnk_081037DC:: @ 081037DC - .incbin "baserom.gba", 0x1037DC, 0x0000080 - -gUnk_0810385C:: @ 0810385C - .incbin "baserom.gba", 0x10385C, 0x0000018 - -gUnk_08103874:: @ 08103874 - .incbin "baserom.gba", 0x103874, 0x0000018 - -gUnk_0810388C:: @ 0810388C - .incbin "baserom.gba", 0x10388C, 0x0000018 - -gUnk_081038A4:: @ 081038A4 - .incbin "baserom.gba", 0x1038A4, 0x0000018 - -gUnk_081038BC:: @ 081038BC - .incbin "baserom.gba", 0x1038BC, 0x0000018 - -gUnk_081038D4:: @ 081038D4 - .incbin "baserom.gba", 0x1038D4, 0x0000018 - -gUnk_081038EC:: @ 081038EC - .incbin "baserom.gba", 0x1038EC, 0x0000018 - -gUnk_08103904:: @ 08103904 - .incbin "baserom.gba", 0x103904, 0x000000C - -gUnk_08103910:: @ 08103910 - .incbin "baserom.gba", 0x103910, 0x000000C - -gUnk_0810391C:: @ 0810391C - .incbin "baserom.gba", 0x10391C, 0x0000018 - -gUnk_08103934:: @ 08103934 - .incbin "baserom.gba", 0x103934, 0x0000018 - -gUnk_0810394C:: @ 0810394C - .incbin "baserom.gba", 0x10394C, 0x0000018 - -gUnk_08103964:: @ 08103964 - .incbin "baserom.gba", 0x103964, 0x0000018 - -gUnk_0810397C:: @ 0810397C - .incbin "baserom.gba", 0x10397C, 0x0000018 - -gUnk_08103994:: @ 08103994 - .incbin "baserom.gba", 0x103994, 0x0000018 - -gUnk_081039AC:: @ 081039AC - .incbin "baserom.gba", 0x1039AC, 0x0000018 - -gUnk_081039C4:: @ 081039C4 - .incbin "baserom.gba", 0x1039C4, 0x0000018 - -gUnk_081039DC:: @ 081039DC - .incbin "baserom.gba", 0x1039DC, 0x0000018 - -gUnk_081039F4:: @ 081039F4 - .incbin "baserom.gba", 0x1039F4, 0x000000C - -gUnk_08103A00:: @ 08103A00 - .incbin "baserom.gba", 0x103A00, 0x0000010 - -gUnk_08103A10:: @ 08103A10 - .incbin "baserom.gba", 0x103A10, 0x0000028 - -gUnk_08103A38:: @ 08103A38 - .incbin "baserom.gba", 0x103A38, 0x0000018 - -gUnk_08103A50:: @ 08103A50 - .incbin "baserom.gba", 0x103A50, 0x0000018 - -gUnk_08103A68:: @ 08103A68 - .incbin "baserom.gba", 0x103A68, 0x0000018 - -gUnk_08103A80:: @ 08103A80 - .incbin "baserom.gba", 0x103A80, 0x0000020 - -gUnk_08103AA0:: @ 08103AA0 - .incbin "baserom.gba", 0x103AA0, 0x0000018 - -gUnk_08103AB8:: @ 08103AB8 - .incbin "baserom.gba", 0x103AB8, 0x0000004 - -gUnk_08103ABC:: @ 08103ABC - .incbin "baserom.gba", 0x103ABC, 0x0000018 - -gUnk_08103AD4:: @ 08103AD4 - .incbin "baserom.gba", 0x103AD4, 0x0000004 - -gUnk_08103AD8:: @ 08103AD8 - .incbin "baserom.gba", 0x103AD8, 0x0000018 - -gUnk_08103AF0:: @ 08103AF0 - .incbin "baserom.gba", 0x103AF0, 0x0000018 - -gUnk_08103B08:: @ 08103B08 - .incbin "baserom.gba", 0x103B08, 0x0000008 - -gUnk_08103B10:: @ 08103B10 - .incbin "baserom.gba", 0x103B10, 0x0000008 - -gUnk_08103B18:: @ 08103B18 - .incbin "baserom.gba", 0x103B18, 0x0000018 - -gUnk_08103B30:: @ 08103B30 - .incbin "baserom.gba", 0x103B30, 0x0000004 - -gUnk_08103B34:: @ 08103B34 - .incbin "baserom.gba", 0x103B34, 0x0000018 - -gUnk_08103B4C:: @ 08103B4C - .incbin "baserom.gba", 0x103B4C, 0x0000004 - -gUnk_08103B50:: @ 08103B50 - .incbin "baserom.gba", 0x103B50, 0x0000018 - -gUnk_08103B68:: @ 08103B68 - .incbin "baserom.gba", 0x103B68, 0x0000004 - -gUnk_08103B6C:: @ 08103B6C - .incbin "baserom.gba", 0x103B6C, 0x0000018 - -gUnk_08103B84:: @ 08103B84 - .incbin "baserom.gba", 0x103B84, 0x0000018 - -gUnk_08103B9C:: @ 08103B9C - .incbin "baserom.gba", 0x103B9C, 0x0000018 - -gUnk_08103BB4:: @ 08103BB4 - .incbin "baserom.gba", 0x103BB4, 0x0000018 - -gUnk_08103BCC:: @ 08103BCC - .incbin "baserom.gba", 0x103BCC, 0x0000018 - -gUnk_08103BE4:: @ 08103BE4 - .incbin "baserom.gba", 0x103BE4, 0x0000014 - -gUnk_08103BF8:: @ 08103BF8 - .incbin "baserom.gba", 0x103BF8, 0x0000009 - -gUnk_08103C01:: @ 08103C01 - .incbin "baserom.gba", 0x103C01, 0x000000F - -gUnk_08103C10:: @ 08103C10 - .incbin "baserom.gba", 0x103C10, 0x0000018 - -gUnk_08103C28:: @ 08103C28 - .incbin "baserom.gba", 0x103C28, 0x0000008 - -gUnk_08103C30:: @ 08103C30 - .incbin "baserom.gba", 0x103C30, 0x0000018 - -gUnk_08103C48:: @ 08103C48 - .incbin "baserom.gba", 0x103C48, 0x0000008 - -gUnk_08103C50:: @ 08103C50 - .incbin "baserom.gba", 0x103C50, 0x0000018 - -gUnk_08103C68:: @ 08103C68 - .incbin "baserom.gba", 0x103C68, 0x0000018 - -gUnk_08103C80:: @ 08103C80 - .incbin "baserom.gba", 0x103C80, 0x0000008 - -gUnk_08103C88:: @ 08103C88 - .incbin "baserom.gba", 0x103C88, 0x0000018 - -gUnk_08103CA0:: @ 08103CA0 - .incbin "baserom.gba", 0x103CA0, 0x0000004 - -gUnk_08103CA4:: @ 08103CA4 - .incbin "baserom.gba", 0x103CA4, 0x000000C - -gUnk_08103CB0:: @ 08103CB0 - .incbin "baserom.gba", 0x103CB0, 0x000000C - -gUnk_08103CBC:: @ 08103CBC - .incbin "baserom.gba", 0x103CBC, 0x000000C - -gUnk_08103CC8:: @ 08103CC8 - .incbin "baserom.gba", 0x103CC8, 0x000000C - -gUnk_08103CD4:: @ 08103CD4 - .incbin "baserom.gba", 0x103CD4, 0x000000C - -gUnk_08103CE0:: @ 08103CE0 - .incbin "baserom.gba", 0x103CE0, 0x0000014 - -gUnk_08103CF4:: @ 08103CF4 - .incbin "baserom.gba", 0x103CF4, 0x000000C - -gUnk_08103D00:: @ 08103D00 - .incbin "baserom.gba", 0x103D00, 0x000000C - -gUnk_08103D0C:: @ 08103D0C - .incbin "baserom.gba", 0x103D0C, 0x000000C - -gUnk_08103D18:: @ 08103D18 - .incbin "baserom.gba", 0x103D18, 0x000000C - -gUnk_08103D24:: @ 08103D24 - .incbin "baserom.gba", 0x103D24, 0x0000010 - -gUnk_08103D34:: @ 08103D34 - .incbin "baserom.gba", 0x103D34, 0x0000024 - -gUnk_08103D58:: @ 08103D58 - .incbin "baserom.gba", 0x103D58, 0x0000024 - -gUnk_08103D7C:: @ 08103D7C - .incbin "baserom.gba", 0x103D7C, 0x0000024 - -gUnk_08103DA0:: @ 08103DA0 - .incbin "baserom.gba", 0x103DA0, 0x0000024 - -gUnk_08103DC4:: @ 08103DC4 - .incbin "baserom.gba", 0x103DC4, 0x0000024 - -gUnk_08103DE8:: @ 08103DE8 - .incbin "baserom.gba", 0x103DE8, 0x0000024 - -gUnk_08103E0C:: @ 08103E0C - .incbin "baserom.gba", 0x103E0C, 0x0000024 - -gUnk_08103E30:: @ 08103E30 - .incbin "baserom.gba", 0x103E30, 0x0000024 - -gUnk_08103E54:: @ 08103E54 - .incbin "baserom.gba", 0x103E54, 0x0000024 - -gUnk_08103E78:: @ 08103E78 - .incbin "baserom.gba", 0x103E78, 0x0000024 - -gUnk_08103E9C:: @ 08103E9C - .incbin "baserom.gba", 0x103E9C, 0x0000024 - -gUnk_08103EC0:: @ 08103EC0 - .incbin "baserom.gba", 0x103EC0, 0x0000024 - -gUnk_08103EE4:: @ 08103EE4 - .incbin "baserom.gba", 0x103EE4, 0x0000024 - -gUnk_08103F08:: @ 08103F08 - .incbin "baserom.gba", 0x103F08, 0x0000024 - -gUnk_08103F2C:: @ 08103F2C - .incbin "baserom.gba", 0x103F2C, 0x0000024 - -gUnk_08103F50:: @ 08103F50 - .incbin "baserom.gba", 0x103F50, 0x0000024 - -gUnk_08103F74:: @ 08103F74 - .incbin "baserom.gba", 0x103F74, 0x0000024 - -gUnk_08103F98:: @ 08103F98 - .incbin "baserom.gba", 0x103F98, 0x0000024 - -gUnk_08103FBC:: @ 08103FBC - .incbin "baserom.gba", 0x103FBC, 0x0000024 - -gUnk_08103FE0:: @ 08103FE0 - .incbin "baserom.gba", 0x103FE0, 0x0000024 - -gUnk_08104004:: @ 08104004 - .incbin "baserom.gba", 0x104004, 0x000001C - -gUnk_08104020:: @ 08104020 - .incbin "baserom.gba", 0x104020, 0x0000008 - -gUnk_08104028:: @ 08104028 - .incbin "baserom.gba", 0x104028, 0x00000A0 - -gUnk_081040C8:: @ 081040C8 - .incbin "baserom.gba", 0x1040C8, 0x0000024 - -gUnk_081040EC:: @ 081040EC - .incbin "baserom.gba", 0x1040EC, 0x0000024 - -gUnk_08104110:: @ 08104110 - .incbin "baserom.gba", 0x104110, 0x0000024 - -gUnk_08104134:: @ 08104134 - .incbin "baserom.gba", 0x104134, 0x0000024 - -gUnk_08104158:: @ 08104158 - .incbin "baserom.gba", 0x104158, 0x0000024 - -gUnk_0810417C:: @ 0810417C - .incbin "baserom.gba", 0x10417C, 0x0000024 - -gUnk_081041A0:: @ 081041A0 - .incbin "baserom.gba", 0x1041A0, 0x0000024 - -gUnk_081041C4:: @ 081041C4 - .incbin "baserom.gba", 0x1041C4, 0x0000024 - -gUnk_081041E8:: @ 081041E8 - .incbin "baserom.gba", 0x1041E8, 0x0000018 - -gUnk_08104200:: @ 08104200 - .incbin "baserom.gba", 0x104200, 0x000000C - -gUnk_0810420C:: @ 0810420C - .incbin "baserom.gba", 0x10420C, 0x0000004 - -gUnk_08104210:: @ 08104210 - .incbin "baserom.gba", 0x104210, 0x00000BC - -gUnk_081042CC:: @ 081042CC - .incbin "baserom.gba", 0x1042CC, 0x0000018 - -gUnk_081042E4:: @ 081042E4 - .incbin "baserom.gba", 0x1042E4, 0x0000018 - -gUnk_081042FC:: @ 081042FC - .incbin "baserom.gba", 0x1042FC, 0x0000014 - -gUnk_08104310:: @ 08104310 - .incbin "baserom.gba", 0x104310, 0x0000004 - -gUnk_08104314:: @ 08104314 - .incbin "baserom.gba", 0x104314, 0x000000D - -gUnk_08104321:: @ 08104321 - .incbin "baserom.gba", 0x104321, 0x000000B - -gUnk_0810432C:: @ 0810432C - .incbin "baserom.gba", 0x10432C, 0x0000018 - -gUnk_08104344:: @ 08104344 - .incbin "baserom.gba", 0x104344, 0x0000018 - -gUnk_0810435C:: @ 0810435C - .incbin "baserom.gba", 0x10435C, 0x0000018 - -gUnk_08104374:: @ 08104374 - .incbin "baserom.gba", 0x104374, 0x0000018 - -gUnk_0810438C:: @ 0810438C - .incbin "baserom.gba", 0x10438C, 0x0000018 - -gUnk_081043A4:: @ 081043A4 - .incbin "baserom.gba", 0x1043A4, 0x0000018 - -gUnk_081043BC:: @ 081043BC - .incbin "baserom.gba", 0x1043BC, 0x0000018 - -gUnk_081043D4:: @ 081043D4 - .incbin "baserom.gba", 0x1043D4, 0x0000018 - -gUnk_081043EC:: @ 081043EC - .incbin "baserom.gba", 0x1043EC, 0x0000018 - -gUnk_08104404:: @ 08104404 - .incbin "baserom.gba", 0x104404, 0x0000040 - -gUnk_08104444:: @ 08104444 - .incbin "baserom.gba", 0x104444, 0x0000018 - -gUnk_0810445C:: @ 0810445C - .incbin "baserom.gba", 0x10445C, 0x0000018 - -gUnk_08104474:: @ 08104474 - .incbin "baserom.gba", 0x104474, 0x0000018 - -gUnk_0810448C:: @ 0810448C - .incbin "baserom.gba", 0x10448C, 0x0000018 - -gUnk_081044A4:: @ 081044A4 - .incbin "baserom.gba", 0x1044A4, 0x0000018 - -gUnk_081044BC:: @ 081044BC - .incbin "baserom.gba", 0x1044BC, 0x0000018 - -gUnk_081044D4:: @ 081044D4 - .incbin "baserom.gba", 0x1044D4, 0x0000018 - -gUnk_081044EC:: @ 081044EC - .incbin "baserom.gba", 0x1044EC, 0x0000018 - -gUnk_08104504:: @ 08104504 - .incbin "baserom.gba", 0x104504, 0x0000018 - -gUnk_0810451C:: @ 0810451C - .incbin "baserom.gba", 0x10451C, 0x0000018 - -gUnk_08104534:: @ 08104534 - .incbin "baserom.gba", 0x104534, 0x0000018 - -gUnk_0810454C:: @ 0810454C - .incbin "baserom.gba", 0x10454C, 0x0000018 - -gUnk_08104564:: @ 08104564 - .incbin "baserom.gba", 0x104564, 0x0000018 - -gUnk_0810457C:: @ 0810457C - .incbin "baserom.gba", 0x10457C, 0x0000018 - -gUnk_08104594:: @ 08104594 - .incbin "baserom.gba", 0x104594, 0x0000018 - -gUnk_081045AC:: @ 081045AC - .incbin "baserom.gba", 0x1045AC, 0x0000018 - -gUnk_081045C4:: @ 081045C4 - .incbin "baserom.gba", 0x1045C4, 0x0000018 - -gUnk_081045DC:: @ 081045DC - .incbin "baserom.gba", 0x1045DC, 0x0000018 - -gUnk_081045F4:: @ 081045F4 - .incbin "baserom.gba", 0x1045F4, 0x0000018 - -gUnk_0810460C:: @ 0810460C - .incbin "baserom.gba", 0x10460C, 0x00000C0 - -gUnk_081046CC:: @ 081046CC - .incbin "baserom.gba", 0x1046CC, 0x0000018 - -gUnk_081046E4:: @ 081046E4 - .incbin "baserom.gba", 0x1046E4, 0x0000018 - -gUnk_081046FC:: @ 081046FC - .incbin "baserom.gba", 0x1046FC, 0x0000018 - -gUnk_08104714:: @ 08104714 - .incbin "baserom.gba", 0x104714, 0x0000018 - -gUnk_0810472C:: @ 0810472C - .incbin "baserom.gba", 0x10472C, 0x0000018 - -gUnk_08104744:: @ 08104744 - .incbin "baserom.gba", 0x104744, 0x0000018 - -gUnk_0810475C:: @ 0810475C - .incbin "baserom.gba", 0x10475C, 0x0000040 - -gUnk_0810479C:: @ 0810479C - .incbin "baserom.gba", 0x10479C, 0x0000018 - -gUnk_081047B4:: @ 081047B4 - .incbin "baserom.gba", 0x1047B4, 0x0000018 - -gUnk_081047CC:: @ 081047CC - .incbin "baserom.gba", 0x1047CC, 0x0000018 - -gUnk_081047E4:: @ 081047E4 - .incbin "baserom.gba", 0x1047E4, 0x0000018 - -gUnk_081047FC:: @ 081047FC - .incbin "baserom.gba", 0x1047FC, 0x0000018 - -gUnk_08104814:: @ 08104814 - .incbin "baserom.gba", 0x104814, 0x0000018 - -gUnk_0810482C:: @ 0810482C - .incbin "baserom.gba", 0x10482C, 0x0000018 - -gUnk_08104844:: @ 08104844 - .incbin "baserom.gba", 0x104844, 0x0000018 - -gUnk_0810485C:: @ 0810485C - .incbin "baserom.gba", 0x10485C, 0x0000018 - -gUnk_08104874:: @ 08104874 - .incbin "baserom.gba", 0x104874, 0x0000024 - -gUnk_08104898:: @ 08104898 - .incbin "baserom.gba", 0x104898, 0x0000018 - -gUnk_081048B0:: @ 081048B0 - .incbin "baserom.gba", 0x1048B0, 0x0000018 - -gUnk_081048C8:: @ 081048C8 - .incbin "baserom.gba", 0x1048C8, 0x0000018 - -gUnk_081048E0:: @ 081048E0 - .incbin "baserom.gba", 0x1048E0, 0x0000018 - -gUnk_081048F8:: @ 081048F8 - .incbin "baserom.gba", 0x1048F8, 0x0000018 - -gUnk_08104910:: @ 08104910 - .incbin "baserom.gba", 0x104910, 0x0000018 - -gUnk_08104928:: @ 08104928 - .incbin "baserom.gba", 0x104928, 0x000000A - -gUnk_08104932:: @ 08104932 - .incbin "baserom.gba", 0x104932, 0x000000E - -gUnk_08104940:: @ 08104940 - .incbin "baserom.gba", 0x104940, 0x0000018 - -gUnk_08104958:: @ 08104958 - .incbin "baserom.gba", 0x104958, 0x0000018 - -gUnk_08104970:: @ 08104970 - .incbin "baserom.gba", 0x104970, 0x0000018 - -gUnk_08104988:: @ 08104988 - .incbin "baserom.gba", 0x104988, 0x0000018 - -gUnk_081049A0:: @ 081049A0 - .incbin "baserom.gba", 0x1049A0, 0x0000018 - -gUnk_081049B8:: @ 081049B8 - .incbin "baserom.gba", 0x1049B8, 0x0000018 - -gUnk_081049D0:: @ 081049D0 - .incbin "baserom.gba", 0x1049D0, 0x0000018 - -gUnk_081049E8:: @ 081049E8 - .incbin "baserom.gba", 0x1049E8, 0x0000018 - -gUnk_08104A00:: @ 08104A00 - .incbin "baserom.gba", 0x104A00, 0x0000010 - -gUnk_08104A10:: @ 08104A10 - .incbin "baserom.gba", 0x104A10, 0x0000008 - -gUnk_08104A18:: @ 08104A18 - .incbin "baserom.gba", 0x104A18, 0x000000D - -gUnk_08104A25:: @ 08104A25 - .incbin "baserom.gba", 0x104A25, 0x000000B - -gUnk_08104A30:: @ 08104A30 - .incbin "baserom.gba", 0x104A30, 0x0000080 - -gUnk_08104AB0:: @ 08104AB0 - .incbin "baserom.gba", 0x104AB0, 0x0000018 - -gUnk_08104AC8:: @ 08104AC8 - .incbin "baserom.gba", 0x104AC8, 0x0000018 - -gUnk_08104AE0:: @ 08104AE0 - .incbin "baserom.gba", 0x104AE0, 0x0000018 - -gUnk_08104AF8:: @ 08104AF8 - .incbin "baserom.gba", 0x104AF8, 0x000000B - -gUnk_08104B03:: @ 08104B03 - .incbin "baserom.gba", 0x104B03, 0x000000D - -gUnk_08104B10:: @ 08104B10 - .incbin "baserom.gba", 0x104B10, 0x0000018 - -gUnk_08104B28:: @ 08104B28 - .incbin "baserom.gba", 0x104B28, 0x0000018 - -gUnk_08104B40:: @ 08104B40 - .incbin "baserom.gba", 0x104B40, 0x0000018 - -gUnk_08104B58:: @ 08104B58 - .incbin "baserom.gba", 0x104B58, 0x0000018 - -gUnk_08104B70:: @ 08104B70 - .incbin "baserom.gba", 0x104B70, 0x0000018 - -gUnk_08104B88:: @ 08104B88 - .incbin "baserom.gba", 0x104B88, 0x0000018 - -gUnk_08104BA0:: @ 08104BA0 - .incbin "baserom.gba", 0x104BA0, 0x0000018 - -gUnk_08104BB8:: @ 08104BB8 - .incbin "baserom.gba", 0x104BB8, 0x0000018 - -gUnk_08104BD0:: @ 08104BD0 - .incbin "baserom.gba", 0x104BD0, 0x0000018 - -gUnk_08104BE8:: @ 08104BE8 - .incbin "baserom.gba", 0x104BE8, 0x0000018 - -gUnk_08104C00:: @ 08104C00 - .incbin "baserom.gba", 0x104C00, 0x0000040 - -gUnk_08104C40:: @ 08104C40 - .incbin "baserom.gba", 0x104C40, 0x0000018 - -gUnk_08104C58:: @ 08104C58 - .incbin "baserom.gba", 0x104C58, 0x0000018 - -gUnk_08104C70:: @ 08104C70 - .incbin "baserom.gba", 0x104C70, 0x0000018 - -gUnk_08104C88:: @ 08104C88 - .incbin "baserom.gba", 0x104C88, 0x0000018 - -gUnk_08104CA0:: @ 08104CA0 - .incbin "baserom.gba", 0x104CA0, 0x0000018 - -gUnk_08104CB8:: @ 08104CB8 - .incbin "baserom.gba", 0x104CB8, 0x0000018 - -gUnk_08104CD0:: @ 08104CD0 - .incbin "baserom.gba", 0x104CD0, 0x0000018 - -gUnk_08104CE8:: @ 08104CE8 - .incbin "baserom.gba", 0x104CE8, 0x0000018 - -gUnk_08104D00:: @ 08104D00 - .incbin "baserom.gba", 0x104D00, 0x0000018 - -gUnk_08104D18:: @ 08104D18 - .incbin "baserom.gba", 0x104D18, 0x0000018 - -gUnk_08104D30:: @ 08104D30 - .incbin "baserom.gba", 0x104D30, 0x0000018 - -gUnk_08104D48:: @ 08104D48 - .incbin "baserom.gba", 0x104D48, 0x0000018 - -gUnk_08104D60:: @ 08104D60 - .incbin "baserom.gba", 0x104D60, 0x0000018 - -gUnk_08104D78:: @ 08104D78 - .incbin "baserom.gba", 0x104D78, 0x0000018 - -gUnk_08104D90:: @ 08104D90 - .incbin "baserom.gba", 0x104D90, 0x0000018 - -gUnk_08104DA8:: @ 08104DA8 - .incbin "baserom.gba", 0x104DA8, 0x0000018 - -gUnk_08104DC0:: @ 08104DC0 - .incbin "baserom.gba", 0x104DC0, 0x0000018 - -gUnk_08104DD8:: @ 08104DD8 - .incbin "baserom.gba", 0x104DD8, 0x0000018 - -gUnk_08104DF0:: @ 08104DF0 - .incbin "baserom.gba", 0x104DF0, 0x0000048 - -gUnk_08104E38:: @ 08104E38 - .incbin "baserom.gba", 0x104E38, 0x0000018 - -gUnk_08104E50:: @ 08104E50 - .incbin "baserom.gba", 0x104E50, 0x0000018 - -gUnk_08104E68:: @ 08104E68 - .incbin "baserom.gba", 0x104E68, 0x0000018 - -gUnk_08104E80:: @ 08104E80 - .incbin "baserom.gba", 0x104E80, 0x0000018 - -gUnk_08104E98:: @ 08104E98 - .incbin "baserom.gba", 0x104E98, 0x0000018 - -gUnk_08104EB0:: @ 08104EB0 - .incbin "baserom.gba", 0x104EB0, 0x0000018 - -gUnk_08104EC8:: @ 08104EC8 - .incbin "baserom.gba", 0x104EC8, 0x0000018 - -gUnk_08104EE0:: @ 08104EE0 - .incbin "baserom.gba", 0x104EE0, 0x0000018 - -gUnk_08104EF8:: @ 08104EF8 - .incbin "baserom.gba", 0x104EF8, 0x0000018 - -gUnk_08104F10:: @ 08104F10 - .incbin "baserom.gba", 0x104F10, 0x0000018 - -gUnk_08104F28:: @ 08104F28 - .incbin "baserom.gba", 0x104F28, 0x0000018 - -gUnk_08104F40:: @ 08104F40 - .incbin "baserom.gba", 0x104F40, 0x000002C - -gUnk_08104F6C:: @ 08104F6C - .incbin "baserom.gba", 0x104F6C, 0x000000C - -gUnk_08104F78:: @ 08104F78 - .incbin "baserom.gba", 0x104F78, 0x000000C - -gUnk_08104F84:: @ 08104F84 - .incbin "baserom.gba", 0x104F84, 0x000000C - -gUnk_08104F90:: @ 08104F90 - .incbin "baserom.gba", 0x104F90, 0x000000C - -gUnk_08104F9C:: @ 08104F9C - .incbin "baserom.gba", 0x104F9C, 0x0000010 - -gUnk_08104FAC:: @ 08104FAC - .incbin "baserom.gba", 0x104FAC, 0x0000018 - -gUnk_08104FC4:: @ 08104FC4 - .incbin "baserom.gba", 0x104FC4, 0x0000018 - -gUnk_08104FDC:: @ 08104FDC - .incbin "baserom.gba", 0x104FDC, 0x0000008 - -gUnk_08104FE4:: @ 08104FE4 - .incbin "baserom.gba", 0x104FE4, 0x0000018 - -gUnk_08104FFC:: @ 08104FFC - .incbin "baserom.gba", 0x104FFC, 0x0000018 - -gUnk_08105014:: @ 08105014 - .incbin "baserom.gba", 0x105014, 0x0000018 - -gUnk_0810502C:: @ 0810502C - .incbin "baserom.gba", 0x10502C, 0x0000018 - -gUnk_08105044:: @ 08105044 - .incbin "baserom.gba", 0x105044, 0x0000010 - -gUnk_08105054:: @ 08105054 - .incbin "baserom.gba", 0x105054, 0x0000018 - -gUnk_0810506C:: @ 0810506C - .incbin "baserom.gba", 0x10506C, 0x0000004 - -gUnk_08105070:: @ 08105070 - .incbin "baserom.gba", 0x105070, 0x0000018 - -gUnk_08105088:: @ 08105088 - .incbin "baserom.gba", 0x105088, 0x0000018 - -gUnk_081050A0:: @ 081050A0 - .incbin "baserom.gba", 0x1050A0, 0x0000018 - -gUnk_081050B8:: @ 081050B8 - .incbin "baserom.gba", 0x1050B8, 0x0000018 - -gUnk_081050D0:: @ 081050D0 - .incbin "baserom.gba", 0x1050D0, 0x0000018 - -gUnk_081050E8:: @ 081050E8 - .incbin "baserom.gba", 0x1050E8, 0x0000018 - -gUnk_08105100:: @ 08105100 - .incbin "baserom.gba", 0x105100, 0x0000018 - -gUnk_08105118:: @ 08105118 - .incbin "baserom.gba", 0x105118, 0x0000018 - -gUnk_08105130:: @ 08105130 - .incbin "baserom.gba", 0x105130, 0x0000010 - -gUnk_08105140:: @ 08105140 - .incbin "baserom.gba", 0x105140, 0x0000008 - -gUnk_08105148:: @ 08105148 - .incbin "baserom.gba", 0x105148, 0x0000018 - -gUnk_08105160:: @ 08105160 - .incbin "baserom.gba", 0x105160, 0x0000028 - -gUnk_08105188:: @ 08105188 - .incbin "baserom.gba", 0x105188, 0x0000018 - -gUnk_081051A0:: @ 081051A0 - .incbin "baserom.gba", 0x1051A0, 0x0000018 - -gUnk_081051B8:: @ 081051B8 - .incbin "baserom.gba", 0x1051B8, 0x0000008 - -gUnk_081051C0:: @ 081051C0 - .incbin "baserom.gba", 0x1051C0, 0x0000018 - -gUnk_081051D8:: @ 081051D8 - .incbin "baserom.gba", 0x1051D8, 0x0000018 - -gUnk_081051F0:: @ 081051F0 - .incbin "baserom.gba", 0x1051F0, 0x0000008 - -gUnk_081051F8:: @ 081051F8 - .incbin "baserom.gba", 0x1051F8, 0x000000E - -gUnk_08105206:: @ 08105206 - .incbin "baserom.gba", 0x105206, 0x000000A - -gUnk_08105210:: @ 08105210 - .incbin "baserom.gba", 0x105210, 0x0000004 - -gUnk_08105214:: @ 08105214 - .incbin "baserom.gba", 0x105214, 0x0000018 - -gUnk_0810522C:: @ 0810522C - .incbin "baserom.gba", 0x10522C, 0x0000018 - -gUnk_08105244:: @ 08105244 - .incbin "baserom.gba", 0x105244, 0x0000008 - -gUnk_0810524C:: @ 0810524C - .incbin "baserom.gba", 0x10524C, 0x0000018 - -gUnk_08105264:: @ 08105264 - .incbin "baserom.gba", 0x105264, 0x0000018 - -gUnk_0810527C:: @ 0810527C - .incbin "baserom.gba", 0x10527C, 0x0000008 - -gUnk_08105284:: @ 08105284 - .incbin "baserom.gba", 0x105284, 0x0000018 - -gUnk_0810529C:: @ 0810529C - .incbin "baserom.gba", 0x10529C, 0x0000018 - -gUnk_081052B4:: @ 081052B4 - .incbin "baserom.gba", 0x1052B4, 0x0000008 - -gUnk_081052BC:: @ 081052BC - .incbin "baserom.gba", 0x1052BC, 0x0000018 - -gUnk_081052D4:: @ 081052D4 - .incbin "baserom.gba", 0x1052D4, 0x0000004 - -gUnk_081052D8:: @ 081052D8 - .incbin "baserom.gba", 0x1052D8, 0x0000018 - -gUnk_081052F0:: @ 081052F0 - .incbin "baserom.gba", 0x1052F0, 0x0000018 - -gUnk_08105308:: @ 08105308 - .incbin "baserom.gba", 0x105308, 0x0000018 - -gUnk_08105320:: @ 08105320 - .incbin "baserom.gba", 0x105320, 0x0000018 - -gUnk_08105338:: @ 08105338 - .incbin "baserom.gba", 0x105338, 0x0000018 - -gUnk_08105350:: @ 08105350 - .incbin "baserom.gba", 0x105350, 0x0000018 - -gUnk_08105368:: @ 08105368 - .incbin "baserom.gba", 0x105368, 0x0000018 - -gUnk_08105380:: @ 08105380 - .incbin "baserom.gba", 0x105380, 0x0000018 - -gUnk_08105398:: @ 08105398 - .incbin "baserom.gba", 0x105398, 0x0000018 - -gUnk_081053B0:: @ 081053B0 - .incbin "baserom.gba", 0x1053B0, 0x0000024 - -gUnk_081053D4:: @ 081053D4 - .incbin "baserom.gba", 0x1053D4, 0x0000018 - -gUnk_081053EC:: @ 081053EC - .incbin "baserom.gba", 0x1053EC, 0x0000018 - -gUnk_08105404:: @ 08105404 - .incbin "baserom.gba", 0x105404, 0x0000018 - -gUnk_0810541C:: @ 0810541C - .incbin "baserom.gba", 0x10541C, 0x0000018 - -gUnk_08105434:: @ 08105434 - .incbin "baserom.gba", 0x105434, 0x0000018 - -gUnk_0810544C:: @ 0810544C - .incbin "baserom.gba", 0x10544C, 0x0000018 - -gUnk_08105464:: @ 08105464 - .incbin "baserom.gba", 0x105464, 0x0000018 - -gUnk_0810547C:: @ 0810547C - .incbin "baserom.gba", 0x10547C, 0x0000018 - -gUnk_08105494:: @ 08105494 - .incbin "baserom.gba", 0x105494, 0x0000018 - -gUnk_081054AC:: @ 081054AC - .incbin "baserom.gba", 0x1054AC, 0x0000018 - -gUnk_081054C4:: @ 081054C4 - .incbin "baserom.gba", 0x1054C4, 0x0000018 - -gUnk_081054DC:: @ 081054DC - .incbin "baserom.gba", 0x1054DC, 0x0000018 - -gUnk_081054F4:: @ 081054F4 - .incbin "baserom.gba", 0x1054F4, 0x0000018 - -gUnk_0810550C:: @ 0810550C - .incbin "baserom.gba", 0x10550C, 0x0000018 - -gUnk_08105524:: @ 08105524 - .incbin "baserom.gba", 0x105524, 0x0000018 - -gUnk_0810553C:: @ 0810553C - .incbin "baserom.gba", 0x10553C, 0x0000018 - -gUnk_08105554:: @ 08105554 - .incbin "baserom.gba", 0x105554, 0x0000018 - -gUnk_0810556C:: @ 0810556C - .incbin "baserom.gba", 0x10556C, 0x0000018 - -gUnk_08105584:: @ 08105584 - .incbin "baserom.gba", 0x105584, 0x0000018 - -gUnk_0810559C:: @ 0810559C - .incbin "baserom.gba", 0x10559C, 0x0000018 - -gUnk_081055B4:: @ 081055B4 - .incbin "baserom.gba", 0x1055B4, 0x0000018 - -gUnk_081055CC:: @ 081055CC - .incbin "baserom.gba", 0x1055CC, 0x0000018 - -gUnk_081055E4:: @ 081055E4 - .incbin "baserom.gba", 0x1055E4, 0x000001C - -gUnk_08105600:: @ 08105600 - .incbin "baserom.gba", 0x105600, 0x0000019 - -gUnk_08105619:: @ 08105619 - .incbin "baserom.gba", 0x105619, 0x000004F - -gUnk_08105668:: @ 08105668 - .incbin "baserom.gba", 0x105668, 0x0000004 - -gUnk_0810566C:: @ 0810566C - .incbin "baserom.gba", 0x10566C, 0x0000004 - -gUnk_08105670:: @ 08105670 - .incbin "baserom.gba", 0x105670, 0x0000018 - -gUnk_08105688:: @ 08105688 - .incbin "baserom.gba", 0x105688, 0x0000018 - -gUnk_081056A0:: @ 081056A0 - .incbin "baserom.gba", 0x1056A0, 0x0000018 - -gUnk_081056B8:: @ 081056B8 - .incbin "baserom.gba", 0x1056B8, 0x0000018 - -gUnk_081056D0:: @ 081056D0 - .incbin "baserom.gba", 0x1056D0, 0x0000018 - -gUnk_081056E8:: @ 081056E8 - .incbin "baserom.gba", 0x1056E8, 0x0000018 - -gUnk_08105700:: @ 08105700 - .incbin "baserom.gba", 0x105700, 0x0000010 - -gUnk_08105710:: @ 08105710 - .incbin "baserom.gba", 0x105710, 0x0000008 - -gUnk_08105718:: @ 08105718 - .incbin "baserom.gba", 0x105718, 0x0000018 - -gUnk_08105730:: @ 08105730 - .incbin "baserom.gba", 0x105730, 0x0000018 - -gUnk_08105748:: @ 08105748 - .incbin "baserom.gba", 0x105748, 0x0000018 - -gUnk_08105760:: @ 08105760 - .incbin "baserom.gba", 0x105760, 0x0000018 - -gUnk_08105778:: @ 08105778 - .incbin "baserom.gba", 0x105778, 0x0000018 - -gUnk_08105790:: @ 08105790 - .incbin "baserom.gba", 0x105790, 0x0000018 - -gUnk_081057A8:: @ 081057A8 - .incbin "baserom.gba", 0x1057A8, 0x0000018 - -gUnk_081057C0:: @ 081057C0 - .incbin "baserom.gba", 0x1057C0, 0x0000018 - -gUnk_081057D8:: @ 081057D8 - .incbin "baserom.gba", 0x1057D8, 0x0000018 - -gUnk_081057F0:: @ 081057F0 - .incbin "baserom.gba", 0x1057F0, 0x0000018 - -gUnk_08105808:: @ 08105808 - .incbin "baserom.gba", 0x105808, 0x0000018 - -gUnk_08105820:: @ 08105820 - .incbin "baserom.gba", 0x105820, 0x0000060 - -gUnk_08105880:: @ 08105880 - .incbin "baserom.gba", 0x105880, 0x0000018 - -gUnk_08105898:: @ 08105898 - .incbin "baserom.gba", 0x105898, 0x0000004 - -gUnk_0810589C:: @ 0810589C - .incbin "baserom.gba", 0x10589C, 0x0000018 - -gUnk_081058B4:: @ 081058B4 - .incbin "baserom.gba", 0x1058B4, 0x0000018 - -gUnk_081058CC:: @ 081058CC - .incbin "baserom.gba", 0x1058CC, 0x0000018 - -gUnk_081058E4:: @ 081058E4 - .incbin "baserom.gba", 0x1058E4, 0x0000018 - -gUnk_081058FC:: @ 081058FC - .incbin "baserom.gba", 0x1058FC, 0x000000E - -gUnk_0810590A:: @ 0810590A - .incbin "baserom.gba", 0x10590A, 0x000000A - -gUnk_08105914:: @ 08105914 - .incbin "baserom.gba", 0x105914, 0x0000018 - -gUnk_0810592C:: @ 0810592C - .incbin "baserom.gba", 0x10592C, 0x0000018 - -gUnk_08105944:: @ 08105944 - .incbin "baserom.gba", 0x105944, 0x0000018 - -gUnk_0810595C:: @ 0810595C - .incbin "baserom.gba", 0x10595C, 0x0000018 - -gUnk_08105974:: @ 08105974 - .incbin "baserom.gba", 0x105974, 0x0000018 - -gUnk_0810598C:: @ 0810598C - .incbin "baserom.gba", 0x10598C, 0x0000018 - -gUnk_081059A4:: @ 081059A4 - .incbin "baserom.gba", 0x1059A4, 0x0000018 - -gUnk_081059BC:: @ 081059BC - .incbin "baserom.gba", 0x1059BC, 0x0000018 - -gUnk_081059D4:: @ 081059D4 - .incbin "baserom.gba", 0x1059D4, 0x0000018 - -gUnk_081059EC:: @ 081059EC - .incbin "baserom.gba", 0x1059EC, 0x0000018 - -gUnk_08105A04:: @ 08105A04 - .incbin "baserom.gba", 0x105A04, 0x0000018 - -gUnk_08105A1C:: @ 08105A1C - .incbin "baserom.gba", 0x105A1C, 0x0000018 - -gUnk_08105A34:: @ 08105A34 - .incbin "baserom.gba", 0x105A34, 0x000000D - -gUnk_08105A41:: @ 08105A41 - .incbin "baserom.gba", 0x105A41, 0x000000B - -gUnk_08105A4C:: @ 08105A4C - .incbin "baserom.gba", 0x105A4C, 0x0000018 - -gUnk_08105A64:: @ 08105A64 - .incbin "baserom.gba", 0x105A64, 0x0000018 - -gUnk_08105A7C:: @ 08105A7C - .incbin "baserom.gba", 0x105A7C, 0x0000018 - -gUnk_08105A94:: @ 08105A94 - .incbin "baserom.gba", 0x105A94, 0x0000018 - -gUnk_08105AAC:: @ 08105AAC - .incbin "baserom.gba", 0x105AAC, 0x0000018 - -gUnk_08105AC4:: @ 08105AC4 - .incbin "baserom.gba", 0x105AC4, 0x0000018 - -gUnk_08105ADC:: @ 08105ADC - .incbin "baserom.gba", 0x105ADC, 0x0000034 - -gUnk_08105B10:: @ 08105B10 - .incbin "baserom.gba", 0x105B10, 0x0000060 - -gUnk_08105B70:: @ 08105B70 - .incbin "baserom.gba", 0x105B70, 0x0000018 - -gUnk_08105B88:: @ 08105B88 - .incbin "baserom.gba", 0x105B88, 0x0000004 - -gUnk_08105B8C:: @ 08105B8C - .incbin "baserom.gba", 0x105B8C, 0x0000018 - -gUnk_08105BA4:: @ 08105BA4 - .incbin "baserom.gba", 0x105BA4, 0x0000018 - -gUnk_08105BBC:: @ 08105BBC - .incbin "baserom.gba", 0x105BBC, 0x0000008 - -gUnk_08105BC4:: @ 08105BC4 - .incbin "baserom.gba", 0x105BC4, 0x0000018 - -gUnk_08105BDC:: @ 08105BDC - .incbin "baserom.gba", 0x105BDC, 0x0000018 - -gUnk_08105BF4:: @ 08105BF4 - .incbin "baserom.gba", 0x105BF4, 0x0000018 - -gUnk_08105C0C:: @ 08105C0C - .incbin "baserom.gba", 0x105C0C, 0x0000018 - -gUnk_08105C24:: @ 08105C24 - .incbin "baserom.gba", 0x105C24, 0x0000018 - -gUnk_08105C3C:: @ 08105C3C - .incbin "baserom.gba", 0x105C3C, 0x0000018 - -gUnk_08105C54:: @ 08105C54 - .incbin "baserom.gba", 0x105C54, 0x0000018 - -gUnk_08105C6C:: @ 08105C6C - .incbin "baserom.gba", 0x105C6C, 0x0000018 - -gUnk_08105C84:: @ 08105C84 - .incbin "baserom.gba", 0x105C84, 0x0000018 - -gUnk_08105C9C:: @ 08105C9C - .incbin "baserom.gba", 0x105C9C, 0x0000018 - -gUnk_08105CB4:: @ 08105CB4 - .incbin "baserom.gba", 0x105CB4, 0x0000018 - -gUnk_08105CCC:: @ 08105CCC - .incbin "baserom.gba", 0x105CCC, 0x0000018 - -gUnk_08105CE4:: @ 08105CE4 - .incbin "baserom.gba", 0x105CE4, 0x0000018 - -gUnk_08105CFC:: @ 08105CFC - .incbin "baserom.gba", 0x105CFC, 0x0000018 - -gUnk_08105D14:: @ 08105D14 - .incbin "baserom.gba", 0x105D14, 0x0000003 - -gUnk_08105D17:: @ 08105D17 - .incbin "baserom.gba", 0x105D17, 0x0000015 - -gUnk_08105D2C:: @ 08105D2C - .incbin "baserom.gba", 0x105D2C, 0x0000018 - -gUnk_08105D44:: @ 08105D44 - .incbin "baserom.gba", 0x105D44, 0x0000018 - -gUnk_08105D5C:: @ 08105D5C - .incbin "baserom.gba", 0x105D5C, 0x0000018 - -gUnk_08105D74:: @ 08105D74 - .incbin "baserom.gba", 0x105D74, 0x0000018 - -gUnk_08105D8C:: @ 08105D8C - .incbin "baserom.gba", 0x105D8C, 0x0000018 - -gUnk_08105DA4:: @ 08105DA4 - .incbin "baserom.gba", 0x105DA4, 0x0000018 - -gUnk_08105DBC:: @ 08105DBC - .incbin "baserom.gba", 0x105DBC, 0x0000018 - -gUnk_08105DD4:: @ 08105DD4 - .incbin "baserom.gba", 0x105DD4, 0x0000018 - -gUnk_08105DEC:: @ 08105DEC - .incbin "baserom.gba", 0x105DEC, 0x0000018 - -gUnk_08105E04:: @ 08105E04 - .incbin "baserom.gba", 0x105E04, 0x0000018 - -gUnk_08105E1C:: @ 08105E1C - .incbin "baserom.gba", 0x105E1C, 0x0000018 - -gUnk_08105E34:: @ 08105E34 - .incbin "baserom.gba", 0x105E34, 0x0000018 - -gUnk_08105E4C:: @ 08105E4C - .incbin "baserom.gba", 0x105E4C, 0x0000018 - -gUnk_08105E64:: @ 08105E64 - .incbin "baserom.gba", 0x105E64, 0x0000018 - -gUnk_08105E7C:: @ 08105E7C - .incbin "baserom.gba", 0x105E7C, 0x0000018 - -gUnk_08105E94:: @ 08105E94 - .incbin "baserom.gba", 0x105E94, 0x0000018 - -gUnk_08105EAC:: @ 08105EAC - .incbin "baserom.gba", 0x105EAC, 0x0000018 - -gUnk_08105EC4:: @ 08105EC4 - .incbin "baserom.gba", 0x105EC4, 0x0000018 - -gUnk_08105EDC:: @ 08105EDC - .incbin "baserom.gba", 0x105EDC, 0x0000018 - -gUnk_08105EF4:: @ 08105EF4 - .incbin "baserom.gba", 0x105EF4, 0x0000018 - -gUnk_08105F0C:: @ 08105F0C - .incbin "baserom.gba", 0x105F0C, 0x0000018 - -gUnk_08105F24:: @ 08105F24 - .incbin "baserom.gba", 0x105F24, 0x0000018 - -gUnk_08105F3C:: @ 08105F3C - .incbin "baserom.gba", 0x105F3C, 0x0000018 - -gUnk_08105F54:: @ 08105F54 - .incbin "baserom.gba", 0x105F54, 0x0000018 - -gUnk_08105F6C:: @ 08105F6C - .incbin "baserom.gba", 0x105F6C, 0x0000018 - -gUnk_08105F84:: @ 08105F84 - .incbin "baserom.gba", 0x105F84, 0x0000018 - -gUnk_08105F9C:: @ 08105F9C - .incbin "baserom.gba", 0x105F9C, 0x0000066 - -gUnk_08106002:: @ 08106002 - .incbin "baserom.gba", 0x106002, 0x0000076 - -gUnk_08106078:: @ 08106078 - .incbin "baserom.gba", 0x106078, 0x0000018 - -gUnk_08106090:: @ 08106090 - .incbin "baserom.gba", 0x106090, 0x0000004 - -gUnk_08106094:: @ 08106094 - .incbin "baserom.gba", 0x106094, 0x0000018 - -gUnk_081060AC:: @ 081060AC - .incbin "baserom.gba", 0x1060AC, 0x0000018 - -gUnk_081060C4:: @ 081060C4 - .incbin "baserom.gba", 0x1060C4, 0x0000018 - -gUnk_081060DC:: @ 081060DC - .incbin "baserom.gba", 0x1060DC, 0x0000018 - -gUnk_081060F4:: @ 081060F4 - .incbin "baserom.gba", 0x1060F4, 0x0000018 - -gUnk_0810610C:: @ 0810610C - .incbin "baserom.gba", 0x10610C, 0x0000018 - -gUnk_08106124:: @ 08106124 - .incbin "baserom.gba", 0x106124, 0x0000018 - -gUnk_0810613C:: @ 0810613C - .incbin "baserom.gba", 0x10613C, 0x0000018 - -gUnk_08106154:: @ 08106154 - .incbin "baserom.gba", 0x106154, 0x0000018 - -gUnk_0810616C:: @ 0810616C - .incbin "baserom.gba", 0x10616C, 0x0000018 - -gUnk_08106184:: @ 08106184 - .incbin "baserom.gba", 0x106184, 0x0000018 - -gUnk_0810619C:: @ 0810619C - .incbin "baserom.gba", 0x10619C, 0x0000058 - -gUnk_081061F4:: @ 081061F4 - .incbin "baserom.gba", 0x1061F4, 0x0000018 - -gUnk_0810620C:: @ 0810620C - .incbin "baserom.gba", 0x10620C, 0x0000018 - -gUnk_08106224:: @ 08106224 - .incbin "baserom.gba", 0x106224, 0x0000018 - -gUnk_0810623C:: @ 0810623C - .incbin "baserom.gba", 0x10623C, 0x0000018 - -gUnk_08106254:: @ 08106254 - .incbin "baserom.gba", 0x106254, 0x0000018 - -gUnk_0810626C:: @ 0810626C - .incbin "baserom.gba", 0x10626C, 0x0000018 - -gUnk_08106284:: @ 08106284 - .incbin "baserom.gba", 0x106284, 0x0000018 - -gUnk_0810629C:: @ 0810629C - .incbin "baserom.gba", 0x10629C, 0x0000018 - -gUnk_081062B4:: @ 081062B4 - .incbin "baserom.gba", 0x1062B4, 0x0000018 - -gUnk_081062CC:: @ 081062CC - .incbin "baserom.gba", 0x1062CC, 0x0000040 - -gUnk_0810630C:: @ 0810630C - .incbin "baserom.gba", 0x10630C, 0x0000018 - -gUnk_08106324:: @ 08106324 - .incbin "baserom.gba", 0x106324, 0x0000018 - -gUnk_0810633C:: @ 0810633C - .incbin "baserom.gba", 0x10633C, 0x0000018 - -gUnk_08106354:: @ 08106354 - .incbin "baserom.gba", 0x106354, 0x0000018 - -gUnk_0810636C:: @ 0810636C - .incbin "baserom.gba", 0x10636C, 0x0000018 - -gUnk_08106384:: @ 08106384 - .incbin "baserom.gba", 0x106384, 0x0000018 - -gUnk_0810639C:: @ 0810639C - .incbin "baserom.gba", 0x10639C, 0x0000018 - -gUnk_081063B4:: @ 081063B4 - .incbin "baserom.gba", 0x1063B4, 0x0000018 - -gUnk_081063CC:: @ 081063CC - .incbin "baserom.gba", 0x1063CC, 0x0000018 - -gUnk_081063E4:: @ 081063E4 - .incbin "baserom.gba", 0x1063E4, 0x0000018 - -gUnk_081063FC:: @ 081063FC - .incbin "baserom.gba", 0x1063FC, 0x0000018 - -gUnk_08106414:: @ 08106414 - .incbin "baserom.gba", 0x106414, 0x0000018 - -gUnk_0810642C:: @ 0810642C - .incbin "baserom.gba", 0x10642C, 0x0000018 - -gUnk_08106444:: @ 08106444 - .incbin "baserom.gba", 0x106444, 0x0000018 - -gUnk_0810645C:: @ 0810645C - .incbin "baserom.gba", 0x10645C, 0x0000018 - -gUnk_08106474:: @ 08106474 - .incbin "baserom.gba", 0x106474, 0x0000018 - -gUnk_0810648C:: @ 0810648C - .incbin "baserom.gba", 0x10648C, 0x0000018 - -gUnk_081064A4:: @ 081064A4 - .incbin "baserom.gba", 0x1064A4, 0x0000018 - -gUnk_081064BC:: @ 081064BC - .incbin "baserom.gba", 0x1064BC, 0x0000018 - -gUnk_081064D4:: @ 081064D4 - .incbin "baserom.gba", 0x1064D4, 0x0000018 - -gUnk_081064EC:: @ 081064EC - .incbin "baserom.gba", 0x1064EC, 0x0000018 - -gUnk_08106504:: @ 08106504 - .incbin "baserom.gba", 0x106504, 0x0000018 - -gUnk_0810651C:: @ 0810651C - .incbin "baserom.gba", 0x10651C, 0x0000018 - -gUnk_08106534:: @ 08106534 - .incbin "baserom.gba", 0x106534, 0x0000018 - -gUnk_0810654C:: @ 0810654C - .incbin "baserom.gba", 0x10654C, 0x0000009 - -gUnk_08106555:: @ 08106555 - .incbin "baserom.gba", 0x106555, 0x000000F - -gUnk_08106564:: @ 08106564 - .incbin "baserom.gba", 0x106564, 0x0000001 - -gUnk_08106565:: @ 08106565 - .incbin "baserom.gba", 0x106565, 0x0000017 - -gUnk_0810657C:: @ 0810657C - .incbin "baserom.gba", 0x10657C, 0x0000018 - -gUnk_08106594:: @ 08106594 - .incbin "baserom.gba", 0x106594, 0x0000018 - -gUnk_081065AC:: @ 081065AC - .incbin "baserom.gba", 0x1065AC, 0x0000018 - -gUnk_081065C4:: @ 081065C4 - .incbin "baserom.gba", 0x1065C4, 0x0000018 - -gUnk_081065DC:: @ 081065DC - .incbin "baserom.gba", 0x1065DC, 0x0000018 - -gUnk_081065F4:: @ 081065F4 - .incbin "baserom.gba", 0x1065F4, 0x0000004 - -gUnk_081065F8:: @ 081065F8 - .incbin "baserom.gba", 0x1065F8, 0x0000014 - -gUnk_0810660C:: @ 0810660C - .incbin "baserom.gba", 0x10660C, 0x000000D - -gUnk_08106619:: @ 08106619 - .incbin "baserom.gba", 0x106619, 0x0000001 - -gUnk_0810661A:: @ 0810661A - .incbin "baserom.gba", 0x10661A, 0x000000A - -gUnk_08106624:: @ 08106624 - .incbin "baserom.gba", 0x106624, 0x0000018 - -gUnk_0810663C:: @ 0810663C - .incbin "baserom.gba", 0x10663C, 0x0000018 - -gUnk_08106654:: @ 08106654 - .incbin "baserom.gba", 0x106654, 0x0000018 - -gUnk_0810666C:: @ 0810666C - .incbin "baserom.gba", 0x10666C, 0x0000018 - -gUnk_08106684:: @ 08106684 - .incbin "baserom.gba", 0x106684, 0x0000018 - -gUnk_0810669C:: @ 0810669C - .incbin "baserom.gba", 0x10669C, 0x0000018 - -gUnk_081066B4:: @ 081066B4 - .incbin "baserom.gba", 0x1066B4, 0x0000018 - -gUnk_081066CC:: @ 081066CC - .incbin "baserom.gba", 0x1066CC, 0x0000018 - -gUnk_081066E4:: @ 081066E4 - .incbin "baserom.gba", 0x1066E4, 0x0000018 - -gUnk_081066FC:: @ 081066FC - .incbin "baserom.gba", 0x1066FC, 0x0000018 - -gUnk_08106714:: @ 08106714 - .incbin "baserom.gba", 0x106714, 0x0000018 - -gUnk_0810672C:: @ 0810672C - .incbin "baserom.gba", 0x10672C, 0x0000018 - -gUnk_08106744:: @ 08106744 - .incbin "baserom.gba", 0x106744, 0x0000018 - -gUnk_0810675C:: @ 0810675C - .incbin "baserom.gba", 0x10675C, 0x0000018 - -gUnk_08106774:: @ 08106774 - .incbin "baserom.gba", 0x106774, 0x0000018 - -gUnk_0810678C:: @ 0810678C - .incbin "baserom.gba", 0x10678C, 0x0000018 - -gUnk_081067A4:: @ 081067A4 - .incbin "baserom.gba", 0x1067A4, 0x0000018 - -gUnk_081067BC:: @ 081067BC - .incbin "baserom.gba", 0x1067BC, 0x0000018 - -gUnk_081067D4:: @ 081067D4 - .incbin "baserom.gba", 0x1067D4, 0x000002C - -gUnk_08106800:: @ 08106800 - .incbin "baserom.gba", 0x106800, 0x00000A0 - -gUnk_081068A0:: @ 081068A0 - .incbin "baserom.gba", 0x1068A0, 0x000000C - -gUnk_081068AC:: @ 081068AC - .incbin "baserom.gba", 0x1068AC, 0x0000004 - -gUnk_081068B0:: @ 081068B0 - .incbin "baserom.gba", 0x1068B0, 0x0000018 - -gUnk_081068C8:: @ 081068C8 - .incbin "baserom.gba", 0x1068C8, 0x0000018 - -gUnk_081068E0:: @ 081068E0 - .incbin "baserom.gba", 0x1068E0, 0x0000018 - -gUnk_081068F8:: @ 081068F8 - .incbin "baserom.gba", 0x1068F8, 0x0000020 - -gUnk_08106918:: @ 08106918 - .incbin "baserom.gba", 0x106918, 0x0000018 - -gUnk_08106930:: @ 08106930 - .incbin "baserom.gba", 0x106930, 0x0000018 - -gUnk_08106948:: @ 08106948 - .incbin "baserom.gba", 0x106948, 0x0000018 - -gUnk_08106960:: @ 08106960 - .incbin "baserom.gba", 0x106960, 0x0000018 - -gUnk_08106978:: @ 08106978 - .incbin "baserom.gba", 0x106978, 0x0000018 - -gUnk_08106990:: @ 08106990 - .incbin "baserom.gba", 0x106990, 0x0000018 - -gUnk_081069A8:: @ 081069A8 - .incbin "baserom.gba", 0x1069A8, 0x0000018 - -gUnk_081069C0:: @ 081069C0 - .incbin "baserom.gba", 0x1069C0, 0x0000040 - -gUnk_08106A00:: @ 08106A00 - .incbin "baserom.gba", 0x106A00, 0x0000018 - -gUnk_08106A18:: @ 08106A18 - .incbin "baserom.gba", 0x106A18, 0x0000004 - -gUnk_08106A1C:: @ 08106A1C - .incbin "baserom.gba", 0x106A1C, 0x0000018 - -gUnk_08106A34:: @ 08106A34 - .incbin "baserom.gba", 0x106A34, 0x0000018 - -gUnk_08106A4C:: @ 08106A4C - .incbin "baserom.gba", 0x106A4C, 0x0000018 - -gUnk_08106A64:: @ 08106A64 - .incbin "baserom.gba", 0x106A64, 0x0000018 - -gUnk_08106A7C:: @ 08106A7C - .incbin "baserom.gba", 0x106A7C, 0x0000018 - -gUnk_08106A94:: @ 08106A94 - .incbin "baserom.gba", 0x106A94, 0x0000018 - -gUnk_08106AAC:: @ 08106AAC - .incbin "baserom.gba", 0x106AAC, 0x0000018 - -gUnk_08106AC4:: @ 08106AC4 - .incbin "baserom.gba", 0x106AC4, 0x0000018 - -gUnk_08106ADC:: @ 08106ADC - .incbin "baserom.gba", 0x106ADC, 0x0000018 - -gUnk_08106AF4:: @ 08106AF4 - .incbin "baserom.gba", 0x106AF4, 0x0000018 - -gUnk_08106B0C:: @ 08106B0C - .incbin "baserom.gba", 0x106B0C, 0x0000018 - -gUnk_08106B24:: @ 08106B24 - .incbin "baserom.gba", 0x106B24, 0x0000018 - -gUnk_08106B3C:: @ 08106B3C - .incbin "baserom.gba", 0x106B3C, 0x0000018 - -gUnk_08106B54:: @ 08106B54 - .incbin "baserom.gba", 0x106B54, 0x0000018 - -gUnk_08106B6C:: @ 08106B6C - .incbin "baserom.gba", 0x106B6C, 0x0000018 - -gUnk_08106B84:: @ 08106B84 - .incbin "baserom.gba", 0x106B84, 0x0000018 - -gUnk_08106B9C:: @ 08106B9C - .incbin "baserom.gba", 0x106B9C, 0x0000018 - -gUnk_08106BB4:: @ 08106BB4 - .incbin "baserom.gba", 0x106BB4, 0x0000018 - -gUnk_08106BCC:: @ 08106BCC - .incbin "baserom.gba", 0x106BCC, 0x0000018 - -gUnk_08106BE4:: @ 08106BE4 - .incbin "baserom.gba", 0x106BE4, 0x0000018 - -gUnk_08106BFC:: @ 08106BFC - .incbin "baserom.gba", 0x106BFC, 0x0000004 - -gUnk_08106C00:: @ 08106C00 - .incbin "baserom.gba", 0x106C00, 0x0000004 - -gUnk_08106C04:: @ 08106C04 - .incbin "baserom.gba", 0x106C04, 0x0000003 - -gUnk_08106C07:: @ 08106C07 - .incbin "baserom.gba", 0x106C07, 0x000000D - -gUnk_08106C14:: @ 08106C14 - .incbin "baserom.gba", 0x106C14, 0x0000018 - -gUnk_08106C2C:: @ 08106C2C - .incbin "baserom.gba", 0x106C2C, 0x0000018 - -gUnk_08106C44:: @ 08106C44 - .incbin "baserom.gba", 0x106C44, 0x0000018 - -gUnk_08106C5C:: @ 08106C5C - .incbin "baserom.gba", 0x106C5C, 0x0000018 - -gUnk_08106C74:: @ 08106C74 - .incbin "baserom.gba", 0x106C74, 0x0000018 - -gUnk_08106C8C:: @ 08106C8C - .incbin "baserom.gba", 0x106C8C, 0x0000018 - -gUnk_08106CA4:: @ 08106CA4 - .incbin "baserom.gba", 0x106CA4, 0x0000018 - -gUnk_08106CBC:: @ 08106CBC - .incbin "baserom.gba", 0x106CBC, 0x0000018 - -gUnk_08106CD4:: @ 08106CD4 - .incbin "baserom.gba", 0x106CD4, 0x0000018 - -gUnk_08106CEC:: @ 08106CEC - .incbin "baserom.gba", 0x106CEC, 0x0000018 - -gUnk_08106D04:: @ 08106D04 - .incbin "baserom.gba", 0x106D04, 0x0000018 - -gUnk_08106D1C:: @ 08106D1C - .incbin "baserom.gba", 0x106D1C, 0x0000018 - -gUnk_08106D34:: @ 08106D34 - .incbin "baserom.gba", 0x106D34, 0x0000018 - -gUnk_08106D4C:: @ 08106D4C - .incbin "baserom.gba", 0x106D4C, 0x0000018 - -gUnk_08106D64:: @ 08106D64 - .incbin "baserom.gba", 0x106D64, 0x0000018 - -gUnk_08106D7C:: @ 08106D7C - .incbin "baserom.gba", 0x106D7C, 0x0000003 - -gUnk_08106D7F:: @ 08106D7F - .incbin "baserom.gba", 0x106D7F, 0x0000015 - -gUnk_08106D94:: @ 08106D94 - .incbin "baserom.gba", 0x106D94, 0x0000018 - -gUnk_08106DAC:: @ 08106DAC - .incbin "baserom.gba", 0x106DAC, 0x0000018 - -gUnk_08106DC4:: @ 08106DC4 - .incbin "baserom.gba", 0x106DC4, 0x0000018 - -gUnk_08106DDC:: @ 08106DDC - .incbin "baserom.gba", 0x106DDC, 0x0000018 - -gUnk_08106DF4:: @ 08106DF4 - .incbin "baserom.gba", 0x106DF4, 0x0000018 - -gUnk_08106E0C:: @ 08106E0C - .incbin "baserom.gba", 0x106E0C, 0x0000018 - -gUnk_08106E24:: @ 08106E24 - .incbin "baserom.gba", 0x106E24, 0x0000018 - -gUnk_08106E3C:: @ 08106E3C - .incbin "baserom.gba", 0x106E3C, 0x0000018 - -gUnk_08106E54:: @ 08106E54 - .incbin "baserom.gba", 0x106E54, 0x0000018 - -gUnk_08106E6C:: @ 08106E6C - .incbin "baserom.gba", 0x106E6C, 0x0000018 - -gUnk_08106E84:: @ 08106E84 - .incbin "baserom.gba", 0x106E84, 0x0000018 - -gUnk_08106E9C:: @ 08106E9C - .incbin "baserom.gba", 0x106E9C, 0x0000018 - -gUnk_08106EB4:: @ 08106EB4 - .incbin "baserom.gba", 0x106EB4, 0x0000018 - -gUnk_08106ECC:: @ 08106ECC - .incbin "baserom.gba", 0x106ECC, 0x0000018 - -gUnk_08106EE4:: @ 08106EE4 - .incbin "baserom.gba", 0x106EE4, 0x0000018 - -gUnk_08106EFC:: @ 08106EFC - .incbin "baserom.gba", 0x106EFC, 0x000000F - -gUnk_08106F0B:: @ 08106F0B - .incbin "baserom.gba", 0x106F0B, 0x0000009 - -gUnk_08106F14:: @ 08106F14 - .incbin "baserom.gba", 0x106F14, 0x0000018 - -gUnk_08106F2C:: @ 08106F2C - .incbin "baserom.gba", 0x106F2C, 0x0000018 - -gUnk_08106F44:: @ 08106F44 - .incbin "baserom.gba", 0x106F44, 0x0000018 - -gUnk_08106F5C:: @ 08106F5C - .incbin "baserom.gba", 0x106F5C, 0x0000018 - -gUnk_08106F74:: @ 08106F74 - .incbin "baserom.gba", 0x106F74, 0x0000018 - -gUnk_08106F8C:: @ 08106F8C - .incbin "baserom.gba", 0x106F8C, 0x0000018 - -gUnk_08106FA4:: @ 08106FA4 - .incbin "baserom.gba", 0x106FA4, 0x0000018 - -gUnk_08106FBC:: @ 08106FBC - .incbin "baserom.gba", 0x106FBC, 0x00000F0 - -gUnk_081070AC:: @ 081070AC - .incbin "baserom.gba", 0x1070AC, 0x0000018 - -gUnk_081070C4:: @ 081070C4 - .incbin "baserom.gba", 0x1070C4, 0x0000018 - -gUnk_081070DC:: @ 081070DC - .incbin "baserom.gba", 0x1070DC, 0x0000018 - -gUnk_081070F4:: @ 081070F4 - .incbin "baserom.gba", 0x1070F4, 0x0000018 - -gUnk_0810710C:: @ 0810710C - .incbin "baserom.gba", 0x10710C, 0x0000018 - -gUnk_08107124:: @ 08107124 - .incbin "baserom.gba", 0x107124, 0x0000018 - -gUnk_0810713C:: @ 0810713C - .incbin "baserom.gba", 0x10713C, 0x0000018 - -gUnk_08107154:: @ 08107154 - .incbin "baserom.gba", 0x107154, 0x0000018 - -gUnk_0810716C:: @ 0810716C - .incbin "baserom.gba", 0x10716C, 0x0000018 - -gUnk_08107184:: @ 08107184 - .incbin "baserom.gba", 0x107184, 0x0000024 - -gUnk_081071A8:: @ 081071A8 - .incbin "baserom.gba", 0x1071A8, 0x0000018 - -gUnk_081071C0:: @ 081071C0 - .incbin "baserom.gba", 0x1071C0, 0x0000004 - -gUnk_081071C4:: @ 081071C4 - .incbin "baserom.gba", 0x1071C4, 0x0000018 - -gUnk_081071DC:: @ 081071DC - .incbin "baserom.gba", 0x1071DC, 0x0000018 - -gUnk_081071F4:: @ 081071F4 - .incbin "baserom.gba", 0x1071F4, 0x0000018 - -gUnk_0810720C:: @ 0810720C - .incbin "baserom.gba", 0x10720C, 0x000000C - -gUnk_08107218:: @ 08107218 - .incbin "baserom.gba", 0x107218, 0x0000018 - -gUnk_08107230:: @ 08107230 - .incbin "baserom.gba", 0x107230, 0x0000018 - -gUnk_08107248:: @ 08107248 - .incbin "baserom.gba", 0x107248, 0x0000008 - -gUnk_08107250:: @ 08107250 - .incbin "baserom.gba", 0x107250, 0x0000018 - -gUnk_08107268:: @ 08107268 - .incbin "baserom.gba", 0x107268, 0x0000004 - -gUnk_0810726C:: @ 0810726C - .incbin "baserom.gba", 0x10726C, 0x0000018 - -gUnk_08107284:: @ 08107284 - .incbin "baserom.gba", 0x107284, 0x0000018 - -gUnk_0810729C:: @ 0810729C - .incbin "baserom.gba", 0x10729C, 0x0000018 - -gUnk_081072B4:: @ 081072B4 - .incbin "baserom.gba", 0x1072B4, 0x000000C - -gUnk_081072C0:: @ 081072C0 - .incbin "baserom.gba", 0x1072C0, 0x0000018 - -gUnk_081072D8:: @ 081072D8 - .incbin "baserom.gba", 0x1072D8, 0x0000018 - -gUnk_081072F0:: @ 081072F0 - .incbin "baserom.gba", 0x1072F0, 0x0000018 - -gUnk_08107308:: @ 08107308 - .incbin "baserom.gba", 0x107308, 0x0000002 - -gUnk_0810730A:: @ 0810730A - .incbin "baserom.gba", 0x10730A, 0x0000016 - -gUnk_08107320:: @ 08107320 - .incbin "baserom.gba", 0x107320, 0x0000018 - -gUnk_08107338:: @ 08107338 - .incbin "baserom.gba", 0x107338, 0x0000014 - -gUnk_0810734C:: @ 0810734C - .incbin "baserom.gba", 0x10734C, 0x0000018 - -gUnk_08107364:: @ 08107364 - .incbin "baserom.gba", 0x107364, 0x0000018 - -gUnk_0810737C:: @ 0810737C - .incbin "baserom.gba", 0x10737C, 0x0000008 - -gUnk_08107384:: @ 08107384 - .incbin "baserom.gba", 0x107384, 0x0000018 - -gUnk_0810739C:: @ 0810739C - .incbin "baserom.gba", 0x10739C, 0x0000018 - -gUnk_081073B4:: @ 081073B4 - .incbin "baserom.gba", 0x1073B4, 0x0000018 - -gUnk_081073CC:: @ 081073CC - .incbin "baserom.gba", 0x1073CC, 0x0000018 - -gUnk_081073E4:: @ 081073E4 - .incbin "baserom.gba", 0x1073E4, 0x0000018 - -gUnk_081073FC:: @ 081073FC - .incbin "baserom.gba", 0x1073FC, 0x0000018 - -gUnk_08107414:: @ 08107414 - .incbin "baserom.gba", 0x107414, 0x0000018 - -gUnk_0810742C:: @ 0810742C - .incbin "baserom.gba", 0x10742C, 0x0000018 - -gUnk_08107444:: @ 08107444 - .incbin "baserom.gba", 0x107444, 0x0000018 - -gUnk_0810745C:: @ 0810745C - .incbin "baserom.gba", 0x10745C, 0x0000018 - -gUnk_08107474:: @ 08107474 - .incbin "baserom.gba", 0x107474, 0x0000018 - -gUnk_0810748C:: @ 0810748C - .incbin "baserom.gba", 0x10748C, 0x0000018 - -gUnk_081074A4:: @ 081074A4 - .incbin "baserom.gba", 0x1074A4, 0x0000018 - -gUnk_081074BC:: @ 081074BC - .incbin "baserom.gba", 0x1074BC, 0x0000018 - -gUnk_081074D4:: @ 081074D4 - .incbin "baserom.gba", 0x1074D4, 0x0000018 - -gUnk_081074EC:: @ 081074EC - .incbin "baserom.gba", 0x1074EC, 0x0000018 - -gUnk_08107504:: @ 08107504 - .incbin "baserom.gba", 0x107504, 0x0000018 - -gUnk_0810751C:: @ 0810751C - .incbin "baserom.gba", 0x10751C, 0x0000018 - -gUnk_08107534:: @ 08107534 - .incbin "baserom.gba", 0x107534, 0x0000018 - -gUnk_0810754C:: @ 0810754C - .incbin "baserom.gba", 0x10754C, 0x0000018 - -gUnk_08107564:: @ 08107564 - .incbin "baserom.gba", 0x107564, 0x0000018 - -gUnk_0810757C:: @ 0810757C - .incbin "baserom.gba", 0x10757C, 0x0000018 - -gUnk_08107594:: @ 08107594 - .incbin "baserom.gba", 0x107594, 0x0000018 - -gUnk_081075AC:: @ 081075AC - .incbin "baserom.gba", 0x1075AC, 0x0000018 - -gUnk_081075C4:: @ 081075C4 - .incbin "baserom.gba", 0x1075C4, 0x0000060 - -gUnk_08107624:: @ 08107624 - .incbin "baserom.gba", 0x107624, 0x0000018 - -gUnk_0810763C:: @ 0810763C - .incbin "baserom.gba", 0x10763C, 0x0000018 - -gUnk_08107654:: @ 08107654 - .incbin "baserom.gba", 0x107654, 0x0000018 - -gUnk_0810766C:: @ 0810766C - .incbin "baserom.gba", 0x10766C, 0x0000018 - -gUnk_08107684:: @ 08107684 - .incbin "baserom.gba", 0x107684, 0x0000018 - -gUnk_0810769C:: @ 0810769C - .incbin "baserom.gba", 0x10769C, 0x0000018 - -gUnk_081076B4:: @ 081076B4 - .incbin "baserom.gba", 0x1076B4, 0x0000018 - -gUnk_081076CC:: @ 081076CC - .incbin "baserom.gba", 0x1076CC, 0x0000018 - -gUnk_081076E4:: @ 081076E4 - .incbin "baserom.gba", 0x1076E4, 0x0000018 - -gUnk_081076FC:: @ 081076FC - .incbin "baserom.gba", 0x1076FC, 0x0000016 - -gUnk_08107712:: @ 08107712 - .incbin "baserom.gba", 0x107712, 0x0000002 - -gUnk_08107714:: @ 08107714 - .incbin "baserom.gba", 0x107714, 0x0000028 - -gUnk_0810773C:: @ 0810773C - .incbin "baserom.gba", 0x10773C, 0x0000018 - -gUnk_08107754:: @ 08107754 - .incbin "baserom.gba", 0x107754, 0x0000018 - -gUnk_0810776C:: @ 0810776C - .incbin "baserom.gba", 0x10776C, 0x0000008 - -gUnk_08107774:: @ 08107774 - .incbin "baserom.gba", 0x107774, 0x0000018 - -gUnk_0810778C:: @ 0810778C - .incbin "baserom.gba", 0x10778C, 0x0000004 - -gUnk_08107790:: @ 08107790 - .incbin "baserom.gba", 0x107790, 0x0000018 - -gUnk_081077A8:: @ 081077A8 - .incbin "baserom.gba", 0x1077A8, 0x0000018 - -gUnk_081077C0:: @ 081077C0 - .incbin "baserom.gba", 0x1077C0, 0x0000018 - -gUnk_081077D8:: @ 081077D8 - .incbin "baserom.gba", 0x1077D8, 0x0000018 - -gUnk_081077F0:: @ 081077F0 - .incbin "baserom.gba", 0x1077F0, 0x0000018 - -gUnk_08107808:: @ 08107808 - .incbin "baserom.gba", 0x107808, 0x0000018 - -gUnk_08107820:: @ 08107820 - .incbin "baserom.gba", 0x107820, 0x0000018 - -gUnk_08107838:: @ 08107838 - .incbin "baserom.gba", 0x107838, 0x0000018 - -gUnk_08107850:: @ 08107850 - .incbin "baserom.gba", 0x107850, 0x000001E - -gUnk_0810786E:: @ 0810786E - .incbin "baserom.gba", 0x10786E, 0x0000002 - -gUnk_08107870:: @ 08107870 - .incbin "baserom.gba", 0x107870, 0x000001C - -gUnk_0810788C:: @ 0810788C - .incbin "baserom.gba", 0x10788C, 0x0000018 - -gUnk_081078A4:: @ 081078A4 - .incbin "baserom.gba", 0x1078A4, 0x0000004 - -gUnk_081078A8:: @ 081078A8 - .incbin "baserom.gba", 0x1078A8, 0x0000018 - -gUnk_081078C0:: @ 081078C0 - .incbin "baserom.gba", 0x1078C0, 0x0000004 - -gUnk_081078C4:: @ 081078C4 - .incbin "baserom.gba", 0x1078C4, 0x0000018 - -gUnk_081078DC:: @ 081078DC - .incbin "baserom.gba", 0x1078DC, 0x0000004 - -gUnk_081078E0:: @ 081078E0 - .incbin "baserom.gba", 0x1078E0, 0x0000018 - -gUnk_081078F8:: @ 081078F8 - .incbin "baserom.gba", 0x1078F8, 0x0000004 - -gUnk_081078FC:: @ 081078FC - .incbin "baserom.gba", 0x1078FC, 0x0000018 - -gUnk_08107914:: @ 08107914 - .incbin "baserom.gba", 0x107914, 0x0000004 - -gUnk_08107918:: @ 08107918 - .incbin "baserom.gba", 0x107918, 0x0000018 - -gUnk_08107930:: @ 08107930 - .incbin "baserom.gba", 0x107930, 0x0000004 - -gUnk_08107934:: @ 08107934 - .incbin "baserom.gba", 0x107934, 0x0000018 - -gUnk_0810794C:: @ 0810794C - .incbin "baserom.gba", 0x10794C, 0x0000004 - -gUnk_08107950:: @ 08107950 - .incbin "baserom.gba", 0x107950, 0x0000018 - -gUnk_08107968:: @ 08107968 - .incbin "baserom.gba", 0x107968, 0x0000004 - -gUnk_0810796C:: @ 0810796C - .incbin "baserom.gba", 0x10796C, 0x000000D - -gUnk_08107979:: @ 08107979 - .incbin "baserom.gba", 0x107979, 0x000000B - -gUnk_08107984:: @ 08107984 - .incbin "baserom.gba", 0x107984, 0x0000004 - -gUnk_08107988:: @ 08107988 - .incbin "baserom.gba", 0x107988, 0x0000015 - -gUnk_0810799D:: @ 0810799D - .incbin "baserom.gba", 0x10799D, 0x00001A4 - -gUnk_08107B41:: @ 08107B41 - .incbin "baserom.gba", 0x107B41, 0x000003A - -gUnk_08107B7B:: @ 08107B7B - .incbin "baserom.gba", 0x107B7B, 0x000004D - -gUnk_08107BC8:: @ 08107BC8 - .incbin "baserom.gba", 0x107BC8, 0x0000018 - -gUnk_08107BE0:: @ 08107BE0 - .incbin "baserom.gba", 0x107BE0, 0x0000014 - -gUnk_08107BF4:: @ 08107BF4 - .incbin "baserom.gba", 0x107BF4, 0x0000018 - -gUnk_08107C0C:: @ 08107C0C - .incbin "baserom.gba", 0x107C0C, 0x0000003 - -gUnk_08107C0F:: @ 08107C0F - .incbin "baserom.gba", 0x107C0F, 0x0000005 - -gUnk_08107C14:: @ 08107C14 - .incbin "baserom.gba", 0x107C14, 0x0000004 - -gUnk_08107C18:: @ 08107C18 - .incbin "baserom.gba", 0x107C18, 0x0000004 - -gUnk_08107C1C:: @ 08107C1C - .incbin "baserom.gba", 0x107C1C, 0x000000E - -gUnk_08107C2A:: @ 08107C2A - .incbin "baserom.gba", 0x107C2A, 0x0000006 - -gUnk_08107C30:: @ 08107C30 - .incbin "baserom.gba", 0x107C30, 0x0000010 - -gUnk_08107C40:: @ 08107C40 - .incbin "baserom.gba", 0x107C40, 0x0000008 - -gUnk_08107C48:: @ 08107C48 - .incbin "baserom.gba", 0x107C48, 0x0000014 - -gUnk_08107C5C:: @ 08107C5C - .incbin "baserom.gba", 0x107C5C, 0x0000010 - -gUnk_08107C6C:: @ 08107C6C - .incbin "baserom.gba", 0x107C6C, 0x0000004 - -gUnk_08107C70:: @ 08107C70 - .incbin "baserom.gba", 0x107C70, 0x0000008 - -gUnk_08107C78:: @ 08107C78 - .incbin "baserom.gba", 0x107C78, 0x0000008 - -gUnk_08107C80:: @ 08107C80 - .incbin "baserom.gba", 0x107C80, 0x0000018 - -gUnk_08107C98:: @ 08107C98 - .incbin "baserom.gba", 0x107C98, 0x0000028 - -gUnk_08107CC0:: @ 08107CC0 - .incbin "baserom.gba", 0x107CC0, 0x0000010 - -gUnk_08107CD0:: @ 08107CD0 - .incbin "baserom.gba", 0x107CD0, 0x0000010 - -gUnk_08107CE0:: @ 08107CE0 - .incbin "baserom.gba", 0x107CE0, 0x0000018 - -gUnk_08107CF8:: @ 08107CF8 - .incbin "baserom.gba", 0x107CF8, 0x000000A - -gUnk_08107D02:: @ 08107D02 - .incbin "baserom.gba", 0x107D02, 0x0000006 - -gUnk_08107D08:: @ 08107D08 - .incbin "baserom.gba", 0x107D08, 0x0000018 - -gUnk_08107D20:: @ 08107D20 - .incbin "baserom.gba", 0x107D20, 0x0000018 - -gUnk_08107D38:: @ 08107D38 - .incbin "baserom.gba", 0x107D38, 0x0000010 - -gUnk_08107D48:: @ 08107D48 - .incbin "baserom.gba", 0x107D48, 0x0000020 - -gUnk_08107D68:: @ 08107D68 - .incbin "baserom.gba", 0x107D68, 0x0000010 - -gUnk_08107D78:: @ 08107D78 - .incbin "baserom.gba", 0x107D78, 0x0000018 - -gUnk_08107D90:: @ 08107D90 - .incbin "baserom.gba", 0x107D90, 0x0000010 - -gUnk_08107DA0:: @ 08107DA0 - .incbin "baserom.gba", 0x107DA0, 0x0000020 - -gUnk_08107DC0:: @ 08107DC0 - .incbin "baserom.gba", 0x107DC0, 0x0000264 - -gUnk_08108024:: @ 08108024 - .incbin "baserom.gba", 0x108024, 0x0000010 - -gUnk_08108034:: @ 08108034 - .incbin "baserom.gba", 0x108034, 0x0000010 - -gUnk_08108044:: @ 08108044 - .incbin "baserom.gba", 0x108044, 0x000000C - -gUnk_08108050:: @ 08108050 - .incbin "baserom.gba", 0x108050, 0x000001E - -gUnk_0810806E:: @ 0810806E - .incbin "baserom.gba", 0x10806E, 0x0000036 - -gUnk_081080A4:: @ 081080A4 - .incbin "baserom.gba", 0x1080A4, 0x0000020 - -gUnk_081080C4:: @ 081080C4 - .incbin "baserom.gba", 0x1080C4, 0x0000043 - -gUnk_08108107:: @ 08108107 - .incbin "baserom.gba", 0x108107, 0x0000079 - -gUnk_08108180:: @ 08108180 - .incbin "baserom.gba", 0x108180, 0x0000064 - -gUnk_081081E4:: @ 081081E4 - .incbin "baserom.gba", 0x1081E4, 0x0000008 - -gUnk_081081EC:: @ 081081EC - .incbin "baserom.gba", 0x1081EC, 0x0000008 - -gUnk_081081F4:: @ 081081F4 - .incbin "baserom.gba", 0x1081F4, 0x0000014 diff --git a/data/data_08107BC8.s b/data/data_08107BC8.s new file mode 100755 index 00000000..8c290db5 --- /dev/null +++ b/data/data_08107BC8.s @@ -0,0 +1,137 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_08107BC8:: @ 08107BC8 + .incbin "baserom.gba", 0x107BC8, 0x0000018 + +gUnk_08107BE0:: @ 08107BE0 + .incbin "baserom.gba", 0x107BE0, 0x0000014 + +gUnk_08107BF4:: @ 08107BF4 + .incbin "baserom.gba", 0x107BF4, 0x0000018 + +gUnk_08107C0C:: @ 08107C0C + .incbin "baserom.gba", 0x107C0C, 0x0000003 + +gUnk_08107C0F:: @ 08107C0F + .incbin "baserom.gba", 0x107C0F, 0x0000005 + +gUnk_08107C14:: @ 08107C14 + .incbin "baserom.gba", 0x107C14, 0x0000004 + +gUnk_08107C18:: @ 08107C18 + .incbin "baserom.gba", 0x107C18, 0x0000004 + +gUnk_08107C1C:: @ 08107C1C + .incbin "baserom.gba", 0x107C1C, 0x000000E + +gUnk_08107C2A:: @ 08107C2A + .incbin "baserom.gba", 0x107C2A, 0x0000006 + +gUnk_08107C30:: @ 08107C30 + .incbin "baserom.gba", 0x107C30, 0x0000010 + +gUnk_08107C40:: @ 08107C40 + .incbin "baserom.gba", 0x107C40, 0x0000008 + +gUnk_08107C48:: @ 08107C48 + .incbin "baserom.gba", 0x107C48, 0x0000014 + +gUnk_08107C5C:: @ 08107C5C + .incbin "baserom.gba", 0x107C5C, 0x0000010 + +gUnk_08107C6C:: @ 08107C6C + .incbin "baserom.gba", 0x107C6C, 0x0000004 + +gUnk_08107C70:: @ 08107C70 + .incbin "baserom.gba", 0x107C70, 0x0000008 + +gUnk_08107C78:: @ 08107C78 + .incbin "baserom.gba", 0x107C78, 0x0000008 + +gUnk_08107C80:: @ 08107C80 + .incbin "baserom.gba", 0x107C80, 0x0000018 + +gUnk_08107C98:: @ 08107C98 + .incbin "baserom.gba", 0x107C98, 0x0000028 + +gUnk_08107CC0:: @ 08107CC0 + .incbin "baserom.gba", 0x107CC0, 0x0000010 + +gUnk_08107CD0:: @ 08107CD0 + .incbin "baserom.gba", 0x107CD0, 0x0000010 + +gUnk_08107CE0:: @ 08107CE0 + .incbin "baserom.gba", 0x107CE0, 0x0000018 + +gUnk_08107CF8:: @ 08107CF8 + .incbin "baserom.gba", 0x107CF8, 0x000000A + +gUnk_08107D02:: @ 08107D02 + .incbin "baserom.gba", 0x107D02, 0x0000006 + +gUnk_08107D08:: @ 08107D08 + .incbin "baserom.gba", 0x107D08, 0x0000018 + +gUnk_08107D20:: @ 08107D20 + .incbin "baserom.gba", 0x107D20, 0x0000018 + +gUnk_08107D38:: @ 08107D38 + .incbin "baserom.gba", 0x107D38, 0x0000010 + +gUnk_08107D48:: @ 08107D48 + .incbin "baserom.gba", 0x107D48, 0x0000020 + +gUnk_08107D68:: @ 08107D68 + .incbin "baserom.gba", 0x107D68, 0x0000010 + +gUnk_08107D78:: @ 08107D78 + .incbin "baserom.gba", 0x107D78, 0x0000018 + +gUnk_08107D90:: @ 08107D90 + .incbin "baserom.gba", 0x107D90, 0x0000010 + +gUnk_08107DA0:: @ 08107DA0 + .incbin "baserom.gba", 0x107DA0, 0x0000020 + +gUnk_08107DC0:: @ 08107DC0 + .incbin "baserom.gba", 0x107DC0, 0x0000264 + +gUnk_08108024:: @ 08108024 + .incbin "baserom.gba", 0x108024, 0x0000010 + +gUnk_08108034:: @ 08108034 + .incbin "baserom.gba", 0x108034, 0x0000010 + +gUnk_08108044:: @ 08108044 + .incbin "baserom.gba", 0x108044, 0x000000C + +gUnk_08108050:: @ 08108050 + .incbin "baserom.gba", 0x108050, 0x000001E + +gUnk_0810806E:: @ 0810806E + .incbin "baserom.gba", 0x10806E, 0x0000036 + +gUnk_081080A4:: @ 081080A4 + .incbin "baserom.gba", 0x1080A4, 0x0000020 + +gUnk_081080C4:: @ 081080C4 + .incbin "baserom.gba", 0x1080C4, 0x0000043 + +gUnk_08108107:: @ 08108107 + .incbin "baserom.gba", 0x108107, 0x0000079 + +gUnk_08108180:: @ 08108180 + .incbin "baserom.gba", 0x108180, 0x0000064 + +gUnk_081081E4:: @ 081081E4 + .incbin "baserom.gba", 0x1081E4, 0x0000008 + +gUnk_081081EC:: @ 081081EC + .incbin "baserom.gba", 0x1081EC, 0x0000008 + +gUnk_081081F4:: @ 081081F4 + .incbin "baserom.gba", 0x1081F4, 0x0000014 diff --git a/data/map_headers.s b/data/map_headers.s new file mode 100755 index 00000000..5063f67c --- /dev/null +++ b/data/map_headers.s @@ -0,0 +1,3601 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gAreaRoomMap_MinishWoods_0:: @ 081032DC + map_bottom 0xA700, 0x1F02, 1 + map_top 0xB7AC, 0x1F02, 1, 1 + +gAreaRoomMaps_MinishWoods:: @ 081032F4 + .4byte gAreaRoomMap_MinishWoods_0 + +gAreaRoomMap_LakeHylia_0:: @ 081032F8 + map_bottom 0x1575C, 0x1680, 1 + map_top 0x163D0, 0x1680, 1, 1 + +gAreaRoomMap_LakeHylia_1:: @ 08103310 + map_bottom 0x16B04, 0x5E8, 1 + map_top 0x16C74, 0x5E8, 1, 1 + +gAreaRoomMaps_LakeHylia:: @ 08103328 + .4byte gAreaRoomMap_LakeHylia_0 + .4byte gAreaRoomMap_LakeHylia_1 + +gAreaRoomMap_CastorWilds_0:: @ 08103330 + map_bottom 0x20914, 0x1D88, 1 + map_top 0x21990, 0x1D88, 1, 1 + +gAreaRoomMaps_CastorWilds:: @ 08103348 + .4byte gAreaRoomMap_CastorWilds_0 + +gAreaRoomMap_Ruins_0:: @ 0810334C + map_bottom 0x22150, 0x3DE, 1 + map_top 0x22430, 0x3DE, 1, 1 + +gAreaRoomMap_Ruins_1:: @ 08103364 + map_bottom 0x22500, 0x186, 1 + map_top 0x2261C, 0x186, 1, 1 + +gAreaRoomMap_Ruins_2:: @ 0810337C + map_bottom 0x22688, 0x12C, 1 + map_top 0x22780, 0x12C, 1, 1 + +gAreaRoomMap_Ruins_3:: @ 08103394 + map_bottom 0x227E4, 0x12C, 1 + map_top 0x228E4, 0x12C, 1, 1 + +gAreaRoomMap_Ruins_4:: @ 081033AC + map_bottom 0x22940, 0x420, 1 + map_top 0x22C44, 0x420, 1, 1 + +gAreaRoomMap_Ruins_5:: @ 081033C4 + map_bottom 0x22D30, 0x462, 1 + map_top 0x22FBC, 0x462, 1, 1 + +gAreaRoomMaps_Ruins:: @ 081033DC + .4byte gAreaRoomMap_Ruins_0 + .4byte gAreaRoomMap_Ruins_1 + .4byte gAreaRoomMap_Ruins_2 + .4byte gAreaRoomMap_Ruins_3 + .4byte gAreaRoomMap_Ruins_4 + .4byte gAreaRoomMap_Ruins_5 + +gAreaRoomMap_HyruleTown_0:: @ 081033F4 + map_bottom 0x3A454, 0x1D88, 1 + map_top 0x3B5F4, 0x1D88, 1, 1 + +gAreaRoomMaps_HyruleTown:: @ 0810340C + .4byte gAreaRoomMap_HyruleTown_0 + +gAreaRoomMap_FestivalTown_0:: @ 08103410 + map_bottom 0x3C290, 0xBB8, 1 + map_top 0x3CAD0, 0xBB8, 1, 1 + +gAreaRoomMaps_FestivalTown:: @ 08103428 + .4byte gAreaRoomMap_FestivalTown_0 + +gAreaRoomMap_MtCrenel_0:: @ 0810342C + map_bottom 0x47410, 0x6E4, 1 + map_top 0x47760, 0x6E4, 1, 1 + +gAreaRoomMap_MtCrenel_1:: @ 08103444 + map_bottom 0x47838, 0x720, 1 + map_top 0x47B70, 0x720, 1, 1 + +gAreaRoomMap_MtCrenel_2:: @ 0810345C + map_bottom 0x47D64, 0xB94, 1 + map_top 0x483C8, 0xB94, 1, 1 + +gAreaRoomMap_MtCrenel_3:: @ 08103474 + map_bottom 0x48588, 0xB52, 1 + map_top 0x48BFC, 0xB52, 1, 1 + +gAreaRoomMap_MtCrenel_4:: @ 0810348C + map_bottom 0x48D94, 0xEC4, 1 + map_top 0x496D8, 0xEC4, 1, 1 + +gAreaRoomMaps_MtCrenel:: @ 081034A4 + .4byte gAreaRoomMap_MtCrenel_0 + .4byte gAreaRoomMap_MtCrenel_1 + .4byte gAreaRoomMap_MtCrenel_2 + .4byte gAreaRoomMap_MtCrenel_3 + .4byte gAreaRoomMap_MtCrenel_4 + +gAreaRoomMap_HyruleField_0:: @ 081034B8 + map_bottom 0x610CC, 0x30C, 1 + map_top 0x612B8, 0x30C, 1, 1 + +gAreaRoomMap_HyruleField_1:: @ 081034D0 + map_data 0x49964, 0x6000000, 0x4000, 1 + map_data 0x4EA0C, 0x6008000, 0x4000, 1 + map_data 0x10, 0x0, 0x0, 0 + map_bottom 0x61384, 0x152A, 1 + map_top 0x61FC4, 0x152A, 1, 1 + +gAreaRoomMap_HyruleField_2:: @ 0810350C + map_bottom 0x62384, 0x30C, 1 + map_top 0x625B8, 0x30C, 1, 1 + +gAreaRoomMap_HyruleField_3:: @ 08103524 + map_data 0x49964, 0x6000000, 0x4000, 1 + map_data 0x4EA0C, 0x6008000, 0x4000, 1 + map_data 0x10, 0x0, 0x0, 0 + map_bottom 0x62688, 0x3C0, 1 + map_top 0x628D0, 0x3C0, 1, 1 + +gAreaRoomMap_HyruleField_4:: @ 08103560 + map_data 0x569D0, 0x6000000, 0x4000, 1 + map_data 0x5B950, 0x6008000, 0x4000, 1 + map_data 0x43, 0x0, 0x0, 0 + map_bottom 0x629A8, 0x7F8, 1 + map_top 0x62E74, 0x7F8, 1, 1 + +gAreaRoomMap_HyruleField_5:: @ 0810359C + map_data 0x569D0, 0x6000000, 0x4000, 1 + map_data 0x5B950, 0x6008000, 0x4000, 1 + map_data 0x43, 0x0, 0x0, 0 + map_bottom 0x63144, 0x1518, 1 + map_top 0x63E04, 0x1518, 1, 1 + +gAreaRoomMap_HyruleField_6:: @ 081035D8 + map_data 0x50844, 0x6000000, 0x4000, 1 + map_data 0x55348, 0x6008000, 0x4000, 1 + map_data 0x2E, 0x0, 0x0, 0 + map_bottom 0x64440, 0x189C, 1 + map_top 0x6513C, 0x189C, 1, 1 + +gAreaRoomMap_HyruleField_7:: @ 08103614 + map_data 0x49964, 0x6000000, 0x4000, 1 + map_data 0x4EA0C, 0x6008000, 0x4000, 1 + map_data 0x10, 0x0, 0x0, 0 + map_bottom 0x65560, 0xE10, 1 + map_top 0x65DBC, 0xE10, 1, 1 + +gAreaRoomMap_HyruleField_8:: @ 08103650 + map_bottom 0x6620C, 0x960, 1 + map_top 0x6678C, 0x960, 1, 1 + +gAreaRoomMap_HyruleField_9:: @ 08103668 + map_bottom 0x6699C, 0x258, 1 + map_top 0x66B60, 0x258, 1, 1 + +gAreaRoomMaps_HyruleField:: @ 08103680 + .4byte gAreaRoomMap_HyruleField_0 + .4byte gAreaRoomMap_HyruleField_1 + .4byte gAreaRoomMap_HyruleField_2 + .4byte gAreaRoomMap_HyruleField_3 + .4byte gAreaRoomMap_HyruleField_4 + .4byte gAreaRoomMap_HyruleField_5 + .4byte gAreaRoomMap_HyruleField_6 + .4byte gAreaRoomMap_HyruleField_7 + .4byte gAreaRoomMap_HyruleField_8 + .4byte gAreaRoomMap_HyruleField_9 + +gAreaRoomMap_CastleGarden_0:: @ 081036A8 + map_bottom 0x6DD10, 0x103E, 1 + map_top 0x6E684, 0x103E, 1, 1 + +gAreaRoomMaps_CastleGarden:: @ 081036C0 + .4byte gAreaRoomMap_CastleGarden_0 + +gAreaRoomMap_CloudTops_0:: @ 081036C4 + map_bottom 0x74AD0, 0x1F02, 1 + map_top 0x751F0, 0x1F02, 1, 1 + +gAreaRoomMap_CloudTops_1:: @ 081036DC + map_bottom 0x755F0, 0x1F02, 1 + map_top 0x7602C, 0x1F02, 1, 1 + +gAreaRoomMap_CloudTops_2:: @ 081036F4 + map_bottom 0x76498, 0x1F02, 1 + map_top 0x76DBC, 0x1F02, 1, 1 + +gAreaRoomMaps_CloudTops:: @ 0810370C + .4byte gAreaRoomMap_CloudTops_0 + .4byte gAreaRoomMap_CloudTops_1 + .4byte gAreaRoomMap_CloudTops_2 + +gAreaRoomMap_RoyalValley_0:: @ 08103718 + map_bottom 0x7EC78, 0xEC4, 1 + map_top 0x7F3EC, 0xEC4, 1, 1 + +gAreaRoomMap_RoyalValley_1:: @ 08103730 + map_bottom 0x7F8F8, 0x12C, 1 + map_top 0x7F9E8, 0x12C, 1, 1 + +gAreaRoomMaps_RoyalValley:: @ 08103748 + .4byte gAreaRoomMap_RoyalValley_0 + .4byte gAreaRoomMap_RoyalValley_1 + +gAreaRoomMap_VeilFalls_0:: @ 08103750 + map_bottom 0x85C24, 0xEC4, 1 + map_top 0x86560, 0xEC4, 1, 1 + +gAreaRoomMaps_VeilFalls:: @ 08103768 + .4byte gAreaRoomMap_VeilFalls_0 + +gAreaRoomMap_VeilFallsTop_0:: @ 0810376C + map_bottom 0x87FB4, 0x2D0, 1 + map_top 0x8812C, 0x2D0, 1, 1 + +gAreaRoomMaps_VeilFallsTop:: @ 08103784 + .4byte gAreaRoomMap_VeilFallsTop_0 + +gAreaRoomMap_Beanstalks_0:: @ 08103788 + map_bottom 0x8C11C, 0x12C, 0, 1 + +gAreaRoomMap_Beanstalks_1:: @ 08103794 + map_bottom 0x8C248, 0x12C, 0, 1 + +gAreaRoomMap_Beanstalks_2:: @ 081037A0 + map_bottom 0x8C374, 0x12C, 0, 1 + +gAreaRoomMap_Beanstalks_3:: @ 081037AC + map_bottom 0x8C4A0, 0x12C, 0, 1 + +gAreaRoomMap_Beanstalks_4:: @ 081037B8 + map_bottom 0x8C5CC, 0x12C, 0, 1 + +gAreaRoomMap_Beanstalks_5:: @ 081037C4 + map_bottom 0x0, 0x2000, 1 + map_top_special 0x8BB5C, 0x800, 1, 1 + +gAreaRoomMaps_Beanstalks:: @ 081037DC + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_1 + .4byte gAreaRoomMap_Beanstalks_2 + .4byte gAreaRoomMap_Beanstalks_3 + .4byte gAreaRoomMap_Beanstalks_4 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_0 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + .4byte gAreaRoomMap_Beanstalks_5 + +gAreaRoomMap_CrenelCaves_0:: @ 0810385C + map_bottom 0x98278, 0xA8C, 1 + map_top 0x98694, 0xA8C, 1, 1 + +gAreaRoomMap_CrenelCaves_1:: @ 08103874 + map_bottom 0x9887C, 0x14A, 1 + map_top 0x9897C, 0x14A, 1, 1 + +gAreaRoomMap_CrenelCaves_2:: @ 0810388C + map_bottom 0x989D0, 0x3A2, 1 + map_top 0x98C14, 0x3A2, 1, 1 + +gAreaRoomMap_CrenelCaves_3:: @ 081038A4 + map_bottom 0x98CB8, 0x168, 1 + map_top 0x98DCC, 0x168, 1, 1 + +gAreaRoomMap_CrenelCaves_4:: @ 081038BC + map_bottom 0x98E18, 0x12C, 1 + map_top 0x98F10, 0x12C, 1, 1 + +gAreaRoomMap_CrenelCaves_5:: @ 081038D4 + map_bottom 0x98F64, 0x12C, 1 + map_top 0x99080, 0x12C, 1, 1 + +gAreaRoomMap_CrenelCaves_6:: @ 081038EC + map_bottom 0x990D4, 0x168, 1 + map_top 0x99200, 0x168, 1, 1 + +gAreaRoomMap_CrenelCaves_7:: @ 08103904 + map_bottom 0x99250, 0x14A, 1 + map_top 0x99350, 0x14A, 1, 1 + +gAreaRoomMap_CrenelCaves_8:: @ 0810391C + map_bottom 0x993A8, 0x258, 1 + map_top 0x99558, 0x258, 1, 1 + +gAreaRoomMap_CrenelCaves_9:: @ 08103934 + map_bottom 0x995F4, 0x12C, 0 + map_top 0x99720, 0x12C, 1, 1 + +gAreaRoomMap_CrenelCaves_10:: @ 0810394C + map_bottom 0x99760, 0x2BC, 1 + map_top 0x99944, 0x2BC, 1, 1 + +gAreaRoomMap_CrenelCaves_11:: @ 08103964 + map_bottom 0x999F4, 0x294, 1 + map_top 0x99BD0, 0x294, 1, 1 + +gAreaRoomMap_CrenelCaves_12:: @ 0810397C + map_bottom 0x99C60, 0x12C, 1 + map_top 0x99D7C, 0x12C, 1, 1 + +gAreaRoomMap_CrenelCaves_13:: @ 08103994 + map_bottom 0x99DB0, 0x12C, 1 + map_top 0x99EB4, 0x12C, 1, 1 + +gAreaRoomMap_CrenelCaves_14:: @ 081039AC + map_bottom 0x99F0C, 0x12C, 1 + map_top 0x9A010, 0x12C, 1, 1 + +gAreaRoomMap_CrenelCaves_15:: @ 081039C4 + map_bottom 0x9A050, 0x12C, 1 + map_top 0x9A148, 0x12C, 1, 1 + +gAreaRoomMap_CrenelCaves_16:: @ 081039DC + map_bottom 0x9A18C, 0x1FE, 1 + map_top 0x9A308, 0x1FE, 1, 1 + +gAreaRoomMaps_CrenelCaves:: @ 081039F4 + .4byte gAreaRoomMap_CrenelCaves_0 + .4byte gAreaRoomMap_CrenelCaves_1 + .4byte gAreaRoomMap_CrenelCaves_2 + .4byte gAreaRoomMap_CrenelCaves_3 + .4byte gAreaRoomMap_CrenelCaves_4 + .4byte gAreaRoomMap_CrenelCaves_5 + .4byte gAreaRoomMap_CrenelCaves_6 + .4byte gAreaRoomMap_CrenelCaves_7 + .4byte gAreaRoomMap_CrenelCaves_8 + .4byte gAreaRoomMap_CrenelCaves_9 + .4byte gAreaRoomMap_CrenelCaves_10 + .4byte gAreaRoomMap_CrenelCaves_11 + .4byte gAreaRoomMap_CrenelCaves_12 + .4byte gAreaRoomMap_CrenelCaves_13 + .4byte gAreaRoomMap_CrenelCaves_14 + .4byte gAreaRoomMap_CrenelCaves_15 + .4byte gAreaRoomMap_CrenelCaves_16 + +gAreaRoomMap_GreatFairies_0:: @ 08103A38 + map_bottom 0x9F744, 0x21C, 1 + map_top 0x9F924, 0x21C, 1, 1 + +gAreaRoomMap_GreatFairies_1:: @ 08103A50 + map_bottom 0x9F9C4, 0x21C, 1 + map_top 0x9FB98, 0x21C, 1, 1 + +gAreaRoomMap_GreatFairies_2:: @ 08103A68 + map_bottom 0x9FC38, 0x21C, 1 + map_top 0x9FE14, 0x21C, 1, 1 + +gAreaRoomMaps_GreatFairies:: @ 08103A80 + .4byte gAreaRoomMap_GreatFairies_0 + .4byte gAreaRoomMap_GreatFairies_1 + .4byte gAreaRoomMap_GreatFairies_2 + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + +gAreaRoomMap_LakeWoodsCave_0:: @ 08103AA0 + map_bottom 0xCD968, 0x1F02, 1 + map_top 0xCE2AC, 0x1F02, 1, 1 + +gAreaRoomMaps_LakeWoodsCave:: @ 08103AB8 + .4byte gAreaRoomMap_LakeWoodsCave_0 + +gAreaRoomMap_HyruleDigCaves_0:: @ 08103ABC + map_bottom 0xCFEE4, 0x1D88, 1 + map_top 0xD07C0, 0x1D88, 1, 1 + +gAreaRoomMaps_HyruleDigCaves:: @ 08103AD4 + .4byte gAreaRoomMap_HyruleDigCaves_0 + +gAreaRoomMap_DigCaves_0:: @ 08103AD8 + map_bottom 0xD1410, 0x7F8, 1 + map_top 0xD16C8, 0x7F8, 1, 1 + +gAreaRoomMap_DigCaves_1:: @ 08103AF0 + map_bottom 0xD187C, 0xE10, 1 + map_top 0xD1D2C, 0xE10, 1, 1 + +gAreaRoomMaps_DigCaves1:: @ 08103B08 + .4byte gAreaRoomMap_DigCaves_0 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_DigCaves_1 + +gAreaRoomMap_CrenelDigCave_0:: @ 08103B18 + map_bottom 0xD0D00, 0x7C0, 1 + map_top 0xD1140, 0x7C0, 1, 1 + +gAreaRoomMaps_CrenelDigCave:: @ 08103B30 + .4byte gAreaRoomMap_CrenelDigCave_0 + +gAreaRoomMap_VeilFallsDigCave_0:: @ 08103B34 + map_bottom 0xD2000, 0xEC4, 1 + map_top 0xD24FC, 0xEC4, 1, 1 + +gAreaRoomMaps_VeilFallsDigCave:: @ 08103B4C + .4byte gAreaRoomMap_VeilFallsDigCave_0 + +gAreaRoomMap_CastorWildsDigCave_0:: @ 08103B50 + map_bottom 0xCF2D0, 0x1D88, 1 + map_top 0xCFACC, 0x1D88, 1, 1 + +gAreaRoomMaps_CastorWildsDigCave:: @ 08103B68 + .4byte gAreaRoomMap_CastorWildsDigCave_0 + +gAreaRoomMap_OuterFortressOfWinds_0:: @ 08103B6C + map_bottom 0xD27E0, 0x5FE, 1 + map_top 0xD2A10, 0x5FE, 1, 1 + +gAreaRoomMap_OuterFortressOfWinds_1:: @ 08103B84 + map_bottom 0xD2BAC, 0x938, 1 + map_top 0xD2F0C, 0x938, 1, 1 + +gAreaRoomMap_OuterFortressOfWinds_2:: @ 08103B9C + map_bottom 0xD31B4, 0x5FE, 1 + map_top 0xD3434, 0x5FE, 1, 1 + +gAreaRoomMap_OuterFortressOfWinds_3:: @ 08103BB4 + map_bottom 0xD3618, 0x1EE, 1 + map_top 0xD3708, 0x1EE, 1, 1 + +gAreaRoomMap_OuterFortressOfWinds_4:: @ 08103BCC + map_bottom 0xD3814, 0x186, 1 + map_top 0xD3900, 0x186, 1, 1 + +gAreaRoomMaps_OuterFortressOfWinds:: @ 08103BE4 + .4byte gAreaRoomMap_OuterFortressOfWinds_0 + .4byte gAreaRoomMap_OuterFortressOfWinds_1 + .4byte gAreaRoomMap_OuterFortressOfWinds_2 + .4byte gAreaRoomMap_OuterFortressOfWinds_3 + .4byte gAreaRoomMap_OuterFortressOfWinds_4 + +gAreaRoomMap_HyliaDigCaves_0:: @ 08103BF8 + map_bottom 0xCE79C, 0x220, 1 + map_top 0xCE8CC, 0x220, 1, 1 + +gAreaRoomMap_HyliaDigCaves_1:: @ 08103C10 + map_bottom 0xCE978, 0xD4A, 1 + map_top 0xCEEF8, 0xD4A, 1, 1 + +gAreaRoomMaps_HyliaDigCaves:: @ 08103C28 + .4byte gAreaRoomMap_HyliaDigCaves_0 + .4byte gAreaRoomMap_HyliaDigCaves_1 + +gAreaRoomMap_Empty_0:: @ 08103C30 + map_bottom 0x8C7D4, 0x1F02, 1 + map_top 0x8CD7C, 0x1F02, 1, 1 + +gAreaRoomMaps_Empty:: @ 08103C48 + .4byte gAreaRoomMap_Empty_0 + .4byte gAreaRoomMap_Empty_0 + +gAreaRoomMap_MinishVillage_0:: @ 08103C50 + map_bottom 0xE0F04, 0x1F02, 1 + map_top 0xE1ACC, 0x1F02, 1, 1 + +gAreaRoomMap_MinishVillage_1:: @ 08103C68 + map_bottom 0xE2584, 0x618, 1 + map_top 0xE2728, 0x618, 1, 1 + +gAreaRoomMaps_MinishVillage:: @ 08103C80 + .4byte gAreaRoomMap_MinishVillage_0 + .4byte gAreaRoomMap_MinishVillage_1 + +gAreaRoomMap_MelarisMine_0:: @ 08103C88 + map_bottom 0xEA6B4, 0xDB6, 1 + map_top 0xEAE44, 0xDB6, 1, 1 + +gAreaRoomMaps_MelarisMine:: @ 08103CA0 + .4byte gAreaRoomMap_MelarisMine_0 + +gAreaRoomMap_MinishPaths1_0:: @ 08103CA4 + map_bottom 0xEF458, 0x5DC, 1, 1 + +gAreaRoomMap_MinishPaths1_1:: @ 08103CB0 + map_bottom 0xEF618, 0x5DC, 1, 1 + +gAreaRoomMap_MinishPaths1_2:: @ 08103CBC + map_bottom 0xEF830, 0x5DC, 1, 1 + +gAreaRoomMap_MinishPaths1_3:: @ 08103CC8 + map_bottom 0xEFA5C, 0x5DC, 1, 1 + +gAreaRoomMap_MinishPaths1_4:: @ 08103CD4 + map_bottom 0xEFC64, 0x5DC, 1, 1 + +gAreaRoomMaps_MinishPaths1:: @ 08103CE0 + .4byte gAreaRoomMap_MinishPaths1_0 + .4byte gAreaRoomMap_MinishPaths1_1 + .4byte gAreaRoomMap_MinishPaths1_2 + .4byte gAreaRoomMap_MinishPaths1_3 + .4byte gAreaRoomMap_MinishPaths1_4 + +gAreaRoomMap_CrenelMinishPaths_0:: @ 08103CF4 + map_bottom 0xF6B30, 0x5DC, 1, 1 + +gAreaRoomMap_CrenelMinishPaths_1:: @ 08103D00 + map_bottom 0xF6D24, 0x5DC, 1, 1 + +gAreaRoomMap_CrenelMinishPaths_2:: @ 08103D0C + map_bottom 0xF6FCC, 0x4B0, 1, 1 + +gAreaRoomMap_CrenelMinishPaths_3:: @ 08103D18 + map_bottom 0xF714C, 0x4B0, 1, 1 + +gAreaRoomMaps_CrenelMinishPaths:: @ 08103D24 + .4byte gAreaRoomMap_CrenelMinishPaths_0 + .4byte gAreaRoomMap_CrenelMinishPaths_1 + .4byte gAreaRoomMap_CrenelMinishPaths_2 + .4byte gAreaRoomMap_CrenelMinishPaths_3 + +gAreaRoomMap_MinishHouseInteriors_0:: @ 08103D34 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x139D8C, 0x96, 1 + map_unknown_2 0x139804, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_1:: @ 08103D58 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x13E770, 0x96, 1 + map_unknown_2 0x139DCC, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_2:: @ 08103D7C + map_bottom 0x0, 0x2000, 1 + map_unknown 0x142334, 0x1D0, 1 + map_unknown_2 0x13E7AC, 0x1000, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_3:: @ 08103DA0 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x144C24, 0xA0, 1 + map_unknown_2 0x1423A4, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_4:: @ 08103DC4 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x147460, 0xA0, 1 + map_unknown_2 0x144C58, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_5:: @ 08103DE8 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x149B84, 0xA0, 1 + map_unknown_2 0x14748C, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_6:: @ 08103E0C + map_bottom 0x0, 0x2000, 1 + map_unknown 0x14C7B0, 0xA0, 1 + map_unknown_2 0x149BB4, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_8:: @ 08103E30 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x15583C, 0xE1, 1 + map_unknown_2 0x151BF4, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_7:: @ 08103E54 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x151BC0, 0x96, 1 + map_unknown_2 0x14C7EC, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_9:: @ 08103E78 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x15A290, 0x159, 1 + map_unknown_2 0x15588C, 0x1000, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_10:: @ 08103E9C + map_bottom 0x0, 0x2000, 1 + map_unknown 0x15D544, 0x96, 1 + map_unknown_2 0x15A2E4, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_11:: @ 08103EC0 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x160898, 0x96, 1 + map_unknown_2 0x15D57C, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_12:: @ 08103EE4 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x163698, 0xDC, 1 + map_unknown_2 0x1608DC, 0x1000, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_13:: @ 08103F08 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x16C6F8, 0x96, 1 + map_unknown_2 0x1692D8, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_14:: @ 08103F2C + map_bottom 0x0, 0x2000, 1 + map_unknown 0x16FA58, 0x96, 1 + map_unknown_2 0x16C730, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_15:: @ 08103F50 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x172E58, 0x96, 1 + map_unknown_2 0x16FA8C, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_16:: @ 08103F74 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x17519C, 0x96, 1 + map_unknown_2 0x172E8C, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_17:: @ 08103F98 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x178664, 0x96, 1 + map_unknown_2 0x1751D0, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_18:: @ 08103FBC + map_bottom 0x0, 0x2000, 1 + map_unknown 0x17B3B8, 0x96, 1 + map_unknown_2 0x1786A0, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_19:: @ 08103FE0 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x17EA00, 0x96, 1 + map_unknown_2 0x17B3F0, 0x800, 1, 1 + +gAreaRoomMap_MinishHouseInteriors_20:: @ 08104004 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x181E7C, 0x96, 1 + map_unknown_2 0x17EA34, 0x800, 1, 1 + +gAreaRoomMaps_MinishHouseInteriors:: @ 08104028 + .4byte gAreaRoomMap_MinishHouseInteriors_0 + .4byte gAreaRoomMap_MinishHouseInteriors_1 + .4byte gAreaRoomMap_MinishHouseInteriors_2 + .4byte gAreaRoomMap_MinishHouseInteriors_3 + .4byte gAreaRoomMap_MinishHouseInteriors_4 + .4byte gAreaRoomMap_MinishHouseInteriors_5 + .4byte gAreaRoomMap_MinishHouseInteriors_6 + .4byte gAreaRoomMap_MinishHouseInteriors_7 + .4byte gAreaRoomMap_MinishHouseInteriors_8 + .4byte gAreaRoomMap_MinishHouseInteriors_9 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_MinishHouseInteriors_10 + .4byte gAreaRoomMap_MinishHouseInteriors_11 + .4byte gAreaRoomMap_MinishHouseInteriors_12 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_MinishHouseInteriors_13 + .4byte gAreaRoomMap_MinishHouseInteriors_14 + .4byte gAreaRoomMap_MinishHouseInteriors_15 + .4byte gAreaRoomMap_MinishHouseInteriors_16 + .4byte gAreaRoomMap_MinishHouseInteriors_17 + .4byte gAreaRoomMap_MinishHouseInteriors_18 + .4byte gAreaRoomMap_MinishHouseInteriors_19 + .4byte gAreaRoomMap_MinishHouseInteriors_20 + +gAreaRoomMap_TownMinishHoles_0:: @ 081040C8 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x184554, 0x96, 1 + map_unknown_2 0x181EB4, 0x800, 1, 1 + +gAreaRoomMap_TownMinishHoles_1:: @ 081040EC + map_bottom 0x0, 0x2000, 1 + map_unknown 0x1874D0, 0x96, 1 + map_unknown_2 0x184588, 0x800, 1, 1 + +gAreaRoomMap_TownMinishHoles_2:: @ 08104110 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x18A01C, 0x96, 1 + map_unknown_2 0x187514, 0x800, 1, 1 + +gAreaRoomMap_TownMinishHoles_3:: @ 08104134 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x18CFB8, 0x96, 1 + map_unknown_2 0x18A04C, 0x800, 1, 1 + +gAreaRoomMap_TownMinishHoles_4:: @ 08104158 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x18F98C, 0x96, 1 + map_unknown_2 0x18CFF4, 0x800, 1, 1 + +gAreaRoomMap_TownMinishHoles_5:: @ 0810417C + map_bottom 0x0, 0x2000, 1 + map_unknown 0x192FC0, 0x96, 1 + map_unknown_2 0x18F9C8, 0x800, 1, 1 + +gAreaRoomMap_TownMinishHoles_6:: @ 081041A0 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x196F84, 0x24C, 1 + map_unknown_2 0x192FF4, 0x2000, 1, 1 + +gAreaRoomMap_TownMinishHoles_7:: @ 081041C4 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x19BBAC, 0xE1, 1 + map_unknown_2 0x196FFC, 0x800, 1, 1 + +gAreaRoomMap_TownMinishHoles_8:: @ 081041E8 + map_bottom 0x0, 0x2000, 1 + map_unknown 0x19FCC0, 0x190, 1 + map_unknown_2 0x19BBE4, 0x2000, 1, 1 + +gAreaRoomMaps_TownMinishHoles:: @ 0810420C + .4byte gAreaRoomMap_TownMinishHoles_0 + .4byte gAreaRoomMap_TownMinishHoles_1 + .4byte gAreaRoomMap_TownMinishHoles_2 + .4byte gAreaRoomMap_TownMinishHoles_3 + .4byte gAreaRoomMap_TownMinishHoles_4 + .4byte gAreaRoomMap_TownMinishHoles_5 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_TownMinishHoles_6 + .4byte gAreaRoomMap_TownMinishHoles_7 + .4byte gAreaRoomMap_TownMinishHoles_8 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + +gAreaRoomMap_HouseInteriors1_0:: @ 081042CC + map_bottom 0x132A1C, 0x198, 1 + map_top 0x132B6C, 0x198, 1, 1 + +gAreaRoomMap_HouseInteriors1_1:: @ 081042E4 + map_bottom 0x132BB4, 0x14A, 1 + map_top 0x132CD8, 0x14A, 1, 1 + +gAreaRoomMap_HouseInteriors1_2:: @ 081042FC + map_bottom 0x132D38, 0x14A, 1 + map_top 0x132E50, 0x14A, 1, 1 + +gAreaRoomMap_HouseInteriors1_3:: @ 08104314 + map_bottom 0x132E80, 0x2C0, 1 + map_top 0x13305C, 0x2C0, 1, 1 + +gAreaRoomMap_HouseInteriors1_4:: @ 0810432C + map_bottom 0x1330E8, 0x1A4, 1 + map_top 0x13322C, 0x1A4, 1, 1 + +gAreaRoomMap_HouseInteriors1_5:: @ 08104344 + map_bottom 0x133280, 0x12C, 1 + map_top 0x133384, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors1_6:: @ 0810435C + map_bottom 0x1333F0, 0x12C, 1 + map_top 0x1334F4, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors1_7:: @ 08104374 + map_bottom 0x133544, 0x12C, 1 + map_top 0x133640, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors1_8:: @ 0810438C + map_bottom 0x133694, 0x12C, 1 + map_top 0x133790, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors1_9:: @ 081043A4 + map_bottom 0x1337C0, 0x348, 1 + map_top 0x133A3C, 0x348, 1, 1 + +gAreaRoomMap_HouseInteriors1_10:: @ 081043BC + map_bottom 0x133ACC, 0x12C, 1 + map_top 0x133BDC, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors1_11:: @ 081043D4 + map_bottom 0x133C08, 0x1C2, 1 + map_top 0x133D90, 0x1C2, 1, 1 + +gAreaRoomMap_HouseInteriors1_12:: @ 081043EC + map_bottom 0x133DD0, 0x1B8, 1 + map_top 0x133F48, 0x1B8, 1, 1 + +gAreaRoomMaps_HouseInteriors1:: @ 08104404 + .4byte gAreaRoomMap_HouseInteriors1_0 + .4byte gAreaRoomMap_HouseInteriors1_1 + .4byte gAreaRoomMap_HouseInteriors1_2 + .4byte gAreaRoomMap_HouseInteriors1_3 + .4byte gAreaRoomMap_HouseInteriors1_4 + .4byte gAreaRoomMap_HouseInteriors1_5 + .4byte gAreaRoomMap_HouseInteriors1_6 + .4byte gAreaRoomMap_HouseInteriors1_7 + .4byte gAreaRoomMap_HouseInteriors1_8 + .4byte gAreaRoomMap_HouseInteriors1_9 + .4byte gAreaRoomMap_HouseInteriors1_10 + .4byte gAreaRoomMap_HouseInteriors1_11 + .4byte gAreaRoomMap_HouseInteriors1_12 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + +gAreaRoomMap_HouseInteriors2_0:: @ 08104444 + map_bottom 0x12F9C8, 0x12C, 1 + map_top 0x12FAE8, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_1:: @ 0810445C + map_bottom 0x12FB40, 0x168, 1 + map_top 0x12FC5C, 0x168, 1, 1 + +gAreaRoomMap_HouseInteriors2_2:: @ 08104474 + map_bottom 0x12FCD4, 0x168, 1 + map_top 0x12FDF4, 0x168, 1, 1 + +gAreaRoomMap_HouseInteriors2_3:: @ 0810448C + map_bottom 0x12FE64, 0x168, 1 + map_top 0x12FF88, 0x168, 1, 1 + +gAreaRoomMap_HouseInteriors2_4:: @ 081044A4 + map_bottom 0x12FFF4, 0x168, 1 + map_top 0x130118, 0x168, 1, 1 + +gAreaRoomMap_HouseInteriors2_5:: @ 081044BC + map_bottom 0x130164, 0x14A, 1 + map_top 0x130254, 0x14A, 1, 1 + +gAreaRoomMap_HouseInteriors2_6:: @ 081044D4 + map_bottom 0x1302A8, 0x12C, 1 + map_top 0x1303C8, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_7:: @ 081044EC + map_bottom 0x130428, 0x168, 1 + map_top 0x130540, 0x168, 1, 1 + +gAreaRoomMap_HouseInteriors2_8:: @ 08104504 + map_bottom 0x130598, 0x14A, 1 + map_top 0x1306C4, 0x14A, 1, 1 + +gAreaRoomMap_HouseInteriors2_9:: @ 0810451C + map_bottom 0x130718, 0x12C, 1 + map_top 0x130824, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_10:: @ 08104534 + map_bottom 0x13087C, 0x12C, 1 + map_top 0x13098C, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_11:: @ 0810454C + map_bottom 0x1309E0, 0x12C, 1 + map_top 0x130AF8, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_12:: @ 08104564 + map_bottom 0x130B54, 0x12C, 1 + map_top 0x130C6C, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_13:: @ 0810457C + map_bottom 0x130CB4, 0x12C, 1 + map_top 0x130DD8, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_14:: @ 08104594 + map_bottom 0x130E28, 0x12C, 1 + map_top 0x130F48, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_15:: @ 081045AC + map_bottom 0x130F8C, 0x12C, 1 + map_top 0x1310A0, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_16:: @ 081045C4 + map_bottom 0x1310FC, 0x14A, 1 + map_top 0x1311D0, 0x14A, 1, 1 + +gAreaRoomMap_HouseInteriors2_17:: @ 081045DC + map_bottom 0x131234, 0x12C, 1 + map_top 0x131340, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors2_18:: @ 081045F4 + map_bottom 0x13138C, 0x12C, 1 + map_top 0x13149C, 0x12C, 1, 1 + +gAreaRoomMaps_HouseInteriors2:: @ 0810460C + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_1 + .4byte gAreaRoomMap_HouseInteriors2_2 + .4byte gAreaRoomMap_HouseInteriors2_3 + .4byte gAreaRoomMap_HouseInteriors2_4 + .4byte gAreaRoomMap_HouseInteriors2_5 + .4byte gAreaRoomMap_HouseInteriors2_6 + .4byte gAreaRoomMap_HouseInteriors2_7 + .4byte gAreaRoomMap_HouseInteriors2_8 + .4byte gAreaRoomMap_HouseInteriors2_9 + .4byte gAreaRoomMap_HouseInteriors2_10 + .4byte gAreaRoomMap_HouseInteriors2_11 + .4byte gAreaRoomMap_HouseInteriors2_12 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_13 + .4byte gAreaRoomMap_HouseInteriors2_14 + .4byte gAreaRoomMap_HouseInteriors2_15 + .4byte gAreaRoomMap_HouseInteriors2_16 + .4byte gAreaRoomMap_HouseInteriors2_17 + .4byte gAreaRoomMap_HouseInteriors2_18 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + .4byte gAreaRoomMap_HouseInteriors2_0 + +gAreaRoomMap_HouseInteriors4_0:: @ 081046CC + map_bottom 0x1314F4, 0x168, 1 + map_top 0x131600, 0x168, 1, 1 + +gAreaRoomMap_HouseInteriors4_1:: @ 081046E4 + map_bottom 0x131644, 0x168, 1 + map_top 0x131798, 0x168, 1, 1 + +gAreaRoomMap_HouseInteriors4_2:: @ 081046FC + map_bottom 0x1317D8, 0x12C, 1 + map_top 0x1318EC, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors4_3:: @ 08104714 + map_bottom 0x13192C, 0x12C, 1 + map_top 0x131A44, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors4_4:: @ 0810472C + map_bottom 0x131A70, 0x12C, 1 + map_top 0x131B80, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors4_5:: @ 08104744 + map_bottom 0x131BDC, 0x168, 1 + map_top 0x131D10, 0x168, 1, 1 + +gAreaRoomMaps_HouseInteriors4:: @ 0810475C + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_1 + .4byte gAreaRoomMap_HouseInteriors4_2 + .4byte gAreaRoomMap_HouseInteriors4_3 + .4byte gAreaRoomMap_HouseInteriors4_4 + .4byte gAreaRoomMap_HouseInteriors4_5 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + .4byte gAreaRoomMap_HouseInteriors4_0 + +gAreaRoomMap_HouseInteriors3_0:: @ 0810479C + map_bottom 0x131D48, 0x186, 1 + map_top 0x131E7C, 0x186, 1, 1 + +gAreaRoomMap_HouseInteriors3_1:: @ 081047B4 + map_bottom 0x131EF8, 0x186, 1 + map_top 0x13202C, 0x186, 1, 1 + +gAreaRoomMap_HouseInteriors3_2:: @ 081047CC + map_bottom 0x13208C, 0x12C, 1 + map_top 0x1321A4, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors3_3:: @ 081047E4 + map_bottom 0x1321F4, 0x168, 1 + map_top 0x132304, 0x168, 1, 1 + +gAreaRoomMap_HouseInteriors3_4:: @ 081047FC + map_bottom 0x132354, 0x12C, 1 + map_top 0x132468, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors3_5:: @ 08104814 + map_bottom 0x1324B4, 0x12C, 1 + map_top 0x1325AC, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors3_6:: @ 0810482C + map_bottom 0x1325F4, 0x14A, 1 + map_top 0x13272C, 0x14A, 1, 1 + +gAreaRoomMap_HouseInteriors3_7:: @ 08104844 + map_bottom 0x132778, 0x12C, 1 + map_top 0x132878, 0x12C, 1, 1 + +gAreaRoomMap_HouseInteriors3_8:: @ 0810485C + map_bottom 0x1328BC, 0x140, 1 + map_top 0x1329D4, 0x140, 1, 1 + +gAreaRoomMaps_HouseInteriors3:: @ 08104874 + .4byte gAreaRoomMap_HouseInteriors3_0 + .4byte gAreaRoomMap_HouseInteriors3_1 + .4byte gAreaRoomMap_HouseInteriors3_2 + .4byte gAreaRoomMap_HouseInteriors3_3 + .4byte gAreaRoomMap_HouseInteriors3_4 + .4byte gAreaRoomMap_HouseInteriors3_5 + .4byte gAreaRoomMap_HouseInteriors3_6 + .4byte gAreaRoomMap_HouseInteriors3_7 + .4byte gAreaRoomMap_HouseInteriors3_8 + +gAreaRoomMap_TreeInteriors_0:: @ 08104898 + map_bottom 0x1350AC, 0x12C, 0 + map_top 0x1351D8, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_1:: @ 081048B0 + map_bottom 0x135208, 0x12C, 0 + map_top 0x135334, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_2:: @ 081048C8 + map_bottom 0x135360, 0x12C, 0 + map_top 0x13548C, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_3:: @ 081048E0 + map_bottom 0x1354D0, 0x12C, 0 + map_top 0x1355FC, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_4:: @ 081048F8 + map_bottom 0x135628, 0x12C, 0 + map_top 0x135754, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_5:: @ 08104910 + map_bottom 0x135780, 0x12C, 0 + map_top 0x1358AC, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_6:: @ 08104928 + map_bottom 0x1358D8, 0x12C, 0 + map_top 0x135A04, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_7:: @ 08104940 + map_bottom 0x135A30, 0x12C, 0 + map_top 0x135B5C, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_8:: @ 08104958 + map_bottom 0x135B88, 0x12C, 0 + map_top 0x135CB4, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_9:: @ 08104970 + map_bottom 0x135CE0, 0x12C, 0 + map_top 0x135E0C, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_10:: @ 08104988 + map_bottom 0x135E38, 0x12C, 0 + map_top 0x135F64, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_11:: @ 081049A0 + map_bottom 0x135F90, 0x12C, 0 + map_top 0x1360BC, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_12:: @ 081049B8 + map_bottom 0x1360EC, 0x12C, 0 + map_top 0x136218, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_13:: @ 081049D0 + map_bottom 0x136248, 0x12C, 0 + map_top 0x136374, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_14:: @ 081049E8 + map_bottom 0x1363CC, 0x12C, 0 + map_top 0x1364F8, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_15:: @ 08104A00 + map_bottom 0x136528, 0x12C, 0 + map_top 0x136654, 0x12C, 1, 1 + +gAreaRoomMap_TreeInteriors_16:: @ 08104A18 + map_bottom 0x136694, 0x12C, 0 + map_top 0x1367C0, 0x12C, 1, 1 + +gAreaRoomMaps_TreeInteriors:: @ 08104A30 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_0 + .4byte gAreaRoomMap_TreeInteriors_1 + .4byte gAreaRoomMap_TreeInteriors_2 + .4byte gAreaRoomMap_TreeInteriors_3 + .4byte gAreaRoomMap_TreeInteriors_4 + .4byte gAreaRoomMap_TreeInteriors_5 + .4byte gAreaRoomMap_TreeInteriors_6 + .4byte gAreaRoomMap_TreeInteriors_7 + .4byte gAreaRoomMap_TreeInteriors_8 + .4byte gAreaRoomMap_TreeInteriors_9 + .4byte gAreaRoomMap_TreeInteriors_10 + .4byte gAreaRoomMap_TreeInteriors_11 + .4byte gAreaRoomMap_TreeInteriors_12 + .4byte gAreaRoomMap_TreeInteriors_13 + .4byte gAreaRoomMap_TreeInteriors_14 + .4byte gAreaRoomMap_TreeInteriors_15 + .4byte gAreaRoomMap_TreeInteriors_16 + +gAreaRoomMap_Dojos_0:: @ 08104AB0 + map_bottom 0x133F88, 0x168, 1 + map_top 0x1340B0, 0x168, 1, 1 + +gAreaRoomMap_Dojos_1:: @ 08104AC8 + map_bottom 0x1340EC, 0x168, 1 + map_top 0x13421C, 0x168, 1, 1 + +gAreaRoomMap_Dojos_2:: @ 08104AE0 + map_bottom 0x134254, 0x168, 1 + map_top 0x134384, 0x168, 1, 1 + +gAreaRoomMap_Dojos_3:: @ 08104AF8 + map_bottom 0x1343BC, 0x168, 1 + map_top 0x1344E0, 0x168, 1, 1 + +gAreaRoomMap_Dojos_4:: @ 08104B10 + map_bottom 0x134518, 0x168, 1 + map_top 0x13463C, 0x168, 1, 1 + +gAreaRoomMap_Dojos_5:: @ 08104B28 + map_bottom 0x134674, 0x168, 1 + map_top 0x1347A8, 0x168, 1, 1 + +gAreaRoomMap_Dojos_6:: @ 08104B40 + map_bottom 0x1347E0, 0x168, 1 + map_top 0x13490C, 0x168, 1, 1 + +gAreaRoomMap_Dojos_7:: @ 08104B58 + map_bottom 0x134944, 0x12C, 1 + map_top 0x1349E4, 0x12C, 1, 1 + +gAreaRoomMap_Dojos_8:: @ 08104B70 + map_bottom 0x134A28, 0x12C, 1 + map_top 0x134ACC, 0x12C, 1, 1 + +gAreaRoomMap_Dojos_9:: @ 08104B88 + map_bottom 0x134B1C, 0x12C, 1 + map_top 0x134BC0, 0x12C, 1, 1 + +gAreaRoomMap_Dojos_10:: @ 08104BA0 + map_bottom 0x134C34, 0x12C, 1 + map_top 0x134CF8, 0x12C, 1, 1 + +gAreaRoomMap_Dojos_11:: @ 08104BB8 + map_bottom 0x134D28, 0x12C, 1 + map_top 0x134E28, 0x12C, 1, 1 + +gAreaRoomMap_Dojos_12:: @ 08104BD0 + map_bottom 0x134E58, 0x12C, 1 + map_top 0x134F54, 0x12C, 1, 1 + +gAreaRoomMap_Dojos_13:: @ 08104BE8 + map_bottom 0x134F84, 0x12C, 1 + map_top 0x13507C, 0x12C, 1, 1 + +gAreaRoomMaps_Dojos:: @ 08104C00 + .4byte gAreaRoomMap_Dojos_0 + .4byte gAreaRoomMap_Dojos_1 + .4byte gAreaRoomMap_Dojos_2 + .4byte gAreaRoomMap_Dojos_3 + .4byte gAreaRoomMap_Dojos_4 + .4byte gAreaRoomMap_Dojos_5 + .4byte gAreaRoomMap_Dojos_6 + .4byte gAreaRoomMap_Dojos_7 + .4byte gAreaRoomMap_Dojos_8 + .4byte gAreaRoomMap_Dojos_9 + .4byte gAreaRoomMap_Dojos_10 + .4byte gAreaRoomMap_Dojos_11 + .4byte gAreaRoomMap_Dojos_12 + .4byte gAreaRoomMap_Dojos_13 + .4byte gAreaRoomMap_Dojos_0 + .4byte gAreaRoomMap_Dojos_0 + +gAreaRoomMap_MinishCracks_0:: @ 08104C40 + map_bottom 0x1367EC, 0x12C, 0 + map_top 0x136918, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_1:: @ 08104C58 + map_bottom 0x136948, 0x12C, 0 + map_top 0x136A74, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_2:: @ 08104C70 + map_bottom 0x136AC4, 0x12C, 0 + map_top 0x136BF0, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_3:: @ 08104C88 + map_bottom 0x136C44, 0x12C, 0 + map_top 0x136D70, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_4:: @ 08104CA0 + map_bottom 0x136DC4, 0x12C, 0 + map_top 0x136EF0, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_5:: @ 08104CB8 + map_bottom 0x136F40, 0x12C, 1 + map_top 0x137058, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_6:: @ 08104CD0 + map_bottom 0x13709C, 0x12C, 0 + map_top 0x1371C8, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_7:: @ 08104CE8 + map_bottom 0x1371F4, 0x12C, 0 + map_top 0x137320, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_8:: @ 08104D00 + map_bottom 0x137374, 0x12C, 0 + map_top 0x1374A0, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_9:: @ 08104D18 + map_bottom 0x1374D0, 0x12C, 0 + map_top 0x1375FC, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_10:: @ 08104D30 + map_bottom 0x13762C, 0x12C, 0 + map_top 0x137758, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_11:: @ 08104D48 + map_bottom 0x137788, 0x12C, 0 + map_top 0x1378B4, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_12:: @ 08104D60 + map_bottom 0x1378E4, 0x12C, 0 + map_top 0x137A10, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_13:: @ 08104D78 + map_bottom 0x137A40, 0x12C, 0 + map_top 0x137B6C, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_14:: @ 08104D90 + map_bottom 0x137B9C, 0x12C, 1 + map_top 0x137CAC, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_15:: @ 08104DA8 + map_bottom 0x137CDC, 0x12C, 1 + map_top 0x137DEC, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_16:: @ 08104DC0 + map_bottom 0x137E1C, 0x12C, 1 + map_top 0x137F2C, 0x12C, 1, 1 + +gAreaRoomMap_MinishCracks_17:: @ 08104DD8 + map_bottom 0x137F64, 0x12C, 1 + map_top 0x138078, 0x12C, 1, 1 + +gAreaRoomMaps_MinishCracks:: @ 08104DF0 + .4byte gAreaRoomMap_MinishCracks_0 + .4byte gAreaRoomMap_MinishCracks_1 + .4byte gAreaRoomMap_MinishCracks_2 + .4byte gAreaRoomMap_MinishCracks_3 + .4byte gAreaRoomMap_MinishCracks_4 + .4byte gAreaRoomMap_MinishCracks_5 + .4byte gAreaRoomMap_MinishCracks_6 + .4byte gAreaRoomMap_MinishCracks_7 + .4byte gAreaRoomMap_MinishCracks_8 + .4byte gAreaRoomMap_MinishCracks_9 + .4byte gAreaRoomMap_MinishCracks_10 + .4byte gAreaRoomMap_MinishCracks_11 + .4byte gAreaRoomMap_MinishCracks_12 + .4byte gAreaRoomMap_MinishCracks_13 + .4byte gAreaRoomMap_MinishCracks_14 + .4byte gAreaRoomMap_MinishCracks_15 + .4byte gAreaRoomMap_MinishCracks_16 + .4byte gAreaRoomMap_MinishCracks_17 + +gAreaRoomMap_ArmosInterios_0:: @ 08104E38 + map_bottom 0xA595C, 0x12C, 0 + map_top 0xA5A88, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_1:: @ 08104E50 + map_bottom 0xA5AC8, 0x12C, 0 + map_top 0xA5BF4, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_2:: @ 08104E68 + map_bottom 0xA5C34, 0x12C, 0 + map_top 0xA5D60, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_3:: @ 08104E80 + map_bottom 0xA5DA0, 0x12C, 0 + map_top 0xA5ECC, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_4:: @ 08104E98 + map_bottom 0xA5F0C, 0x12C, 0 + map_top 0xA6038, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_5:: @ 08104EB0 + map_bottom 0xA6078, 0x12C, 0 + map_top 0xA61A4, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_6:: @ 08104EC8 + map_bottom 0xA61E4, 0x12C, 0 + map_top 0xA6310, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_7:: @ 08104EE0 + map_bottom 0xA6350, 0x12C, 0 + map_top 0xA647C, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_8:: @ 08104EF8 + map_bottom 0xA64BC, 0x12C, 0 + map_top 0xA65E8, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_9:: @ 08104F10 + map_bottom 0xA6628, 0x12C, 0 + map_top 0xA6754, 0x12C, 1, 1 + +gAreaRoomMap_ArmosInterios_10:: @ 08104F28 + map_bottom 0xA6794, 0x12C, 0 + map_top 0xA68C0, 0x12C, 1, 1 + +gAreaRoomMaps_ArmosInteriors:: @ 08104F40 + .4byte gAreaRoomMap_ArmosInterios_0 + .4byte gAreaRoomMap_ArmosInterios_1 + .4byte gAreaRoomMap_ArmosInterios_2 + .4byte gAreaRoomMap_ArmosInterios_3 + .4byte gAreaRoomMap_ArmosInterios_4 + .4byte gAreaRoomMap_ArmosInterios_5 + .4byte gAreaRoomMap_ArmosInterios_6 + .4byte gAreaRoomMap_ArmosInterios_7 + .4byte gAreaRoomMap_ArmosInterios_8 + .4byte gAreaRoomMap_ArmosInterios_9 + .4byte gAreaRoomMap_ArmosInterios_10 + +gAreaRoomMap_MinishRafters_0:: @ 08104F6C + map_bottom 0x1380A8, 0x3E0, 1, 1 + +gAreaRoomMap_MinishRafters_1:: @ 08104F78 + map_bottom 0x1382F4, 0x3E0, 1, 1 + +gAreaRoomMap_MinishRafters_2:: @ 08104F84 + map_bottom 0x138510, 0x3E0, 1, 1 + +gAreaRoomMap_MinishRafters_3:: @ 08104F90 + map_bottom 0x1387B4, 0x3E0, 1, 1 + +gAreaRoomMaps_MinishRafters:: @ 08104F9C + .4byte gAreaRoomMap_MinishRafters_0 + .4byte gAreaRoomMap_MinishRafters_1 + .4byte gAreaRoomMap_MinishRafters_2 + .4byte gAreaRoomMap_MinishRafters_3 + +gAreaRoomMap_GoronCave_0:: @ 08104FAC + map_bottom 0xB0054, 0x12C, 1 + map_top 0xB0118, 0x12C, 1, 1 + +gAreaRoomMap_GoronCave_1:: @ 08104FC4 + map_bottom 0xB015C, 0x546, 1 + map_top 0xB03E0, 0x546, 1, 1 + +gAreaRoomMaps_GoronCave:: @ 08104FDC + .4byte gAreaRoomMap_GoronCave_0 + .4byte gAreaRoomMap_GoronCave_1 + +gAreaRoomMap_WindTribeTower_0:: @ 08104FE4 + map_bottom 0x138BD8, 0x276, 1 + map_top 0x138DB8, 0x276, 1, 1 + +gAreaRoomMap_WindTribeTower_1:: @ 08104FFC + map_bottom 0x138E3C, 0x276, 1 + map_top 0x139028, 0x276, 1, 1 + +gAreaRoomMap_WindTribeTower_2:: @ 08105014 + map_bottom 0x1390A4, 0x276, 1 + map_top 0x13927C, 0x276, 1, 1 + +gAreaRoomMap_WindTribeTower_3:: @ 0810502C + map_bottom 0x1392FC, 0x276, 1 + map_top 0x1394EC, 0x276, 1, 1 + +gAreaRoomMaps_WindTribeTower:: @ 08105044 + .4byte gAreaRoomMap_WindTribeTower_0 + .4byte gAreaRoomMap_WindTribeTower_1 + .4byte gAreaRoomMap_WindTribeTower_2 + .4byte gAreaRoomMap_WindTribeTower_3 + +gAreaRoomMap_WindTribeTowerRoof_0:: @ 08105054 + map_bottom 0x13954C, 0x30C, 1 + map_top 0x1397A0, 0x30C, 1, 1 + +gAreaRoomMaps_WindTribeTowerRoof:: @ 0810506C + .4byte gAreaRoomMap_WindTribeTowerRoof_0 + +gAreaRoomMap_MinishCaves_0:: @ 08105070 + map_bottom 0xC12D4, 0x474, 1 + map_top 0xC15F4, 0x474, 1, 1 + +gAreaRoomMap_MinishCaves_1:: @ 08105088 + map_bottom 0xC16AC, 0x41A, 1 + map_top 0xC198C, 0x41A, 1, 1 + +gAreaRoomMap_MinishCaves_2:: @ 081050A0 + map_bottom 0xC1A30, 0x1FE, 1 + map_top 0xC1B90, 0x1FE, 1, 1 + +gAreaRoomMap_MinishCaves_3:: @ 081050B8 + map_bottom 0xC1BEC, 0x4CE, 1 + map_top 0xC1EDC, 0x4CE, 1, 1 + +gAreaRoomMap_MinishCaves_4:: @ 081050D0 + map_bottom 0xC1FA0, 0x1C2, 1 + map_top 0xC2124, 0x1C2, 1, 1 + +gAreaRoomMap_MinishCaves_5:: @ 081050E8 + map_bottom 0xC2174, 0x258, 1 + map_top 0xC2368, 0x258, 1, 1 + +gAreaRoomMap_MinishCaves_6:: @ 08105100 + map_bottom 0xC23D8, 0x258, 1 + map_top 0xC25C4, 0x258, 1, 1 + +gAreaRoomMap_MinishCaves_7:: @ 08105118 + map_bottom 0xC262C, 0x744, 1 + map_top 0xC2A54, 0x744, 1, 1 + +gAreaRoomMap_MinishCaves_8:: @ 08105130 + map_bottom 0xC2B64, 0x4B0, 1 + map_top 0xC2DFC, 0x4B0, 1, 1 + +gAreaRoomMap_MinishCaves_9:: @ 08105148 + map_bottom 0xC2E94, 0x618, 1 + map_top 0xC3294, 0x618, 1, 1 + +gAreaRoomMaps_MinishCaves:: @ 08105160 + .4byte gAreaRoomMap_MinishCaves_0 + .4byte gAreaRoomMap_MinishCaves_1 + .4byte gAreaRoomMap_MinishCaves_2 + .4byte gAreaRoomMap_MinishCaves_3 + .4byte gAreaRoomMap_MinishCaves_4 + .4byte gAreaRoomMap_MinishCaves_5 + .4byte gAreaRoomMap_MinishCaves_6 + .4byte gAreaRoomMap_MinishCaves_7 + .4byte gAreaRoomMap_MinishCaves_8 + .4byte gAreaRoomMap_MinishCaves_9 + +gAreaRoomMap_CastleGardenMinishHoles_0:: @ 08105188 + map_bottom 0xC3368, 0x1C2, 1 + map_top 0xC3508, 0x1C2, 1, 1 + +gAreaRoomMap_CastleGardenMinishHoles_1:: @ 081051A0 + map_bottom 0xC3554, 0x1C2, 1 + map_top 0xC36F0, 0x1C2, 1, 1 + +gAreaRoomMaps_CastleGardenMinishHoles:: @ 081051B8 + .4byte gAreaRoomMap_CastleGardenMinishHoles_0 + .4byte gAreaRoomMap_CastleGardenMinishHoles_1 + +gAreaRoomMap_37_0:: @ 081051C0 + map_bottom 0xC373C, 0x1C2, 1 + map_top 0xC38F0, 0x1C2, 1, 1 + +gAreaRoomMap_37_1:: @ 081051D8 + map_bottom 0xC3988, 0x1C2, 1 + map_top 0xC3B38, 0x1C2, 1, 1 + +gAreaRoomMaps_37:: @ 081051F0 + .4byte gAreaRoomMap_37_0 + .4byte gAreaRoomMap_37_1 + +gAreaRoomMap_EzloCutscene_0:: @ 081051F8 + map_bottom 0x1389B8, 0x258, 1 + map_top 0x138B50, 0x258, 1, 1 + +gAreaRoomMaps_EzloCutscene:: @ 08105210 + .4byte gAreaRoomMap_EzloCutscene_0 + +gAreaRoomMap_HyruleTownUnderground_0:: @ 08105214 + map_bottom 0x1AA7A4, 0xE10, 1 + map_top 0x1AAC74, 0xE10, 1, 1 + +gAreaRoomMap_HyruleTownUnderground_1:: @ 0810522C + map_bottom 0x1AAE34, 0x12C, 1 + map_top 0x1AAF18, 0x12C, 1, 1 + +gAreaRoomMaps_HyruleTownUnderground:: @ 08105244 + .4byte gAreaRoomMap_HyruleTownUnderground_0 + .4byte gAreaRoomMap_HyruleTownUnderground_1 + +gAreaRoomMap_GardenFountains_0:: @ 0810524C + map_bottom 0x1AAF44, 0x12C, 1 + map_top 0x1AB024, 0x12C, 1, 1 + +gAreaRoomMap_GardenFountains_1:: @ 08105264 + map_bottom 0x1AB058, 0x12C, 1 + map_top 0x1AB150, 0x12C, 1, 1 + +gAreaRoomMaps_GardenFountains:: @ 0810527C + .4byte gAreaRoomMap_GardenFountains_0 + .4byte gAreaRoomMap_GardenFountains_1 + +gAreaRoomMap_HyruleCastleCellar_0:: @ 08105284 + map_bottom 0x1AB184, 0x3C0, 1 + map_top 0x1AB2D4, 0x3C0, 1, 1 + +gAreaRoomMap_HyruleCastleCellar_1:: @ 0810529C + map_bottom 0x1AB354, 0x1E0, 1 + map_top 0x1AB428, 0x1E0, 1, 1 + +gAreaRoomMaps_HyruleCastleCellar:: @ 081052B4 + .4byte gAreaRoomMap_HyruleCastleCellar_0 + .4byte gAreaRoomMap_HyruleCastleCellar_1 + +gAreaRoomMap_SimonsSimulation_0:: @ 081052BC + map_bottom 0x1AB474, 0x23A, 1 + map_top 0x1AB5A8, 0x23A, 1, 1 + +gAreaRoomMaps_SimonsSimulation:: @ 081052D4 + .4byte gAreaRoomMap_SimonsSimulation_0 + +gAreaRoomMap_40_0:: @ 081052D8 + map_bottom 0x1A93EC, 0x286, 1 + map_top 0x1A958C, 0x286, 1, 1 + +gAreaRoomMap_40_1:: @ 081052F0 + map_bottom 0x1A95F8, 0x30E, 1 + map_top 0x1A982C, 0x30E, 1, 1 + +gAreaRoomMap_40_2:: @ 08105308 + map_bottom 0x1A98CC, 0x286, 1 + map_top 0x1A9A30, 0x286, 1, 1 + +gAreaRoomMap_40_3:: @ 08105320 + map_bottom 0x1A9AD0, 0x286, 1 + map_top 0x1A9C28, 0x286, 1, 1 + +gAreaRoomMap_40_4:: @ 08105338 + map_bottom 0x1A9CC8, 0x30E, 1 + map_top 0x1A9E68, 0x30E, 1, 1 + +gAreaRoomMap_40_5:: @ 08105350 + map_bottom 0x1A9EF4, 0x286, 1 + map_top 0x1AA084, 0x286, 1, 1 + +gAreaRoomMap_40_6:: @ 08105368 + map_bottom 0x1AA114, 0x520, 1 + map_top 0x1AA384, 0x520, 1, 1 + +gAreaRoomMap_40_7:: @ 08105380 + map_bottom 0x1AA468, 0x28A, 1 + map_top 0x1AA5AC, 0x28A, 1, 1 + +gAreaRoomMap_40_8:: @ 08105398 + map_bottom 0x1AA628, 0x200, 1 + map_top 0x1AA72C, 0x200, 1, 1 + +gAreaRoomMaps_40:: @ 081053B0 + .4byte gAreaRoomMap_40_0 + .4byte gAreaRoomMap_40_1 + .4byte gAreaRoomMap_40_2 + .4byte gAreaRoomMap_40_3 + .4byte gAreaRoomMap_40_4 + .4byte gAreaRoomMap_40_5 + .4byte gAreaRoomMap_40_6 + .4byte gAreaRoomMap_40_7 + .4byte gAreaRoomMap_40_8 + +gAreaRoomMap_DeepwoodShrine_0:: @ 081053D4 + map_bottom 0x1BF038, 0x1FE, 1 + map_top 0x1BF14C, 0x1FE, 1, 1 + +gAreaRoomMap_DeepwoodShrine_1:: @ 081053EC + map_bottom 0x1BF274, 0x2EE, 1 + map_top 0x1BF444, 0x2EE, 1, 1 + +gAreaRoomMap_DeepwoodShrine_2:: @ 08105404 + map_bottom 0x1BF5AC, 0x276, 1 + map_top 0x1BF758, 0x276, 1, 1 + +gAreaRoomMap_DeepwoodShrine_3:: @ 0810541C + map_bottom 0x1BF89C, 0x1FE, 1 + map_top 0x1BFA34, 0x1FE, 1, 1 + +gAreaRoomMap_DeepwoodShrine_4:: @ 08105434 + map_bottom 0x1BFB34, 0x154, 1 + map_top 0x1BFC58, 0x154, 1, 1 + +gAreaRoomMap_DeepwoodShrine_5:: @ 0810544C + map_bottom 0x1BFD30, 0x352, 1 + map_top 0x1BFFA0, 0x352, 1, 1 + +gAreaRoomMap_DeepwoodShrine_6:: @ 08105464 + map_bottom 0x1C00F8, 0x5AA, 1 + map_top 0x1C0470, 0x5AA, 1, 1 + +gAreaRoomMap_DeepwoodShrine_7:: @ 0810547C + map_bottom 0x1C063C, 0x352, 1 + map_top 0x1C088C, 0x352, 1, 1 + +gAreaRoomMap_DeepwoodShrine_8:: @ 08105494 + map_bottom 0x1C09C0, 0x198, 1 + map_top 0x1C0AF4, 0x198, 1, 1 + +gAreaRoomMap_DeepwoodShrine_9:: @ 081054AC + map_bottom 0x1C0BEC, 0x1BA, 1 + map_top 0x1C0D48, 0x1BA, 1, 1 + +gAreaRoomMap_DeepwoodShrine_10:: @ 081054C4 + map_bottom 0x1C0E30, 0x2CA, 1 + map_top 0x1C1008, 0x2CA, 1, 1 + +gAreaRoomMap_DeepwoodShrine_11:: @ 081054DC + map_bottom 0x1C1154, 0x2CA, 1 + map_top 0x1C132C, 0x2CA, 1, 1 + +gAreaRoomMap_DeepwoodShrine_12:: @ 081054F4 + map_bottom 0x1C14E4, 0x2CA, 1 + map_top 0x1C1690, 0x2CA, 1, 1 + +gAreaRoomMap_DeepwoodShrine_13:: @ 0810550C + map_bottom 0x1C1800, 0x2EE, 1 + map_top 0x1C1A34, 0x2EE, 1, 1 + +gAreaRoomMap_DeepwoodShrine_14:: @ 08105524 + map_bottom 0x1C1B10, 0x276, 1 + map_top 0x1C1D08, 0x276, 1, 1 + +gAreaRoomMap_DeepwoodShrine_15:: @ 0810553C + map_bottom 0x1C1DDC, 0x198, 1 + map_top 0x1C1F14, 0x198, 1, 1 + +gAreaRoomMap_DeepwoodShrine_16:: @ 08105554 + map_bottom 0x1C1FB4, 0x5AA, 1 + map_top 0x1C2264, 0x5AA, 1, 1 + +gAreaRoomMap_DeepwoodShrine_17:: @ 0810556C + map_bottom 0x1C2490, 0x264, 1 + map_top 0x1C25D4, 0x264, 1, 1 + +gAreaRoomMap_DeepwoodShrineBoss_0:: @ 08105584 + map_bottom 0x1C26EC, 0x1FE, 1 + map_top 0x1C28C4, 0x1FE, 1, 1 + +gAreaRoomMap_DeepwoodShrine_18:: @ 0810559C + map_bottom 0x1C296C, 0x2CA, 1 + map_top 0x1C2B40, 0x2CA, 1, 1 + +gAreaRoomMap_DeepwoodShrine_19:: @ 081055B4 + map_bottom 0x1C2CF4, 0x12C, 1 + map_top 0x1C2D2C, 0x12C, 1, 1 + +gAreaRoomMap_DeepwoodShrineEntry_0:: @ 081055CC + map_bottom 0x1C2D80, 0x1C2, 0 + map_top 0x1C2F44, 0x1C2, 1, 1 + +gAreaRoomMaps_DeepwoodShrine:: @ 081055E4 + .4byte gAreaRoomMap_DeepwoodShrine_0 + .4byte gAreaRoomMap_DeepwoodShrine_1 + .4byte gAreaRoomMap_DeepwoodShrine_2 + .4byte gAreaRoomMap_DeepwoodShrine_3 + .4byte gAreaRoomMap_DeepwoodShrine_4 + .4byte gAreaRoomMap_DeepwoodShrine_5 + .4byte gAreaRoomMap_DeepwoodShrine_6 + .4byte gAreaRoomMap_DeepwoodShrine_7 + .4byte gAreaRoomMap_DeepwoodShrine_8 + .4byte gAreaRoomMap_DeepwoodShrine_9 + .4byte gAreaRoomMap_DeepwoodShrine_10 + .4byte gAreaRoomMap_DeepwoodShrine_11 + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_DeepwoodShrine_12 + .4byte gAreaRoomMap_DeepwoodShrine_13 + .4byte gAreaRoomMap_DeepwoodShrine_14 + .4byte gAreaRoomMap_DeepwoodShrine_15 + .4byte gAreaRoomMap_DeepwoodShrine_16 + .4byte gAreaRoomMap_DeepwoodShrine_17 + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_DeepwoodShrine_18 + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_Unused + .4byte gAreaRoomMap_DeepwoodShrine_19 + +gAreaRoomMaps_DeepwoodShrineBoss:: @ 08105668 + .4byte gAreaRoomMap_DeepwoodShrineBoss_0 + +gAreaRoomMaps_DeepwoodShrineEntry:: @ 0810566C + .4byte gAreaRoomMap_DeepwoodShrineEntry_0 + +gAreaRoomMap_CaveOfFlames_0:: @ 08105670 + map_bottom 0x1D6458, 0x30E, 1 + map_top 0x1D65CC, 0x30E, 1, 1 + +gAreaRoomMap_CaveOfFlames_1:: @ 08105688 + map_bottom 0x1D67A8, 0x30E, 1 + map_top 0x1D6908, 0x30E, 1, 1 + +gAreaRoomMap_CaveOfFlames_2:: @ 081056A0 + map_bottom 0x1D6AE0, 0x4AC, 1 + map_top 0x1D6C00, 0x4AC, 1, 1 + +gAreaRoomMap_CaveOfFlames_3:: @ 081056B8 + map_bottom 0x1D6F10, 0x1BA, 1 + map_top 0x1D6F4C, 0x1BA, 1, 1 + +gAreaRoomMap_CaveOfFlames_4:: @ 081056D0 + map_bottom 0x1D70D4, 0x74E, 1 + map_top 0x1D72BC, 0x74E, 1, 1 + +gAreaRoomMap_CaveOfFlames_5:: @ 081056E8 + map_bottom 0x1D76E8, 0x1BA, 1 + map_top 0x1D7724, 0x1BA, 1, 1 + +gAreaRoomMap_CaveOfFlames_6:: @ 08105700 + map_bottom 0x1D78CC, 0x5B6, 1 + map_top 0x1D7984, 0x5B6, 1, 1 + +gAreaRoomMap_CaveOfFlames_7:: @ 08105718 + map_bottom 0x1D7CF8, 0x1FE, 1 + map_top 0x1D7D3C, 0x1FE, 1, 1 + +gAreaRoomMap_CaveOfFlames_8:: @ 08105730 + map_bottom 0x1D7F00, 0x508, 1 + map_top 0x1D8158, 0x508, 1, 1 + +gAreaRoomMap_CaveOfFlames_9:: @ 08105748 + map_bottom 0x1D8420, 0x508, 1 + map_top 0x1D869C, 0x508, 1, 1 + +gAreaRoomMap_CaveOfFlames_10:: @ 08105760 + map_bottom 0x1D8940, 0x9D8, 1 + map_top 0x1D8CAC, 0x9D8, 1, 1 + +gAreaRoomMap_CaveOfFlames_11:: @ 08105778 + map_bottom 0x1D9094, 0x4EC, 1 + map_top 0x1D9264, 0x4EC, 1, 1 + +gAreaRoomMap_CaveOfFlames_12:: @ 08105790 + map_bottom 0x1D940C, 0x276, 1 + map_top 0x1D956C, 0x276, 1, 1 + +gAreaRoomMap_CaveOfFlames_13:: @ 081057A8 + map_bottom 0x1D9688, 0x276, 1 + map_top 0x1D97E0, 0x276, 1, 1 + +gAreaRoomMap_CaveOfFlames_14:: @ 081057C0 + map_bottom 0x1D992C, 0x276, 1 + map_top 0x1D9A28, 0x276, 1, 1 + +gAreaRoomMap_CaveOfFlames_15:: @ 081057D8 + map_bottom 0x1D9BA8, 0x186, 1 + map_top 0x1D9BE0, 0x186, 1, 1 + +gAreaRoomMap_CaveOfFlames_16:: @ 081057F0 + map_bottom 0x1D9D48, 0x186, 1 + map_top 0x1D9D80, 0x186, 1, 1 + +gAreaRoomMap_CaveOfFlames_17:: @ 08105808 + map_bottom 0x1D9EC8, 0x9D8, 1 + map_top 0x1DA3B4, 0x9D8, 1, 1 + +gAreaRoomMaps_CaveOfFlames:: @ 08105820 + .4byte gAreaRoomMap_CaveOfFlames_0 + .4byte gAreaRoomMap_CaveOfFlames_1 + .4byte gAreaRoomMap_CaveOfFlames_2 + .4byte gAreaRoomMap_CaveOfFlames_3 + .4byte gAreaRoomMap_CaveOfFlames_4 + .4byte gAreaRoomMap_CaveOfFlames_5 + .4byte gAreaRoomMap_CaveOfFlames_6 + .4byte gAreaRoomMap_CaveOfFlames_7 + .4byte gAreaRoomMap_CaveOfFlames_8 + .4byte gAreaRoomMap_CaveOfFlames_9 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_CaveOfFlames_10 + .4byte gAreaRoomMap_CaveOfFlames_11 + .4byte gAreaRoomMap_CaveOfFlames_12 + .4byte gAreaRoomMap_CaveOfFlames_13 + .4byte gAreaRoomMap_CaveOfFlames_14 + .4byte gAreaRoomMap_CaveOfFlames_15 + .4byte gAreaRoomMap_CaveOfFlames_16 + .4byte gAreaRoomMap_CaveOfFlames_17 + +gAreaRoomMap_CaveOfFlamesBoss_0:: @ 08105880 + map_bottom 0x1DA6E8, 0x360, 1 + map_top 0x1DA990, 0x360, 1, 1 + +gAreaRoomMaps_CaveOfFlamesBoss:: @ 08105898 + .4byte gAreaRoomMap_CaveOfFlamesBoss_0 + +gAreaRoomMap_FortressOfWinds_0:: @ 0810589C + map_bottom 0x1F19E8, 0x1BA, 1 + map_top 0x1F1B1C, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_1:: @ 081058B4 + map_bottom 0x1F1BCC, 0x1BA, 1 + map_top 0x1F1CF0, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_2:: @ 081058CC + map_bottom 0x1F1DCC, 0x804, 1 + map_top 0x1F213C, 0x804, 1, 1 + +gAreaRoomMap_FortressOfWinds_3:: @ 081058E4 + map_bottom 0x1F23E0, 0x1DC, 1 + map_top 0x1F253C, 0x1DC, 1, 1 + +gAreaRoomMap_FortressOfWinds_4:: @ 081058FC + map_bottom 0x1F2600, 0x364, 1 + map_top 0x1F2834, 0x364, 1, 1 + +gAreaRoomMap_FortressOfWinds_5:: @ 08105914 + map_bottom 0x1F2A14, 0x1BA, 1 + map_top 0x1F2A50, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_6:: @ 0810592C + map_bottom 0x1F2C14, 0x1BA, 1 + map_top 0x1F2C9C, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_7:: @ 08105944 + map_bottom 0x1F2E0C, 0x374, 1 + map_top 0x1F2FBC, 0x374, 1, 1 + +gAreaRoomMap_FortressOfWinds_8:: @ 0810595C + map_bottom 0x1F3174, 0x1BA, 1 + map_top 0x1F31B0, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_9:: @ 08105974 + map_bottom 0x1F3320, 0x374, 1 + map_top 0x1F3390, 0x374, 1, 1 + +gAreaRoomMap_FortressOfWinds_10:: @ 0810598C + map_bottom 0x1F3640, 0x1BA, 1 + map_top 0x1F367C, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_11:: @ 081059A4 + map_bottom 0x1F382C, 0x256, 1 + map_top 0x1F3998, 0x256, 1, 1 + +gAreaRoomMap_FortressOfWinds_12:: @ 081059BC + map_bottom 0x1F3A40, 0x1BA, 1 + map_top 0x1F3B3C, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_13:: @ 081059D4 + map_bottom 0x1F3C38, 0x1BA, 1 + map_top 0x1F3D10, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_14:: @ 081059EC + map_bottom 0x1F3DF0, 0x374, 1 + map_top 0x1F4054, 0x374, 1, 1 + +gAreaRoomMap_FortressOfWinds_15:: @ 08105A04 + map_bottom 0x1F41C4, 0x1BA, 1 + map_top 0x1F42A4, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_16:: @ 08105A1C + map_bottom 0x1F4398, 0x1BA, 1 + map_top 0x1F443C, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_17:: @ 08105A34 + map_bottom 0x1F458C, 0x1BA, 1 + map_top 0x1F46A4, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_18:: @ 08105A4C + map_bottom 0x1F475C, 0x1BA, 1 + map_top 0x1F48A0, 0x1BA, 1, 1 + +gAreaRoomMap_FortressOfWinds_19:: @ 08105A64 + map_bottom 0x1F494C, 0x186, 1 + map_top 0x1F4A34, 0x186, 1, 1 + +gAreaRoomMap_FortressOfWinds_20:: @ 08105A7C + map_bottom 0x1F4AE4, 0x186, 1 + map_top 0x1F4BE8, 0x186, 1, 1 + +gAreaRoomMap_FortressOfWinds_21:: @ 08105A94 + map_bottom 0x1F4C8C, 0x186, 1 + map_top 0x1F4D90, 0x186, 1, 1 + +gAreaRoomMap_FortressOfWinds_22:: @ 08105AAC + map_bottom 0x1F4E3C, 0x186, 1 + map_top 0x1F4F18, 0x186, 1, 1 + +gAreaRoomMap_FortressOfWinds_23:: @ 08105AC4 + map_bottom 0x1F4FB4, 0x1A0, 1 + map_top 0x1F50AC, 0x1A0, 1, 1 + +gAreaRoomMaps_FortressOfWinds:: @ 08105ADC + .4byte gAreaRoomMap_FortressOfWinds_0 + .4byte gAreaRoomMap_FortressOfWinds_1 + .4byte gAreaRoomMap_FortressOfWinds_2 + .4byte gAreaRoomMap_FortressOfWinds_3 + .4byte gAreaRoomMap_FortressOfWinds_4 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_FortressOfWinds_5 + .4byte gAreaRoomMap_FortressOfWinds_6 + .4byte gAreaRoomMap_FortressOfWinds_7 + .4byte gAreaRoomMap_FortressOfWinds_8 + .4byte gAreaRoomMap_FortressOfWinds_9 + .4byte gAreaRoomMap_FortressOfWinds_10 + .4byte gAreaRoomMap_FortressOfWinds_11 + .4byte gAreaRoomMap_FortressOfWinds_12 + .4byte gAreaRoomMap_FortressOfWinds_13 + .4byte gAreaRoomMap_FortressOfWinds_14 + .4byte gAreaRoomMap_FortressOfWinds_15 + .4byte gAreaRoomMap_FortressOfWinds_16 + .4byte gAreaRoomMap_FortressOfWinds_17 + .4byte gAreaRoomMap_FortressOfWinds_18 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_FortressOfWinds_19 + .4byte gAreaRoomMap_FortressOfWinds_20 + .4byte gAreaRoomMap_FortressOfWinds_21 + .4byte gAreaRoomMap_FortressOfWinds_22 + .4byte gAreaRoomMap_FortressOfWinds_23 + +gAreaRoomMap_FortressOfWindsTop_0:: @ 08105B70 + map_bottom 0x1F55E0, 0x4B0, 1 + map_top 0x1F58B8, 0x4B0, 1, 1 + +gAreaRoomMaps_FortressOfWindsTop:: @ 08105B88 + .4byte gAreaRoomMap_FortressOfWindsTop_0 + +gAreaRoomMap_InnerMazaal_0:: @ 08105B8C + map_bottom 0x1F514C, 0x286, 1 + map_top 0x1F5214, 0x286, 1, 1 + +gAreaRoomMap_InnerMazaal_1:: @ 08105BA4 + map_bottom 0x1F538C, 0x286, 1 + map_top 0x1F5460, 0x286, 1, 1 + +gAreaRoomMaps_InnerMazaal:: @ 08105BBC + .4byte gAreaRoomMap_InnerMazaal_0 + .4byte gAreaRoomMap_InnerMazaal_1 + +gAreaRoomMap_TempleOfDroplets_0:: @ 08105BC4 + map_bottom 0x2052BC, 0x1BA, 1 + map_top 0x2053CC, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_1:: @ 08105BDC + map_bottom 0x205494, 0x1BA, 1 + map_top 0x2055B0, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_2:: @ 08105BF4 + map_bottom 0x205678, 0x1BA, 1 + map_top 0x2057A4, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_3:: @ 08105C0C + map_bottom 0x205858, 0x6B4, 1 + map_top 0x205AA0, 0x6B4, 1, 1 + +gAreaRoomMap_TempleOfDroplets_4:: @ 08105C24 + map_bottom 0x205DA0, 0x1BA, 1 + map_top 0x205E5C, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_5:: @ 08105C3C + map_bottom 0x205FA4, 0x1BA, 1 + map_top 0x205FE0, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_6:: @ 08105C54 + map_bottom 0x206150, 0x30C, 1 + map_top 0x206270, 0x30C, 1, 1 + +gAreaRoomMap_TempleOfDroplets_7:: @ 08105C6C + map_bottom 0x206470, 0x374, 1 + map_top 0x2065BC, 0x374, 1, 1 + +gAreaRoomMap_TempleOfDroplets_8:: @ 08105C84 + map_bottom 0x206798, 0x948, 1 + map_top 0x206AA4, 0x948, 1, 1 + +gAreaRoomMap_TempleOfDroplets_9:: @ 08105C9C + map_bottom 0x206EE4, 0x1BA, 1 + map_top 0x206FBC, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_10:: @ 08105CB4 + map_bottom 0x2070C0, 0x492, 1 + map_top 0x20735C, 0x492, 1, 1 + +gAreaRoomMap_TempleOfDroplets_11:: @ 08105CCC + map_bottom 0x2074E8, 0x1BA, 1 + map_top 0x207620, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_12:: @ 08105CE4 + map_bottom 0x207710, 0x186, 1 + map_top 0x207748, 0x186, 1, 1 + +gAreaRoomMap_TempleOfDroplets_13:: @ 08105CFC + map_bottom 0x20787C, 0x374, 1 + map_top 0x2079F0, 0x374, 1, 1 + +gAreaRoomMap_TempleOfDroplets_14:: @ 08105D14 + map_bottom 0x207BDC, 0x420, 1 + map_top 0x207CFC, 0x420, 1, 1 + +gAreaRoomMap_TempleOfDroplets_15:: @ 08105D2C + map_bottom 0x207E10, 0x1BA, 1 + map_top 0x207F30, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_16:: @ 08105D44 + map_bottom 0x20800C, 0x1BA, 1 + map_top 0x20810C, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_17:: @ 08105D5C + map_bottom 0x20818C, 0x186, 1 + map_top 0x208254, 0x186, 1, 1 + +gAreaRoomMap_TempleOfDroplets_18:: @ 08105D74 + map_bottom 0x208310, 0x374, 1 + map_top 0x20846C, 0x374, 1, 1 + +gAreaRoomMap_TempleOfDroplets_19:: @ 08105D8C + map_bottom 0x2085BC, 0x1BA, 1 + map_top 0x2086EC, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_20:: @ 08105DA4 + map_bottom 0x2087B4, 0x35A, 1 + map_top 0x2088D0, 0x35A, 1, 1 + +gAreaRoomMap_TempleOfDroplets_21:: @ 08105DBC + map_bottom 0x208A3C, 0x1BA, 1 + map_top 0x208B48, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_22:: @ 08105DD4 + map_bottom 0x208BFC, 0x374, 1 + map_top 0x208D38, 0x374, 1, 1 + +gAreaRoomMap_TempleOfDroplets_23:: @ 08105DEC + map_bottom 0x208FF8, 0x1BA, 1 + map_top 0x209110, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_24:: @ 08105E04 + map_bottom 0x20921C, 0x4B0, 1 + map_top 0x2092B4, 0x4B0, 1, 1 + +gAreaRoomMap_TempleOfDroplets_25:: @ 08105E1C + map_bottom 0x20961C, 0x1A4, 1 + map_top 0x209658, 0x1A4, 1, 1 + +gAreaRoomMap_TempleOfDroplets_26:: @ 08105E34 + map_bottom 0x2097C4, 0xA0E, 1 + map_top 0x209BC8, 0xA0E, 1, 1 + +gAreaRoomMap_TempleOfDroplets_27:: @ 08105E4C + map_bottom 0x209F4C, 0x1BA, 1 + map_top 0x20A098, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_28:: @ 08105E64 + map_bottom 0x20A144, 0x186, 1 + map_top 0x20A234, 0x186, 1, 1 + +gAreaRoomMap_TempleOfDroplets_29:: @ 08105E7C + map_bottom 0x20A2CC, 0x492, 1 + map_top 0x20A4CC, 0x492, 1, 1 + +gAreaRoomMap_TempleOfDroplets_30:: @ 08105E94 + map_bottom 0x20A614, 0x186, 1 + map_top 0x20A64C, 0x186, 1, 1 + +gAreaRoomMap_TempleOfDroplets_31:: @ 08105EAC + map_bottom 0x20A784, 0x1BA, 1 + map_top 0x20A834, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_32:: @ 08105EC4 + map_bottom 0x20A980, 0x1BA, 1 + map_top 0x20AA74, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_33:: @ 08105EDC + map_bottom 0x20AB54, 0x186, 1 + map_top 0x20AC10, 0x186, 1, 1 + +gAreaRoomMap_TempleOfDroplets_34:: @ 08105EF4 + map_bottom 0x20ACB4, 0x186, 1 + map_top 0x20ACEC, 0x186, 1, 1 + +gAreaRoomMap_TempleOfDroplets_35:: @ 08105F0C + map_bottom 0x20AE3C, 0x396, 1 + map_top 0x20B03C, 0x396, 1, 1 + +gAreaRoomMap_TempleOfDroplets_36:: @ 08105F24 + map_bottom 0x20B188, 0x1BA, 1 + map_top 0x20B2C0, 0x1BA, 1, 1 + +gAreaRoomMap_TempleOfDroplets_37:: @ 08105F3C + map_bottom 0x20B394, 0x186, 1 + map_top 0x20B4C0, 0x186, 1, 1 + +gAreaRoomMap_TempleOfDroplets_38:: @ 08105F54 + map_bottom 0x20B558, 0x39C, 1 + map_top 0x20B724, 0x39C, 1, 1 + +gAreaRoomMap_TempleOfDroplets_39:: @ 08105F6C + map_bottom 0x20B82C, 0x1DC, 1 + map_top 0x20B950, 0x1DC, 1, 1 + +gAreaRoomMap_TempleOfDroplets_40:: @ 08105F84 + map_bottom 0x20BA0C, 0x1A0, 1 + map_top 0x20BADC, 0x1A0, 1, 1 + +gAreaRoomMaps_TempleOfDroplets:: @ 08105F9C + .4byte gAreaRoomMap_TempleOfDroplets_0 + .4byte gAreaRoomMap_TempleOfDroplets_1 + .4byte gAreaRoomMap_TempleOfDroplets_2 + .4byte gAreaRoomMap_TempleOfDroplets_3 + .4byte gAreaRoomMap_TempleOfDroplets_4 + .4byte gAreaRoomMap_TempleOfDroplets_5 + .4byte gAreaRoomMap_TempleOfDroplets_6 + .4byte gAreaRoomMap_TempleOfDroplets_7 + .4byte gAreaRoomMap_TempleOfDroplets_8 + .4byte gAreaRoomMap_TempleOfDroplets_9 + .4byte gAreaRoomMap_TempleOfDroplets_10 + .4byte gAreaRoomMap_TempleOfDroplets_11 + .4byte gAreaRoomMap_TempleOfDroplets_12 + .4byte gAreaRoomMap_TempleOfDroplets_13 + .4byte gAreaRoomMap_TempleOfDroplets_14 + .4byte gAreaRoomMap_TempleOfDroplets_15 + .4byte gAreaRoomMap_TempleOfDroplets_16 + .4byte gAreaRoomMap_TempleOfDroplets_17 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_TempleOfDroplets_18 + .4byte gAreaRoomMap_TempleOfDroplets_19 + .4byte gAreaRoomMap_TempleOfDroplets_20 + .4byte gAreaRoomMap_TempleOfDroplets_21 + .4byte gAreaRoomMap_TempleOfDroplets_22 + .4byte gAreaRoomMap_TempleOfDroplets_23 + .4byte gAreaRoomMap_TempleOfDroplets_24 + .4byte gAreaRoomMap_TempleOfDroplets_25 + .4byte gAreaRoomMap_TempleOfDroplets_26 + .4byte gAreaRoomMap_TempleOfDroplets_27 + .4byte gAreaRoomMap_TempleOfDroplets_28 + .4byte gAreaRoomMap_TempleOfDroplets_29 + .4byte gAreaRoomMap_TempleOfDroplets_30 + .4byte gAreaRoomMap_TempleOfDroplets_31 + .4byte gAreaRoomMap_TempleOfDroplets_32 + .4byte gAreaRoomMap_TempleOfDroplets_33 + .4byte gAreaRoomMap_TempleOfDroplets_34 + .4byte gAreaRoomMap_TempleOfDroplets_35 + .4byte gAreaRoomMap_TempleOfDroplets_36 + .4byte gAreaRoomMap_TempleOfDroplets_37 + .4byte gAreaRoomMap_TempleOfDroplets_38 + .4byte gAreaRoomMap_TempleOfDroplets_39 + .4byte gAreaRoomMap_TempleOfDroplets_40 + +gAreaRoomMap_61_0:: @ 08106078 + map_bottom 0x20BBC4, 0x1C2, 1 + map_top 0x20BCF8, 0x1C2, 1, 1 + +gAreaRoomMaps_61:: @ 08106090 + .4byte gAreaRoomMap_61_0 + +gAreaRoomMap_HyruleTownMinishCaves_0:: @ 08106094 + map_bottom 0x20BD3C, 0x330, 1 + map_top 0x20BF18, 0x330, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_1:: @ 081060AC + map_bottom 0x20BFC0, 0x2D0, 1 + map_top 0x20C138, 0x2D0, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_2:: @ 081060C4 + map_bottom 0x20C1E0, 0x242, 1 + map_top 0x20C2F0, 0x242, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_3:: @ 081060DC + map_bottom 0x20C3C4, 0x1FE, 1 + map_top 0x20C408, 0x1FE, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_4:: @ 081060F4 + map_bottom 0x20C538, 0x1C2, 1 + map_top 0x20C624, 0x1C2, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_5:: @ 0810610C + map_bottom 0x20C6AC, 0x222, 1 + map_top 0x20C7E0, 0x222, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_6:: @ 08106124 + map_bottom 0x20C848, 0x1BA, 1 + map_top 0x20C95C, 0x1BA, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_7:: @ 0810613C + map_bottom 0x20C998, 0x186, 1 + map_top 0x20CAA4, 0x186, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_8:: @ 08106154 + map_bottom 0x20CAFC, 0x24C, 1 + map_top 0x20CC48, 0x24C, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_9:: @ 0810616C + map_bottom 0x20CCB8, 0x1DC, 1 + map_top 0x20CDD0, 0x1DC, 1, 1 + +gAreaRoomMap_HyruleTownMinishCaves_10:: @ 08106184 + map_bottom 0x20CE18, 0x348, 1 + map_top 0x20CEF4, 0x348, 1, 1 + +gAreaRoomMaps_HyruleTownMinishCaves:: @ 0810619C + .4byte gAreaRoomMap_HyruleTownMinishCaves_0 + .4byte gAreaRoomMap_HyruleTownMinishCaves_1 + .4byte gAreaRoomMap_HyruleTownMinishCaves_2 + .4byte gAreaRoomMap_HyruleTownMinishCaves_3 + .4byte gAreaRoomMap_HyruleTownMinishCaves_4 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte gAreaRoomMap_HyruleTownMinishCaves_5 + .4byte gAreaRoomMap_HyruleTownMinishCaves_6 + .4byte gAreaRoomMap_HyruleTownMinishCaves_7 + .4byte gAreaRoomMap_HyruleTownMinishCaves_8 + .4byte gAreaRoomMap_HyruleTownMinishCaves_9 + .4byte gAreaRoomMap_HyruleTownMinishCaves_10 + +gAreaRoomMap_RoyalCrypt_0:: @ 081061F4 + map_bottom 0x2159A4, 0x532, 1 + map_top 0x215BCC, 0x532, 1, 1 + +gAreaRoomMap_RoyalCrypt_1:: @ 0810620C + map_bottom 0x215D68, 0x1DC, 1 + map_top 0x215E8C, 0x1DC, 1, 1 + +gAreaRoomMap_RoyalCrypt_2:: @ 08106224 + map_bottom 0x215F08, 0x348, 1 + map_top 0x21602C, 0x348, 1, 1 + +gAreaRoomMap_RoyalCrypt_3:: @ 0810623C + map_bottom 0x216104, 0x2F4, 1 + map_top 0x216278, 0x2F4, 1, 1 + +gAreaRoomMap_RoyalCrypt_4:: @ 08106254 + map_bottom 0x216344, 0x6F0, 1 + map_top 0x216678, 0x6F0, 1, 1 + +gAreaRoomMap_RoyalCrypt_5:: @ 0810626C + map_bottom 0x2167CC, 0x2E4, 1 + map_top 0x216954, 0x2E4, 1, 1 + +gAreaRoomMap_RoyalCrypt_6:: @ 08106284 + map_bottom 0x2169F4, 0x2E4, 1 + map_top 0x216B58, 0x2E4, 1, 1 + +gAreaRoomMap_RoyalCrypt_7:: @ 0810629C + map_bottom 0x216BF0, 0x2EC, 1 + map_top 0x216D48, 0x2EC, 1, 1 + +gAreaRoomMap_RoyalCrypt_8:: @ 081062B4 + map_bottom 0x216E00, 0x154, 1 + map_top 0x216EF0, 0x154, 1, 1 + +gAreaRoomMaps_RoyalCrypt:: @ 081062CC + .4byte gAreaRoomMap_RoyalCrypt_0 + .4byte gAreaRoomMap_RoyalCrypt_1 + .4byte gAreaRoomMap_RoyalCrypt_2 + .4byte gAreaRoomMap_RoyalCrypt_3 + .4byte gAreaRoomMap_RoyalCrypt_4 + .4byte gAreaRoomMap_RoyalCrypt_5 + .4byte gAreaRoomMap_RoyalCrypt_6 + .4byte gAreaRoomMap_RoyalCrypt_7 + .4byte gAreaRoomMap_RoyalCrypt_8 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + +gAreaRoomMap_PalaceOfWinds_0:: @ 0810630C + map_bottom 0x2246C0, 0xA8C, 1 + map_top 0x224A00, 0xA8C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_1:: @ 08106324 + map_bottom 0x224D14, 0x12C, 1 + map_top 0x224E04, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_2:: @ 0810633C + map_bottom 0x224E64, 0x1A4, 1 + map_top 0x224FBC, 0x1A4, 1, 1 + +gAreaRoomMap_PalaceOfWinds_3:: @ 08106354 + map_bottom 0x22505C, 0x384, 1 + map_top 0x2252A4, 0x384, 1, 1 + +gAreaRoomMap_PalaceOfWinds_4:: @ 0810636C + map_bottom 0x2253FC, 0x12C, 1 + map_top 0x2254C8, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_5:: @ 08106384 + map_bottom 0x225524, 0x384, 1 + map_top 0x22572C, 0x384, 1, 1 + +gAreaRoomMap_PalaceOfWinds_6:: @ 0810639C + map_bottom 0x225850, 0x384, 1 + map_top 0x225A40, 0x384, 1, 1 + +gAreaRoomMap_PalaceOfWinds_7:: @ 081063B4 + map_bottom 0x225B60, 0x384, 1 + map_top 0x225D68, 0x384, 1, 1 + +gAreaRoomMap_PalaceOfWinds_8:: @ 081063CC + map_bottom 0x225E98, 0x258, 1 + map_top 0x22601C, 0x258, 1, 1 + +gAreaRoomMap_PalaceOfWinds_9:: @ 081063E4 + map_bottom 0x226128, 0x12C, 1 + map_top 0x226200, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_10:: @ 081063FC + map_bottom 0x226264, 0x186, 1 + map_top 0x226364, 0x186, 1, 1 + +gAreaRoomMap_PalaceOfWinds_11:: @ 08106414 + map_bottom 0x226418, 0x12C, 1 + map_top 0x2264FC, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_12:: @ 0810642C + map_bottom 0x226578, 0x1E0, 1 + map_top 0x22663C, 0x1E0, 1, 1 + +gAreaRoomMap_PalaceOfWinds_13:: @ 08106444 + map_bottom 0x2266BC, 0x12C, 1 + map_top 0x22679C, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_14:: @ 0810645C + map_bottom 0x226818, 0x258, 1 + map_top 0x226948, 0x258, 1, 1 + +gAreaRoomMap_PalaceOfWinds_15:: @ 08106474 + map_bottom 0x2269F4, 0x708, 1 + map_top 0x226C3C, 0x708, 1, 1 + +gAreaRoomMap_PalaceOfWinds_16:: @ 0810648C + map_bottom 0x226E70, 0xA8C, 1 + map_top 0x2271A4, 0xA8C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_17:: @ 081064A4 + map_bottom 0x22745C, 0x384, 1 + map_top 0x227668, 0x384, 1, 1 + +gAreaRoomMap_PalaceOfWinds_18:: @ 081064BC + map_bottom 0x227774, 0x258, 1 + map_top 0x227860, 0x258, 1, 1 + +gAreaRoomMap_PalaceOfWinds_19:: @ 081064D4 + map_bottom 0x227924, 0x4B0, 1 + map_top 0x227B6C, 0x4B0, 1, 1 + +gAreaRoomMap_PalaceOfWinds_20:: @ 081064EC + map_bottom 0x227D34, 0x258, 1 + map_top 0x227EA8, 0x258, 1, 1 + +gAreaRoomMap_PalaceOfWinds_21:: @ 08106504 + map_bottom 0x227F48, 0x708, 1 + map_top 0x228330, 0x708, 1, 1 + +gAreaRoomMap_PalaceOfWinds_22:: @ 0810651C + map_bottom 0x22856C, 0x4B0, 1 + map_top 0x2287B8, 0x4B0, 1, 1 + +gAreaRoomMap_PalaceOfWinds_23:: @ 08106534 + map_bottom 0x228988, 0x258, 1 + map_top 0x228A58, 0x258, 1, 1 + +gAreaRoomMap_PalaceOfWinds_24:: @ 0810654C + map_bottom 0x228AFC, 0x4B0, 1 + map_top 0x228C7C, 0x4B0, 1, 1 + +gAreaRoomMap_PalaceOfWinds_25:: @ 08106564 + map_bottom 0x228DE4, 0x4B0, 1 + map_top 0x228F90, 0x4B0, 1, 1 + +gAreaRoomMap_PalaceOfWinds_26:: @ 0810657C + map_bottom 0x229138, 0x4B0, 1 + map_top 0x2293A4, 0x4B0, 1, 1 + +gAreaRoomMap_PalaceOfWinds_27:: @ 08106594 + map_bottom 0x229574, 0x12C, 1 + map_top 0x22964C, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_28:: @ 081065AC + map_bottom 0x2296D8, 0x12C, 1 + map_top 0x2297C0, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_29:: @ 081065C4 + map_bottom 0x229820, 0x12C, 1 + map_top 0x2298F8, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_30:: @ 081065DC + map_bottom 0x229978, 0x12C, 1 + map_top 0x229A58, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_31:: @ 081065F4 + map_bottom 0x229AD4, 0x12C, 1 + map_top 0x229BA4, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_32:: @ 0810660C + map_bottom 0x229C14, 0x12C, 1 + map_top 0x229CE8, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_33:: @ 08106624 + map_bottom 0x229D5C, 0xA8C, 1 + map_top 0x22A0F0, 0xA8C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_34:: @ 0810663C + map_bottom 0x22A454, 0x708, 1 + map_top 0x22A760, 0x708, 1, 1 + +gAreaRoomMap_PalaceOfWinds_35:: @ 08106654 + map_bottom 0x22A99C, 0x258, 1 + map_top 0x22AB10, 0x258, 1, 1 + +gAreaRoomMap_PalaceOfWinds_36:: @ 0810666C + map_bottom 0x22ABF0, 0x4B0, 1 + map_top 0x22AD78, 0x4B0, 1, 1 + +gAreaRoomMap_PalaceOfWinds_37:: @ 08106684 + map_bottom 0x22AEC4, 0x12C, 1 + map_top 0x22AFC4, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_38:: @ 0810669C + map_bottom 0x22B03C, 0x12C, 1 + map_top 0x22B150, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_39:: @ 081066B4 + map_bottom 0x22B1B0, 0x12C, 1 + map_top 0x22B2A8, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_40:: @ 081066CC + map_bottom 0x22B324, 0x12C, 1 + map_top 0x22B414, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_41:: @ 081066E4 + map_bottom 0x22B498, 0x12C, 1 + map_top 0x22B56C, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_42:: @ 081066FC + map_bottom 0x22B5EC, 0x12C, 1 + map_top 0x22B6D8, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_43:: @ 08106714 + map_bottom 0x22B758, 0x258, 1 + map_top 0x22B8B4, 0x258, 1, 1 + +gAreaRoomMap_PalaceOfWinds_44:: @ 0810672C + map_bottom 0x22B994, 0x708, 1 + map_top 0x22BC78, 0x708, 1, 1 + +gAreaRoomMap_PalaceOfWinds_45:: @ 08106744 + map_bottom 0x22BE68, 0x708, 1 + map_top 0x22C07C, 0x708, 1, 1 + +gAreaRoomMap_PalaceOfWinds_46:: @ 0810675C + map_bottom 0x22C304, 0x550, 1 + map_top 0x22C4B0, 0x550, 1, 1 + +gAreaRoomMap_PalaceOfWinds_47:: @ 08106774 + map_bottom 0x22C648, 0x12C, 1 + map_top 0x22C6C8, 0x12C, 1, 1 + +gAreaRoomMap_PalaceOfWinds_48:: @ 0810678C + map_bottom 0x22C71C, 0x500, 1 + map_top 0x22C9C0, 0x500, 1, 1 + +gAreaRoomMap_PalaceOfWinds_49:: @ 081067A4 + map_bottom 0x22CB00, 0x3DE, 1 + map_top 0x22CC68, 0x3DE, 1, 1 + +gAreaRoomMap_PalaceOfWinds_50:: @ 081067BC + map_bottom 0x22CD70, 0x708, 1 + map_top 0x22D070, 0x708, 1, 1 + +gAreaRoomMaps_PalaceOfWinds:: @ 081067D4 + .4byte gAreaRoomMap_PalaceOfWinds_0 + .4byte gAreaRoomMap_PalaceOfWinds_1 + .4byte gAreaRoomMap_PalaceOfWinds_2 + .4byte gAreaRoomMap_PalaceOfWinds_3 + .4byte gAreaRoomMap_PalaceOfWinds_4 + .4byte gAreaRoomMap_PalaceOfWinds_5 + .4byte gAreaRoomMap_PalaceOfWinds_6 + .4byte gAreaRoomMap_PalaceOfWinds_7 + .4byte gAreaRoomMap_PalaceOfWinds_8 + .4byte gAreaRoomMap_PalaceOfWinds_9 + .4byte gAreaRoomMap_PalaceOfWinds_10 + .4byte gAreaRoomMap_PalaceOfWinds_11 + .4byte gAreaRoomMap_PalaceOfWinds_12 + .4byte gAreaRoomMap_PalaceOfWinds_13 + .4byte gAreaRoomMap_PalaceOfWinds_14 + .4byte gAreaRoomMap_PalaceOfWinds_15 + .4byte gAreaRoomMap_PalaceOfWinds_16 + .4byte gAreaRoomMap_PalaceOfWinds_17 + .4byte gAreaRoomMap_PalaceOfWinds_18 + .4byte gAreaRoomMap_PalaceOfWinds_19 + .4byte gAreaRoomMap_PalaceOfWinds_20 + .4byte gAreaRoomMap_PalaceOfWinds_21 + .4byte gAreaRoomMap_PalaceOfWinds_22 + .4byte gAreaRoomMap_PalaceOfWinds_23 + .4byte gAreaRoomMap_PalaceOfWinds_24 + .4byte gAreaRoomMap_PalaceOfWinds_25 + .4byte gAreaRoomMap_PalaceOfWinds_26 + .4byte gAreaRoomMap_PalaceOfWinds_27 + .4byte gAreaRoomMap_PalaceOfWinds_28 + .4byte gAreaRoomMap_PalaceOfWinds_29 + .4byte gAreaRoomMap_PalaceOfWinds_30 + .4byte gAreaRoomMap_PalaceOfWinds_31 + .4byte gAreaRoomMap_PalaceOfWinds_32 + .4byte gAreaRoomMap_PalaceOfWinds_33 + .4byte gAreaRoomMap_PalaceOfWinds_34 + .4byte gAreaRoomMap_PalaceOfWinds_35 + .4byte gAreaRoomMap_PalaceOfWinds_36 + .4byte gAreaRoomMap_PalaceOfWinds_37 + .4byte gAreaRoomMap_PalaceOfWinds_38 + .4byte gAreaRoomMap_PalaceOfWinds_39 + .4byte gAreaRoomMap_PalaceOfWinds_40 + .4byte gAreaRoomMap_PalaceOfWinds_41 + .4byte gAreaRoomMap_PalaceOfWinds_42 + .4byte gAreaRoomMap_PalaceOfWinds_43 + .4byte gAreaRoomMap_PalaceOfWinds_44 + .4byte gAreaRoomMap_PalaceOfWinds_45 + .4byte gAreaRoomMap_PalaceOfWinds_46 + .4byte gAreaRoomMap_PalaceOfWinds_47 + .4byte gAreaRoomMap_PalaceOfWinds_48 + .4byte gAreaRoomMap_PalaceOfWinds_49 + .4byte gAreaRoomMap_PalaceOfWinds_50 + +gAreaRoomMap_PalaceOfWindsBoss_0:: @ 081068A0 + map_top 0x22D2B8, 0x1F80, 1, 1 + +gAreaRoomMaps_PalaceOfWindsBoss:: @ 081068AC + .4byte gAreaRoomMap_PalaceOfWindsBoss_0 + +gAreaRoomMap_Sanctuary_0:: @ 081068B0 + map_bottom 0x236A08, 0x6D6, 1 + map_top 0x236D1C, 0x6D6, 1, 1 + +gAreaRoomMap_Sanctuary_1:: @ 081068C8 + map_bottom 0x236E14, 0x910, 1 + map_top 0x237320, 0x910, 1, 1 + +gAreaRoomMap_Sanctuary_2:: @ 081068E0 + map_bottom 0x2375D8, 0x344, 1 + map_top 0x23788C, 0x344, 1, 1 + +gAreaRoomMaps_Sanctuary:: @ 081068F8 + .4byte gAreaRoomMap_Sanctuary_0 + .4byte gAreaRoomMap_Sanctuary_1 + .4byte gAreaRoomMap_Sanctuary_2 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + +gAreaRoomMap_HyruleCastle_0:: @ 08106918 + map_bottom 0x240B44, 0x7CE, 1 + map_top 0x240F30, 0x7CE, 1, 1 + +gAreaRoomMap_HyruleCastle_1:: @ 08106930 + map_bottom 0x241118, 0x7FE, 1 + map_top 0x241424, 0x7FE, 1, 1 + +gAreaRoomMap_HyruleCastle_2:: @ 08106948 + map_bottom 0x2415B0, 0x2EC, 1 + map_top 0x2417B8, 0x2EC, 1, 1 + +gAreaRoomMap_HyruleCastle_3:: @ 08106960 + map_bottom 0x24186C, 0xC94, 1 + map_top 0x241D18, 0xC94, 1, 1 + +gAreaRoomMap_HyruleCastle_4:: @ 08106978 + map_bottom 0x241EF0, 0x1FE, 1 + map_top 0x242044, 0x1FE, 1, 1 + +gAreaRoomMap_HyruleCastle_5:: @ 08106990 + map_bottom 0x2420A4, 0x12C, 1 + map_top 0x24217C, 0x12C, 1, 1 + +gAreaRoomMap_HyruleCastle_6:: @ 081069A8 + map_bottom 0x2421A8, 0x12C, 1 + map_top 0x242274, 0x12C, 1, 1 + +gAreaRoomMaps_HyruleCastle:: @ 081069C0 + .4byte gAreaRoomMap_HyruleCastle_0 + .4byte gAreaRoomMap_HyruleCastle_1 + .4byte gAreaRoomMap_HyruleCastle_2 + .4byte gAreaRoomMap_HyruleCastle_3 + .4byte gAreaRoomMap_HyruleCastle_4 + .4byte gAreaRoomMap_HyruleCastle_5 + .4byte gAreaRoomMap_HyruleCastle_6 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + +gAreaRoomMap_SanctuaryEntrance_0:: @ 08106A00 + map_bottom 0x247218, 0x396, 1 + map_top 0x24745C, 0x396, 1, 1 + +gAreaRoomMaps_SanctuaryEntrance:: @ 08106A18 + .4byte gAreaRoomMap_SanctuaryEntrance_0 + +gAreaRoomMap_DarkHyruleCastle_0:: @ 08106A1C + map_bottom 0x264EF4, 0xE58, 1 + map_top 0x265378, 0xE58, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_1:: @ 08106A34 + map_bottom 0x2657C8, 0x1BA, 1 + map_top 0x2658A4, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_2:: @ 08106A4C + map_bottom 0x265964, 0x1BA, 1 + map_top 0x265A44, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_3:: @ 08106A64 + map_bottom 0x265B18, 0x1BA, 1 + map_top 0x265C08, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_4:: @ 08106A7C + map_bottom 0x265CD4, 0x1BA, 1 + map_top 0x265DC8, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_5:: @ 08106A94 + map_bottom 0x265E98, 0x444, 1 + map_top 0x2660BC, 0x444, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_6:: @ 08106AAC + map_bottom 0x26620C, 0x2A0, 1 + map_top 0x2663A0, 0x2A0, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_7:: @ 08106AC4 + map_bottom 0x2664A0, 0x374, 1 + map_top 0x2665EC, 0x374, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_8:: @ 08106ADC + map_bottom 0x266730, 0x374, 1 + map_top 0x266910, 0x374, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_9:: @ 08106AF4 + map_bottom 0x266A44, 0x1FE, 1 + map_top 0x266B98, 0x1FE, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_10:: @ 08106B0C + map_bottom 0x266C78, 0x1BA, 1 + map_top 0x266DA4, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_11:: @ 08106B24 + map_bottom 0x266E70, 0x1BA, 1 + map_top 0x266F7C, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_12:: @ 08106B3C + map_bottom 0x26701C, 0x1BA, 1 + map_top 0x26712C, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_13:: @ 08106B54 + map_bottom 0x2671DC, 0x1BA, 1 + map_top 0x2672E8, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_14:: @ 08106B6C + map_bottom 0x2673B4, 0x1BA, 1 + map_top 0x2674F0, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_15:: @ 08106B84 + map_bottom 0x2675D4, 0x1BA, 1 + map_top 0x2676F8, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_16:: @ 08106B9C + map_bottom 0x2677BC, 0x1BA, 1 + map_top 0x2678F0, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_17:: @ 08106BB4 + map_bottom 0x2679D0, 0x2A8, 1 + map_top 0x267B70, 0x2A8, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_18:: @ 08106BCC + map_bottom 0x267C98, 0x2A8, 1 + map_top 0x267E00, 0x2A8, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_19:: @ 08106BE4 + map_bottom 0x267F48, 0x1BA, 1 + map_top 0x268080, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_20:: @ 08106BFC + map_bottom 0x268168, 0x1BA, 1 + map_top 0x2682C8, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_21:: @ 08106C14 + map_bottom 0x2683A4, 0x1BA, 1 + map_top 0x2684CC, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_22:: @ 08106C2C + map_bottom 0x2685A8, 0x1BA, 1 + map_top 0x2686B0, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_23:: @ 08106C44 + map_bottom 0x26876C, 0x374, 1 + map_top 0x268930, 0x374, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_24:: @ 08106C5C + map_bottom 0x268A98, 0x374, 1 + map_top 0x268C2C, 0x374, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_25:: @ 08106C74 + map_bottom 0x268D54, 0x1BA, 1 + map_top 0x268E3C, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_26:: @ 08106C8C + map_bottom 0x268F0C, 0x1BA, 1 + map_top 0x269010, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_27:: @ 08106CA4 + map_bottom 0x2690AC, 0x1BA, 1 + map_top 0x2690E8, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_28:: @ 08106CBC + map_bottom 0x269168, 0x1BA, 1 + map_top 0x269290, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_29:: @ 08106CD4 + map_bottom 0x26936C, 0x374, 1 + map_top 0x2694B0, 0x374, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_30:: @ 08106CEC + map_bottom 0x2695F0, 0x1BA, 1 + map_top 0x2696D4, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_31:: @ 08106D04 + map_bottom 0x269794, 0x1BA, 1 + map_top 0x2698E4, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_32:: @ 08106D1C + map_bottom 0x2699BC, 0x1BA, 1 + map_top 0x269AF0, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_33:: @ 08106D34 + map_bottom 0x269BD8, 0x1BA, 1 + map_top 0x269CE0, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_34:: @ 08106D4C + map_bottom 0x269DB4, 0x1BA, 1 + map_top 0x269ED0, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_35:: @ 08106D64 + map_bottom 0x269FAC, 0x1BA, 1 + map_top 0x269FE8, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_36:: @ 08106D7C + map_bottom 0x26A168, 0x1BA, 1 + map_top 0x26A1A4, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_37:: @ 08106D94 + map_bottom 0x26A2F8, 0x1BA, 1 + map_top 0x26A334, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_38:: @ 08106DAC + map_bottom 0x26A4A0, 0x2A8, 1 + map_top 0x26A5CC, 0x2A8, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_39:: @ 08106DC4 + map_bottom 0x26A70C, 0x2A8, 1 + map_top 0x26A7BC, 0x2A8, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_40:: @ 08106DDC + map_bottom 0x26A940, 0x1BA, 1 + map_top 0x26AA24, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_41:: @ 08106DF4 + map_bottom 0x26AAF8, 0x1BA, 1 + map_top 0x26ABB4, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_42:: @ 08106E0C + map_bottom 0x26AC78, 0x1BA, 1 + map_top 0x26AD44, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_43:: @ 08106E24 + map_bottom 0x26AE18, 0x1BA, 1 + map_top 0x26AEF8, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_44:: @ 08106E3C + map_bottom 0x26AFBC, 0x1BA, 1 + map_top 0x26B094, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_45:: @ 08106E54 + map_bottom 0x26B15C, 0x1BA, 1 + map_top 0x26B250, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_46:: @ 08106E6C + map_bottom 0x26B2F4, 0x1BA, 1 + map_top 0x26B408, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_47:: @ 08106E84 + map_bottom 0x26B4BC, 0x1BA, 1 + map_top 0x26B4F8, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_48:: @ 08106E9C + map_bottom 0x26B658, 0x1BA, 1 + map_top 0x26B694, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_49:: @ 08106EB4 + map_bottom 0x26B7EC, 0x1BA, 1 + map_top 0x26B828, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_50:: @ 08106ECC + map_bottom 0x26B984, 0x1BA, 1 + map_top 0x26B9C0, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_51:: @ 08106EE4 + map_bottom 0x26BB34, 0x2A8, 1 + map_top 0x26BB8C, 0x2A8, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_52:: @ 08106EFC + map_bottom 0x26BD88, 0x2A8, 1 + map_top 0x26BDE0, 0x2A8, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_53:: @ 08106F14 + map_bottom 0x26BFB4, 0x1BA, 1 + map_top 0x26C060, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_54:: @ 08106F2C + map_bottom 0x26C190, 0x1BA, 1 + map_top 0x26C23C, 0x1BA, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_55:: @ 08106F44 + map_bottom 0x26C36C, 0xA5C, 1 + map_top 0x26C578, 0xA5C, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_56:: @ 08106F5C + map_bottom 0x26CB1C, 0x1FE, 1 + map_top 0x26CC54, 0x1FE, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_57:: @ 08106F74 + map_bottom 0x26CD14, 0x3FC, 1 + map_top 0x26CE94, 0x3FC, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_58:: @ 08106F8C + map_bottom 0x26CFD0, 0x264, 1 + map_top 0x26D0C4, 0x264, 1, 1 + +gAreaRoomMap_DarkHyruleCastle_59:: @ 08106FA4 + map_bottom 0x26D194, 0x1BA, 1 + map_top 0x26D1D0, 0x1BA, 1, 1 + +gAreaRoomMaps_DarkHyruleCastle:: @ 08106FBC + .4byte gAreaRoomMap_DarkHyruleCastle_0 + .4byte gAreaRoomMap_DarkHyruleCastle_1 + .4byte gAreaRoomMap_DarkHyruleCastle_2 + .4byte gAreaRoomMap_DarkHyruleCastle_3 + .4byte gAreaRoomMap_DarkHyruleCastle_4 + .4byte gAreaRoomMap_DarkHyruleCastle_5 + .4byte gAreaRoomMap_DarkHyruleCastle_6 + .4byte gAreaRoomMap_DarkHyruleCastle_7 + .4byte gAreaRoomMap_DarkHyruleCastle_8 + .4byte gAreaRoomMap_DarkHyruleCastle_9 + .4byte gAreaRoomMap_DarkHyruleCastle_10 + .4byte gAreaRoomMap_DarkHyruleCastle_11 + .4byte gAreaRoomMap_DarkHyruleCastle_12 + .4byte gAreaRoomMap_DarkHyruleCastle_13 + .4byte gAreaRoomMap_DarkHyruleCastle_14 + .4byte gAreaRoomMap_DarkHyruleCastle_15 + .4byte gAreaRoomMap_DarkHyruleCastle_16 + .4byte gAreaRoomMap_DarkHyruleCastle_17 + .4byte gAreaRoomMap_DarkHyruleCastle_18 + .4byte gAreaRoomMap_DarkHyruleCastle_19 + .4byte gAreaRoomMap_DarkHyruleCastle_20 + .4byte gAreaRoomMap_DarkHyruleCastle_21 + .4byte gAreaRoomMap_DarkHyruleCastle_22 + .4byte gAreaRoomMap_DarkHyruleCastle_23 + .4byte gAreaRoomMap_DarkHyruleCastle_24 + .4byte gAreaRoomMap_DarkHyruleCastle_25 + .4byte gAreaRoomMap_DarkHyruleCastle_26 + .4byte gAreaRoomMap_DarkHyruleCastle_27 + .4byte gAreaRoomMap_DarkHyruleCastle_28 + .4byte gAreaRoomMap_DarkHyruleCastle_29 + .4byte gAreaRoomMap_DarkHyruleCastle_30 + .4byte gAreaRoomMap_DarkHyruleCastle_31 + .4byte gAreaRoomMap_DarkHyruleCastle_32 + .4byte gAreaRoomMap_DarkHyruleCastle_33 + .4byte gAreaRoomMap_DarkHyruleCastle_34 + .4byte gAreaRoomMap_DarkHyruleCastle_35 + .4byte gAreaRoomMap_DarkHyruleCastle_36 + .4byte gAreaRoomMap_DarkHyruleCastle_37 + .4byte gAreaRoomMap_DarkHyruleCastle_38 + .4byte gAreaRoomMap_DarkHyruleCastle_39 + .4byte gAreaRoomMap_DarkHyruleCastle_40 + .4byte gAreaRoomMap_DarkHyruleCastle_41 + .4byte gAreaRoomMap_DarkHyruleCastle_42 + .4byte gAreaRoomMap_DarkHyruleCastle_43 + .4byte gAreaRoomMap_DarkHyruleCastle_44 + .4byte gAreaRoomMap_DarkHyruleCastle_45 + .4byte gAreaRoomMap_DarkHyruleCastle_46 + .4byte gAreaRoomMap_DarkHyruleCastle_47 + .4byte gAreaRoomMap_DarkHyruleCastle_48 + .4byte gAreaRoomMap_DarkHyruleCastle_49 + .4byte gAreaRoomMap_DarkHyruleCastle_50 + .4byte gAreaRoomMap_DarkHyruleCastle_51 + .4byte gAreaRoomMap_DarkHyruleCastle_52 + .4byte gAreaRoomMap_DarkHyruleCastle_53 + .4byte gAreaRoomMap_DarkHyruleCastle_54 + .4byte gAreaRoomMap_DarkHyruleCastle_55 + .4byte gAreaRoomMap_DarkHyruleCastle_56 + .4byte gAreaRoomMap_DarkHyruleCastle_57 + .4byte gAreaRoomMap_DarkHyruleCastle_58 + .4byte gAreaRoomMap_DarkHyruleCastle_59 + +gAreaRoomMap_DarkHyruleCastleOutside_0:: @ 081070AC + map_bottom 0x27647C, 0x2EE, 1 + map_top 0x276694, 0x2EE, 1, 1 + +gAreaRoomMap_DarkHyruleCastleOutside_1:: @ 081070C4 + map_bottom 0x276704, 0x396, 1 + map_top 0x276924, 0x396, 1, 1 + +gAreaRoomMap_DarkHyruleCastleOutside_2:: @ 081070DC + map_bottom 0x2769A0, 0x374, 1 + map_top 0x276A8C, 0x374, 1, 1 + +gAreaRoomMap_DarkHyruleCastleOutside_3:: @ 081070F4 + map_bottom 0x276BE8, 0x52E, 1 + map_top 0x276D2C, 0x52E, 1, 1 + +gAreaRoomMap_DarkHyruleCastleOutside_4:: @ 0810710C + map_bottom 0x276EEC, 0x2A8, 1 + map_top 0x276F78, 0x2A8, 1, 1 + +gAreaRoomMap_DarkHyruleCastleOutside_5:: @ 08107124 + map_bottom 0x27705C, 0x374, 1 + map_top 0x277164, 0x374, 1, 1 + +gAreaRoomMap_DarkHyruleCastleOutside_6:: @ 0810713C + map_bottom 0x2772D0, 0xA5C, 1 + map_top 0x277480, 0xA5C, 1, 1 + +gAreaRoomMap_DarkHyruleCastleOutside_7:: @ 08107154 + map_bottom 0x2776C8, 0x6E8, 1 + map_top 0x277848, 0x6E8, 1, 1 + +gAreaRoomMap_DarkHyruleCastleOutside_8:: @ 0810716C + map_bottom 0x277A28, 0x630, 1 + map_top 0x277AEC, 0x630, 1, 1 + +gAreaRoomMaps_DarkHyruleCastleOutside:: @ 08107184 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_0 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_1 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_2 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_3 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_4 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_5 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_6 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_7 + .4byte gAreaRoomMap_DarkHyruleCastleOutside_8 + +gAreaRoomMap_DarkHyruleCastleBridge_0:: @ 081071A8 + map_bottom 0x26D27C, 0x2A8, 1 + map_top 0x26D470, 0x2A8, 1, 1 + +gAreaRoomMaps_DarkHyruleCastleBridge:: @ 081071C0 + .4byte gAreaRoomMap_DarkHyruleCastleBridge_0 + +gAreaRoomMap_VaatisArms_0:: @ 081071C4 + map_bottom 0x26DA80, 0x214, 1 + map_top 0x26DC40, 0x214, 1, 1 + +gAreaRoomMap_VaatisArms_1:: @ 081071DC + map_bottom 0x26DC98, 0x214, 1 + map_top 0x26DE58, 0x214, 1, 1 + +gAreaRoomMap_VaatisArms_2:: @ 081071F4 + map_bottom 0x26DEB0, 0x214, 1 + map_top 0x26E070, 0x214, 1, 1 + +gAreaRoomMaps_VaatisArms:: @ 0810720C + .4byte gAreaRoomMap_VaatisArms_0 + .4byte gAreaRoomMap_VaatisArms_1 + .4byte gAreaRoomMap_VaatisArms_2 + +gAreaRoomMap_Vaati3_0:: @ 08107218 + map_bottom 0x26D564, 0x294, 1 + map_top 0x26D704, 0x294, 1, 1 + +gAreaRoomMap_Vaati3_1:: @ 08107230 + map_bottom 0x26D75C, 0x210, 1 + map_top 0x26D89C, 0x210, 1, 1 + +gAreaRoomMaps_Vaati3:: @ 08107248 + .4byte gAreaRoomMap_Vaati3_0 + .4byte gAreaRoomMap_Vaati3_1 + +gAreaRoomMap_Vaati2_0:: @ 08107250 + map_bottom 0x26D8E4, 0x294, 1 + map_top 0x26DA24, 0x294, 1, 1 + +gAreaRoomMaps_Vaati2:: @ 08107268 + .4byte gAreaRoomMap_Vaati2_0 + +gAreaRoomMap_47_0:: @ 0810726C + map_bottom 0x277BB0, 0x256, 1 + map_top 0x277CD8, 0x256, 1, 1 + +gAreaRoomMap_47_1:: @ 08107284 + map_bottom 0x277D38, 0x2B2, 1 + map_top 0x277E5C, 0x2B2, 1, 1 + +gAreaRoomMap_47_2:: @ 0810729C + map_bottom 0x277ECC, 0x47E, 1 + map_top 0x2780BC, 0x47E, 1, 1 + +gAreaRoomMaps_47:: @ 081072B4 + .4byte gAreaRoomMap_47_0 + .4byte gAreaRoomMap_47_1 + .4byte gAreaRoomMap_47_2 + +gAreaRoomMap_CastorCaves_0:: @ 081072C0 + map_bottom 0x9FEB4, 0x168, 1 + map_top 0x9FFE4, 0x168, 1, 1 + +gAreaRoomMap_CastorCaves_1:: @ 081072D8 + map_bottom 0xA0030, 0x1B8, 1 + map_top 0xA0194, 0x1B8, 1, 1 + +gAreaRoomMap_CastorCaves_2:: @ 081072F0 + map_bottom 0xA01DC, 0x12C, 1 + map_top 0xA02B4, 0x12C, 1, 1 + +gAreaRoomMap_CastorCaves_3:: @ 08107308 + map_bottom 0xA0328, 0x12C, 1 + map_top 0xA0414, 0x12C, 1, 1 + +gAreaRoomMap_CastorCaves_4:: @ 08107320 + map_bottom 0xA0488, 0x12C, 1 + map_top 0xA058C, 0x12C, 1, 1 + +gAreaRoomMaps_CastorCaves:: @ 08107338 + .4byte gAreaRoomMap_CastorCaves_0 + .4byte gAreaRoomMap_CastorCaves_1 + .4byte gAreaRoomMap_CastorCaves_2 + .4byte gAreaRoomMap_CastorCaves_3 + .4byte gAreaRoomMap_CastorCaves_4 + +gAreaRoomMap_CastorDarknut_0:: @ 0810734C + map_bottom 0xA05C0, 0x1BA, 1 + map_top 0xA0724, 0x1BA, 1, 1 + +gAreaRoomMap_CastorDarknut_1:: @ 08107364 + map_bottom 0xA0768, 0x280, 1 + map_top 0xA08BC, 0x280, 1, 1 + +gAreaRoomMaps_CastorDarknut:: @ 0810737C + .4byte gAreaRoomMap_CastorDarknut_0 + .4byte gAreaRoomMap_CastorDarknut_1 + +gAreaRoomMap_Caves_0:: @ 08107384 + map_bottom 0xB04AC, 0x372, 1 + map_top 0xB06C8, 0x372, 1, 1 + +gAreaRoomMap_Caves_1:: @ 0810739C + map_bottom 0xB0738, 0x2B2, 1 + map_top 0xB090C, 0x2B2, 1, 1 + +gAreaRoomMap_Caves_2:: @ 081073B4 + map_bottom 0xB09B8, 0x12C, 1 + map_top 0xB0ABC, 0x12C, 1, 1 + +gAreaRoomMap_Caves_3:: @ 081073CC + map_bottom 0xB0AE8, 0x12C, 1 + map_top 0xB0BF4, 0x12C, 1, 1 + +gAreaRoomMap_Caves_4:: @ 081073E4 + map_bottom 0xB0C20, 0x12C, 1 + map_top 0xB0D10, 0x12C, 1, 1 + +gAreaRoomMap_Caves_5:: @ 081073FC + map_bottom 0xB0D3C, 0x12C, 1 + map_top 0xB0E08, 0x12C, 1, 1 + +gAreaRoomMap_Caves_6:: @ 08107414 + map_bottom 0xB0E34, 0x1A4, 1 + map_top 0xB0F48, 0x1A4, 1, 1 + +gAreaRoomMap_Caves_7:: @ 0810742C + map_bottom 0xB0FE0, 0x12C, 1 + map_top 0xB10E8, 0x12C, 1, 1 + +gAreaRoomMap_Caves_8:: @ 08107444 + map_bottom 0xB113C, 0x12C, 1 + map_top 0xB1250, 0x12C, 1, 1 + +gAreaRoomMap_Caves_9:: @ 0810745C + map_bottom 0xB1290, 0x12C, 1 + map_top 0xB1390, 0x12C, 1, 1 + +gAreaRoomMap_Caves_10:: @ 08107474 + map_bottom 0xB13F0, 0x12C, 1 + map_top 0xB14EC, 0x12C, 1, 1 + +gAreaRoomMap_Caves_11:: @ 0810748C + map_bottom 0xB1520, 0x12C, 1 + map_top 0xB1624, 0x12C, 1, 1 + +gAreaRoomMap_Caves_12:: @ 081074A4 + map_bottom 0xB1658, 0x1E0, 1 + map_top 0xB17C0, 0x1E0, 1, 1 + +gAreaRoomMap_Caves_13:: @ 081074BC + map_bottom 0xB183C, 0x1E0, 1 + map_top 0xB1940, 0x1E0, 1, 1 + +gAreaRoomMap_Caves_14:: @ 081074D4 + map_bottom 0xB19D0, 0x208, 1 + map_top 0xB1B00, 0x208, 1, 1 + +gAreaRoomMap_Caves_15:: @ 081074EC + map_bottom 0xB1B7C, 0x12C, 1 + map_top 0xB1C88, 0x12C, 1, 1 + +gAreaRoomMap_Caves_16:: @ 08107504 + map_bottom 0xB1CBC, 0x12C, 1 + map_top 0xB1DAC, 0x12C, 1, 1 + +gAreaRoomMap_Caves_17:: @ 0810751C + map_bottom 0xB1DE0, 0x12C, 1 + map_top 0xB1EDC, 0x12C, 1, 1 + +gAreaRoomMap_Caves_18:: @ 08107534 + map_bottom 0xB1F10, 0x12C, 1 + map_top 0xB200C, 0x12C, 1, 1 + +gAreaRoomMap_Caves_19:: @ 0810754C + map_bottom 0xB2038, 0x12C, 1 + map_top 0xB2124, 0x12C, 1, 1 + +gAreaRoomMap_Caves_20:: @ 08107564 + map_bottom 0xB2174, 0x12C, 1 + map_top 0xB225C, 0x12C, 1, 1 + +gAreaRoomMap_Caves_21:: @ 0810757C + map_bottom 0xB2294, 0x1C2, 1 + map_top 0xB2374, 0x1C2, 1, 1 + +gAreaRoomMap_Caves_22:: @ 08107594 + map_bottom 0xB2410, 0x12C, 1 + map_top 0xB2524, 0x12C, 1, 1 + +gAreaRoomMap_Caves_23:: @ 081075AC + map_bottom 0xB2560, 0x12C, 1 + map_top 0xB2624, 0x12C, 1, 1 + +gAreaRoomMaps_Caves:: @ 081075C4 + .4byte gAreaRoomMap_Caves_0 + .4byte gAreaRoomMap_Caves_1 + .4byte gAreaRoomMap_Caves_2 + .4byte gAreaRoomMap_Caves_3 + .4byte gAreaRoomMap_Caves_4 + .4byte gAreaRoomMap_Caves_5 + .4byte gAreaRoomMap_Caves_6 + .4byte gAreaRoomMap_Caves_7 + .4byte gAreaRoomMap_Caves_8 + .4byte gAreaRoomMap_Caves_9 + .4byte gAreaRoomMap_Caves_10 + .4byte gAreaRoomMap_Caves_11 + .4byte gAreaRoomMap_Caves_12 + .4byte gAreaRoomMap_Caves_13 + .4byte gAreaRoomMap_Caves_14 + .4byte gAreaRoomMap_Caves_15 + .4byte gAreaRoomMap_Caves_16 + .4byte gAreaRoomMap_Caves_17 + .4byte gAreaRoomMap_Caves_18 + .4byte gAreaRoomMap_Caves_19 + .4byte gAreaRoomMap_Caves_20 + .4byte gAreaRoomMap_Caves_21 + .4byte gAreaRoomMap_Caves_22 + .4byte gAreaRoomMap_Caves_23 + +gAreaRoomMap_VeilFallsCaves_0:: @ 08107624 + map_bottom 0xB2658, 0x1A4, 1 + map_top 0xB277C, 0x1A4, 1, 1 + +gAreaRoomMap_VeilFallsCaves_1:: @ 0810763C + map_bottom 0xB27E8, 0x2D0, 1 + map_top 0xB297C, 0x2D0, 1, 1 + +gAreaRoomMap_VeilFallsCaves_2:: @ 08107654 + map_bottom 0xB2A3C, 0x186, 1 + map_top 0xB2B18, 0x186, 1, 1 + +gAreaRoomMap_VeilFallsCaves_3:: @ 0810766C + map_bottom 0xB2BAC, 0x1E0, 1 + map_top 0xB2CE8, 0x1E0, 1, 1 + +gAreaRoomMap_VeilFallsCaves_4:: @ 08107684 + map_bottom 0xB2D34, 0x12C, 1 + map_top 0xB2E14, 0x12C, 1, 1 + +gAreaRoomMap_VeilFallsCaves_5:: @ 0810769C + map_bottom 0xB2E88, 0x12C, 1 + map_top 0xB2F50, 0x12C, 1, 1 + +gAreaRoomMap_VeilFallsCaves_6:: @ 081076B4 + map_bottom 0xB2FD8, 0x12C, 1 + map_top 0xB309C, 0x12C, 1, 1 + +gAreaRoomMap_VeilFallsCaves_7:: @ 081076CC + map_bottom 0xB310C, 0x258, 1 + map_top 0xB328C, 0x258, 1, 1 + +gAreaRoomMap_VeilFallsCaves_8:: @ 081076E4 + map_bottom 0xB3318, 0x258, 1 + map_top 0xB34E8, 0x258, 1, 1 + +gAreaRoomMap_VeilFallsCaves_9:: @ 081076FC + map_bottom 0xB3578, 0x12C, 1 + map_top 0xB3694, 0x12C, 1, 1 + +gAreaRoomMaps_VeilFallsCaves:: @ 08107714 + .4byte gAreaRoomMap_VeilFallsCaves_0 + .4byte gAreaRoomMap_VeilFallsCaves_1 + .4byte gAreaRoomMap_VeilFallsCaves_2 + .4byte gAreaRoomMap_VeilFallsCaves_3 + .4byte gAreaRoomMap_VeilFallsCaves_4 + .4byte gAreaRoomMap_VeilFallsCaves_5 + .4byte gAreaRoomMap_VeilFallsCaves_6 + .4byte gAreaRoomMap_VeilFallsCaves_7 + .4byte gAreaRoomMap_VeilFallsCaves_8 + .4byte gAreaRoomMap_VeilFallsCaves_9 + +gAreaRoomMap_RoyalValleyGraves_0:: @ 0810773C + map_bottom 0xB36C8, 0x12C, 1 + map_top 0xB37E4, 0x12C, 1, 1 + +gAreaRoomMap_RoyalValleyGraves_1:: @ 08107754 + map_bottom 0xB3818, 0x258, 1 + map_top 0xB3984, 0x258, 1, 1 + +gAreaRoomMaps_RoyalValleyGraves:: @ 0810776C + .4byte gAreaRoomMap_RoyalValleyGraves_0 + .4byte gAreaRoomMap_RoyalValleyGraves_1 + +gAreaRoomMap_45_0:: @ 08107774 + map_bottom 0x278158, 0x1FE, 1 + map_top 0x27828C, 0x1FE, 1, 1 + +gAreaRoomMaps_45:: @ 0810778C + .4byte gAreaRoomMap_45_0 + +gAreaRoomMap_46_0:: @ 08107790 + map_bottom 0x2782D0, 0x286, 1 + map_top 0x278454, 0x286, 1, 1 + +gAreaRoomMap_46_1:: @ 081077A8 + map_bottom 0x2784C4, 0x30E, 1 + map_top 0x2786E0, 0x30E, 1, 1 + +gAreaRoomMap_46_2:: @ 081077C0 + map_bottom 0x278790, 0x286, 1 + map_top 0x278908, 0x286, 1, 1 + +gAreaRoomMap_46_3:: @ 081077D8 + map_bottom 0x2789A0, 0x286, 1 + map_top 0x278AEC, 0x286, 1, 1 + +gAreaRoomMap_46_4:: @ 081077F0 + map_bottom 0x278B88, 0x30E, 1 + map_top 0x278D38, 0x30E, 1, 1 + +gAreaRoomMap_46_5:: @ 08107808 + map_bottom 0x278DDC, 0x286, 1 + map_top 0x278F2C, 0x286, 1, 1 + +gAreaRoomMap_46_6:: @ 08107820 + map_bottom 0x278FA8, 0x720, 1 + map_top 0x27921C, 0x720, 1, 1 + +gAreaRoomMap_46_7:: @ 08107838 + map_bottom 0x27932C, 0x2F2, 1 + map_top 0x2794A4, 0x2F2, 1, 1 + +gAreaRoomMaps_46:: @ 08107850 + .4byte gAreaRoomMap_46_0 + .4byte gAreaRoomMap_46_1 + .4byte gAreaRoomMap_46_2 + .4byte gAreaRoomMap_46_3 + .4byte gAreaRoomMap_46_4 + .4byte gAreaRoomMap_46_5 + .4byte gAreaRoomMap_46_6 + .4byte gAreaRoomMap_46_7 + +gAreaRoomMap_08107870:: @ 08107870 + map_bottom 0x279520, 0xC80, 1 + map_top 0x2799B0, 0xC80, 1, 1 + +@ Unused +gAreaRoomMaps_08107888:: @ 08107888 + .4byte gAreaRoomMap_08107870 + +gAreaRoomMap_4D_0:: @ 0810788C + map_bottom 0x279D28, 0xCD0, 1 + map_top 0x27A2F4, 0xCD0, 1, 1 + +gAreaRoomMaps_4D:: @ 081078A4 + .4byte gAreaRoomMap_4D_0 + +gAreaRoomMap_57_0:: @ 081078A8 + map_bottom 0x27A574, 0xC80, 1 + map_top 0x27AAE4, 0xC80, 1, 1 + +gAreaRoomMaps_57:: @ 081078C0 + .4byte gAreaRoomMap_57_0 + +gAreaRoomMap_5F_0:: @ 081078C4 + map_bottom 0x27AD50, 0xC80, 1 + map_top 0x27B118, 0xC80, 1, 1 + +gAreaRoomMaps_5F:: @ 081078DC + .4byte gAreaRoomMap_5F_0 + +gAreaRoomMap_67_0:: @ 081078E0 + map_bottom 0x27B3A0, 0x12C, 1 + map_top 0x27B470, 0x12C, 1, 1 + +gAreaRoomMaps_67:: @ 081078F8 + .4byte gAreaRoomMap_67_0 + +gAreaRoomMap_6F_0:: @ 081078FC + map_bottom 0x27B4AC, 0xC80, 1 + map_top 0x27B974, 0xC80, 1, 1 + +gAreaRoomMaps_6F:: @ 08107914 + .4byte gAreaRoomMap_6F_0 + +gAreaRoomMap_77_0:: @ 08107918 + map_bottom 0x27BCCC, 0x1040, 1 + map_top 0x27C2C8, 0x1040, 1, 1 + +gAreaRoomMaps_77:: @ 08107930 + .4byte gAreaRoomMap_77_0 + +gAreaRoomMap_7F_0:: @ 08107934 + map_bottom 0x27C720, 0xC80, 1 + map_top 0x27CC28, 0xC80, 1, 1 + +gAreaRoomMaps_7F:: @ 0810794C + .4byte gAreaRoomMap_7F_0 + +gAreaRoomMap_87_0:: @ 08107950 + map_bottom 0x27CF58, 0xF3C, 1 + map_top 0x27D71C, 0xF3C, 1, 1 + +gAreaRoomMaps_87:: @ 08107968 + .4byte gAreaRoomMap_87_0 + +gAreaRoomMap_8F_0:: @ 0810796C + map_bottom 0x27DA00, 0xFA0, 1 + map_top 0x27DFF4, 0xFA0, 1, 1 + +gAreaRoomMaps_8F:: @ 08107984 + .4byte gAreaRoomMap_8F_0 + +gAreaRoomMaps:: @ 08107988 + .4byte gAreaRoomMaps_MinishWoods @ 0x0 + .4byte gAreaRoomMaps_MinishVillage @ 0x1 + .4byte gAreaRoomMaps_HyruleTown @ 0x2 + .4byte gAreaRoomMaps_HyruleField @ 0x3 + .4byte gAreaRoomMaps_CastorWilds @ 0x4 + .4byte gAreaRoomMaps_Ruins @ 0x5 + .4byte gAreaRoomMaps_MtCrenel @ 0x6 + .4byte gAreaRoomMaps_CastleGarden @ 0x7 + .4byte gAreaRoomMaps_CloudTops @ 0x8 + .4byte gAreaRoomMaps_RoyalValley @ 0x9 + .4byte gAreaRoomMaps_VeilFalls @ 0xA + .4byte gAreaRoomMaps_LakeHylia @ 0xB + .4byte gAreaRoomMaps_LakeWoodsCave @ 0xC + .4byte gAreaRoomMaps_Beanstalks @ 0xD + .4byte gAreaRoomMaps_Empty @ 0xE + .4byte gAreaRoomMaps_HyruleDigCaves @ 0xF + .4byte gAreaRoomMaps_MelarisMine @ 0x10 + .4byte gAreaRoomMaps_MinishPaths1 @ 0x11 + .4byte gAreaRoomMaps_CrenelMinishPaths @ 0x12 + .4byte gAreaRoomMaps_DigCaves1 @ 0x13 + .4byte gAreaRoomMaps_CrenelDigCave @ 0x14 + .4byte gAreaRoomMaps_FestivalTown @ 0x15 + .4byte gAreaRoomMaps_VeilFallsDigCave @ 0x16 + .4byte gAreaRoomMaps_CastorWildsDigCave @ 0x17 + .4byte gAreaRoomMaps_OuterFortressOfWinds @ 0x18 + .4byte gAreaRoomMaps_HyliaDigCaves @ 0x19 + .4byte gAreaRoomMaps_VeilFallsTop @ 0x1A + .4byte gAreaRoomMaps_Unused @ 0x1B + .4byte gAreaRoomMaps_Unused @ 0x1C + .4byte gAreaRoomMaps_Unused @ 0x1D + .4byte gAreaRoomMaps_Unused @ 0x1E + .4byte gAreaRoomMaps_Unused @ 0x1F + .4byte gAreaRoomMaps_MinishHouseInteriors @ 0x20 + .4byte gAreaRoomMaps_HouseInteriors1 @ 0x21 + .4byte gAreaRoomMaps_HouseInteriors2 @ 0x22 + .4byte gAreaRoomMaps_HouseInteriors3 @ 0x23 + .4byte gAreaRoomMaps_TreeInteriors @ 0x24 + .4byte gAreaRoomMaps_Dojos @ 0x25 + .4byte gAreaRoomMaps_CrenelCaves @ 0x26 + .4byte gAreaRoomMaps_MinishCracks @ 0x27 + .4byte gAreaRoomMaps_HouseInteriors4 @ 0x28 + .4byte gAreaRoomMaps_GreatFairies @ 0x29 + .4byte gAreaRoomMaps_CastorCaves @ 0x2A + .4byte gAreaRoomMaps_CastorDarknut @ 0x2B + .4byte gAreaRoomMaps_ArmosInteriors @ 0x2C + .4byte gAreaRoomMaps_TownMinishHoles @ 0x2D + .4byte gAreaRoomMaps_MinishRafters @ 0x2E + .4byte gAreaRoomMaps_GoronCave @ 0x2F + .4byte gAreaRoomMaps_WindTribeTower @ 0x30 + .4byte gAreaRoomMaps_WindTribeTowerRoof @ 0x31 + .4byte gAreaRoomMaps_Caves @ 0x32 + .4byte gAreaRoomMaps_VeilFallsCaves @ 0x33 + .4byte gAreaRoomMaps_RoyalValleyGraves @ 0x34 + .4byte gAreaRoomMaps_MinishCaves @ 0x35 + .4byte gAreaRoomMaps_CastleGardenMinishHoles @ 0x36 + .4byte gAreaRoomMaps_37 @ 0x37 + .4byte gAreaRoomMaps_EzloCutscene @ 0x38 + .4byte gAreaRoomMaps_Unused @ 0x39 + .4byte gAreaRoomMaps_Unused @ 0x3A + .4byte gAreaRoomMaps_Unused @ 0x3B + .4byte gAreaRoomMaps_Unused @ 0x3C + .4byte gAreaRoomMaps_Unused @ 0x3D + .4byte gAreaRoomMaps_Unused @ 0x3E + .4byte gAreaRoomMaps_Unused @ 0x3F + .4byte gAreaRoomMaps_40 @ 0x40 + .4byte gAreaRoomMaps_HyruleTownUnderground @ 0x41 + .4byte gAreaRoomMaps_GardenFountains @ 0x42 + .4byte gAreaRoomMaps_HyruleCastleCellar @ 0x43 + .4byte gAreaRoomMaps_SimonsSimulation @ 0x44 + .4byte gAreaRoomMaps_45 @ 0x45 + .4byte gAreaRoomMaps_46 @ 0x46 + .4byte gAreaRoomMaps_47 @ 0x47 + .4byte gAreaRoomMaps_DeepwoodShrine @ 0x48 + .4byte gAreaRoomMaps_DeepwoodShrineBoss @ 0x49 + .4byte gAreaRoomMaps_DeepwoodShrineEntry @ 0x4A + .4byte gAreaRoomMaps_Unused @ 0x4B + .4byte gAreaRoomMaps_Unused @ 0x4C + .4byte gAreaRoomMaps_4D @ 0x4D + .4byte gAreaRoomMaps_Unused @ 0x4E + .4byte gAreaRoomMaps_Unused @ 0x4F + .4byte gAreaRoomMaps_CaveOfFlames @ 0x50 + .4byte gAreaRoomMaps_CaveOfFlamesBoss @ 0x51 + .4byte gAreaRoomMaps_Unused @ 0x52 + .4byte gAreaRoomMaps_Unused @ 0x53 + .4byte gAreaRoomMaps_Unused @ 0x54 + .4byte gAreaRoomMaps_Unused @ 0x55 + .4byte gAreaRoomMaps_Unused @ 0x56 + .4byte gAreaRoomMaps_57 @ 0x57 + .4byte gAreaRoomMaps_FortressOfWinds @ 0x58 + .4byte gAreaRoomMaps_FortressOfWindsTop @ 0x59 + .4byte gAreaRoomMaps_InnerMazaal @ 0x5A + .4byte gAreaRoomMaps_Unused @ 0x5B + .4byte gAreaRoomMaps_Unused @ 0x5C + .4byte gAreaRoomMaps_Unused @ 0x5D + .4byte gAreaRoomMaps_Unused @ 0x5E + .4byte gAreaRoomMaps_5F @ 0x5F + .4byte gAreaRoomMaps_TempleOfDroplets @ 0x60 + .4byte gAreaRoomMaps_61 @ 0x61 + .4byte gAreaRoomMaps_HyruleTownMinishCaves @ 0x62 + .4byte gAreaRoomMaps_Unused @ 0x63 + .4byte gAreaRoomMaps_Unused @ 0x64 + .4byte gAreaRoomMaps_Unused @ 0x65 + .4byte gAreaRoomMaps_Unused @ 0x66 + .4byte gAreaRoomMaps_67 @ 0x67 + .4byte gAreaRoomMaps_RoyalCrypt @ 0x68 + .4byte gAreaRoomMaps_Unused @ 0x69 + .4byte gAreaRoomMaps_Unused @ 0x6A + .4byte gAreaRoomMaps_Unused @ 0x6B + .4byte gAreaRoomMaps_Unused @ 0x6C + .4byte gAreaRoomMaps_Unused @ 0x6D + .4byte gAreaRoomMaps_Unused @ 0x6E + .4byte gAreaRoomMaps_6F @ 0x6F + .4byte gAreaRoomMaps_PalaceOfWinds @ 0x70 + .4byte gAreaRoomMaps_PalaceOfWindsBoss @ 0x71 + .4byte gAreaRoomMaps_Unused @ 0x72 + .4byte gAreaRoomMaps_Unused @ 0x73 + .4byte gAreaRoomMaps_Unused @ 0x74 + .4byte gAreaRoomMaps_Unused @ 0x75 + .4byte gAreaRoomMaps_Unused @ 0x76 + .4byte gAreaRoomMaps_77 @ 0x77 + .4byte gAreaRoomMaps_Sanctuary @ 0x78 + .4byte gAreaRoomMaps_Unused @ 0x79 + .4byte gAreaRoomMaps_Unused @ 0x7A + .4byte gAreaRoomMaps_Unused @ 0x7B + .4byte gAreaRoomMaps_Unused @ 0x7C + .4byte gAreaRoomMaps_Unused @ 0x7D + .4byte gAreaRoomMaps_Unused @ 0x7E + .4byte gAreaRoomMaps_7F @ 0x7F + .4byte gAreaRoomMaps_HyruleCastle @ 0x80 + .4byte gAreaRoomMaps_SanctuaryEntrance @ 0x81 + .4byte gAreaRoomMaps_Unused @ 0x82 + .4byte gAreaRoomMaps_Unused @ 0x83 + .4byte gAreaRoomMaps_Unused @ 0x84 + .4byte gAreaRoomMaps_Unused @ 0x85 + .4byte gAreaRoomMaps_Unused @ 0x86 + .4byte gAreaRoomMaps_87 @ 0x87 + .4byte gAreaRoomMaps_DarkHyruleCastle @ 0x88 + .4byte gAreaRoomMaps_DarkHyruleCastleOutside @ 0x89 + .4byte gAreaRoomMaps_VaatisArms @ 0x8A + .4byte gAreaRoomMaps_Vaati3 @ 0x8B + .4byte gAreaRoomMaps_Vaati2 @ 0x8C + .4byte gAreaRoomMaps_DarkHyruleCastleBridge @ 0x8D + .4byte gAreaRoomMaps_Unused @ 0x8E + .4byte gAreaRoomMaps_8F @ 0x8F diff --git a/data/tileset_headers.s b/data/tileset_headers.s index b28028c6..664c1916 100755 --- a/data/tileset_headers.s +++ b/data/tileset_headers.s @@ -6,9 +6,11 @@ gAreaTileset_Unused_0:: @ 08100CE4 gAreaMetatiles_Unused:: +gAreaRoomMap_Unused:: tileset_palette_set 0, 1 gAreaTilesets_Unused:: @ 08100CF0 +gAreaRoomMaps_Unused:: .4byte gAreaTileset_Unused_0 gTileset_MinishWoods_0:: @ 08100CF4 diff --git a/linker.ld b/linker.ld index 962668bc..5b946bfc 100644 --- a/linker.ld +++ b/linker.ld @@ -44,7 +44,7 @@ SECTIONS { . = 0x00002C9C; gGlobalFlags = .; . = 0x00002E9C; gUnk_02002E9C = .; . = 0x00002ECC; gUnk_02002ECC = .; - . = 0x00002F00; gUnk_02002F00 = .; + . = 0x00002F00; gMapDataTopSpecial = .; . = 0x00006F00; gUnk_02006F00 = .; . = 0x0000AF00; gUnk_0200AF00 = .; . = 0x0000AF13; gUnk_0200AF13 = .; @@ -53,7 +53,7 @@ SECTIONS { . = 0x0000B640; gUnk_0200B640 = .; . = 0x0000B644; gUsedPalettes = .; . = 0x0000B650; gUnk_0200B650 = .; - . = 0x0000B654; gUnk_0200B654 = .; + . = 0x0000B654; gMapDataTop = .; . = 0x0000D654; gUnk_0200D654 = .; . = 0x0000E654; gUnk_0200E654 = .; . = 0x00010654; gMetatileTypesTop = .; @@ -98,7 +98,7 @@ SECTIONS { . = 0x00024494; gUnk_02024494 = .; . = 0x000246B0; gUnk_020246B0 = .; . = 0x00025EB0; gUnk_02025EB0 = .; - . = 0x00025EB4; gUnk_02025EB4 = .; + . = 0x00025EB4; gMapDataBottom = .; . = 0x00027EB4; gUnk_02027EB4 = .; . = 0x00028EB4; gUnk_02028EB4 = .; . = 0x0002AEB4; gMetatileTypesBottom = .; @@ -926,7 +926,8 @@ SECTIONS { data/data_08100CD4.o(.rodata); data/tileset_headers.o(.rodata); data/metatile_headers.o(.rodata); - data/data_081032DC.o(.rodata); + data/map_headers.o(.rodata); + data/data_08107BC8.o(.rodata); src/manager/managerB.o(.rodata); data/data_0810821C.o(.rodata); src/item.o(.rodata); From 6b8692d14f6f6fa46ef2cc33f06920f1d7faab84 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 18:01:35 +0200 Subject: [PATCH 040/105] decompile doorMimic --- asm/doorMimic.s | 343 -------------------------------- data/data_080CB734.s | 105 ---------- data/doorMimicAnimations.s | 25 +++ include/entity.h | 5 +- linker.ld | 4 +- src/enemy/doorMimic.c | 271 +++++++++++++++++++++++++ src/object/mineralWaterSource.c | 4 +- src/object/object49.c | 8 +- 8 files changed, 306 insertions(+), 459 deletions(-) delete mode 100644 asm/doorMimic.s create mode 100644 data/doorMimicAnimations.s create mode 100644 src/enemy/doorMimic.c diff --git a/asm/doorMimic.s b/asm/doorMimic.s deleted file mode 100644 index b94c1290..00000000 --- a/asm/doorMimic.s +++ /dev/null @@ -1,343 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start DoorMimic -DoorMimic: @ 0x08021FA8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08021FD4 @ =gUnk_080CB734 - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r1, _08021FD8 @ =gUnk_080CB8A4 - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r1, [r4, #0x1e] - ldr r0, [r0] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r4, #0x48] - pop {r4, r5, pc} - .align 2, 0 -_08021FD4: .4byte gUnk_080CB734 -_08021FD8: .4byte gUnk_080CB8A4 - - thumb_func_start sub_08021FDC -sub_08021FDC: @ 0x08021FDC - push {lr} - ldr r2, _08021FF0 @ =gUnk_080CB74C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08021FF0: .4byte gUnk_080CB74C - - thumb_func_start sub_08021FF4 -sub_08021FF4: @ 0x08021FF4 - push {lr} - ldr r1, _08022000 @ =gUnk_080CB734 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08022000: .4byte gUnk_080CB734 - - thumb_func_start sub_08022004 -sub_08022004: @ 0x08022004 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x7e - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl SetTile - adds r0, r4, #0 - movs r1, #5 - movs r2, #0 - bl CreateFx - adds r0, r4, #0 - bl sub_08049CF4 - bl DeleteThisEntity - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08022034 -sub_08022034: @ 0x08022034 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - movs r0, #3 - ands r0, r1 - strb r0, [r4, #0xb] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldr r2, _08022098 @ =gUnk_080CB764 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - ldrb r1, [r4, #0xb] - adds r0, r4, #0 - bl InitializeAnimation - adds r0, r4, #0 - bl sub_080221C0 - pop {r4, pc} - .align 2, 0 -_08022098: .4byte gUnk_080CB764 - - thumb_func_start sub_0802209C -sub_0802209C: @ 0x0802209C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _080220D2 - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x7a - ldrh r1, [r1] - movs r2, #0x10 - movs r3, #0x10 - bl sub_0806FBFC - cmp r0, #0 - beq _080220D6 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x12 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0xb] - adds r1, #4 - adds r0, r4, #0 - bl InitializeAnimation - b _080220D6 -_080220D2: - subs r0, #1 - strb r0, [r4, #0xe] -_080220D6: - pop {r4, pc} - - thumb_func_start sub_080220D8 -sub_080220D8: @ 0x080220D8 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080220EC - movs r0, #3 - strb r0, [r1, #0xc] -_080220EC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080220F0 -sub_080220F0: @ 0x080220F0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl GetNextFrame - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08022160 - movs r1, #0 - movs r0, #4 - strb r0, [r5, #0xc] - movs r0, #0x78 - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x44 - strb r1, [r0] - ldrb r1, [r5, #0xb] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0802215C @ =gUnk_080CB76C - adds r4, r0, r1 - movs r6, #0 -_08022124: - adds r0, r5, #0 - movs r1, #0x11 - movs r2, #0 - bl CreateFx - adds r1, r0, #0 - cmp r1, #0 - beq _08022148 - movs r0, #0 - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0x2e] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - movs r0, #1 - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0x32] - adds r0, r0, r2 - strh r0, [r1, #0x32] -_08022148: - adds r6, #1 - adds r4, #2 - cmp r6, #5 - bls _08022124 - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 - b _08022170 - .align 2, 0 -_0802215C: .4byte gUnk_080CB76C -_08022160: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08022170 - adds r1, r5, #0 - adds r1, #0x44 - movs r0, #4 - strb r0, [r1] -_08022170: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08022174 -sub_08022174: @ 0x08022174 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022196 - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xb] - adds r1, #8 - adds r0, r4, #0 - bl InitializeAnimation -_08022196: - pop {r4, pc} - - thumb_func_start sub_08022198 -sub_08022198: @ 0x08022198 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080221BC - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] -_080221BC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080221C0 -sub_080221C0: @ 0x080221C0 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r0, #0x2e - ldrsh r4, [r6, r0] - ldr r1, _08022220 @ =gRoomControls - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r6, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - ldr r1, _08022224 @ =gUnk_080B4488 - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r4, r4, r0 - adds r0, r6, #0 - adds r0, #0x7e - strh r4, [r0] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - adds r0, r4, #0 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x7c - strh r0, [r1] - ldr r1, _08022228 @ =gUnk_080CB79C - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrb r2, [r5] - adds r1, r4, #0 - bl SetTile - pop {r4, r5, r6, pc} - .align 2, 0 -_08022220: .4byte gRoomControls -_08022224: .4byte gUnk_080B4488 -_08022228: .4byte gUnk_080CB79C diff --git a/data/data_080CB734.s b/data/data_080CB734.s index 5f45f375..3f108af9 100644 --- a/data/data_080CB734.s +++ b/data/data_080CB734.s @@ -3,111 +3,6 @@ .section .rodata -gUnk_080CB734:: @ 080CB734 - .incbin "baserom.gba", 0x0CB734, 0x0000018 - -gUnk_080CB74C:: @ 080CB74C - .incbin "baserom.gba", 0x0CB74C, 0x0000018 - -gUnk_080CB764:: @ 080CB764 - .incbin "baserom.gba", 0x0CB764, 0x0000008 - -gUnk_080CB76C:: @ 080CB76C - .incbin "baserom.gba", 0x0CB76C, 0x0000030 - -gUnk_080CB79C:: @ 080CB79C - .incbin "baserom.gba", 0x0CB79C, 0x0000008 - -gUnk_080CB7A4:: @ 080CB7A4 - .incbin "baserom.gba", 0x0CB7A4, 0x0000008 - -gUnk_080CB7AC:: @ 080CB7AC - .incbin "baserom.gba", 0x0CB7AC, 0x0000008 - -gUnk_080CB7B4:: @ 080CB7B4 - .incbin "baserom.gba", 0x0CB7B4, 0x0000008 - -gUnk_080CB7BC:: @ 080CB7BC - .incbin "baserom.gba", 0x0CB7BC, 0x0000008 - -gUnk_080CB7C4:: @ 080CB7C4 - .incbin "baserom.gba", 0x0CB7C4, 0x0000008 - -gUnk_080CB7CC:: @ 080CB7CC - .incbin "baserom.gba", 0x0CB7CC, 0x0000008 - -gUnk_080CB7D4:: @ 080CB7D4 - .incbin "baserom.gba", 0x0CB7D4, 0x0000008 - -gUnk_080CB7DC:: @ 080CB7DC - .incbin "baserom.gba", 0x0CB7DC, 0x0000008 - -gUnk_080CB7E4:: @ 080CB7E4 - .incbin "baserom.gba", 0x0CB7E4, 0x0000008 - -gUnk_080CB7EC:: @ 080CB7EC - .incbin "baserom.gba", 0x0CB7EC, 0x0000008 - -gUnk_080CB7F4:: @ 080CB7F4 - .incbin "baserom.gba", 0x0CB7F4, 0x0000030 - -gUnk_080CB824:: @ 080CB824 - .incbin "baserom.gba", 0x0CB824, 0x0000008 - -gUnk_080CB82C:: @ 080CB82C - .incbin "baserom.gba", 0x0CB82C, 0x0000008 - -gUnk_080CB834:: @ 080CB834 - .incbin "baserom.gba", 0x0CB834, 0x0000008 - -gUnk_080CB83C:: @ 080CB83C - .incbin "baserom.gba", 0x0CB83C, 0x0000008 - -gUnk_080CB844:: @ 080CB844 - .incbin "baserom.gba", 0x0CB844, 0x0000008 - -gUnk_080CB84C:: @ 080CB84C - .incbin "baserom.gba", 0x0CB84C, 0x0000008 - -gUnk_080CB854:: @ 080CB854 - .incbin "baserom.gba", 0x0CB854, 0x0000008 - -gUnk_080CB85C:: @ 080CB85C - .incbin "baserom.gba", 0x0CB85C, 0x0000008 - -gUnk_080CB864:: @ 080CB864 - .incbin "baserom.gba", 0x0CB864, 0x0000008 - -gUnk_080CB86C:: @ 080CB86C - .incbin "baserom.gba", 0x0CB86C, 0x0000008 - -gUnk_080CB874:: @ 080CB874 - .incbin "baserom.gba", 0x0CB874, 0x0000030 - -gUnk_080CB8A4:: @ 080CB8A4 - .incbin "baserom.gba", 0x0CB8A4, 0x0000010 - -gUnk_080CB8B4:: @ 080CB8B4 - .incbin "baserom.gba", 0x0CB8B4, 0x0000005 - -gUnk_080CB8B9:: @ 080CB8B9 - .incbin "baserom.gba", 0x0CB8B9, 0x0000005 - -gUnk_080CB8BE:: @ 080CB8BE - .incbin "baserom.gba", 0x0CB8BE, 0x0000019 - -gUnk_080CB8D7:: @ 080CB8D7 - .incbin "baserom.gba", 0x0CB8D7, 0x0000019 - -gUnk_080CB8F0:: @ 080CB8F0 - .incbin "baserom.gba", 0x0CB8F0, 0x0000011 - -gUnk_080CB901:: @ 080CB901 - .incbin "baserom.gba", 0x0CB901, 0x0000013 - -gUnk_080CB914:: @ 080CB914 - .incbin "baserom.gba", 0x0CB914, 0x0000034 - gUnk_080CB948:: @ 080CB948 .incbin "baserom.gba", 0x0CB948, 0x0000018 diff --git a/data/doorMimicAnimations.s b/data/doorMimicAnimations.s new file mode 100644 index 00000000..deaf716b --- /dev/null +++ b/data/doorMimicAnimations.s @@ -0,0 +1,25 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CB8B4:: @ 080CB8B4 + .incbin "baserom.gba", 0x0CB8B4, 0x0000005 + +gUnk_080CB8B9:: @ 080CB8B9 + .incbin "baserom.gba", 0x0CB8B9, 0x0000005 + +gUnk_080CB8BE:: @ 080CB8BE + .incbin "baserom.gba", 0x0CB8BE, 0x0000019 + +gUnk_080CB8D7:: @ 080CB8D7 + .incbin "baserom.gba", 0x0CB8D7, 0x0000019 + +gUnk_080CB8F0:: @ 080CB8F0 + .incbin "baserom.gba", 0x0CB8F0, 0x0000011 + +gUnk_080CB901:: @ 080CB901 + .incbin "baserom.gba", 0x0CB901, 0x0000013 + +gUnk_080CB914:: @ 080CB914 + .incbin "baserom.gba", 0x0CB914, 0x0000034 diff --git a/include/entity.h b/include/entity.h index 0304f396..fc09651d 100644 --- a/include/entity.h +++ b/include/entity.h @@ -19,10 +19,7 @@ typedef struct { } EntityType; typedef struct { - u8 unknown[6]; - u8 field_0x6; - u8 field_0x7; - u8 unknown2[4]; + u8 unknown[8]; } BoundingBox; typedef struct Entity { diff --git a/linker.ld b/linker.ld index 2a5be4eb..7568b15c 100644 --- a/linker.ld +++ b/linker.ld @@ -334,7 +334,7 @@ SECTIONS { src/enemy/hangingSeed.o(.text); src/enemy/beetle.o(.text); src/enemy/keese.o(.text); - asm/doorMimic.o(.text); + src/enemy/doorMimic.o(.text); asm/rockChuchu.o(.text); asm/spinyChuchu.o(.text); asm/cuccoChickAggr.o(.text); @@ -922,6 +922,8 @@ SECTIONS { data/beetleAnimations.o(.rodata); src/enemy/keese.o(.rodata); data/keeseAnimations.o(.rodata); + src/enemy/doorMimic.o(.rodata); + data/doorMimicAnimations.o(.rodata); data/data_080CB734.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/doorMimic.c b/src/enemy/doorMimic.c new file mode 100644 index 00000000..587ce521 --- /dev/null +++ b/src/enemy/doorMimic.c @@ -0,0 +1,271 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern s16 sub_080001DA(u32, u32); // ? +extern void sub_08049CF4(); +extern u32 sub_0806FBFC(u32, u32, u32, u32); +void sub_080221C0(); + +typedef struct { + s8 h; + s8 v; +} PACKED PosOffset; + +extern void (*const gUnk_080CB734[])(Entity*); +extern void (*const gUnk_080CB74C[])(Entity*); + +#if NON_MATCHING +extern const PosOffset gUnk_080CB764[]; +#else +extern const s8 gUnk_080CB764[]; +#endif +extern const PosOffset gUnk_080CB76C[4][6]; +extern const u16 gUnk_080CB79C[]; +extern const BoundingBox* const* const gUnk_080CB8A4[]; + +extern s16 gUnk_080B4488[]; + +void DoorMimic(Entity* this) { + gUnk_080CB734[GetNextFunction(this)](this); + this->boundingBox = (BoundingBox*)gUnk_080CB8A4[this->entityType.parameter][this->frameIndex]; +} + +void sub_08021FDC(Entity* this) { + gUnk_080CB74C[this->action](this); +} + +void sub_08021FF4(Entity* this) { + sub_0804AA30(this, gUnk_080CB734); +} + +void sub_08022004(Entity* this) { + SetTile((u16)this->field_0x7c.HALF.LO, (u16)this->field_0x7c.HALF.HI, this->collisionLayer); + CreateFx(this, 5, 0); + sub_08049CF4(this); + DeleteThisEntity(); +} + +#if NON_MATCHING +void sub_08022034(Entity* this) { + this->action = 1; + this->entityType.parameter = this->entityType.form & 3; + this->spritePriority.b0 = 5; + this->field_0x78.HWORD = gUnk_080CB764[this->entityType.parameter].h + this->x.HALF.HI; + this->field_0x7a.HWORD = gUnk_080CB764[this->entityType.parameter].v + this->y.HALF.HI; + InitializeAnimation(this, this->entityType.parameter); + sub_080221C0(this); +} +#else +void sub_08022034(Entity* this) { + this->action = 1; + this->entityType.parameter = this->entityType.form & 3; + this->spritePriority.b0 = 5; + this->field_0x78.HWORD = gUnk_080CB764[this->entityType.parameter * 2] + this->x.HALF.HI; + this->field_0x7a.HWORD = gUnk_080CB764[this->entityType.parameter * 2 + 1] + this->y.HALF.HI; + InitializeAnimation(this, this->entityType.parameter); + sub_080221C0(this); +} +#endif + +void sub_0802209C(Entity* this) { + if (this->actionDelay == 0) { + if (sub_0806FBFC(this->field_0x78.HWORD, this->field_0x7a.HWORD, 0x10, 0x10)) { + this->action = 2; + this->actionDelay = 0x12; + InitializeAnimation(this, this->entityType.parameter + 4); + } + } else { + this->actionDelay = this->actionDelay - 1; + } +} + +void sub_080220D8(Entity* this) { + if (--this->actionDelay == 0) + this->action = 3; +} + +void sub_080220F0(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + const PosOffset* off; + u32 i; + + this->action = 4; + this->actionDelay = 0x78; + this->field_0x44 = 0; + off = gUnk_080CB76C[this->entityType.parameter]; + for (i = 0; i < 6; i++, off++) { + Entity* fx = CreateFx(this, 0x11, 0); + if (fx) { + fx->x.HALF.HI += off->h; + fx->y.HALF.HI += off->v; + } + } + sub_08004488(260); + } else if (this->frames.all & 1) { + this->field_0x44 = 4; + } +} + +void sub_08022174(Entity* this) { + sub_0800445C(this); + if (--this->actionDelay == 0) { + this->action = 5; + InitializeAnimation(this, this->entityType.parameter + 8); + } +} + +void sub_08022198(Entity* this) { + sub_0800445C(this); + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 1; + this->actionDelay = 0x5a; + } +} + +void sub_080221C0(Entity* this) { + u32 tile = COORD_TO_TILE(this) + gUnk_080B4488[this->entityType.parameter]; + this->field_0x7c.HALF.HI = tile; + this->field_0x7c.HALF.LO = sub_080001DA(tile, this->collisionLayer); + SetTile(gUnk_080CB79C[this->entityType.parameter], tile, this->collisionLayer); +} + +// clang-format off +void (*const gUnk_080CB734[])(Entity*) = { + sub_08021FDC, + sub_08021FF4, + sub_08001324, + sub_08022004, + sub_08001242, + sub_08021FDC, +}; + +void (*const gUnk_080CB74C[])(Entity*) = { + sub_08022034, + sub_0802209C, + sub_080220D8, + sub_080220F0, + sub_08022174, + sub_08022198, +}; + +#if NON_MATCHING +const PosOffset gUnk_080CB764[] = { + {-0x08, 0x00}, + {-0x10, -0x08}, + {-0x08, -0x10}, + { 0x00, -0x08}, +}; +#else +const s8 gUnk_080CB764[] = { + -0x08, 0x00, + -0x10, -0x08, + -0x08, -0x10, + 0x00, -0x08, +}; +#endif + +const PosOffset gUnk_080CB76C[][6] = { + { + {-0x04, 0x1a}, + { 0x04, 0x1a}, + {-0x0c, 0x10}, + { 0x0c, 0x10}, + {-0x0c, 0x08}, + { 0x0c, 0x08}, + }, + { + {-0x1a, -0x04}, + {-0x1a, 0x04}, + {-0x10, -0x0c}, + {-0x10, 0x0c}, + {-0x08, -0x0c}, + {-0x08, 0x0c}, + }, + { + {-0x04, -0x1a}, + { 0x04, -0x1a}, + {-0x0c, -0x10}, + { 0x0c, -0x10}, + {-0x0c, -0x08}, + { 0x0c, -0x08}, + }, + { + { 0x1a, -0x04}, + { 0x1a, 0x04}, + { 0x10, -0x0c}, + { 0x10, 0x0c}, + { 0x08, -0x0c}, + { 0x08, 0x0c}, + }, +}; + +const u16 gUnk_080CB79C[] = { + 0x4023, + 0x4025, + 0x4026, + 0x4024, +}; + + +const BoundingBox gUnk_080CB7A4 = { 0x00, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06 }; +const BoundingBox gUnk_080CB7AC = { 0x00, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04 }; +const BoundingBox gUnk_080CB7B4 = { 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04 }; +const BoundingBox gUnk_080CB7BC = { 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x06, 0x08 }; +const BoundingBox gUnk_080CB7C4 = { 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c }; +const BoundingBox gUnk_080CB7CC = { 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB7D4 = { 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04 }; +const BoundingBox gUnk_080CB7DC = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04 }; +const BoundingBox gUnk_080CB7E4 = { 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB7EC = { 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c }; + +const BoundingBox *const gUnk_080CB7F4[] = { + &gUnk_080CB7A4, + &gUnk_080CB7AC, + &gUnk_080CB7B4, + &gUnk_080CB7BC, + &gUnk_080CB7C4, + &gUnk_080CB7C4, + &gUnk_080CB7CC, + &gUnk_080CB7D4, + &gUnk_080CB7DC, + &gUnk_080CB7E4, + &gUnk_080CB7EC, + &gUnk_080CB7EC, +}; + +const BoundingBox gUnk_080CB824 = { 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB82C = { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; +const BoundingBox gUnk_080CB834 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; +const BoundingBox gUnk_080CB83C = { 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB844 = { 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08 }; +const BoundingBox gUnk_080CB84C = { 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB854 = { 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; +const BoundingBox gUnk_080CB85C = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; +const BoundingBox gUnk_080CB864 = { 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB86C = { 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08 }; + +const BoundingBox *const gUnk_080CB874[] = { + &gUnk_080CB84C, + &gUnk_080CB854, + &gUnk_080CB85C, + &gUnk_080CB864, + &gUnk_080CB86C, + &gUnk_080CB86C, + &gUnk_080CB824, + &gUnk_080CB82C, + &gUnk_080CB834, + &gUnk_080CB83C, + &gUnk_080CB844, + &gUnk_080CB844, +}; + +const BoundingBox *const *const gUnk_080CB8A4[] = { + gUnk_080CB7F4, + gUnk_080CB874, + gUnk_080CB7F4, + gUnk_080CB874, +}; +// clang-format on diff --git a/src/object/mineralWaterSource.c b/src/object/mineralWaterSource.c index c874530b..cc1f45d7 100644 --- a/src/object/mineralWaterSource.c +++ b/src/object/mineralWaterSource.c @@ -30,8 +30,8 @@ void MineralWaterSource_Init(Entity *this) { this->entityType.parameter = unknownParameters->field_0x00; this->field_0x40 = unknownParameters->field_0x03; - this->boundingBox->field_0x6 = unknownParameters->field_0x01; - this->boundingBox->field_0x7 = unknownParameters->field_0x02; + this->boundingBox->unknown[6] = unknownParameters->field_0x01; + this->boundingBox->unknown[7] = unknownParameters->field_0x02; this->flags |= 0x80; diff --git a/src/object/object49.c b/src/object/object49.c index e3fa37dd..0617aad2 100644 --- a/src/object/object49.c +++ b/src/object/object49.c @@ -243,10 +243,10 @@ void sub_0808F498(Entity* this) { this->action = 1; this->actionDelay = 64; var0 = this->entityType.parameter != 0 ? 44 : 43; - this->x.HALF.HI -= this->parent->boundingBox->field_0x6; - this->x.HALF.HI += (s32)Random() % (this->parent->boundingBox->field_0x6 * 2); - this->y.HALF.HI -= this->parent->boundingBox->field_0x7; - this->y.HALF.HI += (s32)Random() % (this->parent->boundingBox->field_0x7 * 2); + this->x.HALF.HI -= this->parent->boundingBox->unknown[6]; + this->x.HALF.HI += (s32)Random() % (this->parent->boundingBox->unknown[6] * 2); + this->y.HALF.HI -= this->parent->boundingBox->unknown[7]; + this->y.HALF.HI += (s32)Random() % (this->parent->boundingBox->unknown[7] * 2); sub_0801D2B4(this, var0); InitializeAnimation(this, 4); } From 057fc9199dd512586f46a2b996e80971e21381cc Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 18:01:44 +0200 Subject: [PATCH 041/105] rename rodata file --- data/{data_080CB734.s => data_080CB948.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CB734.s => data_080CB948.s} (100%) diff --git a/data/data_080CB734.s b/data/data_080CB948.s similarity index 100% rename from data/data_080CB734.s rename to data/data_080CB948.s diff --git a/linker.ld b/linker.ld index 7568b15c..aaecc595 100644 --- a/linker.ld +++ b/linker.ld @@ -924,7 +924,7 @@ SECTIONS { data/keeseAnimations.o(.rodata); src/enemy/doorMimic.o(.rodata); data/doorMimicAnimations.o(.rodata); - data/data_080CB734.o(.rodata); + data/data_080CB948.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From 1b0a1a71b3de40a3181e14ae85aefd88565648a2 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 18:11:09 +0200 Subject: [PATCH 042/105] move animation files --- Makefile | 2 +- .../beetle.s} | 0 .../chuchu.s} | 0 .../darkNut.s} | 0 .../doorMimic.s} | 0 .../greatFairy.s} | 0 .../{keeseAnimations.s => animations/keese.s} | 0 .../leever.s} | 0 .../octorok.s} | 0 .../peahat.s} | 0 .../rollobite.s} | 0 linker.ld | 20 +++++++++---------- 12 files changed, 11 insertions(+), 11 deletions(-) rename data/{beetleAnimations.s => animations/beetle.s} (100%) rename data/{chuchuAnimations.s => animations/chuchu.s} (100%) rename data/{darkNutAnimations.s => animations/darkNut.s} (100%) rename data/{doorMimicAnimations.s => animations/doorMimic.s} (100%) rename data/{greatFairyAnimations.s => animations/greatFairy.s} (100%) rename data/{keeseAnimations.s => animations/keese.s} (100%) rename data/{leeverAnimations.s => animations/leever.s} (100%) rename data/{octorokAnimations.s => animations/octorok.s} (100%) rename data/{peahatAnimations.s => animations/peahat.s} (100%) rename data/{rollobiteAnimations.s => animations/rollobite.s} (100%) diff --git a/Makefile b/Makefile index ed71b35f..caf5a55e 100644 --- a/Makefile +++ b/Makefile @@ -90,7 +90,7 @@ C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s) ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS)) -DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s) +DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s $(DATA_ASM_SUBDIR)/**/*.s) DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS)) SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s) diff --git a/data/beetleAnimations.s b/data/animations/beetle.s similarity index 100% rename from data/beetleAnimations.s rename to data/animations/beetle.s diff --git a/data/chuchuAnimations.s b/data/animations/chuchu.s similarity index 100% rename from data/chuchuAnimations.s rename to data/animations/chuchu.s diff --git a/data/darkNutAnimations.s b/data/animations/darkNut.s similarity index 100% rename from data/darkNutAnimations.s rename to data/animations/darkNut.s diff --git a/data/doorMimicAnimations.s b/data/animations/doorMimic.s similarity index 100% rename from data/doorMimicAnimations.s rename to data/animations/doorMimic.s diff --git a/data/greatFairyAnimations.s b/data/animations/greatFairy.s similarity index 100% rename from data/greatFairyAnimations.s rename to data/animations/greatFairy.s diff --git a/data/keeseAnimations.s b/data/animations/keese.s similarity index 100% rename from data/keeseAnimations.s rename to data/animations/keese.s diff --git a/data/leeverAnimations.s b/data/animations/leever.s similarity index 100% rename from data/leeverAnimations.s rename to data/animations/leever.s diff --git a/data/octorokAnimations.s b/data/animations/octorok.s similarity index 100% rename from data/octorokAnimations.s rename to data/animations/octorok.s diff --git a/data/peahatAnimations.s b/data/animations/peahat.s similarity index 100% rename from data/peahatAnimations.s rename to data/animations/peahat.s diff --git a/data/rollobiteAnimations.s b/data/animations/rollobite.s similarity index 100% rename from data/rollobiteAnimations.s rename to data/animations/rollobite.s diff --git a/linker.ld b/linker.ld index aaecc595..b4ebf4ba 100644 --- a/linker.ld +++ b/linker.ld @@ -906,24 +906,24 @@ SECTIONS { src/trig.o(.rodata); data/data_080C93E0.o(.rodata); src/enemy/octorok.o(.rodata); - data/octorokAnimations.o(.rodata); + data/animations/octorok.o(.rodata); src/enemy/chuchu.o(.rodata); - data/chuchuAnimations.o(.rodata); + data/animations/chuchu.o(.rodata); src/enemy/leever.o(.rodata); - data/leeverAnimations.o(.rodata); + data/animations/leever.o(.rodata); src/enemy/peahat.o(.rodata); - data/peahatAnimations.o(.rodata); + data/animations/peahat.o(.rodata); src/enemy/rollobite.o(.rodata); - data/rollobiteAnimations.o(.rodata); + data/animations/rollobite.o(.rodata); src/enemy/darkNut.o(.rodata); - data/darkNutAnimations.o(.rodata); + data/animations/darkNut.o(.rodata); src/enemy/hangingSeed.o(.rodata); src/enemy/beetle.o(.rodata); - data/beetleAnimations.o(.rodata); + data/animations/beetle.o(.rodata); src/enemy/keese.o(.rodata); - data/keeseAnimations.o(.rodata); + data/animations/keese.o(.rodata); src/enemy/doorMimic.o(.rodata); - data/doorMimicAnimations.o(.rodata); + data/animations/doorMimic.o(.rodata); data/data_080CB948.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); @@ -941,7 +941,7 @@ SECTIONS { data/room_headers.o(.rodata); data/data_0811E454.o(.rodata); src/object/greatFairy.o(.rodata); - data/greatFairyAnimations.o(.rodata); + data/animations/greatFairy.o(.rodata); data/data_081208A0.o(.rodata); src/object/heartContainer.o(.rodata); data/data_08121C58.o(.rodata); From b952c82b59ad520fd736cb7bf6cb62c6199a7066 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 20:04:31 +0200 Subject: [PATCH 043/105] decompile RockChuchu --- asm/rockChuchu.s | 237 ----------------------------------- data/animations/rockChuchu.s | 16 +++ data/data_080CB948.s | 18 --- include/player.h | 3 +- linker.ld | 4 +- src/enemy/rockChuchu.c | 122 ++++++++++++++++++ 6 files changed, 143 insertions(+), 257 deletions(-) delete mode 100644 asm/rockChuchu.s create mode 100644 data/animations/rockChuchu.s create mode 100644 src/enemy/rockChuchu.c diff --git a/asm/rockChuchu.s b/asm/rockChuchu.s deleted file mode 100644 index 1d4bcc7b..00000000 --- a/asm/rockChuchu.s +++ /dev/null @@ -1,237 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start RockChuchu -RockChuchu: @ 0x0802222C - push {lr} - ldr r1, _08022238 @ =gUnk_080CB948 - bl EnemyFunctionHandler - pop {pc} - .align 2, 0 -_08022238: .4byte gUnk_080CB948 - - thumb_func_start sub_0802223C -sub_0802223C: @ 0x0802223C - push {lr} - ldr r2, _08022250 @ =gUnk_080CB960 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022250: .4byte gUnk_080CB960 - - thumb_func_start sub_08022254 -sub_08022254: @ 0x08022254 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _08022344 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - subs r0, #4 - cmp r0, #0x18 - bhi _08022356 - lsls r0, r0, #2 - ldr r1, _0802227C @ =_08022280 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802227C: .4byte _08022280 -_08022280: @ jump table - .4byte _080222E4 @ case 0 - .4byte _080222E4 @ case 1 - .4byte _080222E4 @ case 2 - .4byte _08022356 @ case 3 - .4byte _080222E4 @ case 4 - .4byte _080222E4 @ case 5 - .4byte _080222E4 @ case 6 - .4byte _080222E4 @ case 7 - .4byte _080222E4 @ case 8 - .4byte _080222E4 @ case 9 - .4byte _08022356 @ case 10 - .4byte _08022356 @ case 11 - .4byte _080222E4 @ case 12 - .4byte _080222E4 @ case 13 - .4byte _080222E4 @ case 14 - .4byte _08022356 @ case 15 - .4byte _08022356 @ case 16 - .4byte _08022356 @ case 17 - .4byte _080222F2 @ case 18 - .4byte _08022356 @ case 19 - .4byte _080222E4 @ case 20 - .4byte _080222E4 @ case 21 - .4byte _080222E4 @ case 22 - .4byte _08022356 @ case 23 - .4byte _080222F2 @ case 24 -_080222E4: - ldr r0, _08022340 @ =gPlayerState - adds r0, #0xac - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08022356 -_080222F2: - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl CreateFx - movs r0, #1 - movs r1, #1 - bl CreateEnemy - adds r5, r0, #0 - cmp r5, #0 - beq _08022356 - movs r0, #1 - strb r0, [r5, #0xb] - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0xf8 - strb r0, [r1] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0804A4E4 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r4, #0x15] - str r5, [r4, #0x54] - b _08022356 - .align 2, 0 -_08022340: .4byte gPlayerState -_08022344: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x94 - beq _08022356 - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_08022356: - ldr r1, _08022360 @ =gUnk_080CB948 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08022360: .4byte gUnk_080CB948 - - thumb_func_start nullsub_131 -nullsub_131: @ 0x08022364 - bx lr - .align 2, 0 - - thumb_func_start sub_08022368 -sub_08022368: @ 0x08022368 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - bl Random - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08022390 -sub_08022390: @ 0x08022390 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080223D4 - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _080223C0 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - bl Random - movs r1, #4 - ands r0, r1 - strb r0, [r4, #0xf] -_080223C0: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080223CE - adds r0, r4, #0 - bl sub_080AEF88 - b _080223DA -_080223CE: - subs r0, #1 - strb r0, [r4, #0xf] - b _080223DA -_080223D4: - bl Random - strb r0, [r4, #0xe] -_080223DA: - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080223E4 -sub_080223E4: @ 0x080223E4 - push {lr} - adds r3, r0, #0 - ldr r2, [r3, #0x54] - cmp r2, #0 - beq _0802240A - adds r1, r2, #0 - adds r1, #0x41 - movs r0, #0x94 - strb r0, [r1] - subs r1, #4 - movs r0, #0x10 - strb r0, [r1] - adds r1, #5 - movs r0, #0xc - strb r0, [r1] - ldrb r1, [r3, #0x15] - adds r0, r2, #0 - adds r0, #0x3e - strb r1, [r0] -_0802240A: - adds r0, r3, #0 - bl DeleteEntity - pop {pc} - .align 2, 0 diff --git a/data/animations/rockChuchu.s b/data/animations/rockChuchu.s new file mode 100644 index 00000000..d28e303f --- /dev/null +++ b/data/animations/rockChuchu.s @@ -0,0 +1,16 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CB96C:: @ 080CB96C + .incbin "baserom.gba", 0x0CB96C, 0x0000029 + +gUnk_080CB995:: @ 080CB995 + .incbin "baserom.gba", 0x0CB995, 0x0000041 + +gUnk_080CB9D6:: @ 080CB9D6 + .incbin "baserom.gba", 0x0CB9D6, 0x0000042 + +gUnk_080CBA18:: @ 080CBA18 + .incbin "baserom.gba", 0x0CBA18, 0x0000010 diff --git a/data/data_080CB948.s b/data/data_080CB948.s index 3f108af9..b25f7c4d 100644 --- a/data/data_080CB948.s +++ b/data/data_080CB948.s @@ -3,24 +3,6 @@ .section .rodata -gUnk_080CB948:: @ 080CB948 - .incbin "baserom.gba", 0x0CB948, 0x0000018 - -gUnk_080CB960:: @ 080CB960 - .incbin "baserom.gba", 0x0CB960, 0x000000C - -gUnk_080CB96C:: @ 080CB96C - .incbin "baserom.gba", 0x0CB96C, 0x0000029 - -gUnk_080CB995:: @ 080CB995 - .incbin "baserom.gba", 0x0CB995, 0x0000041 - -gUnk_080CB9D6:: @ 080CB9D6 - .incbin "baserom.gba", 0x0CB9D6, 0x0000042 - -gUnk_080CBA18:: @ 080CBA18 - .incbin "baserom.gba", 0x0CBA18, 0x0000010 - gUnk_080CBA28:: @ 080CBA28 .incbin "baserom.gba", 0x0CBA28, 0x0000018 diff --git a/include/player.h b/include/player.h index 38dca39c..488ffba4 100644 --- a/include/player.h +++ b/include/player.h @@ -67,7 +67,8 @@ typedef struct { /*0xa9*/ u8 field_0xa9; /*0xaa*/ u8 field_0xaa; /*0xab*/ u8 field_0xab; - /*0xac*/ u32 field_0xac; + /*0xac*/ u16 field_0xac; + /*0xae*/ u16 field_0xae; } PlayerState; diff --git a/linker.ld b/linker.ld index b4ebf4ba..213fee27 100644 --- a/linker.ld +++ b/linker.ld @@ -335,7 +335,7 @@ SECTIONS { src/enemy/beetle.o(.text); src/enemy/keese.o(.text); src/enemy/doorMimic.o(.text); - asm/rockChuchu.o(.text); + src/enemy/rockChuchu.o(.text); asm/spinyChuchu.o(.text); asm/cuccoChickAggr.o(.text); asm/moldorm.o(.text); @@ -924,6 +924,8 @@ SECTIONS { data/animations/keese.o(.rodata); src/enemy/doorMimic.o(.rodata); data/animations/doorMimic.o(.rodata); + src/enemy/rockChuchu.o(.rodata); + data/animations/rockChuchu.o(.rodata); data/data_080CB948.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/rockChuchu.c b/src/enemy/rockChuchu.c new file mode 100644 index 00000000..337e21dc --- /dev/null +++ b/src/enemy/rockChuchu.c @@ -0,0 +1,122 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern void sub_0804A4E4(Entity*, Entity*); + +extern void (*const gUnk_080CB948[])(Entity*); +extern void (*const gUnk_080CB960[])(Entity*); + +void RockChuchu(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CB948); +} + +void sub_0802223C(Entity* this) { + gUnk_080CB960[this->action](this); +} + +void sub_08022254(Entity* this) { + Entity* ent; + + if (this->currentHealth) { + switch (this->bitfield & 0x7f) { + case 4: + case 5: + case 6: + case 8: + case 9: + case 10: + case 0xb: + case 0xc: + case 0xd: + case 0x10: + case 0x11: + case 0x12: + case 0x18: + case 0x19: + case 0x1a: + if ((gPlayerState.field_0xac & 8) == 0) + break; + case 0x16: + case 0x1c: + CreateFx(this, 4, 0); + ent = CreateEnemy(1, 1); + if (ent) { + ent->entityType.parameter = 1; + ent->hurtBlinkTime = -8; + sub_0804A4E4(this, ent); + this->action = 2; + this->flags &= ~0x80; + this->spriteSettings.b.draw = 0; + this->direction = this->field_0x3e; + this->attachedEntity = ent; + } + } + } else { + if (this->damageType != 0x94) + InitializeAnimation(this, 2); + } + + sub_0804AA30(this, gUnk_080CB948); +} + +void nullsub_131(Entity* this) { +} + +void sub_08022368(Entity* this) { + sub_0804A720(this); + this->action = 1; + this->actionDelay = Random(); + this->direction = sub_08049F84(this, 1); + InitializeAnimation(this, 0); +} + +void sub_08022390(Entity* this) { + if (sub_08049FDC(this, 1)) { + if ((this->actionDelay++ & 0xf) == 0) { + this->direction = sub_08049F84(this, 1); + this->field_0xf = Random() & 4; + } + + if (this->field_0xf == 0) { + sub_080AEF88(this); + } else { + this->field_0xf = this->field_0xf - 1; + } + } else { + this->actionDelay = Random(); + } + + GetNextFrame(this); +} + +void sub_080223E4(Entity* this) { + Entity* ent; + + ent = this->attachedEntity; + if (ent) { + ent->bitfield = 0x94; + ent->hurtBlinkTime = 0x10; + ent->field_0x42 = 0xc; + ent->field_0x3e = this->direction; + } + + DeleteEntity(this); +} + +// clang-format off +void (*const gUnk_080CB948[])(Entity*) = { + sub_0802223C, + sub_08022254, + sub_08001324, + sub_0804A7D4, + sub_08001242, + nullsub_131, +}; + +void (*const gUnk_080CB960[])(Entity*) = { + sub_08022368, + sub_08022390, + sub_080223E4, +}; +// clang-format on From 358985e215c19df3186b0e739496c6d7ebeeac18 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 20:05:32 +0200 Subject: [PATCH 044/105] rename rodata file --- data/{data_080CB948.s => data_080CBA28.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CB948.s => data_080CBA28.s} (100%) diff --git a/data/data_080CB948.s b/data/data_080CBA28.s similarity index 100% rename from data/data_080CB948.s rename to data/data_080CBA28.s diff --git a/linker.ld b/linker.ld index 213fee27..6b8f7f5c 100644 --- a/linker.ld +++ b/linker.ld @@ -926,7 +926,7 @@ SECTIONS { data/animations/doorMimic.o(.rodata); src/enemy/rockChuchu.o(.rodata); data/animations/rockChuchu.o(.rodata); - data/data_080CB948.o(.rodata); + data/data_080CBA28.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From 14791dcd973eb0ffe8da738d82a556e15beb1e77 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 21:14:26 +0200 Subject: [PATCH 045/105] decompile SpinyChuchu --- asm/spinyChuchu.s | 646 ---------------------------------- data/animations/spinyChuchu.s | 28 ++ data/data_080CBA28.s | 33 -- linker.ld | 4 +- src/enemy/spinyChuchu.c | 285 +++++++++++++++ 5 files changed, 316 insertions(+), 680 deletions(-) delete mode 100644 asm/spinyChuchu.s create mode 100644 data/animations/spinyChuchu.s create mode 100644 src/enemy/spinyChuchu.c diff --git a/asm/spinyChuchu.s b/asm/spinyChuchu.s deleted file mode 100644 index 8e2b6aba..00000000 --- a/asm/spinyChuchu.s +++ /dev/null @@ -1,646 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start SpinyChuchu -SpinyChuchu: @ 0x08022414 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08022430 @ =gUnk_080CBA28 - bl EnemyFunctionHandler - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl SetChildOffset - pop {r4, pc} - .align 2, 0 -_08022430: .4byte gUnk_080CBA28 - - thumb_func_start sub_08022434 -sub_08022434: @ 0x08022434 - push {lr} - ldr r2, _08022448 @ =gUnk_080CBA40 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022448: .4byte gUnk_080CBA40 - - thumb_func_start sub_0802244C -sub_0802244C: @ 0x0802244C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x45 - ldrb r0, [r5] - cmp r0, #0 - bne _0802245C - b _08022582 -_0802245C: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0x65 - bne _08022522 - adds r0, #2 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - subs r0, #2 - cmp r0, #0x18 - bhi _08022540 - lsls r0, r0, #2 - ldr r1, _08022480 @ =_08022484 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08022480: .4byte _08022484 -_08022484: @ jump table - .4byte _080224E8 @ case 0 - .4byte _080224E8 @ case 1 - .4byte _08022540 @ case 2 - .4byte _08022540 @ case 3 - .4byte _08022540 @ case 4 - .4byte _08022540 @ case 5 - .4byte _08022508 @ case 6 - .4byte _08022508 @ case 7 - .4byte _08022508 @ case 8 - .4byte _08022508 @ case 9 - .4byte _08022508 @ case 10 - .4byte _08022540 @ case 11 - .4byte _08022540 @ case 12 - .4byte _08022540 @ case 13 - .4byte _08022540 @ case 14 - .4byte _08022540 @ case 15 - .4byte _08022540 @ case 16 - .4byte _08022540 @ case 17 - .4byte _08022540 @ case 18 - .4byte _08022540 @ case 19 - .4byte _08022508 @ case 20 - .4byte _08022540 @ case 21 - .4byte _08022508 @ case 22 - .4byte _08022508 @ case 23 - .4byte _08022508 @ case 24 -_080224E8: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - movs r0, #0x5c - strb r0, [r6] - ldr r0, _08022504 @ =gUnk_080FD468 - str r0, [r4, #0x48] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - b _08022540 - .align 2, 0 -_08022504: .4byte gUnk_080FD468 -_08022508: - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x5c - strb r0, [r6] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation - b _08022540 -_08022522: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x94 - bne _08022540 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation -_08022540: - adds r0, r4, #0 - adds r0, #0x80 - adds r1, r4, #0 - adds r1, #0x45 - ldrb r2, [r0] - adds r5, r1, #0 - adds r7, r0, #0 - ldrb r0, [r5] - cmp r2, r0 - beq _08022566 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x5c - strb r0, [r6] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation - b _0802258E -_08022566: - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0802258E - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl InitializeAnimation - movs r0, #0xca - lsls r0, r0, #1 - bl sub_08004488 - b _0802258E -_08022582: - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation - adds r7, r4, #0 - adds r7, #0x80 -_0802258E: - ldrb r0, [r5] - strb r0, [r7] - ldr r1, _0802259C @ =gUnk_080CBA28 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802259C: .4byte gUnk_080CBA28 - - thumb_func_start sub_080225A0 -sub_080225A0: @ 0x080225A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - bne _080225B2 - adds r0, r4, #0 - bl GetNextFrame -_080225B2: - adds r0, r4, #0 - bl sub_08001318 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080225BC -sub_080225BC: @ 0x080225BC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080225DE - adds r0, r4, #0 - bl sub_0804A7D4 - b _080225E4 -_080225DE: - adds r0, r4, #0 - bl GetNextFrame -_080225E4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_9 -nullsub_9: @ 0x080225E8 - bx lr - .align 2, 0 - - thumb_func_start sub_080225EC -sub_080225EC: @ 0x080225EC - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3b - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x5a - strb r0, [r1] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0802261A - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - b _0802264C -_0802261A: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - ldr r0, _08022650 @ =0x0000FF80 - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #6 - bl InitializeAnimation -_0802264C: - pop {r4, pc} - .align 2, 0 -_08022650: .4byte 0x0000FF80 - - thumb_func_start sub_08022654 -sub_08022654: @ 0x08022654 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _0802268C - cmp r0, #1 - bgt _08022668 - cmp r0, #0 - beq _0802266E - b _080226E4 -_08022668: - cmp r0, #2 - beq _080226BE - b _080226E4 -_0802266E: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080226E4 - movs r0, #1 - strb r0, [r4, #0xd] - ldr r0, _080226E8 @ =0x0000012D - bl PlaySFX - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation -_0802268C: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080226E4 - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #5 - bl InitializeAnimation - movs r0, #0x7d - bl sub_08004488 - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer -_080226BE: - adds r0, r4, #0 - bl GetNextFrame - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080226E4 - movs r0, #3 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x65 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_080226E4: - pop {r4, pc} - .align 2, 0 -_080226E8: .4byte 0x0000012D - - thumb_func_start sub_080226EC -sub_080226EC: @ 0x080226EC - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08022776 - adds r0, r4, #0 - bl sub_080228CC - cmp r0, #0 - beq _0802271A - movs r0, #3 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x65 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation - b _0802277C -_0802271A: - adds r0, r4, #0 - bl sub_080228F0 - cmp r0, #0 - beq _08022758 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x90 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldr r0, _08022754 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5a - strb r0, [r1] - adds r0, r4, #0 - movs r1, #4 - bl InitializeAnimation - b _0802277C - .align 2, 0 -_08022754: .4byte gUnk_020000B0 -_08022758: - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _08022770 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_08022770: - adds r0, r4, #0 - bl sub_080AEF88 -_08022776: - adds r0, r4, #0 - bl GetNextFrame -_0802277C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08022780 -sub_08022780: @ 0x08022780 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080227AA - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl InitializeAnimation - movs r0, #0xca - lsls r0, r0, #1 - bl sub_08004488 -_080227AA: - pop {r4, pc} - - thumb_func_start sub_080227AC -sub_080227AC: @ 0x080227AC - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080227CC - ldr r0, _080227C8 @ =gUnk_080FD470 - b _080227CE - .align 2, 0 -_080227C8: .4byte gUnk_080FD470 -_080227CC: - ldr r0, _08022814 @ =gUnk_080FD468 -_080227CE: - str r0, [r4, #0x48] - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r3, #2 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _080227EE - movs r0, #0xfd - ands r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] -_080227EE: - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08022812 - strb r3, [r4, #0xc] - bl Random - ldr r2, _08022818 @ =gUnk_080CBA60 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation -_08022812: - pop {r4, pc} - .align 2, 0 -_08022814: .4byte gUnk_080FD468 -_08022818: .4byte gUnk_080CBA60 - - thumb_func_start sub_0802281C -sub_0802281C: @ 0x0802281C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08022852 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - adds r0, r4, #0 - bl sub_0804AA1C -_08022852: - pop {r4, pc} - - thumb_func_start sub_08022854 -sub_08022854: @ 0x08022854 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08022898 - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08022898 - movs r0, #7 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #5 - bl InitializeAnimation - movs r0, #0x7d - bl sub_08004488 -_08022898: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802289C -sub_0802289C: @ 0x0802289C - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080228CA - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x78 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation -_080228CA: - pop {r4, pc} - - thumb_func_start sub_080228CC -sub_080228CC: @ 0x080228CC - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - cmp r0, #0 - bne _080228E8 - adds r0, r1, #0 - movs r1, #1 - movs r2, #0x28 - bl sub_08049F64 - cmp r0, #0 - beq _080228EC - movs r0, #1 - b _080228EE -_080228E8: - subs r0, #1 - strb r0, [r1, #0xf] -_080228EC: - movs r0, #0 -_080228EE: - pop {pc} - - thumb_func_start sub_080228F0 -sub_080228F0: @ 0x080228F0 - push {lr} - adds r1, r0, #0 - adds r2, r1, #0 - adds r2, #0x81 - ldrb r0, [r2] - cmp r0, #0 - bne _08022910 - adds r0, r1, #0 - movs r1, #1 - movs r2, #0x40 - bl sub_08049F64 - cmp r0, #0 - beq _08022914 - movs r0, #1 - b _08022916 -_08022910: - subs r0, #1 - strb r0, [r2] -_08022914: - movs r0, #0 -_08022916: - pop {pc} diff --git a/data/animations/spinyChuchu.s b/data/animations/spinyChuchu.s new file mode 100644 index 00000000..ab88f654 --- /dev/null +++ b/data/animations/spinyChuchu.s @@ -0,0 +1,28 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CBA64:: @ 080CBA64 + .incbin "baserom.gba", 0x0CBA64, 0x0000041 + +gUnk_080CBAA5:: @ 080CBAA5 + .incbin "baserom.gba", 0x0CBAA5, 0x0000040 + +gUnk_080CBAE5:: @ 080CBAE5 + .incbin "baserom.gba", 0x0CBAE5, 0x0000018 + +gUnk_080CBAFD:: @ 080CBAFD + .incbin "baserom.gba", 0x0CBAFD, 0x0000024 + +gUnk_080CBB21:: @ 080CBB21 + .incbin "baserom.gba", 0x0CBB21, 0x0000011 + +gUnk_080CBB32:: @ 080CBB32 + .incbin "baserom.gba", 0x0CBB32, 0x000000D + +gUnk_080CBB3F:: @ 080CBB3F + .incbin "baserom.gba", 0x0CBB3F, 0x0000005 + +gUnk_080CBB44:: @ 080CBB44 + .incbin "baserom.gba", 0x0CBB44, 0x0000020 diff --git a/data/data_080CBA28.s b/data/data_080CBA28.s index b25f7c4d..5157ef24 100644 --- a/data/data_080CBA28.s +++ b/data/data_080CBA28.s @@ -3,39 +3,6 @@ .section .rodata -gUnk_080CBA28:: @ 080CBA28 - .incbin "baserom.gba", 0x0CBA28, 0x0000018 - -gUnk_080CBA40:: @ 080CBA40 - .incbin "baserom.gba", 0x0CBA40, 0x0000020 - -gUnk_080CBA60:: @ 080CBA60 - .incbin "baserom.gba", 0x0CBA60, 0x0000004 - -gUnk_080CBA64:: @ 080CBA64 - .incbin "baserom.gba", 0x0CBA64, 0x0000041 - -gUnk_080CBAA5:: @ 080CBAA5 - .incbin "baserom.gba", 0x0CBAA5, 0x0000040 - -gUnk_080CBAE5:: @ 080CBAE5 - .incbin "baserom.gba", 0x0CBAE5, 0x0000018 - -gUnk_080CBAFD:: @ 080CBAFD - .incbin "baserom.gba", 0x0CBAFD, 0x0000024 - -gUnk_080CBB21:: @ 080CBB21 - .incbin "baserom.gba", 0x0CBB21, 0x0000011 - -gUnk_080CBB32:: @ 080CBB32 - .incbin "baserom.gba", 0x0CBB32, 0x000000D - -gUnk_080CBB3F:: @ 080CBB3F - .incbin "baserom.gba", 0x0CBB3F, 0x0000005 - -gUnk_080CBB44:: @ 080CBB44 - .incbin "baserom.gba", 0x0CBB44, 0x0000020 - gUnk_080CBB64:: @ 080CBB64 .incbin "baserom.gba", 0x0CBB64, 0x0000018 diff --git a/linker.ld b/linker.ld index 6b8f7f5c..4cc60abf 100644 --- a/linker.ld +++ b/linker.ld @@ -336,7 +336,7 @@ SECTIONS { src/enemy/keese.o(.text); src/enemy/doorMimic.o(.text); src/enemy/rockChuchu.o(.text); - asm/spinyChuchu.o(.text); + src/enemy/spinyChuchu.o(.text); asm/cuccoChickAggr.o(.text); asm/moldorm.o(.text); asm/enemyE.o(.text); @@ -926,6 +926,8 @@ SECTIONS { data/animations/doorMimic.o(.rodata); src/enemy/rockChuchu.o(.rodata); data/animations/rockChuchu.o(.rodata); + src/enemy/spinyChuchu.o(.rodata); + data/animations/spinyChuchu.o(.rodata); data/data_080CBA28.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c new file mode 100644 index 00000000..a3d41a1b --- /dev/null +++ b/src/enemy/spinyChuchu.c @@ -0,0 +1,285 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern void sub_08001318(Entity*); +extern u32 sub_08049F64(Entity*, u32, u32); +extern void sub_0804A4E4(Entity*, Entity*); +extern void sub_0804AA1C(Entity*); + +u32 sub_080228CC(Entity*); +u32 sub_080228F0(Entity*); + +extern void (*const gUnk_080CBA28[])(Entity*); +extern void (*const gUnk_080CBA40[])(Entity*); + +extern const u8 gUnk_080CBA60[]; + +extern BoundingBox gUnk_080FD468; +extern BoundingBox gUnk_080FD470; + +extern Entity* gUnk_020000B0; + +void SpinyChuchu(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CBA28); + SetChildOffset(this, 0, 1, -0x10); +} + +void sub_08022434(Entity* this) { + gUnk_080CBA40[this->action](this); +} + +void sub_0802244C(Entity* this) { + if (this->currentHealth) { + if (this->damageType == 0x65) { + switch (this->bitfield & 0x7f) { + case 2: + case 3: + this->action = 2; + this->field_0xf = 0x3c; + this->damageType = 0x5c; + this->boundingBox = &gUnk_080FD468; + InitializeAnimation(this, 0); + break; + case 8: + case 9: + case 10: + case 0xb: + case 0xc: + case 0x16: + case 0x18: + case 0x19: + case 0x1a: + sub_0804A9FC(this, 0x1c); + this->action = 5; + this->damageType = 0x5c; + InitializeAnimation(this, 1); + } + } else if (this->bitfield == 0x94) { + sub_0804A9FC(this, 0x1c); + this->action = 5; + InitializeAnimation(this, 1); + } + + if (this->field_0x80.HALF.LO != this->currentHealth) { + this->action = 5; + this->damageType = 0x5c; + InitializeAnimation(this, 1); + } else { + if (this->action == 3) { + this->action = 4; + InitializeAnimation(this, 3); + sub_08004488(0x194); + } + } + } else { + InitializeAnimation(this, 1); + } + + this->field_0x80.HALF.LO = this->currentHealth; + sub_0804AA30(this, gUnk_080CBA28); +} + +void sub_080225A0(Entity* this) { + if (this->animIndex == 1) + GetNextFrame(this); + sub_08001318(this); +} + +void sub_080225BC(Entity* this) { + sub_08003FC4(this, 0x1800); + if (this->frames.all & 1) { + sub_0804A7D4(this); + } else { + GetNextFrame(this); + } +} + +void nullsub_9(Entity* this) { +} + +void sub_080225EC(Entity* this) { + sub_0804A720(this); + this->field_0x80.HALF.LO = this->currentHealth; + this->field_0x80.HALF.HI = 0x5a; + if (this->actionDelay == 0) { + this->action = 2; + InitializeAnimation(this, 0); + } else { + this->action = 1; + this->field_0xf = 0x3c; + this->spriteSettings.b.draw = 3; + this->spriteRendering.b3 = 1; + this->spriteOrientation.flipY = 1; + this->height.HALF.HI = -0x80; + InitializeAnimation(this, 6); + } +} + +void sub_08022654(Entity* this) { + switch (this->previousActionFlag) { + case 0: + if (--this->field_0xf) + return; + this->previousActionFlag = 1; + PlaySFX(0x12d); + InitializeAnimation(this, 0); + /* fallthrough */ + case 1: + if (sub_08003FC4(this, 0x1800)) + return; + + this->previousActionFlag = 2; + this->spriteSettings.b.draw = 1; + InitializeAnimation(this, 5); + sub_08004488(0x7d); + UpdateSpriteForCollisionLayer(this); + /* fallthrough */ + case 2: + GetNextFrame(this); + if (--this->actionDelay == 0) { + this->action = 3; + this->damageType = 0x65; + InitializeAnimation(this, 2); + } + break; + } +} + +void sub_080226EC(Entity* this) { + if (sub_08049FDC(this, 1)) { + if (sub_080228CC(this)) { + this->action = 3; + this->damageType = 0x65; + InitializeAnimation(this, 2); + return; + } + + if (sub_080228F0(this)) { + this->action = 6; + this->field_0x20 = 0x12000; + this->nonPlanarMovement = 0x140; + this->direction = GetFacingDirection(this, gUnk_020000B0); + this->damageType = 0x5a; + InitializeAnimation(this, 4); + return; + } + + if ((this->actionDelay++ & 7) == 0) { + this->direction = sub_08049F84(this, 1); + } + + sub_080AEF88(this); + } + + GetNextFrame(this); +} + +void sub_08022780(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 4; + InitializeAnimation(this, 3); + sub_08004488(0x194); + } +} + +void sub_080227AC(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 1) { + this->boundingBox = &gUnk_080FD470; + } else { + this->boundingBox = &gUnk_080FD468; + } + + if (this->frames.all & 2) { + this->frames.all &= ~2; + this->damageType = 0x5c; + } + + if (this->frames.all & 0x80) { + this->action = 2; + this->field_0xf = gUnk_080CBA60[Random() & 3]; + InitializeAnimation(this, 0); + } +} + +void sub_0802281C(Entity* this) { + sub_08003FC4(this, 0x1800); + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 2; + this->nonPlanarMovement = 0x20; + InitializeAnimation(this, 0); + sub_0804AA1C(this); + } +} + +void sub_08022854(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 1) { + sub_080AEFE0(this); + if (sub_08003FC4(this, 0x1800) == 0) { + this->action = 7; + this->damageType = 0x5c; + InitializeAnimation(this, 5); + sub_08004488(0x7d); + } + } +} + +void sub_0802289C(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 2; + this->nonPlanarMovement = 0x20; + this->field_0x80.HALF.HI = 0x78; + InitializeAnimation(this, 0); + } +} + +u32 sub_080228CC(Entity* this) { + if (this->field_0xf == 0) { + if (sub_08049F64(this, 1, 0x28)) + return 1; + } else { + this->field_0xf--; + } + return 0; +} + +u32 sub_080228F0(Entity* this) { + if (this->field_0x80.HALF.HI == 0) { + if (sub_08049F64(this, 1, 0x40)) + return 1; + } else { + this->field_0x80.HALF.HI--; + } + return 0; +} + +// clang-format off +void (*const gUnk_080CBA28[])(Entity*) = { + sub_08022434, + sub_0802244C, + sub_080225A0, + sub_080225BC, + sub_08001242, + nullsub_9, +}; + +void (*const gUnk_080CBA40[])(Entity*) = { + sub_080225EC, + sub_08022654, + sub_080226EC, + sub_08022780, + sub_080227AC, + sub_0802281C, + sub_08022854, + sub_0802289C, +}; + +const u8 gUnk_080CBA60[] = { + 10, 20, 30, 20, +}; +// clang-format on From 49982391d035b23ddbfc3619c0260f57d0b15537 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 21:15:22 +0200 Subject: [PATCH 046/105] rename rodata file --- data/{data_080CBA28.s => data_080CBB64.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CBA28.s => data_080CBB64.s} (100%) diff --git a/data/data_080CBA28.s b/data/data_080CBB64.s similarity index 100% rename from data/data_080CBA28.s rename to data/data_080CBB64.s diff --git a/linker.ld b/linker.ld index 4cc60abf..cc88211b 100644 --- a/linker.ld +++ b/linker.ld @@ -928,7 +928,7 @@ SECTIONS { data/animations/rockChuchu.o(.rodata); src/enemy/spinyChuchu.o(.rodata); data/animations/spinyChuchu.o(.rodata); - data/data_080CBA28.o(.rodata); + data/data_080CBB64.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From f40fbe6c969cde84fb59ff81dae0cff56f4a08ec Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 22:09:12 +0200 Subject: [PATCH 047/105] decompile CuccoChickAggr --- asm/cuccoChickAggr.s | 346 ------------------------------------- data/data_080CBB64.s | 6 - linker.ld | 3 +- src/enemy/cuccoChickAggr.c | 167 ++++++++++++++++++ 4 files changed, 169 insertions(+), 353 deletions(-) delete mode 100644 asm/cuccoChickAggr.s create mode 100644 src/enemy/cuccoChickAggr.c diff --git a/asm/cuccoChickAggr.s b/asm/cuccoChickAggr.s deleted file mode 100644 index 458b4346..00000000 --- a/asm/cuccoChickAggr.s +++ /dev/null @@ -1,346 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start CuccoChickAggr -CuccoChickAggr: @ 0x08022918 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08022930 @ =gUnk_080CBB64 - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08022930: .4byte gUnk_080CBB64 - - thumb_func_start sub_08022934 -sub_08022934: @ 0x08022934 - push {lr} - ldr r2, _08022948 @ =gUnk_080CBB7C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022948: .4byte gUnk_080CBB7C - - thumb_func_start sub_0802294C -sub_0802294C: @ 0x0802294C - push {lr} - ldr r1, _08022958 @ =gUnk_080CBB64 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08022958: .4byte gUnk_080CBB64 - - thumb_func_start nullsub_132 -nullsub_132: @ 0x0802295C - bx lr - .align 2, 0 - - thumb_func_start sub_08022960 -sub_08022960: @ 0x08022960 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r0, r4, #0 - bl sub_08022A88 - pop {r4, pc} - - thumb_func_start sub_08022970 -sub_08022970: @ 0x08022970 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022986 - adds r0, r1, #0 - bl sub_08022AA4 -_08022986: - pop {pc} - - thumb_func_start sub_08022988 -sub_08022988: @ 0x08022988 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _080229A6 - adds r0, r4, #0 - bl sub_08022B20 - cmp r0, #0 - beq _080229A6 - adds r0, r4, #0 - bl sub_08022B0C - b _080229F6 -_080229A6: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080229C6 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080229F6 - movs r0, #1 - strb r0, [r4, #0x1e] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xd6 - bl sub_08004488 -_080229C6: - adds r0, r4, #0 - bl sub_080AEF88 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - adds r1, r0, #0 - cmp r1, #0 - bne _080229F6 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080229F0 - adds r0, r4, #0 - bl sub_08022A88 - b _080229F6 -_080229F0: - movs r0, #4 - strb r0, [r4, #0xf] - strb r1, [r4, #0x1e] -_080229F6: - pop {r4, pc} - - thumb_func_start sub_080229F8 -sub_080229F8: @ 0x080229F8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xa0 - lsls r1, r1, #6 - bl sub_08003FC4 - cmp r0, #0 - bne _08022A3C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _08022A30 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #6 - strb r0, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - strb r1, [r4, #0x1e] - movs r0, #0xc0 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08022B44 - b _08022A3C -_08022A30: - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xd6 - bl sub_08004488 -_08022A3C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08022A40 -sub_08022A40: @ 0x08022A40 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08022A58 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022A86 - movs r0, #1 - strb r0, [r4, #0x1e] -_08022A58: - adds r0, r4, #0 - bl sub_080AEF88 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08022A86 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022A80 - adds r0, r4, #0 - bl sub_08022A88 - b _08022A86 -_08022A80: - adds r0, r4, #0 - bl sub_08022B44 -_08022A86: - pop {r4, pc} - - thumb_func_start sub_08022A88 -sub_08022A88: @ 0x08022A88 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - movs r0, #1 - strb r0, [r4, #0xc] - bl Random - movs r1, #0xf - ands r0, r1 - adds r0, #8 - strb r0, [r4, #0xe] - strb r5, [r4, #0x1e] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08022AA4 -sub_08022AA4: @ 0x08022AA4 - push {r4, r5, lr} - adds r4, r0, #0 - bl Random - adds r5, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r1, #3 - adds r0, r5, #0 - ands r0, r1 - adds r0, #1 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08022AE0 - lsrs r0, r5, #8 - movs r1, #3 - ands r0, r1 - cmp r0, #0 - beq _08022AE0 - adds r0, r4, #0 - bl sub_08049EE4 - b _08022AE6 -_08022AE0: - lsrs r0, r5, #0x10 - movs r1, #0x1f - ands r0, r1 -_08022AE6: - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _08022B08 - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_08022B08: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08022B0C -sub_08022B0C: @ 0x08022B0C - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - strb r1, [r0, #0xe] - movs r1, #8 - strb r1, [r0, #0xf] - bl sub_08022B44 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08022B20 -sub_08022B20: @ 0x08022B20 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - bl sub_08049DF4 - cmp r0, #0 - beq _08022B40 - ldr r1, _08022B3C @ =gPlayerEntity - adds r0, r4, #0 - movs r2, #0x24 - movs r3, #0x24 - bl sub_080041A0 - b _08022B42 - .align 2, 0 -_08022B3C: .4byte gPlayerEntity -_08022B40: - movs r0, #0 -_08022B42: - pop {r4, pc} - - thumb_func_start sub_08022B44 -sub_08022B44: @ 0x08022B44 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #8 - str r0, [r4, #0x20] - ldr r1, _08022B84 @ =gPlayerEntity - adds r0, r4, #0 - bl GetFacingDirection - adds r1, r0, #0 - strb r1, [r4, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _08022B7A - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1c - movs r0, #1 - eors r1, r0 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_08022B7A: - movs r0, #0xd6 - bl sub_08004488 - pop {r4, pc} - .align 2, 0 -_08022B84: .4byte gPlayerEntity diff --git a/data/data_080CBB64.s b/data/data_080CBB64.s index 5157ef24..3c1631e4 100644 --- a/data/data_080CBB64.s +++ b/data/data_080CBB64.s @@ -3,12 +3,6 @@ .section .rodata -gUnk_080CBB64:: @ 080CBB64 - .incbin "baserom.gba", 0x0CBB64, 0x0000018 - -gUnk_080CBB7C:: @ 080CBB7C - .incbin "baserom.gba", 0x0CBB7C, 0x0000014 - gUnk_080CBB90:: @ 080CBB90 .incbin "baserom.gba", 0x0CBB90, 0x0000010 diff --git a/linker.ld b/linker.ld index cc88211b..8c2e712a 100644 --- a/linker.ld +++ b/linker.ld @@ -337,7 +337,7 @@ SECTIONS { src/enemy/doorMimic.o(.text); src/enemy/rockChuchu.o(.text); src/enemy/spinyChuchu.o(.text); - asm/cuccoChickAggr.o(.text); + src/enemy/cuccoChickAggr.o(.text); asm/moldorm.o(.text); asm/enemyE.o(.text); asm/moldworm.o(.text); @@ -928,6 +928,7 @@ SECTIONS { data/animations/rockChuchu.o(.rodata); src/enemy/spinyChuchu.o(.rodata); data/animations/spinyChuchu.o(.rodata); + src/enemy/cuccoChickAggr.o(.rodata); data/data_080CBB64.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c new file mode 100644 index 00000000..2fcfcc89 --- /dev/null +++ b/src/enemy/cuccoChickAggr.c @@ -0,0 +1,167 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern Entity* sub_08049DF4(u32); + +void sub_08022A88(Entity*); +void sub_08022AA4(Entity*); +void sub_08022B0C(Entity*); +u32 sub_08022B20(Entity*); +void sub_08022B44(Entity*); + +extern void (*const gUnk_080CBB64[])(Entity*); +extern void (*const gUnk_080CBB7C[])(Entity*); + +void CuccoChickAggr(Entity* this) { + gUnk_080CBB64[GetNextFunction(this)](this); +} + +void sub_08022934(Entity* this) { + gUnk_080CBB7C[this->action](this); +} + +void sub_0802294C(Entity* this) { + sub_0804AA30(this, gUnk_080CBB64); +} + +void nullsub_132(Entity* this) { +} + +void sub_08022960(Entity* this) { + sub_0804A720(this); + sub_08022A88(this); +} + +void sub_08022970(Entity* this) { + if (--this->actionDelay == 0) { + sub_08022AA4(this); + } +} + +void sub_08022988(Entity* this) { + if (this->height.HALF.HI == 0 && sub_08022B20(this)) { + sub_08022B0C(this); + } else { + if (this->field_0xf) { + if (--this->field_0xf) + return; + + this->frameIndex = 1; + this->field_0x20 = 0x10000; + sub_08004488(0xd6); + } + + sub_080AEF88(this); + if (sub_08003FC4(this, 0x2000) == 0) { + if (--this->actionDelay == 0) { + sub_08022A88(this); + } else { + this->field_0xf = 4; + this->frameIndex = 0; + } + } + } +} + +void sub_080229F8(Entity* this) { + if (sub_08003FC4(this, 0x2800) == 0) { + if (--this->actionDelay == 0) { + this->action = 4; + this->actionDelay = 6; + this->field_0xf = 8; + this->frameIndex = 0; + this->nonPlanarMovement = 0xc0; + sub_08022B44(this); + } else { + this->field_0x20 = 0x10000; + sub_08004488(0xd6); + } + } +} + +void sub_08022A40(Entity* this) { + if (this->field_0xf) { + if (--this->field_0xf) + return; + + this->frameIndex = 1; + } + + sub_080AEF88(this); + if (sub_08003FC4(this, 0x2000) == 0) { + if (--this->actionDelay == 0) { + sub_08022A88(this); + } else { + sub_08022B44(this); + } + } +} + +void sub_08022A88(Entity* this) { + this->action = 1; + this->actionDelay = (Random() & 0xf) + 8; + this->frameIndex = 0; +} + +void sub_08022AA4(Entity* this) { + u32 rand = Random(); + + this->action = 2; + this->actionDelay = (rand & 3) + 1; + this->field_0xf = 1; + this->nonPlanarMovement = 0x80; + + if (!sub_08049FA0(this) && (rand >> 8) & 3) { + this->direction = sub_08049EE4(this); + } else { + this->direction = (rand >> 0x10) & 0x1f; + } + + if (this->direction & 0xf) + this->spriteSettings.b.flipX = (this->direction >> 4) ^ 1; +} + +void sub_08022B0C(Entity* this) { + this->action = 3; + this->actionDelay = 3; + this->field_0xf = 8; + sub_08022B44(this); +} + +u32 sub_08022B20(Entity* this) { + if (!sub_08049DF4(2)) + return 0; + + return sub_080041A0(this, &gPlayerEntity, 0x24, 0x24); +} + +void sub_08022B44(Entity *this){ + this->field_0x20 = 0xc000; + this->direction = GetFacingDirection(this,&gPlayerEntity); + + if (this->direction & 0xf) + this->spriteSettings.b.flipX = (this->direction >> 4)^1; + + sub_08004488(0xd6); +} + + +// clang-format off +void (*const gUnk_080CBB64[])(Entity*) = { + sub_08022934, + sub_0802294C, + sub_08001324, + sub_0804A7D4, + sub_08001242, + nullsub_132, +}; + +void (*const gUnk_080CBB7C[])(Entity*) = { + sub_08022960, + sub_08022970, + sub_08022988, + sub_080229F8, + sub_08022A40, +}; +// clang-format on From 133e0b709e3aece2ba62bd9c7f73af59b5ef03f2 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sat, 29 Aug 2020 22:10:22 +0200 Subject: [PATCH 048/105] rename rodata file --- data/{data_080CBB64.s => data_080CBB90.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CBB64.s => data_080CBB90.s} (100%) diff --git a/data/data_080CBB64.s b/data/data_080CBB90.s similarity index 100% rename from data/data_080CBB64.s rename to data/data_080CBB90.s diff --git a/linker.ld b/linker.ld index 8c2e712a..43caeca1 100644 --- a/linker.ld +++ b/linker.ld @@ -929,7 +929,7 @@ SECTIONS { src/enemy/spinyChuchu.o(.rodata); data/animations/spinyChuchu.o(.rodata); src/enemy/cuccoChickAggr.o(.rodata); - data/data_080CBB64.o(.rodata); + data/data_080CBB90.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From 6e61e77e9ede919543ba3f92e1fc6b976b4db964 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sun, 30 Aug 2020 00:34:41 +0200 Subject: [PATCH 049/105] decompile moldorm --- asm/moldorm.s | 558 ---------------------- asm/non_matching/moldorm/sub_08022E40.inc | 62 +++ asm/non_matching/moldorm/sub_08022EAC.inc | 60 +++ data/data_080CBB90.s | 15 - linker.ld | 3 +- src/enemy/moldorm.c | 211 ++++++++ 6 files changed, 335 insertions(+), 574 deletions(-) delete mode 100644 asm/moldorm.s create mode 100644 asm/non_matching/moldorm/sub_08022E40.inc create mode 100644 asm/non_matching/moldorm/sub_08022EAC.inc create mode 100644 src/enemy/moldorm.c diff --git a/asm/moldorm.s b/asm/moldorm.s deleted file mode 100644 index 24d0838f..00000000 --- a/asm/moldorm.s +++ /dev/null @@ -1,558 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Moldorm -Moldorm: @ 0x08022B88 - push {lr} - ldr r2, _08022B9C @ =gUnk_080CBB90 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022B9C: .4byte gUnk_080CBB90 - - thumb_func_start sub_08022BA0 -sub_08022BA0: @ 0x08022BA0 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x79 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r1, _08022BD0 @ =gUnk_080CBBA0 - adds r0, r4, #0 - bl EnemyFunctionHandler - adds r0, r4, #0 - bl sub_08022EAC - pop {r4, pc} - .align 2, 0 -_08022BD0: .4byte gUnk_080CBBA0 - - thumb_func_start sub_08022BD4 -sub_08022BD4: @ 0x08022BD4 - push {lr} - ldr r2, _08022BE8 @ =gUnk_080CBBB4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022BE8: .4byte gUnk_080CBBB4 - - thumb_func_start sub_08022BEC -sub_08022BEC: @ 0x08022BEC - push {lr} - adds r2, r0, #0 - movs r0, #0x7a - adds r0, r0, r2 - mov ip, r0 - adds r3, r2, #0 - adds r3, #0x45 - ldrb r0, [r0] - ldrb r1, [r3] - cmp r0, r1 - beq _08022C0A - adds r1, r2, #0 - adds r1, #0x7b - movs r0, #0x1e - strb r0, [r1] -_08022C0A: - ldrb r0, [r3] - mov r1, ip - strb r0, [r1] - movs r0, #1 - strb r0, [r2, #0xe] - adds r0, r2, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r2, #0x15] - ldrb r0, [r2, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r2, #0x14] - strb r0, [r2, #0x1e] - ldr r0, [r2, #0x54] - adds r3, r2, #0 - adds r3, #0x3d - ldrb r1, [r3] - adds r0, #0x3d - strb r1, [r0] - ldr r0, [r2, #0x7c] - ldrb r1, [r3] - adds r0, #0x3d - strb r1, [r0] - adds r0, r2, #0 - adds r0, #0x80 - ldr r0, [r0] - ldrb r1, [r3] - adds r0, #0x3d - strb r1, [r0] - ldr r1, _08022C54 @ =gUnk_080CBBA0 - adds r0, r2, #0 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08022C54: .4byte gUnk_080CBBA0 - - thumb_func_start sub_08022C58 -sub_08022C58: @ 0x08022C58 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - ldrb r1, [r7, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r7, #0x10] - ldr r0, _08022D3C @ =gEntCount - ldrb r0, [r0] - cmp r0, #0x44 - bhi _08022D34 - movs r0, #0xd - movs r1, #1 - bl CreateEnemy - mov sb, r0 - str r0, [r7, #0x54] - mov r2, sb - adds r2, #0x29 - ldrb r1, [r2] - movs r4, #8 - rsbs r4, r4, #0 - adds r0, r4, #0 - ands r0, r1 - movs r1, #5 - mov r8, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r2] - mov r0, sb - str r7, [r0, #0x50] - adds r0, r7, #0 - mov r1, sb - bl CopyPosition - movs r0, #0xd - movs r1, #2 - bl CreateEnemy - adds r6, r0, #0 - mov r1, sb - str r6, [r1, #0x54] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - adds r0, r4, #0 - ands r0, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r2] - str r7, [r6, #0x50] - adds r0, r7, #0 - adds r1, r6, #0 - bl CopyPosition - movs r0, #0xd - movs r1, #3 - bl CreateEnemy - adds r5, r0, #0 - str r5, [r6, #0x54] - adds r1, r5, #0 - adds r1, #0x29 - ldrb r0, [r1] - ands r4, r0 - mov r0, r8 - orrs r4, r0 - strb r4, [r1] - str r7, [r5, #0x50] - adds r0, r7, #0 - adds r1, r5, #0 - bl CopyPosition - adds r0, r7, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r7, #0xc] - strb r0, [r7, #0xe] - strb r0, [r7, #0xf] - ldrb r0, [r7, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r7, #0x10] - str r7, [r7, #0x50] - mov r1, sb - str r1, [r7, #0x54] - str r6, [r7, #0x7c] - adds r0, r7, #0 - adds r0, #0x80 - str r5, [r0] - bl Random - movs r1, #0x1f - ands r0, r1 - strb r0, [r7, #0x15] - ldrb r0, [r7, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r7, #0x14] - strb r0, [r7, #0x1e] - adds r0, r7, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x35 - strb r1, [r0] -_08022D34: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08022D3C: .4byte gEntCount - - thumb_func_start sub_08022D40 -sub_08022D40: @ 0x08022D40 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x7b - ldrb r1, [r2] - cmp r1, #0 - beq _08022D66 - adds r0, r1, #0 - adds r0, #0xff - strb r0, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08022D8E - ldrb r0, [r4, #0x14] - adds r0, #1 - movs r1, #7 - ands r0, r1 - b _08022D8A -_08022D66: - adds r0, r4, #0 - bl sub_08022F14 - adds r0, r4, #0 - bl sub_080AEF88 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _08022D8E - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - ldrb r0, [r4, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 -_08022D8A: - strb r0, [r4, #0x14] - strb r0, [r4, #0x1e] -_08022D8E: - pop {r4, pc} - - thumb_func_start sub_08022D90 -sub_08022D90: @ 0x08022D90 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - beq _08022DE0 - ldr r1, _08022DDC @ =gUnk_080CBBBC - ldrb r0, [r5, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - ldr r4, [r5, #0x50] - ldrb r2, [r4, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - adds r4, #0x38 - ldrb r1, [r4] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - b _08022DE6 - .align 2, 0 -_08022DDC: .4byte gUnk_080CBBBC -_08022DE0: - adds r0, r5, #0 - bl DeleteEntity -_08022DE6: - pop {r4, r5, pc} - - thumb_func_start sub_08022DE8 -sub_08022DE8: @ 0x08022DE8 - push {lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xc] - adds r0, r3, #0 - adds r0, #0x7c - movs r1, #0x88 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - ldr r0, [r3, #0x50] - ldrb r0, [r0, #0x14] - strb r0, [r3, #0x14] - adds r2, r3, #0 - adds r2, #0x84 - ldrb r1, [r3, #0x14] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r1, r0, #8 - adds r0, r0, r1 - lsls r1, r0, #0x10 - adds r0, r0, r1 - str r0, [r2] - ldrb r0, [r3, #0xa] - cmp r0, #3 - beq _08022E38 - adds r0, #7 - b _08022E3C -_08022E38: - ldrb r0, [r3, #0x14] - adds r0, #0xa -_08022E3C: - strb r0, [r3, #0x1e] - pop {pc} - - thumb_func_start sub_08022E40 -sub_08022E40: @ 0x08022E40 - push {r4, r5, lr} - adds r4, r0, #0 - ldrh r1, [r4, #0x2e] - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r2, [r4, #0x50] - adds r2, #0x79 - ldrb r0, [r2] - adds r0, #1 - movs r3, #7 - ands r0, r3 - adds r0, #0x7c - adds r0, r4, r0 - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - subs r0, #8 - lsrs r1, r1, #4 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r5, [r4, #0x2e] - adds r0, r0, r5 - strh r0, [r4, #0x2e] - subs r1, #8 - ldrh r0, [r4, #0x32] - adds r1, r1, r0 - strh r1, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x84 - ldrb r0, [r2] - adds r0, #1 - ands r0, r3 - lsls r0, r0, #2 - ldr r1, [r1] - lsrs r1, r0 - movs r0, #7 - ands r1, r0 - strb r1, [r4, #0x14] - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _08022EA2 - adds r0, r1, #0 - adds r0, #0xa - strb r0, [r4, #0x1e] - b _08022EA8 -_08022EA2: - adds r0, r4, #0 - bl sub_08022EAC -_08022EA8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08022EAC -sub_08022EAC: @ 0x08022EAC - push {r4, r5, lr} - mov ip, r0 - ldr r1, [r0, #0x54] - cmp r1, #0 - beq _08022F12 - ldr r0, [r0, #0x50] - adds r0, #0x79 - ldrb r0, [r0] - movs r4, #7 - adds r3, r4, #0 - ands r3, r0 - adds r3, r3, r1 - adds r3, #0x7c - mov r0, ip - ldrh r1, [r0, #0x2e] - adds r0, #0x74 - ldrb r0, [r0] - subs r1, r1, r0 - adds r1, #8 - movs r5, #0xf - ands r1, r5 - mov r2, ip - ldrh r0, [r2, #0x32] - adds r2, #0x76 - ldrb r2, [r2] - subs r0, r0, r2 - adds r0, #8 - ands r0, r5 - lsls r0, r0, #4 - adds r1, r1, r0 - strb r1, [r3] - mov r1, ip - ldr r0, [r1, #0x50] - adds r0, #0x79 - ldrb r1, [r0] - adds r0, r4, #0 - ands r0, r1 - lsls r0, r0, #2 - mov r2, ip - ldrb r1, [r2, #0x14] - ands r4, r1 - lsls r4, r0 - movs r2, #0xf - lsls r2, r0 - mov r0, ip - ldr r1, [r0, #0x54] - adds r1, #0x84 - ldr r0, [r1] - bics r0, r2 - orrs r4, r0 - str r4, [r1] -_08022F12: - pop {r4, r5, pc} - - thumb_func_start sub_08022F14 -sub_08022F14: @ 0x08022F14 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08022F4E - adds r0, r4, #0 - bl sub_08049EE4 - ldrb r1, [r4, #0x15] - subs r2, r0, r1 - movs r1, #0x1f - ands r2, r1 - adds r0, r2, #4 - ands r0, r1 - cmp r0, #8 - bls _08022F4E - movs r0, #8 - strb r0, [r4, #0xf] - cmp r2, #0xf - bhi _08022F46 - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #1 - b _08022F4C -_08022F46: - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0xff -_08022F4C: - strb r0, [r1] -_08022F4E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022F9E - movs r0, #4 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - adds r5, r4, #0 - adds r5, #0x78 - cmp r0, #0 - bne _08022F84 - movs r0, #8 - strb r0, [r4, #0xf] - bl Random - ldr r2, _08022FA0 @ =gUnk_080CBBC4 - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r5] -_08022F84: - ldrb r0, [r5] - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - strb r0, [r4, #0x1e] -_08022F9E: - pop {r4, r5, pc} - .align 2, 0 -_08022FA0: .4byte gUnk_080CBBC4 diff --git a/asm/non_matching/moldorm/sub_08022E40.inc b/asm/non_matching/moldorm/sub_08022E40.inc new file mode 100644 index 00000000..a4f2d937 --- /dev/null +++ b/asm/non_matching/moldorm/sub_08022E40.inc @@ -0,0 +1,62 @@ + + .syntax unified + + .text + + push {r4, r5, lr} + adds r4, r0, #0 + ldrh r1, [r4, #0x2e] + adds r0, #0x74 + strh r1, [r0] + ldrh r0, [r4, #0x32] + adds r1, r4, #0 + adds r1, #0x76 + strh r0, [r1] + ldr r2, [r4, #0x50] + adds r2, #0x79 + ldrb r0, [r2] + adds r0, #1 + movs r3, #7 + ands r0, r3 + adds r0, #0x7c + adds r0, r4, r0 + ldrb r1, [r0] + movs r0, #0xf + ands r0, r1 + subs r0, #8 + lsrs r1, r1, #4 + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + ldrh r5, [r4, #0x2e] + adds r0, r0, r5 + strh r0, [r4, #0x2e] + subs r1, #8 + ldrh r0, [r4, #0x32] + adds r1, r1, r0 + strh r1, [r4, #0x32] + adds r1, r4, #0 + adds r1, #0x84 + ldrb r0, [r2] + adds r0, #1 + ands r0, r3 + lsls r0, r0, #2 + ldr r1, [r1] + lsrs r1, r0 + movs r0, #7 + ands r1, r0 + strb r1, [r4, #0x14] + ldrb r0, [r4, #0xa] + cmp r0, #3 + bne _08022EA2 + adds r0, r1, #0 + adds r0, #0xa + strb r0, [r4, #0x1e] + b _08022EA8 +_08022EA2: + adds r0, r4, #0 + bl sub_08022EAC +_08022EA8: + pop {r4, r5, pc} + .align 2, 0 + + .syntax divided diff --git a/asm/non_matching/moldorm/sub_08022EAC.inc b/asm/non_matching/moldorm/sub_08022EAC.inc new file mode 100644 index 00000000..ca3bce96 --- /dev/null +++ b/asm/non_matching/moldorm/sub_08022EAC.inc @@ -0,0 +1,60 @@ + + .syntax unified + + .text + + push {r4, r5, lr} + mov ip, r0 + ldr r1, [r0, #0x54] + cmp r1, #0 + beq _08022F12 + ldr r0, [r0, #0x50] + adds r0, #0x79 + ldrb r0, [r0] + movs r4, #7 + adds r3, r4, #0 + ands r3, r0 + adds r3, r3, r1 + adds r3, #0x7c + mov r0, ip + ldrh r1, [r0, #0x2e] + adds r0, #0x74 + ldrb r0, [r0] + subs r1, r1, r0 + adds r1, #8 + movs r5, #0xf + ands r1, r5 + mov r2, ip + ldrh r0, [r2, #0x32] + adds r2, #0x76 + ldrb r2, [r2] + subs r0, r0, r2 + adds r0, #8 + ands r0, r5 + lsls r0, r0, #4 + adds r1, r1, r0 + strb r1, [r3] + mov r1, ip + ldr r0, [r1, #0x50] + adds r0, #0x79 + ldrb r1, [r0] + adds r0, r4, #0 + ands r0, r1 + lsls r0, r0, #2 + mov r2, ip + ldrb r1, [r2, #0x14] + ands r4, r1 + lsls r4, r0 + movs r2, #0xf + lsls r2, r0 + mov r0, ip + ldr r1, [r0, #0x54] + adds r1, #0x84 + ldr r0, [r1] + bics r0, r2 + orrs r4, r0 + str r4, [r1] +_08022F12: + pop {r4, r5, pc} + + .syntax divided diff --git a/data/data_080CBB90.s b/data/data_080CBB90.s index 3c1631e4..f40cf851 100644 --- a/data/data_080CBB90.s +++ b/data/data_080CBB90.s @@ -3,21 +3,6 @@ .section .rodata -gUnk_080CBB90:: @ 080CBB90 - .incbin "baserom.gba", 0x0CBB90, 0x0000010 - -gUnk_080CBBA0:: @ 080CBBA0 - .incbin "baserom.gba", 0x0CBBA0, 0x0000014 - -gUnk_080CBBB4:: @ 080CBBB4 - .incbin "baserom.gba", 0x0CBBB4, 0x0000008 - -gUnk_080CBBBC:: @ 080CBBBC - .incbin "baserom.gba", 0x0CBBBC, 0x0000008 - -gUnk_080CBBC4:: @ 080CBBC4 - .incbin "baserom.gba", 0x0CBBC4, 0x0000004 - gUnk_080CBBC8:: @ 080CBBC8 .incbin "baserom.gba", 0x0CBBC8, 0x0000014 diff --git a/linker.ld b/linker.ld index 43caeca1..fa911b12 100644 --- a/linker.ld +++ b/linker.ld @@ -338,7 +338,7 @@ SECTIONS { src/enemy/rockChuchu.o(.text); src/enemy/spinyChuchu.o(.text); src/enemy/cuccoChickAggr.o(.text); - asm/moldorm.o(.text); + src/enemy/moldorm.o(.text); asm/enemyE.o(.text); asm/moldworm.o(.text); asm/sluggula.o(.text); @@ -929,6 +929,7 @@ SECTIONS { src/enemy/spinyChuchu.o(.rodata); data/animations/spinyChuchu.o(.rodata); src/enemy/cuccoChickAggr.o(.rodata); + src/enemy/moldorm.o(.rodata); data/data_080CBB90.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c new file mode 100644 index 00000000..530eeae1 --- /dev/null +++ b/src/enemy/moldorm.c @@ -0,0 +1,211 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +void sub_08022EAC(Entity*); +void sub_08022F14(Entity*); + +extern void (*const gUnk_080CBB90[])(Entity*); +extern void (*const gUnk_080CBBA0[])(Entity*); +extern void (*const gUnk_080CBBB4[])(Entity*); +extern void (*const gUnk_080CBBBC[])(Entity*); + +extern u8 gEntCount; +extern const s8 gUnk_080CBBC4[]; + +void Moldorm(Entity* this) { + gUnk_080CBB90[this->entityType.form](this); +} + +void sub_08022BA0(Entity* this) { + this->field_0x78.HALF.HI++; + this->field_0x74.HWORD = this->x.HALF.HI; + this->field_0x76.HWORD = this->y.HALF.HI; + EnemyFunctionHandler(this, gUnk_080CBBA0); + sub_08022EAC(this); +} + +void sub_08022BD4(Entity* this) { + gUnk_080CBBB4[this->action](this); +} + +void sub_08022BEC(Entity* this) { + if (this->field_0x7a.HALF.LO != this->currentHealth) + this->field_0x7a.HALF.HI = 30; + + this->field_0x7a.HALF.LO = this->currentHealth; + this->actionDelay = 1; + this->direction = this->field_0x3e; + + this->animationState = ((this->direction + 2) & 0x1c) >> 2; + this->frameIndex = this->animationState; + + this->attachedEntity->hurtBlinkTime = this->hurtBlinkTime; + (*(Entity**)&this->field_0x7c)->hurtBlinkTime = this->hurtBlinkTime; + (*(Entity**)&this->field_0x80)->hurtBlinkTime = this->hurtBlinkTime; + sub_0804AA30(this, gUnk_080CBBA0); +} + +void sub_08022C58(Entity* this) { + Entity *tail0, *tail1, *tail2; + + this->flags &= ~0x80; + + if (gEntCount >= 0x45) + return; + + tail0 = CreateEnemy(0xd, 1); + this->attachedEntity = tail0; + tail0->spritePriority.b0 = 5; + tail0->parent = this; + CopyPosition(this, tail0); + + tail1 = CreateEnemy(0xd, 2); + tail0->attachedEntity = tail1; + tail1->spritePriority.b0 = 5; + tail1->parent = this; + CopyPosition(this, tail1); + + tail2 = CreateEnemy(0xd, 3); + tail1->attachedEntity = tail2; + tail2->spritePriority.b0 = 5; + tail2->parent = this; + CopyPosition(this, tail2); + + sub_0804A720(this); + this->action = 1; + this->actionDelay = 1; + this->field_0xf = 1; + this->flags = this->flags | 0x80; + this->parent = this; + this->attachedEntity = tail0; + *(Entity**)&this->field_0x7c = tail1; + *(Entity**)&this->field_0x80 = tail2; + + this->direction = Random() & 0x1f; + this->animationState = ((this->direction + 2) & 0x1c) >> 2; + this->frameIndex = this->animationState; + this->field_0x7a.HALF.LO = this->currentHealth; +} + +void sub_08022D40(Entity* this) { + if (this->field_0x7a.HALF.HI) { + if (this->field_0x7a.HALF.HI-- & 1) { + this->animationState = (this->animationState + 1) & 7; + this->frameIndex = this->animationState; + } + } else { + sub_08022F14(this); + sub_080AEF88(this); + + if (this->collisions) { + sub_0800417E(this, this->collisions); + this->animationState = ((this->direction + 2) & 0x1c) >> 2; + this->frameIndex = this->animationState; + } + } +} + +void sub_08022D90(Entity* this) { + if (this->parent->next) { + Entity* parent; + + gUnk_080CBBBC[this->action](this); + parent = this->parent; + this->spriteOrientation.flipY = parent->spriteOrientation.flipY; + this->spriteRendering.b3 = parent->spriteRendering.b3; + this->collisionLayer = parent->collisionLayer; + } else { + DeleteEntity(this); + } +} + +void sub_08022DE8(Entity* this) { + this->action = 1; + this->field_0x7c.BYTES.byte0 = 0x88; + this->field_0x7c.BYTES.byte1 = 0x88; + this->field_0x7c.BYTES.byte2 = 0x88; + this->field_0x7c.BYTES.byte3 = 0x88; + this->field_0x80.HALF.LO = 0x88; + this->field_0x80.HALF.HI = 0x88; + this->field_0x82.HALF.LO = 0x88; + this->field_0x82.HALF.HI = 0x88; + this->animationState = this->parent->animationState; + *(u32*)&this->cutsceneBeh = this->animationState * 0x11111111; + + if (this->entityType.form != 3) { + this->frameIndex = this->entityType.form + 7; + } else { + this->frameIndex = this->animationState + 10; + } +} + +NAKED +void sub_08022E40(Entity* this) { + asm(".include \"asm/non_matching/moldorm/sub_08022E40.inc\""); +} + +NAKED +void sub_08022EAC(Entity* this) { + asm(".include \"asm/non_matching/moldorm/sub_08022EAC.inc\""); +} + +void sub_08022F14(Entity* this) { + if (sub_08049FA0(this) == 0) { + u32 bVar6 = (sub_08049EE4(this) - this->direction) & 0x1f; + if (8 < ((bVar6 + 4) & 0x1f)) { + this->field_0xf = 8; + if (bVar6 < 0x10) { + this->field_0x78.HALF.LO = 1; + } else { + this->field_0x78.HALF.LO = -1; + } + } + } + + if (--this->actionDelay == 0) { + this->actionDelay = 4; + + if (--this->field_0xf == 0) { + this->field_0xf = 8; + this->field_0x78.HALF.LO = gUnk_080CBBC4[Random() & 1]; + } + + this->direction += this->field_0x78.HALF.LO; + this->direction &= 0x1f; + + this->animationState = ((this->direction + 2) & 0x1c) >> 2; + this->frameIndex = this->animationState; + } +} + +// clang-format off +void (*const gUnk_080CBB90[])(Entity*) = { + sub_08022BA0, + sub_08022D90, + sub_08022D90, + sub_08022D90, +}; + +void (*const gUnk_080CBBA0[])(Entity*) = { + sub_08022BD4, + sub_08022BEC, + sub_08001324, + sub_0804A7D4, + sub_08001242, +}; + +void (*const gUnk_080CBBB4[])(Entity*) = { + sub_08022C58, + sub_08022D40, +}; + +void (*const gUnk_080CBBBC[])(Entity*) = { + sub_08022DE8, + sub_08022E40, +}; + +const s8 gUnk_080CBBC4[] = { + 1, -1, 0, 0, +}; +// clang-format off From b5bf34f521faccd445ed5ac29eb6d931e53c3e9c Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sun, 30 Aug 2020 00:35:06 +0200 Subject: [PATCH 050/105] decompile enemyE --- asm/enemyE.s | 100 --------------------------------------- data/animations/enemyE.s | 7 +++ data/data_080CBB90.s | 9 ---- linker.ld | 4 +- src/enemy/enemyE.c | 69 +++++++++++++++++++++++++++ 5 files changed, 79 insertions(+), 110 deletions(-) delete mode 100644 asm/enemyE.s create mode 100644 data/animations/enemyE.s create mode 100644 src/enemy/enemyE.c diff --git a/asm/enemyE.s b/asm/enemyE.s deleted file mode 100644 index 3a6d9ac1..00000000 --- a/asm/enemyE.s +++ /dev/null @@ -1,100 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start EnemyE -EnemyE: @ 0x08022FA4 - push {lr} - ldr r1, _08022FB0 @ =gUnk_080CBBC8 - bl EnemyFunctionHandler - pop {pc} - .align 2, 0 -_08022FB0: .4byte gUnk_080CBBC8 - - thumb_func_start sub_08022FB4 -sub_08022FB4: @ 0x08022FB4 - push {lr} - ldr r2, _08022FC8 @ =gUnk_080CBBDC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022FC8: .4byte gUnk_080CBBDC - - thumb_func_start nullsub_133 -nullsub_133: @ 0x08022FCC - bx lr - .align 2, 0 - - thumb_func_start sub_08022FD0 -sub_08022FD0: @ 0x08022FD0 - push {lr} - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - movs r1, #0 - bl sub_08023000 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08022FEC -sub_08022FEC: @ 0x08022FEC - push {lr} - movs r1, #0x80 - bl sub_08023000 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08022FF8 -sub_08022FF8: @ 0x08022FF8 - bx lr - .align 2, 0 - - thumb_func_start sub_08022FFC -sub_08022FFC: @ 0x08022FFC - bx lr - .align 2, 0 - - thumb_func_start sub_08023000 -sub_08023000: @ 0x08023000 - push {r4, lr} - adds r4, r0, #0 - cmp r1, #0x80 - bne _0802300E - bl UpdateAnimationSingleFrame - b _08023014 -_0802300E: - adds r0, r4, #0 - bl InitAnimationForceUpdate -_08023014: - movs r2, #0x80 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r0, [r0] - cmp r0, #0x40 - bne _08023022 - rsbs r2, r2, #0 -_08023022: - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - adds r1, r2, #0 - movs r2, #0x80 - movs r3, #0 - bl sub_0805EC9C - pop {r4, pc} diff --git a/data/animations/enemyE.s b/data/animations/enemyE.s new file mode 100644 index 00000000..d958e227 --- /dev/null +++ b/data/animations/enemyE.s @@ -0,0 +1,7 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CBBEC:: @ 080CBBEC + .incbin "baserom.gba", 0x0CBBEC, 0x000004C diff --git a/data/data_080CBB90.s b/data/data_080CBB90.s index f40cf851..6c805bb0 100644 --- a/data/data_080CBB90.s +++ b/data/data_080CBB90.s @@ -3,15 +3,6 @@ .section .rodata -gUnk_080CBBC8:: @ 080CBBC8 - .incbin "baserom.gba", 0x0CBBC8, 0x0000014 - -gUnk_080CBBDC:: @ 080CBBDC - .incbin "baserom.gba", 0x0CBBDC, 0x0000010 - -gUnk_080CBBEC:: @ 080CBBEC - .incbin "baserom.gba", 0x0CBBEC, 0x000004C - gUnk_080CBC38:: @ 080CBC38 .incbin "baserom.gba", 0x0CBC38, 0x0000018 diff --git a/linker.ld b/linker.ld index fa911b12..c7241bda 100644 --- a/linker.ld +++ b/linker.ld @@ -339,7 +339,7 @@ SECTIONS { src/enemy/spinyChuchu.o(.text); src/enemy/cuccoChickAggr.o(.text); src/enemy/moldorm.o(.text); - asm/enemyE.o(.text); + src/enemy/enemyE.o(.text); asm/moldworm.o(.text); asm/sluggula.o(.text); asm/pesto.o(.text); @@ -930,6 +930,8 @@ SECTIONS { data/animations/spinyChuchu.o(.rodata); src/enemy/cuccoChickAggr.o(.rodata); src/enemy/moldorm.o(.rodata); + src/enemy/enemyE.o(.rodata); + data/animations/enemyE.o(.rodata); data/data_080CBB90.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/enemyE.c b/src/enemy/enemyE.c new file mode 100644 index 00000000..9f6a0b6d --- /dev/null +++ b/src/enemy/enemyE.c @@ -0,0 +1,69 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +void sub_08023000(Entity*, int); + +extern void (*const gUnk_080CBBC8[])(Entity*); +extern void (*const gUnk_080CBBDC[])(Entity*); + +void EnemyE(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CBBC8); +} + +void sub_08022FB4(Entity* this) { + gUnk_080CBBDC[this->action](this); +} + +void nullsub_133(Entity* this) { +} + +void sub_08022FD0(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = 1; + sub_08023000(this, 0); +} + +void sub_08022FEC(Entity* this) { + sub_08023000(this, 0x80); +} + +void sub_08022FF8(Entity* this) { +} + +void sub_08022FFC(Entity* this) { +} + +void sub_08023000(Entity* this, int frames) { + int tmp; + + if (frames == 0x80) { + UpdateAnimationSingleFrame(this); + } else { + InitAnimationForceUpdate(this, frames); + } + + tmp = 0x80; + if (this->frameSpriteSettings == 0x40) + tmp *= -1; + + this->spriteRendering.b0 = 3; + sub_0805EC9C(this, tmp, 0x80, 0); +} + +// clang-format off +void (*const gUnk_080CBBC8[])(Entity*) = { + sub_08022FB4, + nullsub_133, + sub_08001324, + sub_0804A7D4, + sub_08001242, +}; + +void (*const gUnk_080CBBDC[])(Entity*) = { + sub_08022FD0, + sub_08022FEC, + sub_08022FF8, + sub_08022FFC, +}; +// clang-format on From dba975b15b1ae95d7537137a0a9b714382c38abe Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sun, 30 Aug 2020 00:35:40 +0200 Subject: [PATCH 051/105] rename rodata file --- data/{data_080CBB90.s => data_080CBC38.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CBB90.s => data_080CBC38.s} (100%) diff --git a/data/data_080CBB90.s b/data/data_080CBC38.s similarity index 100% rename from data/data_080CBB90.s rename to data/data_080CBC38.s diff --git a/linker.ld b/linker.ld index c7241bda..fb3cd92e 100644 --- a/linker.ld +++ b/linker.ld @@ -932,7 +932,7 @@ SECTIONS { src/enemy/moldorm.o(.rodata); src/enemy/enemyE.o(.rodata); data/animations/enemyE.o(.rodata); - data/data_080CBB90.o(.rodata); + data/data_080CBC38.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From b05c0e22055239ccb2c7b743d950452370ae98bd Mon Sep 17 00:00:00 2001 From: theo3 Date: Mon, 31 Aug 2020 15:07:36 -0700 Subject: [PATCH 052/105] bigVortex.c OK --- asm/bigVortex.s | 259 ----------------------------------------- include/functions.h | 3 + linker.ld | 2 +- src/object/bigVortex.c | 111 ++++++++++++++++++ 4 files changed, 115 insertions(+), 260 deletions(-) delete mode 100644 asm/bigVortex.s create mode 100644 src/object/bigVortex.c diff --git a/asm/bigVortex.s b/asm/bigVortex.s deleted file mode 100644 index a60b28ea..00000000 --- a/asm/bigVortex.s +++ /dev/null @@ -1,259 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start BigVortex -BigVortex: @ 0x08098CF4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08098D14 - ldr r0, _08098D10 @ =gUnk_0812367C - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08098D1A - .align 2, 0 -_08098D10: .4byte gUnk_0812367C -_08098D14: - adds r0, r2, #0 - bl sub_08098E3C -_08098D1A: - pop {pc} - - thumb_func_start sub_08098D1C -sub_08098D1C: @ 0x08098D1C - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #1 - strb r5, [r4, #0xc] - ldr r0, _08098D40 @ =0x0000FFF0 - strh r0, [r4, #0x36] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - cmp r0, #0 - beq _08098D44 - bl CheckFlags - cmp r0, #0 - bne _08098D44 - strb r5, [r4, #0xc] - b _08098D5A - .align 2, 0 -_08098D40: .4byte 0x0000FFF0 -_08098D44: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_08098E88 -_08098D5A: - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0 - bl InitAnimationForceUpdate - pop {r4, r5, pc} - - thumb_func_start sub_08098D6C -sub_08098D6C: @ 0x08098D6C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl CheckFlags - cmp r0, #0 - beq _08098D9A - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x2d - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x43 - movs r2, #0 - bl CreateFx - adds r1, r0, #0 - cmp r1, #0 - beq _08098D9A - ldrh r0, [r1, #0x32] - adds r0, #8 - strh r0, [r1, #0x32] -_08098D9A: - pop {r4, pc} - - thumb_func_start sub_08098D9C -sub_08098D9C: @ 0x08098D9C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08098DC2 - movs r0, #3 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - bl sub_08098E88 -_08098DC2: - pop {pc} - - thumb_func_start sub_08098DC4 -sub_08098DC4: @ 0x08098DC4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, _08098E2C @ =gPlayerEntity - adds r1, r6, #0 - movs r2, #8 - movs r3, #8 - bl sub_0800419C - cmp r0, #0 - beq _08098E24 - adds r0, r5, #0 - adds r1, r6, #0 - bl CopyPosition - adds r0, r5, #0 - bl sub_08004542 - adds r0, r6, #0 - bl sub_08004542 - adds r0, r6, #0 - adds r0, #0x38 - movs r4, #1 - strb r4, [r0] - adds r0, r5, #0 - adds r1, r6, #0 - bl ResolveEntityOnTop - ldr r1, _08098E30 @ =gPlayerState - movs r0, #0x1f - strb r0, [r1, #0xc] - adds r0, r1, #0 - adds r0, #0x38 - strb r4, [r0] - ldrb r0, [r5, #0xb] - adds r1, #0x39 - strb r0, [r1] - movs r1, #4 - strb r1, [r5, #0xc] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bne _08098E20 - movs r0, #0x23 - bl SetGlobalFlag -_08098E20: - bl sub_08077B20 -_08098E24: - adds r0, r5, #0 - bl UpdateAnimationSingleFrame - pop {r4, r5, r6, pc} - .align 2, 0 -_08098E2C: .4byte gPlayerEntity -_08098E30: .4byte gPlayerState - - thumb_func_start sub_08098E34 -sub_08098E34: @ 0x08098E34 - push {lr} - bl UpdateAnimationSingleFrame - pop {pc} - - thumb_func_start sub_08098E3C -sub_08098E3C: @ 0x08098E3C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08098E5E - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl InitAnimationForceUpdate -_08098E5E: - ldrb r1, [r4, #0xa] - movs r0, #2 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - lsls r0, r0, #1 - ldr r1, _08098E84 @ =gUnk_08123690 - adds r0, r0, r1 - ldrh r1, [r0] - ldrh r2, [r0, #2] - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - pop {r4, pc} - .align 2, 0 -_08098E84: .4byte gUnk_08123690 - - thumb_func_start sub_08098E88 -sub_08098E88: @ 0x08098E88 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x82 - movs r1, #1 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _08098EB0 - ldr r3, _08098ED8 @ =0xFFFF0000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl PositionRelative - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #8 - strb r0, [r1] -_08098EB0: - movs r0, #0x82 - movs r1, #2 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _08098ED4 - ldr r3, _08098EDC @ =0xFFFE0000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl PositionRelative - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0x10 - strb r0, [r1] -_08098ED4: - pop {r4, r5, pc} - .align 2, 0 -_08098ED8: .4byte 0xFFFF0000 -_08098EDC: .4byte 0xFFFE0000 diff --git a/include/functions.h b/include/functions.h index c499fe02..8725e18e 100644 --- a/include/functions.h +++ b/include/functions.h @@ -256,4 +256,7 @@ extern u32 sub_080044EC(Entity*, u32); extern u32 sub_080002B8(Entity*); extern u32 sub_08049F84(Entity*, u32); extern void sub_0802F45C(Entity*); +extern u32 sub_0800419C(Entity*, Entity*, u32, u32); +extern void sub_08004542(Entity*); +extern void sub_08077B20(); #endif diff --git a/linker.ld b/linker.ld index f47d29f8..a0d37ce8 100644 --- a/linker.ld +++ b/linker.ld @@ -805,7 +805,7 @@ SECTIONS { asm/picoBloom.o(.text); asm/object80.o(.text); asm/object81.o(.text); - asm/bigVortex.o(.text); + src/object/bigVortex.o(.text); asm/bigPushableLever.o(.text); asm/smallIceBlock.o(.text); asm/bigIceBlock.o(.text); diff --git a/src/object/bigVortex.c b/src/object/bigVortex.c new file mode 100644 index 00000000..73c6a034 --- /dev/null +++ b/src/object/bigVortex.c @@ -0,0 +1,111 @@ +#include "global.h" +#include "entity.h" +#include "functions.h" +#include "flags.h" + +extern void sub_08098E3C(Entity*); +extern void sub_08098E88(Entity*); + +extern void (*const gUnk_0812367C[])(Entity*); + +extern u16 gUnk_08123690[]; + +void BigVortex(Entity* this) { + if ((this->entityType).form == 0) { + gUnk_0812367C[this->action](this); + } else { + sub_08098E3C(this); + } +} + +void sub_08098D1C(Entity* this) { + u32 temp; + this->action = 1; + this->height.HALF.HI = -0x10; + + temp = this->field_0x86; + + if ((temp != 0) && !CheckFlags(temp)) { + this->action = 1; + } else { + this->action = 3; + this->spriteSettings.b.draw = TRUE; + sub_08098E88(this); + } + sub_0805E3A0(this, 6); + InitAnimationForceUpdate(this, 0); +} + +void sub_08098D6C(Entity* this) { + Entity* ent; + + if (CheckFlags(this->field_0x86)) { + this->action = 2; + this->actionDelay = 0x2d; + ent = CreateFx(this, 0x43, 0); + if (ent != NULL) { + ent->y.HALF.HI += 8; + } + } +} + +void sub_08098D9C(Entity* this) { + if (--this->actionDelay == 0) { + this->action = 3; + this->spriteSettings.b.draw = TRUE; + sub_08098E88(this); + } +} + +void sub_08098DC4(Entity* this) { + + if (sub_0800419C(this, &gPlayerEntity, 8, 8) != 0) { + CopyPosition(this, &gPlayerEntity); + sub_08004542(this); + sub_08004542(&gPlayerEntity); + gPlayerEntity.collisionLayer = 1; + ResolveEntityOnTop(this, &gPlayerEntity); + gPlayerState.playerAction = 0x1f; + gPlayerState.field_0x34[4] = 1; + gPlayerState.field_0x34[5] = this->entityType.parameter; + this->action = 4; + if (this->entityType.parameter == 1) { + SetGlobalFlag(0x23); + } + sub_08077B20(); + } + UpdateAnimationSingleFrame(this); +} + +void sub_08098E34(Entity* this) { + UpdateAnimationSingleFrame(this); +} + +void sub_08098E3C(Entity* this) { + u16* temp; + + if (this->action == 0) { + this->action = 1; + this->spriteSettings.b.draw = TRUE; + InitAnimationForceUpdate(this, this->entityType.form); + } + temp = &gUnk_08123690[this->entityType.form & 2]; + sub_0805EC9C(this, temp[0], temp[1], 0); + UpdateAnimationSingleFrame(this); +} + +void sub_08098E88(Entity* this) { + Entity* ent1; + Entity* ent2; + + ent1 = CreateObject(0x82, 1, 0); + if (ent1 != NULL) { + PositionRelative(this, ent1, 0, -0x10000); + ent1->spriteOffsetY = 8; + } + ent2 = CreateObject(0x82, 2, 0); + if (ent2 != NULL) { + PositionRelative(this, ent2, 0, -0x20000); + ent2->spriteOffsetY = 0x10; + } +} \ No newline at end of file From e8bf4aa16506bdd83f3e0bb60f7efa71378b6c2b Mon Sep 17 00:00:00 2001 From: theo3 Date: Mon, 31 Aug 2020 15:31:58 -0700 Subject: [PATCH 053/105] hiddenLadderDown.c --- asm/hiddenLadderDown.s | 158 ---------------------------------- linker.ld | 2 +- src/object/hiddenLadderDown.c | 44 ++++++++++ 3 files changed, 45 insertions(+), 159 deletions(-) create mode 100644 src/object/hiddenLadderDown.c diff --git a/asm/hiddenLadderDown.s b/asm/hiddenLadderDown.s index 5770ce93..9851257c 100644 --- a/asm/hiddenLadderDown.s +++ b/asm/hiddenLadderDown.s @@ -5,161 +5,3 @@ .syntax unified .text - - - thumb_func_start HiddenLadderDown -HiddenLadderDown: @ 0x08091EF4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #1 - bhi _08091F0E - ldr r0, _08091F10 @ =gUnk_08122604 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_08091F0E: - pop {pc} - .align 2, 0 -_08091F10: .4byte gUnk_08122604 - - thumb_func_start sub_08091F14 -sub_08091F14: @ 0x08091F14 - push {r4, r5, lr} - adds r4, r0, #0 - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x58 - strb r2, [r0] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08091FEC @ =gRoomControls - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x70 - strh r1, [r5] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl CheckFlags - cmp r0, #0 - beq _08091FEA - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xd1 - lsls r0, r0, #1 - ldrh r1, [r5] - subs r1, #0x41 - adds r4, #0x38 - ldrb r2, [r4] - bl SetTileType - ldr r0, _08091FF0 @ =0x000001A3 - ldrh r1, [r5] - subs r1, #0x40 - ldrb r2, [r4] - bl SetTileType - movs r0, #0xd2 - lsls r0, r0, #1 - ldrh r1, [r5] - subs r1, #0x3f - ldrb r2, [r4] - bl SetTileType - ldr r0, _08091FF4 @ =0x000001A5 - ldrh r1, [r5] - subs r1, #1 - ldrb r2, [r4] - bl SetTileType - movs r0, #0xd3 - lsls r0, r0, #1 - ldrh r1, [r5] - ldrb r2, [r4] - bl SetTileType - ldr r0, _08091FF8 @ =0x000001A7 - ldrh r1, [r5] - adds r1, #1 - ldrb r2, [r4] - bl SetTileType - movs r0, #0xd4 - lsls r0, r0, #1 - ldrh r1, [r5] - adds r1, #0x3f - ldrb r2, [r4] - bl SetTileType - ldr r0, _08091FFC @ =0x000001A9 - ldrh r1, [r5] - adds r1, #0x40 - ldrb r2, [r4] - bl SetTileType - movs r0, #0xd5 - lsls r0, r0, #1 - ldrh r1, [r5] - adds r1, #0x41 - ldrb r2, [r4] - bl SetTileType -_08091FEA: - pop {r4, r5, pc} - .align 2, 0 -_08091FEC: .4byte gRoomControls -_08091FF0: .4byte 0x000001A3 -_08091FF4: .4byte 0x000001A5 -_08091FF8: .4byte 0x000001A7 -_08091FFC: .4byte 0x000001A9 - - thumb_func_start sub_08092000 -sub_08092000: @ 0x08092000 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x70 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl GetTileType - movs r1, #0xd3 - lsls r1, r1, #1 - cmp r0, r1 - bne _08092034 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl SetFlag -_08092034: - pop {r4, pc} - .align 2, 0 diff --git a/linker.ld b/linker.ld index a0d37ce8..4025a042 100644 --- a/linker.ld +++ b/linker.ld @@ -764,7 +764,7 @@ SECTIONS { src/object/minecart.o(.text); asm/minecart.o(.text); src/object/thoughtBubble.o(.text); - asm/hiddenLadderDown.o(.text); + src/object/hiddenLadderDown.o(.text); asm/gentariCurtains.o(.text); asm/lavaPlatform.o(.text); asm/object5A.o(.text); diff --git a/src/object/hiddenLadderDown.c b/src/object/hiddenLadderDown.c new file mode 100644 index 00000000..f878f055 --- /dev/null +++ b/src/object/hiddenLadderDown.c @@ -0,0 +1,44 @@ +#include "global.h" +#include "entity.h" +#include "functions.h" +#include "room.h" +#include "flags.h" + +extern void (*const gUnk_08122604[])(Entity*); + +void HiddenLadderDown(Entity* this) { + if (this->action < 2) { + gUnk_08122604[this->action](this); + } +} + +void sub_08091F14(Entity* this) { + u16* puVar3; + + this->action = 1; + this->spritePriority.b0 = 7; + this->animIndex = 0; + this->field_0x70.HALF.LO = COORD_TO_TILE(this); + puVar3 = &this->field_0x70.HALF.LO; + if (CheckFlags(this->field_0x86) != 0) { + this->action = 2; + this->spriteSettings.b.draw = TRUE; + SetTileType(0x1a2, *puVar3 - 0x41, this->collisionLayer); + SetTileType(0x1a3, *puVar3 - 0x40, this->collisionLayer); + SetTileType(0x1a4, *puVar3 - 0x3f, this->collisionLayer); + SetTileType(0x1a5, *puVar3 - 1, this->collisionLayer); + SetTileType(0x1a6, *puVar3, this->collisionLayer); + SetTileType(0x1a7, *puVar3 + 1, this->collisionLayer); + SetTileType(0x1a8, *puVar3 + 0x3f, this->collisionLayer); + SetTileType(0x1a9, *puVar3 + 0x40, this->collisionLayer); + SetTileType(0x1aa, *puVar3 + 0x41, this->collisionLayer); + } +} + +void sub_08092000(Entity* this) { + if (GetTileType(*(u16*)&this->field_0x70.HALF.LO, this->collisionLayer) == 0x1a6) { + this->action = 2; + this->spriteSettings.b.draw = TRUE; + SetFlag(this->field_0x86); + } +} \ No newline at end of file From 662e221f89aaaed63e80c167822d5d51bf5e172e Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 1 Sep 2020 00:57:40 +0200 Subject: [PATCH 054/105] label a bunch of stuff --- asm/armos.s | 14 +-- asm/ballChainSoldier.s | 4 +- asm/bigIceBlock.s | 2 +- asm/bigPushableLever.s | 4 +- asm/blockPushed.s | 2 +- asm/bobomb.s | 8 +- asm/bollard.s | 4 +- asm/book.s | 2 +- asm/bossDoor.s | 2 +- asm/bowMoblin.s | 2 +- asm/businessScrub.s | 2 +- asm/businessScrubPrologue.s | 8 +- asm/castleMaid.s | 2 +- asm/castorWildsStatue.s | 2 +- asm/chuchuBoss.s | 8 +- asm/cloudPiranha.s | 6 +- asm/code_080043E8.s | 4 +- asm/code_0800857C.s | 2 +- asm/code_08016DF8.s | 2 +- asm/code_08019444.s | 2 +- asm/code_08049CD4.s | 4 +- asm/code_080A5574.s | 34 +++--- asm/code_080AD90C.s | 4 +- asm/cucco.s | 2 +- asm/cuccoAggr.s | 12 +-- asm/cuccoChick.s | 2 +- asm/deathFx.s | 2 +- asm/dog.s | 6 +- asm/enemy4D.s | 4 +- asm/eyeSwitch.s | 2 +- asm/eyegore.s | 12 +-- asm/fairy.s | 2 +- asm/fallingBoulder.s | 2 +- asm/fan.s | 2 +- asm/figurineDevice.s | 2 +- asm/flyingPot.s | 2 +- asm/frozenWaterElement.s | 4 +- asm/gibdo.s | 6 +- asm/guardWithSpear.s | 6 +- asm/helmasaur.s | 2 +- asm/kid.s | 2 +- asm/lavaPlatform.s | 8 +- asm/likeLike.s | 4 +- asm/lockedDoor.s | 4 +- asm/madderpillar.s | 18 ++-- asm/managerF.s | 2 +- asm/minecartDoor.s | 4 +- asm/minishEzlo.s | 4 +- asm/moldworm.s | 2 +- asm/mountainMinish.s | 2 +- asm/mulldozer.s | 8 +- asm/npc23.s | 2 +- asm/object20.s | 2 +- asm/object24.s | 4 +- asm/object2A.s | 2 +- asm/object35.s | 4 +- asm/object43.s | 2 +- asm/object44.s | 2 +- asm/object64.s | 2 +- asm/object6A.s | 4 +- asm/object87.s | 2 +- asm/object8B.s | 2 +- asm/objectA0.s | 2 +- asm/objectA8.s | 2 +- asm/objectBlockingStairs.s | 6 +- asm/objectD.s | 4 +- asm/objectOnPillar.s | 4 +- asm/octorokBoss.s | 10 +- asm/octorokGolden.s | 4 +- asm/pesto.s | 2 +- asm/picoBloom.s | 2 +- asm/puffstool.s | 4 +- asm/pullableLever.s | 6 +- asm/pushableFurniture.s | 6 +- asm/pushableGrave.s | 2 +- asm/pushableLever.s | 4 +- asm/pushableRock.s | 2 +- asm/pushableStatue.s | 2 +- asm/rope.s | 4 +- asm/ropeGolden.s | 4 +- asm/scissorsBeetle.s | 6 +- asm/sensorBladeTrap.s | 2 +- asm/sluggula.s | 8 +- asm/smallIceBlock.s | 6 +- asm/spark.s | 2 +- asm/spearMoblin.s | 8 +- asm/specialFx.s | 2 +- asm/spikedBeetle.s | 6 +- asm/spinyBeetle.s | 2 +- asm/stalfos.s | 14 +-- asm/vaati.s | 6 +- asm/vaatiArm.s | 4 +- asm/vaatiEyesMacro.s | 6 +- asm/vaatiProjectile.s | 2 +- asm/vaatiReborn.s | 2 +- asm/vaatiTransfigured.s | 2 +- asm/vaatiWrath.s | 2 +- asm/wallMaster.s | 2 +- asm/warpPoint.s | 4 +- asm/waterDrop.s | 2 +- asm/windTribespeople.s | 2 +- asm/wizzrobeFire.s | 4 +- asm/wizzrobeIce.s | 4 +- asm/wizzrobeWind.s | 6 +- include/entity.h | 7 ++ include/functions.h | 4 +- src/enemy/acroBandits.c | 5 +- src/enemy/beetle.c | 23 ++-- src/enemy/bladeTrap.c | 4 +- src/enemy/chuchu.c | 42 ++++---- src/enemy/cuccoChickAggr.c | 10 +- src/enemy/darkNut.c | 32 +++--- src/enemy/doorMimic.c | 2 +- src/enemy/hangingSeed.c | 20 ++-- src/enemy/keaton.c | 4 +- src/enemy/keese.c | 94 ++++++++--------- src/enemy/lakitu.c | 4 +- src/enemy/leever.c | 108 ++++++++++--------- src/enemy/miniSlime.c | 2 +- src/enemy/moldorm.c | 2 +- src/enemy/octorok.c | 128 ++++++++++------------ src/enemy/peahat.c | 198 +++++++++++++++++++---------------- src/enemy/rockChuchu.c | 2 +- src/enemy/rollobite.c | 105 +++++++++---------- src/enemy/rupeeLike.c | 4 +- src/enemy/slime.c | 2 +- src/enemy/spinyChuchu.c | 16 +-- src/enemy/tektite.c | 2 +- src/enemy/tektiteGolden.c | 2 +- src/enemy/wisp.c | 2 +- src/npc/carlov.c | 6 +- src/npc/cow.c | 2 +- src/npc/melari.c | 4 +- src/npc/postman.c | 4 +- src/npc/townsperson.c | 2 +- src/object/lightableSwitch.c | 8 +- src/object/mask.c | 4 +- src/object/metalDoor.c | 4 +- src/object/object1A.c | 4 +- src/object/object2A.c | 2 +- src/object/pot.c | 2 +- src/object/railtrack.c | 8 +- 142 files changed, 670 insertions(+), 658 deletions(-) diff --git a/asm/armos.s b/asm/armos.s index 0f55d73d..e8c495cd 100644 --- a/asm/armos.s +++ b/asm/armos.s @@ -299,7 +299,7 @@ _080303C0: bl sub_08030834 movs r0, #0x95 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX b _0803042C .align 2, 0 _080303D0: .4byte gUnk_080FD2F0 @@ -450,7 +450,7 @@ _080304DE: strb r2, [r3] movs r0, #0x95 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _080304F0: pop {r4, pc} .align 2, 0 @@ -502,7 +502,7 @@ _0803053E: strb r0, [r3] movs r0, #0x95 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _08030552: pop {pc} @@ -597,7 +597,7 @@ _080305E4: cmp r0, #0 bne _08030608 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _0803064A ldrb r0, [r4, #0x15] @@ -624,7 +624,7 @@ _0803061E: cmp r3, #0 bne _08030638 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _0803064A ldrb r0, [r4, #0x15] @@ -1146,7 +1146,7 @@ _08030A02: sub_08030A04: @ 0x08030A04 push {r4, lr} adds r4, r0, #0 - bl sub_080AEF88 + bl ProcessMovement adds r4, #0x5a ldrb r1, [r4] movs r0, #1 @@ -1157,7 +1157,7 @@ sub_08030A04: @ 0x08030A04 ands r0, r1 strb r0, [r4] ldr r0, _08030A28 @ =0x00000101 - bl sub_08004488 + bl EnqueSFX _08030A24: pop {r4, pc} .align 2, 0 diff --git a/asm/ballChainSoldier.s b/asm/ballChainSoldier.s index 210d6ad8..817a4c7b 100644 --- a/asm/ballChainSoldier.s +++ b/asm/ballChainSoldier.s @@ -161,7 +161,7 @@ sub_0803E61C: @ 0x0803E61C cmp r0, #0 bne _0803E654 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _0803E654 adds r0, r4, #0 @@ -306,7 +306,7 @@ sub_0803E71C: @ 0x0803E71C movs r0, #0xf6 strb r0, [r1] adds r0, #0x65 - bl sub_08004488 + bl EnqueSFX _0803E756: pop {pc} .align 2, 0 diff --git a/asm/bigIceBlock.s b/asm/bigIceBlock.s index 4283a43b..d7ff4818 100644 --- a/asm/bigIceBlock.s +++ b/asm/bigIceBlock.s @@ -98,7 +98,7 @@ sub_080997CC: @ 0x080997CC strb r1, [r4, #0xc] strb r0, [r4, #0xe] ldr r0, _080997F0 @ =0x000001B3 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_080997F4 _080997EC: diff --git a/asm/bigPushableLever.s b/asm/bigPushableLever.s index 3edb8811..20cb7569 100644 --- a/asm/bigPushableLever.s +++ b/asm/bigPushableLever.s @@ -66,7 +66,7 @@ sub_08098F14: @ 0x08098F14 bl SetTile movs r0, #0x99 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r5, #0 movs r1, #0x1e bl sub_0805E4E0 @@ -348,7 +348,7 @@ _08099166: cmp r0, #0 bne _08099194 ldr r0, _080991A0 @ =0x00000131 - bl sub_08004488 + bl EnqueSFX _08099194: pop {r4, pc} .align 2, 0 diff --git a/asm/blockPushed.s b/asm/blockPushed.s index 35455994..551d6dd9 100644 --- a/asm/blockPushed.s +++ b/asm/blockPushed.s @@ -233,7 +233,7 @@ _08082FF0: bl sub_080832D8 _08083088: ldr r0, _08083090 @ =0x0000010F - bl sub_08004488 + bl EnqueSFX _0808308E: pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/bobomb.s b/asm/bobomb.s index 7dc63497..e36df5cd 100644 --- a/asm/bobomb.s +++ b/asm/bobomb.s @@ -123,7 +123,7 @@ _0802C75E: adds r0, r4, #0 bl sub_0802CB68 ldr r0, _0802C76C @ =0x0000014D - bl sub_08004488 + bl EnqueSFX b _0802C79E .align 2, 0 _0802C76C: .4byte 0x0000014D @@ -375,7 +375,7 @@ sub_0802C91C: @ 0x0802C91C adds r4, r0, #0 bl GetNextFrame adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 adds r0, #0x82 ldrb r0, [r0] @@ -638,7 +638,7 @@ _0802CB10: bne _0802CB30 movs r0, #0x82 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0802CB30: adds r0, r4, #0 bl sub_0802CC18 @@ -777,7 +777,7 @@ sub_0802CC18: @ 0x0802CC18 movs r0, #0x1c strb r0, [r1] ldr r0, _0802CC38 @ =0x0000014D - bl sub_08004488 + bl EnqueSFX _0802CC34: pop {pc} .align 2, 0 diff --git a/asm/bollard.s b/asm/bollard.s index e6c5457e..4fdf8b39 100644 --- a/asm/bollard.s +++ b/asm/bollard.s @@ -76,7 +76,7 @@ _0808B2F4: ldrb r2, [r2] bl SetTile ldr r0, _0808B320 @ =0x000001A5 - bl sub_08004488 + bl EnqueSFX _0808B31C: pop {r4, pc} .align 2, 0 @@ -130,7 +130,7 @@ _0808B36C: adds r0, r4, #0 bl sub_0808B3AC ldr r0, _0808B388 @ =0x000001A5 - bl sub_08004488 + bl EnqueSFX _0808B384: pop {r4, pc} .align 2, 0 diff --git a/asm/book.s b/asm/book.s index a0496c64..f5f6c852 100644 --- a/asm/book.s +++ b/asm/book.s @@ -190,7 +190,7 @@ _0809B4C0: lsls r0, r0, #2 strb r0, [r1, #0x15] ldr r0, _0809B518 @ =0x0000010F - bl sub_08004488 + bl EnqueSFX b _0809B520 .align 2, 0 _0809B510: .4byte gPlayerState diff --git a/asm/bossDoor.s b/asm/bossDoor.s index 50bdfbad..577953ae 100644 --- a/asm/bossDoor.s +++ b/asm/bossDoor.s @@ -358,7 +358,7 @@ _0808C470: strh r0, [r1, #0x32] _0808C494: ldr r0, _0808C4A0 @ =0x0000010B - bl sub_08004488 + bl EnqueSFX _0808C49A: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/bowMoblin.s b/asm/bowMoblin.s index faaa78d4..4ac302e7 100644 --- a/asm/bowMoblin.s +++ b/asm/bowMoblin.s @@ -675,7 +675,7 @@ sub_0803C6DC: @ 0x0803C6DC strh r0, [r4, #0x24] _0803C6EA: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl GetNextFrame pop {r4, pc} diff --git a/asm/businessScrub.s b/asm/businessScrub.s index ae2dd002..c0c6f131 100644 --- a/asm/businessScrub.s +++ b/asm/businessScrub.s @@ -70,7 +70,7 @@ sub_08028934: @ 0x08028934 strh r0, [r1, #0x36] _08028982: ldr r0, _0802898C @ =0x000001BB - bl sub_08004488 + bl EnqueSFX _08028988: pop {r4, pc} .align 2, 0 diff --git a/asm/businessScrubPrologue.s b/asm/businessScrubPrologue.s index b307d3c5..deb2307f 100644 --- a/asm/businessScrubPrologue.s +++ b/asm/businessScrubPrologue.s @@ -85,7 +85,7 @@ _08045C16: movs r1, #0xff strb r1, [r0] ldr r0, _08045C34 @ =0x000001BB - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #2 bl sub_0805E3A0 @@ -480,7 +480,7 @@ _08045F00: adds r0, r4, #0 bl sub_080954AC ldr r0, _08045F34 @ =0x0000018D - bl sub_08004488 + bl EnqueSFX b _08045F4E .align 2, 0 _08045F34: .4byte 0x0000018D @@ -698,7 +698,7 @@ _080460AE: bge _0804608A movs r0, #0xb7 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX ldr r0, _08046120 @ =0x000007A2 movs r1, #1 bl sub_0807BA8C @@ -725,7 +725,7 @@ _080460AE: bl CopyPosition movs r0, #0xc2 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _08046102: ldr r1, [r7, #0x54] cmp r1, #0 diff --git a/asm/castleMaid.s b/asm/castleMaid.s index 4eaebcec..1c5ca1fc 100644 --- a/asm/castleMaid.s +++ b/asm/castleMaid.s @@ -288,7 +288,7 @@ _08064710: orrs r0, r1 str r0, [r5, #8] adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement movs r0, #0x2e ldrsh r1, [r4, r0] adds r2, r4, #0 diff --git a/asm/castorWildsStatue.s b/asm/castorWildsStatue.s index cb22f84d..90bd9782 100644 --- a/asm/castorWildsStatue.s +++ b/asm/castorWildsStatue.s @@ -260,7 +260,7 @@ _08067560: ble _0806753A movs r0, #0xa6 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX movs r0, #0x28 movs r1, #4 bl sub_08080964 diff --git a/asm/chuchuBoss.s b/asm/chuchuBoss.s index 0ad8aaca..a4ababb3 100644 --- a/asm/chuchuBoss.s +++ b/asm/chuchuBoss.s @@ -1407,7 +1407,7 @@ _0802670A: bl PlaySFX _08026726: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement _0802672C: adds r0, r4, #0 adds r0, #0x76 @@ -1589,7 +1589,7 @@ sub_0802686C: @ 0x0802686C cmp r5, #0 beq _08026888 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement b _080268BE _08026888: movs r0, #0x10 @@ -2687,7 +2687,7 @@ _080270D4: ldrb r0, [r0, #0xc] strb r0, [r5, #0x15] adds r0, r5, #0 - bl sub_080AEF88 + bl ProcessMovement _080270E0: adds r0, r6, #0 adds r0, #0x85 @@ -2747,7 +2747,7 @@ _08027110: b _080271FE _0802714A: adds r0, r5, #0 - bl sub_080AEF88 + bl ProcessMovement b _080271FE _08027152: adds r0, r6, #0 diff --git a/asm/cloudPiranha.s b/asm/cloudPiranha.s index 4ed97086..b30f3fb4 100644 --- a/asm/cloudPiranha.s +++ b/asm/cloudPiranha.s @@ -376,7 +376,7 @@ sub_080386B8: @ 0x080386B8 strb r0, [r2] movs r0, #0x92 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #0x70 bl sub_0801D2B4 @@ -459,7 +459,7 @@ sub_08038754: @ 0x08038754 orrs r0, r1 strb r0, [r2] ldr r0, _080387C0 @ =0x0000012B - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #0x71 bl sub_0801D2B4 @@ -593,7 +593,7 @@ _08038890: cmp r0, #0 bne _080388A8 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement b _080388B2 _080388A8: subs r0, #1 diff --git a/asm/code_080043E8.s b/asm/code_080043E8.s index 0a6fd073..85ecffd6 100644 --- a/asm/code_080043E8.s +++ b/asm/code_080043E8.s @@ -85,8 +85,8 @@ sub_08004484: @ 0x08004484 ldr r2, _080044DC @ =gUnk_03005FF0 bx r2 - thumb_func_start sub_08004488 -sub_08004488: @ 0x08004488 + thumb_func_start EnqueSFX +EnqueSFX: @ 0x08004488 ldr r1, _080044E0 @ =gUnk_02024048 ldrb r2, [r1] cmp r2, #8 diff --git a/asm/code_0800857C.s b/asm/code_0800857C.s index 2cd3657b..5dbf7120 100644 --- a/asm/code_0800857C.s +++ b/asm/code_0800857C.s @@ -769,7 +769,7 @@ sub_08008B22: @ 0x08008B22 sub_08008B2E: @ 0x08008B2E push {r0, lr} adds r0, r2, #0 - bl sub_08004488 + bl EnqueSFX pop {r0, pc} .align 2, 0 _08008B38: .4byte 0x00000180 diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index b30e6ecb..ef099089 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -398,7 +398,7 @@ _080170E8: cmp r0, #0 bne _08017112 ldr r0, _08017138 @ =0x0000011F - bl sub_08004488 + bl EnqueSFX _08017112: ldr r0, _0801712C @ =gUnk_02002A40 adds r2, r0, #0 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index a9a303c8..ebd87ab7 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -4328,7 +4328,7 @@ _0801B4AC: cmp r0, #0 bne _0801B4C0 movs r0, #0xfb - bl sub_08004488 + bl EnqueSFX _0801B4C0: pop {r4, pc} .align 2, 0 diff --git a/asm/code_08049CD4.s b/asm/code_08049CD4.s index a7103c1e..3ad1023e 100644 --- a/asm/code_08049CD4.s +++ b/asm/code_08049CD4.s @@ -364,8 +364,8 @@ _08049F60: pop {r4, r5, pc} .align 2, 0 - thumb_func_start sub_08049F64 -sub_08049F64: @ 0x08049F64 + thumb_func_start PlayerInRange +PlayerInRange: @ 0x08049F64 push {r4, r5, lr} adds r4, r0, #0 adds r0, r1, #0 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index 9619ff0d..d9d6fa0c 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -6061,7 +6061,7 @@ sub_080A8470: @ 0x080A8470 cmp r0, #0x68 bne _080A848E movs r0, #0x86 - bl sub_08004488 + bl EnqueSFX _080A848E: adds r0, r4, #0 bl DeleteEntity @@ -6115,7 +6115,7 @@ sub_080A84C8: @ 0x080A84C8 strb r0, [r1] _080A84F0: ldr r0, _080A8500 @ =0x0000018D - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #0x18 bl InitializeAnimation @@ -6328,7 +6328,7 @@ sub_080A8680: @ 0x080A8680 strb r1, [r0, #0xf] movs r0, #0x8c lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX pop {pc} thumb_func_start sub_080A86A0 @@ -6344,7 +6344,7 @@ sub_080A86A0: @ 0x080A86A0 strh r3, [r0, #0x24] movs r0, #0xc7 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX pop {pc} thumb_func_start sub_080A86BC @@ -6810,7 +6810,7 @@ _080A8A16: movs r1, #1 bl InitializeAnimation movs r0, #0x84 - bl sub_08004488 + bl EnqueSFX movs r0, #3 strb r0, [r5, #0xc] b _080A8A44 @@ -6893,7 +6893,7 @@ _080A8AAA: adds r0, r2, #0 bl InitializeAnimation ldr r0, _080A8AC4 @ =0x0000015F - bl sub_08004488 + bl EnqueSFX _080A8AC2: pop {pc} .align 2, 0 @@ -7053,7 +7053,7 @@ _080A8BDA: bl InitializeAnimation movs r0, #0xaf lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _080A8BF4: pop {pc} .align 2, 0 @@ -7198,7 +7198,7 @@ _080A8CEE: bl InitializeAnimation movs r0, #0xb0 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _080A8D08: pop {pc} .align 2, 0 @@ -8110,7 +8110,7 @@ sub_080A93DC: @ 0x080A93DC bl InitializeAnimation movs r0, #0xc5 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_0806F69C b _080A9424 @@ -8199,7 +8199,7 @@ sub_080A9488: @ 0x080A9488 lsrs r0, r0, #3 strb r0, [r4, #0x14] movs r0, #0x74 - bl sub_08004488 + bl EnqueSFX ldrb r1, [r4, #0x14] adds r0, r4, #0 bl sub_080A94C0 @@ -9728,7 +9728,7 @@ sub_080A9FD0: @ 0x080A9FD0 ands r0, r1 strb r0, [r2] ldr r0, _080AA038 @ =0x0000015D - bl sub_08004488 + bl EnqueSFX _080A9FF2: movs r0, #0x2e ldrsh r1, [r5, r0] @@ -9906,7 +9906,7 @@ _080AA136: bl DeleteThisEntity _080AA14E: movs r0, #0xf2 - bl sub_08004488 + bl EnqueSFX movs r4, #1 strb r4, [r6, #0xc] movs r0, #0xff @@ -10715,7 +10715,7 @@ _080AA774: adds r0, r4, #0 bl InitAnimationForceUpdate ldr r0, _080AA788 @ =0x00000101 - bl sub_08004488 + bl EnqueSFX _080AA784: pop {r4, r5, r6, pc} .align 2, 0 @@ -10780,7 +10780,7 @@ _080AA7DA: strb r0, [r5] movs r0, #0x80 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _080AA806: ldrb r1, [r5] movs r0, #0x80 @@ -10989,7 +10989,7 @@ _080AA920: strh r0, [r7, #0x32] movs r0, #0x80 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _080AA99A: pop {r4, r5, r6, r7, pc} .align 2, 0 @@ -13118,7 +13118,7 @@ sub_080AB950: @ 0x080AB950 cmp r0, #0 bne _080AB99C adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement ldrb r0, [r4, #0x15] lsrs r0, r0, #3 ldr r1, _080AB994 @ =gUnk_0812A6C4 @@ -15575,7 +15575,7 @@ sub_080ACB90: @ 0x080ACB90 movs r2, #0x40 bl CreateFx ldr r0, _080ACBC8 @ =0x00000119 - bl sub_08004488 + bl EnqueSFX bl DeleteThisEntity _080ACBC6: pop {r4, pc} diff --git a/asm/code_080AD90C.s b/asm/code_080AD90C.s index 560b933d..b8d21b9b 100644 --- a/asm/code_080AD90C.s +++ b/asm/code_080AD90C.s @@ -3036,8 +3036,8 @@ _080AEF7E: pop {r4, r5, r6, r7, pc} .align 2, 0 - thumb_func_start sub_080AEF88 -sub_080AEF88: @ 0x080AEF88 + thumb_func_start ProcessMovement +ProcessMovement: @ 0x080AEF88 push {r4, lr} adds r4, r0, #0 ldrb r1, [r4, #0x15] diff --git a/asm/cucco.s b/asm/cucco.s index bd176a46..13120cfc 100644 --- a/asm/cucco.s +++ b/asm/cucco.s @@ -93,7 +93,7 @@ _0806E52C: lsls r1, r1, #1 adds r1, r1, r4 ldrh r0, [r1] - bl sub_08004488 + bl EnqueSFX _0806E552: adds r0, r5, #0 bl sub_0806E65C diff --git a/asm/cuccoAggr.s b/asm/cuccoAggr.s index acf5bcf4..a339f4cc 100644 --- a/asm/cuccoAggr.s +++ b/asm/cuccoAggr.s @@ -194,7 +194,7 @@ sub_08038DD8: @ 0x08038DD8 movs r1, #4 bl InitializeAnimation ldr r0, _08038E14 @ =0x000001D9 - bl sub_08004488 + bl EnqueSFX pop {pc} .align 2, 0 _08038E10: .4byte gUnk_080CF7BC @@ -238,7 +238,7 @@ sub_08038E18: @ 0x08038E18 ands r0, r1 strb r0, [r4, #0x15] adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl UpdateSpriteForCollisionLayer _08038E70: @@ -304,7 +304,7 @@ sub_08038ED0: @ 0x08038ED0 sub_08038EE0: @ 0x08038EE0 push {r4, lr} adds r4, r0, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl GetNextFrame adds r0, r4, #0 @@ -362,7 +362,7 @@ sub_08038F44: @ 0x08038F44 adds r0, r4, #0 bl sub_080390F8 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement movs r1, #0xc0 lsls r1, r1, #5 adds r0, r4, #0 @@ -519,7 +519,7 @@ _0803906C: movs r1, #0xeb lsls r1, r1, #1 adds r0, r5, r1 - bl sub_08004488 + bl EnqueSFX b _080390BC _080390AA: movs r0, #4 @@ -743,7 +743,7 @@ sub_08039218: @ 0x08039218 bl InitializeAnimation _0803924C: ldr r0, _0803925C @ =0x000001D9 - bl sub_08004488 + bl EnqueSFX pop {pc} .align 2, 0 _08039254: .4byte gUnk_080CF824 diff --git a/asm/cuccoChick.s b/asm/cuccoChick.s index 23386b60..d325fcc8 100644 --- a/asm/cuccoChick.s +++ b/asm/cuccoChick.s @@ -81,7 +81,7 @@ _0806E782: cmp r1, #0 beq _0806E7A8 movs r0, #0xd6 - bl sub_08004488 + bl EnqueSFX _0806E7A8: adds r0, r4, #0 bl sub_0806E838 diff --git a/asm/deathFx.s b/asm/deathFx.s index 43281d5a..ca601373 100644 --- a/asm/deathFx.s +++ b/asm/deathFx.s @@ -125,7 +125,7 @@ _08081702: movs r0, #1 strb r0, [r4, #0xc] movs r0, #0xff - bl sub_08004488 + bl EnqueSFX _0808170C: adds r0, r4, #0 movs r1, #3 diff --git a/asm/dog.s b/asm/dog.s index c62ec6df..c7170024 100644 --- a/asm/dog.s +++ b/asm/dog.s @@ -303,7 +303,7 @@ sub_08069D54: @ 0x08069D54 adds r0, r4, #0 bl UpdateAnimationSingleFrame adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement ldrh r1, [r4, #0x2a] movs r0, #0x2e ldrsh r2, [r4, r0] @@ -473,9 +473,9 @@ _08069EA0: adds r0, r4, #0 bl sub_080788E0 movs r0, #0xd1 - bl sub_08004488 + bl EnqueSFX movs r0, #0xcd - bl sub_08004488 + bl EnqueSFX _08069EC8: pop {r4, r5, r6, r7, pc} .align 2, 0 diff --git a/asm/enemy4D.s b/asm/enemy4D.s index c2a2bfee..c7216a38 100644 --- a/asm/enemy4D.s +++ b/asm/enemy4D.s @@ -172,7 +172,7 @@ _0803ECD8: movs r1, #0x10 bl sub_0803E94C adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement _0803ED02: pop {r4, r5, r6, pc} @@ -234,7 +234,7 @@ sub_0803ED40: @ 0x0803ED40 movs r0, #0xf6 strb r0, [r1] adds r0, #0x65 - bl sub_08004488 + bl EnqueSFX _0803ED74: pop {pc} .align 2, 0 diff --git a/asm/eyeSwitch.s b/asm/eyeSwitch.s index 94bd7a1c..5fa1d8e5 100644 --- a/asm/eyeSwitch.s +++ b/asm/eyeSwitch.s @@ -109,7 +109,7 @@ _08088728: ands r0, r1 strb r0, [r4, #0x10] ldr r0, _0808875C @ =0x00000111 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 adds r0, #0x86 ldrh r0, [r0] diff --git a/asm/eyegore.s b/asm/eyegore.s index ca67cae2..43ca7f0d 100644 --- a/asm/eyegore.s +++ b/asm/eyegore.s @@ -105,7 +105,7 @@ _08030AC0: movs r0, #0x86 lsls r0, r0, #1 _08030AE0: - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_08031344 b _08030B0E @@ -124,7 +124,7 @@ _08030AFA: movs r0, #0xf strb r0, [r1] movs r0, #0xfe - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_08031344 _08030B0E: @@ -563,7 +563,7 @@ sub_08030E3C: @ 0x08030E3C lsls r1, r1, #9 str r1, [r0, #0x20] ldr r0, _08030E54 @ =0x00000157 - bl sub_08004488 + bl EnqueSFX pop {pc} .align 2, 0 _08030E54: .4byte 0x00000157 @@ -589,7 +589,7 @@ sub_08030E70: @ 0x08030E70 bl sub_08030E80 movs r0, #0xac lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX pop {pc} thumb_func_start sub_08030E80 @@ -1171,7 +1171,7 @@ _080312E2: cmp r0, #0 bne _0803131C adds r0, r6, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _0803131C adds r2, r6, #0 @@ -1192,7 +1192,7 @@ _08031310: b _0803131C _08031316: adds r0, r6, #0 - bl sub_080AEF88 + bl ProcessMovement _0803131C: pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/fairy.s b/asm/fairy.s index a6841668..b17899db 100644 --- a/asm/fairy.s +++ b/asm/fairy.s @@ -188,7 +188,7 @@ sub_0808D7B4: @ 0x0808D7B4 bl sub_0805E3A0 movs r0, #0x9b lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX ldrb r0, [r4, #0xb] cmp r0, #2 beq _0808D834 diff --git a/asm/fallingBoulder.s b/asm/fallingBoulder.s index 801c45c0..9431e511 100644 --- a/asm/fallingBoulder.s +++ b/asm/fallingBoulder.s @@ -216,7 +216,7 @@ _0802C36A: bne _0802C3CC movs r0, #0xa6 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX ldrb r1, [r4, #0x10] movs r0, #0x80 orrs r0, r1 diff --git a/asm/fan.s b/asm/fan.s index 2442e630..51822d10 100644 --- a/asm/fan.s +++ b/asm/fan.s @@ -347,7 +347,7 @@ sub_0809F0E4: @ 0x0809F0E4 push {r4, r5, lr} adds r5, r0, #0 ldr r0, _0809F124 @ =0x00000183 - bl sub_08004488 + bl EnqueSFX ldrb r0, [r5, #0xa] movs r1, #2 eors r1, r0 diff --git a/asm/figurineDevice.s b/asm/figurineDevice.s index 31bf1057..ed64416f 100644 --- a/asm/figurineDevice.s +++ b/asm/figurineDevice.s @@ -266,7 +266,7 @@ _08087D60: bl PositionRelative _08087DAA: ldr r0, _08087DB8 @ =0x00000111 - bl sub_08004488 + bl EnqueSFX _08087DB0: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/flyingPot.s b/asm/flyingPot.s index 7c45e106..75e3a8b5 100644 --- a/asm/flyingPot.s +++ b/asm/flyingPot.s @@ -342,7 +342,7 @@ _080372CC: adds r0, r5, #0 movs r1, #1 movs r2, #0x40 - bl sub_08049F64 + bl PlayerInRange cmp r0, #0 beq _080372E2 movs r0, #2 diff --git a/asm/frozenWaterElement.s b/asm/frozenWaterElement.s index 574be4d0..d2e0ac77 100644 --- a/asm/frozenWaterElement.s +++ b/asm/frozenWaterElement.s @@ -96,7 +96,7 @@ sub_0809BF1C: @ 0x0809BF1C lsls r0, r0, #1 strh r0, [r1] adds r0, #0x73 - bl sub_08004488 + bl EnqueSFX _0809BF6C: pop {r4, pc} .align 2, 0 @@ -129,7 +129,7 @@ _0809BFA0: cmp r1, #0 bne _0809BFAE ldr r0, _0809C09C @ =0x000001B3 - bl sub_08004488 + bl EnqueSFX _0809BFAE: ldrh r0, [r5] cmp r0, #0x77 diff --git a/asm/gibdo.s b/asm/gibdo.s index 555d040c..4518b9d6 100644 --- a/asm/gibdo.s +++ b/asm/gibdo.s @@ -196,7 +196,7 @@ _080375D2: adds r0, r4, #0 bl UpdateAnimationSingleFrame adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _080375F4 ldrb r0, [r4, #0xf] @@ -263,7 +263,7 @@ _08037652: adds r0, r4, #0 bl UpdateAnimationSingleFrame adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _0803767C ldrb r0, [r4, #0xf] @@ -316,7 +316,7 @@ _080376B6: movs r0, #0x27 strb r0, [r1] adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement _080376CC: pop {r4, pc} .align 2, 0 diff --git a/asm/guardWithSpear.s b/asm/guardWithSpear.s index 621a1d62..4fda3f06 100644 --- a/asm/guardWithSpear.s +++ b/asm/guardWithSpear.s @@ -84,7 +84,7 @@ _080640E8: bl InitializeAnimation _0806410A: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement movs r0, #0x2e ldrsh r1, [r4, r0] adds r2, r4, #0 @@ -213,7 +213,7 @@ _080641E6: movs r0, #0x32 ldrsh r4, [r5, r0] adds r0, r5, #0 - bl sub_080AEF88 + bl ProcessMovement movs r1, #0x32 ldrsh r0, [r5, r1] adds r6, r5, #0 @@ -358,7 +358,7 @@ _08064306: movs r0, #0x2e ldrsh r4, [r5, r0] adds r0, r5, #0 - bl sub_080AEF88 + bl ProcessMovement movs r1, #0x2e ldrsh r0, [r5, r1] adds r6, r5, #0 diff --git a/asm/helmasaur.s b/asm/helmasaur.s index 6b17b172..e8a891ea 100644 --- a/asm/helmasaur.s +++ b/asm/helmasaur.s @@ -533,7 +533,7 @@ _0802BF3A: sub_0802BF3C: @ 0x0802BF3C push {r4, lr} adds r4, r0, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl GetNextFrame ldrb r0, [r4, #0xe] diff --git a/asm/kid.s b/asm/kid.s index 337736d6..8d61dd09 100644 --- a/asm/kid.s +++ b/asm/kid.s @@ -1173,7 +1173,7 @@ _080629B4: strh r1, [r0] _080629D2: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement movs r3, #0x2e ldrsh r1, [r4, r3] adds r2, r4, #0 diff --git a/asm/lavaPlatform.s b/asm/lavaPlatform.s index 32d6da37..c2dc7c10 100644 --- a/asm/lavaPlatform.s +++ b/asm/lavaPlatform.s @@ -73,7 +73,7 @@ sub_0809229C: @ 0x0809229C bl InitAnimationForceUpdate movs r0, #0xbf lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX ldr r0, [r4, #0x54] movs r1, #3 bl InitializeAnimation @@ -281,7 +281,7 @@ _08092434: movs r1, #2 bl InitializeAnimation ldr r0, _08092468 @ =0x0000017B - bl sub_08004488 + bl EnqueSFX _08092462: pop {r4, pc} .align 2, 0 @@ -335,7 +335,7 @@ _080924B8: strb r0, [r3] movs r0, #0xbe lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX b _080924DC _080924CC: movs r0, #2 @@ -344,7 +344,7 @@ _080924CC: beq _080924DC strb r2, [r3] ldr r0, _080924E0 @ =0x0000017D - bl sub_08004488 + bl EnqueSFX _080924DC: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/likeLike.s b/asm/likeLike.s index fa3c4f96..e0b8c086 100644 --- a/asm/likeLike.s +++ b/asm/likeLike.s @@ -269,7 +269,7 @@ _08027F38: strb r0, [r4, #0xe] _08027F5A: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl GetNextFrame b _08027F7C @@ -485,7 +485,7 @@ _080280F0: bne _08028102 movs r0, #0x82 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _08028102: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/lockedDoor.s b/asm/lockedDoor.s index c73a92cd..22acc1b0 100644 --- a/asm/lockedDoor.s +++ b/asm/lockedDoor.s @@ -232,7 +232,7 @@ sub_080834B4: @ 0x080834B4 ldrb r2, [r2] bl SetTile ldr r0, _080834E8 @ =0x0000010B - bl sub_08004488 + bl EnqueSFX _080834E6: pop {pc} .align 2, 0 @@ -323,7 +323,7 @@ _0808357A: adds r0, r4, #0 bl sub_08083814 ldr r0, _08083590 @ =0x0000010B - bl sub_08004488 + bl EnqueSFX _0808358C: pop {r4, pc} .align 2, 0 diff --git a/asm/madderpillar.s b/asm/madderpillar.s index 22924791..d569af3e 100644 --- a/asm/madderpillar.s +++ b/asm/madderpillar.s @@ -117,7 +117,7 @@ _08029948: movs r1, #0x7f bl sub_0801D2B4 movs r0, #0xfe - bl sub_08004488 + bl EnqueSFX ldr r0, [r5, #0x54] strb r4, [r0, #0xc] _08029970: @@ -298,7 +298,7 @@ sub_08029AA4: @ 0x08029AA4 adds r0, r1, #0 bl sub_08029EEC ldr r0, _08029ADC @ =0x0000019D - bl sub_08004488 + bl EnqueSFX _08029ADA: pop {pc} .align 2, 0 @@ -335,7 +335,7 @@ sub_08029AE0: @ 0x08029AE0 bl sub_0801D2B4 movs r0, #0xc1 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _08029B28: pop {r4, pc} .align 2, 0 @@ -491,7 +491,7 @@ sub_08029C2C: @ 0x08029C2C movs r1, #0x7f bl sub_0801D2B4 movs r0, #0x6c - bl sub_08004488 + bl EnqueSFX _08029C4E: pop {pc} @@ -625,7 +625,7 @@ sub_08029D14: @ 0x08029D14 movs r1, #0x7f bl sub_0801D2B4 movs r0, #0x6c - bl sub_08004488 + bl EnqueSFX b _08029D70 _08029D42: adds r0, r4, #0 @@ -648,7 +648,7 @@ _08029D42: ldr r0, _08029D74 @ =gUnk_080FD298 str r0, [r4, #0x48] movs r0, #0x6b - bl sub_08004488 + bl EnqueSFX _08029D70: pop {r4, pc} .align 2, 0 @@ -1121,7 +1121,7 @@ _0802A0B8: movs r0, #0x32 ldrsh r6, [r4, r0] adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl sub_08029F48 cmp r0, #0 @@ -1132,7 +1132,7 @@ _0802A0B8: bl sub_08029EEC movs r0, #0x82 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0802A0E4: movs r0, #0x2e ldrsh r1, [r4, r0] @@ -1286,7 +1286,7 @@ _0802A1B0: @ jump table _0802A22C: movs r0, #0x97 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0802A234: pop {pc} .align 2, 0 diff --git a/asm/managerF.s b/asm/managerF.s index 60d32fc0..f2181c89 100644 --- a/asm/managerF.s +++ b/asm/managerF.s @@ -747,7 +747,7 @@ _08059436: strh r0, [r2, #0x32] movs r0, #0xd8 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX bl DeleteThisEntity _08059476: pop {r4, pc} diff --git a/asm/minecartDoor.s b/asm/minecartDoor.s index 308edf13..a2988960 100644 --- a/asm/minecartDoor.s +++ b/asm/minecartDoor.s @@ -150,7 +150,7 @@ sub_08096BBC: @ 0x08096BBC ldrb r2, [r2] bl SetTile ldr r0, _08096BF4 @ =0x0000010B - bl sub_08004488 + bl EnqueSFX _08096BF2: pop {r4, pc} .align 2, 0 @@ -277,7 +277,7 @@ sub_08096CB0: @ 0x08096CB0 adds r0, r4, #0 bl sub_08083814 ldr r0, _08096CE8 @ =0x0000010B - bl sub_08004488 + bl EnqueSFX _08096CE6: pop {r4, pc} .align 2, 0 diff --git a/asm/minishEzlo.s b/asm/minishEzlo.s index d83ab550..c470a603 100644 --- a/asm/minishEzlo.s +++ b/asm/minishEzlo.s @@ -48,7 +48,7 @@ _08062FA0: ands r0, r1 strb r0, [r4] ldr r0, _08062FEC @ =0x000001CF - bl sub_08004488 + bl EnqueSFX _08062FCC: ldrb r1, [r4] movs r0, #0x20 @@ -60,7 +60,7 @@ _08062FCC: strb r0, [r4] movs r0, #0x88 lsls r0, r0, #2 - bl sub_08004488 + bl EnqueSFX _08062FE4: pop {r4, pc} .align 2, 0 diff --git a/asm/moldworm.s b/asm/moldworm.s index 943cf3e1..18884dc8 100644 --- a/asm/moldworm.s +++ b/asm/moldworm.s @@ -536,7 +536,7 @@ _08023440: ldr r4, [r5, #0x2c] ldr r6, [r5, #0x30] adds r0, r5, #0 - bl sub_080AEF88 + bl ProcessMovement ldr r0, [r5, #0x2c] cmp r0, r4 bne _08023460 diff --git a/asm/mountainMinish.s b/asm/mountainMinish.s index d55b8c9a..c9571ff4 100644 --- a/asm/mountainMinish.s +++ b/asm/mountainMinish.s @@ -299,7 +299,7 @@ _08068068: lsls r0, r0, #1 adds r0, r0, r4 ldrh r0, [r0] - bl sub_08004488 + bl EnqueSFX _0806807E: ldrb r1, [r6] movs r0, #2 diff --git a/asm/mulldozer.s b/asm/mulldozer.s index a9f8f0f0..4c449faa 100644 --- a/asm/mulldozer.s +++ b/asm/mulldozer.s @@ -325,7 +325,7 @@ _08032EC0: adds r0, r4, #0 bl sub_080331E8 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement pop {r4, pc} .align 2, 0 @@ -333,7 +333,7 @@ _08032EC0: sub_08032ED0: @ 0x08032ED0 push {r4, r5, lr} adds r4, r0, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl sub_08032F48 ldrb r0, [r4, #0xf] @@ -428,7 +428,7 @@ _08032F82: adds r0, r4, #0 bl sub_08032F48 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement pop {r4, pc} thumb_func_start sub_08032F90 @@ -826,7 +826,7 @@ _08033238: strh r0, [r4, #0x32] movs r0, #0x86 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _08033278: pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/npc23.s b/asm/npc23.s index d3828237..bed87076 100644 --- a/asm/npc23.s +++ b/asm/npc23.s @@ -183,7 +183,7 @@ _08066410: strb r0, [r4, #0xd] _08066428: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement _0806642E: bl sub_08078B48 adds r0, r4, #0 diff --git a/asm/object20.s b/asm/object20.s index fc8420ae..7fe7e16d 100644 --- a/asm/object20.s +++ b/asm/object20.s @@ -64,7 +64,7 @@ _08087836: adds r0, r4, #0 bl sub_0801766C movs r0, #0xfd - bl sub_08004488 + bl EnqueSFX pop {r4, pc} .align 2, 0 _08087884: .4byte gUnk_08120A54 diff --git a/asm/object24.s b/asm/object24.s index a3d057e1..16ac6466 100644 --- a/asm/object24.s +++ b/asm/object24.s @@ -93,7 +93,7 @@ sub_0808886C: @ 0x0808886C ldrh r0, [r0] bl SetFlag ldr r0, _080888B4 @ =0x0000016B - bl sub_08004488 + bl EnqueSFX b _080888F2 .align 2, 0 _080888B4: .4byte 0x0000016B @@ -117,7 +117,7 @@ _080888D2: _080888DA: movs r0, #0x86 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX b _080888F0 _080888E4: cmp r4, r0 diff --git a/asm/object2A.s b/asm/object2A.s index d9d563b0..da9945a6 100644 --- a/asm/object2A.s +++ b/asm/object2A.s @@ -140,6 +140,6 @@ _08089C96: bl InitializeAnimation movs r0, #0x92 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _08089CBA: pop {r4, r5, r6, pc} diff --git a/asm/object35.s b/asm/object35.s index 586fc402..532c75c4 100644 --- a/asm/object35.s +++ b/asm/object35.s @@ -220,7 +220,7 @@ sub_0808B9D4: @ 0x0808B9D4 ldrb r2, [r2] bl SetTile ldr r0, _0808BA0C @ =0x0000010B - bl sub_08004488 + bl EnqueSFX _0808BA0A: pop {r4, pc} .align 2, 0 @@ -294,7 +294,7 @@ sub_0808BA6C: @ 0x0808BA6C movs r1, #2 bl sub_08083814 ldr r0, _0808BAA8 @ =0x0000010B - bl sub_08004488 + bl EnqueSFX ldr r0, _0808BAAC @ =0x00004022 adds r1, r4, #0 adds r1, #0x76 diff --git a/asm/object43.s b/asm/object43.s index a8cfb2a0..48912c1e 100644 --- a/asm/object43.s +++ b/asm/object43.s @@ -263,7 +263,7 @@ _0808E084: _0808E0B8: .4byte gScreenTransition _0808E0BC: ldr r0, _0808E140 @ =0x00000115 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #0x12 movs r2, #0 diff --git a/asm/object44.s b/asm/object44.s index a22a71ad..98dc9e54 100644 --- a/asm/object44.s +++ b/asm/object44.s @@ -113,7 +113,7 @@ _0808E340: cmp r0, #0 beq _0808E34E ldr r0, _0808E350 @ =0x0000018B - bl sub_08004488 + bl EnqueSFX _0808E34E: pop {r4, pc} .align 2, 0 diff --git a/asm/object64.s b/asm/object64.s index d6abbcb9..03c201f9 100644 --- a/asm/object64.s +++ b/asm/object64.s @@ -61,7 +61,7 @@ _08093E6A: cmp r0, #0 bne _08093E90 ldrh r0, [r2] - bl sub_08004488 + bl EnqueSFX _08093E90: ldrb r1, [r4, #0xb] movs r0, #0x20 diff --git a/asm/object6A.s b/asm/object6A.s index d8eb941e..8eb8d64d 100644 --- a/asm/object6A.s +++ b/asm/object6A.s @@ -637,7 +637,7 @@ _08094ED4: bl InitializeAnimation movs r0, #0xbf lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX b _08094F94 .align 2, 0 _08094F04: .4byte 0xFFFFE000 @@ -1992,7 +1992,7 @@ sub_08095954: @ 0x08095954 str r0, [r1] movs r0, #0x92 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r2, r5, #0 adds r2, #0x5a ldrb r1, [r2] diff --git a/asm/object87.s b/asm/object87.s index d90353d1..9ee385e3 100644 --- a/asm/object87.s +++ b/asm/object87.s @@ -67,7 +67,7 @@ _08099F70: bl InitializeAnimation movs r0, #0x92 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX b _0809A1B6 _08099F82: ldr r0, [r5, #0x50] diff --git a/asm/object8B.s b/asm/object8B.s index 5f7a52d7..ddaa9483 100644 --- a/asm/object8B.s +++ b/asm/object8B.s @@ -170,7 +170,7 @@ sub_0809B050: @ 0x0809B050 bl sub_0809B0B0 movs r0, #0x86 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0809B0A2: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/objectA0.s b/asm/objectA0.s index a831967c..4e8acfd6 100644 --- a/asm/objectA0.s +++ b/asm/objectA0.s @@ -114,7 +114,7 @@ sub_0809F1B0: @ 0x0809F1B0 adds r1, r5, #0 bl PositionRelative movs r0, #0xec - bl sub_08004488 + bl EnqueSFX b _0809F21E .align 2, 0 _0809F208: .4byte gUnk_08124684 diff --git a/asm/objectA8.s b/asm/objectA8.s index c4c396a8..5414d233 100644 --- a/asm/objectA8.s +++ b/asm/objectA8.s @@ -65,7 +65,7 @@ _0809FAE6: bl sub_0805E3A0 movs r0, #0x9b lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0809FB30: pop {pc} .align 2, 0 diff --git a/asm/objectBlockingStairs.s b/asm/objectBlockingStairs.s index ee7430eb..38850853 100644 --- a/asm/objectBlockingStairs.s +++ b/asm/objectBlockingStairs.s @@ -184,7 +184,7 @@ _08092FF2: movs r1, #0x50 bl sub_0805E4E0 ldr r0, _0809303C @ =0x0000010F - bl sub_08004488 + bl EnqueSFX adds r0, r6, #0 bl sub_08093248 b _080930E6 @@ -326,7 +326,7 @@ _08093104: strb r0, [r4, #0x15] strb r2, [r4, #0xe] ldr r0, _08093164 @ =0x0000010F - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_08093248 b _08093174 @@ -620,7 +620,7 @@ _0809334A: adds r1, r5, #0 bl sub_08093308 movs r0, #0x72 - bl sub_08004488 + bl EnqueSFX pop {r4, r5, pc} .align 2, 0 diff --git a/asm/objectD.s b/asm/objectD.s index 6ffdd754..f6f6cf5c 100644 --- a/asm/objectD.s +++ b/asm/objectD.s @@ -124,7 +124,7 @@ sub_080843F8: @ 0x080843F8 movs r2, #0 bl CreateFx ldr r0, _08084424 @ =0x0000010D - bl sub_08004488 + bl EnqueSFX _08084420: pop {pc} .align 2, 0 @@ -150,7 +150,7 @@ sub_08084428: @ 0x08084428 bl SetFlag movs r0, #0x86 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _08084454: pop {r4, pc} .align 2, 0 diff --git a/asm/objectOnPillar.s b/asm/objectOnPillar.s index 6829d195..344e6854 100644 --- a/asm/objectOnPillar.s +++ b/asm/objectOnPillar.s @@ -360,7 +360,7 @@ sub_08097098: @ 0x08097098 movs r0, #0x20 strh r0, [r1] adds r0, #0xef - bl sub_08004488 + bl EnqueSFX adds r0, r6, #0 adds r0, #0x70 ldrh r0, [r0] @@ -504,7 +504,7 @@ _080971B8: ldrh r0, [r0] bl SetFlag ldr r0, _080971D8 @ =0x0000010B - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_080971E0 movs r0, #1 diff --git a/asm/octorokBoss.s b/asm/octorokBoss.s index a6043de6..6bc4b9a0 100644 --- a/asm/octorokBoss.s +++ b/asm/octorokBoss.s @@ -244,7 +244,7 @@ _08035356: lsls r0, r0, #1 strh r0, [r5, #0x24] adds r0, r5, #0 - bl sub_080AEF88 + bl ProcessMovement adds r7, r5, #0 adds r7, #0x79 b _08035456 @@ -1952,7 +1952,7 @@ _080360A0: b _080360BE _080360B2: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _080360BE strb r0, [r5] @@ -1991,7 +1991,7 @@ sub_080360E8: @ 0x080360E8 cmp r0, #0 bne _08036178 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement movs r2, #0 ldrb r0, [r4, #0x15] cmp r0, #0 @@ -2884,7 +2884,7 @@ sub_08036764: @ 0x08036764 sub_080367B0: @ 0x080367B0 push {r4, r5, lr} adds r4, r0, #0 - bl sub_080AEF88 + bl ProcessMovement ldrh r0, [r4, #0x2a] cmp r0, #0 beq _0803683A @@ -3005,7 +3005,7 @@ sub_08036870: @ 0x08036870 strb r0, [r3, #0x15] strh r2, [r3, #0x2a] adds r0, r3, #0 - bl sub_080AEF88 + bl ProcessMovement b _080368D4 _080368AA: lsls r0, r1, #0x18 diff --git a/asm/octorokGolden.s b/asm/octorokGolden.s index d0af53ef..7366c687 100644 --- a/asm/octorokGolden.s +++ b/asm/octorokGolden.s @@ -135,7 +135,7 @@ _08037D26: movs r1, #2 bl UpdateAnimationVariableFrames adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _08037D40 adds r0, r4, #0 @@ -201,7 +201,7 @@ sub_08037D54: @ 0x08037D54 strh r0, [r2, #0x36] movs r0, #0x92 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX b _08037E0C .align 2, 0 _08037DBC: .4byte gUnk_080CF490 diff --git a/asm/pesto.s b/asm/pesto.s index 444b0ceb..63c9018b 100644 --- a/asm/pesto.s +++ b/asm/pesto.s @@ -394,7 +394,7 @@ _080241D8: _080241E4: adds r0, r4, #0 movs r1, #3 - bl sub_08049F64 + bl PlayerInRange cmp r0, #0 beq _08024220 adds r0, r4, #0 diff --git a/asm/picoBloom.s b/asm/picoBloom.s index 9447336e..6ce20de9 100644 --- a/asm/picoBloom.s +++ b/asm/picoBloom.s @@ -84,7 +84,7 @@ sub_08098AE8: @ 0x08098AE8 ands r0, r1 strb r0, [r4] ldr r0, _08098B0C @ =0x0000021B - bl sub_08004488 + bl EnqueSFX _08098B08: pop {r4, pc} .align 2, 0 diff --git a/asm/puffstool.s b/asm/puffstool.s index 1e5a87d6..cf03222f 100644 --- a/asm/puffstool.s +++ b/asm/puffstool.s @@ -154,7 +154,7 @@ _080250C2: _08025104: movs r0, #0xc3 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0802510C: ldr r1, _08025118 @ =gUnk_080CBF9C adds r0, r4, #0 @@ -1644,7 +1644,7 @@ sub_08025C44: @ 0x08025C44 b _08025C5E _08025C58: adds r0, r2, #0 - bl sub_080AEF88 + bl ProcessMovement _08025C5E: pop {pc} diff --git a/asm/pullableLever.s b/asm/pullableLever.s index 93c1257d..f9dc53c4 100644 --- a/asm/pullableLever.s +++ b/asm/pullableLever.s @@ -296,7 +296,7 @@ _080913E0: strb r5, [r1] movs r0, #0xcf lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0809142A: pop {r4, r5, r6, r7, pc} .align 2, 0 @@ -575,7 +575,7 @@ _080915E0: bhi _08091640 movs r0, #0x86 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r5, #0 adds r0, #0x86 ldrh r0, [r0] @@ -593,7 +593,7 @@ _08091640: movs r0, #0x10 strb r0, [r5, #0xf] adds r0, #0xff - bl sub_08004488 + bl EnqueSFX _08091656: add sp, #4 pop {r3, r4} diff --git a/asm/pushableFurniture.s b/asm/pushableFurniture.s index 13c9d1d7..fd04b86c 100644 --- a/asm/pushableFurniture.s +++ b/asm/pushableFurniture.s @@ -230,7 +230,7 @@ _0808FAF2: bne _0808FB0A movs r0, #0x86 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0808FB0A: ldrb r0, [r4, #0xa] cmp r0, #2 @@ -271,7 +271,7 @@ _0808FB3E: movs r0, #2 strb r0, [r4, #0xd] movs r0, #0x80 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_0808FF20 b _0808FB64 @@ -598,7 +598,7 @@ _0808FDB4: strb r0, [r4, #0xe] _0808FDB6: ldr r0, _0808FDE0 @ =0x0000010F - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_08090254 ldr r1, _0808FDE4 @ =gUnk_080B4488 diff --git a/asm/pushableGrave.s b/asm/pushableGrave.s index 89e6e5fb..00dcfd34 100644 --- a/asm/pushableGrave.s +++ b/asm/pushableGrave.s @@ -293,7 +293,7 @@ _080977BC: b _080977E4 _080977C8: movs r0, #0x72 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_080977F4 ldrb r0, [r4, #0xa] diff --git a/asm/pushableLever.s b/asm/pushableLever.s index 1109088d..e20940d6 100644 --- a/asm/pushableLever.s +++ b/asm/pushableLever.s @@ -62,7 +62,7 @@ sub_08098294: @ 0x08098294 bl SetTile movs r0, #0xb5 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #0x1e bl sub_0805E4E0 @@ -315,7 +315,7 @@ _08098492: bne _080984C2 movs r0, #0x82 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _080984C2: pop {r4, pc} .align 2, 0 diff --git a/asm/pushableRock.s b/asm/pushableRock.s index 299ab5e7..16ba39cb 100644 --- a/asm/pushableRock.s +++ b/asm/pushableRock.s @@ -114,7 +114,7 @@ _0808A598: adds r0, r4, #0 bl InitializeAnimation ldr r0, _0808A5C8 @ =0x0000010F - bl sub_08004488 + bl EnqueSFX b _0808A5DE .align 2, 0 _0808A5C8: .4byte 0x0000010F diff --git a/asm/pushableStatue.s b/asm/pushableStatue.s index 2e013531..4cc9ad88 100644 --- a/asm/pushableStatue.s +++ b/asm/pushableStatue.s @@ -463,7 +463,7 @@ sub_08089538: @ 0x08089538 movs r0, #0x20 strh r0, [r1] adds r0, #0xef - bl sub_08004488 + bl EnqueSFX adds r0, r5, #0 adds r0, #0x80 ldrh r0, [r0] diff --git a/asm/rope.s b/asm/rope.s index 49a1a076..c65ccb53 100644 --- a/asm/rope.s +++ b/asm/rope.s @@ -214,7 +214,7 @@ _080314CC: adds r0, r4, #0 bl UpdateSpriteForCollisionLayer movs r0, #0x84 - bl sub_08004488 + bl EnqueSFX _080314FA: pop {r4, pc} @@ -398,6 +398,6 @@ _08031652: _08031658: strh r0, [r4, #0x24] adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement pop {r4, pc} .align 2, 0 diff --git a/asm/ropeGolden.s b/asm/ropeGolden.s index 52f63737..00dced8a 100644 --- a/asm/ropeGolden.s +++ b/asm/ropeGolden.s @@ -152,7 +152,7 @@ _080382BC: movs r1, #2 bl UpdateAnimationVariableFrames adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _080382D6 adds r0, r4, #0 @@ -194,7 +194,7 @@ sub_08038304: @ 0x08038304 movs r1, #2 bl UpdateAnimationVariableFrames adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _08038334 adds r0, r4, #0 diff --git a/asm/scissorsBeetle.s b/asm/scissorsBeetle.s index 4c056268..04e7d56d 100644 --- a/asm/scissorsBeetle.s +++ b/asm/scissorsBeetle.s @@ -356,7 +356,7 @@ _08038B18: movs r1, #0 bl sub_08038C84 ldr r0, _08038B60 @ =0x0000015B - bl sub_08004488 + bl EnqueSFX _08038B5E: pop {r4, pc} .align 2, 0 @@ -366,7 +366,7 @@ _08038B60: .4byte 0x0000015B sub_08038B64: @ 0x08038B64 push {r4, lr} adds r4, r0, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl UpdateAnimationSingleFrame ldrb r0, [r4, #0xf] @@ -392,7 +392,7 @@ sub_08038B90: @ 0x08038B90 adds r4, r0, #0 bl UpdateAnimationSingleFrame adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl sub_0800445C pop {r4, pc} diff --git a/asm/sensorBladeTrap.s b/asm/sensorBladeTrap.s index 76fbeec6..f95f02b4 100644 --- a/asm/sensorBladeTrap.s +++ b/asm/sensorBladeTrap.s @@ -200,7 +200,7 @@ sub_0802BB10: @ 0x0802BB10 eors r1, r2 strb r1, [r0, #0x15] movs r0, #0x74 - bl sub_08004488 + bl EnqueSFX pop {pc} .align 2, 0 diff --git a/asm/sluggula.s b/asm/sluggula.s index 0b860cca..8ae3f9a9 100644 --- a/asm/sluggula.s +++ b/asm/sluggula.s @@ -141,7 +141,7 @@ sub_08023C5C: @ 0x08023C5C sub_08023C8C: @ 0x08023C8C push {r4, lr} adds r4, r0, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl GetNextFrame adds r0, r4, #0 @@ -240,7 +240,7 @@ _08023D48: adds r0, r4, #0 movs r1, #1 movs r2, #0x20 - bl sub_08049F64 + bl PlayerInRange cmp r0, #0 beq _08023E0A movs r0, #2 @@ -266,7 +266,7 @@ _08023D6E: cmp r0, #0 bne _08023E0A ldr r0, _08023D90 @ =0x0000012D - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #4 bl InitializeAnimation @@ -289,7 +289,7 @@ _08023D94: orrs r0, r1 strb r0, [r4, #0x18] movs r0, #0x84 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl UpdateSpriteForCollisionLayer b _08023E0A diff --git a/asm/smallIceBlock.s b/asm/smallIceBlock.s index 057ae10b..e851c0e6 100644 --- a/asm/smallIceBlock.s +++ b/asm/smallIceBlock.s @@ -104,7 +104,7 @@ sub_08099248: @ 0x08099248 strb r0, [r4, #0xc] strb r1, [r4, #0xe] ldr r0, _0809927C @ =0x000001B3 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_08099330 ldrb r0, [r4, #0xa] @@ -200,7 +200,7 @@ sub_08099310: @ 0x08099310 bl sub_08099468 movs r0, #0xd9 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0809932E: pop {r4, pc} @@ -406,7 +406,7 @@ sub_080994B8: @ 0x080994B8 push {r4, r5, r6, lr} adds r5, r0, #0 ldr r0, _08099530 @ =0x000001B1 - bl sub_08004488 + bl EnqueSFX adds r0, r5, #0 adds r0, #0x6c ldrh r0, [r0] diff --git a/asm/spark.s b/asm/spark.s index 8e296dbf..83bd9414 100644 --- a/asm/spark.s +++ b/asm/spark.s @@ -109,7 +109,7 @@ sub_0802B35C: @ 0x0802B35C adds r4, r0, #0 bl GetNextFrame adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement movs r3, #0 ldrb r0, [r4, #0xa] cmp r0, #0 diff --git a/asm/spearMoblin.s b/asm/spearMoblin.s index 78c68b1b..123692be 100644 --- a/asm/spearMoblin.s +++ b/asm/spearMoblin.s @@ -350,7 +350,7 @@ _080284B4: strb r0, [r4, #0x15] movs r0, #0x8f lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX b _0802850A _080284D2: strb r1, [r4, #0xc] @@ -477,7 +477,7 @@ _080285BC: cmp r0, #0 bne _080285D6 movs r0, #0xf0 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #2 movs r2, #0x40 @@ -500,7 +500,7 @@ _080285EE: cmp r0, #0x20 bls _080285FA adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement _080285FA: adds r0, r4, #0 bl GetNextFrame @@ -854,7 +854,7 @@ sub_08028858: @ 0x08028858 strh r0, [r4, #0x24] _08028890: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement adds r0, r4, #0 bl GetNextFrame pop {r4, pc} diff --git a/asm/specialFx.s b/asm/specialFx.s index 132bd8f9..27ece1b6 100644 --- a/asm/specialFx.s +++ b/asm/specialFx.s @@ -101,7 +101,7 @@ _0808456C: cmp r0, #0 bne _08084582 ldrh r0, [r4, #2] - bl sub_08004488 + bl EnqueSFX _08084582: ldrb r1, [r5, #0xb] movs r0, #0x80 diff --git a/asm/spikedBeetle.s b/asm/spikedBeetle.s index 1140c3d4..bcaf117b 100644 --- a/asm/spikedBeetle.s +++ b/asm/spikedBeetle.s @@ -196,7 +196,7 @@ _0802B780: b _0802B7A0 _0802B794: adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _0802B7A2 movs r0, #1 @@ -366,7 +366,7 @@ _0802B8CC: strb r0, [r4, #0xe] _0802B8D4: ldr r0, _0802B8DC @ =0x0000012B - bl sub_08004488 + bl EnqueSFX _0802B8DA: pop {r4, pc} .align 2, 0 @@ -419,7 +419,7 @@ _0802B91C: adds r0, r3, #0 bl InitializeAnimation ldr r0, _0802B944 @ =0x0000012B - bl sub_08004488 + bl EnqueSFX _0802B940: pop {r4, pc} .align 2, 0 diff --git a/asm/spinyBeetle.s b/asm/spinyBeetle.s index b65ad269..eab4f1c8 100644 --- a/asm/spinyBeetle.s +++ b/asm/spinyBeetle.s @@ -831,7 +831,7 @@ _08033DCE: cmp r0, #0x3e bls _08033DE2 adds r0, r6, #0 - bl sub_080AEF88 + bl ProcessMovement _08033DE2: pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/stalfos.s b/asm/stalfos.s index a8bb51a1..309afcfa 100644 --- a/asm/stalfos.s +++ b/asm/stalfos.s @@ -153,7 +153,7 @@ _08039390: strb r0, [r1, #0xb] movs r0, #0xc3 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX b _080393DC _080393CA: adds r0, r1, #0 @@ -162,7 +162,7 @@ _080393CA: strb r2, [r0] movs r0, #0xc3 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX str r4, [r5, #0x54] _080393DC: adds r0, r5, #0 @@ -404,7 +404,7 @@ sub_0803958C: @ 0x0803958C cmp r0, #0 bne _080395D4 adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 beq _080395C0 adds r0, r4, #0 @@ -452,7 +452,7 @@ sub_080395D8: @ 0x080395D8 movs r0, #0x5a strb r0, [r1] movs r0, #0x7d - bl sub_08004488 + bl EnqueSFX _08039602: pop {r4, pc} @@ -509,7 +509,7 @@ _0803963A: adds r0, r2, #0 bl sub_080399C4 ldr r0, _0803966C @ =0x0000014B - bl sub_08004488 + bl EnqueSFX _0803966A: pop {pc} .align 2, 0 @@ -764,7 +764,7 @@ _08039836: adds r0, r2, #0 bl InitAnimationForceUpdate ldr r0, _08039854 @ =0x0000012B - bl sub_08004488 + bl EnqueSFX pop {pc} .align 2, 0 _08039854: .4byte 0x0000012B @@ -1018,7 +1018,7 @@ sub_08039A20: @ 0x08039A20 movs r0, #0x3c strb r0, [r1] movs r0, #0xfb - bl sub_08004488 + bl EnqueSFX _08039A44: pop {r4, pc} .align 2, 0 diff --git a/asm/vaati.s b/asm/vaati.s index 172ccc8b..11f143cd 100644 --- a/asm/vaati.s +++ b/asm/vaati.s @@ -115,11 +115,11 @@ _08066B20: _08066B2A: movs r0, #0x87 lsls r0, r0, #2 - bl sub_08004488 + bl EnqueSFX b _08066B66 _08066B34: ldr r0, _08066B3C @ =0x0000021E - bl sub_08004488 + bl EnqueSFX b _08066B66 .align 2, 0 _08066B3C: .4byte 0x0000021E @@ -140,7 +140,7 @@ _08066B52: adds r0, r4, #0 bl sub_0805DE18 ldr r0, _08066B70 @ =0x0000021D - bl sub_08004488 + bl EnqueSFX _08066B66: ldrb r1, [r5] movs r0, #0x7f diff --git a/asm/vaatiArm.s b/asm/vaatiArm.s index 3324c7ec..33ac5c87 100644 --- a/asm/vaatiArm.s +++ b/asm/vaatiArm.s @@ -1418,7 +1418,7 @@ _08042FC2: ldr r0, [r0, #0xc] ldrb r1, [r4, #0x15] strb r1, [r0, #0x15] - bl sub_080AEF88 + bl ProcessMovement _08042FCE: pop {r3} mov r8, r3 @@ -3298,7 +3298,7 @@ _08043D92: cmp r2, #4 bls _08043D92 movs r0, #0xfe - bl sub_08004488 + bl EnqueSFX pop {r4, r5, pc} .align 2, 0 _08043DAC: .4byte gUnk_080D13E9 diff --git a/asm/vaatiEyesMacro.s b/asm/vaatiEyesMacro.s index 650c360c..cd272756 100644 --- a/asm/vaatiEyesMacro.s +++ b/asm/vaatiEyesMacro.s @@ -100,7 +100,7 @@ _0802ED0E: beq _0802ED24 movs r0, #0xbd lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX _0802ED24: ldrb r0, [r5] strb r0, [r6] @@ -123,7 +123,7 @@ _0802ED3E: cmp r0, #0xff beq _0802ED4E movs r0, #0xe5 - bl sub_08004488 + bl EnqueSFX _0802ED4E: movs r0, #0xff strb r0, [r5] @@ -528,7 +528,7 @@ sub_0802F04C: @ 0x0802F04C movs r1, #0x32 ldrsh r6, [r4, r1] adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement cmp r0, #0 bne _0802F06A adds r0, r4, #0 diff --git a/asm/vaatiProjectile.s b/asm/vaatiProjectile.s index 9e312e19..1be37b71 100644 --- a/asm/vaatiProjectile.s +++ b/asm/vaatiProjectile.s @@ -251,7 +251,7 @@ sub_0803E258: @ 0x0803E258 adds r0, r4, #0 movs r1, #0 movs r2, #8 - bl sub_08049F64 + bl PlayerInRange cmp r0, #0 beq _0803E280 movs r0, #2 diff --git a/asm/vaatiReborn.s b/asm/vaatiReborn.s index a3c8baf4..74b23e66 100644 --- a/asm/vaatiReborn.s +++ b/asm/vaatiReborn.s @@ -336,7 +336,7 @@ _0806B8C4: adds r0, #1 strb r0, [r5, #0xd] movs r0, #0xf4 - bl sub_08004488 + bl EnqueSFX movs r0, #0 strb r0, [r5, #0xe] _0806B8FA: diff --git a/asm/vaatiTransfigured.s b/asm/vaatiTransfigured.s index be7920c3..81a0d5b7 100644 --- a/asm/vaatiTransfigured.s +++ b/asm/vaatiTransfigured.s @@ -439,7 +439,7 @@ _0803FAAC: cmp r0, #0xff beq _0803FAB8 adds r0, r7, #0 - bl sub_080AEF88 + bl ProcessMovement _0803FAB8: adds r0, r7, #0 bl UpdateAnimationSingleFrame diff --git a/asm/vaatiWrath.s b/asm/vaatiWrath.s index 46a98812..e76f2e24 100644 --- a/asm/vaatiWrath.s +++ b/asm/vaatiWrath.s @@ -384,7 +384,7 @@ sub_08041618: @ 0x08041618 adds r0, r4, #0 bl UpdateAnimationSingleFrame adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement ldr r0, _0804165C @ =gRoomControls ldrh r2, [r0, #8] adds r0, r2, #0 diff --git a/asm/wallMaster.s b/asm/wallMaster.s index bf09db0b..da7410a1 100644 --- a/asm/wallMaster.s +++ b/asm/wallMaster.s @@ -243,7 +243,7 @@ sub_0802A5B8: @ 0x0802A5B8 cmp r0, #0 bne _0802A60E ldr r0, _0802A5E4 @ =0x0000012D - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 movs r1, #0 bl InitializeAnimation diff --git a/asm/warpPoint.s b/asm/warpPoint.s index 7f3eba57..46bf961b 100644 --- a/asm/warpPoint.s +++ b/asm/warpPoint.s @@ -110,7 +110,7 @@ _0808B4F8: strb r2, [r1, #0x14] movs r0, #0x89 lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX ldrb r1, [r4, #0xf] adds r1, #0x10 adds r0, r4, #0 @@ -142,7 +142,7 @@ _0808B554: movs r0, #0x3c strb r0, [r4, #0xf] adds r0, #0xd6 - bl sub_08004488 + bl EnqueSFX _0808B562: pop {r4, pc} diff --git a/asm/waterDrop.s b/asm/waterDrop.s index ab7e2153..664c8b9d 100644 --- a/asm/waterDrop.s +++ b/asm/waterDrop.s @@ -85,7 +85,7 @@ sub_0802A2B4: @ 0x0802A2B4 orrs r0, r1 strb r0, [r2] movs r0, #0x84 - bl sub_08004488 + bl EnqueSFX b _0802A2E2 _0802A2DC: adds r0, r4, #0 diff --git a/asm/windTribespeople.s b/asm/windTribespeople.s index dee2af5f..dd4e7087 100644 --- a/asm/windTribespeople.s +++ b/asm/windTribespeople.s @@ -147,7 +147,7 @@ sub_0806CA5C: @ 0x0806CA5C cmp r0, #0xa bne _0806CA7E movs r0, #0xe8 - bl sub_08004488 + bl EnqueSFX _0806CA7E: ldrh r0, [r4, #0x10] cmp r0, #0 diff --git a/asm/wizzrobeFire.s b/asm/wizzrobeFire.s index 944a21cb..da743284 100644 --- a/asm/wizzrobeFire.s +++ b/asm/wizzrobeFire.s @@ -292,7 +292,7 @@ _0802FD18: bl SetTile movs r0, #0xab lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX ldrb r1, [r4, #0x15] lsrs r1, r1, #3 adds r0, r4, #0 @@ -337,7 +337,7 @@ _0802FD94: strb r0, [r4, #0xe] movs r0, #0xab lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_0802F8E4 ldrb r1, [r4, #0x15] diff --git a/asm/wizzrobeIce.s b/asm/wizzrobeIce.s index c8cd1228..c0634a4c 100644 --- a/asm/wizzrobeIce.s +++ b/asm/wizzrobeIce.s @@ -319,7 +319,7 @@ _0802FFF0: bl SetTile movs r0, #0xab lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX ldrb r1, [r4, #0x15] lsrs r1, r1, #3 adds r0, r4, #0 @@ -364,7 +364,7 @@ _0803006C: strb r0, [r4, #0xe] movs r0, #0xab lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_0802F8E4 ldrb r1, [r4, #0x15] diff --git a/asm/wizzrobeWind.s b/asm/wizzrobeWind.s index 01d74385..4025a460 100644 --- a/asm/wizzrobeWind.s +++ b/asm/wizzrobeWind.s @@ -334,7 +334,7 @@ _0802F6F0: strb r0, [r4, #0x10] movs r0, #0xab lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 adds r0, #0x86 ldrh r0, [r0] @@ -389,7 +389,7 @@ _0802F76C: strb r0, [r4, #0xe] movs r0, #0xab lsls r0, r0, #1 - bl sub_08004488 + bl EnqueSFX adds r0, r4, #0 bl sub_0802F8E4 ldrb r1, [r4, #0x15] @@ -725,7 +725,7 @@ _0802FA20: cmp r0, #0 beq _0802FA3E adds r0, r4, #0 - bl sub_080AEF88 + bl ProcessMovement ldrh r0, [r4, #0x2a] cmp r0, #0 beq _0802FA3E diff --git a/include/entity.h b/include/entity.h index fc09651d..7440c198 100644 --- a/include/entity.h +++ b/include/entity.h @@ -169,6 +169,13 @@ extern void CopyPosition(Entity*, Entity*); extern void DeleteEntity(Entity*); extern void PositionRelative(Entity*, Entity*, s32, s32); +#define DirectionRound(expr) ((expr) & 0x18) +#define DirectionRoundUp(expr) DirectionRound((expr) + 4) +#define DirectionIsHorizontal(expr) ((expr) & 0x08) +#define DirectionIsVertical(expr) ((expr) & 0x10) +#define DirectionTurnHorizontal(expr) (DirectionRoundUp(expr) ^ 0x08) +#define DirectionTurnVertical(expr) (DirectionRoundUp(expr) ^ 0x10) + extern Entity gUnk_03003DA0; #endif diff --git a/include/functions.h b/include/functions.h index 8725e18e..adef870f 100644 --- a/include/functions.h +++ b/include/functions.h @@ -52,7 +52,7 @@ extern void sub_0806920C(Entity*); extern u32 sub_0805ACC0(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0806924C(Entity*); -extern u32 sub_080AEF88(Entity*); +extern u32 ProcessMovement(Entity*); extern Entity* sub_080873AC(Entity*, u32, u32); extern void sub_08078778(Entity*); extern void sub_080787A8(Entity*, u32); @@ -192,7 +192,7 @@ extern void sub_08001242(Entity*); extern u32 sub_08003FC4(Entity*, u32); extern u32 sub_080043E8(Entity*); extern void sub_08001290(Entity*, u32); -extern void sub_08004488(u32); +extern void EnqueSFX(u32); extern void sub_08004596(Entity*, u32); extern u32 sub_0807953C(void); extern void ResetPlayer(void); diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 98e6f254..03e02143 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -4,7 +4,6 @@ extern u32 sub_080002D4(s32, s32, u32); extern s32 sub_080012DC(Entity*); -extern void sub_08001324(Entity*); extern u32 sub_080044EC(Entity*, u32); extern u32 sub_08031E04(Entity*); extern void sub_08031E48(Entity*, Entity*); @@ -344,7 +343,7 @@ void sub_08031EE8(Entity* this) { if (this->height.HALF.HI < 1) { draw = this->spriteSettings.b.draw; if (!draw) - sub_08004488(299); + EnqueSFX(299); this->spriteSettings.b.draw = 1; } @@ -415,7 +414,7 @@ void sub_08032008(Entity* this) { this->spriteSettings.b.flipX = (this->direction >> 4 ^ 1); - sub_080AEF88(this); + ProcessMovement(this); } else { if (this->field_0x76.HALF.HI == 0) { if (sub_0806FCB8(this, parent->x.HALF.HI, parent->y.HALF.HI, 1) == 0) { diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index 3bdbfdad..a454402a 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -2,7 +2,7 @@ #include "functions.h" #include "player.h" -extern u32 sub_08049F64(Entity*, u32, u32); +extern u32 PlayerInRange(Entity*, u32, u32); u32 sub_08021D00(); void sub_08021D44(Entity* this, u32 param_2); @@ -86,7 +86,7 @@ void sub_08021888(Entity* this) { sub_08021818(this); } -void sub_0802189C(Entity* this) { +void Beetle_Initialize(Entity* this) { sub_0804A720(this); this->action = 1; this->field_0x1c = 1; @@ -131,7 +131,7 @@ void sub_08021984(Entity* this) { this->height.HALF.HI = -0x80; this->spriteRendering.b3 = 1; this->spriteOrientation.flipY = 1; - sub_08004488(0x12d); + EnqueSFX(0x12d); } if (sub_08003FC4(this, 0x1800) == 0) { @@ -178,7 +178,7 @@ void sub_08021A64(Entity* this) { } sub_08021D44(this, tmp); } - sub_080AEF88(this); + ProcessMovement(this); GetNextFrame(this); } } @@ -198,7 +198,7 @@ void sub_08021AD8(Entity* this) { return; } this->direction = (u8)tmp; - sub_08004488(0x7c); + EnqueSFX(0x7c); } sub_080AEFE0(this); if (!sub_08003FC4(this, 0x1800)) @@ -292,7 +292,7 @@ u32 sub_08021D00(Entity* this) { if (((u8*)&this->field_0x86)[0]) { ((u8*)&this->field_0x86)[0]--; ret = 0; - } else if (sub_08049F64(this, 1, 0x10) == 0) { + } else if (PlayerInRange(this, 1, 0x10) == 0) { ret = 0; } else { this->action = 4; @@ -305,11 +305,10 @@ u32 sub_08021D00(Entity* this) { return ret; } -void sub_08021D44(Entity* this, u32 param_2) { - param_2 += 4; - param_2 &= 0x18; - this->direction = param_2; - if (param_2 & 8) { +void sub_08021D44(Entity* this, u32 direction) { + direction = DirectionRoundUp(direction); + this->direction = direction; + if (DirectionIsHorizontal(direction)) { this->nonPlanarMovement = 0x180; } else { this->nonPlanarMovement = 0xc0; @@ -328,7 +327,7 @@ void (*const gUnk_080CB590[])(Entity*) = { }; void (*const gUnk_080CB5A8[])(Entity*) = { - sub_0802189C, + Beetle_Initialize, sub_080218B4, sub_08021A10, sub_08021A64, diff --git a/src/enemy/bladeTrap.c b/src/enemy/bladeTrap.c index 7f77861c..2229aec2 100644 --- a/src/enemy/bladeTrap.c +++ b/src/enemy/bladeTrap.c @@ -3,7 +3,7 @@ #include "room.h" extern void sub_080A2CC0(); extern void sub_0806F69C(); -extern void sub_08004488(); +extern void EnqueSFX(); extern Entity* GetCurrentRoomProperty(); void BladeTrap(Entity* ent) { @@ -27,7 +27,7 @@ void BladeTrap(Entity* ent) { *puVar3 = uVar1 - 1; if ((*puVar3) == 0) { if ((u16)(ent->direction & 0x80) == 0) { - sub_08004488(0x74); + EnqueSFX(0x74); } sub_080A2CC0((EntityData*)ent, &ent->attachedEntity, puVar3); } diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c index 8dc5948c..738d2c13 100644 --- a/src/enemy/chuchu.c +++ b/src/enemy/chuchu.c @@ -6,7 +6,7 @@ extern s32 sub_080012DC(Entity*); extern void sub_08001318(Entity*); extern void sub_080043A8(Entity*); extern u32 sub_08049F1C(Entity*, Entity*, u32); -extern u32 sub_08049F64(Entity*, u32, u32); +extern u32 PlayerInRange(Entity*, u32, u32); extern void sub_0804AA1C(Entity*); extern void sub_080AF160(Entity*); @@ -25,7 +25,7 @@ void sub_0801FB14(Entity*); void sub_0801FB34(Entity*); void sub_0801FB68(Entity*); u32 sub_0801FBD0(Entity*); -void sub_0801FBE4(Entity*); +void Chuchu_JumpAtPlayer(Entity*); extern void (*const gUnk_080012C8[])(Entity*); extern void (*const gUnk_080CA21C[])(Entity*); @@ -78,7 +78,7 @@ void Chuchu(Entity* this) { } } -void sub_0801EEE4(Entity* this) { +void Chuchu_OnTick(Entity* this) { switch (this->entityType.form) { case 0: sub_0801F3AC(this); @@ -193,13 +193,13 @@ void sub_0801F12C(Entity* this) { if ((this->field_0xf++ & 7) == 0) { this->direction = sub_08049F84(this, 1); } - sub_080AEF88(this); + ProcessMovement(this); GetNextFrame(this); if (--this->actionDelay == 0) { - if (sub_08049F64(this, 1, 0x38)) { + if (PlayerInRange(this, 1, 0x38)) { this->action = 4; - sub_0801FBE4(this); - } else if (sub_08049F64(this, 1, 0x48)) { + Chuchu_JumpAtPlayer(this); + } else if (PlayerInRange(this, 1, 0x48)) { this->actionDelay = (Random() & 3) + 0xc; } else { sub_0801F328(this); @@ -213,7 +213,7 @@ void sub_0801F1B0(Entity* this) { if (this->frames.all & 1) { this->frames.all ^= 1; this->damageType = 90; - sub_08004488(299); + EnqueSFX(299); } sub_080AEFE0(this); if (sub_08003FC4(this, 0x4000) == 0) @@ -313,7 +313,7 @@ void sub_0801F3AC(Entity* this) { return; if (sub_08049FDC(this, 1)) { - if (this->field_0x82.HALF.LO || sub_08049F64(this, 1, 0x48)) { + if (this->field_0x82.HALF.LO || PlayerInRange(this, 1, 0x48)) { if (this->action == 1) { this->action = 2; this->spriteSettings.b.draw = 1; @@ -377,10 +377,10 @@ void sub_0801F508(Entity* this) { sub_0801F730(this); } else { u8 tmp = ++this->actionDelay & 7; - if (tmp == 0 && sub_08049F64(this, 1, 0x38)) { + if (tmp == 0 && PlayerInRange(this, 1, 0x38)) { if (Random() & 1) { this->action = 5; - sub_0801FBE4(this); + Chuchu_JumpAtPlayer(this); } else { this->field_0x82.HALF.HI = 120; sub_0801F730(this); @@ -389,7 +389,7 @@ void sub_0801F508(Entity* this) { if (tmp == 4) { this->direction = sub_08049F84(this, 1); } - sub_080AEF88(this); + ProcessMovement(this); GetNextFrame(this); } } @@ -400,7 +400,7 @@ void sub_0801F584(Entity* this) { if (this->frames.all & 0x1) { this->frames.all ^= 1; this->damageType = 91; - sub_08004488(299); + EnqueSFX(299); } sub_080AEFE0(this); if (sub_08003FC4(this, 0x4000) == 0) @@ -493,7 +493,7 @@ void sub_0801F764(Entity* this) { if (sub_08049FDC(this, 1)) { if (this->action == 1) { - if (this->field_0x82.HALF.LO || sub_08049F64(this, 1, 0x48)) { + if (this->field_0x82.HALF.LO || PlayerInRange(this, 1, 0x48)) { this->action = 2; this->spriteSettings.b.draw = 1; this->field_0x82.HALF.LO = 1; @@ -520,7 +520,7 @@ void sub_0801F7FC(Entity* this) { if (sub_08049FDC(this, 1) == 0) return; - if (this->field_0x82.HALF.LO || sub_08049F64(this, 1, 0x48)) { + if (this->field_0x82.HALF.LO || PlayerInRange(this, 1, 0x48)) { this->action = 2; this->spriteSettings.b.draw = 1; this->field_0x82.HALF.LO = 1; @@ -548,7 +548,7 @@ void sub_0801F884(Entity* this) { ent->entityType.parameter = 64; this->action = 4; this->damageType = 165; - sub_08004488(0x193); + EnqueSFX(0x193); } } } @@ -562,12 +562,12 @@ void sub_0801F8C0(Entity* this) { u8 tmp = ++this->actionDelay & 7; if (tmp == 0 && sub_08049F1C(this, gUnk_020000B0, 0x38)) { this->action = 5; - sub_0801FBE4(this); + Chuchu_JumpAtPlayer(this); } else { if (tmp == 4) { this->direction = GetFacingDirection(this, gUnk_020000B0); } - sub_080AEF88(this); + ProcessMovement(this); GetNextFrame(this); } } @@ -577,7 +577,7 @@ void sub_0801F940(Entity* this) { if (this->frames.all & 0x10) { if (this->frames.all & 1) { this->frames.all ^= 1; - sub_08004488(299); + EnqueSFX(299); } sub_080AEFE0(this); if (sub_08003FC4(this, 0x4000) == 0) @@ -704,7 +704,7 @@ u32 sub_0801FBD0(Entity* this) { } } -void sub_0801FBE4(Entity* this) { +void Chuchu_JumpAtPlayer(Entity* this) { this->nonPlanarMovement = 0x180; this->field_0x20 = 0x20000; this->direction = sub_08049F84(this, 1); @@ -713,7 +713,7 @@ void sub_0801FBE4(Entity* this) { // clang-format off void (*const gUnk_080CA21C[])(Entity*) = { - sub_0801EEE4, + Chuchu_OnTick, sub_0801EF40, sub_0801F02C, sub_0801F048, diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c index 2fcfcc89..f1169ae7 100644 --- a/src/enemy/cuccoChickAggr.c +++ b/src/enemy/cuccoChickAggr.c @@ -49,10 +49,10 @@ void sub_08022988(Entity* this) { this->frameIndex = 1; this->field_0x20 = 0x10000; - sub_08004488(0xd6); + EnqueSFX(0xd6); } - sub_080AEF88(this); + ProcessMovement(this); if (sub_08003FC4(this, 0x2000) == 0) { if (--this->actionDelay == 0) { sub_08022A88(this); @@ -75,7 +75,7 @@ void sub_080229F8(Entity* this) { sub_08022B44(this); } else { this->field_0x20 = 0x10000; - sub_08004488(0xd6); + EnqueSFX(0xd6); } } } @@ -88,7 +88,7 @@ void sub_08022A40(Entity* this) { this->frameIndex = 1; } - sub_080AEF88(this); + ProcessMovement(this); if (sub_08003FC4(this, 0x2000) == 0) { if (--this->actionDelay == 0) { sub_08022A88(this); @@ -143,7 +143,7 @@ void sub_08022B44(Entity *this){ if (this->direction & 0xf) this->spriteSettings.b.flipX = (this->direction >> 4)^1; - sub_08004488(0xd6); + EnqueSFX(0xd6); } diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index f226026f..03c9c91e 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -17,7 +17,7 @@ u32 sub_080214FC(); void sub_08021540(); void sub_08021600(); void sub_080213B0(); -u32 sub_08049F64(); +u32 PlayerInRange(); u32 sub_0802169C(); void sub_0802124C(); void sub_08021644(); @@ -90,7 +90,7 @@ void sub_08020BB8(Entity* this) { } this->action = 10; sub_08021218(this, 0xb, this->animationState); - sub_08004488(0x15d); + EnqueSFX(0x15d); sub_08021588(this); break; case 0x4c: @@ -150,7 +150,7 @@ void sub_08020DD4(Entity* this) { } else { if (--this->actionDelay == 0) sub_08021540(this); - sub_080AEF88(this); + ProcessMovement(this); UpdateAnimationSingleFrame(this); } } @@ -178,13 +178,13 @@ void sub_08020E78(Entity* this) { } void sub_08020E98(Entity* this) { - if (sub_08049F64(this, 1, 0x38)) { + if (PlayerInRange(this, 1, 0x38)) { if (sub_0802169C(this, gUnk_020000B0)) { this->action = 8; sub_08021218(this, 7, this->animationState); } else { this->direction = GetFacingDirection(gUnk_020000B0, this); - if (sub_080AEF88(this) == 0) { + if (ProcessMovement(this) == 0) { this->action = 8; sub_08021218(this, 7, this->animationState); } else { @@ -198,7 +198,7 @@ void sub_08020E98(Entity* this) { sub_08021414(this); } else { this->direction = GetFacingDirection(this, gUnk_020000B0); - sub_080AEF88(this); + ProcessMovement(this); sub_0802124C(this); sub_08021644(this); } @@ -212,7 +212,7 @@ void sub_08020F28(Entity* this) { } void sub_08020F48(Entity* this) { - if (sub_08049F64(this, 1, 0x48)) { + if (PlayerInRange(this, 1, 0x48)) { if (sub_08021664(this, gUnk_020000B0)) { u32 uVar2 = sub_0804A044(this, gUnk_020000B0, 9); if (uVar2 == 0xff) { @@ -273,7 +273,7 @@ void sub_08021038(Entity* this) { pEVar2->parent = this; this->attachedEntity = pEVar2; } - sub_08004488(270); + EnqueSFX(270); } if (this->frames.all & 0x80) { @@ -295,7 +295,7 @@ void sub_080210A8(Entity* this) { if (this->frames.all & 1) { this->frames.all = 0; sub_08021588(this); - sub_08004488(349); + EnqueSFX(349); } else if (this->frames.all & 0x80) { sub_08021390(this); } @@ -313,12 +313,12 @@ void sub_080210E4(Entity* this) { this->attachedEntity = ent; } - sub_08004488(270); + EnqueSFX(270); } sub_08021644(this); if ((this->frames.all & 0x10) && - (!sub_080AEF88(this) || (this->attachedEntity && (this->attachedEntity->bitfield & 0x80)))) { + (!ProcessMovement(this) || (this->attachedEntity && (this->attachedEntity->bitfield & 0x80)))) { sub_080213D0(this, 0); } else { if (--this->field_0x76.HWORD == 0) @@ -516,7 +516,7 @@ void sub_08021424(Entity* this) { sub_080212B0(this); } else { this->direction = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, x, y); - if (!sub_080AEF88(this)) { + if (!ProcessMovement(this)) { sub_080212B0(this); } else { UpdateAnimationSingleFrame(this); @@ -575,13 +575,13 @@ void sub_0802159C(Entity* this) { ent->parent = this; this->attachedEntity = ent; } - sub_08004488(0x116); + EnqueSFX(0x116); } else if (this->frames.all == 2) { this->frames.all = 0; sub_08021588(this); } else if (this->frames.all & 0x20) { this->frames.all &= ~0x20; - sub_08004488(0x115); + EnqueSFX(0x115); } } @@ -596,7 +596,7 @@ void sub_08021600(Entity* this) { ent->parent = this; this->attachedEntity = ent; } - sub_08004488(0x10e); + EnqueSFX(0x10e); } else if (this->frames.all == 2) { this->frames.all = 0; sub_08021588(this); @@ -606,7 +606,7 @@ void sub_08021600(Entity* this) { void sub_08021644(Entity* this) { if (this->frames.all & 0x20) { this->frames.all &= ~0x20; - sub_08004488(0x7d); + EnqueSFX(0x7d); } } diff --git a/src/enemy/doorMimic.c b/src/enemy/doorMimic.c index 587ce521..5d5ca031 100644 --- a/src/enemy/doorMimic.c +++ b/src/enemy/doorMimic.c @@ -102,7 +102,7 @@ void sub_080220F0(Entity* this) { fx->y.HALF.HI += off->v; } } - sub_08004488(260); + EnqueSFX(260); } else if (this->frames.all & 1) { this->field_0x44 = 4; } diff --git a/src/enemy/hangingSeed.c b/src/enemy/hangingSeed.c index cd204a6e..f819287f 100644 --- a/src/enemy/hangingSeed.c +++ b/src/enemy/hangingSeed.c @@ -1,14 +1,14 @@ #include "entity.h" #include "functions.h" -extern void (*const gUnk_080CB570[])(Entity*); +extern void (*const gHangingSeedFunctions[])(Entity*); extern void (*const gUnk_080CB588[])(Entity*); void HangingSeed(Entity* this) { - EnemyFunctionHandler(this, gUnk_080CB570); + EnemyFunctionHandler(this, gHangingSeedFunctions); } -void sub_080216E4(Entity* this) { +void HangingSeed_OnTick(Entity* this) { gUnk_080CB588[this->action](this); } @@ -20,9 +20,10 @@ void sub_080216FC(Entity* this) { } void nullsub_7(Entity* this) { + /* ... */ } -void sub_08021720(Entity* this) { +void HangingSeed_Initialize(Entity* this) { this->action = 1; this->spriteSettings.b.draw = 1; this->frameIndex = this->entityType.form; @@ -30,12 +31,13 @@ void sub_08021720(Entity* this) { this->spritePriority.b0 = 3; } -void nullsub_08(Entity* this) { +void HangingSeed_Hang(Entity* this) { + /* ... */ } // clang-format off -void (*const gUnk_080CB570[])(Entity*) = { - sub_080216E4, +void (*const gHangingSeedFunctions[])(Entity*) = { + HangingSeed_OnTick, sub_080216FC, sub_08001324, sub_0804A7D4, @@ -44,8 +46,8 @@ void (*const gUnk_080CB570[])(Entity*) = { }; void (*const gUnk_080CB588[])(Entity*) = { - sub_08021720, - nullsub_08, + HangingSeed_Initialize, + HangingSeed_Hang, }; // clang-format on diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index 94c2ab33..afc0e4b6 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -34,7 +34,7 @@ void sub_080323DC(Entity* this) { void sub_080323F4(Entity* this) { u32 var; - if ((u8)(this->action - 3) >= 2) { + if (this->action != 3 && this->action != 4) { this->action = 3; this->actionDelay = 0xC; var = ((this->field_0x3e + 4) & 0x18) ^ 0x10; @@ -69,7 +69,7 @@ void sub_0803248C(Entity* this) { if (this->actionDelay == 0) { sub_08032650(this); } - if (sub_080AEF88(this) == 0) { + if (ProcessMovement(this) == 0) { this->actionDelay = 1; } UpdateAnimationSingleFrame(this); diff --git a/src/enemy/keese.c b/src/enemy/keese.c index 14f5c520..d73475f3 100644 --- a/src/enemy/keese.c +++ b/src/enemy/keese.c @@ -10,31 +10,36 @@ extern void sub_0806F4E8(Entity*); extern u32 sub_0806F3E4(Entity*); extern void sub_0804A7D4(Entity*); extern void sub_0804A720(Entity*); -extern void sub_08021EF0(Entity*); +extern void Keese_StartFly(Entity*); extern void sub_080AEFB4(Entity*); extern void sub_08021F24(Entity*); extern u32 sub_0806FCB8(Entity*, s32, s32, u32); extern u32 sub_08049FA0(Entity*); extern u32 sub_08049EE4(Entity*); -extern void (*const gUnk_080CB69C[])(Entity*); -extern void (*const gUnk_080CB6B4[])(Entity*); +extern void (*const gKeeseFunctions[])(Entity*); +extern void (*const gKeeseActions[])(Entity*); extern void (*const gUnk_080CB6C4[])(Entity*); -extern const s8 gUnk_080CB6D0[]; -extern const u16 gUnk_080CB6D6[]; -extern const u8 gUnk_080CB6F6[]; +extern const s8 gKeeseSpriteOffsets[]; +extern const u16 gKeeseFlyDurations[]; +extern const u8 gKeeseRestDurations[]; + +enum { + KeeseAnimation_Fly, + KeeseAnimation_Rest, +}; void Keese(Entity* this) { - gUnk_080CB69C[GetNextFunction(this)](this); + gKeeseFunctions[GetNextFunction(this)](this); } -void sub_08021D80(Entity* this) { - gUnk_080CB6B4[this->action](this); +void Keese_OnTick(Entity* this) { + gKeeseActions[this->action](this); } void sub_08021d98(Entity* this) { - sub_0804AA30(this, gUnk_080CB69C); + sub_0804AA30(this, gKeeseFunctions); } void sub_08021DA8(Entity* this) { @@ -57,10 +62,9 @@ void sub_08021DDC(Entity* this) { } } -void sub_08021DF0(Entity* this) { - +void Keese_Initialize(Entity* this) { sub_0804A720(this); - if ((this->entityType).form != 0) { + if (this->entityType.form != 0) { this->spritePriority.b1 = 1; this->height.HALF.HI = -0x10; } @@ -69,15 +73,15 @@ void sub_08021DF0(Entity* this) { this->spritePriority.b0 = 3; this->collisionLayer = 3; UpdateSpriteForCollisionLayer(this); - sub_08021EF0(this); + Keese_StartFly(this); } -void sub_08021E4C(Entity* this) { +void Keese_Fly(Entity* this) { if (this->field_0x78.HWORD != 0) { this->field_0x78.HWORD--; } if (this->field_0x7a.HWORD != 0) { - (this->field_0x7a.HWORD)--; + this->field_0x7a.HWORD--; } GetNextFrame(this); if ((this->frames.b.f3) != 0) { @@ -85,62 +89,54 @@ void sub_08021E4C(Entity* this) { } else { sub_080AEFB4(this); } - this->spriteOffsetY = gUnk_080CB6D0[this->frames.all]; + this->spriteOffsetY = gKeeseSpriteOffsets[this->frames.all]; } -void sub_08021EA4(Entity* this) { +void Keese_Rest(Entity* this) { if (--this->actionDelay == 0) { - sub_08021EF0(this); + Keese_StartFly(this); } } -void sub_08021EBC(Entity* this) { - s32 iVar1; - +void Keese_Sleep(Entity* this) { if (this->actionDelay != 0) { this->actionDelay--; } else { - iVar1 = sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x70); - if (iVar1 != 0) { - sub_08021EF0(this); - } + if (sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x70)) + Keese_StartFly(this); } } -void sub_08021EF0(Entity* this) { - u32 uVar1; - +void Keese_StartFly(Entity* this) { this->action = 1; - this->field_0x78.HWORD = gUnk_080CB6D6[Random() & 0xf]; - this->field_0x7a.HWORD = 0x3c; - InitializeAnimation(this, 0); + this->field_0x78.HWORD = gKeeseFlyDurations[Random() & 0xf]; + this->field_0x7a.HWORD = 60; + InitializeAnimation(this, KeeseAnimation_Fly); } void sub_08021F24(Entity* this) { - u32 bVar1; - if (this->field_0x78.HWORD == 0) { this->action = 2; - this->actionDelay = gUnk_080CB6F6[Random() & 0xf]; - InitializeAnimation(this, 1); + this->actionDelay = gKeeseRestDurations[Random() & 0xf]; + InitializeAnimation(this, KeeseAnimation_Rest); } else if (!this->field_0x7a.HWORD && !(sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x70))) { this->action = 3; - this->actionDelay = 0x1e; - InitializeAnimation(this, 1); + this->actionDelay = 30; + InitializeAnimation(this, KeeseAnimation_Rest); } else { if (sub_08049FA0(this) != 0) { this->direction = Random() & 0x1f; } else { this->direction = sub_08049EE4(this); } - InitializeAnimation(this, 0); + InitializeAnimation(this, KeeseAnimation_Fly); } } // clang-format off -void (*const gUnk_080CB69C[])(Entity*) = { - sub_08021D80, +void (*const gKeeseFunctions[])(Entity*) = { + Keese_OnTick, sub_08021d98, sub_08001328, sub_0804A7D4, @@ -148,11 +144,11 @@ void (*const gUnk_080CB69C[])(Entity*) = { sub_08021DA8, }; -void (*const gUnk_080CB6B4[])(Entity*) = { - sub_08021DF0, - sub_08021E4C, - sub_08021EA4, - sub_08021EBC, +void (*const gKeeseActions[])(Entity*) = { + Keese_Initialize, + Keese_Fly, + Keese_Rest, + Keese_Sleep, }; void (*const gUnk_080CB6C4[])(Entity*) = { @@ -161,16 +157,16 @@ void (*const gUnk_080CB6C4[])(Entity*) = { sub_08021DDC, }; -const s8 gUnk_080CB6D0[] = { +const s8 gKeeseSpriteOffsets[] = { 1, -2, -5, -2, 1, 0, }; -const u16 gUnk_080CB6D6[] = { +const u16 gKeeseFlyDurations[] = { 180, 180, 300, 300, 300, 300, 300, 300, 480, 480, 480, 480, 480, 480, 720, 720, }; -const u8 gUnk_080CB6F6[] = { +const u8 gKeeseRestDurations[] = { 30, 30, 45, 45, 45, 45, 45, 45, 60, 60, 60, 60, 60, 60, 75, 75, }; diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index 585ec102..b4bbc198 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -50,7 +50,7 @@ extern u32 sub_080041A0(Entity *, Entity *, u32, u32); extern u32 GetFacingDirection(Entity *, Entity *); // sub_0803CB64 -extern void sub_08004488(u32); +extern void EnqueSFX(u32); typedef struct { s8 x; @@ -344,7 +344,7 @@ void sub_0803CB64(Entity *this) { PositionRelative(this, cloud, offset->x << 16, offset->y << 16); - sub_08004488(0x193); + EnqueSFX(0x193); } void sub_0803CBAC(Entity *this) { diff --git a/src/enemy/leever.c b/src/enemy/leever.c index 2a3b621f..959d8617 100644 --- a/src/enemy/leever.c +++ b/src/enemy/leever.c @@ -8,27 +8,39 @@ extern void sub_0804AA30(Entity*, void (*const func[])(Entity*)); extern void sub_0804A7D4(Entity*); extern Entity* CreateDeathFx(Entity*, u32, u32); extern void sub_0804A720(Entity*); -bool32 sub_0801FE68(Entity*, s32); -extern void sub_0801FED4(Entity*); extern u32 sub_080002D4(s32, s32, u32); extern u32 sub_080002BC(s32, s32, u32); extern u32 sub_08049FDC(Entity*, u32); -bool32 sub_0801FDE4(Entity*, s32, s32); -extern void (*const gUnk_080CA49C[])(Entity*); -extern void (*const gUnk_080CA4B4[])(Entity*); extern Entity* gUnk_020000B0; -extern const u8 gUnk_080CA4C8[]; -extern const u16 gUnk_080CA4CA[]; extern s16 gSineTable[]; +bool32 Leever_PlayerInRange(Entity*, s32); +void Leever_Move(Entity*); + +extern void (*const gLeeverFunctions[])(Entity*); +extern void (*const gLeeverActions[])(Entity*); +extern const s8 gLeeverDrift[]; +extern const u16 gUnk_080CA4CA[]; + +enum { + LeeverAnimation_DigUp, + LeeverAnimation_DigDown, + LeeverAnimation_Attack, +}; + +enum { + LeeverForm_Red, + LeeverForm_Blue, +}; + void Leever(Entity* this) { - EnemyFunctionHandler(this, gUnk_080CA49C); + EnemyFunctionHandler(this, gLeeverFunctions); SetChildOffset(this, 0, 1, -0x10); } -void sub_0801FC28(Entity* this) { - gUnk_080CA4B4[this->action](this); +void Leever_OnTick(Entity* this) { + gLeeverActions[this->action](this); } void sub_0801FC40(Entity* this) { @@ -41,30 +53,30 @@ void sub_0801FC40(Entity* this) { sub_0804A9FC(this, 0x1c); } } - sub_0804AA30(this, gUnk_080CA49C); + sub_0804AA30(this, gLeeverFunctions); } void sub_0801FC7C(Entity* this) { - if ((this->entityType).form == 0) { + if (this->entityType.form == LeeverForm_Red) { sub_0804A7D4(this); } else { CreateDeathFx(this, 0xf1, 0); } } -void sub_0801FC9C(Entity* this) { +void Leever_Initialize(Entity* this) { sub_0804A720(this); this->action = 1; this->actionDelay = Random(); } -void sub_0801FCB0(Entity* this) { +void Leever_Idle(Entity* this) { if (--this->actionDelay == 0) { - if (sub_0801FE68(this, Random() & 0x1f) != 0) { + if (Leever_PlayerInRange(this, Random() & 0x1f)) { this->action = 2; this->spriteSettings.b.draw = TRUE; - this->direction = (GetFacingDirection(this, gUnk_020000B0) + gUnk_080CA4C8[Random() & 1]) & 0x1f; - InitializeAnimation(this, 0); + this->direction = (GetFacingDirection(this, gUnk_020000B0) + gLeeverDrift[Random() & 1]) & 0x1f; + InitializeAnimation(this, LeeverAnimation_DigUp); UpdateSpriteForCollisionLayer(this); } else { this->actionDelay = (Random() & 0x18) + 8; @@ -72,38 +84,36 @@ void sub_0801FCB0(Entity* this) { } } -void sub_0801FD2C(Entity* this) { - +void Leever_DigUp(Entity* this) { GetNextFrame(this); if (this->frames.b.f3 != 0) { this->action = 3; - if (this->entityType.form == 0) { - this->field_0x74.HWORD = 0xb4; + if (this->entityType.form == LeeverForm_Red) { + this->field_0x74.HWORD = 180; } else { - this->field_0x74.HWORD = 0x6e; + this->field_0x74.HWORD = 110; } - InitializeAnimation(this, 2); + InitializeAnimation(this, LeeverAnimation_Attack); } else if (this->frames.b.f0 != 0) { this->frames.all &= 0xfe; this->flags |= 0x80; } } -void sub_0801FD80(Entity* this) { - - sub_0801FED4(this); +void Leever_Attack(Entity* this) { + Leever_Move(this); GetNextFrame(this); if (--this->field_0x74.HWORD == 0) { this->action = 4; this->flags &= 0x7f; - InitializeAnimation(this, 1); + InitializeAnimation(this, LeeverAnimation_DigDown); } } -void sub_0801FDB4(Entity* this) { - sub_0801FED4(this); +void Leever_DigDown(Entity* this) { + Leever_Move(this); GetNextFrame(this); if ((this->frames.b.f3) != 0) { this->action = 1; @@ -132,7 +142,7 @@ u32 sub_0801FDE4(Entity* ent, s32 x, s32 y) { } } -bool32 sub_0801FE68(Entity* ent, s32 arg2) { +bool32 Leever_PlayerInRange(Entity* ent, s32 arg2) { s32 sin, cos; s32 x, y; u32 i; @@ -157,48 +167,46 @@ bool32 sub_0801FE68(Entity* ent, s32 arg2) { extern u32 sub_0800132C(Entity*, Entity*); -void sub_0801FED4(Entity* this) { - s16 sVar2; - +void Leever_Move(Entity* this) { if (sub_08049FDC(this, 1) == 0) { this->field_0x74.HWORD = 1; } - sVar2 = (this->frames.all & 0xf) * 0x20; - this->nonPlanarMovement = sVar2; - if (this->entityType.form == 0) { + + this->nonPlanarMovement = (this->frames.all & 0xf) * 0x20; + if (this->entityType.form == LeeverForm_Red) { if ((this->field_0xf++ & 0xf) == 0) { sub_08004596(this, sub_0800132C(this, gUnk_020000B0)); } } else { - this->nonPlanarMovement = sVar2 + 0x40; + this->nonPlanarMovement += 0x40; if ((this->field_0xf++ & 0x7) == 0) { sub_08004596(this, sub_0800132C(this, gUnk_020000B0)); } } - sub_080AEF88(this); + + ProcessMovement(this); } // clang-format off -void (*const gUnk_080CA49C[])(Entity*) = { - sub_0801FC28, +void (*const gLeeverFunctions[])(Entity*) = { + Leever_OnTick, sub_0801FC40, sub_08001324, sub_0801FC7C, sub_08001242, - sub_0801FC28, + Leever_OnTick, }; -void (*const gUnk_080CA4B4[])(Entity*) = { - sub_0801FC9C, - sub_0801FCB0, - sub_0801FD2C, - sub_0801FD80, - sub_0801FDB4, +void (*const gLeeverActions[])(Entity*) = { + Leever_Initialize, + Leever_Idle, + Leever_DigUp, + Leever_Attack, + Leever_DigDown, }; -const u8 gUnk_080CA4C8[] = { - 0x06, - 0xFA, +const s8 gLeeverDrift[] = { + 6, -6, }; const u16 gUnk_080CA4CA[] = { diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 64c9c089..70b1a029 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -87,7 +87,7 @@ void sub_080452FC(Entity *this) { } void sub_08045374(Entity* this) { - sub_080AEF88(this); + ProcessMovement(this); GetNextFrame(this); if (--this->actionDelay == 0) this->action = 1; diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c index 530eeae1..3338a15a 100644 --- a/src/enemy/moldorm.c +++ b/src/enemy/moldorm.c @@ -96,7 +96,7 @@ void sub_08022D40(Entity* this) { } } else { sub_08022F14(this); - sub_080AEF88(this); + ProcessMovement(this); if (this->collisions) { sub_0800417E(this, this->collisions); diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index 90e53a23..3b9fe027 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -6,24 +6,25 @@ extern void EnemyFunctionHandler(); extern void SetChildOffset(); extern void sub_0804AA30(); extern void sub_0804A7D4(); -extern void sub_0801ECFC(); extern u32 sub_0806F520(); extern void sub_0806F4E8(); extern void UpdateAnimationVariableFrames(); extern void sub_0804A720(); extern u32 Random(); -extern void sub_0801ED14(); -extern u32 sub_0801EDEC(); extern Entity* sub_08049DF4(u32); +void Octorok_Pause(); +bool32 Octorok_FacesPlayer(); +void Octorok_Turn(); + extern void (*const gOctorok[6])(Entity*); -extern void (*const gOctorokIdle[4])(Entity*); +extern void (*const gOctorokActions[4])(Entity*); extern void (*const gUnk_080CA158[6])(Entity*); extern Entity* gUnk_020000B0; -extern const u8 gUnk_080CA170[4]; -extern const u8 gUnk_080CA174[2]; -extern const u8 gUnk_080CA176[8]; +extern const u8 gOctorokWalkDuration[4]; +extern const u8 gOctorokSpitChanceModifier[2]; +extern const u8 gOctorokNutOffset[8]; extern const s8 gUnk_080CA17E[2]; // Main @@ -33,8 +34,8 @@ void Octorok(Entity* this) { } // Idle -void sub_0801EAD0(Entity* this) { - gOctorokIdle[this->action](this); +void Octorok_OnTick(Entity* this) { + gOctorokActions[this->action](this); } // Touch player @@ -47,7 +48,7 @@ void sub_0801EAE8(Entity* this) { // Death void sub_0801EB0C(Entity* this) { - if ((this->entityType).form == 0) { + if (this->entityType.form == 0) { sub_0804A7D4(this); } else { CreateDeathFx(this, 241, 0); @@ -55,10 +56,8 @@ void sub_0801EB0C(Entity* this) { } void sub_0801EB2C(Entity* this) { - s32 iVar1; - - if ((this->previousActionFlag < 3) && (iVar1 = sub_0806F520(this), iVar1 == 0)) { - sub_0801ECFC(this); + if (this->previousActionFlag < 3 && !sub_0806F520(this)) { + Octorok_Pause(this); InitializeAnimation(this, this->animationState); } else { gUnk_080CA158[this->previousActionFlag](this); @@ -84,6 +83,7 @@ void sub_0801EB84(Entity* this) { } void nullsub_3(Entity* this) { + /* ... */ } void sub_0801EB9C(Entity* this) { @@ -96,7 +96,7 @@ void sub_0801EB9C(Entity* this) { } // Init -void sub_0801EBC8(Entity* this) { +void Octorok_Initialize(Entity* this) { sub_0804A720(this); if (this->entityType.form == 2) { this->animationState = this->entityType.form; @@ -104,105 +104,103 @@ void sub_0801EBC8(Entity* this) { this->animationState = Random() & 3; } this->field_0x1c = 18; - sub_0801ECFC(this); + Octorok_Pause(this); InitializeAnimation(this, this->animationState); } -void sub_0801EBF4(Entity* this) { - u32 uVar2; - +void Octorok_Idle(Entity* this) { if (--this->actionDelay == 0) { this->action = 2; - uVar2 = Random(); - this->actionDelay = gUnk_080CA170[uVar2 & 3]; - sub_0801ED14(this); + this->actionDelay = gOctorokWalkDuration[Random() & 3]; + Octorok_Turn(this); } GetNextFrame(this); } -void sub_0801EC2C(Entity* this) { - sub_080AEF88(this); +void Octorok_Move(Entity* this) { + ProcessMovement(this); GetNextFrame(this); if (--this->actionDelay == 0) { - if (sub_0801EDEC(this) && gUnk_080CA174[this->entityType.form] <= (Random() & 3)) { + if (Octorok_FacesPlayer(this) && gOctorokSpitChanceModifier[this->entityType.form] <= (Random() & 3)) { this->action = 3; InitializeAnimation(this, this->animationState + 4); } else { - sub_0801ECFC(this); + Octorok_Pause(this); } } } -void sub_0801EC80(Entity* this) { +void Octorok_ShootNut(Entity* this) { GetNextFrame(this); if (this->frames.all & 1) { Entity* ent = sub_0804A98C(this, 1, 0); if (ent) { const s8* off; ent->direction = this->direction; - off = &gUnk_080CA176[this->direction / 4]; + off = &gOctorokNutOffset[this->direction / 4]; ent->x.HALF.HI += off[0]; ent->y.HALF.HI += off[1]; ent->height.HALF.HI = -3; this->frames.all &= 0xfe; - sub_08004488(0x18d); + EnqueSFX(0x18d); } } if (this->frames.all & 0x80) - sub_0801ECFC(this); + Octorok_Pause(this); } -void sub_0801ECFC(Entity* this) { +void Octorok_Pause(Entity* this) { this->action = 1; this->actionDelay = (Random() & 0x38) + 0x18; } -void sub_0801ED14(Entity* this) { +void Octorok_Turn(Entity* this) { if (this->entityType.form != 2) { if (sub_08049FA0(this)) { if (this->entityType.form == 1 && (Random() & 3) == 0 && sub_08049FDC(this, 1)) { - this->direction = (GetFacingDirection(this, gUnk_020000B0) + 4) & 0x18; + this->direction = DirectionRoundUp(GetFacingDirection(this, gUnk_020000B0)); } else { - this->direction = Random() & 0x18; + this->direction = DirectionRound(Random()); } - } else if ((Random() & 3)) { - this->direction = (sub_08049EE4(this) + gUnk_080CA17E[Random() & 1]) & 0x18; + } else if (Random() & 3) { + this->direction = DirectionRound(sub_08049EE4(this) + gUnk_080CA17E[Random() & 1]); } else { - this->direction = Random() & 0x18; + this->direction = DirectionRound(Random()); } } else { if (sub_08049FDC(this, 1) == 0) { if (sub_08049FA0(this)) { - this->direction = Random() & 0x18; + this->direction = DirectionRound(Random()); } else if (Random() & 3) { - this->direction = (sub_08049EE4(this) + gUnk_080CA17E[Random() & 1]) & 0x18; + this->direction = DirectionRound(sub_08049EE4(this) + gUnk_080CA17E[Random() & 1]); } else { - this->direction = (GetFacingDirection(this, gUnk_020000B0) + 4) & 0x18; + this->direction = DirectionRoundUp(GetFacingDirection(this, gUnk_020000B0)); } } else { - this->direction = (GetFacingDirection(this, gUnk_020000B0) + 4) & 0x18; + this->direction = DirectionRoundUp(GetFacingDirection(this, gUnk_020000B0)); } } + this->animationState = this->direction >> 3; InitializeAnimation(this, this->animationState); } -u32 sub_0801EDEC(Entity* this) { +bool32 Octorok_FacesPlayer(Entity* this) { Entity* ent = sub_08049DF4(1); if (ent == NULL) - return 0; + return FALSE; - if (((GetFacingDirection(this, ent) + 4) & 0x18) != this->direction) - return 0; + if (DirectionRoundUp(GetFacingDirection(this, ent)) != this->direction) + return FALSE; - return 1; + return TRUE; } // clang-format off void (*const gOctorok[])(Entity*) = { - sub_0801EAD0, + Octorok_OnTick, sub_0801EAE8, sub_08001324, sub_0801EB0C, @@ -210,11 +208,11 @@ void (*const gOctorok[])(Entity*) = { sub_0801EB2C, }; -void (*const gOctorokIdle[])(Entity*) = { - sub_0801EBC8, - sub_0801EBF4, - sub_0801EC2C, - sub_0801EC80, +void (*const gOctorokActions[])(Entity*) = { + Octorok_Initialize, + Octorok_Idle, + Octorok_Move, + Octorok_ShootNut, }; void (*const gUnk_080CA158[])(Entity*) = { @@ -226,31 +224,19 @@ void (*const gUnk_080CA158[])(Entity*) = { sub_0801EB9C, }; -const u8 gUnk_080CA170[] = { - 30, - 60, - 60, - 90, +const u8 gOctorokWalkDuration[] = { + 30, 60, 60, 90, }; -const u8 gUnk_080CA174[] = { - 1, - 0, +const u8 gOctorokSpitChanceModifier[] = { + 1, 0, }; -const u8 gUnk_080CA176[] = { - 0x00, - 0xFD, - 0x04, - 0x00, - 0x00, - 0x02, - 0xFC, - 0x00, +const u8 gOctorokNutOffset[] = { + 0, -3, 4, 0, 0, 2, -4, 0, }; const s8 gUnk_080CA17E[] = { - 0x04, - 0xFC, + 4, -4, }; // clang-format on diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index 728a7837..66ff3199 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -1,12 +1,12 @@ #include "entity.h" #include "functions.h" -extern void (*const gUnk_080CA570[])(Entity*); -extern void (*const gUnk_080CA588[])(Entity*); -extern void (*const gUnk_080CA590[])(Entity*); +extern void (*const gPeahatFunctions[])(Entity*); +extern void (*const gPeahatPropellerFunctions[])(Entity*); +extern void (*const gPeahatActions[])(Entity*); extern void (*const gUnk_080CA5BC[])(Entity*); -extern const s8 gUnk_080CA5B8[]; +extern const s8 gPeahatFlightHeights[]; extern const s8 gUnk_080CA5D4[]; void sub_080205F8(Entity*); @@ -18,45 +18,59 @@ extern void sub_0804AA1C(Entity*); extern Entity* gUnk_020000B0; +enum { + PeahatForm_Torso, + PeahatForm_Propeller, +}; + +enum { + PeahatAnimation_Flying, + PeahatAnimation_BrokenPropeller, + PeahatAnimation_SlicedPropeller, + PeahatAnimation_Propeller, + PeahatAnimation_NewPropeller, + PeahatAnimation_RepairPropeller, +}; + void Peahat(Entity* this) { - if (this->entityType.form == 0) { - EnemyFunctionHandler(this, gUnk_080CA570); + if (this->entityType.form == PeahatForm_Torso) { + EnemyFunctionHandler(this, gPeahatFunctions); SetChildOffset(this, 0, 1, -0x10); } else { - gUnk_080CA588[this->action](this); + gPeahatPropellerFunctions[this->action](this); } } -void sub_0801FF9C(Entity* this) { - gUnk_080CA590[this->action](this); +void Peahat_OnTick(Entity* this) { + gPeahatActions[this->action](this); if (this->field_0x80.HALF.HI) - this->height.HALF.HI = gUnk_080CA5B8[(this->field_0xf++ & 0x30) >> 4]; + this->height.HALF.HI = gPeahatFlightHeights[(this->field_0xf++ & 0x30) >> 4]; } void sub_0801FFDC(Entity* this) { if (this->field_0x82.HALF.LO) { if (this->bitfield == 0x94) { - Entity* ent = CreateEnemy(3, 1); + Entity* ent = CreateEnemy(3, PeahatForm_Propeller); if (ent) { CopyPosition(this, ent); ent->height.HALF.HI -= 8; } this->field_0x82.HALF.LO = 0; - this->animationState = 2; + this->animationState = PeahatAnimation_SlicedPropeller; this->action = 5; this->nonPlanarMovement = 0x80; this->hurtBlinkTime = -30; this->field_0x80.HALF.HI = 0; InitializeAnimation(this, this->animationState); } else if (this->bitfield == 0x9b) { - this->animationState = 1; + this->animationState = PeahatAnimation_BrokenPropeller; this->action = 5; this->nonPlanarMovement = 0x80; this->hurtBlinkTime = -30; this->field_0x80.HALF.HI = 0; InitializeAnimation(this, this->animationState); } else if (this->bitfield == 0x80) { - if (this->animationState == 0) { + if (this->animationState == PeahatAnimation_Flying) { this->action = 1; this->actionDelay = 30; this->nonPlanarMovement = 0x80; @@ -70,7 +84,7 @@ void sub_0801FFDC(Entity* this) { if (this->field_0x43) sub_0804A9FC(this, 0x1c); - sub_0804AA30(this, gUnk_080CA570); + sub_0804AA30(this, gPeahatFunctions); } void sub_08020088(Entity* this) { @@ -83,8 +97,8 @@ void sub_08020088(Entity* this) { void sub_080200B4(Entity* this) { this->previousActionFlag = 1; this->field_0x1d = 60; - if (this->animationState == 0) { - this->animationState = 1; + if (this->animationState == PeahatAnimation_Flying) { + this->animationState = PeahatAnimation_BrokenPropeller; this->action = 5; this->damageType = 0x71; this->field_0x80.HALF.HI = 0; @@ -116,7 +130,7 @@ void sub_08020104(Entity* this) { } } -void sub_08020130(Entity* this) { +void Peahat_Initialize(Entity* this) { sub_0804A720(this); this->action = 1; this->actionDelay = 16; @@ -126,11 +140,11 @@ void sub_08020130(Entity* this) { this->field_0x80.HALF.LO = (Random() & 1) ? 2 : -2; this->field_0x80.HALF.HI = 1; this->field_0x82.HALF.LO = 1; - this->animationState = 0; - InitializeAnimation(this, 0); + this->animationState = PeahatAnimation_Flying; + InitializeAnimation(this, this->animationState); } -void sub_08020180(Entity* this) { +void Peahat_Fly(Entity* this) { if (this->field_0x82.HALF.HI) this->field_0x82.HALF.HI--; @@ -155,7 +169,7 @@ void sub_08020180(Entity* this) { GetNextFrame(this); } -void sub_08020220(Entity* this) { +void Peahat_ChargeStart(Entity* this) { if (sub_08049FDC(this, 1)) { if (--this->actionDelay) { UpdateAnimationVariableFrames(this, 4 - ((this->actionDelay >> 4) & 0x3)); @@ -173,7 +187,7 @@ void sub_08020220(Entity* this) { UpdateAnimationVariableFrames(this, 4); } -void sub_08020294(Entity* this) { +void Peahat_ChargeTarget(Entity* this) { if (sub_08049FDC(this, 1)) { if (--this->actionDelay == 0) { sub_080205F8(this); @@ -192,7 +206,7 @@ void sub_08020294(Entity* this) { UpdateAnimationVariableFrames(this, 4); } -void sub_08020308(Entity* this) { +void Peahat_ChargeEnd(Entity* this) { if (--this->actionDelay == 0) { this->action = 1; this->actionDelay = 1; @@ -208,32 +222,35 @@ void sub_08020308(Entity* this) { } } -void sub_08020350(Entity* this) { - if (this->animationState != 2) { - if (sub_080044EC(this, 0x1800) == 0) { - this->action = 6; - this->actionDelay = -0x10; - this->field_0xf = 10; - this->damageType = 113; - } +void Peahat_Stunned(Entity* this) { + switch (this->animationState) { + default: + if (sub_080044EC(this, 0x1800) == 0) { + this->action = 6; + this->actionDelay = 240; + this->field_0xf = 10; + this->damageType = 0x71; + } - if (this->direction == 0xff) - this->direction = this->field_0x3e; + if (this->direction == 0xff) + this->direction = this->field_0x3e; - sub_080AEF88(this); - GetNextFrame(this); - } else { - sub_08003FC4(this, 0x1c00); - if (this->height.HALF.HI == 0) { - this->action = 7; - this->actionDelay = -106; - this->field_0xf = 10; - this->damageType = 113; - } - } + ProcessMovement(this); + GetNextFrame(this); + break; + case PeahatAnimation_SlicedPropeller: + sub_08003FC4(this, 0x1c00); + if (this->height.HALF.HI == 0) { + this->action = 7; + this->actionDelay = 150; + this->field_0xf = 10; + this->damageType = 0x71; + } + break; + }; } -void sub_080203C0(Entity* this) { +void Peahat_RepairPropeller(Entity* this) { if (this->field_0xf) if (--this->field_0xf == 0) sub_0804A9FC(this, 0x1c); @@ -245,11 +262,11 @@ void sub_080203C0(Entity* this) { this->field_0x20 = 0x18000; this->direction = Random() & 0x1f; sub_0804AA1C(this); - this->animationState = 5; - InitializeAnimation(this, 5); + this->animationState = PeahatAnimation_RepairPropeller; + InitializeAnimation(this, this->animationState); } -void sub_0802041C(Entity* this) { +void Peahat_Recover(Entity* this) { if (this->field_0xf) if (--this->field_0xf == 0) sub_0804A9FC(this, 0x1c); @@ -258,58 +275,56 @@ void sub_0802041C(Entity* this) { return; this->action = 8; - this->actionDelay = -16; + this->actionDelay = 240; this->direction = Random() & 0x1f; sub_0804AA1C(this); } -void sub_08020468(Entity* this) { +void Peahat_Hop(Entity* this) { GetNextFrame(this); if (--this->actionDelay == 0) { if (this->frames.all & 0x80) { this->action = 9; this->field_0x20 = 0x18000; - this->animationState = 4; - InitializeAnimation(this, 4); + this->animationState = PeahatAnimation_NewPropeller; + InitializeAnimation(this, this->animationState); } else { this->actionDelay = 1; } } if (this->frames.all & 2) { - this->frames.all &= 0xfd; + this->frames.all &= ~2; this->direction = Random() & 0x1f; } if (this->frames.all & 1) { sub_0800442E(this); } else { - sub_080AEF88(this); + ProcessMovement(this); } } -void sub_080204E0(Entity* this) { +void Peahat_Takeoff(Entity* this) { GetNextFrame(this); if (this->frames.all & 0x80) { this->action = 1; this->damageType = 0x70; this->field_0x82.HALF.LO = 1; this->field_0x80.HALF.HI = 1; - this->animationState = 0; - InitializeAnimation(this, 0); + this->animationState = PeahatAnimation_Flying; + InitializeAnimation(this, this->animationState); + } else if (this->frames.all & 1) { + sub_0800442E(this); } else { - if (this->frames.all & 1) { - sub_0800442E(this); - } else { - sub_08003FC4(this, 0x1c00); - sub_080AEF88(this); - } + sub_08003FC4(this, 0x1c00); + ProcessMovement(this); } } -void sub_0802053C(Entity* this) { +void PeahatPropeller_Initialize(Entity* this) { this->action = 1; - this->actionDelay = -16; + this->actionDelay = 240; this->field_0xf = 40; this->spriteSettings.b.draw = 1; this->spriteRendering.b3 = 1; @@ -317,12 +332,12 @@ void sub_0802053C(Entity* this) { this->spriteSettings.b.shadow = 0; this->nonPlanarMovement = 0x20; this->direction = (Random() & 0x10) + 8; - InitializeAnimation(this, 3); + InitializeAnimation(this, PeahatAnimation_Propeller); } -void sub_08020590(Entity* this) { +void PeahatPropeller_Fly(Entity* this) { GetNextFrame(this); - if (--this->actionDelay == '\0') { + if (--this->actionDelay == 0) { DeleteEntity(this); } else { if (this->actionDelay < 60) @@ -354,8 +369,8 @@ void sub_08020604(Entity *this){ // clang-format off -void (*const gUnk_080CA570[])(Entity*) = { - sub_0801FF9C, +void (*const gPeahatFunctions[])(Entity*) = { + Peahat_OnTick, sub_0801FFDC, sub_08001324, sub_0804A7D4, @@ -363,29 +378,26 @@ void (*const gUnk_080CA570[])(Entity*) = { sub_08020088, }; -void (*const gUnk_080CA588[])(Entity*) = { - sub_0802053C, - sub_08020590, +void (*const gPeahatPropellerFunctions[])(Entity*) = { + PeahatPropeller_Initialize, + PeahatPropeller_Fly, }; -void (*const gUnk_080CA590[])(Entity*) = { - sub_08020130, - sub_08020180, - sub_08020220, - sub_08020294, - sub_08020308, - sub_08020350, - sub_080203C0, - sub_0802041C, - sub_08020468, - sub_080204E0, +void (*const gPeahatActions[])(Entity*) = { + Peahat_Initialize, + Peahat_Fly, + Peahat_ChargeStart, + Peahat_ChargeTarget, + Peahat_ChargeEnd, + Peahat_Stunned, + Peahat_RepairPropeller, + Peahat_Recover, + Peahat_Hop, + Peahat_Takeoff, }; -const s8 gUnk_080CA5B8[] = { - -5, - -6, - -7, - -6, +const s8 gPeahatFlightHeights[] = { + -5, -6, -7, -6, }; void (*const gUnk_080CA5BC[])(Entity*) = { @@ -396,5 +408,11 @@ void (*const gUnk_080CA5BC[])(Entity*) = { nullsub_5, sub_08020104, }; + +/* Alignment issue +const s8 gUnk_080CA5D4[] = { + 4, -4, +}; +*/ // clang-format on diff --git a/src/enemy/rockChuchu.c b/src/enemy/rockChuchu.c index 337e21dc..8c4a82f3 100644 --- a/src/enemy/rockChuchu.c +++ b/src/enemy/rockChuchu.c @@ -79,7 +79,7 @@ void sub_08022390(Entity* this) { } if (this->field_0xf == 0) { - sub_080AEF88(this); + ProcessMovement(this); } else { this->field_0xf = this->field_0xf - 1; } diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index 1a9fc159..45d6f118 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -1,8 +1,8 @@ #include "entity.h" #include "functions.h" -extern void (*const gUnk_080CA66C[])(Entity*); -extern void (*const gUnk_080CA684[])(Entity*); +extern void (*const gRollobiteFunctions[])(Entity*); +extern void (*const gRollobiteActions[])(Entity*); extern void (*const gUnk_080CA6A4[])(Entity*); extern void (*const gUnk_080CA6BC[])(Entity*); @@ -11,57 +11,54 @@ extern const s8 gUnk_080CA6D4[]; void sub_08020A30(Entity*); void sub_08020A7C(Entity*); -u32 sub_08020AD0(Entity*); -u32 sub_08020B6C(Entity*); +bool32 Rollobite_TryToHoleUp(Entity*); +bool32 Rollobite_IsRolledUp(Entity*); extern void sub_080AE58C(); extern void sub_080AE7E8(); extern void sub_08078930(); void Rollobite(Entity* this) { - EnemyFunctionHandler(this, gUnk_080CA66C); + EnemyFunctionHandler(this, gRollobiteFunctions); } -void sub_08020648(Entity* this) { - sub_08020AD0(this); - gUnk_080CA684[this->action](this); +void Rollobite_OnTick(Entity* this) { + Rollobite_TryToHoleUp(this); + gRollobiteActions[this->action](this); } void sub_08020668(Entity* this) { if (this->damageType == 34 && this->currentHealth != 0xff) { this->action = 4; this->field_0x20 = 0x20000; - this->direction = -1; - this->currentHealth = -1; + this->direction = 0xff; + this->currentHealth = 0xff; this->damageType = 35; InitializeAnimation(this, this->animationState + 8); } if (this->bitfield != 0x80) { - u8 tmp = this->action - 4; - if (tmp < 2) { + if (this->action == 4 || this->action == 5) { this->action = 4; - this->actionDelay = -76; - this->direction = -1; + this->actionDelay = 180; + this->direction = 0xff; InitializeAnimation(this, this->animationState + 0x10); } } if (this->bitfield == 0x93) - sub_08020648(this); + Rollobite_OnTick(this); } void sub_080206E0(Entity* this) { - if (sub_08020AD0(this)) { + if (Rollobite_TryToHoleUp(this)) { this->field_0x42 = 0; + } else if (Rollobite_IsRolledUp(this)) { + this->field_0x42--; + sub_080AE58C(this, this->field_0x3e, 10); + sub_080AE7E8(this, this->field_0x46, this->field_0x3e, 10); } else { - if (sub_08020B6C(this)) { - this->field_0x42--; - sub_080AE58C(this, this->field_0x3e, 10); - sub_080AE7E8(this, this->field_0x46, this->field_0x3e, 10); - } else { - sub_08001324(this); - } + sub_08001324(this); } } @@ -69,7 +66,7 @@ void sub_08020734(Entity* this) { if (this->previousActionFlag < 3 && !sub_0806F520(this)) { this->action = 4; this->flags |= 0x80; - this->direction = -1; + this->direction = 0xff; InitializeAnimation(this, this->animationState + 0x10); } else { gUnk_080CA6A4[this->previousActionFlag](this); @@ -94,6 +91,7 @@ void sub_08020798(Entity* this) { } void nullsub_6(Entity* this) { + /* ... */ } void sub_080207A8(Entity* this) { @@ -107,7 +105,7 @@ void sub_080207A8(Entity* this) { InitializeAnimation(this, this->animationState + 0x10); } -void sub_080207F4(Entity* this) { +void Rollobite_Initialize(Entity* this) { sub_0804A720(this); this->field_0x16 = 0x30; this->field_0x1c = 18; @@ -116,11 +114,11 @@ void sub_080207F4(Entity* this) { sub_08020A30(this); } -void sub_08020820(Entity* this) { +void Rollobite_Walk(Entity* this) { GetNextFrame(this); if (this->frames.all & 0x1) { this->frames.all &= ~0x1; - if (!sub_080AEF88(this)) + if (!ProcessMovement(this)) this->actionDelay = 1; } @@ -164,12 +162,12 @@ void sub_08020904(Entity* this) { InitializeAnimation(this, this->animationState + 0x10); } -void sub_08020920(Entity* this) { +void Rollobite_Turn(Entity* this) { if (--this->actionDelay == 0) sub_08020A30(this); } -void sub_08020938(Entity* this) { +void Rollobite_RolledUp(Entity* this) { u32 unk; if ((this->frames.all & 0x80) == 0) @@ -185,14 +183,14 @@ void sub_08020938(Entity* this) { sub_08078930(this); } else { if (unk == 1) - sub_08004488(260); + EnqueSFX(260); if ((this->direction & 0x80) == 0) sub_080AEFE0(this); } } -void sub_080209A0(Entity* this) { +void Rollobite_Unroll(Entity* this) { GetNextFrame(this); if (this->frames.all & 0x80) { this->flags |= 0x80; @@ -207,7 +205,7 @@ void sub_080209A0(Entity* this) { } } -void sub_080209F4(Entity* this) { +void Rollobite_LinedUp(Entity* this) { if (sub_08003FC4(this, 0x1c00) == 0) { this->action = 7; this->spritePriority.b0 = 7; @@ -217,7 +215,7 @@ void sub_080209F4(Entity* this) { GetNextFrame(this); } -void sub_08020A28(Entity* this) { +void Rollobite_Holed(Entity* this) { GetNextFrame(this); } @@ -251,8 +249,8 @@ void sub_08020A7C(Entity* this) { InitializeAnimation(this, this->animationState); } -u32 sub_08020AD0(Entity* this) { - if (sub_08020B6C(this) && this->height.HALF.HI == 0) { +bool32 Rollobite_TryToHoleUp(Entity* this) { + if (Rollobite_IsRolledUp(this) && this->height.HALF.HI == 0) { int tile = COORD_TO_TILE(this); int iVar1 = GetTileType(tile, this->collisionLayer); if ((iVar1 * 0x10000 - 0x710000U) >> 0x10 < 2) { @@ -265,24 +263,24 @@ u32 sub_08020AD0(Entity* this) { this->field_0x20 = 0x20000; InitializeAnimation(this, this->animationState + 0x14); SetTile(0x4034, tile, this->collisionLayer); - return 1; + return TRUE; } } - return 0; + return FALSE; } -u32 sub_08020B6C(Entity* this) { - u32 tmp = this->animIndex - 0x10; - if (tmp < 4) { - return 1; +bool32 Rollobite_IsRolledUp(Entity* this) { + u32 tmp = this->animIndex; + if (16 <= tmp && tmp <= 19) { + return TRUE; } else { - return 0; + return FALSE; } } // clang-format off -void (*const gUnk_080CA66C[])(Entity*) = { - sub_08020648, +void (*const gRollobiteFunctions[])(Entity*) = { + Rollobite_OnTick, sub_08020668, sub_080206E0, sub_0804A7D4, @@ -290,15 +288,15 @@ void (*const gUnk_080CA66C[])(Entity*) = { sub_08020734, }; -void (*const gUnk_080CA684[])(Entity*) = { - sub_080207F4, - sub_08020820, +void (*const gRollobiteActions[])(Entity*) = { + Rollobite_Initialize, + Rollobite_Walk, sub_08020874, - sub_08020920, - sub_08020938, - sub_080209A0, - sub_080209F4, - sub_08020A28, + Rollobite_Turn, + Rollobite_RolledUp, + Rollobite_Unroll, + Rollobite_LinedUp, + Rollobite_Holed, }; void (*const gUnk_080CA6A4[])(Entity*) = { @@ -318,7 +316,6 @@ void (*const gUnk_080CA6BC[])(Entity*) = { }; const u8 gUnk_080CA6CC[] = { - 0,6,9,0,6,6,0,7 + 0, 6, 9, 0, 6, 6, 0, 7, }; // clang-format on - diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c index 8a011dad..9468d7a2 100644 --- a/src/enemy/rupeeLike.c +++ b/src/enemy/rupeeLike.c @@ -62,7 +62,7 @@ void sub_08029318(Entity* this) { this->field_0x82.HALF.HI = 0x41; this->flags2 &= 0xfc; this->field_0x80.HALF.LO = gPlayerEntity.spritePriority.b1; - sub_08004488(0x104); + EnqueSFX(0x104); } else { if (this->field_0x43 != 0) { sub_0804A9FC(this, 0x1c); @@ -136,7 +136,7 @@ void sub_080294D4(Entity* this) { sub_08004596(this, GetFacingDirection(this, &gPlayerEntity)); sub_0802969C(this); } - sub_080AEF88(this); + ProcessMovement(this); sub_080296C8(this); } else { this->action = 6; diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 91238ab9..29ec7207 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -87,7 +87,7 @@ void sub_08045018(Entity* this) { } void sub_08045088(Entity* this) { - sub_080AEF88(this); + ProcessMovement(this); GetNextFrame(this); if (--this->actionDelay == 0) { this->action = 1; diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c index a3d41a1b..6a6d19e8 100644 --- a/src/enemy/spinyChuchu.c +++ b/src/enemy/spinyChuchu.c @@ -3,7 +3,7 @@ #include "functions.h" extern void sub_08001318(Entity*); -extern u32 sub_08049F64(Entity*, u32, u32); +extern u32 PlayerInRange(Entity*, u32, u32); extern void sub_0804A4E4(Entity*, Entity*); extern void sub_0804AA1C(Entity*); @@ -69,7 +69,7 @@ void sub_0802244C(Entity* this) { if (this->action == 3) { this->action = 4; InitializeAnimation(this, 3); - sub_08004488(0x194); + EnqueSFX(0x194); } } } else { @@ -132,7 +132,7 @@ void sub_08022654(Entity* this) { this->previousActionFlag = 2; this->spriteSettings.b.draw = 1; InitializeAnimation(this, 5); - sub_08004488(0x7d); + EnqueSFX(0x7d); UpdateSpriteForCollisionLayer(this); /* fallthrough */ case 2: @@ -169,7 +169,7 @@ void sub_080226EC(Entity* this) { this->direction = sub_08049F84(this, 1); } - sub_080AEF88(this); + ProcessMovement(this); } GetNextFrame(this); @@ -180,7 +180,7 @@ void sub_08022780(Entity* this) { if (this->frames.all & 0x80) { this->action = 4; InitializeAnimation(this, 3); - sub_08004488(0x194); + EnqueSFX(0x194); } } @@ -223,7 +223,7 @@ void sub_08022854(Entity* this) { this->action = 7; this->damageType = 0x5c; InitializeAnimation(this, 5); - sub_08004488(0x7d); + EnqueSFX(0x7d); } } } @@ -240,7 +240,7 @@ void sub_0802289C(Entity* this) { u32 sub_080228CC(Entity* this) { if (this->field_0xf == 0) { - if (sub_08049F64(this, 1, 0x28)) + if (PlayerInRange(this, 1, 0x28)) return 1; } else { this->field_0xf--; @@ -250,7 +250,7 @@ u32 sub_080228CC(Entity* this) { u32 sub_080228F0(Entity* this) { if (this->field_0x80.HALF.HI == 0) { - if (sub_08049F64(this, 1, 0x40)) + if (PlayerInRange(this, 1, 0x40)) return 1; } else { this->field_0x80.HALF.HI--; diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index 4aec209c..c34a9dd8 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -113,7 +113,7 @@ void sub_0802F300(Entity* this) { u32 rand; GetNextFrame(this); - sub_080AEF88(this); + ProcessMovement(this); temp = this->height.HALF.HI; rand = Random() & 0xf; diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c index f46a65e3..50012c83 100644 --- a/src/enemy/tektiteGolden.c +++ b/src/enemy/tektiteGolden.c @@ -100,7 +100,7 @@ void sub_08038048(Entity* this) { u32 rand; UpdateAnimationVariableFrames(this, 2); - sub_080AEF88(this); + ProcessMovement(this); temp = this->height.HALF.HI; rand = Random() & 0xf; diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index 2c7431d6..021a8b44 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -98,7 +98,7 @@ void sub_080336A8(Entity* this) { } else if (this->collisions != 0) { sub_0800417E(this, this->collisions); } - sub_080AEF88(this); + ProcessMovement(this); GetNextFrame(this); } diff --git a/src/npc/carlov.c b/src/npc/carlov.c index aaa447d0..25c983ae 100644 --- a/src/npc/carlov.c +++ b/src/npc/carlov.c @@ -10,7 +10,7 @@ extern void sub_0807DD50(Entity *); extern void sub_0807DD94(Entity *,u32); -extern void sub_08004488(u32); +extern void EnqueSFX(u32); extern void sub_08080964(u32,u32); @@ -25,11 +25,11 @@ void Carlov(Entity *this) } if ((this->frames.all & 0x10) != 0) { this->frames.all = this->frames.all & 0xef; - sub_08004488(0x104); + EnqueSFX(0x104); sub_08080964(0x10,0); } if ((this->frames.all & 0x20) != 0) { this->frames.all = this->frames.all & 0xdf; - sub_08004488(0x7c); + EnqueSFX(0x7c); } } \ No newline at end of file diff --git a/src/npc/cow.c b/src/npc/cow.c index 54500e02..24fc90d8 100644 --- a/src/npc/cow.c +++ b/src/npc/cow.c @@ -94,7 +94,7 @@ void sub_08069068(Entity* ent) { InitAnimationForceUpdate(ent, ent->animationState + 4); } - sub_080AEF88(ent); + ProcessMovement(ent); UpdateAnimationSingleFrame(ent); { diff --git a/src/npc/melari.c b/src/npc/melari.c index 87afe16c..0aceb1e1 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -12,7 +12,7 @@ extern void sub_0806F118(Entity*); extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern u32 sub_080040A8(Entity*); -extern void sub_08004488(u32); +extern void EnqueSFX(u32); extern u32 sub_0801E99C(Entity*); extern void sub_08078784(Entity*, u32); extern void sub_0807000C(Entity*); @@ -99,7 +99,7 @@ void sub_08068780(Entity* this) { if (sub_080040A8(this) == 0) { PlaySFX(gUnk_0811153E[(s32)Random() % 3]); } else { - sub_08004488(gUnk_08111538[(s32)Random() % 3]); + EnqueSFX(gUnk_08111538[(s32)Random() % 3]); } ent = CreateFx(this, 0x3d, 0x20); if (ent != NULL) { diff --git a/src/npc/postman.c b/src/npc/postman.c index f7b6395d..8ffc696c 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -27,7 +27,7 @@ extern u32 GetFacingDirection(Entity*, Entity*); extern void sub_080606D8(Entity*); extern void sub_0807DD94(Entity*, u32); extern void sub_080788E0(Entity*); -extern void sub_08004488(u32); +extern void EnqueSFX(u32); extern void sub_080606C0(Entity*); extern void sub_0800451C(Entity*); extern void sub_08078784(Entity*, u32); @@ -178,7 +178,7 @@ void sub_08060528(Entity *this) this->field_0x20 = 0x20000; this->field_0x6c.HALF.HI = 1; sub_080788E0(this); - sub_08004488(0x7c); + EnqueSFX(0x7c); } else { this->field_0x6a.HWORD -= 1; diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 436dc186..242d85a1 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -222,7 +222,7 @@ void sub_08061E90(Entity* this, Entity* arg1) { if (animIndex != this->animIndex) { InitializeAnimation(this, animIndex); } - sub_080AEF88(this); + ProcessMovement(this); iVar4 = this->x.HALF.HI - *(s16*)&this->field_0x6a.HWORD; if (0x10 < iVar4) { this->x.HALF.HI = this->field_0x6a.HWORD + 0x10; diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index e9a1e8e0..efa72fb2 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -7,7 +7,7 @@ extern void sub_0809EB30(Entity*); extern void sub_0809EAD8(Entity*); extern void sub_0809EABC(Entity*); -extern void sub_08004488(u32); +extern void EnqueSFX(u32); extern void sub_080A2CC0(Entity*, Entity**, u16*); extern Entity* GetCurrentRoomProperty(u32); extern void SetTile(u32, u32, u32); @@ -50,7 +50,7 @@ void sub_0809EA80(Entity* this) { } else { SetFlag(this->field_0x86); } - sub_08004488(0x110); + EnqueSFX(0x110); } sub_0809EABC(this); } @@ -123,7 +123,7 @@ void sub_0809EBD8(Entity* this) { this->actionDelay = 0x10; this->frameIndex = 2; SetFlag(this->field_0x86); - sub_08004488(0x110); + EnqueSFX(0x110); } } @@ -137,7 +137,7 @@ void sub_0809EC08(Entity* this) { this->action = 1; this->frameIndex = 3; ClearFlag(this->field_0x86); - sub_08004488(0x110); + EnqueSFX(0x110); } } } diff --git a/src/object/mask.c b/src/object/mask.c index 675805b8..cd5d13f4 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -20,7 +20,7 @@ extern void sub_08000148(u16, u16, u32); extern s16 sub_080001DA(u16, u32); extern u16 sub_080002E0(u16, u32); -extern void sub_08004488(u32); +extern void EnqueSFX(u32); extern void sub_080044EC(Entity *, u16); extern void sub_0805457C(Entity *, s32); @@ -115,7 +115,7 @@ void sub_08092B0C(Entity *this) { switch (this->entityType.parameter & 0xC0) { case 0x80: - sub_08004488(0x72); + EnqueSFX(0x72); case 0x40: SetFlag(this->field_0x86); break; diff --git a/src/object/metalDoor.c b/src/object/metalDoor.c index 381bf0d8..b0df5777 100644 --- a/src/object/metalDoor.c +++ b/src/object/metalDoor.c @@ -6,7 +6,7 @@ extern u32 sub_08083734(Entity*, u32); extern void sub_080A080C(Entity*); extern void sub_0806F69C(Entity*); -extern void sub_08004488(u32); +extern void EnqueSFX(u32); extern void sub_080A0870(Entity*); extern void PlaySFX(u32); extern u32 sub_080001DA(u32, u32); @@ -71,7 +71,7 @@ void sub_080A074C(Entity *this) ent->x.HALF.HI -= 0xc; ent->y.HALF.HI -= 0xc; } - sub_08004488(0x10b); + EnqueSFX(0x10b); } } diff --git a/src/object/object1A.c b/src/object/object1A.c index e903d21b..5f43ec2f 100644 --- a/src/object/object1A.c +++ b/src/object/object1A.c @@ -3,7 +3,7 @@ extern void sub_08086A6C(); extern s32 sub_080044EC(); -extern void sub_080AEF88(); +extern void ProcessMovement(); extern u32 Random(void); extern void (*gUnk_081206C4[99])(Entity*); @@ -42,7 +42,7 @@ void sub_08086A28(Entity* ent) { if (iVar1 == 0) { ent->action = 2; } - sub_080AEF88(ent); + ProcessMovement(ent); CopyPosition(ent, ent->attachedEntity); } } diff --git a/src/object/object2A.c b/src/object/object2A.c index d8f30b54..8db435e5 100644 --- a/src/object/object2A.c +++ b/src/object/object2A.c @@ -36,5 +36,5 @@ void sub_08089B18(Entity *this) return; } } - sub_08004488(0x124); + EnqueSFX(0x124); } \ No newline at end of file diff --git a/src/object/pot.c b/src/object/pot.c index 5ea63ab5..8931598f 100755 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -92,7 +92,7 @@ void sub_08082310(Entity* this) { this->actionDelay = 64; } SetTile((u16)this->field_0x70.HALF.LO, COORD_TO_TILE(this), this->collisionLayer); - sub_08004488(0x10F); + EnqueSFX(0x10F); break; case 0x4067: SetTile((u16)this->field_0x70.HALF.LO, COORD_TO_TILE(this), this->collisionLayer); diff --git a/src/object/railtrack.c b/src/object/railtrack.c index 3cf693d2..d8227bef 100644 --- a/src/object/railtrack.c +++ b/src/object/railtrack.c @@ -6,7 +6,7 @@ extern u32* GetLayerByIndex(u32); extern void sub_08085394(Entity*); extern void sub_0808543C(Entity*); -extern void sub_08004488(u32); +extern void EnqueSFX(u32); extern u32 sub_080854A8(Entity*); extern void SetTile(u32, u32, u32); @@ -54,7 +54,7 @@ void sub_08085264(Entity* this) { this->animationState = (this->animationState + *(u8*)&this->field_0x7c) & 3; InitializeAnimation(this, this->animationState); sub_0808543C(this); - sub_08004488(0x151); + EnqueSFX(0x151); } } @@ -66,7 +66,7 @@ void sub_080852B4(Entity* this) { this->animationState = (this->animationState + *(u8*)&this->field_0x7c) & 3; InitializeAnimation(this, this->animationState); sub_08085394(this); - sub_08004488(0x151); + EnqueSFX(0x151); } } @@ -96,7 +96,7 @@ void sub_08085308(Entity* this) { this->animationState = (this->animationState + *(u8*)&this->field_0x7c) & 3; InitializeAnimation(this, this->animationState); sub_0808543C(this); - sub_08004488(0x151); + EnqueSFX(0x151); } } } From 0a2c0ad4564c6bf4edc6fcc5762cb87b5b41a33b Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 1 Sep 2020 01:21:50 +0200 Subject: [PATCH 055/105] embrace direction macros --- include/entity.h | 2 + src/enemy/darkNut.c | 12 ++--- src/enemy/fireballGuy.c | 6 +-- src/enemy/keaton.c | 17 ++++---- src/enemy/lakitu.c | 3 +- src/enemy/leever.c | 2 +- src/enemy/miniFireballGuy.c | 87 +++++++++++++++++-------------------- src/enemy/miniSlime.c | 4 +- src/enemy/rollobite.c | 8 ++-- src/npc/townsperson.c | 2 +- src/object/minecart.c | 2 +- 11 files changed, 69 insertions(+), 76 deletions(-) diff --git a/include/entity.h b/include/entity.h index 7440c198..c4537dce 100644 --- a/include/entity.h +++ b/include/entity.h @@ -175,6 +175,8 @@ extern void PositionRelative(Entity*, Entity*, s32, s32); #define DirectionIsVertical(expr) ((expr) & 0x10) #define DirectionTurnHorizontal(expr) (DirectionRoundUp(expr) ^ 0x08) #define DirectionTurnVertical(expr) (DirectionRoundUp(expr) ^ 0x10) +#define DirectionToAnimationState(expr) (DirectionRoundUp(expr) >> 3) +#define DirectionFromAnimationState(expr) (expr << 3) extern Entity gUnk_03003DA0; diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index 03c9c91e..b7e5bf0f 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -62,7 +62,7 @@ void sub_08020BB8(Entity* this) { this->action = 11; this->actionDelay = gUnk_080CAB0C[this->entityType.form]; this->damageType = 81; - sub_08021218(this, 8, (((this->field_0x3e ^ 0x10) + 4) & 0x18) >> 3); + sub_08021218(this, 8, DirectionToAnimationState(this->field_0x3e ^ 0x10)); sub_08021588(this); sub_0804A9FC(this, 0x1c); break; @@ -70,7 +70,7 @@ void sub_08020BB8(Entity* this) { this->action = 11; this->actionDelay = gUnk_080CAB10[this->entityType.form]; this->damageType = 81; - sub_08021218(this, 8, (((this->field_0x3e ^ 0x10) + 4) & 0x18) >> 3); + sub_08021218(this, 8, DirectionToAnimationState(this->field_0x3e ^ 0x10)); sub_08021588(this); sub_0804A9FC(this, 0x1c); break; @@ -427,7 +427,7 @@ void sub_08021328(Entity* this) { void sub_0802134C(Entity* this) { this->action = 15; - this->direction = this->animationState << 3; + this->direction = DirectionFromAnimationState(this->animationState); this->nonPlanarMovement = 0x200; this->field_0x76.HWORD = 0x78; sub_08021218(this, 0xe, this->animationState); @@ -534,7 +534,7 @@ u32 sub_080214FC(Entity* this) { if (4 < (direction - (this->frames.all & 0x1f)) - 2) return 0; - this->animationState = ((direction + 4) & 0x18) >> 3; + this->animationState = DirectionToAnimationState(direction); return 1; } @@ -544,9 +544,9 @@ void sub_08021540(Entity* this) { rand = Random(); if (!sub_08049FA0(this) && (rand & 1)) { - tmp2 = (sub_08049EE4(this) + 4) & 0x18; + tmp2 = DirectionRoundUp(sub_08049EE4(this)); } else { - tmp2 = (rand >> 0x10) & 0x18; + tmp2 = DirectionRound(rand >> 0x10); } this->direction = tmp2; diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c index b194ed07..bd033058 100644 --- a/src/enemy/fireballGuy.c +++ b/src/enemy/fireballGuy.c @@ -102,7 +102,7 @@ void sub_08045524(Entity *this) { tmp = sub_0804A024(this,1,8); if (tmp != 0xff && (Random() & 3) == 0) { this->actionDelay = Random() & 3; - this->direction = tmp & 0x18; + this->direction = DirectionRound(tmp); } else { if (this->actionDelay) { this->actionDelay--; @@ -113,9 +113,9 @@ void sub_08045524(Entity *this) { tmp1 = sub_08049EE4(this); tmp2 = Random() & 8; tmp2 += 0xfc; - this->direction = (tmp1 + tmp2) & 0x18; + this->direction = DirectionRound(tmp1 + tmp2); } else { - this->direction = Random() & 0x18; + this->direction = DirectionRound(Random()); } } } diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index afc0e4b6..b900cfea 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -37,9 +37,8 @@ void sub_080323F4(Entity* this) { if (this->action != 3 && this->action != 4) { this->action = 3; this->actionDelay = 0xC; - var = ((this->field_0x3e + 4) & 0x18) ^ 0x10; - this->direction = var; - InitAnimationForceUpdate(this, var >> 3); + this->direction = DirectionTurnVertical(this->field_0x3e); + InitAnimationForceUpdate(this, this->direction >> 3); } else if (this->bitfield == 0xCC) { if (this->field_0x43 == 0) { sub_0803275C(this); @@ -142,10 +141,10 @@ void sub_080325C4(Entity* this) { u32 sub_080325E8(Entity* this) { if (((sub_08049FA0(this) != 0) && (sub_08049FDC(this, 1) != 0)) && (sub_080041A0(this, gUnk_020000B0, 0x68, 0x40) != 0)) { - if (((GetFacingDirection(this, gUnk_020000B0) - ((this->frames.all & 0x18)) + 2) & 0x1F) < 5) { + if (((GetFacingDirection(this, gUnk_020000B0) - (DirectionRound(this->frames.all)) + 2) & 0x1F) < 5) { this->action = 3; this->actionDelay = 0xC; - this->direction = this->frames.all & 0x18; + this->direction = DirectionRound(this->frames.all); return 1; } } @@ -158,9 +157,9 @@ void sub_08032650(Entity* this) { uVar3 = Random(); this->actionDelay = gUnk_080CE7E0[uVar3 & 0xf]; if (!((sub_08049FA0(this) == 0) && ((uVar3 >> 8 & 1) == 0))) { - this->direction = (uVar3 >> 0x10) & 0x18; + this->direction = DirectionRound(uVar3 >> 0x10); } else { - this->direction = (sub_08049EE4(this) + 4) & 0x18; + this->direction = DirectionRoundUp(sub_08049EE4(this)); } sub_0803269C(this, this->direction); } @@ -169,13 +168,13 @@ void sub_0803269C(Entity* this, u32 param_2) { u32 uVar1; if (((param_2 - 3) & 7) < 3) { - uVar1 = ((param_2 + 4) & 0x18) >> 3; + uVar1 = DirectionToAnimationState(param_2); if (((this->animationState - uVar1) & 3) > 1) { this->animationState = uVar1; InitAnimationForceUpdate(this, (this->animIndex & 0xFC) + uVar1); } } else { - uVar1 = ((param_2 + 4) & 0x18) >> 3; + uVar1 = DirectionToAnimationState(param_2); if (uVar1 != this->animationState) { this->animationState = uVar1; InitAnimationForceUpdate(this, (this->animIndex & 0xFC) + uVar1); diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index b4bbc198..cf41451e 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -280,8 +280,7 @@ void sub_0803CA84(Entity *this, u32 unkParameter) { u32 altAnimState = GetFacingDirection(this, &gPlayerEntity); if (((altAnimState - 3) & 7) > 2 || ((this->animationState - (altAnimState >> 3)) & 3) > 1) { - u32 intermediate = (altAnimState + 4) & 0x18; - altAnimState = intermediate >> 3; + altAnimState = DirectionRoundUp(altAnimState) >> 3; if (altAnimState != this->animationState) { this->animationState = altAnimState; diff --git a/src/enemy/leever.c b/src/enemy/leever.c index 959d8617..a71c28c0 100644 --- a/src/enemy/leever.c +++ b/src/enemy/leever.c @@ -79,7 +79,7 @@ void Leever_Idle(Entity* this) { InitializeAnimation(this, LeeverAnimation_DigUp); UpdateSpriteForCollisionLayer(this); } else { - this->actionDelay = (Random() & 0x18) + 8; + this->actionDelay = DirectionRound(Random()) + 8; } } } diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c index 9ca6ad24..e9cc6eee 100644 --- a/src/enemy/miniFireballGuy.c +++ b/src/enemy/miniFireballGuy.c @@ -11,66 +11,59 @@ extern void sub_08045678(Entity*); extern void (*const gUnk_080D1868[])(Entity*); extern void (*const gUnk_080D1880[])(Entity*); -void MiniFireballGuy(Entity *this) -{ - EnemyFunctionHandler(this, gUnk_080D1868); +void MiniFireballGuy(Entity* this) { + EnemyFunctionHandler(this, gUnk_080D1868); } -void sub_080455BC(Entity *this) -{ - gUnk_080D1880[this->action](this); +void sub_080455BC(Entity* this) { + gUnk_080D1880[this->action](this); } -void sub_080455D4(Entity *this) -{ - sub_0804AA30(this, gUnk_080D1868); +void sub_080455D4(Entity* this) { + sub_0804AA30(this, gUnk_080D1868); } -void sub_080455E4(Entity *this) -{ - if ((this != this->parent) && (this->parent != NULL)) { - this->field_0x6c.HALF.LO &= 0x7f; - this->parent->attachedEntity = this->attachedEntity; - this->attachedEntity->parent = this->parent; - } - sub_0804A7D4(this); +void sub_080455E4(Entity* this) { + if ((this != this->parent) && (this->parent != NULL)) { + this->field_0x6c.HALF.LO &= 0x7f; + this->parent->attachedEntity = this->attachedEntity; + this->attachedEntity->parent = this->parent; + } + sub_0804A7D4(this); } -void nullsub_23(Entity* this) {} - -void sub_08045618(Entity *this) -{ - this->action = 1; - this->spriteSettings.b.draw = 1; - this->nonPlanarMovement = 0x80; - this->field_0x3c = this->field_0x3c | 0x10; - sub_0804A720(this); - InitializeAnimation(this, 1); - sub_08045678(this); +void nullsub_23(Entity* this) { } -void sub_08045654(Entity *this) -{ - sub_080AEFE0(this); - GetNextFrame(this); - if (sub_08003FC4(this, 0x1800) == 0) { +void sub_08045618(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = 1; + this->nonPlanarMovement = 0x80; + this->field_0x3c = this->field_0x3c | 0x10; + sub_0804A720(this); + InitializeAnimation(this, 1); sub_08045678(this); - } } -void sub_08045678(Entity *this) -{ - - this->field_0x20 = 0x1c000; - if (this->actionDelay != 0) { - this->actionDelay--; - } else { - this->actionDelay = Random() & 3; - if ((sub_08049FA0(this) == 0) && (Random() & 3)) { - this->direction = (sub_08049EE4(this) - 4 + (Random() & 8)) & 0x18; +void sub_08045654(Entity* this) { + sub_080AEFE0(this); + GetNextFrame(this); + if (sub_08003FC4(this, 0x1800) == 0) { + sub_08045678(this); } - else { - this->direction = Random() & 0x18; +} + +void sub_08045678(Entity* this) { + + this->field_0x20 = 0x1c000; + if (this->actionDelay != 0) { + this->actionDelay--; + } else { + this->actionDelay = Random() & 3; + if ((sub_08049FA0(this) == 0) && (Random() & 3)) { + this->direction = DirectionRound(sub_08049EE4(this) - 4 + (Random() & 8)); + } else { + this->direction = DirectionRound(Random()); + } } - } } \ No newline at end of file diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 70b1a029..973f8839 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -78,9 +78,9 @@ void sub_080452FC(Entity *this) { cVar2 = sub_08049EE4(this); bVar3 = Random() & 8; bVar3 += 0xfc; - this->direction = (cVar2 + bVar3) & 0x18; + this->direction = DirectionRound(cVar2 + bVar3); } else { - this->direction = Random() & 0x18; + this->direction = DirectionRound(Random()); sub_08045374(this); } } diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index 45d6f118..74e80188 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -110,7 +110,7 @@ void Rollobite_Initialize(Entity* this) { this->field_0x16 = 0x30; this->field_0x1c = 18; this->cutsceneBeh.HALF.LO = 0; - this->direction = Random() & 0x18; + this->direction = DirectionRound(Random()); sub_08020A30(this); } @@ -197,7 +197,7 @@ void Rollobite_Unroll(Entity* this) { this->nonPlanarMovement = 0x100; this->damageType = 34; sub_08020A30(this); - this->direction = this->animationState << 3; + this->direction = DirectionFromAnimationState(this->animationState); InitializeAnimation(this, this->animationState); } else { if ((this->frames.all & 1) == 0) @@ -236,10 +236,10 @@ void sub_08020A30(Entity* this) { void sub_08020A7C(Entity* this) { int tmp = Random(); - u32 state = (this->direction + gUnk_080CA6D4[tmp % 3]) & 0x18; + u32 state = DirectionRound(this->direction + gUnk_080CA6D4[tmp % 3]); if (sub_08049FA0(this) == 0) { - int tmp = (sub_08049EE4(this) + 4) & 0x18; + int tmp = DirectionRoundUp(sub_08049EE4(this)); if ((state ^ 0x10) == tmp) state ^= 0x10; } diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 242d85a1..d1951553 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -192,7 +192,7 @@ void sub_08061E90(Entity* this, Entity* arg1) { if (arg1->spriteSettings.raw == 0) { arg1->spriteSettings.raw++; arg1->spriteIndex = (Random() & 0x3f) + 0x20; - animIndex = Random() & 0x18; + animIndex = DirectionRound(Random()); switch (this->direction) { case 0x0: if (animIndex == 0x10) { diff --git a/src/object/minecart.c b/src/object/minecart.c index 783e9696..9207c8c0 100644 --- a/src/object/minecart.c +++ b/src/object/minecart.c @@ -50,7 +50,7 @@ void sub_080916EC(Entity* this) { this->field_0x3c = 0x47; this->field_0x40 = 0x44; this->flags2 = 0x80; - this->direction = this->animationState << 3; + this->direction = DirectionFromAnimationState(this->animationState); this->nonPlanarMovement = 0x700; this->spritePriority.b1 = 3; InitAnimationForceUpdate(this, this->entityType.parameter + 4 + this->animationState); From 723d23396721cc5a7bfc16b76d682ed6a3f22882 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 1 Sep 2020 01:47:04 +0200 Subject: [PATCH 056/105] Enque -> Enqueue --- asm/armos.s | 8 ++++---- asm/ballChainSoldier.s | 2 +- asm/bigIceBlock.s | 2 +- asm/bigPushableLever.s | 4 ++-- asm/blockPushed.s | 2 +- asm/bobomb.s | 6 +++--- asm/bollard.s | 4 ++-- asm/book.s | 2 +- asm/bossDoor.s | 2 +- asm/businessScrub.s | 2 +- asm/businessScrubPrologue.s | 8 ++++---- asm/castorWildsStatue.s | 2 +- asm/cloudPiranha.s | 4 ++-- asm/code_080043E8.s | 4 ++-- asm/code_0800857C.s | 2 +- asm/code_08016DF8.s | 2 +- asm/code_08019444.s | 2 +- asm/code_080A5574.s | 32 ++++++++++++++++---------------- asm/cucco.s | 2 +- asm/cuccoAggr.s | 6 +++--- asm/cuccoChick.s | 2 +- asm/deathFx.s | 2 +- asm/dog.s | 4 ++-- asm/enemy4D.s | 2 +- asm/eyeSwitch.s | 2 +- asm/eyegore.s | 8 ++++---- asm/fairy.s | 2 +- asm/fallingBoulder.s | 2 +- asm/fan.s | 2 +- asm/figurineDevice.s | 2 +- asm/frozenWaterElement.s | 4 ++-- asm/lavaPlatform.s | 8 ++++---- asm/likeLike.s | 2 +- asm/lockedDoor.s | 4 ++-- asm/madderpillar.s | 16 ++++++++-------- asm/managerF.s | 2 +- asm/minecartDoor.s | 4 ++-- asm/minishEzlo.s | 4 ++-- asm/mountainMinish.s | 2 +- asm/mulldozer.s | 2 +- asm/object20.s | 2 +- asm/object24.s | 4 ++-- asm/object2A.s | 2 +- asm/object35.s | 4 ++-- asm/object43.s | 2 +- asm/object44.s | 2 +- asm/object64.s | 2 +- asm/object6A.s | 4 ++-- asm/object87.s | 2 +- asm/object8B.s | 2 +- asm/objectA0.s | 2 +- asm/objectA8.s | 2 +- asm/objectBlockingStairs.s | 6 +++--- asm/objectD.s | 4 ++-- asm/objectOnPillar.s | 4 ++-- asm/octorokGolden.s | 2 +- asm/picoBloom.s | 2 +- asm/puffstool.s | 2 +- asm/pullableLever.s | 6 +++--- asm/pushableFurniture.s | 6 +++--- asm/pushableGrave.s | 2 +- asm/pushableLever.s | 4 ++-- asm/pushableRock.s | 2 +- asm/pushableStatue.s | 2 +- asm/rope.s | 2 +- asm/scissorsBeetle.s | 2 +- asm/sensorBladeTrap.s | 2 +- asm/sluggula.s | 4 ++-- asm/smallIceBlock.s | 6 +++--- asm/spearMoblin.s | 4 ++-- asm/specialFx.s | 2 +- asm/spikedBeetle.s | 4 ++-- asm/stalfos.s | 12 ++++++------ asm/vaati.s | 6 +++--- asm/vaatiArm.s | 2 +- asm/vaatiEyesMacro.s | 4 ++-- asm/vaatiReborn.s | 2 +- asm/wallMaster.s | 2 +- asm/warpPoint.s | 4 ++-- asm/waterDrop.s | 2 +- asm/windTribespeople.s | 2 +- asm/wizzrobeFire.s | 4 ++-- asm/wizzrobeIce.s | 4 ++-- asm/wizzrobeWind.s | 4 ++-- include/functions.h | 2 +- src/enemy/acroBandits.c | 2 +- src/enemy/beetle.c | 4 ++-- src/enemy/bladeTrap.c | 4 ++-- src/enemy/chuchu.c | 8 ++++---- src/enemy/cuccoChickAggr.c | 6 +++--- src/enemy/darkNut.c | 16 ++++++++-------- src/enemy/doorMimic.c | 2 +- src/enemy/lakitu.c | 4 ++-- src/enemy/octorok.c | 2 +- src/enemy/rollobite.c | 2 +- src/enemy/rupeeLike.c | 2 +- src/enemy/spinyChuchu.c | 8 ++++---- src/npc/carlov.c | 6 +++--- src/npc/melari.c | 4 ++-- src/npc/postman.c | 4 ++-- src/object/lightableSwitch.c | 8 ++++---- src/object/mask.c | 4 ++-- src/object/metalDoor.c | 4 ++-- src/object/object2A.c | 2 +- src/object/pot.c | 2 +- src/object/railtrack.c | 8 ++++---- 106 files changed, 212 insertions(+), 212 deletions(-) diff --git a/asm/armos.s b/asm/armos.s index e8c495cd..bd76cf19 100644 --- a/asm/armos.s +++ b/asm/armos.s @@ -299,7 +299,7 @@ _080303C0: bl sub_08030834 movs r0, #0x95 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX b _0803042C .align 2, 0 _080303D0: .4byte gUnk_080FD2F0 @@ -450,7 +450,7 @@ _080304DE: strb r2, [r3] movs r0, #0x95 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _080304F0: pop {r4, pc} .align 2, 0 @@ -502,7 +502,7 @@ _0803053E: strb r0, [r3] movs r0, #0x95 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _08030552: pop {pc} @@ -1157,7 +1157,7 @@ sub_08030A04: @ 0x08030A04 ands r0, r1 strb r0, [r4] ldr r0, _08030A28 @ =0x00000101 - bl EnqueSFX + bl EnqueueSFX _08030A24: pop {r4, pc} .align 2, 0 diff --git a/asm/ballChainSoldier.s b/asm/ballChainSoldier.s index 817a4c7b..515d4854 100644 --- a/asm/ballChainSoldier.s +++ b/asm/ballChainSoldier.s @@ -306,7 +306,7 @@ sub_0803E71C: @ 0x0803E71C movs r0, #0xf6 strb r0, [r1] adds r0, #0x65 - bl EnqueSFX + bl EnqueueSFX _0803E756: pop {pc} .align 2, 0 diff --git a/asm/bigIceBlock.s b/asm/bigIceBlock.s index d7ff4818..6194398b 100644 --- a/asm/bigIceBlock.s +++ b/asm/bigIceBlock.s @@ -98,7 +98,7 @@ sub_080997CC: @ 0x080997CC strb r1, [r4, #0xc] strb r0, [r4, #0xe] ldr r0, _080997F0 @ =0x000001B3 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_080997F4 _080997EC: diff --git a/asm/bigPushableLever.s b/asm/bigPushableLever.s index 20cb7569..6c1b7753 100644 --- a/asm/bigPushableLever.s +++ b/asm/bigPushableLever.s @@ -66,7 +66,7 @@ sub_08098F14: @ 0x08098F14 bl SetTile movs r0, #0x99 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r5, #0 movs r1, #0x1e bl sub_0805E4E0 @@ -348,7 +348,7 @@ _08099166: cmp r0, #0 bne _08099194 ldr r0, _080991A0 @ =0x00000131 - bl EnqueSFX + bl EnqueueSFX _08099194: pop {r4, pc} .align 2, 0 diff --git a/asm/blockPushed.s b/asm/blockPushed.s index 551d6dd9..86af1cfc 100644 --- a/asm/blockPushed.s +++ b/asm/blockPushed.s @@ -233,7 +233,7 @@ _08082FF0: bl sub_080832D8 _08083088: ldr r0, _08083090 @ =0x0000010F - bl EnqueSFX + bl EnqueueSFX _0808308E: pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/bobomb.s b/asm/bobomb.s index e36df5cd..c0cf57ce 100644 --- a/asm/bobomb.s +++ b/asm/bobomb.s @@ -123,7 +123,7 @@ _0802C75E: adds r0, r4, #0 bl sub_0802CB68 ldr r0, _0802C76C @ =0x0000014D - bl EnqueSFX + bl EnqueueSFX b _0802C79E .align 2, 0 _0802C76C: .4byte 0x0000014D @@ -638,7 +638,7 @@ _0802CB10: bne _0802CB30 movs r0, #0x82 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0802CB30: adds r0, r4, #0 bl sub_0802CC18 @@ -777,7 +777,7 @@ sub_0802CC18: @ 0x0802CC18 movs r0, #0x1c strb r0, [r1] ldr r0, _0802CC38 @ =0x0000014D - bl EnqueSFX + bl EnqueueSFX _0802CC34: pop {pc} .align 2, 0 diff --git a/asm/bollard.s b/asm/bollard.s index 4fdf8b39..811c7f67 100644 --- a/asm/bollard.s +++ b/asm/bollard.s @@ -76,7 +76,7 @@ _0808B2F4: ldrb r2, [r2] bl SetTile ldr r0, _0808B320 @ =0x000001A5 - bl EnqueSFX + bl EnqueueSFX _0808B31C: pop {r4, pc} .align 2, 0 @@ -130,7 +130,7 @@ _0808B36C: adds r0, r4, #0 bl sub_0808B3AC ldr r0, _0808B388 @ =0x000001A5 - bl EnqueSFX + bl EnqueueSFX _0808B384: pop {r4, pc} .align 2, 0 diff --git a/asm/book.s b/asm/book.s index f5f6c852..325205d1 100644 --- a/asm/book.s +++ b/asm/book.s @@ -190,7 +190,7 @@ _0809B4C0: lsls r0, r0, #2 strb r0, [r1, #0x15] ldr r0, _0809B518 @ =0x0000010F - bl EnqueSFX + bl EnqueueSFX b _0809B520 .align 2, 0 _0809B510: .4byte gPlayerState diff --git a/asm/bossDoor.s b/asm/bossDoor.s index 577953ae..d48324aa 100644 --- a/asm/bossDoor.s +++ b/asm/bossDoor.s @@ -358,7 +358,7 @@ _0808C470: strh r0, [r1, #0x32] _0808C494: ldr r0, _0808C4A0 @ =0x0000010B - bl EnqueSFX + bl EnqueueSFX _0808C49A: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/businessScrub.s b/asm/businessScrub.s index c0c6f131..ea2a740e 100644 --- a/asm/businessScrub.s +++ b/asm/businessScrub.s @@ -70,7 +70,7 @@ sub_08028934: @ 0x08028934 strh r0, [r1, #0x36] _08028982: ldr r0, _0802898C @ =0x000001BB - bl EnqueSFX + bl EnqueueSFX _08028988: pop {r4, pc} .align 2, 0 diff --git a/asm/businessScrubPrologue.s b/asm/businessScrubPrologue.s index deb2307f..deb98135 100644 --- a/asm/businessScrubPrologue.s +++ b/asm/businessScrubPrologue.s @@ -85,7 +85,7 @@ _08045C16: movs r1, #0xff strb r1, [r0] ldr r0, _08045C34 @ =0x000001BB - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #2 bl sub_0805E3A0 @@ -480,7 +480,7 @@ _08045F00: adds r0, r4, #0 bl sub_080954AC ldr r0, _08045F34 @ =0x0000018D - bl EnqueSFX + bl EnqueueSFX b _08045F4E .align 2, 0 _08045F34: .4byte 0x0000018D @@ -698,7 +698,7 @@ _080460AE: bge _0804608A movs r0, #0xb7 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX ldr r0, _08046120 @ =0x000007A2 movs r1, #1 bl sub_0807BA8C @@ -725,7 +725,7 @@ _080460AE: bl CopyPosition movs r0, #0xc2 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _08046102: ldr r1, [r7, #0x54] cmp r1, #0 diff --git a/asm/castorWildsStatue.s b/asm/castorWildsStatue.s index 90bd9782..1ff5b938 100644 --- a/asm/castorWildsStatue.s +++ b/asm/castorWildsStatue.s @@ -260,7 +260,7 @@ _08067560: ble _0806753A movs r0, #0xa6 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX movs r0, #0x28 movs r1, #4 bl sub_08080964 diff --git a/asm/cloudPiranha.s b/asm/cloudPiranha.s index b30f3fb4..bda5efbc 100644 --- a/asm/cloudPiranha.s +++ b/asm/cloudPiranha.s @@ -376,7 +376,7 @@ sub_080386B8: @ 0x080386B8 strb r0, [r2] movs r0, #0x92 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #0x70 bl sub_0801D2B4 @@ -459,7 +459,7 @@ sub_08038754: @ 0x08038754 orrs r0, r1 strb r0, [r2] ldr r0, _080387C0 @ =0x0000012B - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #0x71 bl sub_0801D2B4 diff --git a/asm/code_080043E8.s b/asm/code_080043E8.s index 85ecffd6..bbd2883b 100644 --- a/asm/code_080043E8.s +++ b/asm/code_080043E8.s @@ -85,8 +85,8 @@ sub_08004484: @ 0x08004484 ldr r2, _080044DC @ =gUnk_03005FF0 bx r2 - thumb_func_start EnqueSFX -EnqueSFX: @ 0x08004488 + thumb_func_start EnqueueSFX +EnqueueSFX: @ 0x08004488 ldr r1, _080044E0 @ =gUnk_02024048 ldrb r2, [r1] cmp r2, #8 diff --git a/asm/code_0800857C.s b/asm/code_0800857C.s index 5dbf7120..cb5c54a0 100644 --- a/asm/code_0800857C.s +++ b/asm/code_0800857C.s @@ -769,7 +769,7 @@ sub_08008B22: @ 0x08008B22 sub_08008B2E: @ 0x08008B2E push {r0, lr} adds r0, r2, #0 - bl EnqueSFX + bl EnqueueSFX pop {r0, pc} .align 2, 0 _08008B38: .4byte 0x00000180 diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index ef099089..c8bfb456 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -398,7 +398,7 @@ _080170E8: cmp r0, #0 bne _08017112 ldr r0, _08017138 @ =0x0000011F - bl EnqueSFX + bl EnqueueSFX _08017112: ldr r0, _0801712C @ =gUnk_02002A40 adds r2, r0, #0 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index ebd87ab7..8a28ea67 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -4328,7 +4328,7 @@ _0801B4AC: cmp r0, #0 bne _0801B4C0 movs r0, #0xfb - bl EnqueSFX + bl EnqueueSFX _0801B4C0: pop {r4, pc} .align 2, 0 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index d9d6fa0c..63bf2f0a 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -6061,7 +6061,7 @@ sub_080A8470: @ 0x080A8470 cmp r0, #0x68 bne _080A848E movs r0, #0x86 - bl EnqueSFX + bl EnqueueSFX _080A848E: adds r0, r4, #0 bl DeleteEntity @@ -6115,7 +6115,7 @@ sub_080A84C8: @ 0x080A84C8 strb r0, [r1] _080A84F0: ldr r0, _080A8500 @ =0x0000018D - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #0x18 bl InitializeAnimation @@ -6328,7 +6328,7 @@ sub_080A8680: @ 0x080A8680 strb r1, [r0, #0xf] movs r0, #0x8c lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX pop {pc} thumb_func_start sub_080A86A0 @@ -6344,7 +6344,7 @@ sub_080A86A0: @ 0x080A86A0 strh r3, [r0, #0x24] movs r0, #0xc7 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX pop {pc} thumb_func_start sub_080A86BC @@ -6810,7 +6810,7 @@ _080A8A16: movs r1, #1 bl InitializeAnimation movs r0, #0x84 - bl EnqueSFX + bl EnqueueSFX movs r0, #3 strb r0, [r5, #0xc] b _080A8A44 @@ -6893,7 +6893,7 @@ _080A8AAA: adds r0, r2, #0 bl InitializeAnimation ldr r0, _080A8AC4 @ =0x0000015F - bl EnqueSFX + bl EnqueueSFX _080A8AC2: pop {pc} .align 2, 0 @@ -7053,7 +7053,7 @@ _080A8BDA: bl InitializeAnimation movs r0, #0xaf lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _080A8BF4: pop {pc} .align 2, 0 @@ -7198,7 +7198,7 @@ _080A8CEE: bl InitializeAnimation movs r0, #0xb0 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _080A8D08: pop {pc} .align 2, 0 @@ -8110,7 +8110,7 @@ sub_080A93DC: @ 0x080A93DC bl InitializeAnimation movs r0, #0xc5 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_0806F69C b _080A9424 @@ -8199,7 +8199,7 @@ sub_080A9488: @ 0x080A9488 lsrs r0, r0, #3 strb r0, [r4, #0x14] movs r0, #0x74 - bl EnqueSFX + bl EnqueueSFX ldrb r1, [r4, #0x14] adds r0, r4, #0 bl sub_080A94C0 @@ -9728,7 +9728,7 @@ sub_080A9FD0: @ 0x080A9FD0 ands r0, r1 strb r0, [r2] ldr r0, _080AA038 @ =0x0000015D - bl EnqueSFX + bl EnqueueSFX _080A9FF2: movs r0, #0x2e ldrsh r1, [r5, r0] @@ -9906,7 +9906,7 @@ _080AA136: bl DeleteThisEntity _080AA14E: movs r0, #0xf2 - bl EnqueSFX + bl EnqueueSFX movs r4, #1 strb r4, [r6, #0xc] movs r0, #0xff @@ -10715,7 +10715,7 @@ _080AA774: adds r0, r4, #0 bl InitAnimationForceUpdate ldr r0, _080AA788 @ =0x00000101 - bl EnqueSFX + bl EnqueueSFX _080AA784: pop {r4, r5, r6, pc} .align 2, 0 @@ -10780,7 +10780,7 @@ _080AA7DA: strb r0, [r5] movs r0, #0x80 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _080AA806: ldrb r1, [r5] movs r0, #0x80 @@ -10989,7 +10989,7 @@ _080AA920: strh r0, [r7, #0x32] movs r0, #0x80 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _080AA99A: pop {r4, r5, r6, r7, pc} .align 2, 0 @@ -15575,7 +15575,7 @@ sub_080ACB90: @ 0x080ACB90 movs r2, #0x40 bl CreateFx ldr r0, _080ACBC8 @ =0x00000119 - bl EnqueSFX + bl EnqueueSFX bl DeleteThisEntity _080ACBC6: pop {r4, pc} diff --git a/asm/cucco.s b/asm/cucco.s index 13120cfc..2013d64c 100644 --- a/asm/cucco.s +++ b/asm/cucco.s @@ -93,7 +93,7 @@ _0806E52C: lsls r1, r1, #1 adds r1, r1, r4 ldrh r0, [r1] - bl EnqueSFX + bl EnqueueSFX _0806E552: adds r0, r5, #0 bl sub_0806E65C diff --git a/asm/cuccoAggr.s b/asm/cuccoAggr.s index a339f4cc..c8046759 100644 --- a/asm/cuccoAggr.s +++ b/asm/cuccoAggr.s @@ -194,7 +194,7 @@ sub_08038DD8: @ 0x08038DD8 movs r1, #4 bl InitializeAnimation ldr r0, _08038E14 @ =0x000001D9 - bl EnqueSFX + bl EnqueueSFX pop {pc} .align 2, 0 _08038E10: .4byte gUnk_080CF7BC @@ -519,7 +519,7 @@ _0803906C: movs r1, #0xeb lsls r1, r1, #1 adds r0, r5, r1 - bl EnqueSFX + bl EnqueueSFX b _080390BC _080390AA: movs r0, #4 @@ -743,7 +743,7 @@ sub_08039218: @ 0x08039218 bl InitializeAnimation _0803924C: ldr r0, _0803925C @ =0x000001D9 - bl EnqueSFX + bl EnqueueSFX pop {pc} .align 2, 0 _08039254: .4byte gUnk_080CF824 diff --git a/asm/cuccoChick.s b/asm/cuccoChick.s index d325fcc8..a1e8a869 100644 --- a/asm/cuccoChick.s +++ b/asm/cuccoChick.s @@ -81,7 +81,7 @@ _0806E782: cmp r1, #0 beq _0806E7A8 movs r0, #0xd6 - bl EnqueSFX + bl EnqueueSFX _0806E7A8: adds r0, r4, #0 bl sub_0806E838 diff --git a/asm/deathFx.s b/asm/deathFx.s index ca601373..63eafe4a 100644 --- a/asm/deathFx.s +++ b/asm/deathFx.s @@ -125,7 +125,7 @@ _08081702: movs r0, #1 strb r0, [r4, #0xc] movs r0, #0xff - bl EnqueSFX + bl EnqueueSFX _0808170C: adds r0, r4, #0 movs r1, #3 diff --git a/asm/dog.s b/asm/dog.s index c7170024..c0a02ab3 100644 --- a/asm/dog.s +++ b/asm/dog.s @@ -473,9 +473,9 @@ _08069EA0: adds r0, r4, #0 bl sub_080788E0 movs r0, #0xd1 - bl EnqueSFX + bl EnqueueSFX movs r0, #0xcd - bl EnqueSFX + bl EnqueueSFX _08069EC8: pop {r4, r5, r6, r7, pc} .align 2, 0 diff --git a/asm/enemy4D.s b/asm/enemy4D.s index c7216a38..03a8a479 100644 --- a/asm/enemy4D.s +++ b/asm/enemy4D.s @@ -234,7 +234,7 @@ sub_0803ED40: @ 0x0803ED40 movs r0, #0xf6 strb r0, [r1] adds r0, #0x65 - bl EnqueSFX + bl EnqueueSFX _0803ED74: pop {pc} .align 2, 0 diff --git a/asm/eyeSwitch.s b/asm/eyeSwitch.s index 5fa1d8e5..a91ff6eb 100644 --- a/asm/eyeSwitch.s +++ b/asm/eyeSwitch.s @@ -109,7 +109,7 @@ _08088728: ands r0, r1 strb r0, [r4, #0x10] ldr r0, _0808875C @ =0x00000111 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 adds r0, #0x86 ldrh r0, [r0] diff --git a/asm/eyegore.s b/asm/eyegore.s index 43ca7f0d..a49491c7 100644 --- a/asm/eyegore.s +++ b/asm/eyegore.s @@ -105,7 +105,7 @@ _08030AC0: movs r0, #0x86 lsls r0, r0, #1 _08030AE0: - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_08031344 b _08030B0E @@ -124,7 +124,7 @@ _08030AFA: movs r0, #0xf strb r0, [r1] movs r0, #0xfe - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_08031344 _08030B0E: @@ -563,7 +563,7 @@ sub_08030E3C: @ 0x08030E3C lsls r1, r1, #9 str r1, [r0, #0x20] ldr r0, _08030E54 @ =0x00000157 - bl EnqueSFX + bl EnqueueSFX pop {pc} .align 2, 0 _08030E54: .4byte 0x00000157 @@ -589,7 +589,7 @@ sub_08030E70: @ 0x08030E70 bl sub_08030E80 movs r0, #0xac lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX pop {pc} thumb_func_start sub_08030E80 diff --git a/asm/fairy.s b/asm/fairy.s index b17899db..236beb3f 100644 --- a/asm/fairy.s +++ b/asm/fairy.s @@ -188,7 +188,7 @@ sub_0808D7B4: @ 0x0808D7B4 bl sub_0805E3A0 movs r0, #0x9b lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX ldrb r0, [r4, #0xb] cmp r0, #2 beq _0808D834 diff --git a/asm/fallingBoulder.s b/asm/fallingBoulder.s index 9431e511..9fbcfe62 100644 --- a/asm/fallingBoulder.s +++ b/asm/fallingBoulder.s @@ -216,7 +216,7 @@ _0802C36A: bne _0802C3CC movs r0, #0xa6 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX ldrb r1, [r4, #0x10] movs r0, #0x80 orrs r0, r1 diff --git a/asm/fan.s b/asm/fan.s index 51822d10..86fedf65 100644 --- a/asm/fan.s +++ b/asm/fan.s @@ -347,7 +347,7 @@ sub_0809F0E4: @ 0x0809F0E4 push {r4, r5, lr} adds r5, r0, #0 ldr r0, _0809F124 @ =0x00000183 - bl EnqueSFX + bl EnqueueSFX ldrb r0, [r5, #0xa] movs r1, #2 eors r1, r0 diff --git a/asm/figurineDevice.s b/asm/figurineDevice.s index ed64416f..7e099233 100644 --- a/asm/figurineDevice.s +++ b/asm/figurineDevice.s @@ -266,7 +266,7 @@ _08087D60: bl PositionRelative _08087DAA: ldr r0, _08087DB8 @ =0x00000111 - bl EnqueSFX + bl EnqueueSFX _08087DB0: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/frozenWaterElement.s b/asm/frozenWaterElement.s index d2e0ac77..97699a4d 100644 --- a/asm/frozenWaterElement.s +++ b/asm/frozenWaterElement.s @@ -96,7 +96,7 @@ sub_0809BF1C: @ 0x0809BF1C lsls r0, r0, #1 strh r0, [r1] adds r0, #0x73 - bl EnqueSFX + bl EnqueueSFX _0809BF6C: pop {r4, pc} .align 2, 0 @@ -129,7 +129,7 @@ _0809BFA0: cmp r1, #0 bne _0809BFAE ldr r0, _0809C09C @ =0x000001B3 - bl EnqueSFX + bl EnqueueSFX _0809BFAE: ldrh r0, [r5] cmp r0, #0x77 diff --git a/asm/lavaPlatform.s b/asm/lavaPlatform.s index c2dc7c10..3024b6b9 100644 --- a/asm/lavaPlatform.s +++ b/asm/lavaPlatform.s @@ -73,7 +73,7 @@ sub_0809229C: @ 0x0809229C bl InitAnimationForceUpdate movs r0, #0xbf lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX ldr r0, [r4, #0x54] movs r1, #3 bl InitializeAnimation @@ -281,7 +281,7 @@ _08092434: movs r1, #2 bl InitializeAnimation ldr r0, _08092468 @ =0x0000017B - bl EnqueSFX + bl EnqueueSFX _08092462: pop {r4, pc} .align 2, 0 @@ -335,7 +335,7 @@ _080924B8: strb r0, [r3] movs r0, #0xbe lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX b _080924DC _080924CC: movs r0, #2 @@ -344,7 +344,7 @@ _080924CC: beq _080924DC strb r2, [r3] ldr r0, _080924E0 @ =0x0000017D - bl EnqueSFX + bl EnqueueSFX _080924DC: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/likeLike.s b/asm/likeLike.s index e0b8c086..438361dd 100644 --- a/asm/likeLike.s +++ b/asm/likeLike.s @@ -485,7 +485,7 @@ _080280F0: bne _08028102 movs r0, #0x82 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _08028102: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/lockedDoor.s b/asm/lockedDoor.s index 22acc1b0..a41b0bfb 100644 --- a/asm/lockedDoor.s +++ b/asm/lockedDoor.s @@ -232,7 +232,7 @@ sub_080834B4: @ 0x080834B4 ldrb r2, [r2] bl SetTile ldr r0, _080834E8 @ =0x0000010B - bl EnqueSFX + bl EnqueueSFX _080834E6: pop {pc} .align 2, 0 @@ -323,7 +323,7 @@ _0808357A: adds r0, r4, #0 bl sub_08083814 ldr r0, _08083590 @ =0x0000010B - bl EnqueSFX + bl EnqueueSFX _0808358C: pop {r4, pc} .align 2, 0 diff --git a/asm/madderpillar.s b/asm/madderpillar.s index d569af3e..c98eafb5 100644 --- a/asm/madderpillar.s +++ b/asm/madderpillar.s @@ -117,7 +117,7 @@ _08029948: movs r1, #0x7f bl sub_0801D2B4 movs r0, #0xfe - bl EnqueSFX + bl EnqueueSFX ldr r0, [r5, #0x54] strb r4, [r0, #0xc] _08029970: @@ -298,7 +298,7 @@ sub_08029AA4: @ 0x08029AA4 adds r0, r1, #0 bl sub_08029EEC ldr r0, _08029ADC @ =0x0000019D - bl EnqueSFX + bl EnqueueSFX _08029ADA: pop {pc} .align 2, 0 @@ -335,7 +335,7 @@ sub_08029AE0: @ 0x08029AE0 bl sub_0801D2B4 movs r0, #0xc1 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _08029B28: pop {r4, pc} .align 2, 0 @@ -491,7 +491,7 @@ sub_08029C2C: @ 0x08029C2C movs r1, #0x7f bl sub_0801D2B4 movs r0, #0x6c - bl EnqueSFX + bl EnqueueSFX _08029C4E: pop {pc} @@ -625,7 +625,7 @@ sub_08029D14: @ 0x08029D14 movs r1, #0x7f bl sub_0801D2B4 movs r0, #0x6c - bl EnqueSFX + bl EnqueueSFX b _08029D70 _08029D42: adds r0, r4, #0 @@ -648,7 +648,7 @@ _08029D42: ldr r0, _08029D74 @ =gUnk_080FD298 str r0, [r4, #0x48] movs r0, #0x6b - bl EnqueSFX + bl EnqueueSFX _08029D70: pop {r4, pc} .align 2, 0 @@ -1132,7 +1132,7 @@ _0802A0B8: bl sub_08029EEC movs r0, #0x82 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0802A0E4: movs r0, #0x2e ldrsh r1, [r4, r0] @@ -1286,7 +1286,7 @@ _0802A1B0: @ jump table _0802A22C: movs r0, #0x97 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0802A234: pop {pc} .align 2, 0 diff --git a/asm/managerF.s b/asm/managerF.s index f2181c89..04cc1c91 100644 --- a/asm/managerF.s +++ b/asm/managerF.s @@ -747,7 +747,7 @@ _08059436: strh r0, [r2, #0x32] movs r0, #0xd8 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX bl DeleteThisEntity _08059476: pop {r4, pc} diff --git a/asm/minecartDoor.s b/asm/minecartDoor.s index a2988960..d75eec45 100644 --- a/asm/minecartDoor.s +++ b/asm/minecartDoor.s @@ -150,7 +150,7 @@ sub_08096BBC: @ 0x08096BBC ldrb r2, [r2] bl SetTile ldr r0, _08096BF4 @ =0x0000010B - bl EnqueSFX + bl EnqueueSFX _08096BF2: pop {r4, pc} .align 2, 0 @@ -277,7 +277,7 @@ sub_08096CB0: @ 0x08096CB0 adds r0, r4, #0 bl sub_08083814 ldr r0, _08096CE8 @ =0x0000010B - bl EnqueSFX + bl EnqueueSFX _08096CE6: pop {r4, pc} .align 2, 0 diff --git a/asm/minishEzlo.s b/asm/minishEzlo.s index c470a603..057a51b8 100644 --- a/asm/minishEzlo.s +++ b/asm/minishEzlo.s @@ -48,7 +48,7 @@ _08062FA0: ands r0, r1 strb r0, [r4] ldr r0, _08062FEC @ =0x000001CF - bl EnqueSFX + bl EnqueueSFX _08062FCC: ldrb r1, [r4] movs r0, #0x20 @@ -60,7 +60,7 @@ _08062FCC: strb r0, [r4] movs r0, #0x88 lsls r0, r0, #2 - bl EnqueSFX + bl EnqueueSFX _08062FE4: pop {r4, pc} .align 2, 0 diff --git a/asm/mountainMinish.s b/asm/mountainMinish.s index c9571ff4..60dde3ec 100644 --- a/asm/mountainMinish.s +++ b/asm/mountainMinish.s @@ -299,7 +299,7 @@ _08068068: lsls r0, r0, #1 adds r0, r0, r4 ldrh r0, [r0] - bl EnqueSFX + bl EnqueueSFX _0806807E: ldrb r1, [r6] movs r0, #2 diff --git a/asm/mulldozer.s b/asm/mulldozer.s index 4c449faa..8244ecb8 100644 --- a/asm/mulldozer.s +++ b/asm/mulldozer.s @@ -826,7 +826,7 @@ _08033238: strh r0, [r4, #0x32] movs r0, #0x86 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _08033278: pop {r4, r5, r6, pc} .align 2, 0 diff --git a/asm/object20.s b/asm/object20.s index 7fe7e16d..526b9cd8 100644 --- a/asm/object20.s +++ b/asm/object20.s @@ -64,7 +64,7 @@ _08087836: adds r0, r4, #0 bl sub_0801766C movs r0, #0xfd - bl EnqueSFX + bl EnqueueSFX pop {r4, pc} .align 2, 0 _08087884: .4byte gUnk_08120A54 diff --git a/asm/object24.s b/asm/object24.s index 16ac6466..00ed5c8b 100644 --- a/asm/object24.s +++ b/asm/object24.s @@ -93,7 +93,7 @@ sub_0808886C: @ 0x0808886C ldrh r0, [r0] bl SetFlag ldr r0, _080888B4 @ =0x0000016B - bl EnqueSFX + bl EnqueueSFX b _080888F2 .align 2, 0 _080888B4: .4byte 0x0000016B @@ -117,7 +117,7 @@ _080888D2: _080888DA: movs r0, #0x86 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX b _080888F0 _080888E4: cmp r4, r0 diff --git a/asm/object2A.s b/asm/object2A.s index da9945a6..d43ecb9c 100644 --- a/asm/object2A.s +++ b/asm/object2A.s @@ -140,6 +140,6 @@ _08089C96: bl InitializeAnimation movs r0, #0x92 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _08089CBA: pop {r4, r5, r6, pc} diff --git a/asm/object35.s b/asm/object35.s index 532c75c4..746cf2e4 100644 --- a/asm/object35.s +++ b/asm/object35.s @@ -220,7 +220,7 @@ sub_0808B9D4: @ 0x0808B9D4 ldrb r2, [r2] bl SetTile ldr r0, _0808BA0C @ =0x0000010B - bl EnqueSFX + bl EnqueueSFX _0808BA0A: pop {r4, pc} .align 2, 0 @@ -294,7 +294,7 @@ sub_0808BA6C: @ 0x0808BA6C movs r1, #2 bl sub_08083814 ldr r0, _0808BAA8 @ =0x0000010B - bl EnqueSFX + bl EnqueueSFX ldr r0, _0808BAAC @ =0x00004022 adds r1, r4, #0 adds r1, #0x76 diff --git a/asm/object43.s b/asm/object43.s index 48912c1e..55392ea6 100644 --- a/asm/object43.s +++ b/asm/object43.s @@ -263,7 +263,7 @@ _0808E084: _0808E0B8: .4byte gScreenTransition _0808E0BC: ldr r0, _0808E140 @ =0x00000115 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #0x12 movs r2, #0 diff --git a/asm/object44.s b/asm/object44.s index 98dc9e54..f97e9383 100644 --- a/asm/object44.s +++ b/asm/object44.s @@ -113,7 +113,7 @@ _0808E340: cmp r0, #0 beq _0808E34E ldr r0, _0808E350 @ =0x0000018B - bl EnqueSFX + bl EnqueueSFX _0808E34E: pop {r4, pc} .align 2, 0 diff --git a/asm/object64.s b/asm/object64.s index 03c201f9..dc28fa20 100644 --- a/asm/object64.s +++ b/asm/object64.s @@ -61,7 +61,7 @@ _08093E6A: cmp r0, #0 bne _08093E90 ldrh r0, [r2] - bl EnqueSFX + bl EnqueueSFX _08093E90: ldrb r1, [r4, #0xb] movs r0, #0x20 diff --git a/asm/object6A.s b/asm/object6A.s index 8eb8d64d..dd1859cc 100644 --- a/asm/object6A.s +++ b/asm/object6A.s @@ -637,7 +637,7 @@ _08094ED4: bl InitializeAnimation movs r0, #0xbf lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX b _08094F94 .align 2, 0 _08094F04: .4byte 0xFFFFE000 @@ -1992,7 +1992,7 @@ sub_08095954: @ 0x08095954 str r0, [r1] movs r0, #0x92 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r2, r5, #0 adds r2, #0x5a ldrb r1, [r2] diff --git a/asm/object87.s b/asm/object87.s index 9ee385e3..c6c724ce 100644 --- a/asm/object87.s +++ b/asm/object87.s @@ -67,7 +67,7 @@ _08099F70: bl InitializeAnimation movs r0, #0x92 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX b _0809A1B6 _08099F82: ldr r0, [r5, #0x50] diff --git a/asm/object8B.s b/asm/object8B.s index ddaa9483..a02afe6b 100644 --- a/asm/object8B.s +++ b/asm/object8B.s @@ -170,7 +170,7 @@ sub_0809B050: @ 0x0809B050 bl sub_0809B0B0 movs r0, #0x86 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0809B0A2: pop {r4, r5, pc} .align 2, 0 diff --git a/asm/objectA0.s b/asm/objectA0.s index 4e8acfd6..fee7ebba 100644 --- a/asm/objectA0.s +++ b/asm/objectA0.s @@ -114,7 +114,7 @@ sub_0809F1B0: @ 0x0809F1B0 adds r1, r5, #0 bl PositionRelative movs r0, #0xec - bl EnqueSFX + bl EnqueueSFX b _0809F21E .align 2, 0 _0809F208: .4byte gUnk_08124684 diff --git a/asm/objectA8.s b/asm/objectA8.s index 5414d233..47032256 100644 --- a/asm/objectA8.s +++ b/asm/objectA8.s @@ -65,7 +65,7 @@ _0809FAE6: bl sub_0805E3A0 movs r0, #0x9b lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0809FB30: pop {pc} .align 2, 0 diff --git a/asm/objectBlockingStairs.s b/asm/objectBlockingStairs.s index 38850853..99edc949 100644 --- a/asm/objectBlockingStairs.s +++ b/asm/objectBlockingStairs.s @@ -184,7 +184,7 @@ _08092FF2: movs r1, #0x50 bl sub_0805E4E0 ldr r0, _0809303C @ =0x0000010F - bl EnqueSFX + bl EnqueueSFX adds r0, r6, #0 bl sub_08093248 b _080930E6 @@ -326,7 +326,7 @@ _08093104: strb r0, [r4, #0x15] strb r2, [r4, #0xe] ldr r0, _08093164 @ =0x0000010F - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_08093248 b _08093174 @@ -620,7 +620,7 @@ _0809334A: adds r1, r5, #0 bl sub_08093308 movs r0, #0x72 - bl EnqueSFX + bl EnqueueSFX pop {r4, r5, pc} .align 2, 0 diff --git a/asm/objectD.s b/asm/objectD.s index f6f6cf5c..d2296bfa 100644 --- a/asm/objectD.s +++ b/asm/objectD.s @@ -124,7 +124,7 @@ sub_080843F8: @ 0x080843F8 movs r2, #0 bl CreateFx ldr r0, _08084424 @ =0x0000010D - bl EnqueSFX + bl EnqueueSFX _08084420: pop {pc} .align 2, 0 @@ -150,7 +150,7 @@ sub_08084428: @ 0x08084428 bl SetFlag movs r0, #0x86 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _08084454: pop {r4, pc} .align 2, 0 diff --git a/asm/objectOnPillar.s b/asm/objectOnPillar.s index 344e6854..a6f43db9 100644 --- a/asm/objectOnPillar.s +++ b/asm/objectOnPillar.s @@ -360,7 +360,7 @@ sub_08097098: @ 0x08097098 movs r0, #0x20 strh r0, [r1] adds r0, #0xef - bl EnqueSFX + bl EnqueueSFX adds r0, r6, #0 adds r0, #0x70 ldrh r0, [r0] @@ -504,7 +504,7 @@ _080971B8: ldrh r0, [r0] bl SetFlag ldr r0, _080971D8 @ =0x0000010B - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_080971E0 movs r0, #1 diff --git a/asm/octorokGolden.s b/asm/octorokGolden.s index 7366c687..3256ab32 100644 --- a/asm/octorokGolden.s +++ b/asm/octorokGolden.s @@ -201,7 +201,7 @@ sub_08037D54: @ 0x08037D54 strh r0, [r2, #0x36] movs r0, #0x92 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX b _08037E0C .align 2, 0 _08037DBC: .4byte gUnk_080CF490 diff --git a/asm/picoBloom.s b/asm/picoBloom.s index 6ce20de9..0fa701a6 100644 --- a/asm/picoBloom.s +++ b/asm/picoBloom.s @@ -84,7 +84,7 @@ sub_08098AE8: @ 0x08098AE8 ands r0, r1 strb r0, [r4] ldr r0, _08098B0C @ =0x0000021B - bl EnqueSFX + bl EnqueueSFX _08098B08: pop {r4, pc} .align 2, 0 diff --git a/asm/puffstool.s b/asm/puffstool.s index cf03222f..70b4dca2 100644 --- a/asm/puffstool.s +++ b/asm/puffstool.s @@ -154,7 +154,7 @@ _080250C2: _08025104: movs r0, #0xc3 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0802510C: ldr r1, _08025118 @ =gUnk_080CBF9C adds r0, r4, #0 diff --git a/asm/pullableLever.s b/asm/pullableLever.s index f9dc53c4..ff888fe0 100644 --- a/asm/pullableLever.s +++ b/asm/pullableLever.s @@ -296,7 +296,7 @@ _080913E0: strb r5, [r1] movs r0, #0xcf lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0809142A: pop {r4, r5, r6, r7, pc} .align 2, 0 @@ -575,7 +575,7 @@ _080915E0: bhi _08091640 movs r0, #0x86 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r5, #0 adds r0, #0x86 ldrh r0, [r0] @@ -593,7 +593,7 @@ _08091640: movs r0, #0x10 strb r0, [r5, #0xf] adds r0, #0xff - bl EnqueSFX + bl EnqueueSFX _08091656: add sp, #4 pop {r3, r4} diff --git a/asm/pushableFurniture.s b/asm/pushableFurniture.s index fd04b86c..2e0e74d0 100644 --- a/asm/pushableFurniture.s +++ b/asm/pushableFurniture.s @@ -230,7 +230,7 @@ _0808FAF2: bne _0808FB0A movs r0, #0x86 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0808FB0A: ldrb r0, [r4, #0xa] cmp r0, #2 @@ -271,7 +271,7 @@ _0808FB3E: movs r0, #2 strb r0, [r4, #0xd] movs r0, #0x80 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_0808FF20 b _0808FB64 @@ -598,7 +598,7 @@ _0808FDB4: strb r0, [r4, #0xe] _0808FDB6: ldr r0, _0808FDE0 @ =0x0000010F - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_08090254 ldr r1, _0808FDE4 @ =gUnk_080B4488 diff --git a/asm/pushableGrave.s b/asm/pushableGrave.s index 00dcfd34..d65652f4 100644 --- a/asm/pushableGrave.s +++ b/asm/pushableGrave.s @@ -293,7 +293,7 @@ _080977BC: b _080977E4 _080977C8: movs r0, #0x72 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_080977F4 ldrb r0, [r4, #0xa] diff --git a/asm/pushableLever.s b/asm/pushableLever.s index e20940d6..cb21b55c 100644 --- a/asm/pushableLever.s +++ b/asm/pushableLever.s @@ -62,7 +62,7 @@ sub_08098294: @ 0x08098294 bl SetTile movs r0, #0xb5 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #0x1e bl sub_0805E4E0 @@ -315,7 +315,7 @@ _08098492: bne _080984C2 movs r0, #0x82 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _080984C2: pop {r4, pc} .align 2, 0 diff --git a/asm/pushableRock.s b/asm/pushableRock.s index 16ba39cb..c9d147b7 100644 --- a/asm/pushableRock.s +++ b/asm/pushableRock.s @@ -114,7 +114,7 @@ _0808A598: adds r0, r4, #0 bl InitializeAnimation ldr r0, _0808A5C8 @ =0x0000010F - bl EnqueSFX + bl EnqueueSFX b _0808A5DE .align 2, 0 _0808A5C8: .4byte 0x0000010F diff --git a/asm/pushableStatue.s b/asm/pushableStatue.s index 4cc9ad88..efd6cdfa 100644 --- a/asm/pushableStatue.s +++ b/asm/pushableStatue.s @@ -463,7 +463,7 @@ sub_08089538: @ 0x08089538 movs r0, #0x20 strh r0, [r1] adds r0, #0xef - bl EnqueSFX + bl EnqueueSFX adds r0, r5, #0 adds r0, #0x80 ldrh r0, [r0] diff --git a/asm/rope.s b/asm/rope.s index c65ccb53..d16b913c 100644 --- a/asm/rope.s +++ b/asm/rope.s @@ -214,7 +214,7 @@ _080314CC: adds r0, r4, #0 bl UpdateSpriteForCollisionLayer movs r0, #0x84 - bl EnqueSFX + bl EnqueueSFX _080314FA: pop {r4, pc} diff --git a/asm/scissorsBeetle.s b/asm/scissorsBeetle.s index 04e7d56d..956643ba 100644 --- a/asm/scissorsBeetle.s +++ b/asm/scissorsBeetle.s @@ -356,7 +356,7 @@ _08038B18: movs r1, #0 bl sub_08038C84 ldr r0, _08038B60 @ =0x0000015B - bl EnqueSFX + bl EnqueueSFX _08038B5E: pop {r4, pc} .align 2, 0 diff --git a/asm/sensorBladeTrap.s b/asm/sensorBladeTrap.s index f95f02b4..1351ee98 100644 --- a/asm/sensorBladeTrap.s +++ b/asm/sensorBladeTrap.s @@ -200,7 +200,7 @@ sub_0802BB10: @ 0x0802BB10 eors r1, r2 strb r1, [r0, #0x15] movs r0, #0x74 - bl EnqueSFX + bl EnqueueSFX pop {pc} .align 2, 0 diff --git a/asm/sluggula.s b/asm/sluggula.s index 8ae3f9a9..d75ab61a 100644 --- a/asm/sluggula.s +++ b/asm/sluggula.s @@ -266,7 +266,7 @@ _08023D6E: cmp r0, #0 bne _08023E0A ldr r0, _08023D90 @ =0x0000012D - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #4 bl InitializeAnimation @@ -289,7 +289,7 @@ _08023D94: orrs r0, r1 strb r0, [r4, #0x18] movs r0, #0x84 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl UpdateSpriteForCollisionLayer b _08023E0A diff --git a/asm/smallIceBlock.s b/asm/smallIceBlock.s index e851c0e6..ab6f9052 100644 --- a/asm/smallIceBlock.s +++ b/asm/smallIceBlock.s @@ -104,7 +104,7 @@ sub_08099248: @ 0x08099248 strb r0, [r4, #0xc] strb r1, [r4, #0xe] ldr r0, _0809927C @ =0x000001B3 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_08099330 ldrb r0, [r4, #0xa] @@ -200,7 +200,7 @@ sub_08099310: @ 0x08099310 bl sub_08099468 movs r0, #0xd9 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0809932E: pop {r4, pc} @@ -406,7 +406,7 @@ sub_080994B8: @ 0x080994B8 push {r4, r5, r6, lr} adds r5, r0, #0 ldr r0, _08099530 @ =0x000001B1 - bl EnqueSFX + bl EnqueueSFX adds r0, r5, #0 adds r0, #0x6c ldrh r0, [r0] diff --git a/asm/spearMoblin.s b/asm/spearMoblin.s index 123692be..6d6ba820 100644 --- a/asm/spearMoblin.s +++ b/asm/spearMoblin.s @@ -350,7 +350,7 @@ _080284B4: strb r0, [r4, #0x15] movs r0, #0x8f lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX b _0802850A _080284D2: strb r1, [r4, #0xc] @@ -477,7 +477,7 @@ _080285BC: cmp r0, #0 bne _080285D6 movs r0, #0xf0 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #2 movs r2, #0x40 diff --git a/asm/specialFx.s b/asm/specialFx.s index 27ece1b6..383cd385 100644 --- a/asm/specialFx.s +++ b/asm/specialFx.s @@ -101,7 +101,7 @@ _0808456C: cmp r0, #0 bne _08084582 ldrh r0, [r4, #2] - bl EnqueSFX + bl EnqueueSFX _08084582: ldrb r1, [r5, #0xb] movs r0, #0x80 diff --git a/asm/spikedBeetle.s b/asm/spikedBeetle.s index bcaf117b..a5035592 100644 --- a/asm/spikedBeetle.s +++ b/asm/spikedBeetle.s @@ -366,7 +366,7 @@ _0802B8CC: strb r0, [r4, #0xe] _0802B8D4: ldr r0, _0802B8DC @ =0x0000012B - bl EnqueSFX + bl EnqueueSFX _0802B8DA: pop {r4, pc} .align 2, 0 @@ -419,7 +419,7 @@ _0802B91C: adds r0, r3, #0 bl InitializeAnimation ldr r0, _0802B944 @ =0x0000012B - bl EnqueSFX + bl EnqueueSFX _0802B940: pop {r4, pc} .align 2, 0 diff --git a/asm/stalfos.s b/asm/stalfos.s index 309afcfa..1476b093 100644 --- a/asm/stalfos.s +++ b/asm/stalfos.s @@ -153,7 +153,7 @@ _08039390: strb r0, [r1, #0xb] movs r0, #0xc3 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX b _080393DC _080393CA: adds r0, r1, #0 @@ -162,7 +162,7 @@ _080393CA: strb r2, [r0] movs r0, #0xc3 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX str r4, [r5, #0x54] _080393DC: adds r0, r5, #0 @@ -452,7 +452,7 @@ sub_080395D8: @ 0x080395D8 movs r0, #0x5a strb r0, [r1] movs r0, #0x7d - bl EnqueSFX + bl EnqueueSFX _08039602: pop {r4, pc} @@ -509,7 +509,7 @@ _0803963A: adds r0, r2, #0 bl sub_080399C4 ldr r0, _0803966C @ =0x0000014B - bl EnqueSFX + bl EnqueueSFX _0803966A: pop {pc} .align 2, 0 @@ -764,7 +764,7 @@ _08039836: adds r0, r2, #0 bl InitAnimationForceUpdate ldr r0, _08039854 @ =0x0000012B - bl EnqueSFX + bl EnqueueSFX pop {pc} .align 2, 0 _08039854: .4byte 0x0000012B @@ -1018,7 +1018,7 @@ sub_08039A20: @ 0x08039A20 movs r0, #0x3c strb r0, [r1] movs r0, #0xfb - bl EnqueSFX + bl EnqueueSFX _08039A44: pop {r4, pc} .align 2, 0 diff --git a/asm/vaati.s b/asm/vaati.s index 11f143cd..49e70e22 100644 --- a/asm/vaati.s +++ b/asm/vaati.s @@ -115,11 +115,11 @@ _08066B20: _08066B2A: movs r0, #0x87 lsls r0, r0, #2 - bl EnqueSFX + bl EnqueueSFX b _08066B66 _08066B34: ldr r0, _08066B3C @ =0x0000021E - bl EnqueSFX + bl EnqueueSFX b _08066B66 .align 2, 0 _08066B3C: .4byte 0x0000021E @@ -140,7 +140,7 @@ _08066B52: adds r0, r4, #0 bl sub_0805DE18 ldr r0, _08066B70 @ =0x0000021D - bl EnqueSFX + bl EnqueueSFX _08066B66: ldrb r1, [r5] movs r0, #0x7f diff --git a/asm/vaatiArm.s b/asm/vaatiArm.s index 33ac5c87..c3ec0207 100644 --- a/asm/vaatiArm.s +++ b/asm/vaatiArm.s @@ -3298,7 +3298,7 @@ _08043D92: cmp r2, #4 bls _08043D92 movs r0, #0xfe - bl EnqueSFX + bl EnqueueSFX pop {r4, r5, pc} .align 2, 0 _08043DAC: .4byte gUnk_080D13E9 diff --git a/asm/vaatiEyesMacro.s b/asm/vaatiEyesMacro.s index cd272756..8a768333 100644 --- a/asm/vaatiEyesMacro.s +++ b/asm/vaatiEyesMacro.s @@ -100,7 +100,7 @@ _0802ED0E: beq _0802ED24 movs r0, #0xbd lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX _0802ED24: ldrb r0, [r5] strb r0, [r6] @@ -123,7 +123,7 @@ _0802ED3E: cmp r0, #0xff beq _0802ED4E movs r0, #0xe5 - bl EnqueSFX + bl EnqueueSFX _0802ED4E: movs r0, #0xff strb r0, [r5] diff --git a/asm/vaatiReborn.s b/asm/vaatiReborn.s index 74b23e66..0b4450b3 100644 --- a/asm/vaatiReborn.s +++ b/asm/vaatiReborn.s @@ -336,7 +336,7 @@ _0806B8C4: adds r0, #1 strb r0, [r5, #0xd] movs r0, #0xf4 - bl EnqueSFX + bl EnqueueSFX movs r0, #0 strb r0, [r5, #0xe] _0806B8FA: diff --git a/asm/wallMaster.s b/asm/wallMaster.s index da7410a1..c2a51fea 100644 --- a/asm/wallMaster.s +++ b/asm/wallMaster.s @@ -243,7 +243,7 @@ sub_0802A5B8: @ 0x0802A5B8 cmp r0, #0 bne _0802A60E ldr r0, _0802A5E4 @ =0x0000012D - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 movs r1, #0 bl InitializeAnimation diff --git a/asm/warpPoint.s b/asm/warpPoint.s index 46bf961b..f2f0d1fa 100644 --- a/asm/warpPoint.s +++ b/asm/warpPoint.s @@ -110,7 +110,7 @@ _0808B4F8: strb r2, [r1, #0x14] movs r0, #0x89 lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX ldrb r1, [r4, #0xf] adds r1, #0x10 adds r0, r4, #0 @@ -142,7 +142,7 @@ _0808B554: movs r0, #0x3c strb r0, [r4, #0xf] adds r0, #0xd6 - bl EnqueSFX + bl EnqueueSFX _0808B562: pop {r4, pc} diff --git a/asm/waterDrop.s b/asm/waterDrop.s index 664c8b9d..12be5881 100644 --- a/asm/waterDrop.s +++ b/asm/waterDrop.s @@ -85,7 +85,7 @@ sub_0802A2B4: @ 0x0802A2B4 orrs r0, r1 strb r0, [r2] movs r0, #0x84 - bl EnqueSFX + bl EnqueueSFX b _0802A2E2 _0802A2DC: adds r0, r4, #0 diff --git a/asm/windTribespeople.s b/asm/windTribespeople.s index dd4e7087..97aab657 100644 --- a/asm/windTribespeople.s +++ b/asm/windTribespeople.s @@ -147,7 +147,7 @@ sub_0806CA5C: @ 0x0806CA5C cmp r0, #0xa bne _0806CA7E movs r0, #0xe8 - bl EnqueSFX + bl EnqueueSFX _0806CA7E: ldrh r0, [r4, #0x10] cmp r0, #0 diff --git a/asm/wizzrobeFire.s b/asm/wizzrobeFire.s index da743284..43f398ff 100644 --- a/asm/wizzrobeFire.s +++ b/asm/wizzrobeFire.s @@ -292,7 +292,7 @@ _0802FD18: bl SetTile movs r0, #0xab lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX ldrb r1, [r4, #0x15] lsrs r1, r1, #3 adds r0, r4, #0 @@ -337,7 +337,7 @@ _0802FD94: strb r0, [r4, #0xe] movs r0, #0xab lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_0802F8E4 ldrb r1, [r4, #0x15] diff --git a/asm/wizzrobeIce.s b/asm/wizzrobeIce.s index c0634a4c..f261759f 100644 --- a/asm/wizzrobeIce.s +++ b/asm/wizzrobeIce.s @@ -319,7 +319,7 @@ _0802FFF0: bl SetTile movs r0, #0xab lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX ldrb r1, [r4, #0x15] lsrs r1, r1, #3 adds r0, r4, #0 @@ -364,7 +364,7 @@ _0803006C: strb r0, [r4, #0xe] movs r0, #0xab lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_0802F8E4 ldrb r1, [r4, #0x15] diff --git a/asm/wizzrobeWind.s b/asm/wizzrobeWind.s index 4025a460..b411d030 100644 --- a/asm/wizzrobeWind.s +++ b/asm/wizzrobeWind.s @@ -334,7 +334,7 @@ _0802F6F0: strb r0, [r4, #0x10] movs r0, #0xab lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 adds r0, #0x86 ldrh r0, [r0] @@ -389,7 +389,7 @@ _0802F76C: strb r0, [r4, #0xe] movs r0, #0xab lsls r0, r0, #1 - bl EnqueSFX + bl EnqueueSFX adds r0, r4, #0 bl sub_0802F8E4 ldrb r1, [r4, #0x15] diff --git a/include/functions.h b/include/functions.h index adef870f..914be456 100644 --- a/include/functions.h +++ b/include/functions.h @@ -192,7 +192,7 @@ extern void sub_08001242(Entity*); extern u32 sub_08003FC4(Entity*, u32); extern u32 sub_080043E8(Entity*); extern void sub_08001290(Entity*, u32); -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); extern void sub_08004596(Entity*, u32); extern u32 sub_0807953C(void); extern void ResetPlayer(void); diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 03e02143..d25b4d9a 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -343,7 +343,7 @@ void sub_08031EE8(Entity* this) { if (this->height.HALF.HI < 1) { draw = this->spriteSettings.b.draw; if (!draw) - EnqueSFX(299); + EnqueueSFX(299); this->spriteSettings.b.draw = 1; } diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index a454402a..aa51a736 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -131,7 +131,7 @@ void sub_08021984(Entity* this) { this->height.HALF.HI = -0x80; this->spriteRendering.b3 = 1; this->spriteOrientation.flipY = 1; - EnqueSFX(0x12d); + EnqueueSFX(0x12d); } if (sub_08003FC4(this, 0x1800) == 0) { @@ -198,7 +198,7 @@ void sub_08021AD8(Entity* this) { return; } this->direction = (u8)tmp; - EnqueSFX(0x7c); + EnqueueSFX(0x7c); } sub_080AEFE0(this); if (!sub_08003FC4(this, 0x1800)) diff --git a/src/enemy/bladeTrap.c b/src/enemy/bladeTrap.c index 2229aec2..b58ef0d6 100644 --- a/src/enemy/bladeTrap.c +++ b/src/enemy/bladeTrap.c @@ -3,7 +3,7 @@ #include "room.h" extern void sub_080A2CC0(); extern void sub_0806F69C(); -extern void EnqueSFX(); +extern void EnqueueSFX(); extern Entity* GetCurrentRoomProperty(); void BladeTrap(Entity* ent) { @@ -27,7 +27,7 @@ void BladeTrap(Entity* ent) { *puVar3 = uVar1 - 1; if ((*puVar3) == 0) { if ((u16)(ent->direction & 0x80) == 0) { - EnqueSFX(0x74); + EnqueueSFX(0x74); } sub_080A2CC0((EntityData*)ent, &ent->attachedEntity, puVar3); } diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c index 738d2c13..9b816805 100644 --- a/src/enemy/chuchu.c +++ b/src/enemy/chuchu.c @@ -213,7 +213,7 @@ void sub_0801F1B0(Entity* this) { if (this->frames.all & 1) { this->frames.all ^= 1; this->damageType = 90; - EnqueSFX(299); + EnqueueSFX(299); } sub_080AEFE0(this); if (sub_08003FC4(this, 0x4000) == 0) @@ -400,7 +400,7 @@ void sub_0801F584(Entity* this) { if (this->frames.all & 0x1) { this->frames.all ^= 1; this->damageType = 91; - EnqueSFX(299); + EnqueueSFX(299); } sub_080AEFE0(this); if (sub_08003FC4(this, 0x4000) == 0) @@ -548,7 +548,7 @@ void sub_0801F884(Entity* this) { ent->entityType.parameter = 64; this->action = 4; this->damageType = 165; - EnqueSFX(0x193); + EnqueueSFX(0x193); } } } @@ -577,7 +577,7 @@ void sub_0801F940(Entity* this) { if (this->frames.all & 0x10) { if (this->frames.all & 1) { this->frames.all ^= 1; - EnqueSFX(299); + EnqueueSFX(299); } sub_080AEFE0(this); if (sub_08003FC4(this, 0x4000) == 0) diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c index f1169ae7..686e5100 100644 --- a/src/enemy/cuccoChickAggr.c +++ b/src/enemy/cuccoChickAggr.c @@ -49,7 +49,7 @@ void sub_08022988(Entity* this) { this->frameIndex = 1; this->field_0x20 = 0x10000; - EnqueSFX(0xd6); + EnqueueSFX(0xd6); } ProcessMovement(this); @@ -75,7 +75,7 @@ void sub_080229F8(Entity* this) { sub_08022B44(this); } else { this->field_0x20 = 0x10000; - EnqueSFX(0xd6); + EnqueueSFX(0xd6); } } } @@ -143,7 +143,7 @@ void sub_08022B44(Entity *this){ if (this->direction & 0xf) this->spriteSettings.b.flipX = (this->direction >> 4)^1; - EnqueSFX(0xd6); + EnqueueSFX(0xd6); } diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index b7e5bf0f..b0c63e8a 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -90,7 +90,7 @@ void sub_08020BB8(Entity* this) { } this->action = 10; sub_08021218(this, 0xb, this->animationState); - EnqueSFX(0x15d); + EnqueueSFX(0x15d); sub_08021588(this); break; case 0x4c: @@ -273,7 +273,7 @@ void sub_08021038(Entity* this) { pEVar2->parent = this; this->attachedEntity = pEVar2; } - EnqueSFX(270); + EnqueueSFX(270); } if (this->frames.all & 0x80) { @@ -295,7 +295,7 @@ void sub_080210A8(Entity* this) { if (this->frames.all & 1) { this->frames.all = 0; sub_08021588(this); - EnqueSFX(349); + EnqueueSFX(349); } else if (this->frames.all & 0x80) { sub_08021390(this); } @@ -313,7 +313,7 @@ void sub_080210E4(Entity* this) { this->attachedEntity = ent; } - EnqueSFX(270); + EnqueueSFX(270); } sub_08021644(this); @@ -575,13 +575,13 @@ void sub_0802159C(Entity* this) { ent->parent = this; this->attachedEntity = ent; } - EnqueSFX(0x116); + EnqueueSFX(0x116); } else if (this->frames.all == 2) { this->frames.all = 0; sub_08021588(this); } else if (this->frames.all & 0x20) { this->frames.all &= ~0x20; - EnqueSFX(0x115); + EnqueueSFX(0x115); } } @@ -596,7 +596,7 @@ void sub_08021600(Entity* this) { ent->parent = this; this->attachedEntity = ent; } - EnqueSFX(0x10e); + EnqueueSFX(0x10e); } else if (this->frames.all == 2) { this->frames.all = 0; sub_08021588(this); @@ -606,7 +606,7 @@ void sub_08021600(Entity* this) { void sub_08021644(Entity* this) { if (this->frames.all & 0x20) { this->frames.all &= ~0x20; - EnqueSFX(0x7d); + EnqueueSFX(0x7d); } } diff --git a/src/enemy/doorMimic.c b/src/enemy/doorMimic.c index 5d5ca031..e30dfa28 100644 --- a/src/enemy/doorMimic.c +++ b/src/enemy/doorMimic.c @@ -102,7 +102,7 @@ void sub_080220F0(Entity* this) { fx->y.HALF.HI += off->v; } } - EnqueSFX(260); + EnqueueSFX(260); } else if (this->frames.all & 1) { this->field_0x44 = 4; } diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index cf41451e..86f6ce0d 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -50,7 +50,7 @@ extern u32 sub_080041A0(Entity *, Entity *, u32, u32); extern u32 GetFacingDirection(Entity *, Entity *); // sub_0803CB64 -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); typedef struct { s8 x; @@ -343,7 +343,7 @@ void sub_0803CB64(Entity *this) { PositionRelative(this, cloud, offset->x << 16, offset->y << 16); - EnqueSFX(0x193); + EnqueueSFX(0x193); } void sub_0803CBAC(Entity *this) { diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index 3b9fe027..e4b25fa9 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -142,7 +142,7 @@ void Octorok_ShootNut(Entity* this) { ent->y.HALF.HI += off[1]; ent->height.HALF.HI = -3; this->frames.all &= 0xfe; - EnqueSFX(0x18d); + EnqueueSFX(0x18d); } } diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index 74e80188..7ef108b4 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -183,7 +183,7 @@ void Rollobite_RolledUp(Entity* this) { sub_08078930(this); } else { if (unk == 1) - EnqueSFX(260); + EnqueueSFX(260); if ((this->direction & 0x80) == 0) sub_080AEFE0(this); diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c index 9468d7a2..05117e73 100644 --- a/src/enemy/rupeeLike.c +++ b/src/enemy/rupeeLike.c @@ -62,7 +62,7 @@ void sub_08029318(Entity* this) { this->field_0x82.HALF.HI = 0x41; this->flags2 &= 0xfc; this->field_0x80.HALF.LO = gPlayerEntity.spritePriority.b1; - EnqueSFX(0x104); + EnqueueSFX(0x104); } else { if (this->field_0x43 != 0) { sub_0804A9FC(this, 0x1c); diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c index 6a6d19e8..273ed695 100644 --- a/src/enemy/spinyChuchu.c +++ b/src/enemy/spinyChuchu.c @@ -69,7 +69,7 @@ void sub_0802244C(Entity* this) { if (this->action == 3) { this->action = 4; InitializeAnimation(this, 3); - EnqueSFX(0x194); + EnqueueSFX(0x194); } } } else { @@ -132,7 +132,7 @@ void sub_08022654(Entity* this) { this->previousActionFlag = 2; this->spriteSettings.b.draw = 1; InitializeAnimation(this, 5); - EnqueSFX(0x7d); + EnqueueSFX(0x7d); UpdateSpriteForCollisionLayer(this); /* fallthrough */ case 2: @@ -180,7 +180,7 @@ void sub_08022780(Entity* this) { if (this->frames.all & 0x80) { this->action = 4; InitializeAnimation(this, 3); - EnqueSFX(0x194); + EnqueueSFX(0x194); } } @@ -223,7 +223,7 @@ void sub_08022854(Entity* this) { this->action = 7; this->damageType = 0x5c; InitializeAnimation(this, 5); - EnqueSFX(0x7d); + EnqueueSFX(0x7d); } } } diff --git a/src/npc/carlov.c b/src/npc/carlov.c index 25c983ae..6cffc865 100644 --- a/src/npc/carlov.c +++ b/src/npc/carlov.c @@ -10,7 +10,7 @@ extern void sub_0807DD50(Entity *); extern void sub_0807DD94(Entity *,u32); -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); extern void sub_08080964(u32,u32); @@ -25,11 +25,11 @@ void Carlov(Entity *this) } if ((this->frames.all & 0x10) != 0) { this->frames.all = this->frames.all & 0xef; - EnqueSFX(0x104); + EnqueueSFX(0x104); sub_08080964(0x10,0); } if ((this->frames.all & 0x20) != 0) { this->frames.all = this->frames.all & 0xdf; - EnqueSFX(0x7c); + EnqueueSFX(0x7c); } } \ No newline at end of file diff --git a/src/npc/melari.c b/src/npc/melari.c index 0aceb1e1..2262d14e 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -12,7 +12,7 @@ extern void sub_0806F118(Entity*); extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern u32 sub_080040A8(Entity*); -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); extern u32 sub_0801E99C(Entity*); extern void sub_08078784(Entity*, u32); extern void sub_0807000C(Entity*); @@ -99,7 +99,7 @@ void sub_08068780(Entity* this) { if (sub_080040A8(this) == 0) { PlaySFX(gUnk_0811153E[(s32)Random() % 3]); } else { - EnqueSFX(gUnk_08111538[(s32)Random() % 3]); + EnqueueSFX(gUnk_08111538[(s32)Random() % 3]); } ent = CreateFx(this, 0x3d, 0x20); if (ent != NULL) { diff --git a/src/npc/postman.c b/src/npc/postman.c index 8ffc696c..0624935b 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -27,7 +27,7 @@ extern u32 GetFacingDirection(Entity*, Entity*); extern void sub_080606D8(Entity*); extern void sub_0807DD94(Entity*, u32); extern void sub_080788E0(Entity*); -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); extern void sub_080606C0(Entity*); extern void sub_0800451C(Entity*); extern void sub_08078784(Entity*, u32); @@ -178,7 +178,7 @@ void sub_08060528(Entity *this) this->field_0x20 = 0x20000; this->field_0x6c.HALF.HI = 1; sub_080788E0(this); - EnqueSFX(0x7c); + EnqueueSFX(0x7c); } else { this->field_0x6a.HWORD -= 1; diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index efa72fb2..047f5282 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -7,7 +7,7 @@ extern void sub_0809EB30(Entity*); extern void sub_0809EAD8(Entity*); extern void sub_0809EABC(Entity*); -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); extern void sub_080A2CC0(Entity*, Entity**, u16*); extern Entity* GetCurrentRoomProperty(u32); extern void SetTile(u32, u32, u32); @@ -50,7 +50,7 @@ void sub_0809EA80(Entity* this) { } else { SetFlag(this->field_0x86); } - EnqueSFX(0x110); + EnqueueSFX(0x110); } sub_0809EABC(this); } @@ -123,7 +123,7 @@ void sub_0809EBD8(Entity* this) { this->actionDelay = 0x10; this->frameIndex = 2; SetFlag(this->field_0x86); - EnqueSFX(0x110); + EnqueueSFX(0x110); } } @@ -137,7 +137,7 @@ void sub_0809EC08(Entity* this) { this->action = 1; this->frameIndex = 3; ClearFlag(this->field_0x86); - EnqueSFX(0x110); + EnqueueSFX(0x110); } } } diff --git a/src/object/mask.c b/src/object/mask.c index cd5d13f4..a936e7e1 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -20,7 +20,7 @@ extern void sub_08000148(u16, u16, u32); extern s16 sub_080001DA(u16, u32); extern u16 sub_080002E0(u16, u32); -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); extern void sub_080044EC(Entity *, u16); extern void sub_0805457C(Entity *, s32); @@ -115,7 +115,7 @@ void sub_08092B0C(Entity *this) { switch (this->entityType.parameter & 0xC0) { case 0x80: - EnqueSFX(0x72); + EnqueueSFX(0x72); case 0x40: SetFlag(this->field_0x86); break; diff --git a/src/object/metalDoor.c b/src/object/metalDoor.c index b0df5777..7aa6ec5d 100644 --- a/src/object/metalDoor.c +++ b/src/object/metalDoor.c @@ -6,7 +6,7 @@ extern u32 sub_08083734(Entity*, u32); extern void sub_080A080C(Entity*); extern void sub_0806F69C(Entity*); -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); extern void sub_080A0870(Entity*); extern void PlaySFX(u32); extern u32 sub_080001DA(u32, u32); @@ -71,7 +71,7 @@ void sub_080A074C(Entity *this) ent->x.HALF.HI -= 0xc; ent->y.HALF.HI -= 0xc; } - EnqueSFX(0x10b); + EnqueueSFX(0x10b); } } diff --git a/src/object/object2A.c b/src/object/object2A.c index 8db435e5..032db162 100644 --- a/src/object/object2A.c +++ b/src/object/object2A.c @@ -36,5 +36,5 @@ void sub_08089B18(Entity *this) return; } } - EnqueSFX(0x124); + EnqueueSFX(0x124); } \ No newline at end of file diff --git a/src/object/pot.c b/src/object/pot.c index 8931598f..b7cfc8d6 100755 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -92,7 +92,7 @@ void sub_08082310(Entity* this) { this->actionDelay = 64; } SetTile((u16)this->field_0x70.HALF.LO, COORD_TO_TILE(this), this->collisionLayer); - EnqueSFX(0x10F); + EnqueueSFX(0x10F); break; case 0x4067: SetTile((u16)this->field_0x70.HALF.LO, COORD_TO_TILE(this), this->collisionLayer); diff --git a/src/object/railtrack.c b/src/object/railtrack.c index d8227bef..ef45e554 100644 --- a/src/object/railtrack.c +++ b/src/object/railtrack.c @@ -6,7 +6,7 @@ extern u32* GetLayerByIndex(u32); extern void sub_08085394(Entity*); extern void sub_0808543C(Entity*); -extern void EnqueSFX(u32); +extern void EnqueueSFX(u32); extern u32 sub_080854A8(Entity*); extern void SetTile(u32, u32, u32); @@ -54,7 +54,7 @@ void sub_08085264(Entity* this) { this->animationState = (this->animationState + *(u8*)&this->field_0x7c) & 3; InitializeAnimation(this, this->animationState); sub_0808543C(this); - EnqueSFX(0x151); + EnqueueSFX(0x151); } } @@ -66,7 +66,7 @@ void sub_080852B4(Entity* this) { this->animationState = (this->animationState + *(u8*)&this->field_0x7c) & 3; InitializeAnimation(this, this->animationState); sub_08085394(this); - EnqueSFX(0x151); + EnqueueSFX(0x151); } } @@ -96,7 +96,7 @@ void sub_08085308(Entity* this) { this->animationState = (this->animationState + *(u8*)&this->field_0x7c) & 3; InitializeAnimation(this, this->animationState); sub_0808543C(this); - EnqueSFX(0x151); + EnqueueSFX(0x151); } } } From 269d8970f3f835824de34f7564f8df0c9a6d227f Mon Sep 17 00:00:00 2001 From: Behemoth Date: Tue, 1 Sep 2020 23:02:48 +0200 Subject: [PATCH 057/105] remove nonsense direction modifier macro --- include/entity.h | 3 +-- src/enemy/keaton.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/entity.h b/include/entity.h index c4537dce..dc269c33 100644 --- a/include/entity.h +++ b/include/entity.h @@ -173,8 +173,7 @@ extern void PositionRelative(Entity*, Entity*, s32, s32); #define DirectionRoundUp(expr) DirectionRound((expr) + 4) #define DirectionIsHorizontal(expr) ((expr) & 0x08) #define DirectionIsVertical(expr) ((expr) & 0x10) -#define DirectionTurnHorizontal(expr) (DirectionRoundUp(expr) ^ 0x08) -#define DirectionTurnVertical(expr) (DirectionRoundUp(expr) ^ 0x10) +#define DirectionTurnAround(expr) (DirectionRoundUp(expr) ^ 0x10) #define DirectionToAnimationState(expr) (DirectionRoundUp(expr) >> 3) #define DirectionFromAnimationState(expr) (expr << 3) diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index b900cfea..4d7e003d 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -37,7 +37,7 @@ void sub_080323F4(Entity* this) { if (this->action != 3 && this->action != 4) { this->action = 3; this->actionDelay = 0xC; - this->direction = DirectionTurnVertical(this->field_0x3e); + this->direction = DirectionTurnAround(this->field_0x3e); InitAnimationForceUpdate(this, this->direction >> 3); } else if (this->bitfield == 0xCC) { if (this->field_0x43 == 0) { From a56b6a2041177a9031347858a5d69e285371b147 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Thu, 3 Sep 2020 18:35:53 +0200 Subject: [PATCH 058/105] decompile moldworm --- asm/moldworm.s | 1523 -------------------- asm/non_matching/moldworm/moldworm.inc | 83 ++ asm/non_matching/moldworm/sub_080239F0.inc | 43 + asm/non_matching/moldworm/sub_08023B38.inc | 55 + data/animations/moldworm.s | 79 + data/data_080CBC38.s | 96 -- include/entity.h | 6 + linker.ld | 4 +- src/enemy/moldworm.c | 586 ++++++++ 9 files changed, 855 insertions(+), 1620 deletions(-) delete mode 100644 asm/moldworm.s create mode 100644 asm/non_matching/moldworm/moldworm.inc create mode 100644 asm/non_matching/moldworm/sub_080239F0.inc create mode 100644 asm/non_matching/moldworm/sub_08023B38.inc create mode 100644 data/animations/moldworm.s create mode 100644 src/enemy/moldworm.c diff --git a/asm/moldworm.s b/asm/moldworm.s deleted file mode 100644 index 18884dc8..00000000 --- a/asm/moldworm.s +++ /dev/null @@ -1,1523 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Moldworm -Moldworm: @ 0x08023038 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrh r5, [r4, #0x2e] - ldrh r6, [r4, #0x32] - ldrb r1, [r4, #0xa] - cmp r1, #0 - bne _0802306C - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08023052 - adds r0, r4, #0 - bl sub_0802390C -_08023052: - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x7d - strb r0, [r1] - ldr r1, _08023068 @ =gUnk_080CBC38 - adds r0, r4, #0 - bl EnemyFunctionHandler - b _08023090 - .align 2, 0 -_08023068: .4byte gUnk_080CBC38 -_0802306C: - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - beq _08023088 - cmp r1, #8 - beq _08023080 - adds r0, r4, #0 - bl sub_080235BC - b _08023090 -_08023080: - adds r0, r4, #0 - bl sub_08023730 - b _08023090 -_08023088: - adds r0, r4, #0 - bl DeleteEntity - b _080230CA -_08023090: - ldr r0, [r4, #0x50] - adds r2, r0, #0 - adds r2, #0x7c - adds r0, #0x7d - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - beq _080230CA - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _080230CA - ldrb r2, [r2] - subs r2, #1 - movs r0, #0xf - ands r2, r0 - adds r2, #0x78 - adds r2, r1, r2 - ldrh r1, [r4, #0x2e] - subs r1, r1, r5 - adds r1, #8 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #4 - ldrh r0, [r4, #0x32] - subs r0, r0, r6 - adds r0, #8 - ands r0, r3 - orrs r1, r0 - strb r1, [r2] -_080230CA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080230CC -sub_080230CC: @ 0x080230CC - push {lr} - ldr r2, _080230E0 @ =gUnk_080CBC50 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080230E0: .4byte gUnk_080CBC50 - - thumb_func_start sub_080230E4 -sub_080230E4: @ 0x080230E4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xd] - cmp r0, #0xff - bne _08023132 - movs r2, #0 - movs r0, #7 - strb r0, [r5, #0xc] - movs r3, #1 - strb r3, [r5, #0xe] - strb r2, [r5, #0xd] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x85 - strb r0, [r1] - subs r1, #2 - movs r0, #0xf8 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x7f - strb r2, [r0] - subs r0, #4 - strb r2, [r0] - subs r0, #0x3a - ldrb r0, [r0] - cmp r0, #0x80 - beq _0802311E - cmp r0, #0x9e - bne _08023128 -_0802311E: - strb r2, [r5, #0xb] - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #0x14 - b _08023130 -_08023128: - strb r3, [r5, #0xb] - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #8 -_08023130: - strb r0, [r1] -_08023132: - adds r0, r5, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0802318A - adds r0, r5, #0 - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - bne _0802318A - ldrb r0, [r5, #0xc] - cmp r0, #7 - bne _0802318A - ldr r4, _08023194 @ =gPlayerEntity - adds r0, r5, #0 - adds r1, r4, #0 - bl CopyPosition - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xff - strb r0, [r4, #0x15] - adds r4, #0x3d - movs r0, #0xec - strb r0, [r4] - ldr r2, _08023198 @ =gPlayerState - movs r0, #0x41 - strb r0, [r2, #2] - ldr r0, [r2, #0x30] - ldr r1, _0802319C @ =0xFFF7FFFF - ands r0, r1 - str r0, [r2, #0x30] -_0802318A: - ldr r1, _080231A0 @ =gUnk_080CBC38 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08023194: .4byte gPlayerEntity -_08023198: .4byte gPlayerState -_0802319C: .4byte 0xFFF7FFFF -_080231A0: .4byte gUnk_080CBC38 - - thumb_func_start sub_080231A4 -sub_080231A4: @ 0x080231A4 - push {lr} - adds r2, r0, #0 - adds r2, #0x7c - ldrb r1, [r2] - adds r1, #1 - strb r1, [r2] - bl sub_08001324 - - thumb_func_start nullsub_134 -nullsub_134: @ 0x080231B4 - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_135 -nullsub_135: @ 0x080231B8 - bx lr - .align 2, 0 - - thumb_func_start sub_080231BC -sub_080231BC: @ 0x080231BC - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, _08023280 @ =gEntCount - ldrb r0, [r0] - cmp r0, #0x3f - bhi _0802327E - movs r0, #0xf - movs r1, #1 - bl CreateEnemy - adds r4, r0, #0 - str r4, [r6, #0x54] - str r6, [r4, #0x50] - movs r0, #0xf - movs r1, #2 - bl CreateEnemy - adds r5, r0, #0 - str r5, [r4, #0x54] - str r6, [r5, #0x50] - movs r0, #0xf - movs r1, #3 - bl CreateEnemy - adds r4, r0, #0 - str r4, [r5, #0x54] - str r6, [r4, #0x50] - movs r0, #0xf - movs r1, #4 - bl CreateEnemy - adds r5, r0, #0 - str r5, [r4, #0x54] - str r6, [r5, #0x50] - movs r0, #0xf - movs r1, #5 - bl CreateEnemy - adds r4, r0, #0 - str r4, [r5, #0x54] - str r6, [r4, #0x50] - movs r0, #0xf - movs r1, #6 - bl CreateEnemy - adds r5, r0, #0 - str r5, [r4, #0x54] - str r6, [r5, #0x50] - movs r0, #0xf - movs r1, #7 - bl CreateEnemy - adds r4, r0, #0 - str r4, [r5, #0x54] - str r6, [r4, #0x50] - movs r0, #0xf - movs r1, #8 - bl CreateEnemy - str r0, [r4, #0x54] - str r4, [r0, #0x74] - str r6, [r0, #0x50] - movs r1, #0 - str r1, [r0, #0x54] - adds r0, r6, #0 - bl sub_0804A720 - movs r0, #6 - strb r0, [r6, #0xc] - movs r1, #0x1e - strb r1, [r6, #0xe] - str r6, [r6, #0x50] - adds r0, r6, #0 - adds r0, #0x78 - strh r1, [r0] - ldrb r1, [r6, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r6, #0x1a] - bl Random - movs r1, #0x1f - ands r0, r1 - strb r0, [r6, #0x15] - ldrb r0, [r6, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r6, #0x14] - ldrb r1, [r6, #0x14] - adds r0, r6, #0 - bl InitializeAnimation -_0802327E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08023280: .4byte gEntCount - - thumb_func_start nullsub_136 -nullsub_136: @ 0x08023284 - bx lr - .align 2, 0 - - thumb_func_start sub_08023288 -sub_08023288: @ 0x08023288 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08023324 - ldrb r1, [r7, #0xe] - adds r0, r1, #1 - strb r0, [r7, #0xe] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08023324 - bl Random - adds r4, r0, #0 - movs r0, #0x1e - ands r4, r0 - movs r0, #0 - mov r8, r0 - ldr r2, _08023308 @ =gPlayerEntity - mov sb, r2 - ldr r0, _0802330C @ =gUnk_080CBC70 - mov sl, r0 -_080232C2: - mov r2, sb - movs r0, #0x2e - ldrsh r1, [r2, r0] - mov r2, sl - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r6, r1, r0 - mov r0, sb - movs r2, #0x32 - ldrsh r1, [r0, r2] - adds r0, r4, #1 - add r0, sl - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r1, r0 - ldr r0, _08023310 @ =gUnk_03001198 - ldrb r2, [r0] - adds r0, r6, #0 - adds r1, r5, #0 - bl GetTileTypeByPos - bl sub_08023A38 - cmp r0, #0 - beq _08023314 - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_08023990 - b _08023324 - .align 2, 0 -_08023308: .4byte gPlayerEntity -_0802330C: .4byte gUnk_080CBC70 -_08023310: .4byte gUnk_03001198 -_08023314: - adds r4, #2 - movs r0, #0x1e - ands r4, r0 - movs r2, #1 - add r8, r2 - mov r0, r8 - cmp r0, #0xf - bls _080232C2 -_08023324: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08023330 -sub_08023330: @ 0x08023330 - push {r4, r5, lr} - adds r5, r0, #0 - bl GetNextFrame - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023394 - movs r0, #4 - strb r0, [r5, #0xc] - movs r0, #0x19 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x78 - movs r4, #0 - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] - bl Random - movs r1, #0x1c - ands r0, r1 - strb r0, [r5, #0x15] - lsrs r0, r0, #2 - strb r0, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x7b - strb r4, [r0] - adds r0, #4 - strb r4, [r0] - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl sub_08023A88 - ldr r1, [r5, #0x54] - adds r0, r5, #0 - bl CopyPosition - adds r0, r5, #0 - movs r1, #4 - movs r2, #0 - bl CreateFx -_08023394: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08023398 -sub_08023398: @ 0x08023398 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - adds r0, #3 - ldrb r0, [r0] - cmp r0, #0 - beq _080233C0 - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _080233C0 - adds r1, r5, #0 - adds r1, #0x78 - movs r0, #1 - strh r0, [r1] -_080233C0: - adds r4, r5, #0 - adds r4, #0x78 - ldrh r0, [r4] - subs r0, #1 - strh r0, [r4] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08023416 - adds r0, r5, #0 - bl GetTileTypeByEntity - bl sub_08023A38 - cmp r0, #0 - beq _08023412 - movs r0, #5 - strb r0, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x7f - movs r0, #0 - strb r0, [r1] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x85 - strb r0, [r1] - ldr r1, [r5, #0x54] - movs r0, #1 - strb r0, [r1, #0xe] - adds r0, r5, #0 - bl sub_08023A68 - adds r0, r5, #0 - movs r1, #4 - movs r2, #0 - bl CreateFx - b _0802349C -_08023412: - movs r0, #0x28 - strh r0, [r4] -_08023416: - adds r0, r5, #0 - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - beq _08023426 - adds r0, r5, #0 - bl sub_08023AB0 -_08023426: - ldrb r0, [r5, #0xe] - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bhi _08023440 - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0802349C - movs r0, #0x19 - strb r0, [r5, #0xe] - b _0802349C -_08023440: - ldr r4, [r5, #0x2c] - ldr r6, [r5, #0x30] - adds r0, r5, #0 - bl ProcessMovement - ldr r0, [r5, #0x2c] - cmp r0, r4 - bne _08023460 - ldr r0, [r5, #0x30] - cmp r0, r6 - bne _08023460 - adds r1, r5, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] -_08023460: - ldr r0, _080234A0 @ =gScreenTransition - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0802349C - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_08004596 - ldrb r0, [r5, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - ldrb r1, [r5, #0x14] - cmp r0, r1 - beq _0802349C - strb r0, [r5, #0x14] - adds r1, r5, #0 - adds r1, #0x7b - ldrb r1, [r1] - adds r1, r0, r1 - adds r0, r5, #0 - bl InitializeAnimation -_0802349C: - pop {r4, r5, r6, pc} - .align 2, 0 -_080234A0: .4byte gScreenTransition - - thumb_func_start sub_080234A4 -sub_080234A4: @ 0x080234A4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - beq _080234D6 - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0xa - ands r0, r1 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1] -_080234D6: - pop {r4, pc} - - thumb_func_start sub_080234D8 -sub_080234D8: @ 0x080234D8 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802351A - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x1a] - subs r0, #0x12 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r4, #0x1a] - bl Random - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08023A88 -_0802351A: - pop {r4, pc} - - thumb_func_start sub_0802351C -sub_0802351C: @ 0x0802351C - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldrb r0, [r7, #0xe] - cmp r0, #0 - beq _0802355A - ldrb r0, [r7, #0xb] - cmp r0, #1 - beq _08023534 - ldr r0, _080235A8 @ =gPlayerEntity - ldrb r0, [r0, #0x1e] - cmp r0, #0xff - bne _0802355A -_08023534: - movs r0, #0 - strb r0, [r7, #0xe] - ldr r1, [r7, #0x54] - movs r0, #3 - strb r0, [r1, #0xc] - ldr r1, [r7, #0x54] - adds r0, r7, #0 - adds r0, #0x80 - ldrb r0, [r0] - strb r0, [r1, #0xf] - ldr r0, [r7, #0x54] - ldrb r1, [r0, #0x14] - adds r1, #1 - bl InitializeAnimation - ldrb r1, [r7, #0x14] - adds r0, r7, #0 - bl InitializeAnimation -_0802355A: - adds r0, r7, #0 - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - bne _080235B4 - ldrb r0, [r7, #0xb] - cmp r0, #0 - bne _080235B8 - ldr r5, _080235A8 @ =gPlayerEntity - ldrb r0, [r7, #0x14] - movs r4, #7 - adds r2, r4, #0 - ands r2, r0 - strb r2, [r5, #0x14] - ldr r3, _080235AC @ =gPlayerState - ldr r0, [r3, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xc - orrs r0, r1 - str r0, [r3, #0x30] - ldr r6, _080235B0 @ =gUnk_080CBC90 - adds r2, r2, r6 - movs r3, #0 - ldrsb r3, [r2, r3] - lsls r3, r3, #0x10 - adds r0, r7, #0 - adds r1, r5, #0 - movs r2, #0 - bl PositionRelative - ldrb r0, [r7, #0x14] - ands r4, r0 - adds r4, r4, r6 - ldrb r0, [r4] - rsbs r0, r0, #0 - adds r5, #0x63 - strb r0, [r5] - b _080235B8 - .align 2, 0 -_080235A8: .4byte gPlayerEntity -_080235AC: .4byte gPlayerState -_080235B0: .4byte gUnk_080CBC90 -_080235B4: - movs r0, #4 - strb r0, [r7, #0xc] -_080235B8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080235BC -sub_080235BC: @ 0x080235BC - push {lr} - ldr r2, _080235D0 @ =gUnk_080CBC98 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080235D0: .4byte gUnk_080CBC98 - - thumb_func_start sub_080235D4 -sub_080235D4: @ 0x080235D4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, [r4, #0x50] - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_080239F0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _080235F6 - movs r0, #0x10 - b _080235F8 -_080235F6: - movs r0, #0x12 -_080235F8: - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation - pop {r4, pc} - - thumb_func_start sub_08023604 -sub_08023604: @ 0x08023604 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x50] - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - adds r0, r0, r2 - adds r0, #0x78 - ldrb r0, [r0] - cmp r0, #0x88 - beq _08023640 - movs r1, #0 - movs r0, #2 - strb r0, [r2, #0xc] - strb r1, [r2, #0xe] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - bl sub_08023644 -_08023640: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08023644 -sub_08023644: @ 0x08023644 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x17 - bne _08023692 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08023692 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08023692 - movs r6, #0x32 - ldrsh r1, [r4, r6] - movs r2, #0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08023692 - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x54] - strb r2, [r0, #0xe] - adds r0, r4, #0 - bl sub_080239F0 -_08023692: - adds r0, r5, #0 - adds r0, #0x7c - adds r1, r5, #0 - adds r1, #0x7d - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080236F2 - movs r2, #0xf - adds r1, r2, #0 - ands r1, r0 - adds r1, #0x78 - adds r1, r4, r1 - ldrb r0, [r1] - lsrs r0, r0, #4 - ldr r3, _080236F4 @ =0x0000FFF8 - adds r0, r0, r3 - ldrh r6, [r4, #0x2e] - adds r0, r0, r6 - strh r0, [r4, #0x2e] - ldrb r0, [r1] - ands r2, r0 - adds r2, r2, r3 - ldrh r0, [r4, #0x32] - adds r2, r2, r0 - strh r2, [r4, #0x32] - ldrb r2, [r5, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x19] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] -_080236F2: - pop {r4, r5, r6, pc} - .align 2, 0 -_080236F4: .4byte 0x0000FFF8 - - thumb_func_start sub_080236F8 -sub_080236F8: @ 0x080236F8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802372E - movs r0, #2 - strb r0, [r4, #0xc] - ldr r1, [r4, #0x54] - movs r0, #3 - strb r0, [r1, #0xc] - ldr r1, [r4, #0x54] - ldr r0, [r4, #0x50] - adds r0, #0x80 - ldrb r0, [r0] - strb r0, [r1, #0xf] - ldr r0, [r4, #0x54] - ldrb r1, [r0, #0x14] - adds r1, #1 - bl InitializeAnimation - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation -_0802372E: - pop {r4, pc} - - thumb_func_start sub_08023730 -sub_08023730: @ 0x08023730 - push {lr} - ldr r2, _08023744 @ =gUnk_080CBCA8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08023744: .4byte gUnk_080CBCA8 - - thumb_func_start sub_08023748 -sub_08023748: @ 0x08023748 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x14 - strb r0, [r4, #0x14] - ldr r1, [r4, #0x50] - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_080239F0 - adds r0, r4, #0 - bl sub_08023A68 - pop {r4, pc} - - thumb_func_start sub_0802376C -sub_0802376C: @ 0x0802376C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _0802379A - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xf - bhi _0802379A - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - adds r0, r4, #0 - bl GetNextFrame -_0802379A: - adds r0, r5, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - adds r0, r0, r4 - adds r0, #0x78 - ldrb r0, [r0] - cmp r0, #0x88 - beq _080237D4 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r0, [r4, #0x50] - adds r0, #0x7f - movs r1, #1 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #0x14 - bl sub_08023A88 - adds r0, r4, #0 - bl sub_080237D8 -_080237D4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080237D8 -sub_080237D8: @ 0x080237D8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x17 - bne _0802382E - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802382E - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0802382E - movs r6, #0x32 - ldrsh r1, [r4, r6] - movs r2, #0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0802382E - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r5, #0 - adds r0, #0x7f - strb r2, [r0] - adds r0, r4, #0 - bl sub_080239F0 - adds r0, r4, #0 - bl sub_08023A68 -_0802382E: - adds r0, r5, #0 - adds r0, #0x7c - adds r1, r5, #0 - adds r1, #0x7d - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _0802388E - movs r2, #0xf - adds r1, r2, #0 - ands r1, r0 - adds r1, #0x78 - adds r1, r4, r1 - ldrb r0, [r1] - lsrs r0, r0, #4 - ldr r3, _08023890 @ =0x0000FFF8 - adds r0, r0, r3 - ldrh r6, [r4, #0x2e] - adds r0, r0, r6 - strh r0, [r4, #0x2e] - ldrb r0, [r1] - ands r2, r0 - adds r2, r2, r3 - ldrh r0, [r4, #0x32] - adds r2, r2, r0 - strh r2, [r4, #0x32] - ldrb r2, [r5, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x19] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] -_0802388E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08023890: .4byte 0x0000FFF8 - - thumb_func_start sub_08023894 -sub_08023894: @ 0x08023894 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08023900 - movs r0, #2 - strb r0, [r5, #0xc] - ldr r0, [r5, #0x50] - adds r0, #0x7f - movs r1, #1 - strb r1, [r0] - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl InitializeAnimation - ldr r0, [r5, #0x50] - ldrb r0, [r0, #0xb] - cmp r0, #0 - bne _08023900 - ldr r2, _08023904 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xe - orrs r0, r1 - str r0, [r2, #0x30] - ldr r4, _08023908 @ =gPlayerEntity - ldrh r0, [r5, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - strh r0, [r4, #0x32] - ldr r0, [r5, #0x74] - adds r1, r5, #0 - bl GetFacingDirection - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xc - strb r0, [r1] - subs r0, #0x1c - bl ModHealth - adds r0, r4, #0 - movs r1, #0x7a - bl sub_0800449C -_08023900: - pop {r4, r5, pc} - .align 2, 0 -_08023904: .4byte gPlayerState -_08023908: .4byte gPlayerEntity - - thumb_func_start sub_0802390C -sub_0802390C: @ 0x0802390C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023932 - ldr r2, [r5, #0x54] - adds r3, r5, #0 - adds r3, #0x3d -_08023922: - ldrb r0, [r3] - adds r1, r2, #0 - adds r1, #0x3d - strb r0, [r1] - ldr r2, [r2, #0x54] - cmp r2, #0 - bne _08023922 - b _0802398C -_08023932: - ldr r2, [r5, #0x54] - b _0802393C -_08023936: - ldr r2, [r2, #0x54] - cmp r2, #0 - beq _0802398C -_0802393C: - adds r0, r2, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023936 - movs r0, #0x45 - adds r0, r0, r2 - mov ip, r0 - ldrb r1, [r0] - movs r4, #0xff - subs r0, r4, r1 - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - beq _08023936 - adds r0, r1, #0 - orrs r0, r4 - mov r1, ip - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3d - ldrb r4, [r0] - adds r1, r5, #0 - adds r1, #0x45 - ldrb r0, [r1] - cmp r0, r3 - blo _0802397A - subs r0, r0, r3 - b _0802397C -_0802397A: - movs r0, #0 -_0802397C: - strb r0, [r1] - adds r2, r5, #0 -_08023980: - adds r0, r2, #0 - adds r0, #0x3d - strb r4, [r0] - ldr r2, [r2, #0x54] - cmp r2, #0 - bne _08023980 -_0802398C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08023990 -sub_08023990: @ 0x08023990 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #3 - strb r0, [r5, #0xc] - ldrb r3, [r5, #0x18] - subs r0, #7 - ands r0, r3 - movs r3, #1 - orrs r0, r3 - strb r0, [r5, #0x18] - movs r0, #0x55 - strb r0, [r5, #0x1a] - adds r4, r5, #0 - adds r4, #0x29 - ldrb r0, [r4] - movs r3, #7 - orrs r0, r3 - strb r0, [r4] - strh r1, [r5, #0x2e] - strh r2, [r5, #0x32] - ldr r0, _080239EC @ =gPlayerEntity - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r5, #0 - bl UpdateSpriteForCollisionLayer - adds r0, r5, #0 - movs r1, #0x16 - bl InitializeAnimation - ldr r4, [r5, #0x54] -_080239D4: - adds r0, r4, #0 - bl sub_080239F0 - adds r0, r5, #0 - adds r1, r4, #0 - bl CopyPosition - ldr r4, [r4, #0x54] - cmp r4, #0 - bne _080239D4 - pop {r4, r5, pc} - .align 2, 0 -_080239EC: .4byte gPlayerEntity - - thumb_func_start sub_080239F0 -sub_080239F0: @ 0x080239F0 - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x78 - movs r0, #0x88 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - bx lr - - thumb_func_start sub_08023A38 -sub_08023A38: @ 0x08023A38 - push {lr} - adds r1, r0, #0 - cmp r1, #0x1a - beq _08023A5A - cmp r1, #0x29 - beq _08023A5A - ldr r0, _08023A60 @ =gUnk_080B37A0 - adds r0, r1, r0 - ldrb r1, [r0] - cmp r1, #9 - beq _08023A5A - cmp r1, #0xb - beq _08023A5A - cmp r1, #0xa - beq _08023A5A - cmp r1, #0xc - bne _08023A64 -_08023A5A: - movs r0, #1 - b _08023A66 - .align 2, 0 -_08023A60: .4byte gUnk_080B37A0 -_08023A64: - movs r0, #0 -_08023A66: - pop {pc} - - thumb_func_start sub_08023A68 -sub_08023A68: @ 0x08023A68 - push {r4, lr} - adds r4, r0, #0 - movs r1, #5 - bl sub_0801D2B4 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0x17 - bl InitializeAnimation - pop {r4, pc} - - thumb_func_start sub_08023A88 -sub_08023A88: @ 0x08023A88 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0x22 - bl sub_0801D2B4 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r1, r5, #0 - bl InitializeAnimation - pop {r4, r5, pc} - - thumb_func_start sub_08023AB0 -sub_08023AB0: @ 0x08023AB0 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r7, r4, #0 - adds r7, #0x7b - ldrb r0, [r7] - cmp r0, #8 - bne _08023AF6 - adds r5, r4, #0 - adds r5, #0x7e - ldrb r0, [r5] - adds r6, r0, #0 - cmp r6, #0 - bne _08023B00 - adds r0, r4, #0 - bl sub_08023B38 - cmp r0, #0 - beq _08023ADE - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r0, #0x1d - bhi _08023B34 -_08023ADE: - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x85 - strb r0, [r1] - strb r6, [r7] - movs r0, #0x1e - strb r0, [r5] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation - b _08023B34 -_08023AF6: - adds r5, r4, #0 - adds r5, #0x7e - ldrb r0, [r5] - cmp r0, #0 - beq _08023B06 -_08023B00: - subs r0, #1 - strb r0, [r5] - b _08023B34 -_08023B06: - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r0, #0x59 - bls _08023B34 - adds r0, r4, #0 - bl sub_08023B38 - cmp r0, #0 - beq _08023B34 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x87 - strb r0, [r1] - movs r0, #8 - strb r0, [r7] - movs r0, #0xa - strb r0, [r5] - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl InitializeAnimation -_08023B34: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08023B38 -sub_08023B38: @ 0x08023B38 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r5, r0, #0 - cmp r5, #0 - bne _08023B4C - movs r0, #0 - b _08023B8E -_08023B4C: - movs r0, #0x2e - ldrsh r2, [r4, r0] - ldr r3, _08023B90 @ =gUnk_080CBCB8 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - adds r1, r0, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r2, r2, r1 - movs r6, #0x32 - ldrsh r1, [r4, r6] - adds r0, #1 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r1, r1, r0 - movs r3, #0 - movs r4, #0x2e - ldrsh r0, [r5, r4] - subs r0, r0, r2 - adds r0, #0x14 - cmp r0, #0x28 - bhi _08023B8C - movs r6, #0x32 - ldrsh r0, [r5, r6] - subs r0, r0, r1 - adds r0, #0x14 - cmp r0, #0x28 - bhi _08023B8C - movs r3, #1 -_08023B8C: - adds r0, r3, #0 -_08023B8E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08023B90: .4byte gUnk_080CBCB8 diff --git a/asm/non_matching/moldworm/moldworm.inc b/asm/non_matching/moldworm/moldworm.inc new file mode 100644 index 00000000..8f9c5c64 --- /dev/null +++ b/asm/non_matching/moldworm/moldworm.inc @@ -0,0 +1,83 @@ + + .syntax unified + + .text + + + push {r4, r5, r6, lr} + adds r4, r0, #0 + ldrh r5, [r4, #0x2e] + ldrh r6, [r4, #0x32] + ldrb r1, [r4, #0xa] + cmp r1, #0 + bne _0802306C + ldrb r0, [r4, #0xc] + cmp r0, #0 + beq _08023052 + adds r0, r4, #0 + bl sub_0802390C +_08023052: + adds r0, r4, #0 + adds r0, #0x7c + ldrb r0, [r0] + adds r1, r4, #0 + adds r1, #0x7d + strb r0, [r1] + ldr r1, _08023068 @ =gUnk_080CBC38 + adds r0, r4, #0 + bl EnemyFunctionHandler + b _08023090 + .align 2, 0 +_08023068: .4byte gUnk_080CBC38 +_0802306C: + ldr r0, [r4, #0x50] + ldr r0, [r0, #4] + cmp r0, #0 + beq _08023088 + cmp r1, #8 + beq _08023080 + adds r0, r4, #0 + bl sub_080235BC + b _08023090 +_08023080: + adds r0, r4, #0 + bl sub_08023730 + b _08023090 +_08023088: + adds r0, r4, #0 + bl DeleteEntity + b _080230CA +_08023090: + ldr r0, [r4, #0x50] + adds r2, r0, #0 + adds r2, #0x7c + adds r0, #0x7d + ldrb r1, [r2] + ldrb r0, [r0] + cmp r1, r0 + beq _080230CA + ldr r1, [r4, #0x54] + cmp r1, #0 + beq _080230CA + ldrb r2, [r2] + subs r2, #1 + movs r0, #0xf + ands r2, r0 + adds r2, #0x78 + adds r2, r1, r2 + ldrh r1, [r4, #0x2e] + subs r1, r1, r5 + adds r1, #8 + movs r3, #0xf + ands r1, r3 + lsls r1, r1, #4 + ldrh r0, [r4, #0x32] + subs r0, r0, r6 + adds r0, #8 + ands r0, r3 + orrs r1, r0 + strb r1, [r2] +_080230CA: + pop {r4, r5, r6, pc} + + .syntax divided diff --git a/asm/non_matching/moldworm/sub_080239F0.inc b/asm/non_matching/moldworm/sub_080239F0.inc new file mode 100644 index 00000000..93034e9e --- /dev/null +++ b/asm/non_matching/moldworm/sub_080239F0.inc @@ -0,0 +1,43 @@ + + .syntax unified + + .text + + adds r2, r0, #0 + adds r1, r2, #0 + adds r1, #0x78 + movs r0, #0x88 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + adds r1, #1 + strb r0, [r1] + bx lr + + .syntax divided diff --git a/asm/non_matching/moldworm/sub_08023B38.inc b/asm/non_matching/moldworm/sub_08023B38.inc new file mode 100644 index 00000000..98faa12a --- /dev/null +++ b/asm/non_matching/moldworm/sub_08023B38.inc @@ -0,0 +1,55 @@ + + .syntax unified + + .text + + push {r4, r5, r6, lr} + adds r4, r0, #0 + movs r0, #1 + bl sub_08049DF4 + adds r5, r0, #0 + cmp r5, #0 + bne _08023B4C + movs r0, #0 + b _08023B8E +_08023B4C: + movs r0, #0x2e + ldrsh r2, [r4, r0] + ldr r3, _08023B90 @ =gUnk_080CBCB8 + ldrb r0, [r4, #0x14] + lsls r0, r0, #1 + adds r1, r0, r3 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r2, r2, r1 + movs r6, #0x32 + ldrsh r1, [r4, r6] + adds r0, #1 + adds r0, r0, r3 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r1, r1, r0 + movs r3, #0 + movs r4, #0x2e + ldrsh r0, [r5, r4] + subs r0, r0, r2 + adds r0, #0x14 + cmp r0, #0x28 + bhi _08023B8C + movs r6, #0x32 + ldrsh r0, [r5, r6] + subs r0, r0, r1 + adds r0, #0x14 + cmp r0, #0x28 + bhi _08023B8C + movs r3, #1 +_08023B8C: + adds r0, r3, #0 +_08023B8E: + pop {r4, r5, r6, pc} + .align 2, 0 +_08023B90: .4byte gUnk_080CBCB8 + + .syntax divided diff --git a/data/animations/moldworm.s b/data/animations/moldworm.s new file mode 100644 index 00000000..717039d5 --- /dev/null +++ b/data/animations/moldworm.s @@ -0,0 +1,79 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CBCC8:: @ 080CBCC8 + .incbin "baserom.gba", 0x0CBCC8, 0x0000004 + +gUnk_080CBCCC:: @ 080CBCCC + .incbin "baserom.gba", 0x0CBCCC, 0x0000004 + +gUnk_080CBCD0:: @ 080CBCD0 + .incbin "baserom.gba", 0x0CBCD0, 0x0000004 + +gUnk_080CBCD4:: @ 080CBCD4 + .incbin "baserom.gba", 0x0CBCD4, 0x0000004 + +gUnk_080CBCD8:: @ 080CBCD8 + .incbin "baserom.gba", 0x0CBCD8, 0x0000004 + +gUnk_080CBCDC:: @ 080CBCDC + .incbin "baserom.gba", 0x0CBCDC, 0x0000004 + +gUnk_080CBCE0:: @ 080CBCE0 + .incbin "baserom.gba", 0x0CBCE0, 0x0000004 + +gUnk_080CBCE4:: @ 080CBCE4 + .incbin "baserom.gba", 0x0CBCE4, 0x0000004 + +gUnk_080CBCE8:: @ 080CBCE8 + .incbin "baserom.gba", 0x0CBCE8, 0x0000004 + +gUnk_080CBCEC:: @ 080CBCEC + .incbin "baserom.gba", 0x0CBCEC, 0x0000004 + +gUnk_080CBCF0:: @ 080CBCF0 + .incbin "baserom.gba", 0x0CBCF0, 0x0000004 + +gUnk_080CBCF4:: @ 080CBCF4 + .incbin "baserom.gba", 0x0CBCF4, 0x0000004 + +gUnk_080CBCF8:: @ 080CBCF8 + .incbin "baserom.gba", 0x0CBCF8, 0x0000004 + +gUnk_080CBCFC:: @ 080CBCFC + .incbin "baserom.gba", 0x0CBCFC, 0x0000004 + +gUnk_080CBD00:: @ 080CBD00 + .incbin "baserom.gba", 0x0CBD00, 0x0000004 + +gUnk_080CBD04:: @ 080CBD04 + .incbin "baserom.gba", 0x0CBD04, 0x0000004 + +gUnk_080CBD08:: @ 080CBD08 + .incbin "baserom.gba", 0x0CBD08, 0x0000004 + +gUnk_080CBD0C:: @ 080CBD0C + .incbin "baserom.gba", 0x0CBD0C, 0x0000004 + +gUnk_080CBD10:: @ 080CBD10 + .incbin "baserom.gba", 0x0CBD10, 0x0000004 + +gUnk_080CBD14:: @ 080CBD14 + .incbin "baserom.gba", 0x0CBD14, 0x0000004 + +gUnk_080CBD18:: @ 080CBD18 + .incbin "baserom.gba", 0x0CBD18, 0x0000004 + +gUnk_080CBD1C:: @ 080CBD1C + .incbin "baserom.gba", 0x0CBD1C, 0x0000004 + +gUnk_080CBD20:: @ 080CBD20 + .incbin "baserom.gba", 0x0CBD20, 0x000002C + +gUnk_080CBD4C:: @ 080CBD4C + .incbin "baserom.gba", 0x0CBD4C, 0x000000C + +gUnk_080CBD58:: @ 080CBD58 + .incbin "baserom.gba", 0x0CBD58, 0x0000064 diff --git a/data/data_080CBC38.s b/data/data_080CBC38.s index 6c805bb0..d32b4131 100644 --- a/data/data_080CBC38.s +++ b/data/data_080CBC38.s @@ -3,102 +3,6 @@ .section .rodata -gUnk_080CBC38:: @ 080CBC38 - .incbin "baserom.gba", 0x0CBC38, 0x0000018 - -gUnk_080CBC50:: @ 080CBC50 - .incbin "baserom.gba", 0x0CBC50, 0x0000020 - -gUnk_080CBC70:: @ 080CBC70 - .incbin "baserom.gba", 0x0CBC70, 0x0000020 - -gUnk_080CBC90:: @ 080CBC90 - .incbin "baserom.gba", 0x0CBC90, 0x0000008 - -gUnk_080CBC98:: @ 080CBC98 - .incbin "baserom.gba", 0x0CBC98, 0x0000010 - -gUnk_080CBCA8:: @ 080CBCA8 - .incbin "baserom.gba", 0x0CBCA8, 0x0000010 - -gUnk_080CBCB8:: @ 080CBCB8 - .incbin "baserom.gba", 0x0CBCB8, 0x0000010 - -gUnk_080CBCC8:: @ 080CBCC8 - .incbin "baserom.gba", 0x0CBCC8, 0x0000004 - -gUnk_080CBCCC:: @ 080CBCCC - .incbin "baserom.gba", 0x0CBCCC, 0x0000004 - -gUnk_080CBCD0:: @ 080CBCD0 - .incbin "baserom.gba", 0x0CBCD0, 0x0000004 - -gUnk_080CBCD4:: @ 080CBCD4 - .incbin "baserom.gba", 0x0CBCD4, 0x0000004 - -gUnk_080CBCD8:: @ 080CBCD8 - .incbin "baserom.gba", 0x0CBCD8, 0x0000004 - -gUnk_080CBCDC:: @ 080CBCDC - .incbin "baserom.gba", 0x0CBCDC, 0x0000004 - -gUnk_080CBCE0:: @ 080CBCE0 - .incbin "baserom.gba", 0x0CBCE0, 0x0000004 - -gUnk_080CBCE4:: @ 080CBCE4 - .incbin "baserom.gba", 0x0CBCE4, 0x0000004 - -gUnk_080CBCE8:: @ 080CBCE8 - .incbin "baserom.gba", 0x0CBCE8, 0x0000004 - -gUnk_080CBCEC:: @ 080CBCEC - .incbin "baserom.gba", 0x0CBCEC, 0x0000004 - -gUnk_080CBCF0:: @ 080CBCF0 - .incbin "baserom.gba", 0x0CBCF0, 0x0000004 - -gUnk_080CBCF4:: @ 080CBCF4 - .incbin "baserom.gba", 0x0CBCF4, 0x0000004 - -gUnk_080CBCF8:: @ 080CBCF8 - .incbin "baserom.gba", 0x0CBCF8, 0x0000004 - -gUnk_080CBCFC:: @ 080CBCFC - .incbin "baserom.gba", 0x0CBCFC, 0x0000004 - -gUnk_080CBD00:: @ 080CBD00 - .incbin "baserom.gba", 0x0CBD00, 0x0000004 - -gUnk_080CBD04:: @ 080CBD04 - .incbin "baserom.gba", 0x0CBD04, 0x0000004 - -gUnk_080CBD08:: @ 080CBD08 - .incbin "baserom.gba", 0x0CBD08, 0x0000004 - -gUnk_080CBD0C:: @ 080CBD0C - .incbin "baserom.gba", 0x0CBD0C, 0x0000004 - -gUnk_080CBD10:: @ 080CBD10 - .incbin "baserom.gba", 0x0CBD10, 0x0000004 - -gUnk_080CBD14:: @ 080CBD14 - .incbin "baserom.gba", 0x0CBD14, 0x0000004 - -gUnk_080CBD18:: @ 080CBD18 - .incbin "baserom.gba", 0x0CBD18, 0x0000004 - -gUnk_080CBD1C:: @ 080CBD1C - .incbin "baserom.gba", 0x0CBD1C, 0x0000004 - -gUnk_080CBD20:: @ 080CBD20 - .incbin "baserom.gba", 0x0CBD20, 0x000002C - -gUnk_080CBD4C:: @ 080CBD4C - .incbin "baserom.gba", 0x0CBD4C, 0x000000C - -gUnk_080CBD58:: @ 080CBD58 - .incbin "baserom.gba", 0x0CBD58, 0x0000064 - gUnk_080CBDBC:: @ 080CBDBC .incbin "baserom.gba", 0x0CBDBC, 0x0000018 diff --git a/include/entity.h b/include/entity.h index dc269c33..477889f4 100644 --- a/include/entity.h +++ b/include/entity.h @@ -177,6 +177,12 @@ extern void PositionRelative(Entity*, Entity*, s32, s32); #define DirectionToAnimationState(expr) (DirectionRoundUp(expr) >> 3) #define DirectionFromAnimationState(expr) (expr << 3) +#define Direction8Round(expr) ((expr) & 0x1c) +#define Direction8RoundUp(expr) Direction8Round((expr) + 2) +#define Direction8TurnAround(expr) (Direction8RoundUp(expr) ^ 0x10) +#define Direction8ToAnimationState(expr) (Direction8RoundUp(expr) >> 2) +#define Direction8FromAnimationState(expr) (expr << 2) + extern Entity gUnk_03003DA0; #endif diff --git a/linker.ld b/linker.ld index a0d37ce8..eaf61fe8 100644 --- a/linker.ld +++ b/linker.ld @@ -340,7 +340,7 @@ SECTIONS { src/enemy/cuccoChickAggr.o(.text); src/enemy/moldorm.o(.text); src/enemy/enemyE.o(.text); - asm/moldworm.o(.text); + src/enemy/moldworm.o(.text); asm/sluggula.o(.text); asm/pesto.o(.text); asm/puffstool.o(.text); @@ -932,6 +932,8 @@ SECTIONS { src/enemy/moldorm.o(.rodata); src/enemy/enemyE.o(.rodata); data/animations/enemyE.o(.rodata); + src/enemy/moldworm.o(.rodata); + data/animations/moldworm.o(.rodata); data/data_080CBC38.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c new file mode 100644 index 00000000..fea8f7e7 --- /dev/null +++ b/src/enemy/moldworm.c @@ -0,0 +1,586 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern void sub_0800449C(Entity*, u32); +extern bool32 sub_08023A38(u32); +extern void sub_08023990(Entity*, u32, u32); +extern void sub_08023A88(Entity*, u32); + +void sub_080235BC(Entity*); +void sub_08023644(Entity*); +void sub_08023730(Entity*); +void sub_080237D8(Entity*); +void sub_0802390C(Entity*); +void sub_080239F0(Entity*); +bool32 sub_08023B38(Entity*); + +extern u8 gEntCount; +extern const u8 gUnk_080B37A0[]; + +extern void (*const gUnk_080CBC38[])(Entity*); +extern void (*const gUnk_080CBC50[])(Entity*); +extern const s8 gUnk_080CBC70[]; +extern const s8 gUnk_080CBC90[]; +extern void (*const gUnk_080CBC98[])(Entity*); +extern void (*const gUnk_080CBCA8[])(Entity*); +extern const s8 gUnk_080CBCB8[]; + +#if NON_MATCHING +void Moldworm(Entity* this) { + u16 prevX = this->x.HALF.HI; + u16 prevY = this->y.HALF.HI; + + if (this->entityType.form == 0) { + if (this->action != 0) { + sub_0802390C(this); + } + this->field_0x7c.BYTES.byte1 = this->field_0x7c.BYTES.byte0; + EnemyFunctionHandler(this, gUnk_080CBC38); + } else { + if (this->parent->next) { + if (this->entityType.form != 8) { + sub_080235BC(this); + } else { + sub_08023730(this); + } + } else { + DeleteEntity(this); + return; + } + } + + if (this->parent->field_0x7c.BYTES.byte0 != this->parent->field_0x7c.BYTES.byte1 && this->attachedEntity) { + ((u8*)&this->attachedEntity->field_0x78)[(this->parent->field_0x7c.BYTES.byte0 - 1) & 0xf] = + (((this->x.HALF.HI - prevX + 8) & 0xf) << 4) | ((this->y.HALF.HI - prevY + 8U) & 0xf); + } +} +#else +NAKED +void Moldworm(Entity* this) { + asm(".include \"asm/non_matching/moldworm/moldworm.inc\""); +} +#endif + +void sub_080230CC(Entity* this) { + gUnk_080CBC50[this->action](this); +} + +void sub_080230E4(Entity* this) { + if (this->previousActionFlag == 0xff) { + this->action = 7; + this->actionDelay = 1; + this->previousActionFlag = 0; + this->damageType = 0x85; + this->hurtBlinkTime = -8; + this->field_0x7c.BYTES.byte3 = 0; + this->field_0x7a.HALF.HI = 0; + if (this->bitfield == 0x80 || this->bitfield == 0x9e) { + this->entityType.parameter = 0; + this->field_0x80.HALF.LO = 0x14; + } else { + this->entityType.parameter = 1; + this->field_0x80.HALF.LO = 8; + } + } + + if (this->currentHealth == 0 && this->field_0x7c.BYTES.byte3 == 0 && this->action == 7) { + CopyPosition(this, &gPlayerEntity); + gPlayerEntity.flags = gPlayerEntity.flags | 0x80; + gPlayerEntity.spriteSettings.b.draw = 1; + gPlayerEntity.field_0x20 = 0x18000; + gPlayerEntity.direction = 0xff; + gPlayerEntity.hurtBlinkTime = -0x14; + gPlayerState.jumpStatus = 0x41; + gPlayerState.flags.all &= 0xfff7ffff; + } + + sub_0804AA30(this, gUnk_080CBC38); +} + +void sub_080231A4(Entity* this) { + this->field_0x7c.BYTES.byte0++; + sub_08001324(this); +} + +void nullsub_135(Entity* this) { +} + +void sub_080231BC(Entity* this) { + if (gEntCount < 0x40) { + Entity* ent; + + ent = this->attachedEntity = CreateEnemy(0xf, 1); + ent->parent = this; + + ent = ent->attachedEntity = CreateEnemy(0xf, 2); + ent->parent = this; + + ent = ent->attachedEntity = CreateEnemy(0xf, 3); + ent->parent = this; + + ent = ent->attachedEntity = CreateEnemy(0xf, 4); + ent->parent = this; + + ent = ent->attachedEntity = CreateEnemy(0xf, 5); + ent->parent = this; + + ent = ent->attachedEntity = CreateEnemy(0xf, 6); + ent->parent = this; + + ent = ent->attachedEntity = CreateEnemy(0xf, 7); + ent->parent = this; + + ent->attachedEntity = CreateEnemy(0xf, 8); + *(Entity**)&ent->attachedEntity->field_0x74 = ent; + ent = ent->attachedEntity; + ent->parent = this; + ent->attachedEntity = NULL; + sub_0804A720(this); + this->action = 6; + this->actionDelay = 0x1e; + this->parent = this; + this->field_0x78.HWORD = 0x1e; + this->palette.b.b0 = 5; + this->direction = Random() & 0x1f; + this->animationState = Direction8ToAnimationState(this->direction); + InitializeAnimation(this, this->animationState); + } +} + +void nullsub_136(Entity* this) { +} + +void sub_08023288(Entity* this) { + if (sub_08049FDC(this, 1) && (this->actionDelay++ & 0xf) == 0) { + u32 idx = Random() & 0x1e; + u32 i; + + for (i = 0; i < 0x10; i++) { + u32 x = gPlayerEntity.x.HALF.HI + gUnk_080CBC70[idx + 0]; + u32 y = gPlayerEntity.y.HALF.HI + gUnk_080CBC70[idx + 1]; + if (sub_08023A38(GetTileTypeByPos(x, y, gPlayerEntity.collisionLayer))) { + sub_08023990(this, x, y); + return; + } + idx += 2; + idx &= 0x1e; + } + } +} + +void sub_08023330(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 4; + this->actionDelay = 0x19; + this->flags |= 0x80; + this->field_0x78.HWORD = 600; + this->direction = Random() & 0x1c; + this->animationState = this->direction >> 2; + this->field_0x7a.HALF.HI = 0; + this->field_0x7c.BYTES.byte3 = 0; + sub_08023A88(this, this->animationState); + CopyPosition(this, this->attachedEntity); + CreateFx(this, 4, 0); + } +} + +extern u32 GetTileTypeByEntity(Entity*); +void sub_08023A68(Entity*); +void sub_08023AB0(Entity*); + +void sub_08023398(Entity* this) { + this->field_0x7c.BYTES.byte0++; + + if (this->field_0x7c.BYTES.byte3 && sub_08049FDC(this, 1) == 0) { + this->field_0x78.HWORD = 1; + } + + if (--this->field_0x78.HWORD == 0) { + if (sub_08023A38(GetTileTypeByEntity(this))) { + this->action = 5; + this->field_0x7c.BYTES.byte3 = 0; + this->flags = this->flags & 0x7f; + this->damageType = 0x85; + this->attachedEntity->actionDelay = 1; + sub_08023A68(this); + CreateFx(this, 4, 0); + return; + } + this->field_0x78.HWORD = 0x28; + } + + if (this->field_0x7c.BYTES.byte3) { + sub_08023AB0(this); + } + + if (--this->actionDelay < 3) { + if (this->actionDelay == 0) + this->actionDelay = 25; + } else { + int prevX = this->x.WORD; + int prevY = this->y.WORD; + ProcessMovement(this); + if (this->x.WORD == prevX && this->y.WORD == prevY) { + this->field_0x7c.BYTES.byte0--; + } + + if ((gScreenTransition.frameCount & 7) == 0) { + u32 uVar4; + + sub_08004596(this, sub_08049F84(this, 1)); + uVar4 = Direction8ToAnimationState(this->direction); + if (uVar4 != this->animationState) { + this->animationState = uVar4; + InitializeAnimation(this, uVar4 + this->field_0x7a.HALF.HI); + } + } + } +} + +void sub_080234A4(Entity* this) { + this->field_0x7c.BYTES.byte0++; + GetNextFrame(this); + if (this->field_0x7c.BYTES.byte3) { + this->action = 6; + this->spriteSettings.b.draw = 0; + this->field_0x78.HWORD = 300; + } +} + +void sub_080234D8(Entity* this) { + if (--this->field_0x78.HWORD == 0) { + this->action = 2; + this->palette.b.b0 = 5; + this->direction = Random() & 0x1f; + this->animationState = Direction8ToAnimationState(this->direction); + sub_08023A88(this, this->animationState); + } +} + +void sub_0802351C(Entity* this) { + if (this->actionDelay != 0 && (this->entityType.parameter == 1 || gPlayerEntity.frameIndex == 0xff)) { + this->actionDelay = 0; + this->attachedEntity->action = 3; + this->attachedEntity->field_0xf = this->field_0x80.HALF.LO; + InitializeAnimation(this->attachedEntity, this->attachedEntity->animationState + 1); + InitializeAnimation(this, this->animationState); + } + + if (this->field_0x7c.BYTES.byte3 == 0) { + if (this->entityType.parameter == 0) { + gPlayerEntity.animationState = this->animationState & 7; + gPlayerState.flags.all |= 0x80000; + PositionRelative(this, &gPlayerEntity, 0, gUnk_080CBC90[this->animationState & 7] << 0x10); + gPlayerEntity.spriteOffsetY = -gUnk_080CBC90[this->animationState & 7]; + } + } else { + this->action = 4; + } +} + +void sub_080235BC(Entity* this) { + gUnk_080CBC98[this->action](this); +} + +void sub_080235D4(Entity* this) { + Entity* parent; + + this->action = 1; + parent = this->parent; + this->x.HALF.HI = parent->x.HALF.HI; + this->y.HALF.HI = parent->y.HALF.HI; + sub_080239F0(this); + if (this->entityType.form == 1) { + this->animationState = 0x10; + } else { + this->animationState = 0x12; + } + InitializeAnimation(this, this->animationState); +} + +void sub_08023604(Entity* this) { + if (((u8*)&this->field_0x78)[this->parent->field_0x7c.BYTES.byte0 & 0xf] != 0x88) { + this->action = 2; + this->actionDelay = 0; + this->flags |= 0x80; + this->spriteSettings.b.draw = 1; + sub_08023644(this); + } +} + +void sub_08023644(Entity* this) { + Entity* parent = this->parent; + + if (parent->animIndex == 0x17 && this->actionDelay != 0 && this->x.HALF.HI == parent->x.HALF.HI && + this->y.HALF.HI == parent->y.HALF.HI) { + this->action = 1; + this->flags &= ~0x80; + this->spriteSettings.b.draw = 0; + this->attachedEntity->actionDelay = 1; + sub_080239F0(this); + } + + if (parent->field_0x7c.BYTES.byte0 != parent->field_0x7c.BYTES.byte1) { + u8* tmp = &((u8*)&this->field_0x78)[parent->field_0x7c.BYTES.byte0 & 0xf]; + this->x.HALF.HI += (*tmp >> 4) - 8; + this->y.HALF.HI += (*tmp & 0xf) - 8; + this->spriteOrientation.flipY = parent->spriteOrientation.flipY; + this->spriteRendering.b3 = parent->spriteRendering.b3; + this->collisionLayer = parent->collisionLayer; + } +} + +void sub_080236F8(Entity* parent) { + if (--parent->field_0xf == 0) { + parent->action = 2; + parent->attachedEntity->action = 3; + parent->attachedEntity->field_0xf = parent->parent->field_0x80.HALF.LO; + InitializeAnimation(parent->attachedEntity, parent->attachedEntity->animationState + 1); + InitializeAnimation(parent, parent->animationState); + } +} + +void sub_08023730(Entity* this) { + gUnk_080CBCA8[this->action](this); +} + +void sub_08023748(Entity* this) { + Entity* parent; + + this->action = 1; + this->animationState = 20; + parent = this->parent; + this->x.HALF.HI = parent->x.HALF.HI; + this->y.HALF.HI = parent->y.HALF.HI; + sub_080239F0(this); + sub_08023A68(this); +} + +void sub_0802376C(Entity* this) { + Entity* parent = this->parent; + + if (parent->spriteSettings.b.draw == 1 && parent->animIndex < 0x10) { + this->spriteSettings.b.draw = 1; + GetNextFrame(this); + } + + if (((u8*)&this->field_0x78)[parent->field_0x7c.BYTES.byte0 & 0xf] != 0x88) { + this->action = 2; + this->actionDelay = 0; + this->flags |= 0x80; + this->parent->field_0x7c.BYTES.byte3 = 1; + sub_08023A88(this, 20); + sub_080237D8(this); + } +} + +void sub_080237D8(Entity* this) { + Entity* parent = this->parent; + + if (parent->animIndex == 0x17 && this->actionDelay != 0 && this->x.HALF.HI == parent->x.HALF.HI && + this->y.HALF.HI == parent->y.HALF.HI) { + this->action = 1; + this->flags &= ~0x80; + this->spriteSettings.b.draw = 0; + parent->field_0x7c.BYTES.byte3 = 1; + sub_080239F0(this); + sub_08023A68(this); + } + + if (parent->field_0x7c.BYTES.byte0 != parent->field_0x7c.BYTES.byte1) { + u8* tmp = &((u8*)&this->field_0x78)[parent->field_0x7c.BYTES.byte0 & 0xf]; + this->x.HALF.HI += (*tmp >> 4) - 8; + this->y.HALF.HI += (*tmp & 0xf) - 8; + + this->spriteOrientation.flipY = parent->spriteOrientation.flipY; + this->spriteRendering.b3 = parent->spriteRendering.b3; + this->collisionLayer = parent->collisionLayer; + } +} + +void sub_08023894(Entity* this) { + if (--this->field_0xf == 0) { + this->action = 2; + this->parent->field_0x7c.BYTES.byte3 = 1; + InitializeAnimation(this, this->animationState); + if ((this->parent->entityType).parameter == 0) { + gPlayerState.flags.all |= 0x200000; + gPlayerEntity.x.HALF.HI = this->x.HALF.HI; + gPlayerEntity.y.HALF.HI = this->y.HALF.HI; + gPlayerEntity.direction = DirectionRoundUp(GetFacingDirection(*(Entity**)&this->field_0x74, this)); + gPlayerEntity.animationState = gPlayerEntity.direction >> 2; + gPlayerEntity.hurtBlinkTime = 12; + ModHealth(-0x10); + sub_0800449C(&gPlayerEntity, 0x7a); + } + } +} + +void sub_0802390C(Entity* this) { + if (this->bitfield & 0x80) { + Entity* ent = this->attachedEntity; + do { + ent->hurtBlinkTime = this->hurtBlinkTime; + } while (ent = ent->attachedEntity, ent != NULL); + } else { + Entity* ent = this->attachedEntity; + do { + if (ent->bitfield & 0x80) { + u8 bVar2 = 0xff - ent->currentHealth; + if (bVar2 != 0) { + u32 tmp; + ent->currentHealth = 0xff; + tmp = (u8)ent->hurtBlinkTime; + if (this->currentHealth >= bVar2) { + this->currentHealth -= bVar2; + } else { + this->currentHealth = 0; + } + + ent = this; + do { + ent->hurtBlinkTime = tmp; + } while (ent = ent->attachedEntity, ent != NULL); + break; + } + } + } while (ent = ent->attachedEntity, ent != NULL); + } +} + +void sub_08023990(Entity* this, u32 param_2, u32 param_3) { + Entity* ent; + + this->action = 3; + this->spriteSettings.b.draw = 1; + this->palette.b.b0 = 0x5; + this->palette.b.b4 = 0x5; + this->spritePriority.b0 = 7; + this->x.HALF.HI = param_2; + this->y.HALF.HI = param_3; + this->collisionLayer = gPlayerEntity.collisionLayer; + UpdateSpriteForCollisionLayer(this); + InitializeAnimation(this, 0x16); + + ent = this->attachedEntity; + do { + sub_080239F0(ent); + CopyPosition(this, ent); + } while (ent = ent->attachedEntity, ent != NULL); +} + +/* TODO: fix struct */ +NAKED +void sub_080239F0(Entity* this) { + asm(".include \"asm/non_matching/moldworm/sub_080239F0.inc\""); +} + +bool32 sub_08023A38(u32 unk) { + if (unk == 0x1a || unk == 0x29) { + return TRUE; + } else { + unk = gUnk_080B37A0[unk]; + if (unk == 9 || unk == 11 || unk == 10 || unk == 12) { + return TRUE; + } else { + return FALSE; + } + } +} + +void sub_08023A68(Entity* this) { + sub_0801D2B4(this, 5); + this->spritePriority.b0 = 7; + InitializeAnimation(this, 0x17); +} + +void sub_08023A88(Entity* this, u32 unk) { + sub_0801D2B4(this, 0x22); + this->spritePriority.b0 = 4; + InitializeAnimation(this, unk); +} + +void sub_08023AB0(Entity* this) { + if (this->field_0x7a.HALF.HI == 8) { + if (this->field_0x7c.BYTES.byte2) { + this->field_0x7c.BYTES.byte2--; + } else if (!sub_08023B38(this) || 0x1d >= this->field_0x78.HWORD) { + this->damageType = 0x85; + this->field_0x7a.HALF.HI = 0; + this->field_0x7c.BYTES.byte2 = 30; + InitializeAnimation(this, this->animationState); + } + } else if (this->field_0x7c.BYTES.byte2) { + this->field_0x7c.BYTES.byte2--; + } else if (this->field_0x78.HWORD >= 90 && sub_08023B38(this)) { + this->damageType = 0x87; + this->field_0x7a.HALF.HI = 8; + this->field_0x7c.BYTES.byte2 = 10; + InitializeAnimation(this, this->animationState + 8); + } +} + +NAKED +bool32 sub_08023B38(Entity* this) { + asm(".include \"asm/non_matching/moldworm/sub_08023B38.inc\""); +} + +// clang-format off +void (*const gUnk_080CBC38[])(Entity*) = { + sub_080230CC, + sub_080230E4, + sub_080231A4, + sub_0804A7D4, + sub_08001242, + nullsub_135, +}; + +void (*const gUnk_080CBC50[])(Entity*) = { + sub_080231BC, + nullsub_136, + sub_08023288, + sub_08023330, + sub_08023398, + sub_080234A4, + sub_080234D8, + sub_0802351C, +}; + +const s8 gUnk_080CBC70[] = { + 0x00, 0xd0, 0x00, 0x30, + 0xd0, 0x00, 0x30, 0x00, + 0xe0, 0xe0, 0xe0, 0x20, + 0x20, 0xe0, 0x20, 0x20, + 0xf0, 0xe0, 0x10, 0xe0, + 0xf0, 0x20, 0x10, 0x20, + 0xe0, 0xf0, 0x20, 0xf0, + 0xe0, 0x10, 0x20, 0x10, +}; + +const s8 gUnk_080CBC90[] = { + 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, +}; + +void (*const gUnk_080CBC98[])(Entity*) = { + sub_080235D4, + sub_08023604, + sub_08023644, + sub_080236F8, +}; + +void (*const gUnk_080CBCA8[])(Entity*) = { + sub_08023748, + sub_0802376C, + sub_080237D8, + sub_08023894, +}; + +const s8 gUnk_080CBCB8[] = { + 0x00, 0xe4, 0x14, 0xec, + 0x1c, 0x00, 0x14, 0x14, + 0x00, 0x1c, 0xec, 0x14, + 0xe4, 0x00, 0xec, 0xec, +}; +// clang-format on From c19fc6d0fa578ad868088a3bf065f21879c810c5 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Thu, 3 Sep 2020 18:58:13 +0200 Subject: [PATCH 059/105] rename rodata file --- data/{data_080CBC38.s => data_080CBDBC.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CBC38.s => data_080CBDBC.s} (100%) diff --git a/data/data_080CBC38.s b/data/data_080CBDBC.s similarity index 100% rename from data/data_080CBC38.s rename to data/data_080CBDBC.s diff --git a/linker.ld b/linker.ld index eaf61fe8..61f5f01f 100644 --- a/linker.ld +++ b/linker.ld @@ -934,7 +934,7 @@ SECTIONS { data/animations/enemyE.o(.rodata); src/enemy/moldworm.o(.rodata); data/animations/moldworm.o(.rodata); - data/data_080CBC38.o(.rodata); + data/data_080CBDBC.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From 5b89355daa39efa2c9bb4c988a957e396197c724 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Thu, 3 Sep 2020 23:19:53 +0200 Subject: [PATCH 060/105] decompile sluggula --- asm/sluggula.s | 478 ------------------------------------- data/animations/sluggula.s | 28 +++ data/data_080CBDBC.s | 42 ---- linker.ld | 3 + src/enemy/sluggula.c | 226 ++++++++++++++++++ 5 files changed, 257 insertions(+), 520 deletions(-) delete mode 100644 asm/sluggula.s create mode 100644 data/animations/sluggula.s create mode 100644 src/enemy/sluggula.c diff --git a/asm/sluggula.s b/asm/sluggula.s deleted file mode 100644 index d75ab61a..00000000 --- a/asm/sluggula.s +++ /dev/null @@ -1,478 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Sluggula -Sluggula: @ 0x08023B94 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _08023BAC - ldr r1, _08023BA8 @ =gUnk_080CBDBC - adds r0, r5, #0 - bl EnemyFunctionHandler - b _08023BEC - .align 2, 0 -_08023BA8: .4byte gUnk_080CBDBC -_08023BAC: - cmp r0, #0 - bne _08023C00 - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _08023BD8 - adds r0, r5, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _08023BD8 - ldr r0, _08023BD4 @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _08023C06 - .align 2, 0 -_08023BD4: .4byte gUnk_080012C8 -_08023BD8: - ldr r4, _08023BFC @ =gUnk_080CBDD4 - adds r0, r5, #0 - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 -_08023BEC: - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl SetChildOffset - b _08023C06 - .align 2, 0 -_08023BFC: .4byte gUnk_080CBDD4 -_08023C00: - adds r0, r5, #0 - bl sub_08023E10 -_08023C06: - pop {r4, r5, pc} - - thumb_func_start sub_08023C08 -sub_08023C08: @ 0x08023C08 - push {lr} - ldr r2, _08023C1C @ =gUnk_080CBDEC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08023C1C: .4byte gUnk_080CBDEC - - thumb_func_start sub_08023C20 -sub_08023C20: @ 0x08023C20 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08023C34 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08023C34: - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08023C48 - ldr r1, _08023C44 @ =gUnk_080CBDBC - adds r0, r4, #0 - bl sub_0804AA30 - b _08023C50 - .align 2, 0 -_08023C44: .4byte gUnk_080CBDBC -_08023C48: - ldr r1, _08023C54 @ =gUnk_080CBDD4 - adds r0, r4, #0 - bl sub_0804AA30 -_08023C50: - pop {r4, pc} - .align 2, 0 -_08023C54: .4byte gUnk_080CBDD4 - - thumb_func_start nullsub_137 -nullsub_137: @ 0x08023C58 - bx lr - .align 2, 0 - - thumb_func_start sub_08023C5C -sub_08023C5C: @ 0x08023C5C - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - bl Random - movs r1, #0x30 - ands r0, r1 - adds r0, #0xb4 - strb r0, [r4, #0xe] - bl Random - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation - pop {r4, pc} - - thumb_func_start sub_08023C8C -sub_08023C8C: @ 0x08023C8C - push {r4, lr} - adds r4, r0, #0 - bl ProcessMovement - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - bl sub_08023E54 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08023CDC - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - beq _08023CBC - movs r0, #8 - strb r0, [r4, #0xe] - b _08023CDC -_08023CBC: - bl Random - movs r1, #0x30 - ands r0, r1 - adds r0, #0xb4 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08023E9C - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation -_08023CDC: - pop {r4, pc} - .align 2, 0 - - - thumb_func_start sub_08023CE0 -sub_08023CE0: @ 0x08023CE0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08023D48 - cmp r0, #1 - bgt _08023CF4 - cmp r0, #0 - beq _08023CFA - b _08023DC0 -_08023CF4: - cmp r0, #2 - beq _08023D6E - b _08023DC0 -_08023CFA: - adds r0, r4, #0 - bl sub_0804A720 - ldrb r1, [r4, #0xb] - cmp r1, #1 - bne _08023D1C - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08023D12 - strb r1, [r4, #0xe] -_08023D12: - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08023D20 -_08023D1C: - movs r0, #1 - strb r0, [r4, #0xc] -_08023D20: - ldr r0, _08023D44 @ =0x0000FF80 - strh r0, [r4, #0x36] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - adds r0, r4, #0 - movs r1, #6 - bl InitializeAnimation - b _08023E0A - .align 2, 0 -_08023D44: .4byte 0x0000FF80 -_08023D48: - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x20 - bl PlayerInRange - cmp r0, #0 - beq _08023E0A - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08023D64 - movs r0, #8 - strb r0, [r4, #0xe] -_08023D64: - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08023E0A -_08023D6E: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08023D94 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08023E0A - ldr r0, _08023D90 @ =0x0000012D - bl EnqueueSFX - adds r0, r4, #0 - movs r1, #4 - bl InitializeAnimation - b _08023E0A - .align 2, 0 -_08023D90: .4byte 0x0000012D -_08023D94: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08023E0A - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x84 - bl EnqueueSFX - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - b _08023E0A -_08023DC0: - adds r0, r4, #0 - bl GetNextFrame - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - cmp r1, #0 - beq _08023E0A - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023DF2 - movs r0, #0x10 - movs r1, #1 - bl CreateEnemy - adds r1, r0, #0 - cmp r1, #0 - beq _08023E0A - adds r0, r4, #0 - bl sub_0804A4E4 - bl DeleteThisEntity - b _08023E0A -_08023DF2: - ldr r1, _08023E0C @ =gUnk_080CBDF4 - ldrb r0, [r2] - subs r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - movs r1, #0 - strh r0, [r4, #0x32] - strb r1, [r2] -_08023E0A: - pop {r4, pc} - .align 2, 0 -_08023E0C: .4byte gUnk_080CBDF4 - - thumb_func_start sub_08023E10 -sub_08023E10: @ 0x08023E10 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08023E36 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #5 - bl InitializeAnimation -_08023E36: - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023E50 - adds r0, r4, #0 - bl DeleteEntity -_08023E50: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08023E54 -sub_08023E54: @ 0x08023E54 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - adds r1, r0, #1 - strb r1, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1b - bls _08023E94 - movs r0, #0 - strb r0, [r4, #0xf] - movs r0, #0x10 - movs r1, #2 - bl CreateEnemy - adds r5, r0, #0 - cmp r5, #0 - beq _08023E94 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - ldr r1, _08023E98 @ =gUnk_080CBDF7 - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl PositionRelative -_08023E94: - pop {r4, r5, pc} - .align 2, 0 -_08023E98: .4byte gUnk_080CBDF7 - - thumb_func_start sub_08023E9C -sub_08023E9C: @ 0x08023E9C - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl Random - adds r6, r0, #0 - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08023EC2 - movs r0, #1 - ands r0, r6 - cmp r0, #0 - beq _08023EC2 - adds r0, r5, #0 - bl sub_08049EE4 - adds r0, #4 - b _08023F1C -_08023EC2: - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08023F0A - movs r0, #6 - ands r0, r6 - cmp r0, #0 - beq _08023F0A - ldr r0, _08023F00 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl GetFacingDirection - ldrb r2, [r5, #0x15] - subs r1, r0, r2 - cmp r1, #0 - beq _08023F22 - adds r0, r1, #4 - movs r3, #0x1f - ands r0, r3 - cmp r0, #8 - bls _08023F22 - ands r1, r3 - cmp r1, #0xf - bhi _08023F04 - adds r0, r2, #0 - adds r0, #8 - b _08023F1C - .align 2, 0 -_08023F00: .4byte gUnk_020000B0 -_08023F04: - adds r0, r2, #0 - subs r0, #8 - b _08023F1C -_08023F0A: - ldr r4, _08023F24 @ =gUnk_080CBDFF - lsrs r0, r6, #4 - movs r1, #3 - bl __modsi3 - adds r0, r0, r4 - ldrb r0, [r0] - ldrb r1, [r5, #0x15] - adds r0, r0, r1 -_08023F1C: - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] -_08023F22: - pop {r4, r5, r6, pc} - .align 2, 0 -_08023F24: .4byte gUnk_080CBDFF \ No newline at end of file diff --git a/data/animations/sluggula.s b/data/animations/sluggula.s new file mode 100644 index 00000000..b5ec9dc0 --- /dev/null +++ b/data/animations/sluggula.s @@ -0,0 +1,28 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CBE02:: @ 080CBE02 + .incbin "baserom.gba", 0x0CBE02, 0x0000019 + +gUnk_080CBE1B:: @ 080CBE1B + .incbin "baserom.gba", 0x0CBE1B, 0x0000019 + +gUnk_080CBE34:: @ 080CBE34 + .incbin "baserom.gba", 0x0CBE34, 0x0000019 + +gUnk_080CBE4D:: @ 080CBE4D + .incbin "baserom.gba", 0x0CBE4D, 0x0000019 + +gUnk_080CBE66:: @ 080CBE66 + .incbin "baserom.gba", 0x0CBE66, 0x0000024 + +gUnk_080CBE8A:: @ 080CBE8A + .incbin "baserom.gba", 0x0CBE8A, 0x0000014 + +gUnk_080CBE9E:: @ 080CBE9E + .incbin "baserom.gba", 0x0CBE9E, 0x0000006 + +gUnk_080CBEA4:: @ 080CBEA4 + .incbin "baserom.gba", 0x0CBEA4, 0x0000020 diff --git a/data/data_080CBDBC.s b/data/data_080CBDBC.s index d32b4131..3e581026 100644 --- a/data/data_080CBDBC.s +++ b/data/data_080CBDBC.s @@ -3,48 +3,6 @@ .section .rodata -gUnk_080CBDBC:: @ 080CBDBC - .incbin "baserom.gba", 0x0CBDBC, 0x0000018 - -gUnk_080CBDD4:: @ 080CBDD4 - .incbin "baserom.gba", 0x0CBDD4, 0x0000018 - -gUnk_080CBDEC:: @ 080CBDEC - .incbin "baserom.gba", 0x0CBDEC, 0x0000008 - -gUnk_080CBDF4:: @ 080CBDF4 - .incbin "baserom.gba", 0x0CBDF4, 0x0000003 - -gUnk_080CBDF7:: @ 080CBDF7 - .incbin "baserom.gba", 0x0CBDF7, 0x0000008 - -gUnk_080CBDFF:: @ 080CBDFF - .incbin "baserom.gba", 0x0CBDFF, 0x0000003 - -gUnk_080CBE02:: @ 080CBE02 - .incbin "baserom.gba", 0x0CBE02, 0x0000019 - -gUnk_080CBE1B:: @ 080CBE1B - .incbin "baserom.gba", 0x0CBE1B, 0x0000019 - -gUnk_080CBE34:: @ 080CBE34 - .incbin "baserom.gba", 0x0CBE34, 0x0000019 - -gUnk_080CBE4D:: @ 080CBE4D - .incbin "baserom.gba", 0x0CBE4D, 0x0000019 - -gUnk_080CBE66:: @ 080CBE66 - .incbin "baserom.gba", 0x0CBE66, 0x0000024 - -gUnk_080CBE8A:: @ 080CBE8A - .incbin "baserom.gba", 0x0CBE8A, 0x0000014 - -gUnk_080CBE9E:: @ 080CBE9E - .incbin "baserom.gba", 0x0CBE9E, 0x0000006 - -gUnk_080CBEA4:: @ 080CBEA4 - .incbin "baserom.gba", 0x0CBEA4, 0x0000020 - gUnk_080CBEC4:: @ 080CBEC4 .incbin "baserom.gba", 0x0CBEC4, 0x0000018 diff --git a/linker.ld b/linker.ld index 61f5f01f..f2fdffb5 100644 --- a/linker.ld +++ b/linker.ld @@ -341,6 +341,7 @@ SECTIONS { src/enemy/moldorm.o(.text); src/enemy/enemyE.o(.text); src/enemy/moldworm.o(.text); + src/enemy/sluggula.o(.text); asm/sluggula.o(.text); asm/pesto.o(.text); asm/puffstool.o(.text); @@ -934,6 +935,8 @@ SECTIONS { data/animations/enemyE.o(.rodata); src/enemy/moldworm.o(.rodata); data/animations/moldworm.o(.rodata); + src/enemy/sluggula.o(.rodata); + data/animations/sluggula.o(.rodata); data/data_080CBDBC.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/sluggula.c b/src/enemy/sluggula.c new file mode 100644 index 00000000..e11170bb --- /dev/null +++ b/src/enemy/sluggula.c @@ -0,0 +1,226 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern s32 sub_080012DC(Entity*); +bool32 PlayerInRange(Entity*, u32, u32); + +void sub_08023E10(Entity*); +void sub_08023E54(Entity*); +void sub_08023E9C(Entity*); +void sub_0804A4E4(Entity*, Entity*); + +extern void (*const gUnk_080012C8[])(Entity*); + +extern void (*const gUnk_080CBDBC[])(Entity*); +extern void (*const gUnk_080CBDD4[])(Entity*); +extern void (*const gUnk_080CBDEC[])(Entity*); + +extern const s8 gUnk_080CBDF4[]; +extern const s8 gUnk_080CBDF7[]; +extern const s8 gUnk_080CBDFF[]; + +void Sluggula(Entity* this) { + if (this->entityType.form == 1) { + EnemyFunctionHandler(this, gUnk_080CBDBC); + + SetChildOffset(this, 0, 1, -0x10); + } else if (this->entityType.form == 0) { + if (this->height.HALF.HI == 0) { + u32 idx = sub_080012DC(this); + if (idx != 0) { + gUnk_080012C8[idx](this); + return; + } + } + gUnk_080CBDD4[GetNextFunction(this)](this); + + SetChildOffset(this, 0, 1, -0x10); + } else { + sub_08023E10(this); + } +} + +void sub_08023C08(Entity* this) { + gUnk_080CBDEC[this->action](this); +} + +void sub_08023C20(Entity* this) { + if (this->field_0x43) + sub_0804A9FC(this, 0x1c); + + if (this->entityType.form == 1) { + sub_0804AA30(this, gUnk_080CBDBC); + } else { + sub_0804AA30(this, gUnk_080CBDD4); + } +} + +void nullsub_137(Entity* this) { + /* ... */ +} + +void sub_08023C5C(Entity* this) { + sub_0804A720(this); + this->action = 1; + this->actionDelay = (Random() & 0x30) + 0xb4; + this->direction = DirectionRound(Random()); + this->animationState = this->direction >> 3; + InitializeAnimation(this, this->animationState); +} + +void sub_08023C8C(Entity* this) { + ProcessMovement(this); + GetNextFrame(this); + sub_08023E54(this); + if (--this->actionDelay == 0) { + if (this->frames.all != 1) { + this->actionDelay = 8; + } else { + this->actionDelay = (Random() & 0x30) + 0xb4; + sub_08023E9C(this); + this->animationState = this->direction >> 3; + InitializeAnimation(this, this->animationState); + } + } +} + +void sub_08023CE0(Entity* this) { + switch (this->action) { + case 0: + sub_0804A720(this); + if (this->entityType.parameter == 1) { + this->action = 2; + if (this->actionDelay == 0) { + this->actionDelay = 1; + } + this->spriteSettings.b.draw = 3; + } else { + this->action = 1; + } + this->height.HALF.HI = -0x80; + this->spriteRendering.b3 = 1; + this->spriteOrientation.flipY = 1; + InitializeAnimation(this, 6); + break; + case 1: + if (PlayerInRange(this, 1, 0x20)) { + this->action = 2; + if (this->actionDelay == 0) { + this->actionDelay = 8; + } + this->spriteSettings.b.draw = 3; + } + break; + case 2: + if (this->actionDelay != 0) { + if (--this->actionDelay == 0) { + EnqueueSFX(0x12d); + InitializeAnimation(this, 4); + } + } else if (!sub_08003FC4(this, 0x1800)) { + this->action = 3; + this->spriteSettings.b.draw = 1; + EnqueueSFX(0x84); + UpdateSpriteForCollisionLayer(this); + } + break; + default: + GetNextFrame(this); + if (this->frames.all) { + if (this->frames.all & 0x80) { + Entity* ent = CreateEnemy(0x10, 1); + if (ent) { + sub_0804A4E4(this, ent); + DeleteThisEntity(); + } + } else { + this->y.HALF.HI += gUnk_080CBDF4[this->frames.all - 1]; + this->frames.all = 0; + } + } + break; + } +} + +void sub_08023E10(Entity* this) { + if (this->action == 0) { + this->action = 1; + this->spritePriority.b0 = 6; + InitializeAnimation(this, 5); + } + + GetNextFrame(this); + if (this->frames.all & 0x80) + DeleteEntity(this); +} + +void sub_08023E54(Entity* this) { + Entity* ent; + + if (this->field_0xf++ > 27) { + this->field_0xf = 0; + ent = CreateEnemy(0x10, 2); + if (ent) { + const s8* ptr = &gUnk_080CBDF7[this->animationState * 2]; + PositionRelative(this, ent, ptr[0] << 0x10, ptr[1] << 0x10); + } + } +} + +extern Entity* gUnk_020000B0; + +void sub_08023E9C(Entity* this) { + u32 uVar3 = Random(); + if (sub_08049FA0(this) == 0 && (uVar3 & 1)) { + this->direction = DirectionRoundUp(sub_08049EE4(this)); + } else if (sub_08049FDC(this, 1) && (uVar3 & 6)) { + u32 uVar3 = GetFacingDirection(this, gUnk_020000B0) - this->direction; + if (uVar3 != 0 && ((uVar3 + 4) & 0x1f) > 8) { + if ((uVar3 & 0x1f) < 0x10) { + this->direction = DirectionRound(this->direction + 8); + } else { + this->direction = DirectionRound(this->direction - 8); + } + } + } else { + this->direction = DirectionRound(this->direction + gUnk_080CBDFF[(s32)(uVar3 >> 4) % 3]); + } +} + +// clang-format off +void (*const gUnk_080CBDBC[])(Entity*) = { + sub_08023C08, + sub_08023C20, + sub_08001324, + sub_0804A7D4, + sub_08001242, + nullsub_137, +}; + +void (*const gUnk_080CBDD4[])(Entity*) = { + sub_08023CE0, + sub_08023C20, + sub_08001324, + sub_0804A7D4, + sub_08001242, + nullsub_137, +}; + +void (*const gUnk_080CBDEC[])(Entity*) = { + sub_08023C5C, + sub_08023C8C, +}; + +const s8 gUnk_080CBDF4[] = { + 1, 2, 6, +}; + +const s8 gUnk_080CBDF7[] = { + 0, 2, -2, 2, 0, -2, 2, 2 +}; + +const s8 gUnk_080CBDFF[] = { + 0, -8, 8, +}; +// clang-format on From 18e12b74f2a5a42f2d26f9d72071a3abe2552edb Mon Sep 17 00:00:00 2001 From: Behemoth Date: Thu, 3 Sep 2020 23:21:01 +0200 Subject: [PATCH 061/105] rename rodata file --- data/{data_080CBDBC.s => data_080CBEC4.s} | 0 linker.ld | 3 +-- 2 files changed, 1 insertion(+), 2 deletions(-) rename data/{data_080CBDBC.s => data_080CBEC4.s} (100%) diff --git a/data/data_080CBDBC.s b/data/data_080CBEC4.s similarity index 100% rename from data/data_080CBDBC.s rename to data/data_080CBEC4.s diff --git a/linker.ld b/linker.ld index f2fdffb5..91a3ce2a 100644 --- a/linker.ld +++ b/linker.ld @@ -342,7 +342,6 @@ SECTIONS { src/enemy/enemyE.o(.text); src/enemy/moldworm.o(.text); src/enemy/sluggula.o(.text); - asm/sluggula.o(.text); asm/pesto.o(.text); asm/puffstool.o(.text); asm/chuchuBoss.o(.text); @@ -937,7 +936,7 @@ SECTIONS { data/animations/moldworm.o(.rodata); src/enemy/sluggula.o(.rodata); data/animations/sluggula.o(.rodata); - data/data_080CBDBC.o(.rodata); + data/data_080CBEC4.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From 17a0f00ddfc552502607b1882c98fd1a4ba54bbe Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 4 Sep 2020 18:04:04 +0200 Subject: [PATCH 062/105] decompile pesto --- asm/non_matching/pesto/sub_080249F4.inc | 24 + asm/non_matching/pesto/sub_08024C48.inc | 36 + asm/non_matching/pesto/sub_08024E4C.inc | 133 ++ asm/pesto.s | 2234 ----------------------- data/animations/pesto.s | 31 + data/data_080CBEC4.s | 45 - include/entity.h | 2 +- linker.ld | 4 +- src/enemy/pesto.c | 906 +++++++++ 9 files changed, 1134 insertions(+), 2281 deletions(-) create mode 100644 asm/non_matching/pesto/sub_080249F4.inc create mode 100644 asm/non_matching/pesto/sub_08024C48.inc create mode 100644 asm/non_matching/pesto/sub_08024E4C.inc delete mode 100644 asm/pesto.s create mode 100644 data/animations/pesto.s create mode 100644 src/enemy/pesto.c diff --git a/asm/non_matching/pesto/sub_080249F4.inc b/asm/non_matching/pesto/sub_080249F4.inc new file mode 100644 index 00000000..eb1d8683 --- /dev/null +++ b/asm/non_matching/pesto/sub_080249F4.inc @@ -0,0 +1,24 @@ + + .syntax unified + + .text + + + push {lr} + adds r2, r0, #0 + ldrb r0, [r2, #0x15] + adds r1, r0, #2 + movs r0, #0x1f + ands r1, r0 + lsrs r1, r1, #2 + ldrb r0, [r2, #0x14] + cmp r1, r0 + beq _08024A12 + strb r1, [r2, #0x14] + ldrb r1, [r2, #0x14] + adds r0, r2, #0 + bl InitializeAnimation +_08024A12: + pop {pc} + + .syntax divided diff --git a/asm/non_matching/pesto/sub_08024C48.inc b/asm/non_matching/pesto/sub_08024C48.inc new file mode 100644 index 00000000..858df9a6 --- /dev/null +++ b/asm/non_matching/pesto/sub_08024C48.inc @@ -0,0 +1,36 @@ + + .syntax unified + + .text + + + push {r4, r5, lr} + adds r3, r0, #0 + movs r4, #1 + cmp r1, #0 + beq _08024C60 + movs r0, #3 + bl sub_08049DF4 + rsbs r1, r0, #0 + orrs r1, r0 + lsrs r4, r1, #0x1f + b _08024C78 +_08024C60: + ldr r2, [r3, #0x54] + cmp r2, #0 + beq _08024C74 + ldr r0, [r2, #4] + cmp r0, #0 + beq _08024C74 + movs r5, #0x36 + ldrsh r0, [r2, r5] + cmp r0, #0 + bge _08024C78 +_08024C74: + str r1, [r3, #0x54] + movs r4, #0 +_08024C78: + adds r0, r4, #0 + pop {r4, r5, pc} + + .syntax divided diff --git a/asm/non_matching/pesto/sub_08024E4C.inc b/asm/non_matching/pesto/sub_08024E4C.inc new file mode 100644 index 00000000..f326b496 --- /dev/null +++ b/asm/non_matching/pesto/sub_08024E4C.inc @@ -0,0 +1,133 @@ + + .syntax unified + + .text + + + push {r4, r5, r6, r7, lr} + adds r4, r0, #0 + adds r0, #0x83 + ldrb r0, [r0] + cmp r0, #3 + bne _08024F46 + ldrb r0, [r4, #0xf] + adds r0, #1 + movs r7, #0 + movs r1, #0xff + ands r0, r1 + movs r1, #0x1f + ands r0, r1 + strb r0, [r4, #0xf] + bl sub_0807953C + cmp r0, #0 + beq _08024E84 + bl Random + adds r3, r4, #0 + adds r3, #0x84 + ldrb r2, [r3] + adds r2, #1 + movs r1, #1 + ands r1, r0 + adds r2, r2, r1 + strb r2, [r3] +_08024E84: + ldr r0, _08024EC8 @ =gUnk_02002A40 + adds r0, #0xaa + ldrb r0, [r0] + adds r2, r4, #0 + adds r2, #0x87 + cmp r0, #0 + beq _08024E9A + adds r5, r2, #0 + ldrb r0, [r5] + cmp r0, #4 + bne _08024ECC +_08024E9A: + adds r1, r4, #0 + adds r1, #0x84 + movs r0, #0x30 + strb r0, [r1] + strb r7, [r2] + adds r0, r4, #0 + bl sub_08024F50 + adds r0, r4, #0 + adds r0, #0x80 + strb r7, [r0] + movs r1, #0x40 + movs r0, #0x40 + strh r0, [r4, #0x24] + strb r1, [r4, #0xe] + movs r0, #8 + strb r0, [r4, #0xf] + adds r0, r4, #0 + movs r1, #0 + movs r2, #8 + bl sub_08024A14 + b _08024F46 + .align 2, 0 +_08024EC8: .4byte gUnk_02002A40 +_08024ECC: + ldr r6, _08024F48 @ =gPlayerEntity + bl ResetPlayer + ldr r2, _08024F4C @ =gPlayerState + ldr r0, [r2, #0x30] + movs r1, #0x80 + lsls r1, r1, #1 + orrs r0, r1 + str r0, [r2, #0x30] + ldrb r0, [r2, #0xa] + movs r1, #0x80 + orrs r0, r1 + strb r0, [r2, #0xa] + movs r0, #0xe + strb r0, [r2, #0xc] + adds r1, r2, #0 + adds r1, #0x38 + movs r0, #0x14 + strb r0, [r1] + adds r1, #1 + movs r0, #1 + strb r0, [r1] + adds r0, r2, #0 + adds r0, #0x3a + strb r7, [r0] + movs r3, #0x80 + lsls r3, r3, #9 + adds r0, r4, #0 + adds r1, r6, #0 + movs r2, #0 + bl PositionRelative + adds r1, r6, #0 + adds r1, #0x63 + movs r0, #0x1a + strb r0, [r1] + movs r0, #4 + strb r0, [r6, #0x14] + adds r2, r6, #0 + adds r2, #0x29 + ldrb r1, [r2] + subs r0, #0x3d + ands r0, r1 + strb r0, [r2] + ldrb r0, [r4, #0xf] + cmp r0, #0 + bne _08024F46 + ldrb r0, [r5] + adds r0, #1 + strb r0, [r5] + adds r1, r6, #0 + adds r1, #0x3d + movs r0, #8 + strb r0, [r1] + subs r0, #0xa + bl ModHealth + adds r0, r6, #0 + movs r1, #0x7a + bl sub_0800449C +_08024F46: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08024F48: .4byte gPlayerEntity +_08024F4C: .4byte gPlayerState + + .syntax divided diff --git a/asm/pesto.s b/asm/pesto.s deleted file mode 100644 index 63c9018b..00000000 --- a/asm/pesto.s +++ /dev/null @@ -1,2234 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Pesto -Pesto: @ 0x08023F28 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08023F40 @ =gUnk_080CBEC4 - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08023F40: .4byte gUnk_080CBEC4 - - thumb_func_start sub_08023F44 -sub_08023F44: @ 0x08023F44 - push {lr} - ldr r2, _08023F58 @ =gUnk_080CBEDC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08023F58: .4byte gUnk_080CBEDC - - thumb_func_start sub_08023F5C -sub_08023F5C: @ 0x08023F5C - push {r4, lr} - mov ip, r0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x6e - beq _08023FC8 - mov r0, ip - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _08023FD0 - mov r1, ip - adds r1, #0x86 - movs r0, #0x30 - strb r0, [r1] - mov r2, ip - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0xf - ands r0, r1 - adds r4, r2, #0 - cmp r0, #3 - bne _08023FD0 - mov r1, ip - ldrb r0, [r1, #0xc] - cmp r0, #6 - bne _08023FD0 - subs r2, #3 - ldrb r0, [r2] - cmp r0, #1 - beq _08023FA0 - cmp r0, #2 - beq _08023FB8 - b _08023FD0 -_08023FA0: - movs r0, #0 - ldr r1, _08023FC4 @ =0x0000FFF0 - mov r3, ip - strh r1, [r3, #0x36] - adds r3, #0x82 - strb r0, [r3] - mov r0, ip - adds r0, #0x78 - strh r1, [r0] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] -_08023FB8: - ldrb r1, [r4] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4] - b _08023FD0 - .align 2, 0 -_08023FC4: .4byte 0x0000FFF0 -_08023FC8: - mov r1, ip - adds r1, #0x45 - movs r0, #0 - strb r0, [r1] -_08023FD0: - ldr r1, _08023FDC @ =gUnk_080CBEC4 - mov r0, ip - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08023FDC: .4byte gUnk_080CBEC4 - - thumb_func_start sub_08023FE0 -sub_08023FE0: @ 0x08023FE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08001324 - - thumb_func_start sub_08023FE8 -sub_08023FE8: @ 0x08023FE8 - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - - thumb_func_start sub_08023FF0 -sub_08023FF0: @ 0x08023FF0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _08024022 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _08024022 - movs r2, #1 - strb r2, [r4, #0xc] - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x77 - strb r0, [r1] - strb r2, [r4, #0xe] - movs r0, #0x40 - strh r0, [r4, #0x24] - b _08024032 -_08024022: - ldr r0, _08024034 @ =gUnk_080CBEF8 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08024032: - pop {r4, pc} - .align 2, 0 -_08024034: .4byte gUnk_080CBEF8 - - thumb_func_start sub_08024038 -sub_08024038: @ 0x08024038 - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bl GetNextFrame - pop {pc} - - thumb_func_start sub_08024048 -sub_08024048: @ 0x08024048 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F4E8 - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - - thumb_func_start sub_08024058 -sub_08024058: @ 0x08024058 - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_08024060 -sub_08024060: @ 0x08024060 - push {lr} - adds r3, r0, #0 - adds r2, r3, #0 - adds r2, #0x3f - ldrb r0, [r2] - cmp r0, #0x6e - beq _0802408C - ldrb r1, [r3, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r3, #0x10] - movs r0, #0x6e - strb r0, [r2] - ldr r0, _08024094 @ =gPlayerEntity - ldrb r1, [r0, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r3, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x19] -_0802408C: - adds r0, r3, #0 - bl GetNextFrame - pop {pc} - .align 2, 0 -_08024094: .4byte gPlayerEntity - - thumb_func_start nullsub_138 -nullsub_138: @ 0x08024098 - bx lr - .align 2, 0 - - thumb_func_start sub_0802409C -sub_0802409C: @ 0x0802409C - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0 - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation - adds r0, r4, #0 - bl CreateDust - pop {r4, pc} - - thumb_func_start sub_080240B8 -sub_080240B8: @ 0x080240B8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - bl Random - movs r1, #0xc0 - ands r1, r0 - lsrs r7, r1, #3 - adds r0, r4, #0 - bl sub_0804A720 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #8 - ands r0, r7 - cmp r0, #0 - beq _080240FC - movs r0, #0x32 - ldrsh r1, [r4, r0] - movs r0, #0x10 - ands r0, r7 - cmp r0, #0 - beq _080240F4 - adds r0, r1, #0 - subs r0, #0x20 - b _080240F8 -_080240F4: - adds r0, r1, #0 - adds r0, #0x20 -_080240F8: - strh r0, [r4, #0x32] - b _08024114 -_080240FC: - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x10 - ands r0, r7 - cmp r0, #0 - beq _0802410E - adds r0, r1, #0 - subs r0, #0x20 - b _08024112 -_0802410E: - adds r0, r1, #0 - adds r0, #0x20 -_08024112: - strh r0, [r4, #0x2e] -_08024114: - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08024120 - cmp r0, #1 - beq _0802412C - b _08024136 -_08024120: - adds r1, r4, #0 - adds r1, #0x78 - ldr r0, _08024128 @ =0x0000FFF0 - b _08024132 - .align 2, 0 -_08024128: .4byte 0x0000FFF0 -_0802412C: - adds r1, r4, #0 - adds r1, #0x78 - ldr r0, _080241BC @ =0x0000FFD0 -_08024132: - strh r0, [r1] - strh r0, [r4, #0x36] -_08024136: - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - bl CheckIsDungeon - cmp r0, #0 - beq _08024150 - ldrb r0, [r4, #0x1b] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r4, #0x1b] -_08024150: - bl Random - movs r1, #0x40 - ands r0, r1 - adds r1, r4, #0 - adds r1, #0x81 - movs r6, #0 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x82 - strb r6, [r0] - adds r5, r4, #0 - adds r5, #0x83 - movs r0, #0x80 - strb r0, [r5] - adds r0, r4, #0 - adds r0, #0x86 - strb r6, [r0] - adds r0, #1 - strb r6, [r0] - strb r6, [r4, #0xe] - movs r0, #0x20 - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - movs r0, #2 - strb r0, [r4, #0x1c] - strb r7, [r4, #0x15] - adds r0, r4, #0 - bl sub_080249DC - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _080241B8 - strb r6, [r5] - ldrb r2, [r5] - adds r0, r4, #0 - movs r1, #6 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _080241B8 - str r1, [r4, #0x54] - str r4, [r1, #0x50] - ldrh r0, [r1, #0x32] - adds r0, #0x10 - strh r0, [r1, #0x32] -_080241B8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080241BC: .4byte 0x0000FFD0 - - thumb_func_start sub_080241C0 -sub_080241C0: @ 0x080241C0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08024940 - adds r6, r4, #0 - adds r6, #0x80 - ldrb r5, [r6] - cmp r5, #0 - beq _080241D8 - cmp r5, #1 - beq _08024238 - b _08024296 -_080241D8: - ldr r0, _08024218 @ =gPlayerState - ldrb r0, [r0, #0xf] - movs r2, #0x40 - cmp r0, #0 - beq _080241E4 - movs r2, #0xa0 -_080241E4: - adds r0, r4, #0 - movs r1, #3 - bl PlayerInRange - cmp r0, #0 - beq _08024220 - adds r0, r4, #0 - movs r1, #3 - bl sub_08049FDC - cmp r0, #0 - beq _08024220 - ldr r0, _0802421C @ =gPlayerEntity - ldrb r0, [r0, #0xc] - cmp r0, #0x1e - beq _08024220 - ldrb r0, [r6] - adds r0, #1 - strb r0, [r6] - strh r5, [r4, #0x24] - adds r0, r4, #0 - movs r1, #3 - movs r2, #0xa - bl sub_08024A14 - b _08024296 - .align 2, 0 -_08024218: .4byte gPlayerState -_0802421C: .4byte gPlayerEntity -_08024220: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08024296 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0x20 - bl sub_08024A14 - b _08024296 -_08024238: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08024296 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08024290 - adds r5, r4, #0 - adds r5, #0x83 - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0802426C - adds r0, r4, #0 - bl sub_08024C94 - ldrb r0, [r5] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r5] - b _08024296 -_0802426C: - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r6] - movs r0, #0xa - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - bl sub_08024E00 - adds r0, r4, #0 - bl sub_08024E1C - ldrb r2, [r4, #0xf] - adds r0, r4, #0 - movs r1, #3 - bl sub_08024A14 - b _08024296 -_08024290: - adds r0, r4, #0 - bl sub_08024C94 -_08024296: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08024298 -sub_08024298: @ 0x08024298 - push {lr} - bl sub_08024D00 - pop {pc} - - thumb_func_start sub_080242A0 -sub_080242A0: @ 0x080242A0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08024940 - adds r0, r4, #0 - bl sub_08024CC0 - cmp r0, #0 - beq _08024334 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _080242F0 - ldr r0, _080242E4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #1 - bl sub_08024E00 - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _080242E8 - strh r5, [r4, #0x24] - b _08024306 - .align 2, 0 -_080242E4: .4byte gUnk_020000B0 -_080242E8: - adds r0, r4, #0 - bl sub_08024E1C - b _08024306 -_080242F0: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _08024306 - adds r0, r4, #0 - movs r1, #3 - movs r2, #0xa - bl sub_08024A14 -_08024306: - ldr r0, _08024338 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x20 - bl sub_08049F1C - cmp r0, #0 - beq _08024334 - adds r0, r4, #0 - movs r1, #3 - bl sub_08049FDC - cmp r0, #0 - beq _08024334 - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #0x10 - strb r0, [r4, #0xe] - strh r1, [r4, #0x24] -_08024334: - pop {r4, r5, pc} - .align 2, 0 -_08024338: .4byte gUnk_020000B0 - - thumb_func_start sub_0802433C -sub_0802433C: @ 0x0802433C - push {r4, lr} - adds r4, r0, #0 - bl sub_08024940 - adds r2, r4, #0 - adds r2, #0x80 - ldrb r0, [r2] - cmp r0, #0 - beq _08024354 - cmp r0, #1 - beq _0802437A - b _080243B6 -_08024354: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080243B6 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #8 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08024E00 - b _080243B6 -_0802437A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080243A0 - movs r0, #5 - strb r0, [r4, #0xc] - strb r1, [r2] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #0xc0 - strb r0, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - b _080243B6 -_080243A0: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r3 - cmp r0, #0 - bne _080243B6 - adds r0, r4, #0 - movs r1, #2 - movs r2, #4 - bl sub_08024A14 -_080243B6: - pop {r4, pc} - - thumb_func_start sub_080243B8 -sub_080243B8: @ 0x080243B8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08024940 - adds r5, r4, #0 - adds r5, #0x80 - ldrb r0, [r5] - cmp r0, #1 - beq _0802446A - cmp r0, #1 - bgt _080243D4 - cmp r0, #0 - beq _080243DA - b _080244E4 -_080243D4: - cmp r0, #2 - beq _08024486 - b _080244E4 -_080243DA: - adds r0, r4, #0 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - beq _08024462 - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _080243F2 - ldr r0, [r0, #4] - cmp r0, #0 - bne _08024406 -_080243F2: - movs r0, #2 - strb r0, [r5] - movs r0, #0x20 - strb r0, [r4, #0xe] - movs r1, #0x80 - strh r1, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x83 - strb r1, [r0] - b _080244E4 -_08024406: - ldr r0, _08024434 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0xe - bl sub_08049F1C - cmp r0, #0 - beq _08024438 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r0, #0xe2 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x80 - strb r0, [r1] - ldr r1, [r4, #0x54] - movs r0, #2 - strb r0, [r1, #0xc] - b _080244E4 - .align 2, 0 -_08024434: .4byte gUnk_020000B0 -_08024438: - ldrb r0, [r4, #0xe] - subs r2, r0, #1 - strb r2, [r4, #0xe] - movs r1, #0xff - lsls r0, r2, #0x18 - cmp r0, #0 - beq _08024462 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _080244E4 - lsls r2, r2, #0x18 - lsrs r2, r2, #0x1e - adds r2, #1 - adds r0, r4, #0 - movs r1, #2 - bl sub_08024A14 - b _080244E4 -_08024462: - adds r0, r4, #0 - bl sub_08024C7C - b _080244E4 -_0802446A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080244E4 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - movs r0, #0x20 - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - b _080244E4 -_08024486: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080244E4 - movs r0, #6 - strb r0, [r4, #0xc] - strb r1, [r5] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08024B38 - adds r0, r4, #0 - adds r0, #0x83 - ldrb r1, [r0] - movs r2, #0x40 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _080244D8 - movs r0, #0x3f - ands r0, r1 - cmp r0, #1 - beq _080244C4 - cmp r0, #3 - bne _080244C8 - movs r0, #4 - b _080244CA -_080244C4: - movs r0, #0x14 - b _080244CA -_080244C8: - movs r0, #0x30 -_080244CA: - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - movs r2, #8 - bl sub_08024A14 - b _080244E4 -_080244D8: - strb r2, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - movs r2, #8 - bl sub_08024A14 -_080244E4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080244E8 -sub_080244E8: @ 0x080244E8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - bl sub_08024940 - adds r0, r5, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #7 - bls _08024502 - b _08024924 -_08024502: - lsls r0, r0, #2 - ldr r1, _0802450C @ =_08024510 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802450C: .4byte _08024510 -_08024510: @ jump table - .4byte _08024530 @ case 0 - .4byte _080245A6 @ case 1 - .4byte _080245E4 @ case 2 - .4byte _080247F4 @ case 3 - .4byte _08024818 @ case 4 - .4byte _08024836 @ case 5 - .4byte _080248AE @ case 6 - .4byte _0802490A @ case 7 -_08024530: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08024592 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _08024584 @ =gRoomControls - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r4, #0x32 - ldrsh r1, [r5, r4] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #1 - bl sub_080002E0 - adds r2, r0, #0 - cmp r2, #0 - bne _08024588 - adds r0, r5, #0 - adds r0, #0x80 - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - adds r1, r5, #0 - adds r1, #0x82 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - strb r2, [r5, #0xf] - strh r2, [r5, #0x24] - b _08024924 - .align 2, 0 -_08024584: .4byte gRoomControls -_08024588: - movs r0, #0x30 - strb r0, [r5, #0xe] - movs r0, #4 - strb r0, [r5, #0xf] - b _08024924 -_08024592: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - ands r0, r1 - cmp r0, #0 - beq _080245A0 - b _08024924 -_080245A0: - adds r0, r5, #0 - movs r1, #1 - b _08024902 -_080245A6: - ldrh r0, [r5, #0x36] - adds r0, #1 - strh r0, [r5, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #0x10 - rsbs r2, r2, #0 - cmp r0, r2 - bge _080245BA - b _08024924 -_080245BA: - adds r1, r5, #0 - adds r1, #0x82 - movs r0, #0 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x78 - strh r2, [r0] - adds r0, r5, #0 - bl sub_08024AD8 - cmp r0, #0 - beq _080245D4 - b _0802482A -_080245D4: - adds r0, r5, #0 - bl sub_08024C94 - adds r2, r5, #0 - adds r2, #0x83 - ldrb r0, [r2] - movs r1, #0x40 - b _080247EE -_080245E4: - adds r0, r5, #0 - bl sub_08024AD8 - cmp r0, #0 - bne _080245F0 - b _080247E0 -_080245F0: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802462C - movs r7, #0x24 - ldrsh r0, [r5, r7] - cmp r0, #0 - beq _0802460C - strh r1, [r5, #0x24] - b _08024612 -_0802460C: - adds r0, r5, #0 - bl sub_08024E1C -_08024612: - ldr r1, [r5, #0x54] - adds r0, r5, #0 - bl GetFacingDirection - strb r0, [r5, #0x15] - adds r0, r5, #0 - movs r1, #0 - bl sub_08024E00 - adds r0, r5, #0 - bl sub_080249DC - b _08024642 -_0802462C: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - ands r0, r2 - cmp r0, #0 - bne _08024642 - adds r0, r5, #0 - movs r1, #1 - movs r2, #8 - bl sub_08024A14 -_08024642: - adds r6, r5, #0 - adds r6, #0x83 - ldrb r1, [r6] - movs r0, #0x3f - mov sb, r0 - ands r0, r1 - cmp r0, #2 - beq _0802474C - cmp r0, #2 - bgt _0802465C - cmp r0, #1 - beq _080246E4 - b _08024924 -_0802465C: - cmp r0, #3 - beq _08024662 - b _08024924 -_08024662: - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _08024670 - b _08024924 -_08024670: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xc - strb r0, [r5, #0xe] - movs r0, #0x10 - strb r0, [r5, #0x15] - movs r4, #0 - strh r2, [r5, #0x24] - adds r0, r5, #0 - adds r0, #0x84 - strb r4, [r0] - adds r2, r5, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #0xfc - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - bl sub_080249DC - ldr r2, _080246DC @ =gPlayerEntity - adds r0, r2, #0 - adds r0, #0x29 - ldrb r0, [r0] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1d - adds r1, r5, #0 - adds r1, #0x85 - strb r0, [r1] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - ldr r2, _080246E0 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldrb r1, [r2, #0xa] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0xa] - adds r2, #0x26 - ldrb r0, [r2] - cmp r0, #0 - bne _080246D6 - b _08024924 -_080246D6: - strb r4, [r2] - b _08024924 - .align 2, 0 -_080246DC: .4byte gPlayerEntity -_080246E0: .4byte gPlayerState -_080246E4: - ldr r1, [r5, #0x54] - adds r0, r5, #0 - movs r2, #6 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - bne _080246F6 - b _08024924 -_080246F6: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xc - strb r0, [r5, #0xe] - ldrb r1, [r6] - movs r0, #0x7f - ands r0, r1 - strb r0, [r6] - ldr r0, [r5, #0x54] - adds r1, r5, #0 - bl CopyPosition - ldrh r0, [r5, #0x36] - subs r0, #0xe - strh r0, [r5, #0x36] - adds r1, r5, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #0xe - strh r0, [r1] - ldrb r2, [r6] - adds r0, r5, #0 - movs r1, #6 - bl sub_0804A98C - adds r4, r0, #0 - cmp r4, #0 - bne _08024736 - b _08024924 -_08024736: - str r5, [r4, #0x50] - ldrh r0, [r4, #0x36] - adds r0, #0xe - strh r0, [r4, #0x36] - ldr r1, [r5, #0x54] - str r1, [r4, #0x54] - adds r0, r4, #0 - bl CopyPosition - str r4, [r5, #0x54] - b _08024924 -_0802474C: - ldr r1, [r5, #0x54] - adds r0, r5, #0 - movs r2, #6 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - bne _0802475E - b _08024924 -_0802475E: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xc - strb r0, [r5, #0xe] - ldrb r1, [r6] - movs r0, #0x7f - ands r0, r1 - strb r0, [r6] - ldr r4, [r5, #0x54] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - ldr r3, _080247DC @ =gRoomControls - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - mov r7, sb - ands r1, r7 - movs r7, #0x32 - ldrsh r2, [r4, r7] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - mov r3, sb - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl SetTile - adds r0, r4, #0 - bl DeleteEntity - ldrh r0, [r5, #0x36] - subs r0, #0xe - strh r0, [r5, #0x36] - adds r1, r5, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #0xe - strh r0, [r1] - ldrb r2, [r6] - adds r0, r5, #0 - movs r1, #6 - bl sub_0804A98C - adds r4, r0, #0 - cmp r4, #0 - bne _080247D0 - b _08024924 -_080247D0: - str r5, [r4, #0x50] - ldrh r0, [r4, #0x36] - adds r0, #0xe - strh r0, [r4, #0x36] - str r4, [r5, #0x54] - b _08024924 - .align 2, 0 -_080247DC: .4byte gRoomControls -_080247E0: - adds r0, r5, #0 - bl sub_08024C94 - adds r2, r5, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x40 -_080247EE: - orrs r0, r1 - strb r0, [r2] - b _08024924 -_080247F4: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _08024804 - b _08024924 -_08024804: - adds r0, r5, #0 - adds r0, #0x80 - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - strb r2, [r5, #0xf] - strh r2, [r5, #0x24] - adds r1, r5, #0 - adds r1, #0x82 - b _0802482E -_08024818: - ldrh r0, [r5, #0x36] - subs r0, #2 - strh r0, [r5, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x3c - rsbs r1, r1, #0 - cmp r0, r1 - bge _08024924 -_0802482A: - adds r1, r5, #0 - adds r1, #0x80 -_0802482E: - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - b _08024924 -_08024836: - ldrh r2, [r5, #0x36] - movs r4, #0x36 - ldrsh r1, [r5, r4] - movs r0, #0x30 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0802484A - adds r0, r2, #1 - strh r0, [r5, #0x36] - b _08024924 -_0802484A: - adds r1, r5, #0 - adds r1, #0x82 - ldrb r0, [r1] - cmp r0, #0 - beq _0802485E - movs r0, #0 - strb r0, [r1] - subs r1, #0xa - ldr r0, _08024884 @ =0x0000FFD0 - strh r0, [r1] -_0802485E: - adds r0, r5, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #1 - blt _080248A6 - cmp r0, #2 - ble _08024888 - cmp r0, #3 - bne _080248A6 - adds r0, r5, #0 - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #0x2f - bls _08024924 - adds r0, r5, #0 - bl sub_08024F50 - b _08024924 - .align 2, 0 -_08024884: .4byte 0x0000FFD0 -_08024888: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xc0 - strb r0, [r5, #0xe] - movs r0, #8 - strb r0, [r5, #0xf] - movs r0, #0x80 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_080249DC - b _08024924 -_080248A6: - adds r0, r5, #0 - bl sub_08024C7C - b _08024924 -_080248AE: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _080248F2 - adds r2, r5, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080248E8 - movs r0, #0xc0 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x80 - strb r3, [r0] - movs r1, #0x40 - movs r0, #0x40 - strh r0, [r5, #0x24] - strb r1, [r5, #0xe] - movs r0, #8 - strb r0, [r5, #0xf] - adds r0, r5, #0 - movs r1, #0 - b _08024902 -_080248E8: - movs r0, #0x40 - strb r0, [r5, #0xe] - movs r0, #8 - strb r0, [r5, #0xf] - b _08024924 -_080248F2: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - ands r0, r1 - cmp r0, #0 - bne _08024924 - adds r0, r5, #0 - movs r1, #2 -_08024902: - movs r2, #8 - bl sub_08024A14 - b _08024924 -_0802490A: - ldr r0, _0802493C @ =gPlayerEntity - movs r7, #0x36 - ldrsh r1, [r0, r7] - cmp r1, #0 - bne _08024924 - adds r0, r5, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #0x80 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08024B38 -_08024924: - adds r0, r5, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #3 - bne _08024934 - adds r0, r5, #0 - bl sub_08024E4C -_08024934: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802493C: .4byte gPlayerEntity - - thumb_func_start sub_08024940 -sub_08024940: @ 0x08024940 - push {r4, r5, lr} - adds r4, r0, #0 - bl Random - adds r5, r0, #0 - movs r0, #0x70 - ands r5, r0 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _08024962 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - adds r0, r4, #0 - bl sub_080249F4 -_08024962: - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - bne _0802497C - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - strh r0, [r4, #0x36] - cmp r5, #0 - beq _0802497C - adds r0, #2 - strh r0, [r4, #0x36] -_0802497C: - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0802498A - bl CheckIsDungeon - cmp r0, #0 - beq _080249CE -_0802498A: - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _080249A2 - adds r0, r4, #0 - bl sub_08049EE4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080249F4 -_080249A2: - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x20 - rsbs r0, r0, #0 - cmp r1, r0 - bge _080249BC - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - adds r0, #0x18 - ands r0, r1 - strb r0, [r2] - b _080249CE -_080249BC: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r2] -_080249CE: - adds r0, r4, #0 - bl sub_080AEFB4 - adds r0, r4, #0 - bl GetNextFrame - pop {r4, r5, pc} - - thumb_func_start sub_080249DC -sub_080249DC: @ 0x080249DC - push {lr} - ldrb r1, [r0, #0x15] - adds r1, #2 - movs r2, #0x1c - ands r1, r2 - lsrs r1, r1, #2 - strb r1, [r0, #0x14] - ldrb r1, [r0, #0x14] - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_080249F4 -sub_080249F4: @ 0x080249F4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0x15] - adds r1, r0, #2 - movs r0, #0x1f - ands r1, r0 - lsrs r1, r1, #2 - ldrb r0, [r2, #0x14] - cmp r1, r0 - beq _08024A12 - strb r1, [r2, #0x14] - ldrb r1, [r2, #0x14] - adds r0, r2, #0 - bl InitializeAnimation -_08024A12: - pop {pc} - - thumb_func_start sub_08024A14 -sub_08024A14: @ 0x08024A14 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r7, r2, #0 - movs r6, #0 - cmp r5, #1 - beq _08024A40 - cmp r5, #1 - blo _08024A30 - cmp r5, #2 - beq _08024A5E - cmp r5, #3 - beq _08024A84 - b _08024A9E -_08024A30: - adds r0, r4, #0 - bl sub_08049EE4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - b _08024A9C -_08024A40: - adds r0, r4, #0 - movs r1, #0 - bl sub_08024C48 - cmp r0, #0 - beq _08024A9E - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl GetFacingDirection - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - b _08024A9C -_08024A5E: - adds r0, r4, #0 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - beq _08024A9E - ldr r0, _08024A80 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl GetFacingDirection - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - b _08024A9C - .align 2, 0 -_08024A80: .4byte gUnk_020000B0 -_08024A84: - adds r0, r4, #0 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - beq _08024A9E - ldr r0, _08024AD4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] -_08024A9C: - movs r6, #1 -_08024A9E: - cmp r5, #0 - beq _08024ABA - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08024ABA - bl Random - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _08024ABA - movs r6, #0 -_08024ABA: - cmp r6, #0 - bne _08024AC8 - adds r0, r4, #0 - movs r1, #0 - adds r2, r7, #0 - bl sub_08024A14 -_08024AC8: - adds r0, r4, #0 - bl sub_080249DC - strb r7, [r4, #0xf] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08024AD4: .4byte gUnk_020000B0 - - thumb_func_start sub_08024AD8 -sub_08024AD8: @ 0x08024AD8 - push {r4, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x83 - ldrb r2, [r3] - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - bne _08024B2A - movs r1, #0 - movs r0, #0x3f - ands r0, r2 - cmp r0, #3 - bne _08024B12 - ldr r0, _08024B0C @ =gPlayerState - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _08024B10 - ldr r0, [r4, #0x54] - str r1, [r0, #0x50] - str r1, [r4, #0x54] - movs r0, #0xc0 - strb r0, [r3] - movs r0, #0 - b _08024B34 - .align 2, 0 -_08024B0C: .4byte gPlayerState -_08024B10: - movs r1, #1 -_08024B12: - adds r0, r4, #0 - bl sub_08024C48 - cmp r0, #0 - bne _08024B32 - str r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0xc0 - strb r0, [r1] - movs r0, #0 - b _08024B34 -_08024B2A: - adds r0, r4, #0 - bl sub_08024B38 - b _08024B34 -_08024B32: - movs r0, #1 -_08024B34: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08024B38 -sub_08024B38: @ 0x08024B38 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r7, #0 - ldr r0, _08024B5C @ =gPlayerState - ldrb r3, [r0, #0xf] - adds r2, r3, #0 - adds r1, r0, #0 - cmp r2, #0 - beq _08024BA0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #1 - bne _08024B62 - cmp r2, #3 - bls _08024B60 - subs r0, r3, #3 - strb r0, [r1, #0xf] - b _08024B62 - .align 2, 0 -_08024B5C: .4byte gPlayerState -_08024B60: - strb r7, [r1, #0xf] -_08024B62: - ldrb r0, [r1, #0xf] - cmp r0, #0 - beq _08024BA0 - adds r0, r5, #0 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - beq _08024C3C - ldr r4, _08024B9C @ =gUnk_020000B0 - ldr r1, [r4] - adds r0, r5, #0 - movs r2, #0xa0 - bl sub_08049F1C - cmp r0, #0 - beq _08024C3C - movs r7, #1 - ldr r0, [r4] - str r0, [r5, #0x54] - adds r2, r5, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #3 - orrs r0, r1 - movs r1, #0xbf - ands r0, r1 - strb r0, [r2] - b _08024C3C - .align 2, 0 -_08024B9C: .4byte gUnk_020000B0 -_08024BA0: - movs r0, #8 - movs r1, #2 - movs r2, #2 - bl FindEntityInListBySubtype - adds r4, r0, #0 - cmp r4, #0 - beq _08024BF0 - adds r6, r5, #0 - adds r6, #0x83 - b _08024BC4 -_08024BB6: - adds r0, r4, #0 - movs r1, #2 - bl FindNextEntityOfSameSubtype - adds r4, r0, #0 - cmp r4, #0 - beq _08024BF0 -_08024BC4: - ldrb r0, [r4, #0xc] - cmp r0, #2 - beq _08024BB6 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08024BB6 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0xa0 - bl sub_08049F1C - cmp r0, #0 - beq _08024BB6 - movs r7, #1 - str r4, [r5, #0x54] - ldrb r0, [r6] - movs r1, #1 - orrs r1, r0 - movs r0, #0xbf - ands r1, r0 - strb r1, [r6] -_08024BF0: - cmp r7, #0 - bne _08024C42 - movs r0, #6 - movs r1, #5 - movs r2, #6 - bl FindEntityInListBySubtype - adds r4, r0, #0 - cmp r4, #0 - beq _08024C3C - adds r6, r5, #0 - adds r6, #0x83 - b _08024C18 -_08024C0A: - adds r0, r4, #0 - movs r1, #6 - bl FindNextEntityOfSameSubtype - adds r4, r0, #0 - cmp r4, #0 - beq _08024C3C -_08024C18: - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _08024C0A - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0xa0 - bl sub_08049F1C - cmp r0, #0 - beq _08024C0A - movs r7, #1 - str r4, [r5, #0x54] - ldrb r0, [r6] - movs r1, #2 - orrs r1, r0 - movs r0, #0xbf - ands r1, r0 - strb r1, [r6] -_08024C3C: - cmp r7, #0 - bne _08024C42 - str r7, [r5, #0x54] -_08024C42: - adds r0, r7, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08024C48 -sub_08024C48: @ 0x08024C48 - push {r4, r5, lr} - adds r3, r0, #0 - movs r4, #1 - cmp r1, #0 - beq _08024C60 - movs r0, #3 - bl sub_08049DF4 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f - b _08024C78 -_08024C60: - ldr r2, [r3, #0x54] - cmp r2, #0 - beq _08024C74 - ldr r0, [r2, #4] - cmp r0, #0 - beq _08024C74 - movs r5, #0x36 - ldrsh r0, [r2, r5] - cmp r0, #0 - bge _08024C78 -_08024C74: - str r1, [r3, #0x54] - movs r4, #0 -_08024C78: - adds r0, r4, #0 - pop {r4, r5, pc} - - thumb_func_start sub_08024C7C -sub_08024C7C: @ 0x08024C7C - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r2, #0 - movs r1, #0x40 - strh r1, [r0, #0x24] - strb r2, [r0, #0xe] - movs r1, #0 - movs r2, #0x20 - bl sub_08024A14 - pop {pc} - - thumb_func_start sub_08024C94 -sub_08024C94: @ 0x08024C94 - push {lr} - movs r2, #0 - movs r1, #2 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x80 - strb r2, [r1] - movs r1, #0x40 - strb r1, [r0, #0xe] - strb r2, [r0, #0xf] - movs r1, #0xc0 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x83 - movs r1, #0x80 - strb r1, [r2] - ldrb r2, [r0, #0xf] - movs r1, #3 - bl sub_08024A14 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08024CC0 -sub_08024CC0: @ 0x08024CC0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #1 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - bne _08024CD4 - movs r5, #0 - b _08024CF8 -_08024CD4: - ldr r0, _08024CFC @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x50 - bl sub_08049F1C - cmp r0, #0 - beq _08024CF0 - adds r0, r4, #0 - movs r1, #3 - bl sub_08049FDC - cmp r0, #0 - bne _08024CF8 -_08024CF0: - movs r5, #0 - adds r0, r4, #0 - bl sub_08024C7C -_08024CF8: - adds r0, r5, #0 - pop {r4, r5, pc} - .align 2, 0 -_08024CFC: .4byte gUnk_020000B0 - - thumb_func_start sub_08024D00 -sub_08024D00: @ 0x08024D00 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrb r0, [r1] - cmp r0, #0 - beq _08024D1A - subs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl GetNextFrame - b _08024D20 -_08024D1A: - adds r0, r4, #0 - bl sub_08024940 -_08024D20: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08024D46 - adds r0, r4, #0 - bl sub_08024B38 - cmp r0, #0 - beq _08024D46 - movs r0, #6 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #2 - strb r0, [r1] - b _08024DFC -_08024D46: - adds r0, r4, #0 - bl sub_08024CC0 - cmp r0, #0 - beq _08024DFC - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - cmp r0, #0 - beq _08024D60 - cmp r0, #1 - beq _08024DAE - b _08024DFC -_08024D60: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08024DFC - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - bl Random - movs r1, #0xf - ands r0, r1 - adds r0, #0x20 - strb r0, [r4, #0xe] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r1, [r0] - adds r3, r0, #0 - cmp r1, #0 - beq _08024D90 - adds r1, r2, #4 - b _08024D94 -_08024D90: - adds r1, r2, #0 - adds r1, #0x1c -_08024D94: - movs r0, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r3] - movs r1, #0x40 - eors r0, r1 - strb r0, [r3] - adds r0, r4, #0 - movs r1, #3 - movs r2, #0x10 - bl sub_08024A14 - b _08024DFC -_08024DAE: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08024DCE - strb r0, [r1] - bl Random - movs r1, #0x1f - ands r0, r1 - adds r0, #0x20 - strb r0, [r4, #0xe] - b _08024DFC -_08024DCE: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r2 - cmp r0, #0 - bne _08024DFC - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _08024DEA - adds r1, #1 - b _08024DEC -_08024DEA: - adds r1, #0x1f -_08024DEC: - movs r0, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_080249DC -_08024DFC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08024E00 -sub_08024E00: @ 0x08024E00 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_08024E34 - ldr r1, _08024E18 @ =gUnk_080CBF10 - lsls r0, r0, #1 - orrs r0, r4 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0xe] - pop {r4, r5, pc} - .align 2, 0 -_08024E18: .4byte gUnk_080CBF10 - - thumb_func_start sub_08024E1C -sub_08024E1C: @ 0x08024E1C - push {r4, lr} - adds r4, r0, #0 - bl sub_08024E34 - ldr r1, _08024E30 @ =gUnk_080CBF18 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r4, #0x24] - pop {r4, pc} - .align 2, 0 -_08024E30: .4byte gUnk_080CBF18 - - thumb_func_start sub_08024E34 -sub_08024E34: @ 0x08024E34 - push {lr} - bl Random - movs r1, #0x3c - ands r1, r0 - lsrs r1, r1, #2 - ldr r0, _08024E48 @ =gUnk_080CBF20 - adds r1, r1, r0 - ldrb r0, [r1] - pop {pc} - .align 2, 0 -_08024E48: .4byte gUnk_080CBF20 - - thumb_func_start sub_08024E4C -sub_08024E4C: @ 0x08024E4C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #3 - bne _08024F46 - ldrb r0, [r4, #0xf] - adds r0, #1 - movs r7, #0 - movs r1, #0xff - ands r0, r1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0xf] - bl sub_0807953C - cmp r0, #0 - beq _08024E84 - bl Random - adds r3, r4, #0 - adds r3, #0x84 - ldrb r2, [r3] - adds r2, #1 - movs r1, #1 - ands r1, r0 - adds r2, r2, r1 - strb r2, [r3] -_08024E84: - ldr r0, _08024EC8 @ =gUnk_02002A40 - adds r0, #0xaa - ldrb r0, [r0] - adds r2, r4, #0 - adds r2, #0x87 - cmp r0, #0 - beq _08024E9A - adds r5, r2, #0 - ldrb r0, [r5] - cmp r0, #4 - bne _08024ECC -_08024E9A: - adds r1, r4, #0 - adds r1, #0x84 - movs r0, #0x30 - strb r0, [r1] - strb r7, [r2] - adds r0, r4, #0 - bl sub_08024F50 - adds r0, r4, #0 - adds r0, #0x80 - strb r7, [r0] - movs r1, #0x40 - movs r0, #0x40 - strh r0, [r4, #0x24] - strb r1, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - movs r2, #8 - bl sub_08024A14 - b _08024F46 - .align 2, 0 -_08024EC8: .4byte gUnk_02002A40 -_08024ECC: - ldr r6, _08024F48 @ =gPlayerEntity - bl ResetPlayer - ldr r2, _08024F4C @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldrb r0, [r2, #0xa] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0xa] - movs r0, #0xe - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #0x14 - strb r0, [r1] - adds r1, #1 - movs r0, #1 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3a - strb r7, [r0] - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r4, #0 - adds r1, r6, #0 - movs r2, #0 - bl PositionRelative - adds r1, r6, #0 - adds r1, #0x63 - movs r0, #0x1a - strb r0, [r1] - movs r0, #4 - strb r0, [r6, #0x14] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x3d - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08024F46 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - adds r1, r6, #0 - adds r1, #0x3d - movs r0, #8 - strb r0, [r1] - subs r0, #0xa - bl ModHealth - adds r0, r6, #0 - movs r1, #0x7a - bl sub_0800449C -_08024F46: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08024F48: .4byte gPlayerEntity -_08024F4C: .4byte gPlayerState - - thumb_func_start sub_08024F50 -sub_08024F50: @ 0x08024F50 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r2, _08024FDC @ =gPlayerState - movs r4, #0 - strb r4, [r2, #0xa] - ldr r0, [r2, #0x30] - ldr r1, _08024FE0 @ =0xFFFFFEFF - ands r0, r1 - str r0, [r2, #0x30] - ldr r5, _08024FE4 @ =gPlayerEntity - adds r0, r6, #0 - adds r1, r5, #0 - bl CopyPosition - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0xc4 - strb r0, [r1] - ldrb r0, [r5, #0x14] - lsls r0, r0, #2 - strb r0, [r5, #0x15] - movs r3, #0 - strh r4, [r5, #0x24] - adds r0, r6, #0 - adds r0, #0x85 - ldrb r0, [r0] - adds r4, r5, #0 - adds r4, #0x29 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #3 - ldrb r2, [r4] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #0 - ldrsb r0, [r1, r0] - strh r0, [r5, #0x36] - strb r3, [r1] - adds r2, r6, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r6, #0 - adds r1, #0x83 - movs r0, #0xc0 - strb r0, [r1] - subs r1, #3 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - adds r0, r6, #0 - adds r0, #0x84 - strb r3, [r0] - movs r0, #0x80 - strh r0, [r6, #0x24] - pop {r4, r5, r6, pc} - .align 2, 0 -_08024FDC: .4byte gPlayerState -_08024FE0: .4byte 0xFFFFFEFF -_08024FE4: .4byte gPlayerEntity diff --git a/data/animations/pesto.s b/data/animations/pesto.s new file mode 100644 index 00000000..78b3f6c2 --- /dev/null +++ b/data/animations/pesto.s @@ -0,0 +1,31 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CBF30:: @ 080CBF30 + .incbin "baserom.gba", 0x0CBF30, 0x0000009 + +gUnk_080CBF39:: @ 080CBF39 + .incbin "baserom.gba", 0x0CBF39, 0x0000009 + +gUnk_080CBF42:: @ 080CBF42 + .incbin "baserom.gba", 0x0CBF42, 0x0000009 + +gUnk_080CBF4B:: @ 080CBF4B + .incbin "baserom.gba", 0x0CBF4B, 0x0000009 + +gUnk_080CBF54:: @ 080CBF54 + .incbin "baserom.gba", 0x0CBF54, 0x0000009 + +gUnk_080CBF5D:: @ 080CBF5D + .incbin "baserom.gba", 0x0CBF5D, 0x0000009 + +gUnk_080CBF66:: @ 080CBF66 + .incbin "baserom.gba", 0x0CBF66, 0x0000009 + +gUnk_080CBF6F:: @ 080CBF6F + .incbin "baserom.gba", 0x0CBF6F, 0x0000009 + +gUnk_080CBF78:: @ 080CBF78 + .incbin "baserom.gba", 0x0CBF78, 0x0000024 diff --git a/data/data_080CBEC4.s b/data/data_080CBEC4.s index 3e581026..03b6380d 100644 --- a/data/data_080CBEC4.s +++ b/data/data_080CBEC4.s @@ -3,51 +3,6 @@ .section .rodata -gUnk_080CBEC4:: @ 080CBEC4 - .incbin "baserom.gba", 0x0CBEC4, 0x0000018 - -gUnk_080CBEDC:: @ 080CBEDC - .incbin "baserom.gba", 0x0CBEDC, 0x000001C - -gUnk_080CBEF8:: @ 080CBEF8 - .incbin "baserom.gba", 0x0CBEF8, 0x0000018 - -gUnk_080CBF10:: @ 080CBF10 - .incbin "baserom.gba", 0x0CBF10, 0x0000008 - -gUnk_080CBF18:: @ 080CBF18 - .incbin "baserom.gba", 0x0CBF18, 0x0000008 - -gUnk_080CBF20:: @ 080CBF20 - .incbin "baserom.gba", 0x0CBF20, 0x0000010 - -gUnk_080CBF30:: @ 080CBF30 - .incbin "baserom.gba", 0x0CBF30, 0x0000009 - -gUnk_080CBF39:: @ 080CBF39 - .incbin "baserom.gba", 0x0CBF39, 0x0000009 - -gUnk_080CBF42:: @ 080CBF42 - .incbin "baserom.gba", 0x0CBF42, 0x0000009 - -gUnk_080CBF4B:: @ 080CBF4B - .incbin "baserom.gba", 0x0CBF4B, 0x0000009 - -gUnk_080CBF54:: @ 080CBF54 - .incbin "baserom.gba", 0x0CBF54, 0x0000009 - -gUnk_080CBF5D:: @ 080CBF5D - .incbin "baserom.gba", 0x0CBF5D, 0x0000009 - -gUnk_080CBF66:: @ 080CBF66 - .incbin "baserom.gba", 0x0CBF66, 0x0000009 - -gUnk_080CBF6F:: @ 080CBF6F - .incbin "baserom.gba", 0x0CBF6F, 0x0000009 - -gUnk_080CBF78:: @ 080CBF78 - .incbin "baserom.gba", 0x0CBF78, 0x0000024 - gUnk_080CBF9C:: @ 080CBF9C .incbin "baserom.gba", 0x0CBF9C, 0x0000018 diff --git a/include/entity.h b/include/entity.h index 477889f4..420a3193 100644 --- a/include/entity.h +++ b/include/entity.h @@ -120,7 +120,7 @@ typedef struct Entity { /*0x5c*/ Frame* animPtr; /*0x60*/ u16 spriteVramOffset; /*0x62*/ u8 spriteOffsetX; - /*0x63*/ u8 spriteOffsetY; + /*0x63*/ s8 spriteOffsetY; /*0x64*/ u32* otherEntity; /*0x68*/ union SplitHWord field_0x68; /*0x6a*/ union SplitHWord field_0x6a; diff --git a/linker.ld b/linker.ld index 91a3ce2a..7ce22ded 100644 --- a/linker.ld +++ b/linker.ld @@ -342,7 +342,7 @@ SECTIONS { src/enemy/enemyE.o(.text); src/enemy/moldworm.o(.text); src/enemy/sluggula.o(.text); - asm/pesto.o(.text); + src/enemy/pesto.o(.text); asm/puffstool.o(.text); asm/chuchuBoss.o(.text); asm/likeLike.o(.text); @@ -936,6 +936,8 @@ SECTIONS { data/animations/moldworm.o(.rodata); src/enemy/sluggula.o(.rodata); data/animations/sluggula.o(.rodata); + src/enemy/pesto.o(.rodata); + data/animations/pesto.o(.rodata); data/data_080CBEC4.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c new file mode 100644 index 00000000..5849d45a --- /dev/null +++ b/src/enemy/pesto.c @@ -0,0 +1,906 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern u32 sub_080002E0(u16, u32); +extern u32 CheckIsDungeon(void); +extern void sub_0800449C(Entity*, u32); +extern u32 sub_08049F1C(Entity*, Entity*, u32); +extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*)); +extern u32 PlayerInRange(Entity*, u32, u32); +extern void sub_080AEFB4(Entity*); +extern Entity* FindNextEntityOfSameSubtype(Entity* ent, int listIndex); + +void sub_080249F4(Entity*); +void sub_08024940(Entity*); +void sub_080249DC(Entity*); +void sub_08024A14(Entity*, u32, u32); +bool32 sub_08024AD8(Entity*); +bool32 sub_08024B38(Entity*); +bool32 sub_08024C48(Entity*, bool32); +void sub_08024C7C(Entity*); +void sub_08024C94(Entity*); +bool32 sub_08024CC0(Entity*); +void sub_08024D00(Entity*); +void sub_08024E00(Entity*, u32); +void sub_08024E1C(Entity*); +u32 sub_08024E34(void); +void sub_08024E4C(Entity*); +void sub_08024F50(Entity*); + +extern Entity* gUnk_020000B0; + +extern void (*const gUnk_080CBEC4[])(Entity*); +extern void (*const gUnk_080CBEDC[])(Entity*); +extern void (*const gUnk_080CBEF8[])(Entity*); + +extern const u8 gUnk_080CBF10[]; +extern const u16 gUnk_080CBF18[]; +extern const u8 gUnk_080CBF20[]; + +void Pesto(Entity* this) { + gUnk_080CBEC4[GetNextFunction(this)](this); +} + +void sub_08023F44(Entity* this) { + gUnk_080CBEDC[this->action](this); +} + +void sub_08023F5C(Entity* this) { + if (this->damageType != 0x6e) { + if (this->bitfield == 0x80) { + *(u8*)&this->field_0x86 = 0x30; + + if ((this->field_0x82.HALF.HI & 0xf) == 3 && this->action == 6) { + switch (this->field_0x80.HALF.LO) { + case 1: + this->height.HALF.HI = -0x10; + this->field_0x82.HALF.LO = 0; + this->field_0x78.HWORD = -0x10; + this->field_0x80.HALF.LO += 1; + /* fallthrough */ + case 2: + this->field_0x82.HALF.HI &= ~0x80; + break; + } + } + } + } else { + this->currentHealth = 0; + } + + sub_0804AA30(this, gUnk_080CBEC4); +} + +void sub_08023FE0(Entity* this) { + sub_08001324(this); + GetNextFrame(this); +} + +void sub_08023FF0(Entity* this) { + if (this->previousActionFlag < 3 && !sub_0806F520(this)) { + this->action = 1; + this->previousActionFlag = 0; + this->flags |= 0x80; + this->damageType = 0x77; + this->actionDelay = 1; + this->nonPlanarMovement = 0x40; + } else { + gUnk_080CBEF8[this->previousActionFlag](this); + } +} + +void sub_08024038(Entity* this) { + this->previousActionFlag = 1; + this->field_0x1d = 60; + GetNextFrame(this); +} + +void sub_08024048(Entity* this) { + sub_0806F4E8(this); + GetNextFrame(this); +} + +void sub_08024058(Entity* this) { + sub_0806F3E4(this); +} + +void sub_08024060(Entity* this) { + if (this->damageType != 0x6e) { + this->flags = this->flags & 0x7f; + this->damageType = 0x6e; + this->spriteRendering.b3 = gPlayerEntity.spriteRendering.b3; + } + + GetNextFrame(this); +} + +void nullsub_138(Entity* this) { + /* ... */ +} + +void sub_0802409C(Entity* this) { + this->currentHealth = 0; + InitializeAnimation(this, this->animationState); + CreateDust(this); +} + +void sub_080240B8(Entity* this) { + u32 direction = (Random() & 0xc0) >> 3; + sub_0804A720(this); + this->action = 1; + this->previousActionFlag = 0; + this->field_0x80.HALF.LO = 0; + if (direction & 8) { + this->y.HALF.HI += (direction & 0x10) ? -0x20 : 0x20; + } else { + this->x.HALF.HI += (direction & 0x10) ? -0x20 : 0x20; + } + + switch (this->entityType.form) { + case 0: + this->field_0x78.HWORD = -0x10; + this->height.HALF.HI = -0x10; + break; + case 1: + this->field_0x78.HWORD = -0x30; + this->height.HALF.HI = -0x30; + break; + } + + UpdateSpriteForCollisionLayer(this); + if (CheckIsDungeon()) + this->spriteOrientation.flipY = 1; + + this->field_0x80.HALF.HI = Random() & 0x40; + this->field_0x82.HALF.LO = 0; + this->field_0x82.HALF.HI = 0x80; + *((u8*)&this->field_0x86 + 0) = 0; + *((u8*)&this->field_0x86 + 1) = 0; + this->actionDelay = 0; + this->field_0xf = 0x20; + this->field_0x3c |= 0x10; + this->field_0x1c = 2; + this->direction = direction; + sub_080249DC(this); + + if (this->entityType.form == 1) { + Entity* ent; + + this->field_0x82.HALF.HI = 0; + ent = sub_0804A98C(this, 6, this->field_0x82.HALF.HI); + if (ent) { + this->attachedEntity = ent; + ent->parent = this; + ent->y.HALF.HI += 0x10; + } + } +} + +void sub_080241C0(Entity* this) { + sub_08024940(this); + switch (this->field_0x80.HALF.LO) { + case 0: + if (PlayerInRange(this, 3, (gPlayerState.hurtBlinkSpeed != 0) ? 0xa0 : 0x40) && sub_08049FDC(this, 3) && + gPlayerEntity.action != 0x1e) { + this->field_0x80.HALF.LO++; + this->nonPlanarMovement = 0; + sub_08024A14(this, 3, 10); + } else if (--this->field_0xf == 0) { + sub_08024A14(this, 0, 0x20); + } + break; + case 1: + if (--this->field_0xf == 0) { + if (this->entityType.form != 0) { + u8 tmp = this->field_0x82.HALF.HI & 0x80; + if (tmp) { + sub_08024C94(this); + this->field_0x82.HALF.HI |= 0x40; + } else { + this->action = 3; + this->field_0x80.HALF.LO = tmp; + this->field_0xf = 10; + sub_08024E00(this, 0); + sub_08024E1C(this); + sub_08024A14(this, 3, this->field_0xf); + } + } else { + sub_08024C94(this); + } + } + break; + } +} + +void sub_08024298(Entity* this) { + sub_08024D00(this); +} + +void sub_080242A0(Entity* this) { + sub_08024940(this); + if (sub_08024CC0(this)) { + if (--this->actionDelay == 0) { + this->direction = GetFacingDirection(this, gUnk_020000B0); + sub_08024E00(this, 1); + if (this->nonPlanarMovement != 0) { + this->nonPlanarMovement = 0; + } else { + sub_08024E1C(this); + } + } else if (--this->field_0xf == 0) { + sub_08024A14(this, 3, 10); + } + + if (sub_08049F1C(this, gUnk_020000B0, 0x20) && sub_08049FDC(this, 3)) { + this->action = 4; + this->field_0x80.HALF.LO = 0; + this->actionDelay = 0x10; + this->nonPlanarMovement = 0; + } + } +} + +void sub_0802433C(Entity* this) { + sub_08024940(this); + switch (this->field_0x80.HALF.LO) { + case 0: + if (--this->actionDelay == 0) { + this->field_0x80.HALF.LO++; + this->nonPlanarMovement = 0x100; + this->field_0xf = 8; + sub_08024E00(this, 1); + } + break; + case 1: + if (--this->actionDelay == 0) { + this->action = 5; + this->field_0x80.HALF.LO = 0; + this->nonPlanarMovement = 0x140; + this->actionDelay = 0xc0; + this->field_0xf = 8; + } else { + if (--this->field_0xf == 0) + sub_08024A14(this, 2, 4); + } + break; + } +} + +void sub_080243B8(Entity* this) { + sub_08024940(this); + switch (this->field_0x80.HALF.LO) { + case 0: + if (sub_08024C48(this, TRUE)) { + if (this->attachedEntity == NULL || this->attachedEntity->next == NULL) { + this->field_0x80.HALF.LO = 2; + this->actionDelay = 0x20; + this->nonPlanarMovement = 0x80; + this->field_0x82.HALF.HI = 0x80; + } else if (sub_08049F1C(this, gUnk_020000B0, 0xe)) { + this->field_0x80.HALF.LO++; + this->actionDelay = 0x1e; + this->nonPlanarMovement = 0x100; + this->field_0x82.HALF.HI = 0x80; + this->attachedEntity->action = 2; + } else if (--this->actionDelay) { + if (--this->field_0xf == 0) { + sub_08024A14(this, 2, (this->actionDelay >> 6) + 1); + } + } else { + sub_08024C7C(this); + } + } else { + sub_08024C7C(this); + } + break; + case 1: + if (--this->actionDelay == 0) { + this->field_0x80.HALF.LO++; + this->actionDelay = 0x20; + this->nonPlanarMovement = 0x80; + } + break; + case 2: + if (--this->actionDelay == 0) { + this->action = 6; + this->field_0x80.HALF.LO = 0; + this->nonPlanarMovement = 0x80; + sub_08024B38(this); + + if ((this->field_0x82.HALF.HI & 0x40) == 0) { + switch (this->field_0x82.HALF.HI & 0x3f) { + case 3: + this->actionDelay = 4; + break; + case 1: + this->actionDelay = 0x14; + break; + default: + this->actionDelay = 0x30; + break; + } + sub_08024A14(this, 2, 8); + } else { + this->actionDelay = 0x40; + sub_08024A14(this, 0, 8); + } + } + break; + } +} + +void sub_080244E8(Entity* this) { + sub_08024940(this); + switch (this->field_0x80.HALF.LO) { + case 0: + if (--this->actionDelay == 0) { + if (sub_080002E0(COORD_TO_TILE(this), 1) == 0) { + this->field_0x80.HALF.LO += 1; + this->field_0x82.HALF.LO += 1; + this->field_0xf = 0; + this->nonPlanarMovement = 0; + } else { + this->actionDelay = 0x30; + this->field_0xf = 4; + } + break; + } else { + if (--this->field_0xf == 0) { + sub_08024A14(this, 1, 8); + } + } + break; + case 1: + if (++this->height.HALF.HI >= -0x10) { + this->field_0x82.HALF.LO = 0; + this->field_0x78.HWORD = 0xfff0; + if (sub_08024AD8(this)) { + this->field_0x80.HALF.LO++; + } else { + sub_08024C94(this); + this->field_0x82.HALF.HI |= 0x40; + } + } + break; + case 2: + if (sub_08024AD8(this)) { + u32 tmp; + + if (--this->actionDelay == 0) { + if (this->nonPlanarMovement) { + this->nonPlanarMovement = 0; + } else { + sub_08024E1C(this); + } + this->direction = GetFacingDirection(this, this->attachedEntity); + sub_08024E00(this, 0); + sub_080249DC(this); + } else if (--this->field_0xf == 0) { + sub_08024A14(this, 1, 8); + } + + switch (this->field_0x82.HALF.HI & 0x3f) { + case 3: + tmp = this->field_0x82.HALF.HI & 0x80; + if (tmp == 0) { + this->field_0x80.HALF.LO++; + this->actionDelay = 0xc; + this->direction = 0x10; + this->nonPlanarMovement = tmp; + this->cutsceneBeh.HALF.LO = 0; + this->flags2 &= 0xfc; + sub_080249DC(this); + this->cutsceneBeh.HALF.HI = gPlayerEntity.spritePriority.b1; + gPlayerEntity.flags &= 0x7f; + gPlayerState.flags.all |= 0x100; + gPlayerState.field_0xa |= 0x80; + if (gPlayerState.swimState != 0) { + gPlayerState.swimState = 0; + } + } + break; + case 1: + if (sub_080041A0(this, this->attachedEntity, 6, 6)) { + Entity* ent; + + this->field_0x80.HALF.LO += 1; + this->actionDelay = 0xc; + this->field_0x82.HALF.HI &= ~0x80; + CopyPosition(this->attachedEntity, this); + this->height.HALF.HI -= 0xe; + this->field_0x78.HWORD -= 0xe; + + ent = sub_0804A98C(this, 6, this->field_0x82.HALF.HI); + if (ent) { + ent->parent = this; + ent->height.HALF.HI += 0xe; + ent->attachedEntity = this->attachedEntity; + CopyPosition(ent, ent->attachedEntity); + this->attachedEntity = ent; + } + } + break; + case 2: + if (sub_080041A0(this, this->attachedEntity, 6, 6)) { + Entity* ent; + + this->field_0x80.HALF.LO += 1; + this->actionDelay = 0xc; + this->field_0x82.HALF.HI &= ~0x80; + ent = this->attachedEntity; + SetTile((u16)ent->field_0x70.HALF.LO, COORD_TO_TILE(ent), ent->collisionLayer); + DeleteEntity(ent); + this->height.HALF.HI -= 0xe; + this->field_0x78.HWORD -= 0xe; + + ent = sub_0804A98C(this, 6, this->field_0x82.HALF.HI); + if (ent) { + ent->parent = this; + ent->height.HALF.HI += 0xe; + this->attachedEntity = ent; + } + } + break; + } + break; + } else { + sub_08024C94(this); + this->field_0x82.HALF.HI |= 0x40; + } + break; + case 3: + if (--this->actionDelay == 0) { + this->field_0x80.HALF.LO++; + this->field_0xf = 0; + this->nonPlanarMovement = 0; + this->field_0x82.HALF.LO++; + } + break; + case 4: + this->height.HALF.HI -= 2; + if (-60 > this->height.HALF.HI) { + this->field_0x80.HALF.LO++; + } + break; + case 5: + if (this->height.HALF.HI < -0x30) { + this->height.HALF.HI++; + } else { + if (this->field_0x82.HALF.LO != 0) { + this->field_0x82.HALF.LO = 0; + this->field_0x78.HWORD = -0x30; + } + + switch (this->field_0x82.HALF.HI) { + case 3: + if (0x2f < this->cutsceneBeh.HALF.LO) { + sub_08024F50(this); + } + break; + case 1 ... 2: + this->field_0x80.HALF.LO += 1; + this->actionDelay = 0xc0; + this->field_0xf = 8; + this->nonPlanarMovement = 0x80; + sub_080249DC(this); + break; + default: + sub_08024C7C(this); + break; + } + } + break; + case 6: + if (--this->actionDelay == 0) { + if (this->field_0x82.HALF.HI & 0x80) { + this->field_0x82.HALF.HI = 0xc0; + this->field_0x80.HALF.LO = 0; + this->nonPlanarMovement = 0x40; + this->actionDelay = 0x40; + this->field_0xf = 8; + sub_08024A14(this, 0, 8); + } else { + this->actionDelay = 0x40; + this->field_0xf = 8; + } + } else if (--this->field_0xf == 0) { + sub_08024A14(this, 2, 8); + } + break; + case 7: + if (gPlayerEntity.height.HALF.HI == 0) { + this->field_0x80.HALF.LO = 0; + this->nonPlanarMovement = 0x80; + sub_08024B38(this); + } + } + + if (this->field_0x82.HALF.HI == 3) { + sub_08024E4C(this); + } +} + +void sub_08024940(Entity* this) { + u32 random = Random() & 0x70; + + if (this->collisions != 0) { + sub_0800417E(this, this->collisions); + sub_080249F4(this); + } + + if (this->field_0x82.HALF.LO == 0) { + this->height.HALF.HI = this->field_0x78.HWORD; + if (random) + this->height.HALF.HI += 2; + } + + if (this->entityType.parameter != 0 || CheckIsDungeon()) { + if (!sub_08049FA0(this)) { + this->direction = sub_08049EE4(this); + sub_080249F4(this); + } + + if (this->height.HALF.HI < -0x20) { + this->spritePriority.b0 = 0; + } else { + this->spritePriority.b0 = 1; + } + } + + sub_080AEFB4(this); + GetNextFrame(this); +} + +void sub_080249DC(Entity* this) { + u8 direction = ((this->direction + 2) & 0x1c) >> 2; + this->animationState = direction; + InitializeAnimation(this, this->animationState); +} + +#if NON_MATCHING +void sub_080249F4(Entity* this) { + u8 direction = ((this->direction + 2) & 0x1c) >> 2; + if (direction != this->animationState) { + this->animationState = direction; + InitializeAnimation(this, this->animationState); + } +} +#else +NAKED +void sub_080249F4(Entity* this) { + asm(".include \"asm/non_matching/pesto/sub_080249F4.inc\""); +} +#endif + +void sub_08024A14(Entity* this, u32 param_2, u32 param_3) { + u8 unk = FALSE; + + switch (param_2) { + case 0: + sub_08004596(this, sub_08049EE4(this)); + unk = TRUE; + break; + case 1: + if (sub_08024C48(this, FALSE)) { + sub_08004596(this, GetFacingDirection(this, this->attachedEntity)); + unk = TRUE; + } + break; + case 2: + if (sub_08024C48(this, TRUE)) { + sub_08004596(this, GetFacingDirection(this, gUnk_020000B0)); + unk = TRUE; + } + break; + case 3: + if (sub_08024C48(this, TRUE)) { + this->direction = GetFacingDirection(this, gUnk_020000B0); + unk = TRUE; + } + break; + } + + if (param_2 != 0 && !sub_08049FA0(this) && (Random() & 3)) { + unk = FALSE; + } + + if (!unk) { + sub_08024A14(this, 0, param_3); + } + + sub_080249DC(this); + this->field_0xf = param_3; +} + +bool32 sub_08024AD8(Entity* this) { + if ((this->field_0x82.HALF.HI & 0x40) == 0) { + u8 unk = FALSE; + if ((this->field_0x82.HALF.HI & 0x3f) == 3) { + if (gPlayerState.hurtBlinkSpeed == 0) { + this->attachedEntity->parent = NULL; + this->attachedEntity = NULL; + this->field_0x82.HALF.HI = 0xc0; + return FALSE; + } + unk = TRUE; + } + + if (sub_08024C48(this, unk) == 0) { + this->attachedEntity = NULL; + this->field_0x82.HALF.HI = 0xc0; + return FALSE; + } + } else { + return sub_08024B38(this); + } + + return TRUE; +} + +bool32 sub_08024B38(Entity* this) { + int iVar4 = 0; + Entity* ent; + + if (gPlayerState.hurtBlinkSpeed != 0) { + if (gPlayerState.swimState == 1) { + if (gPlayerState.hurtBlinkSpeed > 3) { + gPlayerState.hurtBlinkSpeed -= 3; + } else { + gPlayerState.hurtBlinkSpeed = 0; + } + } + if (gPlayerState.hurtBlinkSpeed != 0) { + if (sub_08024C48(this, 1) && sub_08049F1C(this, gUnk_020000B0, 0xa0)) { + iVar4 = 1; + this->attachedEntity = gUnk_020000B0; + this->field_0x82.HALF.HI |= 3; + this->field_0x82.HALF.HI &= ~0x40; + } + + if (iVar4 == 0) { + this->attachedEntity = NULL; + } + return iVar4; + } + } + + ent = FindEntityInListBySubtype(8, 2, 2); + if (ent) { + do { + if (ent->action != 2 && ent->height.HALF.HI == 0 && sub_08049F1C(this, ent, 0xa0)) { + iVar4 = 1; + this->attachedEntity = ent; + this->field_0x82.HALF.HI |= 1; + this->field_0x82.HALF.HI &= ~0x40; + break; + } + } while (ent = FindNextEntityOfSameSubtype(ent, 2), ent != NULL); + } + + if (iVar4 != 0) { + return iVar4; + } + + ent = FindEntityInListBySubtype(6, 5, 6); + if (ent) { + do { + if (ent->action == 1 && sub_08049F1C(this, ent, 0xa0)) { + iVar4 = 1; + this->attachedEntity = ent; + this->field_0x82.HALF.HI |= 2; + this->field_0x82.HALF.HI &= ~0x40; + break; + } + } while (ent = FindNextEntityOfSameSubtype(ent, 6), ent != NULL); + } + + if (iVar4 == 0) { + this->attachedEntity = NULL; + } + + return iVar4; +} + +NAKED +bool32 sub_08024C48(Entity* this, bool32 unk) { + asm(".include \"asm/non_matching/pesto/sub_08024C48.inc\""); +} + +void sub_08024C7C(Entity* this) { + this->action = 1; + this->nonPlanarMovement = 0x40; + this->actionDelay = 0; + sub_08024A14(this, 0, 0x20); +} + +void sub_08024C94(Entity* this) { + this->action = 2; + this->field_0x80.HALF.LO = 0; + this->actionDelay = 0x40; + this->field_0xf = 0; + this->nonPlanarMovement = 0xc0; + this->field_0x82.HALF.HI = 0x80; + sub_08024A14(this, 3, this->field_0xf); +} + +bool32 sub_08024CC0(Entity* this) { + bool32 uVar2; + + uVar2 = 1; + if (!sub_08024C48(this, 1)) { + uVar2 = 0; + } else if (!sub_08049F1C(this, gUnk_020000B0, 0x50) || !sub_08049FDC(this, 3)) { + uVar2 = 0; + sub_08024C7C(this); + } + return uVar2; +} + +void sub_08024D00(Entity* this) { + if (*(u8*)&this->field_0x86) { + (*(u8*)&this->field_0x86)--; + GetNextFrame(this); + } else { + sub_08024940(this); + } + + if ((this->field_0x82.HALF.HI & 0x40) && sub_08024B38(this)) { + this->action = 6; + this->field_0x80.HALF.LO = 2; + } else if (sub_08024CC0(this)) { + switch (this->field_0x80.HALF.LO) { + case 0: + if (--this->actionDelay == 0) { + this->field_0x80.HALF.LO++; + this->actionDelay = (Random() & 0xf) + 0x20; + + this->direction += this->field_0x80.HALF.HI ? 4 : 0x1c; + this->direction &= 0x1f; + + this->field_0x80.HALF.HI ^= 0x40; + sub_08024A14(this, 3, 0x10); + } + break; + case 1: + if (--this->actionDelay == 0) { + this->field_0x80.HALF.LO = 0; + this->actionDelay = (Random() & 0x1f) + 0x20; + } else { + if (--this->field_0xf == 0) { + this->direction += this->field_0x80.HALF.HI ? 1 : 0x1f; + this->direction &= 0x1f; + + this->field_0xf = 0x10; + sub_080249DC(this); + } + } + break; + } + } +} + +void sub_08024E00(Entity* this, u32 unk) { + this->actionDelay = gUnk_080CBF10[sub_08024E34() * 2 | unk]; +} + +void sub_08024E1C(Entity* this) { + this->nonPlanarMovement = gUnk_080CBF18[sub_08024E34()]; +} + +u32 sub_08024E34(void) { + u32 idx = (Random() & 0x3c) >> 2; + return gUnk_080CBF20[idx]; +} + +#if NON_MATCHING +void sub_08024E4C(Entity* this) { + if (this->field_0x82.HALF.HI == 3) { + this->field_0xf++; + this->field_0xf &= 0xff; + this->field_0xf &= 0x1f; + + if (sub_0807953C()) { + this->cutsceneBeh.HALF.LO += 1 + (Random() & 1); + } + + if (gUnk_02002A40.stats.health == 0 || *((u8*)&this->field_0x86 + 1) == 4) { + this->cutsceneBeh.HALF.LO = 0x30; + *((u8*)&this->field_0x86 + 1) = 0; + sub_08024F50(this); + this->field_0x80.HALF.LO = 0; + this->nonPlanarMovement = 0x40; + this->actionDelay = 0x40; + this->field_0xf = 8; + sub_08024A14(this, 0, 8); + } else { + Entity* player = &gPlayerEntity; + + ResetPlayer(); + gPlayerState.flags.all |= 0x100; + gPlayerState.field_0xa |= 0x80; + gPlayerState.playerAction = 0xe; + gPlayerState.field_0x38 = 0x14; + gPlayerState.field_0x39 = 1; + *(u8*)&gPlayerState.field_0x3a = 0; + PositionRelative(this, player, 0, 0x10000); + player->spriteOffsetY = 0x1a; + player->animationState = 4; + player->spritePriority.b1 = 0; + if (this->field_0xf == 0) { + (*((u8*)&this->field_0x86 + 1))++; + player->hurtBlinkTime = 8; + ModHealth(-2); + sub_0800449C(player, 0x7a); + } + } + } +} +#else +NAKED +void sub_08024E4C(Entity* this) { + asm(".include \"asm/non_matching/pesto/sub_08024E4C.inc\""); +} +#endif + +void sub_08024F50(Entity* this) { + gPlayerState.field_0xa = 0; + gPlayerState.flags.all &= 0xfffffeff; + CopyPosition(this, &gPlayerEntity); + gPlayerEntity.action = 1; + gPlayerEntity.flags |= 0x80; + gPlayerEntity.hurtBlinkTime = -0x3c; + gPlayerEntity.direction = gPlayerEntity.animationState << 2; + gPlayerEntity.nonPlanarMovement = 0; + gPlayerEntity.spritePriority.b1 = this->cutsceneBeh.HALF.HI; + gPlayerEntity.height.HALF.HI = gPlayerEntity.spriteOffsetY; + gPlayerEntity.spriteOffsetY = 0; + this->flags2 |= 3; + this->field_0x82.HALF.HI = 0xc0; + this->field_0x80.HALF.LO += 2; + this->cutsceneBeh.HALF.LO = 0; + this->nonPlanarMovement = 0x80; +} + +// clang-format off +void (*const gUnk_080CBEC4[])(Entity*) = { + sub_08023F44, + sub_08023F5C, + sub_08023FE0, + sub_0804A7D4, + sub_08001242, + sub_08023FF0, +}; + +void (*const gUnk_080CBEDC[])(Entity*) = { + sub_080240B8, + sub_080241C0, + sub_08024298, + sub_080242A0, + sub_0802433C, + sub_080243B8, + sub_080244E8, +}; + +void (*const gUnk_080CBEF8[])(Entity*) = { + sub_08024038, + sub_08024048, + sub_08024058, + sub_08024060, + nullsub_138, + sub_0802409C, +}; + +const u8 gUnk_080CBF10[] = { + 30, 60, 50, 90, 70, 100, 90, 120, +}; + +const u16 gUnk_080CBF18[] = { + 0x80, 0xC0, 0x100, 0x140, +}; + +const u8 gUnk_080CBF20[] = { + 0, 2, 1, 1, 3, 1, 2, 0, + 1, 1, 2, 3, 2, 2, 1, 2, +}; +// clang-format on From bf8349b4630d169d83e7b81c8b13df721e572ff1 Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 4 Sep 2020 18:04:41 +0200 Subject: [PATCH 063/105] rename rodata file --- data/{data_080CBEC4.s => data_080CBF9C.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CBEC4.s => data_080CBF9C.s} (100%) diff --git a/data/data_080CBEC4.s b/data/data_080CBF9C.s similarity index 100% rename from data/data_080CBEC4.s rename to data/data_080CBF9C.s diff --git a/linker.ld b/linker.ld index 7ce22ded..48b0cd46 100644 --- a/linker.ld +++ b/linker.ld @@ -938,7 +938,7 @@ SECTIONS { data/animations/sluggula.o(.rodata); src/enemy/pesto.o(.rodata); data/animations/pesto.o(.rodata); - data/data_080CBEC4.o(.rodata); + data/data_080CBF9C.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From a7bd0cb57529860af5d82a514cacef21539addeb Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sun, 6 Sep 2020 03:35:26 +0200 Subject: [PATCH 064/105] decompile puffstool --- asm/non_matching/puffstool/sub_080258C4.inc | 77 + asm/non_matching/puffstool/sub_0802594C.inc | 136 ++ asm/puffstool.s | 1681 ------------------- data/animations/puffstool.s | 34 + data/data_080CBF9C.s | 81 - linker.ld | 4 +- src/enemy/puffstool.c | 724 ++++++++ 7 files changed, 974 insertions(+), 1763 deletions(-) create mode 100644 asm/non_matching/puffstool/sub_080258C4.inc create mode 100644 asm/non_matching/puffstool/sub_0802594C.inc delete mode 100644 asm/puffstool.s create mode 100644 data/animations/puffstool.s create mode 100644 src/enemy/puffstool.c diff --git a/asm/non_matching/puffstool/sub_080258C4.inc b/asm/non_matching/puffstool/sub_080258C4.inc new file mode 100644 index 00000000..861958cc --- /dev/null +++ b/asm/non_matching/puffstool/sub_080258C4.inc @@ -0,0 +1,77 @@ + + .syntax unified + + .text + + push {r4, lr} + adds r4, r0, #0 + movs r0, #1 + bl sub_08049DF4 + adds r2, r0, #0 + cmp r2, #0 + beq _08025922 + movs r0, #0x2e + ldrsh r1, [r2, r0] + movs r3, #0x2e + ldrsh r0, [r4, r3] + subs r3, r1, r0 + adds r0, r3, #0 + muls r0, r3, r0 + adds r3, r0, #0 + movs r1, #0x32 + ldrsh r0, [r2, r1] + movs r2, #0x32 + ldrsh r1, [r4, r2] + subs r0, r0, r1 + adds r1, r0, #0 + muls r1, r0, r1 + adds r0, r1, #0 + adds r3, r3, r0 + adds r0, r4, #0 + adds r0, #0x84 + ldrh r0, [r0] + cmp r0, #0 + bne _0802591A + adds r0, r4, #0 + adds r0, #0x81 + ldrb r1, [r0] + cmp r1, #0 + bne _0802591A + movs r0, #0x80 + lsls r0, r0, #3 + cmp r3, r0 + bgt _0802591A + movs r0, #9 + strb r0, [r4, #0xc] + strb r1, [r4, #0xe] + b _08025942 +_0802591A: + movs r0, #0x90 + lsls r0, r0, #4 + cmp r3, r0 + ble _08025926 +_08025922: + movs r0, #0 + b _08025944 +_08025926: + movs r0, #0xb + strb r0, [r4, #0xc] + movs r0, #1 + strb r0, [r4, #0xe] + bl Random + ldr r2, _08025948 @ =gUnk_080CC050 + movs r1, #0xf + ands r1, r0 + adds r1, r1, r2 + ldrb r1, [r1] + adds r0, r4, #0 + adds r0, #0x78 + strh r1, [r0] +_08025942: + movs r0, #1 +_08025944: + pop {r4, pc} + .align 2, 0 +_08025948: .4byte gUnk_080CC050 + + .syntax divided diff --git a/asm/non_matching/puffstool/sub_0802594C.inc b/asm/non_matching/puffstool/sub_0802594C.inc new file mode 100644 index 00000000..837bf19f --- /dev/null +++ b/asm/non_matching/puffstool/sub_0802594C.inc @@ -0,0 +1,136 @@ + + .syntax unified + + .text + + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x14 + mov sl, r0 + ldr r0, _08025A20 @ =gUnk_080CC090 + lsls r1, r1, #2 + adds r1, r1, r0 + ldr r7, [r1] + mov r0, sl + adds r0, #0x38 + ldrb r0, [r0] + mov sb, r0 + ldr r3, _08025A24 @ =gRoomControls + mov r1, sl + ldrh r0, [r1, #0x2e] + ldrh r1, [r3, #6] + subs r0, r0, r1 + adds r0, #8 + movs r1, #0x10 + rsbs r1, r1, #0 + adds r2, r1, #0 + ands r0, r2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r0, [sp] + mov r1, sl + ldrh r0, [r1, #0x32] + ldrh r1, [r3, #8] + subs r0, r0, r1 + adds r0, #8 + ands r0, r2 + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + str r0, [sp, #4] +_08025996: + movs r0, #0 + ldrsb r0, [r7, r0] + ldr r1, [sp] + lsls r4, r1, #0x10 + asrs r4, r4, #0x10 + adds r4, r4, r0 + lsls r4, r4, #0x10 + movs r0, #1 + ldrsb r0, [r7, r0] + ldr r1, [sp, #4] + lsls r5, r1, #0x10 + asrs r5, r5, #0x10 + adds r5, r5, r0 + lsls r5, r5, #0x10 + lsrs r0, r4, #0x10 + str r0, [sp, #8] + asrs r4, r4, #0x10 + lsrs r1, r5, #0x10 + str r1, [sp, #0xc] + asrs r5, r5, #0x10 + adds r0, r4, #0 + adds r1, r5, #0 + mov r2, sb + bl sub_080002D4 + adds r6, r0, #0 + lsls r6, r6, #0x18 + lsrs r6, r6, #0x18 + movs r0, #0x10 + rsbs r0, r0, #0 + adds r0, r0, r4 + mov r8, r0 + adds r1, r5, #0 + mov r2, sb + bl sub_080002D4 + adds r3, r0, #0 + lsls r3, r3, #0x18 + lsrs r3, r3, #0x18 + subs r5, #0x10 + adds r0, r4, #0 + adds r1, r5, #0 + mov r2, sb + str r3, [sp, #0x10] + bl sub_080002D4 + adds r4, r0, #0 + lsls r4, r4, #0x18 + lsrs r4, r4, #0x18 + mov r0, r8 + adds r1, r5, #0 + mov r2, sb + bl sub_080002D4 + ldr r3, [sp, #0x10] + orrs r6, r3 + orrs r4, r6 + orrs r4, r0 + lsls r4, r4, #0x18 + cmp r4, #0 + beq _08025A28 + adds r7, #2 + movs r0, #0 + ldrsb r0, [r7, r0] + cmp r0, #0x7f + bne _08025996 + movs r0, #0 + b _08025A44 + .align 2, 0 +_08025A20: .4byte gUnk_080CC090 +_08025A24: .4byte gRoomControls +_08025A28: + ldr r2, _08025A50 @ =gRoomControls + ldrh r0, [r2, #6] + ldr r1, [sp, #8] + adds r0, r0, r1 + mov r1, sl + adds r1, #0x7c + strh r0, [r1] + ldrh r0, [r2, #8] + ldr r1, [sp, #0xc] + adds r0, r0, r1 + mov r1, sl + adds r1, #0x7e + strh r0, [r1] + movs r0, #1 +_08025A44: + add sp, #0x14 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08025A50: .4byte gRoomControls + + .syntax divided diff --git a/asm/puffstool.s b/asm/puffstool.s deleted file mode 100644 index 70b4dca2..00000000 --- a/asm/puffstool.s +++ /dev/null @@ -1,1681 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Puffstool -Puffstool: @ 0x08024FE8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08025004 @ =gUnk_080CBF9C - bl EnemyFunctionHandler - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl SetChildOffset - pop {r4, pc} - .align 2, 0 -_08025004: .4byte gUnk_080CBF9C - - thumb_func_start sub_08025008 -sub_08025008: @ 0x08025008 - push {lr} - ldr r2, _0802501C @ =gUnk_080CBFB4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802501C: .4byte gUnk_080CBFB4 - - thumb_func_start sub_08025020 -sub_08025020: @ 0x08025020 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - blt _080250C2 - cmp r1, #3 - ble _0802510C - cmp r1, #0x1b - bne _080250C2 - adds r0, r4, #0 - bl sub_0804AA1C - ldr r1, _08025058 @ =gUnk_080CBFE8 - ldr r0, [r4, #0x4c] - ldrb r0, [r0, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - adds r3, r4, #0 - adds r3, #0x82 - ldrb r0, [r3] - cmp r1, r0 - bhs _0802505C - subs r0, r0, r1 - strb r0, [r3] - b _08025078 - .align 2, 0 -_08025058: .4byte gUnk_080CBFE8 -_0802505C: - adds r1, r4, #0 - adds r1, #0x84 - movs r2, #0 - movs r0, #0xa5 - lsls r0, r0, #2 - strh r0, [r1] - subs r1, #0x45 - movs r0, #0x83 - strb r0, [r1] - strb r2, [r3] - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0801D2B4 -_08025078: - movs r2, #0 - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r0, [r4, #0x20] - cmp r0, #0 - ble _0802508A - str r2, [r4, #0x20] -_0802508A: - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xf4 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x42 - strb r2, [r0] - adds r5, r4, #0 - adds r5, #0x80 - ldrb r0, [r5] - cmp r0, #0 - bne _0802510C - ldr r0, [r4, #0x4c] - ldrb r0, [r0, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl InitializeAnimation - adds r1, r4, #0 - adds r1, #0x59 - movs r0, #6 - strb r0, [r1] - movs r0, #1 - strb r0, [r5] - b _0802510C -_080250C2: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x82 - bne _0802510C - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bge _0802510C - movs r0, #0x21 - movs r1, #2 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _08025104 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #3 - orrs r1, r0 - strb r1, [r3] - adds r0, r4, #0 - adds r1, r2, #0 - bl CopyPosition -_08025104: - movs r0, #0xc3 - lsls r0, r0, #1 - bl EnqueueSFX -_0802510C: - ldr r1, _08025118 @ =gUnk_080CBF9C - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08025118: .4byte gUnk_080CBF9C - - thumb_func_start sub_0802511C -sub_0802511C: @ 0x0802511C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08025142 - ldrb r0, [r4, #0xe] - cmp r0, #1 - bne _08025142 - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - beq _08025142 - adds r0, r4, #0 - bl sub_08025B18 -_08025142: - adds r0, r4, #0 - bl sub_0804A7D4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802514C -sub_0802514C: @ 0x0802514C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08025178 - ldr r0, _08025174 @ =gUnk_080CBFEC - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0802517E - .align 2, 0 -_08025174: .4byte gUnk_080CBFEC -_08025178: - adds r0, r4, #0 - bl sub_08025C2C -_0802517E: - pop {r4, pc} - - thumb_func_start sub_08025180 -sub_08025180: @ 0x08025180 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xd] - bl Random - strb r0, [r4, #0xe] - ldr r0, [r4, #0x4c] - ldrb r0, [r0, #0x15] - movs r1, #0x10 - eors r0, r1 - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl InitializeAnimation - adds r0, r4, #0 - bl sub_0804AA1C - pop {r4, pc} - - thumb_func_start sub_080251AC -sub_080251AC: @ 0x080251AC - push {r4, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x82 - ldrb r0, [r3] - cmp r0, #3 - bls _080251D8 - subs r0, #3 - strb r0, [r3] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _080251F4 - adds r0, r4, #0 - bl sub_08025BD4 - b _080251F4 -_080251D8: - adds r1, r4, #0 - adds r1, #0x84 - movs r2, #0 - movs r0, #0xa5 - lsls r0, r0, #2 - strh r0, [r1] - subs r1, #0x45 - movs r0, #0x83 - strb r0, [r1] - strb r2, [r3] - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0801D2B4 -_080251F4: - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - - thumb_func_start sub_080251FC -sub_080251FC: @ 0x080251FC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r1, r4, #0 - adds r1, #0x82 - movs r5, #0 - movs r0, #0xf0 - strb r0, [r1] - bl Random - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x80 - strb r5, [r0] - adds r0, r4, #0 - bl sub_080256B4 - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08025230 -sub_08025230: @ 0x08025230 - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x81 - ldrb r0, [r1] - cmp r0, #0 - beq _08025242 - subs r0, #1 - strb r0, [r1] -_08025242: - adds r0, r4, #0 - bl sub_08025C44 - adds r0, r4, #0 - bl GetNextFrame - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08025270 - bl Random - movs r1, #3 - ands r0, r1 - adds r0, #4 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08025C60 - strb r0, [r4, #0x15] -_08025270: - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0802528C - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _08025290 - ldrh r1, [r4, #0x2a] - adds r0, r4, #0 - bl sub_0800417E - b _08025290 -_0802528C: - movs r0, #0x1e - strb r0, [r4, #0xf] -_08025290: - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - cmp r0, #0 - bne _080252D8 - adds r0, r4, #0 - bl sub_0802571C - cmp r0, #0 - beq _080252DC - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _080252D4 @ =gRoomControls - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x86 - strh r1, [r0] - b _080252DC - .align 2, 0 -_080252D4: .4byte gRoomControls -_080252D8: - subs r0, #1 - strh r0, [r1] -_080252DC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080252E0 -sub_080252E0: @ 0x080252E0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r4, #0 - adds r2, #0x7c - ldrh r2, [r2] - adds r3, r4, #0 - adds r3, #0x7e - ldrh r3, [r3] - bl sub_080045D4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08025C44 - adds r0, r4, #0 - bl GetNextFrame - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _08025348 @ =gRoomControls - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r2, [r0] - cmp r5, r2 - bne _0802534C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08025352 - adds r0, r4, #0 - bl sub_080256B4 - b _08025352 - .align 2, 0 -_08025348: .4byte gRoomControls -_0802534C: - strh r5, [r0] - movs r0, #0xf0 - strb r0, [r4, #0xe] -_08025352: - movs r0, #0x2e - ldrsh r1, [r4, r0] - adds r0, r4, #0 - adds r0, #0x7c - ldrh r0, [r0] - cmp r1, r0 - bne _08025388 - movs r1, #0x32 - ldrsh r0, [r4, r1] - adds r1, r4, #0 - adds r1, #0x7e - ldrh r1, [r1] - cmp r0, r1 - bne _08025388 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation -_08025388: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802538C -sub_0802538C: @ 0x0802538C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802539C - subs r0, #1 - strb r0, [r4, #0xe] - b _080253CC -_0802539C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - bne _080253AE - adds r0, r4, #0 - bl GetNextFrame - b _080253CC -_080253AE: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - ldr r1, [r4, #0x20] - ldr r0, _080253D0 @ =0x00001FFF - cmp r1, r0 - bgt _080253CC - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl InitializeAnimation -_080253CC: - pop {r4, pc} - .align 2, 0 -_080253D0: .4byte 0x00001FFF - - thumb_func_start sub_080253D4 -sub_080253D4: @ 0x080253D4 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0802541A - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080253FE - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl InitializeAnimation - b _0802541A -_080253FE: - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #3 - bl InitializeAnimation - adds r0, r4, #0 - bl sub_08025A54 - adds r0, r4, #0 - bl sub_08025AE8 -_0802541A: - pop {r4, pc} - - thumb_func_start sub_0802541C -sub_0802541C: @ 0x0802541C - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08025448 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xf] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation -_08025448: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802544C -sub_0802544C: @ 0x0802544C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - bne _08025460 - adds r0, r4, #0 - bl GetNextFrame - b _0802547A -_08025460: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802547A - adds r0, r4, #0 - bl sub_080256B4 - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation -_0802547A: - pop {r4, pc} - - thumb_func_start sub_0802547C -sub_0802547C: @ 0x0802547C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - adds r0, r4, #0 - bl GetNextFrame - ldrb r1, [r4, #0xe] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0802549E - adds r0, r4, #0 - bl sub_08025BD4 -_0802549E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080254B0 - adds r0, r4, #0 - bl sub_08025C2C -_080254B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080254B4 -sub_080254B4: @ 0x080254B4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802550C - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08025512 - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - cmp r0, #0 - bne _080254F6 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x82 - strb r0, [r1] - adds r1, #0x43 - movs r0, #0xf0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080256B4 - b _08025502 -_080254F6: - movs r0, #0xc - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08025502: - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - b _08025512 -_0802550C: - adds r0, r4, #0 - bl GetNextFrame -_08025512: - pop {r4, pc} - - thumb_func_start sub_08025514 -sub_08025514: @ 0x08025514 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - bl sub_0802594C - cmp r0, #0 - beq _08025542 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x78 - strb r0, [r1] - b _08025550 -_08025542: - ldrb r0, [r4, #0xe] - cmp r0, #3 - bls _08025550 - movs r0, #0xa - strb r0, [r4, #0xc] - movs r0, #0x20 - strb r0, [r4, #0xe] -_08025550: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08025554 -sub_08025554: @ 0x08025554 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - bne _0802556C - adds r0, r4, #0 - bl sub_080256B4 - b _080255A8 -_0802556C: - ldrb r1, [r4, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _08025580 - adds r0, r2, #0 - adds r1, r4, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] -_08025580: - adds r0, r4, #0 - bl sub_08025C44 - adds r0, r4, #0 - bl GetNextFrame - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08025598 - subs r0, #1 - strb r0, [r4, #0xe] - b _080255A8 -_08025598: - adds r0, r4, #0 - bl sub_080258C4 - cmp r0, #0 - bne _080255A8 - adds r0, r4, #0 - bl sub_080256B4 -_080255A8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080255AC -sub_080255AC: @ 0x080255AC - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r6, r0, #0 - cmp r6, #0 - bne _080255C4 - adds r0, r5, #0 - bl sub_080256B4 - b _08025638 -_080255C4: - adds r1, r5, #0 - adds r1, #0x81 - ldrb r0, [r1] - cmp r0, #0 - beq _080255D2 - subs r0, #1 - strb r0, [r1] -_080255D2: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802560C - bl Random - movs r1, #3 - ands r0, r1 - adds r0, #4 - strb r0, [r5, #0xe] - bl Random - adds r4, r0, #0 - movs r0, #0xf - ands r4, r0 - cmp r4, #7 - bgt _080255FA - subs r4, #1 -_080255FA: - subs r4, #7 - adds r0, r6, #0 - adds r1, r5, #0 - bl GetFacingDirection - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] -_0802560C: - adds r1, r5, #0 - adds r1, #0x78 - ldrh r0, [r1] - cmp r0, #0 - bne _08025628 - adds r0, r5, #0 - bl sub_080258C4 - cmp r0, #0 - bne _0802562C - adds r0, r5, #0 - bl sub_080256B4 - b _0802562C -_08025628: - subs r0, #1 - strh r0, [r1] -_0802562C: - adds r0, r5, #0 - bl sub_08025C44 - adds r0, r5, #0 - bl GetNextFrame -_08025638: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802563C -sub_0802563C: @ 0x0802563C - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r2, r4, #0 - adds r2, #0x84 - ldrh r0, [r2] - subs r1, r0, #1 - strh r1, [r2] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _08025678 - adds r0, r4, #0 - movs r1, #0x28 - bl sub_0801D2B4 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x82 - strb r0, [r1] - adds r1, #0x43 - movs r0, #0xf0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080256B4 - adds r0, r4, #0 - bl sub_0804AA1C - b _080256B0 -_08025678: - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x77 - bhi _080256B0 - ldr r0, _080256A4 @ =gUnk_080CBFF8 - lsrs r1, r1, #0x14 - adds r1, r1, r0 - ldrb r1, [r1] - ldrh r2, [r2] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _080256B0 - adds r0, r1, #1 - ands r2, r0 - cmp r2, #0 - beq _080256A8 - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0801D2B4 - b _080256B0 - .align 2, 0 -_080256A4: .4byte gUnk_080CBFF8 -_080256A8: - adds r0, r4, #0 - movs r1, #0x28 - bl sub_0801D2B4 -_080256B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080256B4 -sub_080256B4: @ 0x080256B4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - bl Random - movs r1, #3 - ands r0, r1 - adds r0, #4 - strb r0, [r5, #0xe] - movs r0, #0x1e - strb r0, [r5, #0xf] - bl Random - ldrb r4, [r5, #0x15] - adds r4, #7 - movs r1, #7 - bl __modsi3 - lsls r0, r0, #2 - adds r4, r4, r0 - movs r0, #0x1c - ands r4, r0 - strb r4, [r5, #0x15] - bl Random - ldr r2, _08025718 @ =gUnk_080CC000 - movs r1, #0xf - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r5, #0 - adds r0, #0x78 - movs r4, #0 - strh r1, [r0] - bl Random - movs r1, #0x18 - bl __modsi3 - lsls r0, r0, #1 - adds r1, r5, #0 - adds r1, #0x7a - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x7b - strb r4, [r0] - pop {r4, r5, pc} - .align 2, 0 -_08025718: .4byte gUnk_080CC000 - - thumb_func_start sub_0802571C -sub_0802571C: @ 0x0802571C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r7, r0, #0 - ldr r0, _080257B0 @ =gRoomControls - mov sb, r0 - ldrh r0, [r7, #0x2e] - mov r2, sb - ldrh r1, [r2, #6] - subs r0, r0, r1 - adds r0, #8 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r2, r3, #0 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp] - ldrh r0, [r7, #0x32] - mov r3, sb - ldrh r1, [r3, #8] - subs r0, r0, r1 - adds r0, #8 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sl, r0 - adds r0, r7, #0 - adds r0, #0x7a - ldrb r4, [r0] - movs r3, #0 - ldr r0, _080257B4 @ =gUnk_080CC020 - mov r8, r0 -_08025764: - mov r1, r8 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r2, [sp] - adds r0, r2, r0 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - adds r0, r4, #1 - add r0, r8 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - add r0, sl - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r5, #0 - str r3, [sp, #4] - bl sub_080257EC - ldr r3, [sp, #4] - cmp r0, #0 - beq _080257B8 - mov r3, sb - ldrh r0, [r3, #6] - adds r0, r6, r0 - adds r1, r7, #0 - adds r1, #0x7c - strh r0, [r1] - ldrh r0, [r3, #8] - adds r0, r5, r0 - adds r1, #2 - strh r0, [r1] - movs r0, #1 - b _080257E0 - .align 2, 0 -_080257B0: .4byte gRoomControls -_080257B4: .4byte gUnk_080CC020 -_080257B8: - adds r0, r4, #2 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - cmp r4, #0x2f - bls _080257C4 - movs r4, #0 -_080257C4: - adds r0, r3, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r3, #3 - bls _08025764 - adds r0, r7, #0 - adds r0, #0x7a - strb r4, [r0] - adds r1, r7, #0 - adds r1, #0x7b - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0 -_080257E0: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080257EC -sub_080257EC: @ 0x080257EC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r7, r1, #0 - adds r6, r2, #0 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_080002A8 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r0, _080258B0 @ =0x00000312 - cmp r2, r0 - beq _08025822 - ldr r0, _080258B4 @ =gUnk_080B37A0 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0x16 - beq _08025822 - ldr r0, _080258B8 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0 - beq _080258AA -_08025822: - adds r5, r7, #0 - subs r5, #0x10 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_080002A8 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r0, _080258B0 @ =0x00000312 - mov r8, r4 - cmp r2, r0 - beq _08025852 - ldr r0, _080258B4 @ =gUnk_080B37A0 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0x16 - beq _08025852 - ldr r0, _080258B8 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0 - beq _080258AA -_08025852: - adds r4, r6, #0 - subs r4, #0x10 - mov r0, r8 - ldrb r2, [r0] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_080002A8 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r0, _080258B0 @ =0x00000312 - adds r1, r4, #0 - cmp r2, r0 - beq _08025882 - ldr r0, _080258B4 @ =gUnk_080B37A0 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0x16 - beq _08025882 - ldr r0, _080258B8 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0 - beq _080258AA -_08025882: - mov r0, r8 - ldrb r2, [r0] - adds r0, r5, #0 - bl sub_080002A8 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r0, _080258B0 @ =0x00000312 - cmp r2, r0 - beq _080258BC - ldr r0, _080258B4 @ =gUnk_080B37A0 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0x16 - beq _080258BC - ldr r0, _080258B8 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0 - bne _080258BC -_080258AA: - movs r0, #1 - b _080258BE - .align 2, 0 -_080258B0: .4byte 0x00000312 -_080258B4: .4byte gUnk_080B37A0 -_080258B8: .4byte gUnk_080B3E80 -_080258BC: - movs r0, #0 -_080258BE: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080258C4 -sub_080258C4: @ 0x080258C4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - beq _08025922 - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r3, #0x2e - ldrsh r0, [r4, r3] - subs r3, r1, r0 - adds r0, r3, #0 - muls r0, r3, r0 - adds r3, r0, #0 - movs r1, #0x32 - ldrsh r0, [r2, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r0, #0 - muls r1, r0, r1 - adds r0, r1, #0 - adds r3, r3, r0 - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - cmp r0, #0 - bne _0802591A - adds r0, r4, #0 - adds r0, #0x81 - ldrb r1, [r0] - cmp r1, #0 - bne _0802591A - movs r0, #0x80 - lsls r0, r0, #3 - cmp r3, r0 - bgt _0802591A - movs r0, #9 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - b _08025942 -_0802591A: - movs r0, #0x90 - lsls r0, r0, #4 - cmp r3, r0 - ble _08025926 -_08025922: - movs r0, #0 - b _08025944 -_08025926: - movs r0, #0xb - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xe] - bl Random - ldr r2, _08025948 @ =gUnk_080CC050 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - ldrb r1, [r1] - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] -_08025942: - movs r0, #1 -_08025944: - pop {r4, pc} - .align 2, 0 -_08025948: .4byte gUnk_080CC050 - - thumb_func_start sub_0802594C -sub_0802594C: @ 0x0802594C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - mov sl, r0 - ldr r0, _08025A20 @ =gUnk_080CC090 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r7, [r1] - mov r0, sl - adds r0, #0x38 - ldrb r0, [r0] - mov sb, r0 - ldr r3, _08025A24 @ =gRoomControls - mov r1, sl - ldrh r0, [r1, #0x2e] - ldrh r1, [r3, #6] - subs r0, r0, r1 - adds r0, #8 - movs r1, #0x10 - rsbs r1, r1, #0 - adds r2, r1, #0 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp] - mov r1, sl - ldrh r0, [r1, #0x32] - ldrh r1, [r3, #8] - subs r0, r0, r1 - adds r0, #8 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp, #4] -_08025996: - movs r0, #0 - ldrsb r0, [r7, r0] - ldr r1, [sp] - lsls r4, r1, #0x10 - asrs r4, r4, #0x10 - adds r4, r4, r0 - lsls r4, r4, #0x10 - movs r0, #1 - ldrsb r0, [r7, r0] - ldr r1, [sp, #4] - lsls r5, r1, #0x10 - asrs r5, r5, #0x10 - adds r5, r5, r0 - lsls r5, r5, #0x10 - lsrs r0, r4, #0x10 - str r0, [sp, #8] - asrs r4, r4, #0x10 - lsrs r1, r5, #0x10 - str r1, [sp, #0xc] - asrs r5, r5, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - mov r2, sb - bl sub_080002D4 - adds r6, r0, #0 - lsls r6, r6, #0x18 - lsrs r6, r6, #0x18 - movs r0, #0x10 - rsbs r0, r0, #0 - adds r0, r0, r4 - mov r8, r0 - adds r1, r5, #0 - mov r2, sb - bl sub_080002D4 - adds r3, r0, #0 - lsls r3, r3, #0x18 - lsrs r3, r3, #0x18 - subs r5, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - mov r2, sb - str r3, [sp, #0x10] - bl sub_080002D4 - adds r4, r0, #0 - lsls r4, r4, #0x18 - lsrs r4, r4, #0x18 - mov r0, r8 - adds r1, r5, #0 - mov r2, sb - bl sub_080002D4 - ldr r3, [sp, #0x10] - orrs r6, r3 - orrs r4, r6 - orrs r4, r0 - lsls r4, r4, #0x18 - cmp r4, #0 - beq _08025A28 - adds r7, #2 - movs r0, #0 - ldrsb r0, [r7, r0] - cmp r0, #0x7f - bne _08025996 - movs r0, #0 - b _08025A44 - .align 2, 0 -_08025A20: .4byte gUnk_080CC090 -_08025A24: .4byte gRoomControls -_08025A28: - ldr r2, _08025A50 @ =gRoomControls - ldrh r0, [r2, #6] - ldr r1, [sp, #8] - adds r0, r0, r1 - mov r1, sl - adds r1, #0x7c - strh r0, [r1] - ldrh r0, [r2, #8] - ldr r1, [sp, #0xc] - adds r0, r0, r1 - mov r1, sl - adds r1, #0x7e - strh r0, [r1] - movs r0, #1 -_08025A44: - add sp, #0x14 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08025A50: .4byte gRoomControls - - thumb_func_start sub_08025A54 -sub_08025A54: @ 0x08025A54 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r1, r0, #0 - adds r1, #0x38 - ldrb r1, [r1] - mov sb, r1 - ldr r3, _08025AB0 @ =gRoomControls - ldrh r2, [r0, #0x2e] - ldrh r1, [r3, #6] - subs r2, r2, r1 - ldrh r1, [r0, #0x32] - ldrh r0, [r3, #8] - subs r1, r1, r0 - ldr r4, _08025AB4 @ =gUnk_080CC0A0 - movs r5, #0 - lsls r2, r2, #0x10 - asrs r2, r2, #0x10 - mov r8, r2 - movs r6, #0x3f - lsls r1, r1, #0x10 - asrs r7, r1, #0x10 -_08025A82: - movs r0, #0 - ldrsb r0, [r4, r0] - add r0, r8 - asrs r0, r0, #4 - ands r0, r6 - movs r1, #1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - mov r1, sb - bl sub_08025AB8 - adds r5, #1 - adds r4, #2 - cmp r5, #3 - bls _08025A82 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08025AB0: .4byte gRoomControls -_08025AB4: .4byte gUnk_080CC0A0 - - thumb_func_start sub_08025AB8 -sub_08025AB8: @ 0x08025AB8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_080002E0 - cmp r0, #0 - bne _08025AD6 - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - lsls r1, r5, #0x18 - lsrs r1, r1, #0x18 - bl sub_080002C8 - cmp r0, #0xa - beq _08025ADA -_08025AD6: - movs r0, #0 - b _08025AE6 -_08025ADA: - movs r0, #0x61 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0807B7D8 - movs r0, #1 -_08025AE6: - pop {r4, r5, pc} - - thumb_func_start sub_08025AE8 -sub_08025AE8: @ 0x08025AE8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x22 - movs r2, #0 - bl CreateFx - adds r1, r0, #0 - cmp r1, #0 - beq _08025B00 - ldr r0, [r1, #0x30] - subs r0, #1 - str r0, [r1, #0x30] -_08025B00: - adds r0, r4, #0 - movs r1, #0x23 - movs r2, #0 - bl CreateFx - adds r1, r0, #0 - cmp r1, #0 - beq _08025B16 - ldr r0, [r1, #0x30] - adds r0, #1 - str r0, [r1, #0x30] -_08025B16: - pop {r4, pc} - - thumb_func_start sub_08025B18 -sub_08025B18: @ 0x08025B18 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r6, r0, #0 - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _08025BC8 @ =gRoomControls - ldrh r0, [r2, #6] - subs r1, r1, r0 - str r1, [sp] - movs r0, #0x32 - ldrsh r1, [r6, r0] - ldrh r0, [r2, #8] - subs r1, r1, r0 - str r1, [sp, #4] - adds r0, r6, #0 - adds r0, #0x38 - ldrb r0, [r0] - mov sl, r0 - ldr r5, _08025BCC @ =gUnk_080CC0A8 - movs r7, #0 - movs r1, #0x3f - mov r8, r1 - movs r2, #0x10 - rsbs r2, r2, #0 - mov sb, r2 -_08025B52: - movs r0, #0 - ldrsb r0, [r5, r0] - ldr r1, [sp] - adds r0, r1, r0 - asrs r0, r0, #4 - mov r2, r8 - ands r0, r2 - movs r1, #1 - ldrsb r1, [r5, r1] - ldr r2, [sp, #4] - adds r1, r2, r1 - asrs r1, r1, #4 - mov r2, r8 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - mov r1, sl - bl sub_08025AB8 - movs r0, #0x21 - movs r1, #2 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _08025BB4 - movs r2, #0 - ldrsb r2, [r5, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r5, r3] - lsls r3, r3, #0x10 - adds r0, r6, #0 - adds r1, r4, #0 - bl PositionRelative - ldrh r1, [r4, #0x2e] - mov r0, sb - ands r0, r1 - adds r0, #8 - strh r0, [r4, #0x2e] - ldrh r1, [r4, #0x32] - mov r0, sb - ands r0, r1 - adds r0, #8 - strh r0, [r4, #0x32] - ldr r0, _08025BD0 @ =0x0000FFFF - strh r0, [r4, #0x36] -_08025BB4: - adds r7, #1 - adds r5, #2 - cmp r7, #8 - bls _08025B52 - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08025BC8: .4byte gRoomControls -_08025BCC: .4byte gUnk_080CC0A8 -_08025BD0: .4byte 0x0000FFFF - - thumb_func_start sub_08025BD4 -sub_08025BD4: @ 0x08025BD4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - beq _08025C22 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08025C22 - movs r0, #0x21 - movs r1, #0 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _08025C22 - ldr r3, _08025C24 @ =gUnk_080CC0BA - ldrb r0, [r5, #0x14] - lsls r0, r0, #1 - adds r1, r0, r3 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - adds r0, #1 - adds r0, r0, r3 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl PositionRelative - ldr r0, _08025C28 @ =0x0000FFF6 - strh r0, [r4, #0x36] -_08025C22: - pop {r4, r5, pc} - .align 2, 0 -_08025C24: .4byte gUnk_080CC0BA -_08025C28: .4byte 0x0000FFF6 - - thumb_func_start sub_08025C2C -sub_08025C2C: @ 0x08025C2C - push {lr} - movs r2, #0 - movs r1, #8 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x80 - strb r2, [r1] - movs r1, #8 - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_08025C44 -sub_08025C44: @ 0x08025C44 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08025C58 - movs r0, #0 - b _08025C5E -_08025C58: - adds r0, r2, #0 - bl ProcessMovement -_08025C5E: - pop {pc} - - thumb_func_start sub_08025C60 -sub_08025C60: @ 0x08025C60 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08025C80 - bl Random - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _08025C80 - adds r0, r4, #0 - bl sub_08049EE4 - b _08025C98 -_08025C80: - bl Random - ldr r2, _08025C9C @ =gUnk_080CC0C2 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrb r4, [r4, #0x15] - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 -_08025C98: - pop {r4, pc} - .align 2, 0 -_08025C9C: .4byte gUnk_080CC0C2 diff --git a/data/animations/puffstool.s b/data/animations/puffstool.s new file mode 100644 index 00000000..f525cb04 --- /dev/null +++ b/data/animations/puffstool.s @@ -0,0 +1,34 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnk_080CC0CA:: @ 080CC0CA + .incbin "baserom.gba", 0x0CC0CA, 0x0000041 + +gUnk_080CC10B:: @ 080CC10B + .incbin "baserom.gba", 0x0CC10B, 0x000000D + +gUnk_080CC118:: @ 080CC118 + .incbin "baserom.gba", 0x0CC118, 0x0000009 + +gUnk_080CC121:: @ 080CC121 + .incbin "baserom.gba", 0x0CC121, 0x0000010 + +gUnk_080CC131:: @ 080CC131 + .incbin "baserom.gba", 0x0CC131, 0x000000D + +gUnk_080CC13E:: @ 080CC13E + .incbin "baserom.gba", 0x0CC13E, 0x000000D + +gUnk_080CC14B:: @ 080CC14B + .incbin "baserom.gba", 0x0CC14B, 0x000000D + +gUnk_080CC158:: @ 080CC158 + .incbin "baserom.gba", 0x0CC158, 0x000000D + +gUnk_080CC165:: @ 080CC165 + .incbin "baserom.gba", 0x0CC165, 0x000000F + +gUnk_080CC174:: @ 080CC174 + .incbin "baserom.gba", 0x0CC174, 0x0000028 diff --git a/data/data_080CBF9C.s b/data/data_080CBF9C.s index 03b6380d..d00c10c8 100644 --- a/data/data_080CBF9C.s +++ b/data/data_080CBF9C.s @@ -3,87 +3,6 @@ .section .rodata -gUnk_080CBF9C:: @ 080CBF9C - .incbin "baserom.gba", 0x0CBF9C, 0x0000018 - -gUnk_080CBFB4:: @ 080CBFB4 - .incbin "baserom.gba", 0x0CBFB4, 0x0000034 - -gUnk_080CBFE8:: @ 080CBFE8 - .incbin "baserom.gba", 0x0CBFE8, 0x0000004 - -gUnk_080CBFEC:: @ 080CBFEC - .incbin "baserom.gba", 0x0CBFEC, 0x000000C - -gUnk_080CBFF8:: @ 080CBFF8 - .incbin "baserom.gba", 0x0CBFF8, 0x0000008 - -gUnk_080CC000:: @ 080CC000 - .incbin "baserom.gba", 0x0CC000, 0x0000020 - -gUnk_080CC020:: @ 080CC020 - .incbin "baserom.gba", 0x0CC020, 0x0000030 - -gUnk_080CC050:: @ 080CC050 - .incbin "baserom.gba", 0x0CC050, 0x0000008 - -gUnk_080CC058:: @ 080CC058 - .incbin "baserom.gba", 0x0CC058, 0x000000B - -gUnk_080CC063:: @ 080CC063 - .incbin "baserom.gba", 0x0CC063, 0x0000011 - -gUnk_080CC074:: @ 080CC074 - .incbin "baserom.gba", 0x0CC074, 0x0000011 - -gUnk_080CC085:: @ 080CC085 - .incbin "baserom.gba", 0x0CC085, 0x000000B - -gUnk_080CC090:: @ 080CC090 - .incbin "baserom.gba", 0x0CC090, 0x0000010 - -gUnk_080CC0A0:: @ 080CC0A0 - .incbin "baserom.gba", 0x0CC0A0, 0x0000008 - -gUnk_080CC0A8:: @ 080CC0A8 - .incbin "baserom.gba", 0x0CC0A8, 0x0000012 - -gUnk_080CC0BA:: @ 080CC0BA - .incbin "baserom.gba", 0x0CC0BA, 0x0000008 - -gUnk_080CC0C2:: @ 080CC0C2 - .incbin "baserom.gba", 0x0CC0C2, 0x0000008 - -gUnk_080CC0CA:: @ 080CC0CA - .incbin "baserom.gba", 0x0CC0CA, 0x0000041 - -gUnk_080CC10B:: @ 080CC10B - .incbin "baserom.gba", 0x0CC10B, 0x000000D - -gUnk_080CC118:: @ 080CC118 - .incbin "baserom.gba", 0x0CC118, 0x0000009 - -gUnk_080CC121:: @ 080CC121 - .incbin "baserom.gba", 0x0CC121, 0x0000010 - -gUnk_080CC131:: @ 080CC131 - .incbin "baserom.gba", 0x0CC131, 0x000000D - -gUnk_080CC13E:: @ 080CC13E - .incbin "baserom.gba", 0x0CC13E, 0x000000D - -gUnk_080CC14B:: @ 080CC14B - .incbin "baserom.gba", 0x0CC14B, 0x000000D - -gUnk_080CC158:: @ 080CC158 - .incbin "baserom.gba", 0x0CC158, 0x000000D - -gUnk_080CC165:: @ 080CC165 - .incbin "baserom.gba", 0x0CC165, 0x000000F - -gUnk_080CC174:: @ 080CC174 - .incbin "baserom.gba", 0x0CC174, 0x0000028 - gUnk_080CC19C:: @ 080CC19C .incbin "baserom.gba", 0x0CC19C, 0x0000014 diff --git a/linker.ld b/linker.ld index 48b0cd46..9bf5dc10 100644 --- a/linker.ld +++ b/linker.ld @@ -343,7 +343,7 @@ SECTIONS { src/enemy/moldworm.o(.text); src/enemy/sluggula.o(.text); src/enemy/pesto.o(.text); - asm/puffstool.o(.text); + src/enemy/puffstool.o(.text); asm/chuchuBoss.o(.text); asm/likeLike.o(.text); asm/spearMoblin.o(.text); @@ -938,6 +938,8 @@ SECTIONS { data/animations/sluggula.o(.rodata); src/enemy/pesto.o(.rodata); data/animations/pesto.o(.rodata); + src/enemy/puffstool.o(.rodata); + data/animations/puffstool.o(.rodata); data/data_080CBF9C.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c new file mode 100644 index 00000000..0c1d563a --- /dev/null +++ b/src/enemy/puffstool.c @@ -0,0 +1,724 @@ +#include "enemy.h" +#include "entity.h" +#include "functions.h" + +extern u32 sub_080002E0(u32, u32); +extern u32 sub_080002C8(u16, u8); +extern u16 sub_080002A8(u32, u32, u32); +extern u16 sub_080002D4(u32, u32, u32); +extern void sub_0804AA1C(Entity*); +extern Entity* sub_08049DF4(u32); +extern void sub_0807B7D8(u32, u32, u32); + +extern u8 gUnk_080B37A0[]; +extern u8 gUnk_080B3E80[]; + +bool32 sub_080258C4(Entity*); +void sub_08025B18(Entity*); +void sub_08025C2C(Entity*); +void sub_08025BD4(Entity*); +void sub_080256B4(Entity*); +bool32 sub_08025C44(Entity*); +u32 sub_08025C60(Entity*); +bool32 sub_0802571C(Entity*); +void sub_08025A54(Entity*); +void sub_08025AE8(Entity*); +bool32 sub_0802594C(Entity*, u32); +bool32 sub_080257EC(Entity*, u32, u32); +bool32 sub_08025AB8(u32, u32); + +extern void (*const gUnk_080CBF9C[])(Entity*); +extern void (*const gUnk_080CBFB4[])(Entity*); +extern const u8 gUnk_080CBFE8[]; +extern void (*const gUnk_080CBFEC[])(Entity*); +extern const u8 gUnk_080CBFF8[]; +extern const u16 gUnk_080CC000[]; +extern const s8 gUnk_080CC020[]; +extern const u8 gUnk_080CC050[]; +extern const s8* const gUnk_080CC090[]; +extern const s8 gUnk_080CC0A0[]; +extern const s8 gUnk_080CC0A8[]; +extern const s8 gUnk_080CC0BA[]; +extern const s8 gUnk_080CC0C2[]; + +void Puffstool(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CBF9C); + SetChildOffset(this, 0, 1, -0x10); +} + +void sub_08025008(Entity* this) { + gUnk_080CBFB4[this->action](this); +} + +void sub_08025020(Entity* this) { + u8 tmp; + + switch (this->bitfield & 0x7f) { + case 0 ... 3: + /* ... */ + break; + case 0x1b: + sub_0804AA1C(this); + + tmp = gUnk_080CBFE8[(*(Entity**)&this->field_0x4c)->entityType.form]; + if (tmp < this->field_0x82.HALF.LO) { + this->field_0x82.HALF.LO -= gUnk_080CBFE8[(*(Entity**)&this->field_0x4c)->entityType.form]; + } else { + this->cutsceneBeh.HWORD = 0x294; + this->damageType = 0x83; + this->field_0x82.HALF.LO = 0; + sub_0801D2B4(this, 0x7c); + } + this->action = 7; + this->actionDelay = 0x3c; + if (0 < this->field_0x20) { + this->field_0x20 = 0; + } + this->hurtBlinkTime = -0xc; + this->field_0x42 = 0; + if (this->field_0x80.HALF.LO == 0) { + this->animationState = (*(Entity**)&this->field_0x4c)->direction >> 3; + InitializeAnimation(this, this->animationState + 4); + this->frameDuration = 6; + this->field_0x80.HALF.LO = 1; + } + break; + default: + if (this->damageType == 0x82 && this->hurtBlinkTime < 0) { + Entity* ent = CreateObject(0x21, 2, 0); + if (ent != NULL) { + ent->spritePriority.b0 = 3; + CopyPosition(this, ent); + } + EnqueueSFX(0x186); + } + break; + } + + sub_0804AA30(this, gUnk_080CBF9C); +} + +void sub_0802511C(Entity* this) { + if ((this->field_0x3a & 2) && this->actionDelay == 1 && this->field_0x82.HALF.LO) { + sub_08025B18(this); + } + sub_0804A7D4(this); +} + +void sub_0802514C(Entity* this) { + sub_08003FC4(this, 0x2000); + if (sub_0806F520(this)) { + gUnk_080CBFEC[this->previousActionFlag](this); + } else { + sub_08025C2C(this); + } +} + +void sub_08025180(Entity* this) { + this->previousActionFlag = 1; + this->actionDelay = Random(); + this->animationState = (((*(Entity**)&this->field_0x4c)->direction ^ 0x10) >> 3); + InitializeAnimation(this, this->animationState + 4); + sub_0804AA1C(this); +} + +void sub_080251AC(Entity* this) { + if (this->field_0x82.HALF.LO >= 4) { + this->field_0x82.HALF.LO -= 3; + if ((--this->actionDelay & 3) == 0) { + sub_08025BD4(this); + } + } else { + this->cutsceneBeh.HWORD = 0x294; + this->damageType = 0x83; + this->field_0x82.HALF.LO = 0; + sub_0801D2B4(this, 0x7c); + } + GetNextFrame(this); +} + +void sub_080251FC(Entity* this) { + sub_0804A720(this); + this->field_0x82.HALF.LO = 240; + this->direction = Random() & 0x1c; + this->field_0x80.HALF.LO = 0; + sub_080256B4(this); + InitializeAnimation(this, 0); +} + +void sub_08025230(Entity* this) { + if (this->field_0x80.HALF.HI) + this->field_0x80.HALF.HI--; + + sub_08025C44(this); + GetNextFrame(this); + if (--this->actionDelay == 0) { + this->actionDelay = (Random() & 3) + 4; + this->direction = sub_08025C60(this); + } + + if (this->collisions != 0) { + if (--this->field_0xf == 0) { + sub_0800417E(this, this->collisions); + } + } else { + this->field_0xf = 30; + } + + if (this->field_0x78.HWORD == 0) { + if (sub_0802571C(this)) { + this->action = 2; + this->actionDelay = 240; + this->field_0x86 = COORD_TO_TILE(this); + } + } else { + this->field_0x78.HWORD--; + } +} + +void sub_080252E0(Entity* this) { + u32 tile; + + this->direction = + sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, (u16)this->field_0x7c.HALF.LO, (u16)this->field_0x7c.HALF.HI); + + sub_08025C44(this); + GetNextFrame(this); + + tile = COORD_TO_TILE(this); + if (tile == this->field_0x86) { + if (--this->actionDelay == 0) { + sub_080256B4(this); + } + } else { + this->field_0x86 = tile; + this->actionDelay = 240; + } + + if (this->x.HALF.HI == (u16)this->field_0x7c.HALF.LO && this->y.HALF.HI == (u16)this->field_0x7c.HALF.HI) { + this->action = 3; + this->actionDelay = 0x1e; + this->field_0xf = 0; + this->field_0x20 = 0x18000; + InitializeAnimation(this, 1); + } +} + +void sub_0802538C(Entity* this) { + if (this->actionDelay) { + this->actionDelay--; + } else { + if (this->frames.all == 0) { + GetNextFrame(this); + } else { + sub_08003FC4(this, 0x2000); + if (this->field_0x20 < 0x2000) { + this->action = 4; + InitializeAnimation(this, 2); + } + } + } +} + +void sub_080253D4(Entity* this) { + GetNextFrame(this); + if (!sub_08003FC4(this, 0x2000)) { + if (this->field_0xf == 0) { + this->action = 5; + InitializeAnimation(this, 3); + } else { + this->action = 6; + this->actionDelay = 0x1e; + InitializeAnimation(this, 3); + sub_08025A54(this); + sub_08025AE8(this); + } + } +} + +void sub_0802541C(Entity* this) { + GetNextFrame(this); + if (this->frames.all & 0x80) { + this->action = 3; + this->field_0xf = 1; + this->field_0x20 = 0x20000; + InitializeAnimation(this, 1); + } +} + +void sub_0802544C(Entity* this) { + if (this->frames.all == 0) { + GetNextFrame(this); + } else { + if (--this->actionDelay == 0) { + sub_080256B4(this); + InitializeAnimation(this, 0); + } + } +} + +void sub_0802547C(Entity* this) { + sub_08003FC4(this, 0x2000); + GetNextFrame(this); + if ((this->actionDelay & 7) == 0) { + sub_08025BD4(this); + } + + if (--this->actionDelay == 0) { + sub_08025C2C(this); + } +} + +void sub_080254B4(Entity* this) { + sub_08003FC4(this, 0x2000); + if (this->frames.all & 0x80) { + if (this->height.HALF.HI == 0) { + if (this->cutsceneBeh.HWORD == 0) { + this->damageType = 0x82; + this->field_0x82.HALF.LO = -0x10; + sub_080256B4(this); + } else { + this->action = 0xc; + sub_0804A9FC(this, 0x1c); + } + InitializeAnimation(this, 0); + } + } else { + GetNextFrame(this); + } +} + +void sub_08025514(Entity* this) { + GetNextFrame(this); + if (sub_0802594C(this, this->actionDelay++)) { + this->action = 2; + this->actionDelay = 240; + this->field_0x80.HALF.HI = 120; + } else if (3 < this->actionDelay) { + this->action = 10; + this->actionDelay = 0x20; + } +} + +void sub_08025554(Entity* this) { + Entity* ent = sub_08049DF4(1); + if (ent == NULL) { + sub_080256B4(this); + } else { + if ((this->actionDelay & 3) == 0) { + this->direction = GetFacingDirection(ent, this); + } + sub_08025C44(this); + GetNextFrame(this); + if (this->actionDelay != 0) { + this->actionDelay--; + } else { + if (!sub_080258C4(this)) { + sub_080256B4(this); + } + } + } +} + +void sub_080255AC(Entity* this) { + Entity* ent = sub_08049DF4(1); + if (ent == NULL) { + sub_080256B4(this); + } else { + if (this->field_0x80.HALF.HI != 0) { + this->field_0x80.HALF.HI--; + } + + if (--this->actionDelay == 0) { + s32 tmp; + + this->actionDelay = (Random() & 3) + 4; + + tmp = Random() & 0xf; + if (tmp < 8) { + tmp -= 1; + } + tmp -= 7; + + this->direction = (GetFacingDirection(ent, this) + tmp) & 0x1f; + } + + if (this->field_0x78.HWORD == 0) { + if (sub_080258C4(this) == 0) { + sub_080256B4(this); + } + } else { + this->field_0x78.HWORD--; + } + sub_08025C44(this); + GetNextFrame(this); + } +} + +void sub_0802563C(Entity* this) { + GetNextFrame(this); + + if (--this->cutsceneBeh.HWORD == 0) { + sub_0801D2B4(this, 0x28); + this->damageType = 0x82; + this->field_0x82.HALF.LO = 240; + sub_080256B4(this); + sub_0804AA1C(this); + } else if (this->cutsceneBeh.HWORD < 120) { + u32 tmp3 = gUnk_080CBFF8[this->cutsceneBeh.HWORD >> 4]; + if ((this->cutsceneBeh.HWORD & tmp3) == 0) { + if (this->cutsceneBeh.HWORD & (tmp3 + 1)) { + sub_0801D2B4(this, 124); + } else { + sub_0801D2B4(this, 40); + } + } + } +} + +void sub_080256B4(Entity* this) { + this->action = 1; + this->actionDelay = (Random() & 3) + 4; + this->field_0xf = 0x1e; + this->direction = (this->direction + 7 + ((s32)Random() % 7) * 4) & 0x1c; + this->field_0x78.HWORD = gUnk_080CC000[Random() & 0xf]; + this->field_0x7a.HALF.LO = ((s32)Random() % 0x18) << 1; + this->field_0x7a.HALF.HI = 0; +} + +bool32 sub_0802571C(Entity* this) { + RoomControls* ctrl = &gRoomControls; + u16 xDiff = (this->x.HALF.HI - ctrl->roomOriginX + 8) & -0x10; + u16 yDiff = (this->y.HALF.HI - ctrl->roomOriginY + 8) & -0x10; + u16 unk = this->field_0x7a.HALF.LO; + u16 i; + + for (i = 0; i < 4; i++) { + u16 sVar3 = xDiff + gUnk_080CC020[unk + 0]; + u16 sVar4 = yDiff + gUnk_080CC020[unk + 1]; + + if (sub_080257EC(this, sVar3, sVar4)) { + this->field_0x7c.HALF.LO = sVar3 + ctrl->roomOriginX; + this->field_0x7c.HALF.HI = sVar4 + ctrl->roomOriginY; + return TRUE; + } + + unk += 2; + if (0x2f < unk) { + unk = 0; + } + } + + this->field_0x7a.HALF.LO = unk; + this->field_0x7a.HALF.HI++; + return FALSE; +} + +bool32 sub_080257EC(Entity* this, u32 x, u32 y) { + u16 tmp; + + tmp = sub_080002A8(x - 0x00, y - 0x00, this->collisionLayer); + if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) { + return TRUE; + } + + tmp = sub_080002A8(x - 0x10, y - 0x00, this->collisionLayer); + if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) { + return TRUE; + } + + tmp = sub_080002A8(x - 0x00, y - 0x10, this->collisionLayer); + if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) { + return TRUE; + } + + tmp = sub_080002A8(x - 0x10, y - 0x10, this->collisionLayer); + if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) { + return TRUE; + } + + return FALSE; +} + +#if NON_MATCHING +bool32 sub_080258C4(Entity* this) { + Entity* ent = sub_08049DF4(1); + if (ent == NULL) { + return FALSE; + } else { + s32 iVar4 = (ent->x.HALF.HI - this->x.HALF.HI) * (ent->x.HALF.HI - this->x.HALF.HI); + s32 iVar1 = (ent->y.HALF.HI - this->y.HALF.HI) * (ent->y.HALF.HI - this->y.HALF.HI); + iVar4 = iVar4 + iVar1; + if (this->cutsceneBeh.HWORD == 0 && this->field_0x80.HALF.HI == 0 && 0x400 >= iVar4) { + this->action = 9; + this->actionDelay = 0; + return TRUE; + } else if (0x900 >= iVar4) { + this->action = 11; + this->actionDelay = 1; + this->field_0x78.HWORD = gUnk_080CC050[Random() & 0xf]; + return TRUE; + } else { + return FALSE; + } + } +} +#else +NAKED +bool32 sub_080258C4(Entity* this) { + asm(".include \"asm/non_matching/puffstool/sub_080258C4.inc\""); +} +#endif + +#if NON_MATCHING +bool32 sub_0802594C(Entity* this, u32 param_2) { + const s8* unk = gUnk_080CC090[param_2]; + u32 uVar1 = this->collisionLayer; + RoomControls* ctrl = &gRoomControls; + u16 xDiff = (this->x.HALF.HI - ctrl->roomOriginX + 8) & -0x10; + u16 yDiff = (this->y.HALF.HI - ctrl->roomOriginY + 8) & -0x10; + do { + u16 iVar9 = xDiff + unk[0]; + u16 iVar11 = yDiff + unk[1]; + u32 bVar4 = sub_080002D4(iVar9 - 0x00, iVar11 - 0x00, uVar1); + u32 bVar5 = sub_080002D4(iVar9 - 0x10, iVar11 - 0x00, uVar1); + u32 bVar6 = sub_080002D4(iVar9 - 0x00, iVar11 - 0x10, uVar1); + u32 bVar7 = sub_080002D4(iVar9 - 0x10, iVar11 - 0x10, uVar1); + if ((bVar6 | bVar4 | bVar5 | bVar7) == 0) { + this->field_0x7c.HALF.LO = ctrl->roomOriginX + iVar9; + this->field_0x7c.HALF.HI = ctrl->roomOriginY + iVar11; + return TRUE; + } + unk += 2; + } while (unk[0] != 0x7f); + + return 0; +} +#else +NAKED +bool32 sub_0802594C(Entity* this, u32 param_2) { + asm(".include \"asm/non_matching/puffstool/sub_0802594C.inc\""); +} +#endif + +void sub_08025A54(Entity* this) { + u32 layer = this->collisionLayer; + s16 x = this->x.HALF.HI - gRoomControls.roomOriginX; + s16 y = this->y.HALF.HI - gRoomControls.roomOriginY; + + const s8* offset = gUnk_080CC0A0; + u32 i = 0; + + for (; i < 4; i++, offset += 2) { + sub_08025AB8((((x + offset[0]) >> 4) & 0x3fU) | ((((y + offset[1]) >> 4) & 0x3fU) << 6), layer); + } +} + +bool32 sub_08025AB8(u32 tile, u32 layer) { + if (sub_080002E0(tile, layer)) + return FALSE; + + if (sub_080002C8(tile, layer) == 10) { + sub_0807B7D8(0x61, tile, layer); + return TRUE; + } + + return FALSE; +} + +void sub_08025AE8(Entity* this) { + Entity* ent; + + ent = CreateFx(this, 0x22, 0); + if (ent) { + ent->y.WORD--; + } + + ent = CreateFx(this, 0x23, 0); + if (ent) { + ent->y.WORD++; + } +} + +void sub_08025B18(Entity* this) { + Entity* ent; + + s32 x = this->x.HALF.HI - gRoomControls.roomOriginX; + s32 y = this->y.HALF.HI - gRoomControls.roomOriginY; + u32 layer = this->collisionLayer; + + const s8* offset = gUnk_080CC0A8; + u32 i = 0; + + for (; i < 9; i++, offset += 2) { + sub_08025AB8((((x + offset[0]) >> 4) & 0x3fU) | ((((y + offset[1]) >> 4) & 0x3fU) << 6), layer); + + ent = CreateObject(0x21, 2, 0); + if (ent) { + PositionRelative(this, ent, offset[0] * 0x10000, offset[1] * 0x10000); + ent->x.HALF.HI &= -0x10; + ent->x.HALF.HI += 8; + ent->y.HALF.HI &= -0x10; + ent->y.HALF.HI += 8; + ent->height.HALF.HI = -1; + } + } +} + +void sub_08025BD4(Entity* this) { + if (this->field_0x82.HALF.LO && (this->frames.all & 1) == 0) { + Entity* ent = CreateObject(0x21, 0, 0); + if (ent) { + PositionRelative(this, ent, gUnk_080CC0BA[this->animationState * 2 + 0] * 0x10000, + gUnk_080CC0BA[this->animationState * 2 + 1] * 0x10000); + ent->height.HALF.HI = -10; + } + } +} + +void sub_08025C2C(Entity* this) { + this->action = 8; + this->field_0x80.HALF.LO = 0; + InitializeAnimation(this, 8); +} + +bool32 sub_08025C44(Entity* this) { + if ((this->frames.all & 1) == 0) { + return ProcessMovement(this); + } else { + return FALSE; + } +} + +u32 sub_08025C60(Entity* this) { + if (!sub_08049FA0(this) && (Random() & 1)) { + return sub_08049EE4(this); + } + + return (gUnk_080CC0C2[Random() & 7] + this->direction) & 0x1f; +} + +// clang-format off +void (*const gUnk_080CBF9C[])(Entity*) = { + sub_08025008, + sub_08025020, + sub_08001324, + sub_0802511C, + sub_08001242, + sub_0802514C, +}; + +void (*const gUnk_080CBFB4[])(Entity*) = { + sub_080251FC, + sub_08025230, + sub_080252E0, + sub_0802538C, + sub_080253D4, + sub_0802541C, + sub_0802544C, + sub_0802547C, + sub_080254B4, + sub_08025514, + sub_08025554, + sub_080255AC, + sub_0802563C, +}; + +const u8 gUnk_080CBFE8[] = { + 40, 120, 240, 0x0 +}; + +void (*const gUnk_080CBFEC[])(Entity*) = { + sub_08025180, + sub_080251AC, + sub_080251AC, +}; + +const u8 gUnk_080CBFF8[] = { + 1, 1, 1, 3, 3, 3, 7, 7, +}; + +const u16 gUnk_080CC000[] = { + 30, 30, 90, 90, + 180, 180, 180, 180, + 180, 240, 240, 240, + 240, 240, 300, 300, +}; + +const s8 gUnk_080CC020[] = { + -0x20, -0x20, -0x20, -0x10, + -0x20, 0x00, -0x20, 0x10, + -0x20, 0x20, -0x10, -0x20, + -0x10, -0x10, -0x10, 0x00, + -0x10, 0x10, -0x10, 0x20, + 0x00, -0x20, 0x00, -0x10, + 0x00, 0x10, 0x00, 0x20, + 0x10, -0x20, 0x10, -0x10, + 0x10, 0x00, 0x10, 0x10, + 0x10, 0x20, 0x20, -0x20, + 0x20, -0x10, 0x20, 0x00, + 0x20, 0x10, 0x20, 0x20, +}; + +const u8 gUnk_080CC050[] = { + 90, 120, 120, 90, + 180, 180, 180, 180, +}; + +const s8 gUnk_080CC058[] = { + 0x00, 0x00, 0x00, 0xF0, + 0xF0, 0x00, 0x10, 0x00, + 0x00, 0x10, 0x7F, +}; + +const s8 gUnk_080CC063[] = { + 0x00, 0x20, 0x10, 0x10, + 0x20, 0x00, 0x10, 0xF0, + 0x00, 0xE0, 0xF0, 0xF0, + 0xE0, 0x00, 0xF0, 0x10, + 0x7F, +}; + +const s8 gUnk_080CC074[] = { + 0xE0, 0xF0, 0xF0, 0xE0, + 0x10, 0xE0, 0x20, 0xF0, + 0x20, 0x10, 0x10, 0x20, + 0xF0, 0x20, 0xE0, 0x10, + 0x7F, +}; + +const s8 gUnk_080CC085[] = { + 0x20, 0x20, 0x20, 0xE0, + 0xE0, 0xFE, 0xE0, 0x20, + 0x7F, +}; + +const s8 *const gUnk_080CC090[] = { + gUnk_080CC058, + gUnk_080CC063, + gUnk_080CC074, + gUnk_080CC085, +}; + +const s8 gUnk_080CC0A0[] = { + -0x8, -0x8, -0x8, 0x8, + 0x8, -0x8, 0x8, 0x8, +}; + +const s8 gUnk_080CC0A8[] = { + 0xF0, 0xF0, 0x00, 0xF0, + 0x10, 0xF0, 0xF0, 0x00, + 0x00, 0x00, 0x10, 0x00, + 0xF0, 0x10, 0x00, 0x10, + 0x10, 0x10, +}; + +const s8 gUnk_080CC0BA[] = { + 0x00, 0xF0, 0x13, 0x00, + 0x00, 0x14, 0xED, 0x00, +}; + +const s8 gUnk_080CC0C2[] = { + 0xFF, 0x01, 0xFE, 0x02, 0xFD, 0x03, 0xFC, 0x04, +}; +// clang-format on From 553e6d0b104074cc412a14a962b628d4ec98833d Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sun, 6 Sep 2020 03:36:33 +0200 Subject: [PATCH 065/105] rename rodata file --- data/{data_080CBF9C.s => data_080CC19C.s} | 0 linker.ld | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename data/{data_080CBF9C.s => data_080CC19C.s} (100%) diff --git a/data/data_080CBF9C.s b/data/data_080CC19C.s similarity index 100% rename from data/data_080CBF9C.s rename to data/data_080CC19C.s diff --git a/linker.ld b/linker.ld index 9bf5dc10..cf7d6d35 100644 --- a/linker.ld +++ b/linker.ld @@ -940,7 +940,7 @@ SECTIONS { data/animations/pesto.o(.rodata); src/enemy/puffstool.o(.rodata); data/animations/puffstool.o(.rodata); - data/data_080CBF9C.o(.rodata); + data/data_080CC19C.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); From 0674660b0d3f55cfeb78aaf15759720ca6e1fc8f Mon Sep 17 00:00:00 2001 From: Behemoth Date: Sun, 6 Sep 2020 03:45:46 +0200 Subject: [PATCH 066/105] format position offsets --- src/enemy/puffstool.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index 0c1d563a..00808757 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -701,24 +701,35 @@ const s8 *const gUnk_080CC090[] = { }; const s8 gUnk_080CC0A0[] = { - -0x8, -0x8, -0x8, 0x8, - 0x8, -0x8, 0x8, 0x8, + -0x8, -0x8, + -0x8, 0x8, + 0x8, -0x8, + 0x8, 0x8, }; const s8 gUnk_080CC0A8[] = { - 0xF0, 0xF0, 0x00, 0xF0, - 0x10, 0xF0, 0xF0, 0x00, - 0x00, 0x00, 0x10, 0x00, - 0xF0, 0x10, 0x00, 0x10, - 0x10, 0x10, + -0x10, -0x10, + 0x00, -0x10, + 0x10, -0x10, + -0x10, 0x00, + 0x00, 0x00, + 0x10, 0x00, + -0x10, 0x10, + 0x00, 0x10, + 0x10, 0x10, }; const s8 gUnk_080CC0BA[] = { - 0x00, 0xF0, 0x13, 0x00, - 0x00, 0x14, 0xED, 0x00, + 0x00, -0x10, + 0x13, 0x00, + 0x00, 0x14, + -0x13, 0x00, }; const s8 gUnk_080CC0C2[] = { - 0xFF, 0x01, 0xFE, 0x02, 0xFD, 0x03, 0xFC, 0x04, + -1, 1, + -2, 2, + -3, 3, + -4, 4, }; // clang-format on From 825d9c168bf9a3ba4f688ba50736fe6f45242eaf Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 9 Sep 2020 23:18:46 +0200 Subject: [PATCH 067/105] Manager20.c: ok --- asm/manager20.s | 74 ----------------------------------------- linker.ld | 2 +- src/manager/manager20.c | 38 +++++++++++++++++++++ 3 files changed, 39 insertions(+), 75 deletions(-) delete mode 100644 asm/manager20.s create mode 100644 src/manager/manager20.c diff --git a/asm/manager20.s b/asm/manager20.s deleted file mode 100644 index 77f6e5b0..00000000 --- a/asm/manager20.s +++ /dev/null @@ -1,74 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805B7A0 -sub_0805B7A0: @ 0x0805B7A0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - ldrb r1, [r5, #0xa] - ldrb r2, [r5, #0xb] - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _0805B81A - ldrh r0, [r5, #0x3e] - adds r1, r4, #0 - adds r1, #0x86 - strh r0, [r1] - ldrh r0, [r5, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805B7EC - adds r0, r5, #0 - adds r0, #0x36 - ldrb r1, [r0] - adds r0, #1 - ldrb r2, [r0] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - strh r1, [r4, #0x2e] - ldrh r1, [r5, #0x3c] - ldr r0, _0805B7E8 @ =0x00000FFF - ands r0, r1 - strh r0, [r4, #0x32] - ldrh r0, [r5, #0x3c] - lsrs r0, r0, #0xc - b _0805B7FC - .align 2, 0 -_0805B7E8: .4byte 0x00000FFF -_0805B7EC: - ldrh r0, [r5, #0x38] - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x3a] - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r0, #0x37 - ldrb r0, [r0] - lsrs r0, r0, #4 -_0805B7FC: - adds r1, r4, #0 - adds r1, #0x38 - strb r0, [r1] - ldr r0, _0805B81C @ =gRoomControls - ldrh r1, [r0, #6] - ldrh r2, [r4, #0x2e] - adds r1, r1, r2 - strh r1, [r4, #0x2e] - ldrh r0, [r0, #8] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r5, #0 - bl DeleteManager -_0805B81A: - pop {r4, r5, pc} - .align 2, 0 -_0805B81C: .4byte gRoomControls diff --git a/linker.ld b/linker.ld index a0d37ce8..287061b5 100644 --- a/linker.ld +++ b/linker.ld @@ -501,7 +501,7 @@ SECTIONS { asm/manager1D.o(.text); asm/manager1E.o(.text); asm/manager1F.o(.text); - asm/manager20.o(.text); + src/manager/manager20.o(.text); asm/manager21.o(.text); asm/manager22.o(.text); asm/manager23.o(.text); diff --git a/src/manager/manager20.c b/src/manager/manager20.c new file mode 100644 index 00000000..1f989f10 --- /dev/null +++ b/src/manager/manager20.c @@ -0,0 +1,38 @@ +#include "global.h" +#include "manager.h" +#include "flags.h" +#include "entity.h" +#include "room.h" + +typedef struct { + Manager manager; + u8 unk_20[0x12]; + u16 unk_32; + u8 unk_34[2]; + u8 unk_36; + u8 unk_37; + u16 unk_38; + u16 unk_3a; + u16 unk_3c; + u16 unk_3e; +} Manager20; + +extern void DeleteManager(Manager20*); + +void sub_0805B7A0(Manager20* this) { + Entity* tmp = CreateObject(this->manager.unk_0e, this->manager.unk_0a, this->manager.unk_0b); + if (!tmp) return; + tmp->field_0x86 = this->unk_3e; + if (CheckFlags(this->unk_3e)) { + tmp->x.HALF.HI = this->unk_36 | (this->unk_37&0xF)<<8;//r1 + tmp->y.HALF.HI = this->unk_3c & 0xFFF; + tmp->collisionLayer = this->unk_3c >> 0xC; + } else { + tmp->x.HALF.HI = this->unk_38; + tmp->y.HALF.HI = this->unk_3a; + tmp->collisionLayer = this->unk_37>>4; + } + tmp->x.HALF.HI += gRoomControls.roomOriginX; + tmp->y.HALF.HI += gRoomControls.roomOriginY; + DeleteManager(this); +} From 2bfb0f27afabdc2f0be6c84cb8765046bff87e1b Mon Sep 17 00:00:00 2001 From: Behemoth Date: Fri, 11 Sep 2020 01:41:56 +0200 Subject: [PATCH 068/105] match sub_080258C4 (thanks to Ibot02) --- src/enemy/puffstool.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index 00808757..2a87dc68 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -440,14 +440,17 @@ bool32 sub_080257EC(Entity* this, u32 x, u32 y) { return FALSE; } -#if NON_MATCHING bool32 sub_080258C4(Entity* this) { Entity* ent = sub_08049DF4(1); if (ent == NULL) { return FALSE; } else { - s32 iVar4 = (ent->x.HALF.HI - this->x.HALF.HI) * (ent->x.HALF.HI - this->x.HALF.HI); - s32 iVar1 = (ent->y.HALF.HI - this->y.HALF.HI) * (ent->y.HALF.HI - this->y.HALF.HI); + s32 iVar4; + s32 iVar1; + iVar4 = ent->x.HALF.HI - this->x.HALF.HI; + iVar4 = iVar4 * iVar4; + iVar1 = ent->y.HALF.HI - this->y.HALF.HI; + iVar1 = iVar1 * iVar1; iVar4 = iVar4 + iVar1; if (this->cutsceneBeh.HWORD == 0 && this->field_0x80.HALF.HI == 0 && 0x400 >= iVar4) { this->action = 9; @@ -463,12 +466,6 @@ bool32 sub_080258C4(Entity* this) { } } } -#else -NAKED -bool32 sub_080258C4(Entity* this) { - asm(".include \"asm/non_matching/puffstool/sub_080258C4.inc\""); -} -#endif #if NON_MATCHING bool32 sub_0802594C(Entity* this, u32 param_2) { From bff75ad6602dcfb6820bb0584c7bbe49134d0e4b Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 9 Sep 2020 21:14:07 +0200 Subject: [PATCH 069/105] button.c: ok One non-matching for regalloc (probably caused by wrong types tbh) --- asm/button.s | 745 ------------------------- asm/non_matching/button/sub_08081E6C.s | 69 +++ include/global.h | 3 + linker.ld | 2 +- src/object/button.c | 286 ++++++++++ 5 files changed, 359 insertions(+), 746 deletions(-) delete mode 100644 asm/button.s create mode 100644 asm/non_matching/button/sub_08081E6C.s create mode 100644 src/object/button.c diff --git a/asm/button.s b/asm/button.s deleted file mode 100644 index dd80d20d..00000000 --- a/asm/button.s +++ /dev/null @@ -1,745 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Button -Button: @ 0x08081AC8 - push {lr} - ldr r2, _08081ADC @ =gUnk_0811EE38 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08081ADC: .4byte gUnk_0811EE38 - - thumb_func_start sub_08081AE0 -sub_08081AE0: @ 0x08081AE0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x84 - ldrh r1, [r0] - cmp r1, #0 - beq _08081B0E - subs r0, #0x4c - strb r1, [r0] -_08081B0E: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08081B6C @ =gRoomControls - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x74 - strh r1, [r5] - ldrh r0, [r5] - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - bl GetTileType - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08081B70 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl CheckFlags - cmp r0, #0 - beq _08081B70 - movs r0, #5 - strb r0, [r4, #0xc] - ldrh r1, [r5] - ldrb r2, [r6] - movs r0, #0x7a - bl SetTileType - b _08081B82 - .align 2, 0 -_08081B6C: .4byte gRoomControls -_08081B70: - adds r0, r4, #0 - bl sub_08081E3C - cmp r0, #0 - beq _08081B7E - movs r0, #2 - b _08081B80 -_08081B7E: - movs r0, #1 -_08081B80: - strb r0, [r4, #0xc] -_08081B82: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08081B84 -sub_08081B84: @ 0x08081B84 - push {r4, lr} - adds r4, r0, #0 - bl sub_08081E3C - cmp r0, #0 - beq _08081BAA - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl GetTileType - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] -_08081BAA: - pop {r4, pc} - - thumb_func_start sub_08081BAC -sub_08081BAC: @ 0x08081BAC - push {r4, lr} - adds r4, r0, #0 - bl sub_08081CB0 - cmp r0, #0 - beq _08081BDC - movs r0, #0 - strb r0, [r4, #0xd] - movs r0, #0xa - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0xa - bl sub_0805E4E0 - adds r0, r4, #0 - bl sub_08081FF8 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08081BD8 - movs r0, #3 - b _08081BDA -_08081BD8: - movs r0, #5 -_08081BDA: - strb r0, [r4, #0xc] -_08081BDC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081BE0 -sub_08081BE0: @ 0x08081BE0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x78 - bl sub_08081F7C - cmp r0, #0 - beq _08081C2C - adds r0, r4, #0 - bl sub_08081D28 - cmp r0, #0 - bne _08081C26 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xf] - ldr r1, _08081C1C @ =gPlayerState - ldrb r0, [r1, #5] - cmp r0, #2 - beq _08081C16 - adds r0, r1, #0 - adds r0, #0x35 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08081C20 -_08081C16: - movs r0, #0x18 - strb r0, [r4, #0xe] - b _08081C2C - .align 2, 0 -_08081C1C: .4byte gPlayerState -_08081C20: - movs r0, #8 - strb r0, [r4, #0xe] - b _08081C2C -_08081C26: - adds r0, r4, #0 - bl sub_08081E6C -_08081C2C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081C30 -sub_08081C30: @ 0x08081C30 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08081C70 - subs r0, #1 - movs r5, #0 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08081C5A - strb r5, [r4, #0xf] - ldr r0, _08081C6C @ =0x00004035 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl SetTile -_08081C5A: - adds r0, r4, #0 - bl sub_08081CB0 - cmp r0, #0 - beq _08081C96 - movs r0, #3 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] - b _08081C96 - .align 2, 0 -_08081C6C: .4byte 0x00004035 -_08081C70: - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl ClearFlag - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - subs r0, #0x3c - ldrb r2, [r0] - movs r0, #0x77 - bl SetTileType - movs r0, #0x86 - lsls r0, r0, #1 - bl PlaySFX -_08081C96: - pop {r4, r5, pc} - - thumb_func_start sub_08081C98 -sub_08081C98: @ 0x08081C98 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x7a - bl sub_08081F7C - cmp r0, #0 - beq _08081CAC - adds r0, r4, #0 - bl sub_08081E6C -_08081CAC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081CB0 -sub_08081CB0: @ 0x08081CB0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08081D74 - cmp r0, #0 - beq _08081CEC - adds r1, r4, #0 - adds r1, #0x70 - ldr r0, _08081CE4 @ =0x0000FFFF - strh r0, [r1] - adds r5, r4, #0 - adds r5, #0x74 - ldrh r0, [r5] - adds r4, #0x38 - ldrb r1, [r4] - bl GetTileType - ldr r1, _08081CE8 @ =0x00004035 - cmp r0, r1 - bne _08081D1C - ldrh r1, [r5] - ldrb r2, [r4] - movs r0, #0x78 - bl sub_0807B7D8 - b _08081D1C - .align 2, 0 -_08081CE4: .4byte 0x0000FFFF -_08081CE8: .4byte 0x00004035 -_08081CEC: - adds r6, r4, #0 - adds r6, #0x74 - ldrh r0, [r6] - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl GetTileType - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0x77 - beq _08081D24 - cmp r1, #0x79 - beq _08081D24 - ldr r0, _08081D20 @ =0x00004035 - cmp r1, r0 - beq _08081D24 - ldrh r0, [r6] - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] -_08081D1C: - movs r0, #1 - b _08081D26 - .align 2, 0 -_08081D20: .4byte 0x00004035 -_08081D24: - movs r0, #0 -_08081D26: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08081D28 -sub_08081D28: @ 0x08081D28 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08081D74 - cmp r0, #0 - beq _08081D44 - adds r1, r4, #0 - adds r1, #0x70 - ldr r0, _08081D40 @ =0x0000FFFF - strh r0, [r1] - movs r0, #1 - b _08081D72 - .align 2, 0 -_08081D40: .4byte 0x0000FFFF -_08081D44: - adds r5, r4, #0 - adds r5, #0x70 - ldrh r1, [r5] - ldr r0, _08081D6C @ =0x0000FFFF - cmp r1, r0 - beq _08081D70 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - ldrh r5, [r5] - cmp r0, r5 - bne _08081D70 - movs r0, #1 - b _08081D72 - .align 2, 0 -_08081D6C: .4byte 0x0000FFFF -_08081D70: - movs r0, #0 -_08081D72: - pop {r4, r5, pc} - - thumb_func_start sub_08081D74 -sub_08081D74: @ 0x08081D74 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002E0 - cmp r0, #0xf - bne _08081D8E - movs r0, #0 - b _08081E0A -_08081D8E: - movs r6, #0 - adds r0, r4, #0 - bl sub_08081E0C - cmp r0, #0 - beq _08081DB4 - ldr r0, _08081DAC @ =gPlayerState - ldr r0, [r0, #0x30] - movs r1, #0x90 - ands r0, r1 - cmp r0, #0 - bne _08081E06 - ldr r6, _08081DB0 @ =gPlayerEntity - b _08081E06 - .align 2, 0 -_08081DAC: .4byte gPlayerState -_08081DB0: .4byte gPlayerEntity -_08081DB4: - ldr r0, _08081DD8 @ =gPlayerState - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _08081E06 - ldr r5, _08081DDC @ =gUnk_03004040 - ldr r1, [r5] - adds r0, r4, #0 - movs r2, #5 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - beq _08081DE0 - ldr r6, [r5] - b _08081E06 - .align 2, 0 -_08081DD8: .4byte gPlayerState -_08081DDC: .4byte gUnk_03004040 -_08081DE0: - ldr r1, [r5, #4] - adds r0, r4, #0 - movs r2, #5 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - beq _08081DF4 - ldr r6, [r5, #4] - b _08081E06 -_08081DF4: - ldr r1, [r5, #8] - adds r0, r4, #0 - movs r2, #5 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - beq _08081E06 - ldr r6, [r5, #8] -_08081E06: - str r6, [r4, #0x54] - adds r0, r6, #0 -_08081E0A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08081E0C -sub_08081E0C: @ 0x08081E0C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08081E28 @ =gPlayerEntity - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _08081E22 - bl sub_08079F8C - cmp r0, #0 - bne _08081E2C -_08081E22: - movs r0, #0 - b _08081E38 - .align 2, 0 -_08081E28: .4byte gPlayerEntity -_08081E2C: - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #5 - movs r3, #6 - bl sub_080041A0 -_08081E38: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08081E3C -sub_08081E3C: @ 0x08081E3C - push {lr} - adds r1, r0, #0 - adds r1, #0x74 - ldrh r2, [r1] - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - bl GetTileType - adds r2, r0, #0 - ldr r1, _08081E64 @ =gUnk_0811EE50 -_08081E52: - ldrh r0, [r1] - cmp r0, r2 - beq _08081E68 - adds r1, #2 - ldrh r0, [r1] - cmp r0, #0 - bne _08081E52 - movs r0, #0 - b _08081E6A - .align 2, 0 -_08081E64: .4byte gUnk_0811EE50 -_08081E68: - movs r0, #1 -_08081E6A: - pop {pc} - - thumb_func_start sub_08081E6C -sub_08081E6C: @ 0x08081E6C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x74 - ldrh r6, [r0] - subs r0, #0x3c - ldrb r5, [r0] - adds r0, r6, #0 - adds r1, r5, #0 - bl GetTileType - adds r7, r0, #0 - ldr r0, _08081EEC @ =0x00003FFF - cmp r7, r0 - bls _08081EE8 - adds r0, r5, #0 - bl GetLayerByIndex - adds r1, r0, #0 - ldrb r0, [r4, #0xa] - movs r4, #0x78 - cmp r0, #0 - bne _08081E9A - movs r4, #0x7a -_08081E9A: - ldr r0, _08081EF0 @ =0x00007004 - adds r3, r1, r0 - lsls r0, r4, #1 - ldr r2, _08081EF4 @ =0x00006004 - adds r1, r1, r2 - adds r1, r1, r0 - ldrh r0, [r1] - lsls r0, r0, #3 - adds r3, r3, r0 - ldr r2, _08081EF8 @ =gUnk_02019EE0 - cmp r5, #2 - bne _08081EB4 - ldr r2, _08081EFC @ =gMapDataTopSpecial -_08081EB4: - movs r0, #0x3f - ands r0, r6 - lsls r0, r0, #1 - movs r1, #0xfc - lsls r1, r1, #4 - ands r1, r6 - lsls r1, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r2, r2, r0 - adds r0, r2, #0 - adds r1, r3, #0 - bl sub_08081F00 - cmp r0, #0 - bne _08081EE8 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl SetTileType - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl SetTile -_08081EE8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08081EEC: .4byte 0x00003FFF -_08081EF0: .4byte 0x00007004 -_08081EF4: .4byte 0x00006004 -_08081EF8: .4byte gUnk_02019EE0 -_08081EFC: .4byte gMapDataTopSpecial - - thumb_func_start sub_08081F00 -sub_08081F00: @ 0x08081F00 - push {lr} - adds r2, r0, #0 - adds r3, r1, #0 - ldr r1, [r2] - ldr r0, [r3] - cmp r1, r0 - bne _08081F20 - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r2, r1 - ldr r1, [r0] - ldr r0, [r3, #4] - cmp r1, r0 - bne _08081F20 - movs r0, #1 - b _08081F22 -_08081F20: - movs r0, #0 -_08081F22: - pop {pc} - - thumb_func_start sub_08081F24 -sub_08081F24: @ 0x08081F24 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x11 - movs r2, #0x40 - bl CreateFx - adds r2, r0, #0 - cmp r2, #0 - beq _08081F50 - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x11] - ldrh r0, [r2, #0x2e] - adds r0, #7 - strh r0, [r2, #0x2e] - ldrh r0, [r2, #0x32] - adds r0, #5 - strh r0, [r2, #0x32] -_08081F50: - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl CreateFx - adds r2, r0, #0 - cmp r2, #0 - beq _08081F7A - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x11] - ldrh r0, [r2, #0x2e] - subs r0, #7 - strh r0, [r2, #0x2e] - ldrh r0, [r2, #0x32] - adds r0, #5 - strh r0, [r2, #0x32] -_08081F7A: - pop {r4, pc} - - thumb_func_start sub_08081F7C -sub_08081F7C: @ 0x08081F7C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r7, r1, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08081FF4 - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #6 - bls _08081FA4 - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _08081FF4 - adds r1, r0, #0 - adds r1, #0x63 - movs r0, #0xfc - strb r0, [r1] - b _08081FF4 -_08081FA4: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #6 - bne _08081FF4 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl SetFlag - adds r6, r4, #0 - adds r6, #0x74 - ldrh r1, [r6] - adds r5, r4, #0 - adds r5, #0x38 - ldrb r2, [r5] - adds r0, r7, #0 - bl SetTileType - adds r0, r4, #0 - bl sub_08081F24 - movs r0, #0x86 - lsls r0, r0, #1 - bl PlaySFX - adds r2, r4, #0 - adds r2, #0x70 - ldrh r1, [r2] - ldr r0, _08081FF0 @ =0x0000FFFF - cmp r1, r0 - beq _08081FEC - adds r0, r1, #0 - ldrh r1, [r6] - ldrb r2, [r5] - bl SetTile -_08081FEC: - movs r0, #0 - b _08081FF6 - .align 2, 0 -_08081FF0: .4byte 0x0000FFFF -_08081FF4: - movs r0, #1 -_08081FF6: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08081FF8 -sub_08081FF8: @ 0x08081FF8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x54] - ldr r0, _08082038 @ =gPlayerEntity - cmp r1, r0 - bne _08082036 - adds r0, r1, #0 - adds r1, r4, #0 - bl GetFacingDirection - adds r6, r0, #0 - ldr r0, [r4, #0x54] - movs r1, #0x80 - lsls r1, r1, #2 - adds r2, r6, #0 - bl sub_080044AE - movs r5, #0 - ldr r4, _0808203C @ =gUnk_03004040 -_0808201E: - ldr r0, [r4] - cmp r0, #0 - beq _0808202E - movs r1, #0x80 - lsls r1, r1, #2 - adds r2, r6, #0 - bl sub_080044AE -_0808202E: - adds r4, #4 - adds r5, #1 - cmp r5, #2 - bls _0808201E -_08082036: - pop {r4, r5, r6, pc} - .align 2, 0 -_08082038: .4byte gPlayerEntity -_0808203C: .4byte gUnk_03004040 diff --git a/asm/non_matching/button/sub_08081E6C.s b/asm/non_matching/button/sub_08081E6C.s new file mode 100644 index 00000000..d5774f1c --- /dev/null +++ b/asm/non_matching/button/sub_08081E6C.s @@ -0,0 +1,69 @@ + +sub_08081E6C: @ 0x08081E6C + push {r4, r5, r6, r7, lr} + add r4, r0, #0 + add r0, #0x74 + ldrh r6, [r0] + sub r0, #0x3c + ldrb r5, [r0] + add r0, r6, #0 + add r1, r5, #0 + bl GetTileType + add r7, r0, #0 + ldr r0, _08081EEC @ =0x00003FFF + cmp r7, r0 + bls _08081EE8 + add r0, r5, #0 + bl GetLayerByIndex + add r1, r0, #0 + ldrb r0, [r4, #0xa] + mov r4, #0x78 + cmp r0, #0 + bne _08081E9A + mov r4, #0x7a +_08081E9A: + ldr r0, _08081EF0 @ =0x00007004 + add r3, r1, r0 + lsl r0, r4, #1 + ldr r2, _08081EF4 @ =0x00006004 + add r1, r1, r2 + add r1, r1, r0 + ldrh r0, [r1] + lsl r0, r0, #3 + add r3, r3, r0 + ldr r2, _08081EF8 @ =gUnk_02019EE0 + cmp r5, #2 + bne _08081EB4 + ldr r2, _08081EFC @ =gMapDataTopSpecial +_08081EB4: + mov r0, #0x3f + and r0, r6 + lsl r0, r0, #1 + mov r1, #0xfc + lsl r1, r1, #4 + and r1, r6 + lsl r1, r1, #2 + add r0, r0, r1 + lsl r0, r0, #1 + add r2, r2, r0 + add r0, r2, #0 + add r1, r3, #0 + bl sub_08081F00 + cmp r0, #0 + bne _08081EE8 + add r0, r4, #0 + add r1, r6, #0 + add r2, r5, #0 + bl SetTileType + add r0, r7, #0 + add r1, r6, #0 + add r2, r5, #0 + bl SetTile +_08081EE8: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08081EEC: .4byte 0x00003FFF +_08081EF0: .4byte 0x00007004 +_08081EF4: .4byte 0x00006004 +_08081EF8: .4byte gUnk_02019EE0 +_08081EFC: .4byte gMapDataTopSpecial diff --git a/include/global.h b/include/global.h index f6d4a4e1..ad4b9daa 100644 --- a/include/global.h +++ b/include/global.h @@ -59,6 +59,9 @@ union SplitWord { struct { s16 LO, HI; } HALF; + struct { + u16 LO, HI; + } HALF_U; struct { u8 byte0, byte1, byte2, byte3; } BYTES; diff --git a/linker.ld b/linker.ld index a0d37ce8..5dff0003 100644 --- a/linker.ld +++ b/linker.ld @@ -673,7 +673,7 @@ SECTIONS { asm/itemOnGround.o(.text); asm/deathFx.o(.text); asm/itemForSale.o(.text); - asm/button.o(.text); + src/object/button.o(.text); asm/object4.o(.text); src/object/pot.o(.text); asm/object6.o(.text); diff --git a/src/object/button.c b/src/object/button.c new file mode 100644 index 00000000..b66c7f2d --- /dev/null +++ b/src/object/button.c @@ -0,0 +1,286 @@ +#include "global.h" +#include "entity.h" +#include "flags.h" +#include "room.h" +#include "functions.h" + +extern void (*const gUnk_0811EE38[])(Entity*); + +void Button(Entity* this) { + gUnk_0811EE38[this->action](this); +} + +extern u32 sub_08081E3C(Entity*); + +void sub_08081AE0(Entity* this) { + this->flags &= 0x7F; + this->scriptedScene = 3; + this->y.HALF.HI++; + if (this->cutsceneBeh.HWORD != 0) { + this->collisionLayer = this->cutsceneBeh.HWORD; + } + this->field_0x74.HWORD = (((this->x.HALF.HI - gRoomControls.roomOriginX)>>4) & 0x3F) | + ((((this->y.HALF.HI - gRoomControls.roomOriginY)>>4) & 0x3F) << 6); + this->field_0x70.HALF.HI = GetTileType(this->field_0x74.HWORD, this->collisionLayer); + if (this->entityType.form == 0 && CheckFlags(this->field_0x86)) { + this->action = 5; + SetTileType(0x7A, this->field_0x74.HWORD, this->collisionLayer); + } else { + if (sub_08081E3C(this)) { + this->action = 2; + } else { + this->action = 1; + } + } +} + +void sub_08081B84(Entity* this) { + if (sub_08081E3C(this)) { + this->action=2; + this->field_0x70.HALF.HI = GetTileType(this->field_0x74.HWORD, this->collisionLayer); + } +} + +u32 sub_08081CB0(Entity*); +void sub_0805E4E0(Entity*, u32); +void sub_08081FF8(Entity*); + +void sub_08081BAC(Entity* this) { + if (sub_08081CB0(this)) { + this->previousActionFlag = 0; + this->actionDelay = 0xA; + sub_0805E4E0(this, 0xA); + sub_08081FF8(this); + if (this->entityType.form == 1) { + this->action = 3; + } else { + this->action = 5; + } + } +} + +u32 sub_08081F7C(Entity*, u32); +u32 sub_08081D28(Entity*); +void sub_08081E6C(Entity*); + +void sub_08081BE0(Entity* this) { + if (!sub_08081F7C(this, 0x78)) + return; + if (!sub_08081D28(this)) { + this->action = 4; + this->field_0xf = 1; + if ((gPlayerState.heldObject == 2) || (!(gPlayerState.field_0x34[1] & 0x80))) { + this->actionDelay = 0x18; + } else { + this->actionDelay = 0x8; + } + } else { + sub_08081E6C(this); + } +} + +void sub_08081C30(Entity* this) { + if (this->actionDelay != 0) { + this->actionDelay--; + if (this->field_0xf != 0) { + this->field_0xf = 0; + SetTile(0x4035, this->field_0x74.HWORD, this->collisionLayer); + } + if (sub_08081CB0(this)) { + this->action = 3; + this->actionDelay = 0; + } + } else { + this->action = 2; + ClearFlag(this->field_0x86); + SetTileType(0x77, this->field_0x74.HWORD, this->collisionLayer); + PlaySFX(0x10C); + } +} + +void sub_08081C98(Entity* this) { + if (sub_08081F7C(this, 0x7a)) { + sub_08081E6C(this); + } +} + +Entity* sub_08081D74(Entity*); +void sub_0807B7D8(u32, u32, u32); +u32 sub_080001DA(u32, u32); + +u32 sub_08081CB0(Entity* this) { + u16 tmp; + if (sub_08081D74(this)) { + this->field_0x70.HALF.LO = -1; + if (GetTileType(this->field_0x74.HWORD, this->collisionLayer) == 0x4035) { + sub_0807B7D8(0x78, this->field_0x74.HWORD, this->collisionLayer); + } + return 1; + } else { + tmp = GetTileType(this->field_0x74.HWORD, this->collisionLayer); + if (tmp != 0x77 && tmp != 0x79 && tmp != 0x4035) { + this->field_0x70.HALF.LO = sub_080001DA(this->field_0x74.HWORD, this->collisionLayer); + return 1; + } + } + return 0; +} + +u32 sub_08081D28(Entity* this) { + if (sub_08081D74(this)) { + this->field_0x70.HALF_U.LO = 0xFFFF; + return 1; + } else { + if (this->field_0x70.HALF_U.LO == 0xFFFF) { + return 0; + } + if (sub_080001DA(this->field_0x74.HWORD, this->collisionLayer) != this->field_0x70.HALF_U.LO) { + return 0; + } + } + return 1; +} + +extern u32 sub_080002E0(u32, u32); +extern Entity* gUnk_03004040[]; +extern u32 sub_080041A0(Entity*, Entity*, u32, u32); +u32 sub_08081E0C(Entity*); + +Entity* sub_08081D74(Entity* this) { + Entity* ent; + if (sub_080002E0(this->field_0x74.HWORD, this->collisionLayer) == 0xF) { + return 0; + } + ent = 0; + if (sub_08081E0C(this)) { + if (!(gPlayerState.flags.all & 0x10) && !(gPlayerState.flags.all & 0x80)) { + ent = &gPlayerEntity; + } + } else { + if (gPlayerState.flags.all & 0x400000) { + if (sub_080041A0(this, gUnk_03004040[0], 5, 6)) { + ent = gUnk_03004040[0]; + } else if (sub_080041A0(this, gUnk_03004040[1], 5, 6)) { + ent = gUnk_03004040[1]; + } else if (sub_080041A0(this, gUnk_03004040[2], 5, 6)) { + ent = gUnk_03004040[2]; + } + } + } + this->attachedEntity=ent; + return ent; +} + +extern u32 sub_08079F8C(); + +u32 sub_08081E0C(Entity* this) { + Entity* tmp = &gPlayerEntity; + if (tmp->height.HALF.HI != 0 || !sub_08079F8C()) { + return 0; + } else { + return sub_080041A0(this, tmp, 5, 6); + } +} + +extern u16 gUnk_0811EE50[]; + +u32 sub_08081E3C(Entity* this) { + u16* tmp1; + int tmp2; + tmp2 = GetTileType(this->field_0x74.HWORD, this->collisionLayer); + tmp1 = gUnk_0811EE50; + do { + if (*tmp1 == tmp2) return 1; + } while (*++tmp1); + return 0; +} + +u32 sub_08081F00(u32*, u32*); + +extern u16 gMapDataTopSpecial[0x2000]; + +#ifdef NON_MATCHING +void sub_08081E6C(Entity* this) { + u32 r4; + u16 *tmp, *r1; + u8 *tmp2; + u32 r6 = this->field_0x74.HWORD; + u32 r5 = this->collisionLayer; + u32 tile = GetTileType(r6,r5); + if (tile < 0x4000) + return; + r1 = GetLayerByIndex(r5); + r4 = (this->entityType.form == 0 ? 0x7a : 0x78); + tmp = r1 + 0x3802; + r1 += 0x3002 + r4; + tmp = tmp + (*r1 << 2); + tmp2 = (r5 == 2 ? gMapDataTopSpecial : (u8*)&gUnk_02019EE0); + tmp2 += (((0x3f & r6)<<1)+((0xfc0 & r6)<<2))<<1; + if (sub_08081F00((u32*)tmp2, (u32*)tmp)) + return; + SetTileType(r4, r6, r5); + SetTile(tile,r6,r5); +} +#else +NAKED +void sub_08081E6C(Entity* this) { + asm(".include \"asm/non_matching/button/sub_08081E6C.s\""); +} +#endif + +u32 sub_08081F00(u32* unk1, u32* unk2) { + if (*unk1 != *unk2) return 0; + if (unk1[0x40] != unk2[1]) return 0; + return 1; +} + +void sub_08081F24(Entity* this) { + Entity* fx = CreateFx(this, 0x11, 0x40); + if (fx) { + fx->scriptedScene = 3; + fx->x.HALF.HI += 7; + fx->y.HALF.HI += 5; + } + fx = CreateFx(this, 0x11, 0x40); + if (fx) { + fx->scriptedScene = 3; + fx->x.HALF.HI -= 7; + fx->y.HALF.HI += 5; + } +} + +u32 sub_08081F7C(Entity* this, u32 r7) { + u16 tmp; + if (this->actionDelay == 0) return 1; + if (--this->actionDelay > 6) { + if(this->attachedEntity) + this->attachedEntity->spriteOffsetY = 0xfc; + } else { + if (this->actionDelay == 6) { + SetFlag(this->field_0x86); + SetTileType(r7, this->field_0x74.HWORD, this->collisionLayer); + sub_08081F24(this); + PlaySFX(0x10C); + if (this->field_0x70.HALF_U.LO != 0xFFFF) + SetTile(this->field_0x70.HALF_U.LO, this->field_0x74.HWORD, this->collisionLayer); + return 0; + } + } + return 1; +} + +extern Entity* gUnk_03004040[3]; +extern void sub_080044AE(Entity*, u32, u32); + +void sub_08081FF8(Entity* this) { + u32 direction; + u32 i; + if (this->attachedEntity != &gPlayerEntity) return; + direction = GetFacingDirection(this->attachedEntity, this); + sub_080044AE(this->attachedEntity, 0x200, direction); + for (i = 0; i < 3; i++) { + if (gUnk_03004040[i]) { + sub_080044AE(gUnk_03004040[i],0x200, direction); + } + } +} From 76483d30c3604b71fe21e69b078945028024a3d3 Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 15 Sep 2020 19:22:47 -0700 Subject: [PATCH 070/105] start bird.c --- asm/bird.s | 363 ------------------------------------ include/functions.h | 3 + linker.ld | 1 + src/object/bird.c | 144 ++++++++++++++ src/object/heartContainer.c | 4 +- src/object/objectA8.c | 2 +- 6 files changed, 150 insertions(+), 367 deletions(-) create mode 100644 src/object/bird.c diff --git a/asm/bird.s b/asm/bird.s index 0542b6c6..77672bbf 100644 --- a/asm/bird.s +++ b/asm/bird.s @@ -6,369 +6,6 @@ .text - - thumb_func_start Bird -Bird: @ 0x0809CF24 - push {lr} - ldr r2, _0809CF38 @ =gUnk_08123EC0 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809CF38: .4byte gUnk_08123EC0 - - thumb_func_start sub_0809CF3C -sub_0809CF3C: @ 0x0809CF3C - push {lr} - ldr r2, _0809CF50 @ =gUnk_08123EEC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809CF50: .4byte gUnk_08123EEC - - thumb_func_start sub_0809CF54 -sub_0809CF54: @ 0x0809CF54 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x31 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - ldr r0, _0809CFDC @ =0xFFFE8000 - str r0, [r4, #0x20] - ldr r0, _0809CFE0 @ =0xFFC74000 - str r0, [r4, #0x34] - adds r1, r4, #0 - adds r1, #0x68 - movs r0, #0xf8 - lsls r0, r0, #8 - strh r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #8 - strb r0, [r4, #0x15] - subs r1, #0x30 - movs r0, #2 - strb r0, [r1] - ldr r0, _0809CFE4 @ =gRoomControls - ldrh r0, [r0, #0xa] - strh r0, [r4, #0x2e] - ldr r0, _0809CFE8 @ =0x00000123 - bl PlaySFX - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - adds r0, r4, #0 - movs r1, #0 - bl InitAnimationForceUpdate - movs r0, #0x95 - movs r1, #1 - movs r2, #0 - bl CreateObject - adds r5, r0, #0 - cmp r5, #0 - beq _0809CFD8 - str r4, [r5, #0x50] - movs r3, #0x80 - lsls r3, r3, #0xc - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl PositionRelative - adds r0, r4, #0 - adds r1, r5, #0 - bl ResolveEntityOnTop -_0809CFD8: - pop {r4, r5, pc} - .align 2, 0 -_0809CFDC: .4byte 0xFFFE8000 -_0809CFE0: .4byte 0xFFC74000 -_0809CFE4: .4byte gRoomControls -_0809CFE8: .4byte 0x00000123 - - thumb_func_start sub_0809CFEC -sub_0809CFEC: @ 0x0809CFEC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - adds r0, #0x68 - movs r2, #0 - ldrsh r1, [r0, r2] - adds r0, r4, #0 - bl sub_08003FC4 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809D018 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0809D026 - strb r0, [r4, #0xf] - b _0809D026 -_0809D018: - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - bne _0809D026 - bl DeleteThisEntity -_0809D026: - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D030 -sub_0809D030: @ 0x0809D030 - push {lr} - ldr r2, _0809D044 @ =gUnk_08123EF4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809D044: .4byte gUnk_08123EF4 - - thumb_func_start sub_0809D048 -sub_0809D048: @ 0x0809D048 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - adds r0, r4, #0 - movs r1, #0x17 - bl InitAnimationForceUpdate - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D06C -sub_0809D06C: @ 0x0809D06C - push {lr} - ldr r2, _0809D080 @ =gUnk_08123EFC - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809D080: .4byte gUnk_08123EFC - - thumb_func_start sub_0809D084 -sub_0809D084: @ 0x0809D084 - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x50] - cmp r0, #0 - beq _0809D0A8 - ldrb r2, [r0, #0xf] - cmp r2, #0 - beq _0809D0A0 - movs r3, #0x80 - lsls r3, r3, #0xc - movs r2, #0 - bl PositionRelative - b _0809D0A8 -_0809D0A0: - ldrb r0, [r1, #0xd] - adds r0, #1 - strb r0, [r1, #0xd] - str r2, [r1, #0x20] -_0809D0A8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809D0AC -sub_0809D0AC: @ 0x0809D0AC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_080044EC - cmp r0, #1 - bhi _0809D0F0 - movs r2, #0 - movs r0, #2 - strb r0, [r4, #0xa] - movs r1, #1 - strb r1, [r4, #0xc] - str r2, [r4, #0x34] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - movs r0, #0x45 - bl SetLocalFlag - movs r0, #0x72 - bl PlaySFX - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0 - bl CreateFx - adds r1, r0, #0 - cmp r1, #0 - beq _0809D0F0 - adds r0, r4, #0 - bl sub_0806FAD8 -_0809D0F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D0F4 -sub_0809D0F4: @ 0x0809D0F4 - push {lr} - ldr r2, _0809D108 @ =gUnk_08123F04 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809D108: .4byte gUnk_08123F04 - - thumb_func_start sub_0809D10C -sub_0809D10C: @ 0x0809D10C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - adds r0, r4, #0 - movs r1, #0x17 - bl InitAnimationForceUpdate - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D130 -sub_0809D130: @ 0x0809D130 - push {lr} - adds r2, r0, #0 - ldr r0, _0809D148 @ =gPlayerState - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809D14C - adds r0, r2, #0 - bl sub_0800445C - b _0809D170 - .align 2, 0 -_0809D148: .4byte gPlayerState -_0809D14C: - adds r0, r2, #0 - bl sub_08017850 - cmp r0, #0 - beq _0809D170 - movs r0, #0x17 - movs r1, #0 - movs r2, #0 - bl CreateItemEntity - ldr r0, _0809D174 @ =gUnk_02002A40 - ldr r1, [r0, #0x40] - movs r2, #0x80 - lsls r2, r2, #0x15 - orrs r1, r2 - str r1, [r0, #0x40] - bl DeleteThisEntity -_0809D170: - pop {pc} - .align 2, 0 -_0809D174: .4byte gUnk_02002A40 - - thumb_func_start sub_0809D178 -sub_0809D178: @ 0x0809D178 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809D19C - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - adds r1, r4, #0 - adds r1, #0x5a - movs r0, #0x80 - strb r0, [r1] -_0809D19C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809D1E8 - bl Random - movs r1, #3 - ands r1, r0 - adds r0, r4, #0 - bl InitializeAnimation - bl Random - movs r1, #0xf - ands r0, r1 - adds r0, #0x10 - adds r1, r4, #0 - adds r1, #0x59 - strb r0, [r1] - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - bl Random - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0809D1EE - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] - b _0809D1EE -_0809D1E8: - adds r0, r4, #0 - bl GetNextFrame -_0809D1EE: - pop {r4, pc} - thumb_func_start sub_0809D1F0 sub_0809D1F0: @ 0x0809D1F0 push {r4, r5, r6, r7, lr} diff --git a/include/functions.h b/include/functions.h index 8725e18e..b92593e9 100644 --- a/include/functions.h +++ b/include/functions.h @@ -45,6 +45,7 @@ extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); extern u32 LoadFixedGFX(Entity*, u32); extern void ExecuteScriptCommandSet(Entity*, void *); extern void _DmaFill32(u32, void*, u32); +extern Entity* CreateItemEntity(u32, u32, u32); // Unidentified extern u32 sub_0806ED78(Entity*); @@ -259,4 +260,6 @@ extern void sub_0802F45C(Entity*); extern u32 sub_0800419C(Entity*, Entity*, u32, u32); extern void sub_08004542(Entity*); extern void sub_08077B20(); +extern u32 sub_080040A8(Entity*); +extern u32 sub_08017850(Entity*); #endif diff --git a/linker.ld b/linker.ld index 4025a042..f30d3071 100644 --- a/linker.ld +++ b/linker.ld @@ -824,6 +824,7 @@ SECTIONS { src/object/bakerOven.o(.text); asm/object93.o(.text); src/object/windTribeFlag.o(.text); + src/object/bird.o(.text); asm/bird.o(.text); asm/object96.o(.text); asm/object97.o(.text); diff --git a/src/object/bird.c b/src/object/bird.c new file mode 100644 index 00000000..83af1b5d --- /dev/null +++ b/src/object/bird.c @@ -0,0 +1,144 @@ +#include "global.h" +#include "entity.h" +#include "flags.h" +#include "functions.h" + +extern void (*const gUnk_08123EC0[])(Entity*); +extern void (*const gUnk_08123EEC[])(Entity*); +extern void (*const gUnk_08123EF4[])(Entity*); +extern void (*const gUnk_08123EFC[])(Entity*); +extern void (*const gUnk_08123F04[])(Entity*); + +void Bird(Entity* this) { + gUnk_08123EC0[this->entityType.form](this); +} + +void sub_0809CF3C(Entity* this) { + gUnk_08123EEC[this->action](this); +} + +void sub_0809CF54(Entity* this) { + Entity* target; + + this->action++; + this->spriteSettings.b.draw = TRUE; + this->actionDelay = 0x31; + this->field_0xf = 1; + this->field_0x20 = -0x18000; + this->height.WORD = -0x38C000; + this->field_0x68.HWORD = -0x800; + this->nonPlanarMovement = 0x280; + this->direction = 8; + this->collisionLayer = 2; + this->x.HALF.HI = gRoomControls.roomScrollX; + PlaySFX(0x123); + UpdateSpriteForCollisionLayer(this); + InitAnimationForceUpdate(this, 0); + target = CreateObject(0x95, 1, 0); + if (target != NULL) { + target->parent = this; + PositionRelative(this, target, 0, 0x80000); + ResolveEntityOnTop(this, target); + } +} + +void sub_0809CFEC(Entity* this) { + + sub_0806F69C(this); + sub_08003FC4(this, *(s16*)&this->field_0x68.HWORD); + if (this->actionDelay != 0) { + if (--this->actionDelay == 0) { + this->field_0xf = 0; + } + } else if (sub_080040A8(this) == 0) { + DeleteThisEntity(); + } + UpdateAnimationSingleFrame(this); +} + +void sub_0809D030(Entity* this) { + gUnk_08123EF4[this->action](this); +} + +void sub_0809D048(Entity* this) { + this->action++; + this->collisionLayer = 1; + UpdateSpriteForCollisionLayer(this); + InitAnimationForceUpdate(this, 0x17); +} + +void sub_0809D06C(Entity* this) { + gUnk_08123EFC[this->previousActionFlag](this); +} + +void sub_0809D084(Entity* this) { + u32 temp; + + if (this->parent != NULL) { + temp = this->parent->field_0xf; + if (temp != 0) { + PositionRelative(this->parent, this, 0, 0x80000); + } else { + this->previousActionFlag++; + this->field_0x20 = temp; + } + } +} + +void sub_0809D0AC(Entity* this) { + Entity* fx; + + if (sub_080044EC(this, 0x1800) < 2) { + (this->entityType).form = 2; + this->action = 1; + this->height.WORD = 0; + this->collisionLayer = 1; + SetLocalFlag(0x45); + PlaySFX(0x72); + fx = CreateFx(this, 0x11, 0); + if (fx != NULL) { + sub_0806FAD8(this, fx); + } + } +} + +void sub_0809D0F4(Entity* this) { + gUnk_08123F04[this->action](this); +} + +void sub_0809D10C(Entity* this) { + this->action++; + this->collisionLayer = 1; + UpdateSpriteForCollisionLayer(this); + InitAnimationForceUpdate(this, 0x17); +} + +void sub_0809D130(Entity* this) { + if ((gPlayerState.flags.all & 0x80) != 0) { + sub_0800445C(this); + } else if (sub_08017850(this) != 0) { + CreateItemEntity(0x17, 0, 0); + gUnk_02002A40.windcrests |= 0x10000000; + DeleteThisEntity(); + } +} + +void sub_0809D178(Entity* this) { + + if (this->action == 0) { + this->action++; + this->collisionLayer = 2; + UpdateSpriteForCollisionLayer(this); + this->frames.all = 0x80; + } + if ((this->frames.all & 0x80) != 0) { + InitializeAnimation(this, Random() & 3); + this->frameDuration = (Random() & 0xf) + 0x10; + this->spriteSettings.b.flipX = FALSE; + if ((Random() & 1) != 0) { + this->spriteSettings.b.flipX = TRUE; + } + } else { + GetNextFrame(this); + } +} \ No newline at end of file diff --git a/src/object/heartContainer.c b/src/object/heartContainer.c index d55f7171..9222f36f 100644 --- a/src/object/heartContainer.c +++ b/src/object/heartContainer.c @@ -5,9 +5,7 @@ extern void DeleteThisEntity(); extern void sub_08080CB4(Entity*); -extern int sub_08017850(Entity*); -extern void CreateItemEntity(u32, u32, u32); - +extern u32 sub_08017850(Entity*); static void sub_0808E6A0(Entity*); static void sub_0808E6E4(Entity*); static void sub_0808E714(Entity*); diff --git a/src/object/objectA8.c b/src/object/objectA8.c index ab7713c5..9f4f4bb4 100644 --- a/src/object/objectA8.c +++ b/src/object/objectA8.c @@ -1,7 +1,7 @@ #include "global.h" #include "entity.h" -extern void CreateItemEntity(u32, u32, u32); +extern Entity* CreateItemEntity(u32, u32, u32); extern void DeleteThisEntity(); extern void sub_08080CB4(Entity*); From 868268e1400711b098e4e8e616c2c95e70932a0f Mon Sep 17 00:00:00 2001 From: Behemoth Date: Wed, 16 Sep 2020 14:34:37 +0200 Subject: [PATCH 071/105] add string table builder and string json --- .gitignore | 1 + Makefile | 1 + data/data_089FC6C4.s | 3 + data/strings.s | 7446 +--------------------------------- tools/tmc_strings/.gitignore | 9 + tools/tmc_strings/.gitrepo | 12 + tools/tmc_strings/Makefile | 68 + tools/tmc_strings/README.md | 35 + tools/tmc_strings/main.cpp | 799 ++++ translations/USA.json | 3861 ++++++++++++++++++ 10 files changed, 4790 insertions(+), 7445 deletions(-) create mode 100644 tools/tmc_strings/.gitignore create mode 100644 tools/tmc_strings/.gitrepo create mode 100644 tools/tmc_strings/Makefile create mode 100644 tools/tmc_strings/README.md create mode 100644 tools/tmc_strings/main.cpp create mode 100644 translations/USA.json diff --git a/.gitignore b/.gitignore index 27c775cb..9dd796fd 100644 --- a/.gitignore +++ b/.gitignore @@ -56,6 +56,7 @@ src/*.s tags tools/agbcc tools/binutils +translations/*.bin types_*.taghl *.zip !calcrom.pl diff --git a/Makefile b/Makefile index caf5a55e..a4c4568c 100644 --- a/Makefile +++ b/Makefile @@ -161,6 +161,7 @@ include songs.mk sound/%.bin: sound/%.aif ; $(AIF) $< $@ sound/songs/%.s: sound/songs/%.mid cd $(@D) && ../../$(MID) $(