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
ldr r0, [r0]
str r0, [r5, #0x18]
ldr r0, _08052E88 @ =gUnk_080D50FC
ldr r0, _08052E88 @ =gAreaEntities
adds r2, r2, r0
ldr r0, [r2]
cmp r0, #0
@ -976,7 +976,7 @@ _08052E78: .4byte gAreaRoomMaps
_08052E7C: .4byte gAreaMetatiles
_08052E80: .4byte gUnk_080B755C
_08052E84: .4byte gUnk_0813A7F0
_08052E88: .4byte gUnk_080D50FC
_08052E88: .4byte gAreaEntities
thumb_func_start sub_08052E8C
sub_08052E8C: @ 0x08052E8C

View File

@ -2,3 +2,4 @@
.include "asm/macros/function.inc"
.include "asm/macros/m4a.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
bl SetGlobalFlag
_0804DE32:
ldr r5, _0804DE50 @ =gUnk_080D4250
ldr r5, _0804DE50 @ =gAreaRoomEntities_HyruleTown
ldr r4, _0804DE54 @ =gUnk_02002A40
ldrb r0, [r4, #8]
lsls r0, r0, #2
@ -35,7 +35,7 @@ _0804DE32:
str r0, [r1]
b _0804DECC
.align 2, 0
_0804DE50: .4byte gUnk_080D4250
_0804DE50: .4byte gAreaRoomEntities_HyruleTown
_0804DE54: .4byte gUnk_02002A40
_0804DE58: .4byte gUnk_02017654
_0804DE5C:

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
.align 2
gUnk_080D5360:: @ 080D5360
.incbin "baserom.gba", 0x0D5360, 0x0000040
.incbin "baserom.gba", 0x0D533C, 0x0000064
gUnk_080D53A0:: @ 080D53A0
.incbin "baserom.gba", 0x0D53A0, 0x0000010
@ -8974,8 +8974,12 @@ gUnk_080F4CC8:: @ 080F4CC8
gUnk_080F4CDC:: @ 080F4CDC
.incbin "baserom.gba", 0x0F4CDC, 0x0000024
gUnk_080F4D00:: @ 080F4D00
.incbin "baserom.gba", 0x0F4D00, 0x0000050
gEntityList0_MinishWoods_0:: @ 080F4D00
.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
.incbin "baserom.gba", 0x0F4D50, 0x0000060
@ -8992,8 +8996,15 @@ gUnk_080F4DF0:: @ 080F4DF0
gUnk_080F4E10:: @ 080F4E10
.incbin "baserom.gba", 0x0F4E10, 0x0000020
gUnk_080F4E30:: @ 080F4E30
.incbin "baserom.gba", 0x0F4E30, 0x0000080
gEntityList1_MinishWoods_0:: @ 080F4E30
.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
.incbin "baserom.gba", 0x0F4EB0, 0x0000060
@ -9001,11 +9012,31 @@ gUnk_080F4EB0:: @ 080F4EB0
gUnk_080F4F10:: @ 080F4F10
.incbin "baserom.gba", 0x0F4F10, 0x0000020
gUnk_080F4F30:: @ 080F4F30
.incbin "baserom.gba", 0x0F4F30, 0x0000010
gUnk_080F4F40:: @ 080F4F40
.incbin "baserom.gba", 0x0F4F40, 0x0000170
gEntityList2_MinishWoods_0:: @ 080F4F30
entity_octorok 0x148, 0x38, 0xA0, 0x20, 0x1A, 0x16
entity_octorok 0x118, 0x98, 0xA0, 0x20, 0x1A, 0x16
entity_octorok 0x1B8, 0x1A8, 0x160, 0x160, 0x1C, 0x14
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
.incbin "baserom.gba", 0x0F50B0, 0x0000048
@ -9040,11 +9071,24 @@ gUnk_080F51B2:: @ 080F51B2
gUnk_080F51F0:: @ 080F51F0
.incbin "baserom.gba", 0x0F51F0, 0x0000030
gUnk_080F5220:: @ 080F5220
.incbin "baserom.gba", 0x0F5220, 0x0000040
gEntityList3_MinishWoods_0:: @ 080F5220
.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
.incbin "baserom.gba", 0x0F5260, 0x0000050
gAreaRoomEntities_MinishWoods_0:: @ 080F5260
.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
.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);
src/enemy.o(.rodata);
data/data_080D3D94.o(.rodata);
data/areaPropertyLists.o(.rodata);
data/entity_headers.o(.rodata);
data/data_080D5360.o(.rodata);
src/mainLoop.o(.rodata);
data/data_08100CD4.o(.rodata);

View File

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