mirror of https://github.com/zeldaret/tmc.git
add subdirs
This commit is contained in:
parent
c47f16e5e7
commit
62ddaaa5f6
5
Makefile
5
Makefile
|
@ -69,6 +69,7 @@ FIX := tools/gbafix/gbafix
|
||||||
# Secondary expansion is required for dependency variables in object rules.
|
# Secondary expansion is required for dependency variables in object rules.
|
||||||
.SECONDEXPANSION:
|
.SECONDEXPANSION:
|
||||||
|
|
||||||
|
|
||||||
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR) $(MID_BUILDDIR))
|
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR) $(MID_BUILDDIR))
|
||||||
|
|
||||||
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
|
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
|
||||||
|
@ -101,6 +102,10 @@ MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS))
|
||||||
OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
|
OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
|
||||||
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
|
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
|
||||||
|
|
||||||
|
SUBDIRS := $(sort $(dir $(OBJS)))
|
||||||
|
|
||||||
|
$(shell mkdir -p $(SUBDIRS))
|
||||||
|
|
||||||
TOOLDIRS := $(filter-out tools/agbcc tools/binutils,$(wildcard tools/*))
|
TOOLDIRS := $(filter-out tools/agbcc tools/binutils,$(wildcard tools/*))
|
||||||
TOOLBASE = $(TOOLDIRS:tools/%=%)
|
TOOLBASE = $(TOOLDIRS:tools/%=%)
|
||||||
TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE))
|
TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE))
|
||||||
|
|
|
@ -6,118 +6,6 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
|
|
||||||
thumb_func_start Townsperson
|
|
||||||
Townsperson: @ 0x08061B8C
|
|
||||||
push {lr}
|
|
||||||
adds r2, r0, #0
|
|
||||||
ldrb r1, [r2, #0x10]
|
|
||||||
movs r0, #2
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08061BB0
|
|
||||||
ldr r0, _08061BAC @ =gUnk_0810B77C
|
|
||||||
ldrb r1, [r2, #0xc]
|
|
||||||
lsls r1, r1, #2
|
|
||||||
adds r1, r1, r0
|
|
||||||
ldr r1, [r1]
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl _call_via_r1
|
|
||||||
b _08061BC0
|
|
||||||
.align 2, 0
|
|
||||||
_08061BAC: .4byte gUnk_0810B77C
|
|
||||||
_08061BB0:
|
|
||||||
ldr r0, _08061BC4 @ =gUnk_0810B774
|
|
||||||
ldrb r1, [r2, #0xc]
|
|
||||||
lsls r1, r1, #2
|
|
||||||
adds r1, r1, r0
|
|
||||||
ldr r1, [r1]
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl _call_via_r1
|
|
||||||
_08061BC0:
|
|
||||||
pop {pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08061BC4: .4byte gUnk_0810B774
|
|
||||||
|
|
||||||
thumb_func_start sub_08061BC8
|
|
||||||
sub_08061BC8: @ 0x08061BC8
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
ldr r1, _08061BFC @ =gUnk_0810B6EC
|
|
||||||
ldrb r0, [r4, #0xa]
|
|
||||||
lsls r0, r0, #2
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldr r1, [r0]
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl LoadExtraSpriteData
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08061BF8
|
|
||||||
movs r0, #2
|
|
||||||
strb r0, [r4, #0x14]
|
|
||||||
ldrb r0, [r4, #0xa]
|
|
||||||
adds r0, #1
|
|
||||||
strb r0, [r4, #0xf]
|
|
||||||
ldrb r0, [r4, #0xc]
|
|
||||||
adds r0, #1
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
adds r0, r4, #0
|
|
||||||
movs r1, #2
|
|
||||||
bl sub_08061CB4
|
|
||||||
_08061BF8:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08061BFC: .4byte gUnk_0810B6EC
|
|
||||||
|
|
||||||
thumb_func_start sub_08061C00
|
|
||||||
sub_08061C00: @ 0x08061C00
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
movs r1, #0x20
|
|
||||||
movs r2, #0x20
|
|
||||||
bl sub_0806ED9C
|
|
||||||
adds r1, r0, #0
|
|
||||||
cmp r1, #0
|
|
||||||
bge _08061C18
|
|
||||||
ldrb r0, [r4, #0x14]
|
|
||||||
adds r1, r0, #4
|
|
||||||
b _08061C32
|
|
||||||
_08061C18:
|
|
||||||
ldrb r0, [r4, #0xf]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08061C24
|
|
||||||
movs r0, #0x10
|
|
||||||
strb r0, [r4, #0xf]
|
|
||||||
b _08061C32
|
|
||||||
_08061C24:
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r4, #0xf]
|
|
||||||
adds r0, r4, #0
|
|
||||||
adds r0, #0x58
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, #3
|
|
||||||
ands r1, r0
|
|
||||||
_08061C32:
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_08061CB4
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl sub_0806ED78
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x39
|
|
||||||
movs r0, #0
|
|
||||||
ldrsb r0, [r1, r0]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08061C58
|
|
||||||
movs r0, #0
|
|
||||||
strb r0, [r1]
|
|
||||||
ldrb r0, [r4, #0xb]
|
|
||||||
ldr r1, _08061C5C @ =0x00000A01
|
|
||||||
adds r0, r0, r1
|
|
||||||
bl TextboxNoOverlapFollow
|
|
||||||
_08061C58:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08061C5C: .4byte 0x00000A01
|
|
||||||
|
|
||||||
thumb_func_start Townsperson_Head
|
thumb_func_start Townsperson_Head
|
||||||
Townsperson_Head: @ 0x08061C60
|
Townsperson_Head: @ 0x08061C60
|
||||||
push {r4, r5, lr}
|
push {r4, r5, lr}
|
||||||
|
|
149
linker.ld
149
linker.ld
|
@ -323,16 +323,16 @@ SECTIONS {
|
||||||
asm/code_0801D714.o(.text);
|
asm/code_0801D714.o(.text);
|
||||||
asm/code_0801D79C.o(.text);
|
asm/code_0801D79C.o(.text);
|
||||||
/* enemies */
|
/* enemies */
|
||||||
src/octorok.o(.text);
|
src/enemy/octorok.o(.text);
|
||||||
asm/octorok.o(.text);
|
asm/octorok.o(.text);
|
||||||
asm/chuchu.o(.text);
|
asm/chuchu.o(.text);
|
||||||
asm/leever.o(.text);
|
asm/leever.o(.text);
|
||||||
asm/peahat.o(.text);
|
asm/peahat.o(.text);
|
||||||
asm/rollobite.o(.text);
|
asm/rollobite.o(.text);
|
||||||
asm/darkNut.o(.text);
|
asm/darkNut.o(.text);
|
||||||
src/hangingSeed.o(.text);
|
src/enemy/hangingSeed.o(.text);
|
||||||
asm/beetle.o(.text);
|
asm/beetle.o(.text);
|
||||||
src/keese.o(.text);
|
src/enemy/keese.o(.text);
|
||||||
asm/keese.o(.text);
|
asm/keese.o(.text);
|
||||||
asm/doorMimic.o(.text);
|
asm/doorMimic.o(.text);
|
||||||
asm/rockChuchu.o(.text);
|
asm/rockChuchu.o(.text);
|
||||||
|
@ -352,7 +352,7 @@ SECTIONS {
|
||||||
asm/madderpillar.o(.text);
|
asm/madderpillar.o(.text);
|
||||||
asm/waterDrop.o(.text);
|
asm/waterDrop.o(.text);
|
||||||
asm/wallMaster.o(.text);
|
asm/wallMaster.o(.text);
|
||||||
src/bombPeahat.o(.text);
|
src/enemy/bombPeahat.o(.text);
|
||||||
asm/bombPeahat.o(.text);
|
asm/bombPeahat.o(.text);
|
||||||
asm/spark.o(.text);
|
asm/spark.o(.text);
|
||||||
asm/chaser.o(.text);
|
asm/chaser.o(.text);
|
||||||
|
@ -371,10 +371,10 @@ SECTIONS {
|
||||||
asm/armos.o(.text);
|
asm/armos.o(.text);
|
||||||
asm/eyegore.o(.text);
|
asm/eyegore.o(.text);
|
||||||
asm/rope.o(.text);
|
asm/rope.o(.text);
|
||||||
src/smallPesto.o(.text);
|
src/enemy/smallPesto.o(.text);
|
||||||
asm/smallPesto.o(.text);
|
asm/smallPesto.o(.text);
|
||||||
asm/acroBandits.o(.text);
|
asm/acroBandits.o(.text);
|
||||||
src/bladeTrap.o(.text);
|
src/enemy/bladeTrap.o(.text);
|
||||||
asm/keaton.o(.text);
|
asm/keaton.o(.text);
|
||||||
asm/crow.o(.text);
|
asm/crow.o(.text);
|
||||||
asm/mulldozer.o(.text);
|
asm/mulldozer.o(.text);
|
||||||
|
@ -397,10 +397,10 @@ SECTIONS {
|
||||||
asm/flyingSkull.o(.text);
|
asm/flyingSkull.o(.text);
|
||||||
asm/mazaalBracelet.o(.text);
|
asm/mazaalBracelet.o(.text);
|
||||||
asm/takkuri.o(.text);
|
asm/takkuri.o(.text);
|
||||||
src/bowMoblin.o(.text);
|
src/enemy/bowMoblin.o(.text);
|
||||||
asm/bowMoblin.o(.text);
|
asm/bowMoblin.o(.text);
|
||||||
src/lakitu.o(.text);
|
src/enemy/lakitu.o(.text);
|
||||||
src/lakituCloud.o(.text);
|
src/enemy/lakituCloud.o(.text);
|
||||||
asm/enemy49.o(.text);
|
asm/enemy49.o(.text);
|
||||||
asm/vaatiRebornEnemy.o(.text);
|
asm/vaatiRebornEnemy.o(.text);
|
||||||
asm/vaatiProjectile.o(.text);
|
asm/vaatiProjectile.o(.text);
|
||||||
|
@ -413,11 +413,11 @@ SECTIONS {
|
||||||
asm/vaatiArm.o(.text);
|
asm/vaatiArm.o(.text);
|
||||||
asm/dust.o(.text);
|
asm/dust.o(.text);
|
||||||
asm/vaatiBall.o(.text);
|
asm/vaatiBall.o(.text);
|
||||||
src/slime.o(.text);
|
src/enemy/slime.o(.text);
|
||||||
asm/slime.o(.text);
|
asm/slime.o(.text);
|
||||||
asm/miniSlime.o(.text);
|
asm/miniSlime.o(.text);
|
||||||
asm/fireballGuy.o(.text);
|
asm/fireballGuy.o(.text);
|
||||||
src/miniFireballGuy.o(.text);
|
src/enemy/miniFireballGuy.o(.text);
|
||||||
asm/miniFireballGuy.o(.text);
|
asm/miniFireballGuy.o(.text);
|
||||||
asm/enemy5A.o(.text);
|
asm/enemy5A.o(.text);
|
||||||
asm/businessScrubPrologue.o(.text);
|
asm/businessScrubPrologue.o(.text);
|
||||||
|
@ -467,9 +467,9 @@ SECTIONS {
|
||||||
asm/code_08055FF4.o(.text);
|
asm/code_08055FF4.o(.text);
|
||||||
src/textbox.o(.text);
|
src/textbox.o(.text);
|
||||||
asm/code_08056418.o(.text);
|
asm/code_08056418.o(.text);
|
||||||
src/manager1.o(.text);
|
src/manager/manager1.o(.text);
|
||||||
asm/manager1.o(.text);
|
asm/manager1.o(.text);
|
||||||
src/manager2.o(.text);
|
src/manager/manager2.o(.text);
|
||||||
asm/manager2.o(.text);
|
asm/manager2.o(.text);
|
||||||
asm/manager3.o(.text);
|
asm/manager3.o(.text);
|
||||||
asm/manager4.o(.text);
|
asm/manager4.o(.text);
|
||||||
|
@ -507,14 +507,14 @@ SECTIONS {
|
||||||
asm/manager24.o(.text);
|
asm/manager24.o(.text);
|
||||||
asm/manager25.o(.text);
|
asm/manager25.o(.text);
|
||||||
asm/manager26.o(.text);
|
asm/manager26.o(.text);
|
||||||
src/manager27.o(.text);
|
src/manager/manager27.o(.text);
|
||||||
asm/manager28.o(.text);
|
asm/manager28.o(.text);
|
||||||
asm/manager29.o(.text);
|
asm/manager29.o(.text);
|
||||||
asm/manager2A.o(.text);
|
asm/manager2A.o(.text);
|
||||||
asm/manager2B.o(.text);
|
asm/manager2B.o(.text);
|
||||||
asm/manager2C.o(.text);
|
asm/manager2C.o(.text);
|
||||||
asm/manager2D.o(.text);
|
asm/manager2D.o(.text);
|
||||||
src/manager2E.o(.text);
|
src/manager/manager2E.o(.text);
|
||||||
asm/manager2E.o(.text);
|
asm/manager2E.o(.text);
|
||||||
asm/manager2F.o(.text);
|
asm/manager2F.o(.text);
|
||||||
asm/manager30.o(.text);
|
asm/manager30.o(.text);
|
||||||
|
@ -533,27 +533,28 @@ SECTIONS {
|
||||||
asm/getEmptyEntity.o(.text);
|
asm/getEmptyEntity.o(.text);
|
||||||
asm/code_0805E744.o(.text);
|
asm/code_0805E744.o(.text);
|
||||||
/* npcs */
|
/* npcs */
|
||||||
src/gentari.o(.text);
|
src/npc/gentari.o(.text);
|
||||||
src/festari.o(.text);
|
src/npc/festari.o(.text);
|
||||||
asm/festari.o(.text);
|
asm/festari.o(.text);
|
||||||
src/forestMinish.o(.text);
|
src/npc/forestMinish.o(.text);
|
||||||
src/postman.o(.text);
|
src/npc/postman.o(.text);
|
||||||
asm/postman.o(.text);
|
asm/postman.o(.text);
|
||||||
asm/npc5.o(.text);
|
asm/npc5.o(.text);
|
||||||
|
src/npc/townsperson.o(.text);
|
||||||
asm/townsperson.o(.text);
|
asm/townsperson.o(.text);
|
||||||
asm/kid.o(.text);
|
asm/kid.o(.text);
|
||||||
asm/npc9.o(.text);
|
asm/npc9.o(.text);
|
||||||
src/stamp.o(.text);
|
src/npc/stamp.o(.text);
|
||||||
asm/marcy.o(.text);
|
asm/marcy.o(.text);
|
||||||
src/wheaton.o(.text);
|
src/npc/wheaton.o(.text);
|
||||||
asm/pita.o(.text);
|
asm/pita.o(.text);
|
||||||
asm/minishEzlo.o(.text);
|
asm/minishEzlo.o(.text);
|
||||||
src/mailbox.o(.text);
|
src/npc/mailbox.o(.text);
|
||||||
asm/beedle.o(.text);
|
asm/beedle.o(.text);
|
||||||
asm/brocco.o(.text);
|
asm/brocco.o(.text);
|
||||||
asm/sittingPerson.o(.text);
|
asm/sittingPerson.o(.text);
|
||||||
asm/pina.o(.text);
|
asm/pina.o(.text);
|
||||||
src/guard.o(.text);
|
src/npc/guard.o(.text);
|
||||||
asm/guardWithSpear.o(.text);
|
asm/guardWithSpear.o(.text);
|
||||||
asm/castleMaid.o(.text);
|
asm/castleMaid.o(.text);
|
||||||
asm/din.o(.text);
|
asm/din.o(.text);
|
||||||
|
@ -562,38 +563,38 @@ SECTIONS {
|
||||||
asm/sturgeon.o(.text);
|
asm/sturgeon.o(.text);
|
||||||
asm/tingleSiblings.o(.text);
|
asm/tingleSiblings.o(.text);
|
||||||
asm/stockwell.o(.text);
|
asm/stockwell.o(.text);
|
||||||
src/talon.o(.text);
|
src/npc/talon.o(.text);
|
||||||
src/malon.o(.text);
|
src/npc/malon.o(.text);
|
||||||
src/epona.o(.text);
|
src/npc/epona.o(.text);
|
||||||
src/milkCart.o(.text);
|
src/npc/milkCart.o(.text);
|
||||||
asm/ghostBrothers.o(.text);
|
asm/ghostBrothers.o(.text);
|
||||||
src/smith.o(.text);
|
src/npc/smith.o(.text);
|
||||||
asm/npc23.o(.text);
|
asm/npc23.o(.text);
|
||||||
asm/kingDaltus.o(.text);
|
asm/kingDaltus.o(.text);
|
||||||
asm/ministerPotho.o(.text);
|
asm/ministerPotho.o(.text);
|
||||||
asm/npc26.o(.text);
|
asm/npc26.o(.text);
|
||||||
asm/vaati.o(.text);
|
asm/vaati.o(.text);
|
||||||
src/zelda.o(.text);
|
src/npc/zelda.o(.text);
|
||||||
src/mutoh.o(.text);
|
src/npc/mutoh.o(.text);
|
||||||
src/carpenter.o(.text);
|
src/npc/carpenter.o(.text);
|
||||||
asm/carpenter.o(.text);
|
asm/carpenter.o(.text);
|
||||||
asm/castorWildsStatue.o(.text);
|
asm/castorWildsStatue.o(.text);
|
||||||
src/cat.o(.text);
|
src/npc/cat.o(.text);
|
||||||
asm/cat.o(.text);
|
asm/cat.o(.text);
|
||||||
asm/mountainMinish.o(.text);
|
asm/mountainMinish.o(.text);
|
||||||
asm/zeldaFollower.o(.text);
|
asm/zeldaFollower.o(.text);
|
||||||
asm/melari.o(.text);
|
asm/melari.o(.text);
|
||||||
src/bladeBrothers.o(.text);
|
src/npc/bladeBrothers.o(.text);
|
||||||
src/cow.o(.text);
|
src/npc/cow.o(.text);
|
||||||
src/goron.o(.text);
|
src/npc/goron.o(.text);
|
||||||
asm/goronMerchant.o(.text);
|
asm/goronMerchant.o(.text);
|
||||||
asm/gorman.o(.text);
|
asm/gorman.o(.text);
|
||||||
asm/dog.o(.text);
|
asm/dog.o(.text);
|
||||||
src/syrup.o(.text);
|
src/npc/syrup.o(.text);
|
||||||
asm/syrup.o(.text);
|
asm/syrup.o(.text);
|
||||||
src/rem.o(.text);
|
src/npc/rem.o(.text);
|
||||||
asm/rem.o(.text);
|
asm/rem.o(.text);
|
||||||
src/townMinish.o(.text);
|
src/npc/townMinish.o(.text);
|
||||||
asm/townMinish.o(.text);
|
asm/townMinish.o(.text);
|
||||||
asm/librari.o(.text);
|
asm/librari.o(.text);
|
||||||
asm/percy.o(.text);
|
asm/percy.o(.text);
|
||||||
|
@ -602,24 +603,24 @@ SECTIONS {
|
||||||
asm/librarians.o(.text);
|
asm/librarians.o(.text);
|
||||||
asm/farmers.o(.text);
|
asm/farmers.o(.text);
|
||||||
asm/carlov.o(.text);
|
asm/carlov.o(.text);
|
||||||
src/dampe.o(.text);
|
src/npc/dampe.o(.text);
|
||||||
asm/drLeft.o(.text);
|
asm/drLeft.o(.text);
|
||||||
asm/kingGustaf.o(.text);
|
asm/kingGustaf.o(.text);
|
||||||
asm/gina.o(.text);
|
asm/gina.o(.text);
|
||||||
src/simon.o(.text);
|
src/npc/simon.o(.text);
|
||||||
asm/anju.o(.text);
|
asm/anju.o(.text);
|
||||||
asm/mama.o(.text);
|
asm/mama.o(.text);
|
||||||
src/emma.o(.text);
|
src/npc/emma.o(.text);
|
||||||
src/teachers.o(.text);
|
src/npc/teachers.o(.text);
|
||||||
src/windTribespeople.o(.text);
|
src/npc/windTribespeople.o(.text);
|
||||||
asm/windTribespeople.o(.text);
|
asm/windTribespeople.o(.text);
|
||||||
asm/gregal.o(.text);
|
asm/gregal.o(.text);
|
||||||
asm/mayorHagen.o(.text);
|
asm/mayorHagen.o(.text);
|
||||||
src/bigGoron.o(.text);
|
src/npc/bigGoron.o(.text);
|
||||||
asm/bigGoron.o(.text);
|
asm/bigGoron.o(.text);
|
||||||
asm/ezloCap.o(.text);
|
asm/ezloCap.o(.text);
|
||||||
asm/npc4E.o(.text);
|
asm/npc4E.o(.text);
|
||||||
src/clothesRack.o(.text);
|
src/npc/clothesRack.o(.text);
|
||||||
asm/clothesRack.o(.text);
|
asm/clothesRack.o(.text);
|
||||||
asm/picolyteBottles.o(.text);
|
asm/picolyteBottles.o(.text);
|
||||||
asm/smallTownMinish.o(.text);
|
asm/smallTownMinish.o(.text);
|
||||||
|
@ -671,7 +672,7 @@ SECTIONS {
|
||||||
asm/object9.o(.text);
|
asm/object9.o(.text);
|
||||||
asm/objectA.o(.text);
|
asm/objectA.o(.text);
|
||||||
asm/objectB.o(.text);
|
asm/objectB.o(.text);
|
||||||
src/chestSpawner.o(.text);
|
src/object/chestSpawner.o(.text);
|
||||||
asm/chestSpawner.o(.text);
|
asm/chestSpawner.o(.text);
|
||||||
asm/objectD.o(.text);
|
asm/objectD.o(.text);
|
||||||
asm/objectE.o(.text);
|
asm/objectE.o(.text);
|
||||||
|
@ -679,18 +680,18 @@ SECTIONS {
|
||||||
asm/object10.o(.text);
|
asm/object10.o(.text);
|
||||||
asm/object11.o(.text);
|
asm/object11.o(.text);
|
||||||
asm/object12.o(.text);
|
asm/object12.o(.text);
|
||||||
src/railtrack.o(.text);
|
src/object/railtrack.o(.text);
|
||||||
asm/lilypadLarge.o(.text);
|
asm/lilypadLarge.o(.text);
|
||||||
asm/object15.o(.text);
|
asm/object15.o(.text);
|
||||||
asm/floatingPlatform.o(.text);
|
asm/floatingPlatform.o(.text);
|
||||||
asm/object17.o(.text);
|
asm/object17.o(.text);
|
||||||
asm/evilSpirit.o(.text);
|
asm/evilSpirit.o(.text);
|
||||||
asm/houseDoorExterior.o(.text);
|
asm/houseDoorExterior.o(.text);
|
||||||
src/object1A.o(.text);
|
src/object/object1A.o(.text);
|
||||||
src/greatFairy.o(.text);
|
src/object/greatFairy.o(.text);
|
||||||
asm/greatFairy.o(.text);
|
asm/greatFairy.o(.text);
|
||||||
src/object1C.o(.text);
|
src/object/object1C.o(.text);
|
||||||
src/object1D.o(.text);
|
src/object/object1D.o(.text);
|
||||||
asm/object1E.o(.text);
|
asm/object1E.o(.text);
|
||||||
asm/object1F.o(.text);
|
asm/object1F.o(.text);
|
||||||
asm/object20.o(.text);
|
asm/object20.o(.text);
|
||||||
|
@ -706,7 +707,7 @@ SECTIONS {
|
||||||
asm/object2A.o(.text);
|
asm/object2A.o(.text);
|
||||||
asm/object2B.o(.text);
|
asm/object2B.o(.text);
|
||||||
asm/beanstalk.o(.text);
|
asm/beanstalk.o(.text);
|
||||||
src/smoke.o(.text);
|
src/object/smoke.o(.text);
|
||||||
asm/pushableRock.o(.text);
|
asm/pushableRock.o(.text);
|
||||||
asm/hittableLever.o(.text);
|
asm/hittableLever.o(.text);
|
||||||
asm/object30.o(.text);
|
asm/object30.o(.text);
|
||||||
|
@ -727,7 +728,7 @@ SECTIONS {
|
||||||
asm/macroLink.o(.text);
|
asm/macroLink.o(.text);
|
||||||
asm/object3D.o(.text);
|
asm/object3D.o(.text);
|
||||||
asm/object3E.o(.text);
|
asm/object3E.o(.text);
|
||||||
src/giantLeaf.o(.text);
|
src/object/giantLeaf.o(.text);
|
||||||
asm/fairy.o(.text);
|
asm/fairy.o(.text);
|
||||||
asm/ladderUp.o(.text);
|
asm/ladderUp.o(.text);
|
||||||
asm/object42.o(.text);
|
asm/object42.o(.text);
|
||||||
|
@ -735,35 +736,35 @@ SECTIONS {
|
||||||
asm/object44.o(.text);
|
asm/object44.o(.text);
|
||||||
asm/object45.o(.text);
|
asm/object45.o(.text);
|
||||||
asm/giantBookLadder.o(.text);
|
asm/giantBookLadder.o(.text);
|
||||||
src/heartContainer.o(.text);
|
src/object/heartContainer.o(.text);
|
||||||
asm/heartContainer.o(.text);
|
asm/heartContainer.o(.text);
|
||||||
asm/object48.o(.text);
|
asm/object48.o(.text);
|
||||||
src/object49.o(.text);
|
src/object/object49.o(.text);
|
||||||
asm/object49.o(.text);
|
asm/object49.o(.text);
|
||||||
asm/backgroundCloud.o(.text);
|
asm/backgroundCloud.o(.text);
|
||||||
asm/object4B.o(.text);
|
asm/object4B.o(.text);
|
||||||
asm/pushableFurniture.o(.text);
|
asm/pushableFurniture.o(.text);
|
||||||
asm/furniture.o(.text);
|
asm/furniture.o(.text);
|
||||||
src/minishSizedEntrance.o(.text);
|
src/object/minishSizedEntrance.o(.text);
|
||||||
asm/minishSizedEntrance.o(.text);
|
asm/minishSizedEntrance.o(.text);
|
||||||
src/archway.o(.text);
|
src/object/archway.o(.text);
|
||||||
asm/giantRock.o(.text);
|
asm/giantRock.o(.text);
|
||||||
asm/object51.o(.text);
|
asm/object51.o(.text);
|
||||||
asm/object52.o(.text);
|
asm/object52.o(.text);
|
||||||
asm/object53.o(.text);
|
asm/object53.o(.text);
|
||||||
asm/pullableLever.o(.text);
|
asm/pullableLever.o(.text);
|
||||||
asm/minecart.o(.text);
|
asm/minecart.o(.text);
|
||||||
src/thoughtBubble.o(.text);
|
src/object/thoughtBubble.o(.text);
|
||||||
asm/hiddenLadderDown.o(.text);
|
asm/hiddenLadderDown.o(.text);
|
||||||
asm/gentariCurtains.o(.text);
|
asm/gentariCurtains.o(.text);
|
||||||
asm/lavaPlatform.o(.text);
|
asm/lavaPlatform.o(.text);
|
||||||
asm/object5A.o(.text);
|
asm/object5A.o(.text);
|
||||||
asm/object5B.o(.text);
|
asm/object5B.o(.text);
|
||||||
src/mask.o(.text);
|
src/object/mask.o(.text);
|
||||||
asm/houseDoorInterior.o(.text);
|
asm/houseDoorInterior.o(.text);
|
||||||
asm/whirlwind.o(.text);
|
asm/whirlwind.o(.text);
|
||||||
asm/objectBlockingStairs.o(.text);
|
asm/objectBlockingStairs.o(.text);
|
||||||
src/swordsmanNewsletter.o(.text);
|
src/object/swordsmanNewsletter.o(.text);
|
||||||
asm/object61.o(.text);
|
asm/object61.o(.text);
|
||||||
asm/giantTwig.o(.text);
|
asm/giantTwig.o(.text);
|
||||||
asm/object63.o(.text);
|
asm/object63.o(.text);
|
||||||
|
@ -777,14 +778,14 @@ SECTIONS {
|
||||||
asm/crenalBeanSprout.o(.text);
|
asm/crenalBeanSprout.o(.text);
|
||||||
asm/minecartDoor.o(.text);
|
asm/minecartDoor.o(.text);
|
||||||
asm/objectOnPillar.o(.text);
|
asm/objectOnPillar.o(.text);
|
||||||
src/mineralWaterSource.o(.text);
|
src/object/mineralWaterSource.o(.text);
|
||||||
asm/minishSizedArchway.o(.text);
|
asm/minishSizedArchway.o(.text);
|
||||||
asm/object70.o(.text);
|
asm/object70.o(.text);
|
||||||
asm/pushableGrave.o(.text);
|
asm/pushableGrave.o(.text);
|
||||||
asm/object72.o(.text);
|
asm/object72.o(.text);
|
||||||
asm/lilypadSmall.o(.text);
|
asm/lilypadSmall.o(.text);
|
||||||
asm/object74.o(.text);
|
asm/object74.o(.text);
|
||||||
src/bell.o(.text);
|
src/object/bell.o(.text);
|
||||||
asm/macroDecorations.o(.text);
|
asm/macroDecorations.o(.text);
|
||||||
asm/object79.o(.text);
|
asm/object79.o(.text);
|
||||||
asm/steam.o(.text);
|
asm/steam.o(.text);
|
||||||
|
@ -799,7 +800,7 @@ SECTIONS {
|
||||||
asm/bigPushableLever.o(.text);
|
asm/bigPushableLever.o(.text);
|
||||||
asm/smallIceBlock.o(.text);
|
asm/smallIceBlock.o(.text);
|
||||||
asm/bigIceBlock.o(.text);
|
asm/bigIceBlock.o(.text);
|
||||||
src/object86.o(.text);
|
src/object/object86.o(.text);
|
||||||
asm/object87.o(.text);
|
asm/object87.o(.text);
|
||||||
asm/macroBook.o(.text);
|
asm/macroBook.o(.text);
|
||||||
asm/object89.o(.text);
|
asm/object89.o(.text);
|
||||||
|
@ -813,7 +814,7 @@ SECTIONS {
|
||||||
asm/object91.o(.text);
|
asm/object91.o(.text);
|
||||||
asm/bakerOven.o(.text);
|
asm/bakerOven.o(.text);
|
||||||
asm/object93.o(.text);
|
asm/object93.o(.text);
|
||||||
src/windTribeFlag.o(.text);
|
src/object/windTribeFlag.o(.text);
|
||||||
asm/bird.o(.text);
|
asm/bird.o(.text);
|
||||||
asm/object96.o(.text);
|
asm/object96.o(.text);
|
||||||
asm/object97.o(.text);
|
asm/object97.o(.text);
|
||||||
|
@ -821,21 +822,21 @@ SECTIONS {
|
||||||
asm/object99.o(.text);
|
asm/object99.o(.text);
|
||||||
asm/macroAcorn.o(.text);
|
asm/macroAcorn.o(.text);
|
||||||
asm/object9B.o(.text);
|
asm/object9B.o(.text);
|
||||||
src/treeHidingPortal.o(.text);
|
src/object/treeHidingPortal.o(.text);
|
||||||
asm/treeHidingPortal.o(.text);
|
asm/treeHidingPortal.o(.text);
|
||||||
src/lightableSwitch.o(.text);
|
src/object/lightableSwitch.o(.text);
|
||||||
src/object9E.o(.text);
|
src/object/object9E.o(.text);
|
||||||
src/fan.o(.text);
|
src/object/fan.o(.text);
|
||||||
asm/fan.o(.text);
|
asm/fan.o(.text);
|
||||||
asm/objectA0.o(.text);
|
asm/objectA0.o(.text);
|
||||||
asm/palaceArchway.o(.text);
|
asm/palaceArchway.o(.text);
|
||||||
asm/objectA2.o(.text);
|
asm/objectA2.o(.text);
|
||||||
src/cloud.o(.text);
|
src/object/cloud.o(.text);
|
||||||
asm/minishLight.o(.text);
|
asm/minishLight.o(.text);
|
||||||
asm/objectA5.o(.text);
|
asm/objectA5.o(.text);
|
||||||
asm/objectA6.o(.text);
|
asm/objectA6.o(.text);
|
||||||
asm/objectA7.o(.text);
|
asm/objectA7.o(.text);
|
||||||
src/objectA8.o(.text);
|
src/object/objectA8.o(.text);
|
||||||
asm/objectA8.o(.text);
|
asm/objectA8.o(.text);
|
||||||
asm/objectA9.o(.text);
|
asm/objectA9.o(.text);
|
||||||
asm/waterfallOpening.o(.text);
|
asm/waterfallOpening.o(.text);
|
||||||
|
@ -844,18 +845,18 @@ SECTIONS {
|
||||||
asm/objectAD.o(.text);
|
asm/objectAD.o(.text);
|
||||||
asm/floatingBlock.o(.text);
|
asm/floatingBlock.o(.text);
|
||||||
asm/objectAF.o(.text);
|
asm/objectAF.o(.text);
|
||||||
src/metalDoor.o(.text);
|
src/object/metalDoor.o(.text);
|
||||||
asm/jailBars.o(.text);
|
asm/jailBars.o(.text);
|
||||||
asm/objectB2.o(.text);
|
asm/objectB2.o(.text);
|
||||||
asm/objectB3.o(.text);
|
asm/objectB3.o(.text);
|
||||||
asm/objectB4.o(.text);
|
asm/objectB4.o(.text);
|
||||||
asm/objectB5.o(.text);
|
asm/objectB5.o(.text);
|
||||||
asm/objectB6.o(.text);
|
asm/objectB6.o(.text);
|
||||||
src/well.o(.text);
|
src/object/well.o(.text);
|
||||||
asm/windTribeTeleporter.o(.text);
|
asm/windTribeTeleporter.o(.text);
|
||||||
asm/objectB9.o(.text);
|
asm/objectB9.o(.text);
|
||||||
asm/objectBA.o(.text);
|
asm/objectBA.o(.text);
|
||||||
src/windcrest.o(.text);
|
src/object/windcrest.o(.text);
|
||||||
asm/litArea.o(.text);
|
asm/litArea.o(.text);
|
||||||
asm/objectBD.o(.text);
|
asm/objectBD.o(.text);
|
||||||
asm/pinwheel.o(.text);
|
asm/pinwheel.o(.text);
|
||||||
|
@ -914,7 +915,7 @@ SECTIONS {
|
||||||
data/data_080D5360.o(.rodata);
|
data/data_080D5360.o(.rodata);
|
||||||
src/item.o(.rodata);
|
src/item.o(.rodata);
|
||||||
data/data_0811BD44.o(.rodata);
|
data/data_0811BD44.o(.rodata);
|
||||||
src/greatFairy.o(.rodata);
|
src/object/greatFairy.o(.rodata);
|
||||||
data/greatFairyAnimations.o(.rodata);
|
data/greatFairyAnimations.o(.rodata);
|
||||||
data/data_081208A0.o(.rodata);
|
data/data_081208A0.o(.rodata);
|
||||||
data/strings.o(.rodata);
|
data/strings.o(.rodata);
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
#include "global.h"
|
||||||
|
#include "entity.h"
|
||||||
|
#include "npc.h"
|
||||||
|
#include "link.h"
|
||||||
|
#include "textbox.h"
|
||||||
|
|
||||||
|
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 SpriteLoadData* gUnk_0810B6EC[];
|
||||||
|
|
||||||
|
void Townsperson(Entity *this)
|
||||||
|
{
|
||||||
|
if ((this->flags & 2) != 0) {
|
||||||
|
gUnk_0810B77C[this->action](this);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
gUnk_0810B774[this->action](this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08061BC8(Entity *this)
|
||||||
|
{
|
||||||
|
if (LoadExtraSpriteData(this, gUnk_0810B6EC[this->entityType.form])) {
|
||||||
|
this->animationState = 2;
|
||||||
|
this->field_0xf = this->entityType.form + 1;
|
||||||
|
this->action++;
|
||||||
|
sub_08061CB4(this, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_08061C00(Entity *this)
|
||||||
|
{
|
||||||
|
s32 uVar1;
|
||||||
|
|
||||||
|
uVar1 = sub_0806ED9C(this, 0x20, 0x20);
|
||||||
|
if (uVar1 < 0) {
|
||||||
|
uVar1 = this->animationState + 4;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (this->field_0xf == 0) {
|
||||||
|
this->field_0xf = 0x10;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this->field_0xf--;
|
||||||
|
uVar1 = this->animIndex & 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sub_08061CB4(this, uVar1);
|
||||||
|
sub_0806ED78(this);
|
||||||
|
if (this->interactType != 0) {
|
||||||
|
this->interactType = 0;
|
||||||
|
TextboxNoOverlapFollow(this->entityType.parameter + 0xa01);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue