Dump some minish woods entities

This commit is contained in:
Marcus Huderle 2020-09-20 18:13:46 -05:00
parent c0a95b9063
commit c9c88c1d56
10 changed files with 1454 additions and 1461 deletions

View File

@ -960,7 +960,7 @@ sub_08052E10: @ 0x08052E10
adds r0, r3, r0 adds r0, r3, r0
ldr r0, [r0] ldr r0, [r0]
str r0, [r5, #0x18] str r0, [r5, #0x18]
ldr r0, _08052E88 @ =gUnk_080D50FC ldr r0, _08052E88 @ =gAreaEntities
adds r2, r2, r0 adds r2, r2, r0
ldr r0, [r2] ldr r0, [r2]
cmp r0, #0 cmp r0, #0
@ -976,7 +976,7 @@ _08052E78: .4byte gAreaRoomMaps
_08052E7C: .4byte gAreaMetatiles _08052E7C: .4byte gAreaMetatiles
_08052E80: .4byte gUnk_080B755C _08052E80: .4byte gUnk_080B755C
_08052E84: .4byte gUnk_0813A7F0 _08052E84: .4byte gUnk_0813A7F0
_08052E88: .4byte gUnk_080D50FC _08052E88: .4byte gAreaEntities
thumb_func_start sub_08052E8C thumb_func_start sub_08052E8C
sub_08052E8C: @ 0x08052E8C sub_08052E8C: @ 0x08052E8C

View File

@ -2,3 +2,4 @@
.include "asm/macros/function.inc" .include "asm/macros/function.inc"
.include "asm/macros/m4a.inc" .include "asm/macros/m4a.inc"
.include "asm/macros/map.inc" .include "asm/macros/map.inc"
.include "asm/macros/entity.inc"

50
asm/macros/entity.inc Executable file
View File

@ -0,0 +1,50 @@
.ifndef GUARD_ASM_MACROS_ENTITY_INC
.set GUARD_ASM_MACROS_ENTITY_INC, 1
.set ENTITY_TYPE_ENEMY, 0x3
.set ENTITY_OCTOROK, 0x0
.set ENTITY_CHUCHU, 0x1
.set ENTITY_TREE_ITEM, 0x65
.macro entity_octorok x, y, bound_x, bound_y, bound_tile_width, bound_tile_height
.byte ENTITY_TYPE_ENEMY
.byte 0x0F
.byte ENTITY_OCTOROK
.byte 0x00, 0x00, 0x00
.byte \bound_tile_width, \bound_tile_height
.2byte \x, \y
.2byte \bound_x, \bound_y
.endm
.macro entity_chuchu x, y, bound_x, bound_y, bound_tile_width, bound_tile_height
.byte ENTITY_TYPE_ENEMY
.byte 0x0F
.byte ENTITY_CHUCHU
.byte 0x00, 0x00, 0x00
.byte \bound_tile_width, \bound_tile_height
.2byte \x, \y
.2byte \bound_x, \bound_y
.endm
.macro entity_tree_item x, y, unused
.byte ENTITY_TYPE_ENEMY
.byte 0x0F
.byte ENTITY_TREE_ITEM
.byte \unused, 0x00, 0x00, 0x00, 0x00
.2byte \x, \y
.2byte 0x00, 0x00
.endm
.macro entity_list_end
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.endm
.macro chest type, id, item, subnum, tileset_id
.2byte (\map_x) << 4
.2byte (\map_y) << 4
.2byte \pixel_width
.2byte \pixel_height
.2byte \tileset_id
.endm
.endif @ GUARD_ASM_MACROS_ENTITY_INC

View File

@ -20,7 +20,7 @@ _0804DE22:
movs r0, #0x18 movs r0, #0x18
bl SetGlobalFlag bl SetGlobalFlag
_0804DE32: _0804DE32:
ldr r5, _0804DE50 @ =gUnk_080D4250 ldr r5, _0804DE50 @ =gAreaRoomEntities_HyruleTown
ldr r4, _0804DE54 @ =gUnk_02002A40 ldr r4, _0804DE54 @ =gUnk_02002A40
ldrb r0, [r4, #8] ldrb r0, [r4, #8]
lsls r0, r0, #2 lsls r0, r0, #2
@ -35,7 +35,7 @@ _0804DE32:
str r0, [r1] str r0, [r1]
b _0804DECC b _0804DECC
.align 2, 0 .align 2, 0
_0804DE50: .4byte gUnk_080D4250 _0804DE50: .4byte gAreaRoomEntities_HyruleTown
_0804DE54: .4byte gUnk_02002A40 _0804DE54: .4byte gUnk_02002A40
_0804DE58: .4byte gUnk_02017654 _0804DE58: .4byte gUnk_02017654
_0804DE5C: _0804DE5C:

View File

@ -33,7 +33,7 @@ _08049B9C:
ldrb r0, [r4] ldrb r0, [r4]
cmp r0, #7 cmp r0, #7
bhi _08049BB0 bhi _08049BB0
movs r0, #0x67 movs r0, #0x67 @ Kinstone Bag
bl GetInventoryValue bl GetInventoryValue
cmp r0, #0 cmp r0, #0
bne _08049BB0 bne _08049BB0
@ -53,7 +53,7 @@ _08049BB0:
ble _08049BF0 ble _08049BF0
cmp r1, #8 cmp r1, #8
bne _08049C16 bne _08049C16
movs r0, #0x40 movs r0, #0x40 @ Small Fairy
movs r1, #0x60 movs r1, #0x60
movs r2, #0 movs r2, #0
bl CreateObject bl CreateObject
@ -72,7 +72,7 @@ _08049BF0:
ldr r0, _08049C24 @ =gUnk_080D2AB0 ldr r0, _08049C24 @ =gUnk_080D2AB0
adds r0, r1, r0 adds r0, r1, r0
ldrb r2, [r0] ldrb r2, [r0]
movs r0, #0x96 movs r0, #0x96 @ Kinstone
movs r1, #7 movs r1, #7
bl CreateObject bl CreateObject
adds r4, r0, #0 adds r4, r0, #0

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
.align 2 .align 2
gUnk_080D5360:: @ 080D5360 gUnk_080D5360:: @ 080D5360
.incbin "baserom.gba", 0x0D5360, 0x0000040 .incbin "baserom.gba", 0x0D533C, 0x0000064
gUnk_080D53A0:: @ 080D53A0 gUnk_080D53A0:: @ 080D53A0
.incbin "baserom.gba", 0x0D53A0, 0x0000010 .incbin "baserom.gba", 0x0D53A0, 0x0000010
@ -8974,8 +8974,12 @@ gUnk_080F4CC8:: @ 080F4CC8
gUnk_080F4CDC:: @ 080F4CDC gUnk_080F4CDC:: @ 080F4CDC
.incbin "baserom.gba", 0x0F4CDC, 0x0000024 .incbin "baserom.gba", 0x0F4CDC, 0x0000024
gUnk_080F4D00:: @ 080F4D00 gEntityList0_MinishWoods_0:: @ 080F4D00
.incbin "baserom.gba", 0x0F4D00, 0x0000050 .byte 0x06, 0x0F, 0x73, 0x00, 0x12, 0x00, 0x00, 0x00, 0xF8, 0x01, 0xD8, 0x03, 0x00, 0x00, 0x00, 0x00
.byte 0x06, 0x0F, 0x73, 0x00, 0x13, 0x00, 0x00, 0x00, 0xA8, 0x01, 0xB8, 0x03, 0x00, 0x00, 0x00, 0x00
.byte 0x16, 0x0F, 0x00, 0x63, 0x00, 0x04, 0x00, 0x00, 0xC8, 0x00, 0x34, 0x01, 0x00, 0x00, 0x3C, 0x00
.byte 0x16, 0x0F, 0x00, 0x63, 0x00, 0x04, 0x00, 0x00, 0x98, 0x01, 0xB4, 0x02, 0x00, 0x00, 0x3D, 0x00
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
gUnk_080F4D50:: @ 080F4D50 gUnk_080F4D50:: @ 080F4D50
.incbin "baserom.gba", 0x0F4D50, 0x0000060 .incbin "baserom.gba", 0x0F4D50, 0x0000060
@ -8992,8 +8996,15 @@ gUnk_080F4DF0:: @ 080F4DF0
gUnk_080F4E10:: @ 080F4E10 gUnk_080F4E10:: @ 080F4E10
.incbin "baserom.gba", 0x0F4E10, 0x0000020 .incbin "baserom.gba", 0x0F4E10, 0x0000020
gUnk_080F4E30:: @ 080F4E30 gEntityList1_MinishWoods_0:: @ 080F4E30
.incbin "baserom.gba", 0x0F4E30, 0x0000080 .byte 0x09, 0x18, 0x01, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x09, 0x0F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x03, 0x00, 0x03, 0x01, 0x00, 0x00, 0x28, 0x01, 0x70, 0x03, 0x00, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x03, 0x00, 0x03, 0x01, 0x00, 0x00, 0x98, 0x03, 0xB0, 0x03, 0x00, 0x00, 0x00, 0x00
.byte 0x09, 0x0F, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x16, 0x0F, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x01, 0x5A, 0x03, 0x00, 0x00, 0x00, 0x00
.byte 0x16, 0x0F, 0x19, 0x08, 0x02, 0x00, 0x00, 0x00, 0xC0, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
gUnk_080F4EB0:: @ 080F4EB0 gUnk_080F4EB0:: @ 080F4EB0
.incbin "baserom.gba", 0x0F4EB0, 0x0000060 .incbin "baserom.gba", 0x0F4EB0, 0x0000060
@ -9001,11 +9012,31 @@ gUnk_080F4EB0:: @ 080F4EB0
gUnk_080F4F10:: @ 080F4F10 gUnk_080F4F10:: @ 080F4F10
.incbin "baserom.gba", 0x0F4F10, 0x0000020 .incbin "baserom.gba", 0x0F4F10, 0x0000020
gUnk_080F4F30:: @ 080F4F30 gEntityList2_MinishWoods_0:: @ 080F4F30
.incbin "baserom.gba", 0x0F4F30, 0x0000010 entity_octorok 0x148, 0x38, 0xA0, 0x20, 0x1A, 0x16
entity_octorok 0x118, 0x98, 0xA0, 0x20, 0x1A, 0x16
gUnk_080F4F40:: @ 080F4F40 entity_octorok 0x1B8, 0x1A8, 0x160, 0x160, 0x1C, 0x14
.incbin "baserom.gba", 0x0F4F40, 0x0000170 entity_octorok 0x208, 0x1F8, 0x1C0, 0x1B0, 0x12, 0xA
entity_octorok 0x288, 0x188, 0x250, 0x140, 0xC, 0x1A
entity_octorok 0x148, 0x1E8, 0x120, 0x180, 0x10, 0x12
entity_octorok 0xA8, 0x198, 0x30, 0x180, 0x1A, 0xC
entity_chuchu 0x3A0, 0x1D0, 0x320, 0x1D0, 0x14, 0xC
entity_chuchu 0x3A0, 0x250, 0x330, 0x200, 0x12, 0xE
entity_chuchu 0x340, 0x270, 0x320, 0x240, 0x20, 0x12
entity_chuchu 0x380, 0x2E0, 0x350, 0x2B0, 0xC, 0xA
entity_chuchu 0x1A8, 0x2C8, 0x190, 0x2B0, 0xE, 0x6
entity_chuchu 0x280, 0x2F0, 0x240, 0x2C0, 0xC, 0xE
entity_chuchu 0x3B0, 0x100, 0x390, 0xE0, 0x6, 0x14
entity_chuchu 0x248, 0x2D8, 0x0, 0x0, 0x0, 0x0
entity_tree_item 0x120, 0x60, 0x5
entity_tree_item 0xE0, 0xB0, 0x6
entity_tree_item 0x190, 0x1A0, 0x7
entity_tree_item 0x1B0, 0x1E0, 0x8
entity_tree_item 0x250, 0x180, 0x9
entity_tree_item 0x280, 0x1C0, 0xA
entity_tree_item 0x380, 0x210, 0xB
entity_tree_item 0x370, 0x290, 0xC
entity_list_end
gUnk_080F50B0:: @ 080F50B0 gUnk_080F50B0:: @ 080F50B0
.incbin "baserom.gba", 0x0F50B0, 0x0000048 .incbin "baserom.gba", 0x0F50B0, 0x0000048
@ -9040,11 +9071,24 @@ gUnk_080F51B2:: @ 080F51B2
gUnk_080F51F0:: @ 080F51F0 gUnk_080F51F0:: @ 080F51F0
.incbin "baserom.gba", 0x0F51F0, 0x0000030 .incbin "baserom.gba", 0x0F51F0, 0x0000030
gUnk_080F5220:: @ 080F5220 gEntityList3_MinishWoods_0:: @ 080F5220
.incbin "baserom.gba", 0x0F5220, 0x0000040 .byte 0x0A, 0x01, 0x36, 0x00, 0x0A, 0x08, 0x1D, 0x00
.byte 0x0A, 0x01, 0x37, 0x00, 0x0B, 0x08, 0x1D, 0x00
.byte 0x0A, 0x01, 0x38, 0x00, 0x83, 0x0D, 0x1D, 0x00
.byte 0x0A, 0x01, 0x39, 0x00, 0x84, 0x0D, 0x1D, 0x00
.byte 0x0A, 0x01, 0x3A, 0x00, 0x85, 0x0D, 0x1D, 0x00
.byte 0x05, 0x00, 0x00, 0x05, 0x6A, 0x01, 0x05, 0x06
.byte 0x05, 0x00, 0x00, 0x1F, 0xDB, 0x03, 0x1F, 0x06
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
gUnk_080F5260:: @ 080F5260 gAreaRoomEntities_MinishWoods_0:: @ 080F5260
.incbin "baserom.gba", 0x0F5260, 0x0000050 .4byte gEntityList0_MinishWoods_0
.4byte gEntityList1_MinishWoods_0
.4byte gEntityList2_MinishWoods_0
.4byte gEntityList3_MinishWoods_0
gUnk_080F5270:: @ 080F5270
.incbin "baserom.gba", 0x0F5270, 0x0000040
gUnk_080F52B0:: @ 080F52B0 gUnk_080F52B0:: @ 080F52B0
.incbin "baserom.gba", 0x0F52B0, 0x0000010 .incbin "baserom.gba", 0x0F52B0, 0x0000010

1334
data/entity_headers.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -944,7 +944,7 @@ SECTIONS {
data/data_080CC19C.o(.rodata); data/data_080CC19C.o(.rodata);
src/enemy.o(.rodata); src/enemy.o(.rodata);
data/data_080D3D94.o(.rodata); data/data_080D3D94.o(.rodata);
data/areaPropertyLists.o(.rodata); data/entity_headers.o(.rodata);
data/data_080D5360.o(.rodata); data/data_080D5360.o(.rodata);
src/mainLoop.o(.rodata); src/mainLoop.o(.rodata);
data/data_08100CD4.o(.rodata); data/data_08100CD4.o(.rodata);

View File

@ -12,7 +12,7 @@ extern Entity* LoadRoomEntity(EntityData*);
extern void* GetRoomProperty(u32, u32, u32); extern void* GetRoomProperty(u32, u32, u32);
extern u32 gUnk_02017654; extern u32 gUnk_02017654;
extern u32* gUnk_080D50FC; extern u32* gAreaEntities;
void LoadRoom(void) { void LoadRoom(void) {
s32 iVar1; s32 iVar1;
@ -58,7 +58,7 @@ void sub_0804B0B0(u32 arg0, u32 arg1) {
void SetCurrentRoomPropertyList(u32 arg0, u32 arg1) { void SetCurrentRoomPropertyList(u32 arg0, u32 arg1) {
u32** arr; u32** arr;
gUnk_02017654 = 0; gUnk_02017654 = 0;
arr = &gUnk_080D50FC; arr = &gAreaEntities;
if (arr[arg0] != 0) { if (arr[arg0] != 0) {
gUnk_02017654 = arr[arg0][arg1]; gUnk_02017654 = arr[arg0][arg1];
} }
@ -78,7 +78,7 @@ void* GetRoomProperty(u32 arg0, u32 arg1, u32 arg2) {
u32 temp; u32 temp;
u32** arr; u32** arr;
temp = 0; temp = 0;
arr = &gUnk_080D50FC; arr = &gAreaEntities;
if (arr[arg0] != NULL) { if (arr[arg0] != NULL) {
temp = arr[arg0][arg1]; temp = arr[arg0][arg1];
if (temp != 0) { if (temp != 0) {