Merge branch 'master' into link

This commit is contained in:
scnorton 2018-01-18 12:53:31 -05:00
commit c6ff1a6ce3
3620 changed files with 632656 additions and 52484 deletions

4
.gitignore vendored
View File

@ -15,8 +15,8 @@
*.latfont
*.hwjpnfont
*.fwjpnfont
src/*.s
tools/*
sound/**/*.bin
tools/agbcc
*.map
*.ld
*.bat

View File

@ -2,12 +2,27 @@ First, you must put a Pokémon Emerald (US) ROM in the root directory of the rep
# Linux
TBD
Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM).
Make sure that there is an environment variable called DEVKITARM with the path of the directory before the "bin" directory containing "arm-none-eabi-as", "arm-none-eabi-cpp", "arm-none-eabi-ld" and "arm-none-eabi-objcopy".
Then get the compiler from https://github.com/pret/agbcc and run the following commands.
build.sh
install.sh PATH_OF_POKEEMERALD_DIRECTORY
Then in the pokeemerald directory, build the tools.
build_tools.sh
Finally, build the rom.
make
# Windows
Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM).
Then get the compiled tools from https://github.com/YamaArashi/pokeruby-tools. Copy the "tools" folder over the "tools" folder in your pokeemerald directory.
Then get the compiled tools from https://github.com/pret/pokeruby-tools. Copy the `tools/` folder over the `tools/` folder in your pokeemerald directory.
You can then build pokeemerald using "make" in the MSYS environment provided with devkitARM.
You can then build pokeemerald using `make` in the MSYS environment provided with devkitARM.

View File

@ -9,10 +9,12 @@ MAP = $(ROM:.gba=.map)
C_SUBDIR = src
ASM_SUBDIR = asm
DATA_ASM_SUBDIR = data
SONG_SUBDIR = sound/songs
C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR)
DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR)
AS := $(DEVKITARM)/bin/arm-none-eabi-as
ASFLAGS := -mcpu=arm7tdmi
@ -29,6 +31,7 @@ LDFLAGS = -Map ../../$(MAP)
OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy
LIBGCC := tools/agbcc/lib/libgcc.a
LIBC := tools/agbcc/lib/libc.a
SHA1 := sha1sum -c
@ -39,17 +42,19 @@ SCANINC := tools/scaninc/scaninc
PREPROC := tools/preproc/preproc
RAMSCRGEN := tools/ramscrgen/ramscrgen
# Clear the default suffixes.
# Clear the default suffixes
.SUFFIXES:
# Don't delete intermediate files
.SECONDARY:
# Delete files that weren't built properly
.DELETE_ON_ERROR:
# Secondary expansion is required for dependency variables in object rules.
.SECONDEXPANSION:
.PRECIOUS: %.1bpp %.4bpp %.8bpp %.gbapal %.lz %.rl
.PHONY: rom clean compare tidy
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR))
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR))
C_SRCS := $(wildcard $(C_SUBDIR)/*.c)
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
@ -60,7 +65,10 @@ ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS))
DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s)
DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS))
OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS)
SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s)
SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS))
OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS)
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
rom: $(ROM)
@ -70,6 +78,8 @@ compare: $(ROM)
@$(SHA1) rom.sha1
clean: tidy
rm -f sound/direct_sound_samples/*.bin
rm -f $(SONG_OBJS)
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
tidy:
@ -79,9 +89,10 @@ tidy:
include graphics_file_rules.mk
%.s: ;
%.bin: ;
%.png: ;
%.pal: ;
%.aif: ;
%.1bpp: %.png ; $(GFX) $< $@
%.4bpp: %.png ; $(GFX) $< $@
%.8bpp: %.png ; $(GFX) $< $@
@ -89,6 +100,10 @@ include graphics_file_rules.mk
%.gbapal: %.png ; $(GFX) $< $@
%.lz: % ; $(GFX) $< $@
%.rl: % ; $(GFX) $< $@
sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(AIF) $< $@ --compress
%.bin: %.aif ; $(AIF) $< $@
sound/songs/%.s: sound/songs/%.mid
cd $(@D) && ../../$(MID) $(<F)
$(C_BUILDDIR)/libc.o: CC1 := tools/agbcc/bin/old_agbcc
$(C_BUILDDIR)/libc.o: CFLAGS := -O2
@ -132,6 +147,9 @@ endif
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep)
$(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@
$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s
$(AS) $(ASFLAGS) -I sound -o $@ $<
$(OBJ_DIR)/sym_bss.ld: sym_bss.txt
$(RAMSCRGEN) .bss $< ENGLISH > $@
@ -142,10 +160,13 @@ $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt
$(RAMSCRGEN) ewram_data $< ENGLISH > $@
$(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" | sed "s#sound/#../../sound/#g" > ld_script.ld
cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld
$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) ../../$(LIBGCC)
cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) ../../$(LIBGCC) ../../$(LIBC)
$(ROM): $(ELF)
$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@
baserom.gba: ;
$(error baserom.gba is required to build)

View File

@ -13,18 +13,22 @@ To set up the repository, see [**INSTALL.md**](INSTALL.md).
* Disassembly of [**Pokémon Red/Blue**][pokered]
* Disassembly of [**Pokémon Yellow**][pokeyellow]
* Disassembly of [**Pokémon Gold**][pokegold]
* Disassembly of [**Pokémon Crystal**][pokecrystal]
* Disassembly of [**Pokémon Pinball**][pokepinball]
* Disassembly of [**Pokémon TCG**][poketcg]
* Disassembly of [**Pokémon Ruby**][pokeruby]
* Disassembly of [**Pokémon Fire Red**][pokefirered]
* Discord: [**pret**][Discord]
* irc: **irc.freenode.net** [**#pret**][irc]
[pokered]: https://github.com/pret/pokered
[pokeyellow]: https://github.com/pret/pokeyellow
[pokegold]: https://github.com/pret/pokegold
[pokecrystal]: https://github.com/pret/pokecrystal
[pokepinball]: https://github.com/pret/pokepinball
[poketcg]: https://github.com/pret/poketcg
[pokeruby]: https://github.com/pret/pokeruby
[pokefirered]: https://github.com/pret/pokefirered
[Discord]: https://discord.gg/cJxDDVP
[irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret

File diff suppressed because it is too large Load Diff

View File

@ -867,7 +867,7 @@ LaunchStatusAnimation: @ 80AA364
strb r4, [r0]
ldr r0, =gAnimBankTarget
strb r4, [r0]
ldr r0, =gUnknown_082C92FC
ldr r0, =gBattleAnims_Statuses
movs r2, 0
bl LaunchBattleAnimation
ldr r0, =task0A_80788BC

View File

@ -14567,7 +14567,7 @@ _08105CCC:
lsls r2, 1
adds r0, r2
str r1, [r0]
ldr r0, =gUnknown_08C22610
ldr r0, =gBattleAnimSpritePalette_206
bl LZDecompressWram
movs r4, 0
_08105D00:
@ -15557,7 +15557,7 @@ _0810653A:
lsls r0, 24
cmp r0, 0
beq _08106578
ldr r1, =gUnknown_08D93960
ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceContest
b _0810658A
.pool
_08106578:
@ -15568,7 +15568,7 @@ _08106578:
lsrs r0, 24
cmp r0, 0x1
bne _0810659C
ldr r1, =gUnknown_08D93598
ldr r1, =gBattleAnimBackgroundTilemap_ScaryFacePlayer
_0810658A:
mov r0, sp
movs r2, 0
@ -15576,7 +15576,7 @@ _0810658A:
b _081065A6
.pool
_0810659C:
ldr r1, =gUnknown_08D9377C
ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceOpponent
mov r0, sp
movs r2, 0
bl sub_80A6D60
@ -17067,8 +17067,8 @@ sub_8107144: @ 8107144
.pool
thumb_func_end sub_8107144
thumb_func_start update_fury_cutter_counter_copy
update_fury_cutter_counter_copy: @ 8107168
thumb_func_start sub_8107168
sub_8107168: @ 8107168
push {lr}
lsls r0, 24
lsrs r0, 24
@ -17081,7 +17081,7 @@ update_fury_cutter_counter_copy: @ 8107168
pop {r0}
bx r0
.pool
thumb_func_end update_fury_cutter_counter_copy
thumb_func_end sub_8107168
thumb_func_start sub_8107188
sub_8107188: @ 8107188
@ -18097,7 +18097,7 @@ _081079E0:
_081079EA:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, =gUnknown_08D94AB8
ldr r1, =gBattleAnimBackgroundImage_Surf
mov r2, sp
ldrh r2, [r2, 0xA]
bl sub_80A6CC0
@ -18106,7 +18106,7 @@ _081079EA:
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08107A24
ldr r0, =gUnknown_08D95DD8
ldr r0, =gBattleAnimBackgroundPalette_Surf
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4
@ -18115,7 +18115,7 @@ _081079EA:
b _08107A32
.pool
_08107A24:
ldr r0, =gUnknown_08D8FB9C
ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4
@ -26969,7 +26969,7 @@ _0810C0E2:
mov r3, sp
ldrh r3, [r3, 0xA]
bl LoadBgTiles
ldr r1, =gUnknown_08D932E0
ldr r1, =gBattleAnimFogTilemap
mov r0, sp
movs r2, 0
bl sub_80A6D60
@ -27251,7 +27251,7 @@ _0810C366:
mov r3, sp
ldrh r3, [r3, 0xA]
bl LoadBgTiles
ldr r1, =gUnknown_08D932E0
ldr r1, =gBattleAnimFogTilemap
mov r0, sp
movs r2, 0
bl sub_80A6D60
@ -36243,7 +36243,7 @@ _08110C10:
mov r0, sp
movs r2, 0
bl sub_80A6D60
ldr r0, =gUnknown_08D8DAB8
ldr r0, =gBattleAnimSpritePalette_261
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4

View File

@ -639,8 +639,8 @@ _0815A5AC:
.pool
thumb_func_end sub_815A52C
thumb_func_start c3_80DE6F0
c3_80DE6F0: @ 815A5C8
thumb_func_start sub_815A5C8
sub_815A5C8: @ 815A5C8
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
@ -656,7 +656,7 @@ c3_80DE6F0: @ 815A5C8
strb r0, [r1]
bx lr
.pool
thumb_func_end c3_80DE6F0
thumb_func_end sub_815A5C8
thumb_func_start sub_815A5F0
sub_815A5F0: @ 815A5F0
@ -3271,8 +3271,8 @@ _0815BAFC:
.pool
thumb_func_end sub_815B7D0
thumb_func_start c3_80DFBE4
c3_80DFBE4: @ 815BB18
thumb_func_start sub_815BB18
sub_815BB18: @ 815BB18
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@ -3297,7 +3297,7 @@ c3_80DFBE4: @ 815BB18
pop {r0}
bx r0
.pool
thumb_func_end c3_80DFBE4
thumb_func_end sub_815BB18
thumb_func_start sub_815BB58
sub_815BB58: @ 815BB58

View File

@ -150,8 +150,8 @@ _08158C4C:
.pool
thumb_func_end sub_8158C04
thumb_func_start mas_80DCF38
mas_80DCF38: @ 8158C58
thumb_func_start sub_8158C58
sub_8158C58: @ 8158C58
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@ -230,7 +230,7 @@ mas_80DCF38: @ 8158C58
pop {r0}
bx r0
.pool
thumb_func_end mas_80DCF38
thumb_func_end sub_8158C58
thumb_func_start sub_8158D08
sub_8158D08: @ 8158D08

View File

@ -7383,12 +7383,12 @@ _08192932:
ldr r1, [sp, 0x24]
cmp r1, r0
bne _08192980
ldr r0, =gUnknown_0860D1D0
ldr r0, =gBattleDomePotentialPointers
ldr r0, [r0, 0x40]
b _0819298A
.pool
_08192980:
ldr r0, =gUnknown_0860D1D0
ldr r0, =gBattleDomePotentialPointers
ldr r2, [sp, 0x20]
lsls r1, r2, 2
adds r1, r0
@ -7503,7 +7503,7 @@ _08192A58:
cmp r7, 0x2
ble _081929AE
movs r7, 0
ldr r2, =gUnknown_0860D214
ldr r2, =gBattleDomeOpponentStylePointers
mov r9, r2
ldr r3, =gUnknown_0860C988
mov r10, r3
@ -8071,7 +8071,7 @@ _08192ED0:
movs r7, 0x2A
_08192ED2:
lsls r0, r7, 2
ldr r3, =gUnknown_0860D294
ldr r3, =gBattleDomeOpponentStatsPointers
adds r0, r3
ldr r0, [r0]
str r0, [sp, 0xC]
@ -9029,7 +9029,7 @@ _081936A0:
movs r0, 0xD0
strb r0, [r1, 0xD]
ldr r4, =gStringVar4
ldr r0, =gUnknown_0860D38C
ldr r0, =gBattleDomeWinStringsPointers
ldr r7, [sp, 0x70]
adds r0, r7, r0
ldr r1, [r0]
@ -9167,7 +9167,7 @@ _08193802:
bl AddTextPrinter
add r0, sp, 0xC
strb r6, [r0, 0xA]
ldr r0, =gUnknown_0860D350
ldr r0, =gBattleDomeMatchNumberPointers
ldr r1, [sp, 0x58]
adds r0, r1, r0
ldr r0, [r0]
@ -13641,7 +13641,7 @@ sub_8195ED8: @ 8195ED8
push {r4,lr}
ldr r4, =gMapHeader
ldrb r0, [r4, 0x17]
bl is_light_level_1_2_3_or_6
bl Overworld_MapTypeAllowsTeleportAndFly
lsls r0, 24
cmp r0, 0
beq _08195F30
@ -13791,7 +13791,7 @@ sub_8195FF8: @ 8195FF8
push {r4-r6,lr}
adds r5, r0, 0
movs r4, 0
ldr r6, =gUnknown_085500A4
ldr r6, =gRematchTable
_08196000:
movs r1, 0xAE
lsls r1, 1
@ -13887,7 +13887,7 @@ task_prev_quest: @ 81960A8
cmp r0, 0
bne _081960C2
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
bl sub_808B864
bl sub_808BCF4
_081960C2:
@ -14097,7 +14097,7 @@ sub_8196274: @ 8196274
_08196298:
movs r1, 0x4
ldrsh r0, [r4, r1]
ldr r1, =gUnknown_0860EF70
ldr r1, =gText_PokenavCallEllipsis
bl sub_81965D8
movs r0, 0x1
_081962A4:
@ -14659,7 +14659,7 @@ sub_8196710: @ 8196710
thumb_func_start sub_819672C
sub_819672C: @ 819672C
push {lr}
ldr r1, =gUnknown_085500A4
ldr r1, =gRematchTable
lsls r0, 4
adds r0, r1
ldrh r2, [r0, 0xA]
@ -14677,10 +14677,10 @@ sub_8196748: @ 8196748
push {r4-r6,lr}
movs r5, 0
movs r6, 0
ldr r4, =gUnknown_085500A4
ldr r4, =gRematchTable
_08196750:
ldrh r0, [r4]
bl HasTrainerAlreadyBeenFought
bl HasTrainerBeenFought
lsls r0, 24
cmp r0, 0
beq _0819675E
@ -14703,10 +14703,10 @@ sub_8196774: @ 8196774
adds r7, r0, 0
movs r4, 0
movs r6, 0
ldr r5, =gUnknown_085500A4
ldr r5, =gRematchTable
_0819677E:
ldrh r0, [r5]
bl HasTrainerAlreadyBeenFought
bl HasTrainerBeenFought
lsls r0, 24
cmp r0, 0
beq _0819679A
@ -14766,7 +14766,7 @@ _081967EC:
adds r4, r0, 0
movs r7, 0x1
adds r0, r5, 0
bl sub_80B1E94
bl UpdateRematchIfDefeated
b _08196832
_0819680A:
bl Random
@ -15270,7 +15270,7 @@ sub_8196B98: @ 8196B98
adds r7, r0, 0
cmp r1, 0xFF
beq _08196C5C
ldr r1, =gUnknown_085500A4
ldr r1, =gRematchTable
lsls r0, r2, 4
adds r2, r0, r1
ldrh r4, [r2, 0xA]
@ -15373,7 +15373,7 @@ sub_8196C70: @ 8196C70
lsls r1, 2
adds r1, r2
ldrh r0, [r1]
bl sub_80B2250
bl GetLastBeatenRematchTrainerId
lsls r0, 16
lsrs r0, 16
ldr r5, =gTrainers

View File

@ -189,7 +189,7 @@ _0819A69C:
bl ResetSpriteData
bl ResetTasks
bl FreeAllSpritePalettes
ldr r0, =gUnknown_08DC0754
ldr r0, =gFrontierFactorySelectMenu_Gfx
ldr r5, =gUnknown_0203CE2C
ldr r1, [r5]
movs r2, 0x88
@ -211,7 +211,7 @@ _0819A69C:
movs r2, 0x60
movs r3, 0
bl LoadBgTiles
ldr r0, =gUnknown_08DC0B94
ldr r0, =gFrontierFactorySelectMenu_Tilemap
ldr r4, =gUnknown_0203CE34
ldr r1, [r4]
movs r2, 0x80
@ -223,7 +223,7 @@ _0819A69C:
movs r0, 0x1
movs r3, 0
bl LoadBgTilemap
ldr r0, =gUnknown_08DC0714
ldr r0, =gFrontierFactorySelectMenu_Pal
movs r1, 0
movs r2, 0x40
bl LoadPalette
@ -6646,7 +6646,7 @@ _0819DDA8:
bl ResetTasks
bl FreeAllSpritePalettes
bl dp13_810BB8C
ldr r0, =gUnknown_08DC0754
ldr r0, =gFrontierFactorySelectMenu_Gfx
ldr r5, =gUnknown_0203CE40
ldr r1, [r5]
movs r2, 0x88
@ -6668,7 +6668,7 @@ _0819DDA8:
movs r2, 0x60
movs r3, 0
bl LoadBgTiles
ldr r0, =gUnknown_08DC0B94
ldr r0, =gFrontierFactorySelectMenu_Tilemap
ldr r4, =gUnknown_0203CE48
ldr r1, [r4]
movs r2, 0x80
@ -6680,7 +6680,7 @@ _0819DDA8:
movs r0, 0x1
movs r3, 0
bl LoadBgTilemap
ldr r0, =gUnknown_08DC0714
ldr r0, =gFrontierFactorySelectMenu_Pal
movs r1, 0
movs r2, 0x40
bl LoadPalette
@ -11329,7 +11329,7 @@ _081A03E6:
bls _081A03E6
movs r5, 0
ldr r7, =gSaveBlock2Ptr
ldr r6, =gUnknown_086109A4
ldr r6, =gUnknown_08610970+0x34
_081A0416:
ldr r0, [r7]
mov r12, r0
@ -11490,7 +11490,7 @@ _081A0540:
mov r12, r1
adds r5, r3, 0
adds r5, 0xB0
ldr r0, =gUnknown_086109A4
ldr r0, =gUnknown_08610970+0x34
mov r8, r0
_081A0560:
adds r0, r3, 0
@ -12380,7 +12380,7 @@ _081A0C8E:
sub_81A0C9C: @ 81A0C9C
push {lr}
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
bl sub_808B864
bl sub_808BCF4
movs r0, 0
@ -17495,7 +17495,7 @@ _081A38A8:
lsrs r3, r0, 24
movs r0, 0x58
muls r0, r3
ldr r1, =gUnknown_086109BA
ldr r1, =gUnknown_08610970+0x4A
_081A38C4:
adds r0, r1
bl ConvertBattleFrontierTrainerSpeechToString
@ -17516,7 +17516,7 @@ _081A38D4:
lsrs r3, r0, 27
movs r0, 0x58
muls r0, r3
ldr r1, =gUnknown_086109BA
ldr r1, =gUnknown_08610970+0x4A
adds r0, r1
bl ConvertBattleFrontierTrainerSpeechToString
_081A38F8:
@ -20736,7 +20736,7 @@ _081A54D4:
bl HandleBattleWindow
movs r0, 0
bl CopyBgTilemapBufferToVram
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
ldr r1, =0x0000ffff
movs r2, 0x80
lsls r2, 1
@ -29290,7 +29290,7 @@ sub_81A9B04: @ 81A9B04
cmp r0, 0
beq _081A9B2E
movs r0, 0x1
bl sub_80B47E0
bl GetChosenApproachingTrainerMapObjectId
ldr r1, =gSelectedMapObject
strb r0, [r1]
ldr r0, =gTrainerBattleOpponent_B
@ -31102,7 +31102,7 @@ sub_81AA96C: @ 81AA96C
lsls r0, 24
lsrs r5, r0, 24
movs r3, 0
ldr r2, =gUnknown_08613655
ldr r2, =gUnknown_08613650+0x5
mov r12, r2
movs r7, 0x7
_081AA994:

File diff suppressed because it is too large Load Diff

View File

@ -3534,7 +3534,7 @@ _08163E10:
bl sub_80B100C
lsls r0, 24
lsrs r0, 24
bl sub_8145EF4
bl BattleTransition_StartOnField
b _08163E68
.pool
_08163E2C:
@ -3544,7 +3544,7 @@ _08163E2C:
ldr r5, =0x00000c03
adds r0, r5, 0
bl sub_8165404
ldr r4, =gUnknown_02038BFC
ldr r4, =gApproachingTrainerId
movs r0, 0
strb r0, [r4]
ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1
@ -3561,7 +3561,7 @@ _08163E2C:
movs r0, 0
bl PlayMapChosenOrBattleBGM
movs r0, 0x12
bl sub_8145EF4
bl BattleTransition_StartOnField
_08163E68:
add sp, 0x4
pop {r4-r6}

File diff suppressed because it is too large Load Diff

View File

@ -115,7 +115,7 @@ _08177CD8:
.4byte _08177DC2
_08177D18:
bl SetVBlankHBlankCallbacksToNull
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
bl clear_scheduled_bg_copies_to_vram
b _08177DDC
_08177D26:
@ -246,7 +246,7 @@ sub_8177E14: @ 8177E14
adds r1, r0
movs r0, 0x3
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x3

2199
asm/bike.s

File diff suppressed because it is too large Load Diff

234
asm/birch_pc.s Normal file
View File

@ -0,0 +1,234 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start ScriptGetPokedexInfo
ScriptGetPokedexInfo: @ 8137A4C
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
cmp r0, 0
bne _08137A70
movs r0, 0
bl sub_80C0844
ldr r1, =gSpecialVar_0x8005
strh r0, [r1]
movs r0, 0x1
bl sub_80C0844
b _08137A80
.pool
_08137A70:
movs r0, 0
bl pokedex_count
ldr r1, =gSpecialVar_0x8005
strh r0, [r1]
movs r0, 0x1
bl pokedex_count
_08137A80:
ldr r1, =gSpecialVar_0x8006
strh r0, [r1]
bl IsNationalPokedexEnabled
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
.pool
thumb_func_end ScriptGetPokedexInfo
thumb_func_start GetPokedexRatingText
GetPokedexRatingText: @ 8137A98
push {lr}
lsls r0, 16
lsrs r0, 16
cmp r0, 0x9
bhi _08137AA4
b _08137BFC
_08137AA4:
cmp r0, 0x13
bhi _08137AB0
ldr r0, =gUnknown_082A5DAB
b _08137C06
.pool
_08137AB0:
cmp r0, 0x1D
bhi _08137ABC
ldr r0, =gUnknown_082A5DF1
b _08137C06
.pool
_08137ABC:
cmp r0, 0x27
bhi _08137AC8
ldr r0, =gUnknown_082A5E34
b _08137C06
.pool
_08137AC8:
cmp r0, 0x31
bhi _08137AD4
ldr r0, =gUnknown_082A5E83
b _08137C06
.pool
_08137AD4:
cmp r0, 0x3B
bhi _08137AE0
ldr r0, =gUnknown_082A5EB9
b _08137C06
.pool
_08137AE0:
cmp r0, 0x45
bhi _08137AEC
ldr r0, =gUnknown_082A5EF4
b _08137C06
.pool
_08137AEC:
cmp r0, 0x4F
bhi _08137AF8
ldr r0, =gUnknown_082A5F39
b _08137C06
.pool
_08137AF8:
cmp r0, 0x59
bhi _08137B04
ldr r0, =gUnknown_082A5F82
b _08137C06
.pool
_08137B04:
cmp r0, 0x63
bhi _08137B10
ldr r0, =gUnknown_082A5FB9
b _08137C06
.pool
_08137B10:
cmp r0, 0x6D
bhi _08137B1C
ldr r0, =gUnknown_082A6018
b _08137C06
.pool
_08137B1C:
cmp r0, 0x77
bhi _08137B28
ldr r0, =gUnknown_082A6061
b _08137C06
.pool
_08137B28:
cmp r0, 0x81
bhi _08137B34
ldr r0, =gUnknown_082A609C
b _08137C06
.pool
_08137B34:
cmp r0, 0x8B
bhi _08137B40
ldr r0, =gUnknown_082A60D5
b _08137C06
.pool
_08137B40:
cmp r0, 0x95
bhi _08137B4C
ldr r0, =gUnknown_082A6124
b _08137C06
.pool
_08137B4C:
cmp r0, 0x9F
bhi _08137B58
ldr r0, =gUnknown_082A616F
b _08137C06
.pool
_08137B58:
cmp r0, 0xA9
bhi _08137B64
ldr r0, =gUnknown_082A61D6
b _08137C06
.pool
_08137B64:
cmp r0, 0xB3
bhi _08137B70
ldr r0, =gUnknown_082A623A
b _08137C06
.pool
_08137B70:
cmp r0, 0xBD
bhi _08137B7C
ldr r0, =gUnknown_082A6287
b _08137C06
.pool
_08137B7C:
cmp r0, 0xC7
bls _08137BEA
cmp r0, 0xC8
bne _08137BB8
ldr r0, =0x00000199
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
bne _08137BEA
movs r0, 0xCD
lsls r0, 1
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
bne _08137BEA
b _08137C04
.pool
_08137BB8:
cmp r0, 0xC9
bne _08137BF8
ldr r0, =0x00000199
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
beq _08137C04
movs r0, 0xCD
lsls r0, 1
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
bl GetSetPokedexFlag
lsls r0, 24
cmp r0, 0
beq _08137C04
_08137BEA:
ldr r0, =gUnknown_082A62C9
b _08137C06
.pool
_08137BF8:
cmp r0, 0xCA
beq _08137C04
_08137BFC:
ldr r0, =gUnknown_082A5D6C
b _08137C06
.pool
_08137C04:
ldr r0, =gUnknown_082A6312
_08137C06:
pop {r1}
bx r1
.pool
thumb_func_end GetPokedexRatingText
thumb_func_start ShowPokedexRatingMessage
ShowPokedexRatingMessage: @ 8137C10
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
bl GetPokedexRatingText
bl ShowFieldMessage
pop {r0}
bx r0
.pool
thumb_func_end ShowPokedexRatingMessage

View File

@ -6652,12 +6652,12 @@ sub_80DB0C4: @ 80DB0C4
push {r4,r5,lr}
ldr r0, =gUnknown_08587C00
bl LoadCompressedObjectPic
ldr r0, =gUnknown_08C1C6B8
ldr r0, =gContest2Pal
movs r1, 0x88
lsls r1, 1
movs r2, 0x20
bl LoadCompressedPalette
ldr r0, =gUnknown_08587BE8
ldr r0, =gSpriteTemplate_8587BE8
movs r1, 0x70
movs r2, 0x24
movs r3, 0x1E
@ -6692,7 +6692,7 @@ sub_80DB120: @ 80DB120
bl LoadCompressedObjectPic
ldr r0, =gUnknown_08587C10
bl LoadCompressedObjectPalette
ldr r0, =gUnknown_08587C18
ldr r0, =gSpriteTemplate_8587C18
movs r1, 0x60
movs r2, 0xA
movs r3, 0x1D
@ -8891,7 +8891,7 @@ _080DC226:
ble _080DC284
movs r0, 0x60
bl PlaySE
ldr r4, =gMPlay_SE1
ldr r4, =gMPlayInfo_SE1
adds r0, r4, 0
bl m4aMPlayImmInit
ldr r1, =0x0000ffff
@ -8946,7 +8946,7 @@ _080DC2C8:
ldrb r0, [r0]
adds r0, r5
ldrb r2, [r0]
ldr r0, =gUnknown_08587AD0
ldr r0, =gSpriteTemplate_8587AD0
movs r1, 0xB4
movs r3, 0x1
bl CreateSprite
@ -9240,7 +9240,7 @@ _080DC506:
ldr r1, =gUnknown_08587AE8
adds r0, r1
bl LoadCompressedObjectPic
ldr r0, =gUnknown_08587B18
ldr r0, =gSpriteTemplate_8587B18
adds r0, r6, r0
ldr r2, =gUnknown_08587A70
ldr r1, =gUnknown_02039F26
@ -9264,7 +9264,7 @@ _080DC506:
adds r0, r1
lsls r0, 2
add r0, r8
ldr r1, =gUnknown_08587B80
ldr r1, =gSubspriteTables_8587B80
bl SetSubspriteTables
ldr r0, [r7]
ldr r0, [r0, 0x14]
@ -9298,7 +9298,7 @@ sub_80DC594: @ 80DC594
bl LoadCompressedObjectPic
ldr r0, =gUnknown_08587BB8
bl LoadSpritePalette
ldr r0, =gUnknown_08587BC8
ldr r0, =gSpriteTemplate_8587BC8
movs r1, 0x1E
movs r2, 0x2C
movs r3, 0x1
@ -9877,7 +9877,7 @@ sub_80DC9EC: @ 80DC9EC
lsls r4, r2, 1
adds r4, r2
lsls r4, 3
ldr r0, =gUnknown_0858998C
ldr r0, =gSpriteTemplate_858998C
adds r4, r0
adds r0, r4, 0
movs r1, 0xB8
@ -11731,7 +11731,7 @@ _080DD956:
ldr r1, [r0]
movs r0, 0x13
ldrsb r0, [r1, r0]
ldr r4, =gUnknown_08D8EC24
ldr r4, =gContestApplauseMeterGfx
cmp r5, r0
bge _080DD966
adds r4, 0x40

View File

@ -2151,7 +2151,7 @@ sub_80F6AE8: @ 80F6AE8
movs r2, 0x80
movs r3, 0x1
bl RequestDma3Fill
ldr r0, =gUnknown_0858D8C8
ldr r0, =gSpriteTemplate_858D8C8
movs r1, 0x8
movs r2, 0x8
movs r3, 0
@ -2454,7 +2454,7 @@ sub_80F6DC0: @ 80F6DC0
push {r4-r6,lr}
sub sp, 0x20
mov r1, sp
ldr r0, =gUnknown_0858D7F8
ldr r0, =gSpriteTemplate_858D7F8
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2-r4}
@ -3564,7 +3564,7 @@ sub_80F7670: @ 80F7670
ldrb r0, [r0, 0x7]
cmp r0, 0x27
bhi _080F7732
ldr r4, =gUnknown_0858D860
ldr r4, =gSpriteTemplate_858D860
bl Random
lsls r0, 16
lsrs r0, 16

View File

@ -386,7 +386,7 @@ sub_813010C: @ 813010C
ldr r1, =gText_Space
adds r0, r4, 0
bl StringAppend
ldr r1, =gUnknown_085B07D4
ldr r1, =gContestRankTextPointers
ldr r0, [r6]
ldrb r0, [r0, 0x1E]
lsls r0, 2
@ -415,7 +415,7 @@ _08130190:
adds r1, 0xB
bl StringCopy
ldr r0, =gStringVar4
ldr r2, =gUnknown_085B07F4
ldr r2, =gContestPaintingDescriptionPointers
lsls r1, r5, 2
adds r1, r2
ldr r1, [r1]

View File

@ -3966,14 +3966,14 @@ _0811BFE0:
b _0811C124
.pool
_0811C044:
ldr r1, =gUnknown_08DCBDD0
ldr r1, =gEasyChatWindow_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x3
movs r2, 0
movs r3, 0
bl copy_decompressed_tile_data_to_vram_autofree
ldr r1, =gUnknown_08DCBF10
ldr r1, =gEasyChatWindow_Tilemap
movs r0, 0x3
movs r2, 0
movs r3, 0
@ -5810,7 +5810,7 @@ sub_811CF04: @ 811CF04
sub_811CF64: @ 811CF64
push {r4,lr}
bl ResetPaletteFade
ldr r0, =gUnknown_08DCBDB0
ldr r0, =gEasyChatMode_Pal
movs r1, 0
movs r2, 0x20
bl LoadPalette
@ -6075,7 +6075,7 @@ _0811D19C:
b _0811D1BC
.pool
_0811D1A8:
ldr r0, =gText_CombineTwoWordsOrPhrases
ldr r0, =gText_CombineTwoWordsOrPhrases3
str r0, [sp, 0xC]
b _0811D1BC
.pool

View File

@ -62,7 +62,7 @@ _0809BF3C:
cmp r6, 0
bne _0809BFA2
_0809BF40:
bl sub_811A138
bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x4
@ -721,7 +721,7 @@ TryGetInvisibleMapObjectScript: @ 809C458
ldr r2, [r0, 0x8]
cmp r2, 0
bne _0809C490
ldr r0, =EventScript_2C8436
ldr r0, =EventScript_TestSignpostMsg
b _0809C532
.pool
_0809C490:
@ -1365,7 +1365,7 @@ per_step_scripts: @ 809C9F4
bne _0809CA04
b _0809CB24
_0809CA04:
bl sub_80B215C
bl IncrementRematchStepCounter
bl AdjustFriendship_step
bl sub_81D4998
ldr r0, =gPlayerAvatar
@ -1531,8 +1531,8 @@ _0809CB72:
.pool
thumb_func_end AdjustFriendship_step
thumb_func_start overworld_poison_timer_set
overworld_poison_timer_set: @ 809CB80
thumb_func_start ResetPoisonStepCounter
ResetPoisonStepCounter: @ 809CB80
push {lr}
ldr r0, =0x0000402b
movs r1, 0
@ -1540,7 +1540,7 @@ overworld_poison_timer_set: @ 809CB80
pop {r0}
bx r0
.pool
thumb_func_end overworld_poison_timer_set
thumb_func_end ResetPoisonStepCounter
thumb_func_start overworld_poison_step
overworld_poison_step: @ 809CB94

View File

@ -1,754 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_808A400
sub_808A400: @ 808A400
push {lr}
adds r2, r0, 0
ldrb r0, [r2, 0x3]
cmp r0, 0x2
bne _0808A420
ldrh r1, [r1, 0x2]
ldr r0, [r2, 0x4]
adds r0, r1
ldr r1, =0x06007e00
movs r2, 0x80
bl CpuFastSet
b _0808A42E
.pool
_0808A420:
ldrh r1, [r1, 0x2]
ldr r0, [r2, 0x4]
adds r0, r1
ldr r1, =0x06007f00
movs r2, 0x40
bl CpuFastSet
_0808A42E:
pop {r0}
bx r0
.pool
thumb_func_end sub_808A400
thumb_func_start door_build_blockdef
door_build_blockdef: @ 808A438
push {r4-r6,lr}
adds r6, r0, 0
lsls r1, 16
lsrs r5, r1, 16
movs r4, 0
adds r1, r6, 0
_0808A444:
ldrb r0, [r2]
lsls r0, 28
lsrs r3, r0, 16
adds r2, 0x1
adds r0, r5, r4
orrs r3, r0
strh r3, [r1]
adds r1, 0x2
adds r4, 0x1
cmp r4, 0x3
ble _0808A444
cmp r4, 0x7
bgt _0808A472
lsls r0, r4, 1
adds r1, r0, r6
_0808A462:
ldrb r0, [r2]
lsls r3, r0, 12
adds r2, 0x1
strh r3, [r1]
adds r1, 0x2
adds r4, 0x1
cmp r4, 0x7
ble _0808A462
_0808A472:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end door_build_blockdef
thumb_func_start door_patch_tilemap
door_patch_tilemap: @ 808A478
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x30
adds r7, r1, 0
mov r9, r2
adds r5, r3, 0
ldrb r0, [r0, 0x3]
cmp r0, 0x2
bne _0808A4F4
add r4, sp, 0x10
movs r1, 0xFC
lsls r1, 2
adds r0, r4, 0
adds r2, r5, 0
bl door_build_blockdef
mov r6, r9
subs r6, 0x1
adds r0, r7, 0
adds r1, r6, 0
adds r2, r4, 0
bl DrawDoorMetatileAt
movs r1, 0xFD
lsls r1, 2
adds r0, r5, 0x4
mov r8, r0
adds r0, r4, 0
mov r2, r8
bl door_build_blockdef
adds r0, r7, 0
mov r1, r9
adds r2, r4, 0
bl DrawDoorMetatileAt
movs r1, 0xFE
lsls r1, 2
adds r0, r4, 0
adds r2, r5, 0
bl door_build_blockdef
adds r5, r7, 0x1
adds r0, r5, 0
adds r1, r6, 0
adds r2, r4, 0
bl DrawDoorMetatileAt
movs r1, 0xFF
lsls r1, 2
adds r0, r4, 0
mov r2, r8
bl door_build_blockdef
adds r0, r5, 0
mov r1, r9
adds r2, r4, 0
bl DrawDoorMetatileAt
b _0808A522
_0808A4F4:
movs r1, 0xFE
lsls r1, 2
mov r0, sp
adds r2, r5, 0
bl door_build_blockdef
mov r1, r9
subs r1, 0x1
adds r0, r7, 0
mov r2, sp
bl DrawDoorMetatileAt
movs r1, 0xFF
lsls r1, 2
adds r2, r5, 0x4
mov r0, sp
bl door_build_blockdef
adds r0, r7, 0
mov r1, r9
mov r2, sp
bl DrawDoorMetatileAt
_0808A522:
add sp, 0x30
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end door_patch_tilemap
thumb_func_start sub_808A530
sub_808A530: @ 808A530
push {r4-r7,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
subs r7, r6, 0x1
adds r0, r5, 0
adds r1, r7, 0
bl CurrentMapDrawMetatileAt
adds r0, r5, 0
adds r1, r6, 0
bl CurrentMapDrawMetatileAt
ldrb r0, [r4, 0x3]
cmp r0, 0x2
bne _0808A562
adds r4, r5, 0x1
adds r0, r4, 0
adds r1, r7, 0
bl CurrentMapDrawMetatileAt
adds r0, r4, 0
adds r1, r6, 0
bl CurrentMapDrawMetatileAt
_0808A562:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_808A530
thumb_func_start sub_808A568
sub_808A568: @ 808A568
push {r4-r7,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
adds r7, r3, 0
ldrh r1, [r5, 0x2]
ldr r0, =0x0000ffff
cmp r1, r0
bne _0808A5B0
adds r0, r4, 0
adds r1, r6, 0
adds r2, r7, 0
bl sub_808A530
bl sub_808A964
lsls r0, 24
cmp r0, 0
beq _0808A5E2
ldr r0, =gSpecialVar_0x8004
ldrh r1, [r0]
adds r1, 0x7
ldr r0, =gSpecialVar_0x8005
ldrh r2, [r0]
adds r2, 0x7
adds r0, r4, 0
bl sub_808A530
b _0808A5E2
.pool
_0808A5B0:
adds r0, r4, 0
adds r1, r5, 0
bl sub_808A400
ldr r3, [r4, 0x8]
adds r0, r4, 0
adds r1, r6, 0
adds r2, r7, 0
bl door_patch_tilemap
bl sub_808A964
lsls r0, 24
cmp r0, 0
beq _0808A5E2
ldr r0, =gSpecialVar_0x8004
ldrh r1, [r0]
adds r1, 0x7
ldr r0, =gSpecialVar_0x8005
ldrh r2, [r0]
adds r2, 0x7
ldr r3, [r4, 0x8]
adds r0, r4, 0
bl door_patch_tilemap
_0808A5E2:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_808A568
thumb_func_start sub_808A5F0
sub_808A5F0: @ 808A5F0
push {r4-r6,lr}
adds r6, r0, 0
adds r5, r1, 0
adds r4, r2, 0
movs r1, 0xA
ldrsh r0, [r4, r1]
cmp r0, 0
bne _0808A616
movs r2, 0x8
ldrsh r1, [r4, r2]
lsls r1, 2
adds r1, r5, r1
movs r0, 0xC
ldrsh r2, [r4, r0]
movs r0, 0xE
ldrsh r3, [r4, r0]
adds r0, r6, 0
bl sub_808A568
_0808A616:
movs r2, 0xA
ldrsh r1, [r4, r2]
movs r2, 0x8
ldrsh r0, [r4, r2]
lsls r0, 2
adds r0, r5
ldrb r0, [r0]
cmp r1, r0
bne _0808A644
movs r0, 0
strh r0, [r4, 0xA]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldrb r0, [r0]
cmp r0, 0
bne _0808A64A
movs r0, 0
b _0808A64C
_0808A644:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
_0808A64A:
movs r0, 0x1
_0808A64C:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_808A5F0
thumb_func_start task50_overworld_door
task50_overworld_door: @ 808A654
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
lsls r2, r4, 2
adds r2, r4
lsls r2, 3
ldr r0, =gTasks + 0x8
adds r2, r0
ldrh r1, [r2]
lsls r1, 16
ldrh r0, [r2, 0x2]
orrs r1, r0
ldrh r0, [r2, 0x4]
lsls r0, 16
ldrh r3, [r2, 0x6]
orrs r0, r3
bl sub_808A5F0
cmp r0, 0
bne _0808A682
adds r0, r4, 0
bl DestroyTask
_0808A682:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end task50_overworld_door
thumb_func_start door_frame_last
door_frame_last: @ 808A68C
push {lr}
adds r1, r0, 0
b _0808A694
_0808A692:
adds r1, 0x4
_0808A694:
ldrb r0, [r1]
cmp r0, 0
bne _0808A692
subs r0, r1, 0x4
pop {r1}
bx r1
thumb_func_end door_frame_last
thumb_func_start door_find
door_find: @ 808A6A0
push {lr}
adds r2, r0, 0
lsls r1, 16
lsrs r1, 16
b _0808A6B6
_0808A6AA:
ldrh r0, [r2]
cmp r0, r1
bne _0808A6B4
adds r0, r2, 0
b _0808A6BE
_0808A6B4:
adds r2, 0xC
_0808A6B6:
ldr r0, [r2, 0x4]
cmp r0, 0
bne _0808A6AA
movs r0, 0
_0808A6BE:
pop {r1}
bx r1
thumb_func_end door_find
thumb_func_start task_overworld_door_add_if_inactive
task_overworld_door_add_if_inactive: @ 808A6C4
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r6, r0, 0
adds r5, r1, 0
adds r7, r2, 0
mov r8, r3
ldr r4, =task50_overworld_door
adds r0, r4, 0
bl FuncIsActiveTask
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0808A718
adds r0, r4, 0
movs r1, 0x50
bl CreateTask
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r2, =gTasks + 0x8
adds r1, r2
strh r7, [r1, 0xC]
mov r2, r8
strh r2, [r1, 0xE]
strh r5, [r1, 0x2]
lsrs r2, r5, 16
strh r2, [r1]
strh r6, [r1, 0x6]
lsrs r2, r6, 16
strh r2, [r1, 0x4]
lsls r0, 24
asrs r0, 24
b _0808A71C
.pool
_0808A718:
movs r0, 0x1
negs r0, r0
_0808A71C:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end task_overworld_door_add_if_inactive
thumb_func_start sub_808A728
sub_808A728: @ 808A728
push {lr}
bl sub_808A530
pop {r0}
bx r0
thumb_func_end sub_808A728
thumb_func_start sub_808A734
sub_808A734: @ 808A734
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
adds r0, r5, 0
adds r1, r6, 0
bl MapGridGetMetatileIdAt
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl door_find
adds r4, r0, 0
cmp r4, 0
beq _0808A76A
ldr r1, =gUnknown_08496F8C
adds r0, r1, 0
bl door_frame_last
adds r1, r0, 0
adds r0, r4, 0
adds r2, r5, 0
adds r3, r6, 0
bl sub_808A568
_0808A76A:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_808A734
thumb_func_start task_overworld_door_add_for_opening_door_at
@ s32 task_overworld_door_add_for_opening_door_at(void *a1, s32 x, s32 y)
task_overworld_door_add_for_opening_door_at: @ 808A774
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
adds r0, r5, 0
adds r1, r6, 0
bl MapGridGetMetatileIdAt
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl door_find
adds r2, r0, 0
adds r4, r2, 0
cmp r2, 0
bne _0808A79E
movs r0, 0x1
negs r0, r0
b _0808A7C0
_0808A79E:
ldrb r0, [r2, 0x3]
cmp r0, 0x2
beq _0808A7B0
ldr r1, =gUnknown_08496F8C
adds r0, r2, 0
b _0808A7B4
.pool
_0808A7B0:
ldr r1, =gUnknown_08496FB4
adds r0, r4, 0
_0808A7B4:
adds r2, r5, 0
adds r3, r6, 0
bl task_overworld_door_add_if_inactive
lsls r0, 24
asrs r0, 24
_0808A7C0:
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end task_overworld_door_add_for_opening_door_at
thumb_func_start sub_808A7CC
sub_808A7CC: @ 808A7CC
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
adds r0, r5, 0
adds r1, r6, 0
bl MapGridGetMetatileIdAt
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl door_find
cmp r0, 0
beq _0808A800
ldr r1, =gUnknown_08496FA0
adds r2, r5, 0
adds r3, r6, 0
bl task_overworld_door_add_if_inactive
lsls r0, 24
asrs r0, 24
b _0808A804
.pool
_0808A800:
movs r0, 0x1
negs r0, r0
_0808A804:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_808A7CC
thumb_func_start cur_mapdata_get_door_x2_at
cur_mapdata_get_door_x2_at: @ 808A80C
push {r4,lr}
adds r4, r0, 0
adds r0, r1, 0
adds r1, r2, 0
bl MapGridGetMetatileIdAt
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl door_find
cmp r0, 0
beq _0808A830
ldrb r0, [r0, 0x2]
lsls r0, 24
asrs r0, 24
b _0808A834
_0808A830:
movs r0, 0x1
negs r0, r0
_0808A834:
pop {r4}
pop {r1}
bx r1
thumb_func_end cur_mapdata_get_door_x2_at
thumb_func_start sub_808A83C
sub_808A83C: @ 808A83C
push {lr}
adds r3, r0, 0
adds r2, r1, 0
ldr r0, =gUnknown_08497174
adds r1, r3, 0
bl task_overworld_door_add_for_opening_door_at
pop {r0}
bx r0
.pool
thumb_func_end sub_808A83C
thumb_func_start FieldSetDoorOpened
FieldSetDoorOpened: @ 808A854
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
bl MetatileBehavior_IsDoor
lsls r0, 24
cmp r0, 0
beq _0808A876
ldr r0, =gUnknown_08497174
adds r1, r4, 0
adds r2, r5, 0
bl sub_808A734
_0808A876:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end FieldSetDoorOpened
thumb_func_start FieldSetDoorClosed
FieldSetDoorClosed: @ 808A880
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
bl MetatileBehavior_IsDoor
lsls r0, 24
cmp r0, 0
beq _0808A8A2
ldr r0, =gUnknown_08497174
adds r1, r4, 0
adds r2, r5, 0
bl sub_808A728
_0808A8A2:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end FieldSetDoorClosed
thumb_func_start FieldAnimateDoorClose
FieldAnimateDoorClose: @ 808A8AC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
bl MetatileBehavior_IsDoor
lsls r0, 24
cmp r0, 0
beq _0808A8D8
ldr r0, =gUnknown_08497174
adds r1, r4, 0
adds r2, r5, 0
bl sub_808A7CC
lsls r0, 24
asrs r0, 24
b _0808A8DC
.pool
_0808A8D8:
movs r0, 0x1
negs r0, r0
_0808A8DC:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end FieldAnimateDoorClose
thumb_func_start FieldAnimateDoorOpen
FieldAnimateDoorOpen: @ 808A8E4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
bl MetatileBehavior_IsDoor
lsls r0, 24
cmp r0, 0
beq _0808A910
ldr r0, =gUnknown_08497174
adds r1, r4, 0
adds r2, r5, 0
bl task_overworld_door_add_for_opening_door_at
lsls r0, 24
asrs r0, 24
b _0808A914
.pool
_0808A910:
movs r0, 0x1
negs r0, r0
_0808A914:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end FieldAnimateDoorOpen
thumb_func_start FieldIsDoorAnimationRunning
FieldIsDoorAnimationRunning: @ 808A91C
push {lr}
ldr r0, =task50_overworld_door
bl FuncIsActiveTask
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
thumb_func_end FieldIsDoorAnimationRunning
thumb_func_start GetDoorSoundEffect
GetDoorSoundEffect: @ 808A930
push {lr}
adds r3, r0, 0
adds r2, r1, 0
ldr r0, =gUnknown_08497174
adds r1, r3, 0
bl cur_mapdata_get_door_x2_at
lsls r0, 24
asrs r0, 24
cmp r0, 0
beq _0808A958
cmp r0, 0x1
bne _0808A954
movs r0, 0x12
b _0808A95E
.pool
_0808A954:
cmp r0, 0x2
beq _0808A95C
_0808A958:
movs r0, 0x8
b _0808A95E
_0808A95C:
movs r0, 0x2F
_0808A95E:
pop {r1}
bx r1
thumb_func_end GetDoorSoundEffect
thumb_func_start sub_808A964
sub_808A964: @ 808A964
push {lr}
ldr r0, =0x00004002
bl FlagGet
lsls r0, 24
cmp r0, 0
beq _0808A990
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r1, [r0, 0x4]
ldr r0, =0x0000101a
cmp r1, r0
bne _0808A990
movs r0, 0x1
b _0808A992
.pool
_0808A990:
movs r0, 0
_0808A992:
pop {r1}
bx r1
thumb_func_end sub_808A964
.align 2, 0 @ Don't pad with nop.

View File

@ -498,8 +498,8 @@ _080B5E68:
bx r1
thumb_func_end FieldEffectActiveListContains
thumb_func_start sub_80B5E6C
sub_80B5E6C: @ 80B5E6C
thumb_func_start CreateTrainerSprite
CreateTrainerSprite: @ 80B5E6C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -566,7 +566,7 @@ sub_80B5E6C: @ 80B5E6C
pop {r1}
bx r1
.pool
thumb_func_end sub_80B5E6C
thumb_func_end CreateTrainerSprite
thumb_func_start sub_80B5F0C
sub_80B5F0C: @ 80B5F0C
@ -1961,7 +1961,7 @@ mapldr_080842E8: @ 80B69FC
movs r1, 0
bl CreateTask
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
@ -2027,7 +2027,7 @@ _080B6A8A:
thumb_func_start mapldr_08084390
mapldr_08084390: @ 80B6AA4
push {r4,lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, =c3_080843F8
movs r1, 0
@ -2057,7 +2057,7 @@ mapldr_08084390: @ 80B6AA4
bl FieldObjectTurn
_080B6AE6:
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
@ -2113,10 +2113,10 @@ _080B6B58:
thumb_func_start sub_80B6B68
sub_80B6B68: @ 80B6B68
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
ldr r0, =sub_80B6B94
movs r1, 0
bl CreateTask
@ -2534,7 +2534,7 @@ _080B6E9A:
sub_80B6EC0: @ 80B6EC0
push {r4,lr}
adds r4, r0, 0
bl player_bitmagic
bl FreezeMapObjects
bl CameraObjectReset2
ldrb r0, [r4, 0xA]
bl sub_80E1558
@ -2780,7 +2780,7 @@ _080B709C:
thumb_func_start sub_80B70B4
sub_80B70B4: @ 80B70B4
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
ldr r0, =sub_80B70DC
@ -3476,7 +3476,7 @@ sub_80B764C: @ 80B764C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
bl player_bitmagic
bl FreezeMapObjects
bl CameraObjectReset2
movs r0, 0
bl SetCameraPanningCallback
@ -3747,7 +3747,7 @@ _080B784C:
thumb_func_start mapldr_080851BC
mapldr_080851BC: @ 80B7868
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
ldr r0, =gFieldCallback
@ -3807,7 +3807,7 @@ sub_80B78EC: @ 80B78EC
adds r5, r0, 0
adds r4, r1, 0
bl CameraObjectReset2
bl player_bitmagic
bl FreezeMapObjects
ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
@ -4055,7 +4055,7 @@ sub_80B7AE8: @ 80B7AE8
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
bl player_bitmagic
bl FreezeMapObjects
bl CameraObjectReset2
ldr r1, =gPlayerAvatar
movs r0, 0x1
@ -4287,7 +4287,7 @@ _080B7CC4:
sub_80B7CC8: @ 80B7CC8
push {lr}
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
ldr r0, =sub_80B7CE4
movs r1, 0x50
bl CreateTask
@ -4458,10 +4458,10 @@ _080B7E40:
thumb_func_start mapldr_080859D4
mapldr_080859D4: @ 80B7E48
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
@ -4672,7 +4672,7 @@ sub_80B800C: @ 80B800C
push {r4,lr}
adds r4, r0, 0
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
bl CameraObjectReset2
bl player_get_direction_lower_nybble
lsls r0, 24
@ -4903,10 +4903,10 @@ _080B81E6:
thumb_func_start mapldr_08085D88
mapldr_08085D88: @ 80B8200
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
@ -6295,7 +6295,7 @@ sub_80B8D44: @ 80B8D44
ldr r0, =gFieldEffectArguments
ldr r0, [r0]
strh r0, [r1, 0x26]
bl sav1_reset_battle_music_maybe
bl Overworld_ClearSavedMusic
ldr r0, =0x0000016d
bl Overworld_ChangeMusicTo
movs r0, 0
@ -6334,7 +6334,7 @@ sub_80B8DB4: @ 80B8DB4
push {r6}
adds r4, r0, 0
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
ldr r5, =gPlayerAvatar
movs r0, 0x1
strb r0, [r5, 0x6]

View File

@ -57,7 +57,7 @@ player_step: @ 808A9C0
bne _0808AA26
adds r0, r7, 0
adds r1, r6, 0
bl sub_8119C3C
bl Bike_TryAcroBikeHistoryUpdate
adds r0, r5, 0
mov r1, r8
bl TryInterruptFieldObjectSpecialAnim
@ -405,7 +405,7 @@ DoForcedMovementInCurrentDirection: @ 808AC58
thumb_func_start ForcedMovement_Slip
ForcedMovement_Slip: @ 808AC8C
push {lr}
ldr r0, =PlayerGoSpeed1
ldr r0, =PlayerGoSpeed2
bl DoForcedMovementInCurrentDirection
lsls r0, 24
lsrs r0, 24
@ -417,7 +417,7 @@ ForcedMovement_Slip: @ 808AC8C
thumb_func_start ForcedMovement_WalkSouth
ForcedMovement_WalkSouth: @ 808ACA0
push {lr}
ldr r1, =PlayerGoSpeed0
ldr r1, =PlayerGoSpeed1
movs r0, 0x1
bl DoForcedMovement
lsls r0, 24
@ -430,7 +430,7 @@ ForcedMovement_WalkSouth: @ 808ACA0
thumb_func_start ForcedMovement_WalkNorth
ForcedMovement_WalkNorth: @ 808ACB8
push {lr}
ldr r1, =PlayerGoSpeed0
ldr r1, =PlayerGoSpeed1
movs r0, 0x2
bl DoForcedMovement
lsls r0, 24
@ -443,7 +443,7 @@ ForcedMovement_WalkNorth: @ 808ACB8
thumb_func_start ForcedMovement_WalkWest
ForcedMovement_WalkWest: @ 808ACD0
push {lr}
ldr r1, =PlayerGoSpeed0
ldr r1, =PlayerGoSpeed1
movs r0, 0x3
bl DoForcedMovement
lsls r0, 24
@ -456,7 +456,7 @@ ForcedMovement_WalkWest: @ 808ACD0
thumb_func_start ForcedMovement_WalkEast
ForcedMovement_WalkEast: @ 808ACE8
push {lr}
ldr r1, =PlayerGoSpeed0
ldr r1, =PlayerGoSpeed1
movs r0, 0x4
bl DoForcedMovement
lsls r0, 24
@ -469,7 +469,7 @@ ForcedMovement_WalkEast: @ 808ACE8
thumb_func_start ForcedMovement_PushedSouthByCurrent
ForcedMovement_PushedSouthByCurrent: @ 808AD00
push {lr}
ldr r1, =PlayerGoSpeed2
ldr r1, =PlayerGoSpeed3
movs r0, 0x1
bl DoForcedMovement
lsls r0, 24
@ -482,7 +482,7 @@ ForcedMovement_PushedSouthByCurrent: @ 808AD00
thumb_func_start ForcedMovement_PushedNorthByCurrent
ForcedMovement_PushedNorthByCurrent: @ 808AD18
push {lr}
ldr r1, =PlayerGoSpeed2
ldr r1, =PlayerGoSpeed3
movs r0, 0x2
bl DoForcedMovement
lsls r0, 24
@ -495,7 +495,7 @@ ForcedMovement_PushedNorthByCurrent: @ 808AD18
thumb_func_start ForcedMovement_PushedWestByCurrent
ForcedMovement_PushedWestByCurrent: @ 808AD30
push {lr}
ldr r1, =PlayerGoSpeed2
ldr r1, =PlayerGoSpeed3
movs r0, 0x3
bl DoForcedMovement
lsls r0, 24
@ -508,7 +508,7 @@ ForcedMovement_PushedWestByCurrent: @ 808AD30
thumb_func_start ForcedMovement_PushedEastByCurrent
ForcedMovement_PushedEastByCurrent: @ 808AD48
push {lr}
ldr r1, =PlayerGoSpeed2
ldr r1, =PlayerGoSpeed3
movs r0, 0x4
bl DoForcedMovement
lsls r0, 24
@ -548,7 +548,7 @@ ForcedMovement_Slide: @ 808AD60
thumb_func_start ForcedMovement_SlideSouth
ForcedMovement_SlideSouth: @ 808AD98
push {lr}
ldr r1, =PlayerGoSpeed1
ldr r1, =PlayerGoSpeed2
movs r0, 0x1
bl ForcedMovement_Slide
lsls r0, 24
@ -561,7 +561,7 @@ ForcedMovement_SlideSouth: @ 808AD98
thumb_func_start ForcedMovement_SlideNorth
ForcedMovement_SlideNorth: @ 808ADB0
push {lr}
ldr r1, =PlayerGoSpeed1
ldr r1, =PlayerGoSpeed2
movs r0, 0x2
bl ForcedMovement_Slide
lsls r0, 24
@ -574,7 +574,7 @@ ForcedMovement_SlideNorth: @ 808ADB0
thumb_func_start ForcedMovement_SlideWest
ForcedMovement_SlideWest: @ 808ADC8
push {lr}
ldr r1, =PlayerGoSpeed1
ldr r1, =PlayerGoSpeed2
movs r0, 0x3
bl ForcedMovement_Slide
lsls r0, 24
@ -587,7 +587,7 @@ ForcedMovement_SlideWest: @ 808ADC8
thumb_func_start ForcedMovement_SlideEast
ForcedMovement_SlideEast: @ 808ADE0
push {lr}
ldr r1, =PlayerGoSpeed1
ldr r1, =PlayerGoSpeed2
movs r0, 0x4
bl ForcedMovement_Slide
lsls r0, 24
@ -630,19 +630,19 @@ ForcedMovement_MuddySlope: @ 808AE10
ands r0, r1
cmp r0, 0x20
bne _0808AE36
bl sub_811A138
bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x3
bgt _0808AE60
_0808AE36:
movs r0, 0
bl sub_811A114
bl Bike_UpdateBikeCounterSpeed
ldrb r0, [r4, 0x1]
movs r1, 0x2
orrs r0, r1
strb r0, [r4, 0x1]
ldr r1, =PlayerGoSpeed1
ldr r1, =PlayerGoSpeed2
movs r0, 0x1
bl DoForcedMovement
lsls r0, 24
@ -791,7 +791,7 @@ _0808AF4E:
cmp r0, 0
beq _0808AF68
adds r0, r5, 0
bl PlayerGoSpeed1
bl PlayerGoSpeed2
b _0808AFB6
.pool
_0808AF68:
@ -829,7 +829,7 @@ _0808AF68:
.pool
_0808AFB0:
adds r0, r5, 0
bl PlayerGoSpeed0
bl PlayerGoSpeed1
_0808AFB6:
pop {r4-r6}
pop {r0}
@ -1471,7 +1471,7 @@ PlayerAvatarTransition_MachBike: @ 808B46C
bl SetPlayerAvatarStateMask
movs r0, 0
movs r1, 0
bl sub_811A0D0
bl BikeClearState
pop {r4}
pop {r0}
bx r0
@ -1497,8 +1497,8 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0
bl SetPlayerAvatarStateMask
movs r0, 0
movs r1, 0
bl sub_811A0D0
bl sub_811A188
bl BikeClearState
bl Bike_HandleBumpySlopeJump
pop {r4}
pop {r0}
bx r0
@ -1774,9 +1774,9 @@ sub_808B6BC: @ 808B6BC
.pool
thumb_func_end sub_808B6BC
thumb_func_start player_npc_set_state_and_x22_etc
@ void player_npc_set_state_and_x22_etc(u8 animState, u8 a2)
player_npc_set_state_and_x22_etc: @ 808B6E4
thumb_func_start PlayerSetAnimId
@ void PlayerSetAnimId(u8 animState, u8 a2)
PlayerSetAnimId: @ 808B6E4
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@ -1802,11 +1802,11 @@ _0808B712:
pop {r0}
bx r0
.pool
thumb_func_end player_npc_set_state_and_x22_etc
thumb_func_end PlayerSetAnimId
thumb_func_start PlayerGoSpeed0
@ void PlayerGoSpeed0(u8 direction)
PlayerGoSpeed0: @ 808B720
thumb_func_start PlayerGoSpeed1
@ void PlayerGoSpeed1(u8 direction)
PlayerGoSpeed1: @ 808B720
push {lr}
lsls r0, 24
lsrs r0, 24
@ -1814,14 +1814,14 @@ PlayerGoSpeed0: @ 808B720
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerGoSpeed0
thumb_func_end PlayerGoSpeed1
thumb_func_start PlayerGoSpeed1
@ void PlayerGoSpeed1(u8 direction)
PlayerGoSpeed1: @ 808B738
thumb_func_start PlayerGoSpeed2
@ void PlayerGoSpeed2(u8 direction)
PlayerGoSpeed2: @ 808B738
push {lr}
lsls r0, 24
lsrs r0, 24
@ -1829,14 +1829,14 @@ PlayerGoSpeed1: @ 808B738
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerGoSpeed1
thumb_func_end PlayerGoSpeed2
thumb_func_start PlayerGoSpeed2
@ void PlayerGoSpeed2(u8 direction)
PlayerGoSpeed2: @ 808B750
thumb_func_start PlayerGoSpeed3
@ void PlayerGoSpeed3(u8 direction)
PlayerGoSpeed3: @ 808B750
push {lr}
lsls r0, 24
lsrs r0, 24
@ -1844,14 +1844,14 @@ PlayerGoSpeed2: @ 808B750
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerGoSpeed2
thumb_func_end PlayerGoSpeed3
thumb_func_start PlayerGoSpeed3
@ void PlayerGoSpeed3(u8 direction)
PlayerGoSpeed3: @ 808B768
thumb_func_start PlayerGoSpeed4
@ void PlayerGoSpeed4(u8 direction)
PlayerGoSpeed4: @ 808B768
push {lr}
lsls r0, 24
lsrs r0, 24
@ -1859,10 +1859,10 @@ PlayerGoSpeed3: @ 808B768
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerGoSpeed3
thumb_func_end PlayerGoSpeed4
thumb_func_start PlayerRun
@ void PlayerRun(u8 direction)
@ -1874,7 +1874,7 @@ PlayerRun: @ 808B780
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerRun
@ -1893,7 +1893,7 @@ PlayerOnBikeCollide: @ 808B798
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
@ -1909,7 +1909,7 @@ PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerOnBikeCollideWithFarawayIslandMew
@ -1928,7 +1928,7 @@ PlayerNotOnBikeCollide: @ 808B7D4
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
@ -1944,7 +1944,7 @@ PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerNotOnBikeCollideWithFarawayIslandMew
@ -1959,7 +1959,7 @@ PlayerFaceDirection: @ 808B810
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerFaceDirection
@ -1974,7 +1974,7 @@ PlayerTurnInPlace: @ 808B828
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerTurnInPlace
@ -1993,7 +1993,7 @@ PlayerJumpLedge: @ 808B840
lsls r0, 24
lsrs r0, 24
movs r1, 0x8
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
@ -2033,8 +2033,8 @@ _0808B89A:
.pool
thumb_func_end sub_808B864
thumb_func_start sub_808B8A8
sub_808B8A8: @ 808B8A8
thumb_func_start PlayerIdleWheelie
PlayerIdleWheelie: @ 808B8A8
push {lr}
lsls r0, 24
lsrs r0, 24
@ -2042,13 +2042,13 @@ sub_808B8A8: @ 808B8A8
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end sub_808B8A8
thumb_func_end PlayerIdleWheelie
thumb_func_start sub_808B8C0
sub_808B8C0: @ 808B8C0
thumb_func_start PlayerStartWheelie
PlayerStartWheelie: @ 808B8C0
push {lr}
lsls r0, 24
lsrs r0, 24
@ -2056,13 +2056,13 @@ sub_808B8C0: @ 808B8C0
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end sub_808B8C0
thumb_func_end PlayerStartWheelie
thumb_func_start sub_808B8D8
sub_808B8D8: @ 808B8D8
thumb_func_start PlayerEndWheelie
PlayerEndWheelie: @ 808B8D8
push {lr}
lsls r0, 24
lsrs r0, 24
@ -2070,13 +2070,13 @@ sub_808B8D8: @ 808B8D8
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end sub_808B8D8
thumb_func_end PlayerEndWheelie
thumb_func_start sub_808B8F0
sub_808B8F0: @ 808B8F0
thumb_func_start PlayerStandingHoppingWheelie
PlayerStandingHoppingWheelie: @ 808B8F0
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@ -2088,14 +2088,14 @@ sub_808B8F0: @ 808B8F0
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_808B8F0
thumb_func_end PlayerStandingHoppingWheelie
thumb_func_start sub_808B914
sub_808B914: @ 808B914
thumb_func_start PlayerMovingHoppingWheelie
PlayerMovingHoppingWheelie: @ 808B914
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@ -2107,14 +2107,14 @@ sub_808B914: @ 808B914
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_808B914
thumb_func_end PlayerMovingHoppingWheelie
thumb_func_start sub_808B938
sub_808B938: @ 808B938
thumb_func_start PlayerLedgeHoppingWheelie
PlayerLedgeHoppingWheelie: @ 808B938
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@ -2126,14 +2126,14 @@ sub_808B938: @ 808B938
lsls r0, 24
lsrs r0, 24
movs r1, 0x8
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_808B938
thumb_func_end PlayerLedgeHoppingWheelie
thumb_func_start sub_808B95C
sub_808B95C: @ 808B95C
thumb_func_start PlayerAcroTurnJump
PlayerAcroTurnJump: @ 808B95C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@ -2145,11 +2145,11 @@ sub_808B95C: @ 808B95C
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_808B95C
thumb_func_end PlayerAcroTurnJump
thumb_func_start sub_808B980
sub_808B980: @ 808B980
@ -2164,7 +2164,7 @@ sub_808B980: @ 808B980
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
@ -2179,7 +2179,7 @@ sub_808B9A4: @ 808B9A4
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end sub_808B9A4
@ -2193,7 +2193,7 @@ sub_808B9BC: @ 808B9BC
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end sub_808B9BC
@ -2207,7 +2207,7 @@ npc_use_some_d2s: @ 808B9D4
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl player_npc_set_state_and_x22_etc
bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end npc_use_some_d2s
@ -2592,9 +2592,9 @@ sub_808BCF4: @ 808BCF4
lsls r0, 24
cmp r0, 0
beq _0808BD2C
bl sub_811A188
bl Bike_HandleBumpySlopeJump
movs r0, 0
bl sub_811A114
bl Bike_UpdateBikeCounterSpeed
_0808BD2C:
pop {r4}
pop {r0}
@ -3896,7 +3896,7 @@ sub_808C750: @ 808C750
lsls r4, 24
lsrs r4, 24
bl ScriptContext2_Enable
bl sav1_reset_battle_music_maybe
bl Overworld_ClearSavedMusic
bl Overworld_ChangeMusicToDefault
ldr r2, =gPlayerAvatar
ldrb r1, [r2]

View File

@ -7527,15 +7527,15 @@ SetSav1Weather: @ 80AED7C
.pool
thumb_func_end SetSav1Weather
thumb_func_start sav1_get_weather_probably
sav1_get_weather_probably: @ 80AEDAC
thumb_func_start GetSav1Weather
GetSav1Weather: @ 80AEDAC
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
adds r0, 0x2E
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sav1_get_weather_probably
thumb_func_end GetSav1Weather
thumb_func_start sub_80AEDBC
sub_80AEDBC: @ 80AEDBC
@ -7565,7 +7565,7 @@ sub_80AEDBC: @ 80AEDBC
sub_80AEDF0: @ 80AEDF0
push {lr}
bl SetSav1Weather
bl sav1_get_weather_probably
bl GetSav1Weather
lsls r0, 24
lsrs r0, 24
bl weather_set
@ -7577,7 +7577,7 @@ sub_80AEDF0: @ 80AEDF0
sub_80AEE08: @ 80AEE08
push {lr}
bl SetSav1Weather
bl sav1_get_weather_probably
bl GetSav1Weather
lsls r0, 24
lsrs r0, 24
bl sub_80AB104
@ -7588,7 +7588,7 @@ sub_80AEE08: @ 80AEE08
thumb_func_start DoCurrentWeather
DoCurrentWeather: @ 80AEE20
push {r4,r5,lr}
bl sav1_get_weather_probably
bl GetSav1Weather
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xF
@ -7632,7 +7632,7 @@ _080AEE6E:
thumb_func_start sub_80AEE84
sub_80AEE84: @ 80AEE84
push {r4,r5,lr}
bl sav1_get_weather_probably
bl GetSav1Weather
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xF
@ -7975,7 +7975,7 @@ _080AF120:
sub_80AF128: @ 80AF128
push {lr}
bl ScriptContext2_Enable
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, =task0A_nop_for_a_while
movs r1, 0xA
@ -8006,7 +8006,7 @@ _080AF160:
sub_80AF168: @ 80AF168
push {lr}
bl ScriptContext2_Enable
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running
movs r1, 0xA
@ -8092,7 +8092,7 @@ _080AF20E:
sub_80AF214: @ 80AF214
push {lr}
bl ScriptContext2_Enable
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl palette_bg_faded_fill_black
ldr r0, =task_mpl_807DD60
movs r1, 0xA
@ -8220,7 +8220,7 @@ _080AF30C:
sub_80AF314: @ 80AF314
push {lr}
bl ScriptContext2_Enable
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl palette_bg_faded_fill_black
ldr r0, =sub_80AF234
movs r1, 0xA
@ -8279,7 +8279,7 @@ _080AF37E:
thumb_func_start mapldr_default
mapldr_default: @ 80AF398
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl sub_80AF334
bl ScriptContext2_Enable
@ -8290,7 +8290,7 @@ mapldr_default: @ 80AF398
thumb_func_start sub_80AF3B0
sub_80AF3B0: @ 80AF3B0
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl sub_80AF08C
bl sub_80AF334
bl ScriptContext2_Enable
@ -8304,7 +8304,7 @@ sub_80AF3C8: @ 80AF3C8
bl sub_81D6534
cmp r0, 0
bne _080AF3D6
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
_080AF3D6:
bl pal_fill_black
bl sub_80AF334
@ -8316,7 +8316,7 @@ _080AF3D6:
thumb_func_start sub_80AF3E8
sub_80AF3E8: @ 80AF3E8
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
movs r0, 0x2E
bl PlaySE
@ -8332,7 +8332,7 @@ sub_80AF3E8: @ 80AF3E8
thumb_func_start sub_80AF40C
sub_80AF40C: @ 80AF40C
push {lr}
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
movs r0, 0x2E
bl PlaySE
@ -8382,7 +8382,7 @@ _080AF46C:
_080AF480:
movs r0, 0
bl sub_80AF0F4
bl player_bitmagic
bl FreezeMapObjects
adds r0, r6, 0
adds r1, r7, 0
bl PlayerGetDestCoords
@ -8508,7 +8508,7 @@ _080AF580:
_080AF58A:
movs r0, 0
bl sub_80AF0F4
bl player_bitmagic
bl FreezeMapObjects
adds r0, r6, 0
adds r1, r7, 0
bl PlayerGetDestCoords
@ -8583,7 +8583,7 @@ task_map_chg_seq_0807E2CC: @ 80AF610
b _080AF65A
.pool
_080AF634:
bl player_bitmagic
bl FreezeMapObjects
bl ScriptContext2_Enable
ldrh r0, [r4, 0x8]
adds r0, 0x1
@ -8680,7 +8680,7 @@ sub_80AF6D4: @ 80AF6D4
sub_80AF6F0: @ 80AF6F0
push {lr}
bl ScriptContext2_Enable
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, =task_mpl_807E3C8
movs r1, 0xA
@ -9062,7 +9062,7 @@ _080AFA34:
beq _080AFA6C
b _080AFA7C
_080AFA3A:
bl player_bitmagic
bl FreezeMapObjects
bl ScriptContext2_Enable
b _080AFA64
_080AFA44:
@ -9133,7 +9133,7 @@ _080AFAC0:
.4byte _080AFBB8
.4byte _080AFBD4
_080AFAD4:
bl player_bitmagic
bl FreezeMapObjects
adds r0, r4, 0
adds r1, r6, 0
bl PlayerGetDestCoords
@ -9290,7 +9290,7 @@ _080AFC1C:
beq _080AFC46
b _080AFC56
_080AFC22:
bl player_bitmagic
bl FreezeMapObjects
bl ScriptContext2_Enable
b _080AFC3E
_080AFC2C:
@ -9877,7 +9877,7 @@ sub_80B009C: @ 80B009C
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
bl sav1_get_flash_used_on_map
bl Overworld_GetFlashLevel
lsls r0, 24
lsrs r0, 24
movs r5, 0
@ -9982,7 +9982,7 @@ task0A_mpl_807E31C: @ 80B0160
b _080B01B6
.pool
_080B0184:
bl player_bitmagic
bl FreezeMapObjects
bl ScriptContext2_Enable
bl sub_808D194
ldrh r0, [r4, 0x8]
@ -10033,7 +10033,7 @@ _080B01E4:
beq _080B022A
b _080B023A
_080B01EE:
bl player_bitmagic
bl FreezeMapObjects
bl ScriptContext2_Enable
movs r0, 0x2D
bl PlaySE

8075
asm/field_specials.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1662,7 +1662,7 @@ _0809E572:
lsls r0, 24
cmp r0, 0
beq _0809E5D2
bl sub_811A138
bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x4

View File

@ -591,7 +591,7 @@ sub_80FA004: @ 80FA004
bne _080FA070
bl sub_80F9F5C
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_80FA0DC
@ -606,7 +606,7 @@ _080FA070:
bne _080FA0A0
bl sub_80F9F5C
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_80FA1E8
@ -625,7 +625,7 @@ _080FA0AE:
_080FA0B2:
bl sub_80F9F5C
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_80FA34C
@ -2275,8 +2275,8 @@ overworld_poison_effect: @ 80FAEA8
.pool
thumb_func_end overworld_poison_effect
thumb_func_start c3_80A0DD8_is_running
c3_80A0DD8_is_running: @ 80FAEC0
thumb_func_start FieldPoisonEffectIsRunning
FieldPoisonEffectIsRunning: @ 80FAEC0
push {lr}
ldr r0, =task50_overworld_poison_effect
bl FuncIsActiveTask
@ -2285,7 +2285,7 @@ c3_80A0DD8_is_running: @ 80FAEC0
pop {r1}
bx r1
.pool
thumb_func_end c3_80A0DD8_is_running
thumb_func_end FieldPoisonEffectIsRunning
thumb_func_start sub_80FAED4
sub_80FAED4: @ 80FAED4

View File

@ -20,7 +20,7 @@ sub_80D3718: @ 80D3718
cmp r0, 0x1
bne _080D3754
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_80D3A9C
@ -322,7 +322,7 @@ _080D395A:
bne _080D39F8
_080D39BC:
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_ruin_valley
@ -360,7 +360,7 @@ _080D3A18:
bne _080D3A2A
_080D3A1E:
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_ruin_valley

709
asm/fldeff_flash.s Normal file
View File

@ -0,0 +1,709 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start SetUpFieldMove_Flash
SetUpFieldMove_Flash: @ 81370FC
push {r4,lr}
bl ShouldDoBrailleFlyEffect
lsls r0, 24
cmp r0, 0
beq _08137134
ldr r4, =gSpecialVar_Result
bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
ldr r1, =gUnknown_03005DB0
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_8179918
b _08137152
.pool
_08137134:
ldr r0, =gMapHeader
ldrb r0, [r0, 0x15]
cmp r0, 0x1
bne _08137170
ldr r0, =0x00000888
bl FlagGet
lsls r0, 24
cmp r0, 0
bne _08137170
ldr r1, =gUnknown_03005DB0
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_flash
_08137152:
str r0, [r1]
movs r0, 0x1
b _08137172
.pool
_08137170:
movs r0, 0
_08137172:
pop {r4}
pop {r1}
bx r1
thumb_func_end SetUpFieldMove_Flash
thumb_func_start hm2_flash
hm2_flash: @ 8137178
push {r4,lr}
bl oei_task_add
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r2, =sub_81371B4
lsrs r1, r2, 16
strh r1, [r0, 0x18]
strh r2, [r0, 0x1A]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end hm2_flash
thumb_func_start sub_81371B4
sub_81371B4: @ 81371B4
push {lr}
movs r0, 0xCF
bl PlaySE
ldr r0, =0x00000888
bl FlagSet
ldr r0, =EventScript_2926F8
bl ScriptContext1_SetupScript
pop {r0}
bx r0
.pool
thumb_func_end sub_81371B4
thumb_func_start sub_81371D4
sub_81371D4: @ 81371D4
push {lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_81371D4
thumb_func_start sub_81371EC
sub_81371EC: @ 81371EC
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_81371EC
thumb_func_start c2_change_map
c2_change_map: @ 8137200
push {r4,lr}
sub sp, 0x8
movs r0, 0
bl SetVBlankCallback
movs r0, 0
movs r1, 0
bl SetGpuReg
movs r0, 0xC
movs r1, 0
bl SetGpuReg
movs r0, 0xA
movs r1, 0
bl SetGpuReg
movs r0, 0x8
movs r1, 0
bl SetGpuReg
movs r0, 0x18
movs r1, 0
bl SetGpuReg
movs r0, 0x1A
movs r1, 0
bl SetGpuReg
movs r0, 0x14
movs r1, 0
bl SetGpuReg
movs r0, 0x16
movs r1, 0
bl SetGpuReg
movs r0, 0x10
movs r1, 0
bl SetGpuReg
movs r0, 0x12
movs r1, 0
bl SetGpuReg
mov r1, sp
movs r0, 0
strh r0, [r1]
ldr r1, =0x040000d4
mov r0, sp
str r0, [r1]
movs r0, 0xC0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, =0x8100c000
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r4, 0
str r4, [sp, 0x4]
add r0, sp, 0x4
str r0, [r1]
movs r0, 0xE0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, =0x85000100
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
mov r0, sp
strh r4, [r0]
str r0, [r1]
ldr r0, =0x05000002
str r0, [r1, 0x4]
ldr r0, =0x810001ff
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
bl ResetPaletteFade
bl ResetTasks
bl ResetSpriteData
ldr r3, =0x04000208
ldrh r2, [r3]
strh r4, [r3]
ldr r4, =0x04000200
ldrh r0, [r4]
movs r1, 0x1
orrs r0, r1
strh r0, [r4]
strh r2, [r3]
ldr r0, =sub_81371EC
bl SetVBlankCallback
ldr r0, =sub_81371D4
bl SetMainCallback2
bl sub_8137304
lsls r0, 24
cmp r0, 0
bne _081372D2
ldr r0, =gMain
ldr r0, [r0, 0x8]
bl SetMainCallback2
_081372D2:
add sp, 0x8
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end c2_change_map
thumb_func_start sub_8137304
sub_8137304: @ 8137304
push {r4-r7,lr}
bl get_map_light_from_warp0
lsls r0, 24
lsrs r6, r0, 24
bl sav1_map_get_light_level
lsls r0, 24
lsrs r5, r0, 24
movs r3, 0
ldr r4, =gUnknown_085B27C8
ldrb r0, [r4]
cmp r0, 0
beq _08137358
adds r7, r4, 0
adds r0, r4, 0x4
mov r12, r0
_08137326:
lsls r2, r3, 3
adds r1, r2, r7
ldrb r0, [r1]
cmp r0, r6
bne _08137348
ldrb r0, [r1, 0x1]
cmp r0, r5
bne _08137348
mov r1, r12
adds r0, r2, r1
ldr r0, [r0]
bl _call_via_r0
movs r0, 0x1
b _0813735A
.pool
_08137348:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
lsls r0, r3, 3
adds r0, r4
ldrb r0, [r0]
cmp r0, 0
bne _08137326
_08137358:
movs r0, 0
_0813735A:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8137304
thumb_func_start sub_8137360
sub_8137360: @ 8137360
push {r4-r6,lr}
lsls r0, 24
lsls r1, 24
lsrs r5, r0, 24
lsrs r4, r1, 24
movs r3, 0
ldr r1, =gUnknown_085B27C8
ldrb r0, [r1]
cmp r0, 0
beq _081373A0
adds r6, r1, 0
_08137376:
lsls r0, r3, 3
adds r2, r0, r6
ldrb r0, [r2]
cmp r0, r5
bne _08137390
ldrb r0, [r2, 0x1]
cmp r0, r4
bne _08137390
ldrb r0, [r2, 0x2]
b _081373A2
.pool
_08137390:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
lsls r0, r3, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08137376
_081373A0:
movs r0, 0
_081373A2:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8137360
thumb_func_start fade_type_for_given_maplight_pair
fade_type_for_given_maplight_pair: @ 81373A8
push {r4-r6,lr}
lsls r0, 24
lsls r1, 24
lsrs r5, r0, 24
lsrs r4, r1, 24
movs r3, 0
ldr r1, =gUnknown_085B27C8
ldrb r0, [r1]
cmp r0, 0
beq _081373E8
adds r6, r1, 0
_081373BE:
lsls r0, r3, 3
adds r2, r0, r6
ldrb r0, [r2]
cmp r0, r5
bne _081373D8
ldrb r0, [r2, 0x1]
cmp r0, r4
bne _081373D8
ldrb r0, [r2, 0x3]
b _081373EA
.pool
_081373D8:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
lsls r0, r3, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _081373BE
_081373E8:
movs r0, 0
_081373EA:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end fade_type_for_given_maplight_pair
thumb_func_start sub_81373F0
sub_81373F0: @ 81373F0
push {lr}
ldr r0, =sub_8137404
movs r1, 0
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end sub_81373F0
thumb_func_start sub_8137404
sub_8137404: @ 8137404
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r0, =sub_8137420
str r0, [r1]
bx lr
.pool
thumb_func_end sub_8137404
thumb_func_start sub_8137420
sub_8137420: @ 8137420
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0
movs r1, 0
bl SetGpuReg
ldr r0, =gCaveTransitionTiles
ldr r1, =0x0600c000
bl LZ77UnCompVram
ldr r0, =gCaveTransitionTilemap
ldr r1, =0x0600f800
bl LZ77UnCompVram
ldr r0, =gCaveTransitionPalette_White
movs r1, 0xE0
movs r2, 0x20
bl LoadPalette
ldr r0, =gUnknown_085B28A0
movs r1, 0xE0
movs r2, 0x10
bl LoadPalette
ldr r1, =0x00003e41
movs r0, 0x50
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
ldr r1, =0x00001f0c
movs r0, 0x8
bl SetGpuReg
movs r1, 0x8A
lsls r1, 5
movs r0, 0
bl SetGpuReg
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, =sub_81374C4
str r1, [r0]
movs r2, 0
movs r1, 0x10
strh r1, [r0, 0x8]
strh r2, [r0, 0xA]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137420
thumb_func_start sub_81374C4
sub_81374C4: @ 81374C4
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r5, r1, r2
ldrh r4, [r5, 0xA]
movs r0, 0x80
lsls r0, 5
adds r1, r4, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x52
bl SetGpuReg
cmp r4, 0x10
bhi _081374F8
ldrh r0, [r5, 0xA]
adds r0, 0x1
strh r0, [r5, 0xA]
b _08137500
.pool
_081374F8:
movs r0, 0
strh r0, [r5, 0xC]
ldr r0, =sub_813750C
str r0, [r5]
_08137500:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81374C4
thumb_func_start sub_813750C
sub_813750C: @ 813750C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r1, =0x00001010
movs r0, 0x52
bl SetGpuReg
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r4, r0, r1
ldrh r1, [r4, 0xC]
cmp r1, 0x7
bhi _08137554
adds r0, r1, 0x1
strh r0, [r4, 0xC]
lsls r1, 1
ldr r0, =gUnknown_085B28A0
adds r0, r1, r0
movs r2, 0x10
subs r2, r1
lsls r2, 16
lsrs r2, 16
movs r1, 0xE0
bl LoadPalette
b _08137566
.pool
_08137554:
ldr r0, =gCaveTransitionPalette_White
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r0, =sub_8137574
str r0, [r4]
movs r0, 0x8
strh r0, [r4, 0xC]
_08137566:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_813750C
thumb_func_start sub_8137574
sub_8137574: @ 8137574
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldrh r2, [r1, 0xC]
movs r3, 0xC
ldrsh r0, [r1, r3]
cmp r0, 0
beq _08137598
subs r0, r2, 0x1
strh r0, [r1, 0xC]
b _081375A0
.pool
_08137598:
ldr r0, =gMain
ldr r0, [r0, 0x8]
bl SetMainCallback2
_081375A0:
pop {r0}
bx r0
.pool
thumb_func_end sub_8137574
thumb_func_start sub_81375A8
sub_81375A8: @ 81375A8
push {lr}
ldr r0, =sub_81375BC
movs r1, 0
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end sub_81375A8
thumb_func_start sub_81375BC
sub_81375BC: @ 81375BC
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r0, =sub_81375D8
str r0, [r1]
bx lr
.pool
thumb_func_end sub_81375BC
thumb_func_start sub_81375D8
sub_81375D8: @ 81375D8
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0
movs r1, 0
bl SetGpuReg
ldr r0, =gCaveTransitionTiles
ldr r1, =0x0600c000
bl LZ77UnCompVram
ldr r0, =gCaveTransitionTilemap
ldr r1, =0x0600f800
bl LZ77UnCompVram
movs r0, 0x50
movs r1, 0
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
ldr r1, =0x00001f0c
movs r0, 0x8
bl SetGpuReg
movs r1, 0x8A
lsls r1, 5
movs r0, 0
bl SetGpuReg
ldr r0, =gCaveTransitionPalette_White
movs r1, 0xE0
movs r2, 0x20
bl LoadPalette
ldr r0, =gCaveTransitionPalette_Black
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, =sub_8137678
str r1, [r0]
movs r2, 0
movs r1, 0x10
strh r1, [r0, 0x8]
strh r2, [r0, 0xA]
strh r2, [r0, 0xC]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81375D8
thumb_func_start sub_8137678
sub_8137678: @ 8137678
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
ldrh r1, [r4, 0xC]
cmp r1, 0xF
bhi _081376B4
adds r2, r1, 0x1
adds r0, r2, 0x1
strh r0, [r4, 0xC]
movs r0, 0xF
subs r0, r1
lsls r0, 1
ldr r1, =gUnknown_085B2890
adds r0, r1
lsls r2, 17
lsrs r2, 16
movs r1, 0xE0
bl LoadPalette
b _081376C8
.pool
_081376B4:
ldr r1, =0x00001010
movs r0, 0x52
bl SetGpuReg
ldr r1, =0x00003e41
movs r0, 0x50
bl SetGpuReg
ldr r0, =sub_81376DC
str r0, [r4]
_081376C8:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8137678
thumb_func_start sub_81376DC
sub_81376DC: @ 81376DC
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r5, r1, r2
ldrh r0, [r5, 0xA]
movs r1, 0x10
subs r1, r0
lsls r1, 16
lsrs r4, r1, 16
movs r0, 0x80
lsls r0, 21
adds r1, r0
lsrs r1, 16
movs r0, 0x52
bl SetGpuReg
cmp r4, 0
beq _08137714
ldrh r0, [r5, 0xA]
adds r0, 0x1
strh r0, [r5, 0xA]
b _08137726
.pool
_08137714:
ldr r0, =gCaveTransitionPalette_Black
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r0, =gMain
ldr r0, [r0, 0x8]
bl SetMainCallback2
_08137726:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81376DC

View File

@ -23,7 +23,7 @@ _08145DD8:
lsrs r0, 24
strh r0, [r4]
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_8145E0C

View File

@ -8,7 +8,7 @@
thumb_func_start SetUpFieldMove_SweetScent
SetUpFieldMove_SweetScent: @ 8159EF0
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_sweet_scent

View File

@ -1,84 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start SetUpFieldMove_Teleport
SetUpFieldMove_Teleport: @ 817C8BC
push {lr}
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
bl is_light_level_1_2_3_or_6
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0817C8D8
movs r0, 0
b _0817C8E6
.pool
_0817C8D8:
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm_teleport_run_dp02scr
str r0, [r1]
movs r0, 0x1
_0817C8E6:
pop {r1}
bx r1
.pool
thumb_func_end SetUpFieldMove_Teleport
thumb_func_start hm_teleport_run_dp02scr
hm_teleport_run_dp02scr: @ 817C8FC
push {lr}
bl sub_808469C
movs r0, 0x3F
bl FieldEffectStart
bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
pop {r0}
bx r0
.pool
thumb_func_end hm_teleport_run_dp02scr
thumb_func_start FldEff_UseTeleport
FldEff_UseTeleport: @ 817C91C
push {lr}
bl oei_task_add
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, =sub_817C94C
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0x1
bl SetPlayerAvatarTransitionFlags
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end FldEff_UseTeleport
thumb_func_start sub_817C94C
sub_817C94C: @ 817C94C
push {lr}
movs r0, 0x3F
bl FieldEffectActiveListRemove
bl sub_80B7FC8
pop {r0}
bx r0
thumb_func_end sub_817C94C
.align 2, 0 @ Don't pad with nop.

73
asm/hof_pc.s Normal file
View File

@ -0,0 +1,73 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start AccessHallOfFamePC
AccessHallOfFamePC: @ 8137C28
push {lr}
ldr r0, =CB2_DoHallOfFamePC
bl SetMainCallback2
bl ScriptContext2_Enable
pop {r0}
bx r0
.pool
thumb_func_end AccessHallOfFamePC
thumb_func_start ReturnFromHallOfFamePC
ReturnFromHallOfFamePC: @ 8137C3C
push {lr}
ldr r0, =c2_exit_to_overworld_2_switch
bl SetMainCallback2
ldr r1, =gFieldCallback
ldr r0, =ReshowPCMenuAfterHallOfFamePC
str r0, [r1]
pop {r0}
bx r0
.pool
thumb_func_end ReturnFromHallOfFamePC
thumb_func_start ReshowPCMenuAfterHallOfFamePC
ReshowPCMenuAfterHallOfFamePC: @ 8137C5C
push {lr}
sub sp, 0x4
bl ScriptContext2_Enable
bl Overworld_PlaySpecialMapMusic
bl sp109_CreatePCMenu
bl sub_80E2514
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r0, =Task_WaitForPaletteFade
movs r1, 0xA
bl CreateTask
add sp, 0x4
pop {r0}
bx r0
.pool
thumb_func_end ReshowPCMenuAfterHallOfFamePC
thumb_func_start Task_WaitForPaletteFade
Task_WaitForPaletteFade: @ 8137C94
push {lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _08137CAC
adds r0, r2, 0
bl DestroyTask
_08137CAC:
pop {r0}
bx r0
.pool
thumb_func_end Task_WaitForPaletteFade

View File

@ -113,8 +113,8 @@ _081DB4D4:
bx r1
thumb_func_end sub_81DB494
thumb_func_start sub_81DB4DC
sub_81DB4DC: @ 81DB4DC
thumb_func_start PadNameString
PadNameString: @ 81DB4DC
push {r4,r5,lr}
adds r4, r0, 0
lsls r1, 24
@ -156,7 +156,7 @@ _081DB51E:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_81DB4DC
thumb_func_end PadNameString
thumb_func_start sub_81DB52C
sub_81DB52C: @ 81DB52C

View File

@ -1945,24 +1945,24 @@ task_intro_13: @ 816DD28
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x8
strb r0, [r1]
ldr r0, =gUnknown_08D88494
ldr r0, =gIntro3GroudonGfx
movs r1, 0xC0
lsls r1, 19
bl LZDecompressVram
ldr r0, =gUnknown_08D88D40
ldr r0, =gIntro3GroudonTilemap
ldr r1, =0x0600c000
bl LZDecompressVram
ldr r0, =gUnknown_08D89F7C
ldr r0, =gIntro3LegendBgGfx
ldr r1, =0x06004000
bl LZDecompressVram
ldr r0, =gUnknown_08D8A818
ldr r0, =gIntro3GroudonBgTilemap
ldr r1, =0x0600e000
bl LZDecompressVram
ldr r0, =gBattleAnimPicTable + 0x1D0
bl LoadCompressedObjectPicUsingHeap
ldr r0, =gBattleAnimPaletteTable + 0x1D0
bl LoadCompressedObjectPaletteUsingHeap
ldr r0, =gUnknown_08D85CD0
ldr r0, =gIntro3BgPal
ldr r1, =gPlttBufferUnfaded
movs r2, 0x80
lsls r2, 1
@ -2229,7 +2229,7 @@ _0816DFF4:
strh r0, [r4, 0xC]
movs r1, 0xE
ldrsh r0, [r4, r1]
ldr r1, =gUnknown_08D85CD0
ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0x3E
movs r2, 0x1
@ -2271,7 +2271,7 @@ _0816E046:
strh r0, [r4, 0xC]
movs r2, 0xE
ldrsh r0, [r4, r2]
ldr r1, =gUnknown_08D85CD0
ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0x3E
movs r2, 0x1
@ -2571,14 +2571,14 @@ task_intro_19: @ 816E2A0
lsls r4, 24
lsrs r4, 24
bl ResetSpriteData
ldr r0, =gUnknown_08D89224
ldr r0, =gIntro3KyogreGfx
movs r1, 0xC0
lsls r1, 19
bl LZDecompressVram
ldr r0, =gUnknown_08D89ABC
ldr r0, =gIntro3KyogreTilemap
ldr r1, =0x0600c000
bl LZDecompressVram
ldr r0, =gUnknown_08D8A934
ldr r0, =gIntro3KyogreBgTilemap
ldr r1, =0x0600e000
bl LZDecompressVram
ldr r0, =gUnknown_085E4C88
@ -2888,7 +2888,7 @@ _0816E56E:
strh r0, [r5, 0xC]
movs r2, 0xE
ldrsh r0, [r5, r2]
ldr r1, =gUnknown_08D85CD0
ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0x5E
movs r2, 0x1
@ -2932,7 +2932,7 @@ _0816E5BC:
strh r0, [r5, 0xC]
movs r2, 0xE
ldrsh r0, [r5, r2]
ldr r1, =gUnknown_08D85CD0
ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0x5E
movs r2, 0x1
@ -3319,7 +3319,7 @@ task_intro_21: @ 816E888
movs r0, 0x1A
movs r1, 0
bl SetGpuReg
ldr r4, =gUnknown_08D8AA54
ldr r4, =gIntro3CloudsGfx
movs r1, 0xC0
lsls r1, 19
adds r0, r4, 0
@ -3327,7 +3327,7 @@ task_intro_21: @ 816E888
ldr r1, =0x06004000
adds r0, r4, 0
bl LZDecompressVram
ldr r0, =gUnknown_08D8B6E8
ldr r0, =gIntro3Clouds3Tilemap
ldr r1, =0x0600e000
bl LZDecompressVram
ldr r1, =gTasks
@ -3349,10 +3349,10 @@ task_intro_22: @ 816E954
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, =gUnknown_08D8B180
ldr r0, =gIntro3Clouds1Tilemap
ldr r1, =0x0600c000
bl LZDecompressVram
ldr r0, =gUnknown_08D8B440
ldr r0, =gIntro3Clouds2Tilemap
ldr r1, =0x0600d000
bl LZDecompressVram
ldr r1, =gTasks
@ -3509,16 +3509,16 @@ task_intro_25: @ 816EAB8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, =gUnknown_08D8C16C
ldr r0, =gIntro3RayquazaTilemap
ldr r1, =0x0600e000
bl LZDecompressVram
ldr r0, =gUnknown_08D8CCC8
ldr r0, =gIntro3Clouds4Tilemap
ldr r1, =0x0600c000
bl LZDecompressVram
ldr r0, =gUnknown_08D8BA74
ldr r0, =gIntro3RayquazaGfx
ldr r1, =0x06004000
bl LZDecompressVram
ldr r0, =gUnknown_08D8C838
ldr r0, =gIntro3Clouds2Gfx
movs r1, 0xC0
lsls r1, 19
bl LZDecompressVram
@ -3725,7 +3725,7 @@ _0816ECA0:
_0816ECAC:
movs r1, 0x30
ldrsh r0, [r4, r1]
ldr r1, =gUnknown_08D85CD0
ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xBA
movs r2, 0x1
@ -3757,7 +3757,7 @@ _0816ECDC:
strh r0, [r4, 0x32]
movs r1, 0x30
ldrsh r0, [r4, r1]
ldr r1, =gUnknown_08D85CD0
ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xBA
movs r2, 0x1
@ -4007,7 +4007,7 @@ _0816EEF4:
movs r2, 0x2
ldrsh r0, [r5, r2]
lsls r0, 1
ldr r1, =gUnknown_08D85E72
ldr r1, =gIntro3BgPal + 0x1A2
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xBC
movs r2, 0x1
@ -4043,7 +4043,7 @@ _0816EF34:
movs r1, 0x2
ldrsh r0, [r5, r1]
lsls r0, 1
ldr r1, =gUnknown_08D85E72
ldr r1, =gIntro3BgPal + 0x1A2
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xB0
movs r2, 0x1
@ -4080,7 +4080,7 @@ _0816EF80:
movs r1, 0x2
ldrsh r0, [r5, r1]
lsls r0, 1
ldr r1, =gUnknown_08D85E52
ldr r1, =gIntro3BgPal + 0x182
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xB8
movs r2, 0x1
@ -4148,7 +4148,7 @@ _0816F00A:
movs r0, 0x50
movs r1, 0x10
bl BlendPalette
ldr r4, =gUnknown_08D85E7C
ldr r4, =gIntro3BgPal + 0x1AC
ldr r5, =gPlttBufferFaded + 0xBC
adds r0, r4, 0
adds r1, r5, 0
@ -5617,7 +5617,7 @@ _0816FBB4:
cmp r0, 0
beq _0816FC14
lsls r0, 1
ldr r4, =gUnknown_08D85C50
ldr r4, =gIntro1GameFreakTextFadePal
adds r0, r4
ldr r5, =gPlttBufferFaded + 0x23E
adds r1, r5, 0
@ -5651,7 +5651,7 @@ _0816FC14:
movs r1, 0x30
ldrsh r0, [r6, r1]
lsls r0, 1
ldr r4, =gUnknown_08D85C50
ldr r4, =gIntro1GameFreakTextFadePal
adds r0, r4
ldr r5, =gPlttBufferFaded + 0x23E
adds r1, r5, 0
@ -5696,7 +5696,7 @@ _0816FC6C:
cmp r0, 0x9
bgt _0816FCE6
lsls r0, 1
ldr r4, =gUnknown_08D85C50
ldr r4, =gIntro1GameFreakTextFadePal
adds r0, r4
ldr r5, =gPlttBufferFaded + 0x23E
adds r1, r5, 0

View File

@ -463,7 +463,7 @@ _081AAF54:
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrb r2, [r4, 0x5]
lsls r2, 1
adds r1, r4, 0
@ -568,7 +568,7 @@ _081AB046:
thumb_func_start bag_menu_init_bgs
bag_menu_init_bgs: @ 81AB050
push {r4,lr}
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
ldr r4, =gUnknown_0203CE54
ldr r0, [r4]
adds r0, 0x4
@ -586,7 +586,7 @@ bag_menu_init_bgs: @ 81AB050
adds r1, 0x4
movs r0, 0x2
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
movs r1, 0x82
@ -637,7 +637,7 @@ _081AB0E8:
.4byte _081AB1A8
_081AB0FC:
bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08D9A620
ldr r1, =gBagScreen_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x2
@ -670,14 +670,14 @@ _081AB13C:
ldrb r0, [r0, 0x8]
cmp r0, 0
beq _081AB164
ldr r0, =gUnknown_08D9A5D4
ldr r0, =gBagScreenFemale_Pal
movs r1, 0
movs r2, 0x40
bl LoadCompressedPalette
b _081AB1AE
.pool
_081AB164:
ldr r0, =gUnknown_08D9A588
ldr r0, =gBagScreenMale_Pal
movs r1, 0
movs r2, 0x40
bl LoadCompressedPalette
@ -719,7 +719,7 @@ _081AB1B2:
b _081AB1E4
.pool
_081AB1CC:
bl sub_8122328
bl LoadListMenuArrowsGfx
ldr r0, [r4]
ldr r1, =0x00000834
adds r0, r1
@ -902,7 +902,7 @@ _081AB30C:
cmp r6, r0
bcc _081AB30C
_081AB34A:
ldr r2, =gUnknown_03006310
ldr r2, =gMultiuseListMenuTemplate
adds r1, r2, 0
ldr r0, =gUnknown_08613F9C
ldm r0!, {r3-r5}
@ -1164,7 +1164,7 @@ _081AB570:
lsrs r0, 16
cmp r0, 0x7
bhi _081AB5BE
ldr r1, =gUnknown_08DC6378
ldr r1, =gBagMenuHMIcon_Gfx
subs r3, r7, 0x1
lsls r3, 16
lsrs r3, 16
@ -1924,7 +1924,7 @@ bag_menu_inits_lists_menu: @ 81ABBBC
bl sub_81ABA88
ldrb r0, [r7, 0x5]
bl load_bag_item_list_buffers
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
mov r2, r8
ldrh r1, [r2]
ldrh r2, [r4]
@ -2133,7 +2133,7 @@ _081ABDCC:
ldrb r0, [r6]
adds r1, r7, 0
mov r2, r8
bl get_coro_args_x18_x1A
bl sub_81AE860
ldrh r2, [r7]
mov r3, r8
ldrh r0, [r3]
@ -2157,12 +2157,12 @@ _081ABDCC:
.pool
_081ABE10:
ldrb r0, [r6]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r4, r0, 0
ldrb r0, [r6]
adds r1, r7, 0
mov r2, r8
bl get_coro_args_x18_x1A
bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r4, r0
@ -2603,7 +2603,7 @@ _081AC1DC:
subs r5, r4, 0x5
ldrb r0, [r5, 0x5]
bl load_bag_item_list_buffers
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrb r2, [r5, 0x5]
lsls r2, 1
adds r1, r4, 0
@ -2847,12 +2847,12 @@ sub_81AC3C0: @ 81AC3C0
adds r1, r2, r1
adds r3, 0x8
adds r2, r3
bl get_coro_args_x18_x1A
bl sub_81AE860
b _081AC472
.pool
_081AC418:
ldrb r0, [r4]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r7, r0, 0
ldrb r0, [r4]
ldr r5, =gUnknown_0203CE58
@ -2864,7 +2864,7 @@ _081AC418:
adds r4, r5, 0
adds r4, 0x8
adds r2, r4
bl get_coro_args_x18_x1A
bl sub_81AE860
movs r0, 0
bl sub_80D4FC8
ldrb r0, [r5, 0x5]
@ -2989,7 +2989,7 @@ _081AC4F8:
_081AC538:
ldrb r0, [r5, 0x5]
bl load_bag_item_list_buffers
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
mov r2, r8
ldrh r1, [r2]
ldrh r2, [r7]
@ -3070,7 +3070,7 @@ sub_81AC590: @ 81AC590
_081AC5F2:
ldrb r0, [r4, 0x5]
bl load_bag_item_list_buffers
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r6]
ldrh r2, [r5]
bl ListMenuInit
@ -3360,7 +3360,7 @@ _081AC8D4:
bl memcpy
ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@ -4326,7 +4326,7 @@ Task_ActuallyToss: @ 81AD150
bl sub_81ABA88
ldrb r0, [r4, 0x5]
bl load_bag_item_list_buffers
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
mov r2, r8
ldrh r1, [r2]
ldrh r2, [r7]
@ -4388,7 +4388,7 @@ _081AD23A:
ldr r0, =gUnknown_0203CE58
ldrb r0, [r0, 0x5]
bl load_bag_item_list_buffers
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r6]
ldrh r2, [r5]
bl ListMenuInit
@ -4664,7 +4664,7 @@ item_menu_type_b: @ 81AD4B4
lsrs r4, r0, 24
ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@ -4748,7 +4748,7 @@ _081AD550:
cmp r6, 0x1
bne _081AD5C4
bl ScriptContext2_Enable
bl player_bitmagic
bl FreezeMapObjects
bl sub_808B864
bl sub_808BCF4
ldr r2, =gSpecialVar_ItemId
@ -5155,7 +5155,7 @@ sub_81AD8C8: @ 81AD8C8
bl sub_81ABA88
ldrb r0, [r7, 0x5]
bl load_bag_item_list_buffers
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
mov r2, r9
ldrh r1, [r2]
ldrh r2, [r5]

View File

@ -266,7 +266,7 @@ sub_80FD254: @ 80FD254
ldr r1, =bag_menu_mail_related
mov r0, sp
movs r2, 0
bl sub_8121478
bl ReadMail
add sp, 0x24
pop {r0}
bx r0
@ -354,7 +354,7 @@ _080FD320:
bl sav1_map_is_biking_allowed
cmp r0, 0x1
bne _080FD348
bl sub_8119FF8
bl IsBikingDisallowedByPlayer
lsls r0, 24
cmp r0, 0
bne _080FD348
@ -1497,7 +1497,7 @@ sub_80FDBEC: @ 80FDBEC
push {lr}
ldr r1, =bag_menu_mail_related
movs r0, 0
bl sub_81357FC
bl OpenPokeblockCase
pop {r0}
bx r0
.pool
@ -1517,7 +1517,7 @@ sub_80FDC00: @ 80FDC00
bl overworld_free_bg_tilemaps
ldr r1, =c2_exit_to_overworld_2_switch
movs r0, 0
bl sub_81357FC
bl OpenPokeblockCase
adds r0, r4, 0
bl DestroyTask
_080FDC24:

View File

@ -1,128 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8145CF4
sub_8145CF4: @ 8145CF4
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r5, r2, 24
bl sub_8145D48
adds r4, r0, 0
cmp r4, 0
bne _08145D10
_08145D0C:
movs r0, 0
b _08145D42
_08145D10:
ldr r6, =0x0000ffff
b _08145D26
.pool
_08145D18:
subs r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
_08145D1E:
adds r4, 0x4
ldr r0, [r4]
cmp r0, 0
beq _08145D0C
_08145D26:
ldr r1, [r4]
ldrh r0, [r1, 0x4]
cmp r0, r6
beq _08145D3A
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08145D1E
_08145D3A:
cmp r5, 0
bne _08145D18
ldr r0, [r4]
ldr r0, [r0]
_08145D42:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8145CF4
thumb_func_start sub_8145D48
sub_8145D48: @ 8145D48
push {r4-r6,lr}
lsls r0, 24
lsrs r3, r0, 24
lsls r1, 24
lsrs r6, r1, 24
movs r2, 0
ldr r0, =gUnknown_085B91B8
ldrb r1, [r0]
adds r4, r0, 0
cmp r1, 0xD5
beq _08145DB8
adds r1, r4, 0
_08145D60:
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, r3
bhi _08145DB8
cmp r0, r3
beq _08145D7E
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0xD5
bne _08145D60
_08145D7E:
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0xD5
bne _08145D98
b _08145DB8
.pool
_08145D90:
adds r0, r4, 0x4
adds r0, r1, r0
ldr r0, [r0]
b _08145DBA
_08145D98:
cmp r0, r3
bne _08145DB8
ldr r5, =gUnknown_085B91B8
_08145D9E:
lsls r1, r2, 3
adds r0, r1, r5
ldrb r0, [r0, 0x1]
cmp r0, r6
beq _08145D90
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
lsls r0, r2, 3
adds r0, r4
ldrb r0, [r0]
cmp r0, r3
beq _08145D9E
_08145DB8:
movs r0, 0
_08145DBA:
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end sub_8145D48
.align 2, 0 @ Don't pad with nop.

View File

@ -94,7 +94,7 @@ sub_81606A0: @ 81606A0
ldr r0, =gUnknown_085CEBB8
bl LoadSpritePalette
bl sub_81610B8
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r4]
ldrh r2, [r4, 0x2]
bl ListMenuInit
@ -151,7 +151,7 @@ sub_8160740: @ 8160740
ldr r0, =gUnknown_085CEBB8
bl LoadSpritePalette
bl sub_81610B8
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r4]
ldrh r2, [r4, 0x2]
bl ListMenuInit
@ -175,14 +175,14 @@ sub_8160740: @ 8160740
thumb_func_start sub_81607EC
sub_81607EC: @ 81607EC
push {lr}
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_085CEC28
movs r0, 0
movs r2, 0x2
bl InitBgsFromTemplates
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r1, 0x82
lsls r1, 5
movs r0, 0
@ -980,7 +980,7 @@ sub_8160F50: @ 8160F50
lsls r4, 1
adds r0, r4
ldrb r0, [r0]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r5, r0, 0
ldr r0, [r6]
adds r0, r4
@ -988,7 +988,7 @@ sub_8160F50: @ 8160F50
ldr r4, =gUnknown_0203BC38
adds r2, r4, 0x2
adds r1, r4, 0
bl get_coro_args_x18_x1A
bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r5, r0

View File

@ -64,7 +64,7 @@ _081AE4B0:
ldr r1, [sp, 0x4]
bl sub_8098858
_081AE4C0:
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, [sp]
ldm r1!, {r3-r5}
@ -87,7 +87,7 @@ _081AE4C0:
.pool
_081AE4F4:
ldrb r0, [r5, 0x6]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
str r0, [r5]
ldr r1, =gMain
ldrh r0, [r1, 0x2E]
@ -227,9 +227,9 @@ _081AE5F0:
bx r1
thumb_func_end Unused_ListMenuInit2
thumb_func_start ListMenuHandleInput
@ int ListMenuHandleInput(u8 taskId)
ListMenuHandleInput: @ 81AE604
thumb_func_start ListMenuHandleInputGetItemId
@ int ListMenuHandleInputGetItemId(u8 taskId)
ListMenuHandleInputGetItemId: @ 81AE604
push {lr}
lsls r0, 24
lsrs r0, 24
@ -337,7 +337,7 @@ _081AE6BE:
_081AE6C2:
pop {r1}
bx r1
thumb_func_end ListMenuHandleInput
thumb_func_end ListMenuHandleInputGetItemId
thumb_func_start sub_81AE6C8
sub_81AE6C8: @ 81AE6C8
@ -557,8 +557,8 @@ _081AE856:
.pool
thumb_func_end sub_81AE838
thumb_func_start get_coro_args_x18_x1A
get_coro_args_x18_x1A: @ 81AE860
thumb_func_start sub_81AE860
sub_81AE860: @ 81AE860
push {lr}
adds r3, r1, 0
lsls r0, 24
@ -581,7 +581,7 @@ _081AE882:
pop {r0}
bx r0
.pool
thumb_func_end get_coro_args_x18_x1A
thumb_func_end sub_81AE860
thumb_func_start ListMenuGetYCoordForPrintingArrowCursor
@ u8 ListMenuGetYCoordForPrintingArrowCursor(u8 taskId)

View File

@ -65,7 +65,7 @@
.byte 3, 4, \slot, \slot, \slot
.endm
.macro sprite_oam x, y, priority, tile_num_offset, size
.macro subsprite x, y, priority, tile_num_offset, size
.byte \x
.byte \y
.2byte ((\priority) << 14) | ((\tile_num_offset) << 4) | SPRITE_SIZE_\size
@ -114,7 +114,22 @@
.4byte 0 @ padding
.endm
.macro obj_rot_scal_anim_end
.macro obj_rot_scal_anim_end unknown=0
.2byte 0x7fff
.fill 6 @ padding
.2byte \unknown
.fill 4 @ padding
.endm
.macro door_anim_frame unknown, offset
.byte \unknown
.byte 0 @ padding
.2byte \offset
.endm
.macro door_anim_gfx metatile_num, unknown, unknown2, tile_addr, palette_addr
.2byte \metatile_num
.byte \unknown
.byte \unknown2
.4byte \tile_addr
.4byte \palette_addr
.endm

View File

@ -0,0 +1,619 @@
.macro if_random_less_than param0, param1
.byte 0x0
.byte \param0
.4byte \param1
.endm
.macro if_random_greater_than param0, param1
.byte 0x1
.byte \param0
.4byte \param1
.endm
.macro if_random_equal param0, param1
.byte 0x2
.byte \param0
.4byte \param1
.endm
.macro if_random_not_equal param0, param1
.byte 0x3
.byte \param0
.4byte \param1
.endm
.macro score param0
.byte 0x4
.byte \param0
.endm
.macro if_hp_less_than bank, param1, param2
.byte 0x5
.byte \bank
.byte \param1
.4byte \param2
.endm
.macro if_hp_more_than bank, param1, param2
.byte 0x6
.byte \bank
.byte \param1
.4byte \param2
.endm
.macro if_hp_equal bank, param1, param2
.byte 0x7
.byte \bank
.byte \param1
.4byte \param2
.endm
.macro if_hp_not_equal bank, param1, param2
.byte 0x8
.byte \bank
.byte \param1
.4byte \param2
.endm
.macro if_status bank, status1, param2
.byte 0x9
.byte \bank
.4byte \status1
.4byte \param2
.endm
.macro if_not_status bank, status1, param2
.byte 0xa
.byte \bank
.4byte \status1
.4byte \param2
.endm
.macro if_status2 bank, status2, param2
.byte 0xb
.byte \bank
.4byte \status2
.4byte \param2
.endm
.macro if_not_status2 bank, status2, param2
.byte 0xc
.byte \bank
.4byte \status2
.4byte \param2
.endm
.macro if_status3 bank, status3, param2
.byte 0xd
.byte \bank
.4byte \status3
.4byte \param2
.endm
.macro if_not_status3 bank, status3, param2
.byte 0xe
.byte \bank
.4byte \status3
.4byte \param2
.endm
.macro if_side_affecting bank, sidestatus, param2
.byte 0xf
.byte \bank
.4byte \sidestatus
.4byte \param2
.endm
.macro if_not_side_affecting bank, sidestatus, param2
.byte 0x10
.byte \bank
.4byte \sidestatus
.4byte \param2
.endm
.macro if_less_than param0, param1
.byte 0x11
.byte \param0
.4byte \param1
.endm
.macro if_more_than param0, param1
.byte 0x12
.byte \param0
.4byte \param1
.endm
.macro if_equal param0, param1
.byte 0x13
.byte \param0
.4byte \param1
.endm
.macro if_not_equal param0, param1
.byte 0x14
.byte \param0
.4byte \param1
.endm
.macro if_less_than_ptr param0, param1
.byte 0x15
.4byte \param0
.4byte \param1
.endm
.macro if_more_than_ptr param0, param1
.byte 0x16
.4byte \param0
.4byte \param1
.endm
.macro if_equal_ptr param0, param1
.byte 0x17
.4byte \param0
.4byte \param1
.endm
.macro if_not_equal_ptr param0, param1
.byte 0x18
.4byte \param0
.4byte \param1
.endm
.macro if_move param0, param1
.byte 0x19
.2byte \param0
.4byte \param1
.endm
.macro if_not_move param0, param1
.byte 0x1a
.2byte \param0
.4byte \param1
.endm
.macro if_in_bytes param0, param1
.byte 0x1b
.4byte \param0
.4byte \param1
.endm
.macro if_not_in_bytes param0, param1
.byte 0x1c
.4byte \param0
.4byte \param1
.endm
.macro if_in_hwords param0, param1
.byte 0x1d
.4byte \param0
.4byte \param1
.endm
.macro if_not_in_hwords param0, param1
.byte 0x1e
.4byte \param0
.4byte \param1
.endm
.macro if_user_has_attacking_move param0
.byte 0x1f
.4byte \param0
.endm
.macro if_user_has_no_attacking_moves param0
.byte 0x20
.4byte \param0
.endm
.macro get_turn_count
.byte 0x21
.endm
.macro get_type param0
.byte 0x22
.byte \param0
.endm
.macro get_considered_move_power
.byte 0x23
.endm
.macro get_how_powerful_move_is
.byte 0x24
.endm
.macro get_last_used_bank_move bank
.byte 0x25
.byte \bank
.endm
.macro if_equal_ param0, param1
.byte 0x26
.byte \param0
.4byte \param1
.endm
.macro if_not_equal_ param0, param1
.byte 0x27
.byte \param0
.4byte \param1
.endm
.macro if_user_goes param0, param1
.byte 0x28
.byte \param0
.4byte \param1
.endm
.macro if_user_doesnt_go param0, param1
.byte 0x29
.byte \param0
.4byte \param1
.endm
.macro nullsub_2A
.byte 0x2a
.endm
.macro nullsub_2B
.byte 0x2b
.endm
.macro count_usable_party_mons bank
.byte 0x2c
.byte \bank
.endm
.macro get_considered_move
.byte 0x2d
.endm
.macro get_considered_move_effect
.byte 0x2e
.endm
.macro get_ability bank
.byte 0x2f
.byte \bank
.endm
.macro get_highest_type_effectiveness
.byte 0x30
.endm
.macro if_type_effectiveness param0, param1
.byte 0x31
.byte \param0
.4byte \param1
.endm
.macro nullsub_32
.byte 0x32
.endm
.macro nullsub_33
.byte 0x33
.endm
.macro if_status_in_party bank, status1, param2
.byte 0x34
.byte \bank
.4byte \status1
.4byte \param2
.endm
.macro if_status_not_in_party bank, status1, param2
.byte 0x35
.byte \bank
.4byte \status1
.4byte \param2
.endm
.macro get_weather
.byte 0x36
.endm
.macro if_effect param0, param1
.byte 0x37
.byte \param0
.4byte \param1
.endm
.macro if_not_effect param0, param1
.byte 0x38
.byte \param0
.4byte \param1
.endm
.macro if_stat_level_less_than bank, stat, param2, param3
.byte 0x39
.byte \bank
.byte \stat
.byte \param2
.4byte \param3
.endm
.macro if_stat_level_more_than bank, stat, param2, param3
.byte 0x3a
.byte \bank
.byte \stat
.byte \param2
.4byte \param3
.endm
.macro if_stat_level_equal bank, stat, param2, param3
.byte 0x3b
.byte \bank
.byte \stat
.byte \param2
.4byte \param3
.endm
.macro if_stat_level_not_equal bank, stat, param2, param3
.byte 0x3c
.byte \bank
.byte \stat
.byte \param2
.4byte \param3
.endm
.macro if_can_faint param0
.byte 0x3d
.4byte \param0
.endm
.macro if_cant_faint param0
.byte 0x3e
.4byte \param0
.endm
.macro if_has_move bank, param1, param2
.byte 0x3f
.byte \bank
.2byte \param1
.4byte \param2
.endm
.macro if_doesnt_have_move bank, param1, param2
.byte 0x40
.byte \bank
.2byte \param1
.4byte \param2
.endm
.macro if_has_move_with_effect bank, param1, param2
.byte 0x41
.byte \bank
.byte \param1
.4byte \param2
.endm
.macro if_doesnt_have_move_with_effect bank, param1, param2
.byte 0x42
.byte \bank
.byte \param1
.4byte \param2
.endm
.macro if_any_move_disabled_or_encored bank, param1, param2
.byte 0x43
.byte \bank
.byte \param1
.4byte \param2
.endm
.macro if_curr_move_disabled_or_encored param0, param1
.byte 0x44
.byte \param0
.4byte \param1
.endm
.macro flee
.byte 0x45
.endm
.macro if_random_safari_flee param0
.byte 0x46
.4byte \param0
.endm
.macro watch
.byte 0x47
.endm
.macro get_hold_effect bank
.byte 0x48
.byte \bank
.endm
.macro get_gender bank
.byte 0x49
.byte \bank
.endm
.macro is_first_turn_for bank
.byte 0x4a
.byte \bank
.endm
.macro get_stockpile_count bank
.byte 0x4b
.byte \bank
.endm
.macro is_double_battle
.byte 0x4c
.endm
.macro get_used_held_item bank
.byte 0x4d
.byte \bank
.endm
.macro get_move_type_from_result
.byte 0x4e
.endm
.macro get_move_power_from_result
.byte 0x4f
.endm
.macro get_move_effect_from_result
.byte 0x50
.endm
.macro get_protect_count bank
.byte 0x51
.byte \bank
.endm
.macro nullsub_52
.byte 0x52
.endm
.macro nullsub_53
.byte 0x53
.endm
.macro nullsub_54
.byte 0x54
.endm
.macro nullsub_55
.byte 0x55
.endm
.macro nullsub_56
.byte 0x56
.endm
.macro nullsub_57
.byte 0x57
.endm
.macro call param0
.byte 0x58
.4byte \param0
.endm
.macro goto param0
.byte 0x59
.4byte \param0
.endm
.macro end
.byte 0x5a
.endm
.macro if_level_cond param0, param1
.byte 0x5b
.byte \param0
.4byte \param1
.endm
.macro if_target_taunted param0
.byte 0x5c
.4byte \param0
.endm
.macro if_target_not_taunted param0
.byte 0x5d
.4byte \param0
.endm
.macro if_target_is_ally param0
.byte 0x5e
.4byte \param0
.endm
.macro is_of_type bank, type
.byte 0x5f
.byte \bank
.byte \type
.endm
.macro check_ability bank, ability
.byte 0x60
.byte \bank
.byte \ability
.endm
.macro if_flash_fired bank, param1
.byte 0x61
.byte \bank
.4byte \param1
.endm
.macro if_holds_item bank, param1, param2
.byte 0x62
.byte \bank
.2byte \param1
.4byte \param2
.endm
@ useful script macros
.macro get_curr_move_type
get_type AI_TYPE_MOVE
.endm
.macro get_user_type1
get_type AI_TYPE1_USER
.endm
.macro get_user_type2
get_type AI_TYPE2_USER
.endm
.macro get_target_type1
get_type AI_TYPE1_TARGET
.endm
.macro get_target_type2
get_type AI_TYPE2_TARGET
.endm
.macro if_ability bank, ability, ptr
check_ability \bank, \ability
if_equal 1, \ptr
.endm
.macro if_no_ability bank, ability, ptr
check_ability \bank, \ability
if_equal 0, \ptr
.endm
.macro if_type bank, type, ptr
is_of_type \bank, \type
if_equal 1, \ptr
.endm
.macro if_no_type bank, type, ptr
is_of_type \bank, \type
if_equal 0, \ptr
.endm
.macro if_target_faster ptr
if_user_goes 1, \ptr
.endm
.macro if_user_faster ptr
if_user_goes 0, \ptr
.endm
.macro if_double_battle ptr
is_double_battle
if_equal 1, \ptr
.endm
.macro if_not_double_battle ptr
is_double_battle
if_equal 0, \ptr
.endm
.macro if_any_move_disabled bank, ptr
if_any_move_disabled_or_encored \bank, 0, \ptr
.endm
.macro if_any_move_encored bank, ptr
if_any_move_disabled_or_encored \bank, 1, \ptr
.endm

View File

@ -0,0 +1,268 @@
@ commands
.macro loadspritegfx param0
.byte 0x0
.2byte \param0
.endm
.macro unloadspritegfx param0
.byte 0x1
.2byte \param0
.endm
.macro createsprite template, priority, argv:vararg
.byte 0x02
.4byte \template
.byte \priority
.byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
.Lsprite_\@_1:
.2byte \argv
.Lsprite_\@_2:
.endm
.macro createvisualtask addr, priority, argv:vararg
.byte 0x03
.4byte \addr
.byte \priority
.byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2
.Lcreatetask_\@_1:
.2byte \argv
.Lcreatetask_\@_2:
.endm
.macro delay param0
.byte 0x4
.byte \param0
.endm
.macro waitforvisualfinish
.byte 0x5
.endm
.macro hang1
.byte 0x6
.endm
.macro hang2
.byte 0x7
.endm
.macro end
.byte 0x8
.endm
.macro playse param0
.byte 0x9
.2byte \param0
.endm
.macro monbg bank
.byte 0xa
.byte \bank
.endm
.macro clearmonbg bank
.byte 0xb
.byte \bank
.endm
.macro setalpha param0
.byte 0xc
.2byte \param0
.endm
.macro blendoff
.byte 0xd
.endm
.macro call param0
.byte 0xe
.4byte \param0
.endm
.macro return
.byte 0xf
.endm
.macro setarg param0, param1
.byte 0x10
.byte \param0
.2byte \param1
.endm
.macro choosetwoturnanim param0, param1
.byte 0x11
.4byte \param0
.4byte \param1
.endm
.macro jumpifmoveturn param0, param1
.byte 0x12
.byte \param0
.4byte \param1
.endm
.macro goto param0
.byte 0x13
.4byte \param0
.endm
.macro fadetobg param0
.byte 0x14
.byte \param0
.endm
.macro restorebg
.byte 0x15
.endm
.macro waitbgfadeout
.byte 0x16
.endm
.macro waitbgfadein
.byte 0x17
.endm
.macro changebg param0
.byte 0x18
.byte \param0
.endm
.macro playsewithpan param0, param1
.byte 0x19
.2byte \param0
.byte \param1
.endm
.macro setpan param0
.byte 0x1a
.byte \param0
.endm
.macro panse_1B param0, param1, param2, param3, param4
.byte 0x1b
.2byte \param0
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
.macro loopsewithpan param0, param1, param2, param3
.byte 0x1c
.2byte \param0
.byte \param1
.byte \param2
.byte \param3
.endm
.macro waitplaysewithpan param0, param1, param2
.byte 0x1d
.2byte \param0
.byte \param1
.byte \param2
.endm
.macro setbldcnt param0
.byte 0x1e
.2byte \param0
.endm
.macro createsoundtask addr, argv:vararg
.byte 0x1F
.4byte \addr
.byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
.Lcreatetask_1F_\@_1:
.2byte \argv
.Lcreatetask_1F_\@_2:
.endm
.macro waitsound
.byte 0x20
.endm
.macro jumpargeq param0, param1, param2
.byte 0x21
.byte \param0
.2byte \param1
.4byte \param2
.endm
.macro monbg_22 bank
.byte 0x22
.byte \bank
.endm
.macro clearmonbg_23 bank
.byte 0x23
.byte \bank
.endm
.macro jumpifcontest param0
.byte 0x24
.4byte \param0
.endm
.macro fadetobgfromset param0, param1, param2
.byte 0x25
.byte \param0
.byte \param1
.byte \param2
.endm
.macro panse_26 param0, param1, param2, param3, param4
.byte 0x26
.2byte \param0
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
.macro panse_27 param0, param1, param2, param3, param4
.byte 0x27
.2byte \param0
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
.macro monbgprio_28 bank
.byte 0x28
.byte \bank
.endm
.macro monbgprio_29
.byte 0x29
.endm
.macro monbgprio_2A bank
.byte 0x2a
.byte \bank
.endm
.macro invisible bank
.byte 0x2b
.byte \bank
.endm
.macro visible bank
.byte 0x2c
.byte \bank
.endm
.macro doublebattle_2D bank
.byte 0x2d
.byte \bank
.endm
.macro doublebattle_2E bank
.byte 0x2e
.byte \bank
.endm
.macro stopsound
.byte 0x2f
.endm

View File

@ -1,20 +1,20 @@
@ Does nothing.
.macro nop
.macro nop
.byte 0x00
.endm
@ Does nothing.
.macro nop1
.macro nop1
.byte 0x01
.endm
@ Terminates script execution.
.macro end
.macro end
.byte 0x02
.endm
@ Jumps back to after the last-executed call statement, and continues script execution from there.
.macro return
.macro return
.byte 0x03
.endm
@ -71,12 +71,12 @@
.endm
@ Executes a script stored in a default RAM location.
.macro gotoram
.macro gotoram
.byte 0x0c
.endm
@ Terminates script execution and "resets the script RAM".
.macro killscript
.macro killscript
.byte 0x0d
.endm
@ -226,6 +226,18 @@
.2byte \var2
.endm
@ Generic compare macro which attempts to deduce argument types based on their values
@ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers
.macro compare arg1, arg2
.if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8)
compare_var_to_var \arg1, \arg2
.elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF)
compare_var_to_value \arg1, \arg2
.else
.error "Invalid arguments for 'compare'"
.endif
.endm
@ Calls the native C function stored at `func`.
.macro callnative func
.byte 0x23
@ -252,7 +264,7 @@
.endm
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang).
.macro waitstate
.macro waitstate
.byte 0x27
.endm
@ -288,12 +300,12 @@
.endm
@ Runs time based events. In FireRed, this command is a nop.
.macro dodailyevents
.macro dodailyevents
.byte 0x2d
.endm
@ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG, this command sets those variables to zero.
.macro gettime
.macro gettime
.byte 0x2e
.endm
@ -304,7 +316,7 @@
.endm
@ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing.
.macro waitse
.macro waitse
.byte 0x30
.endm
@ -315,7 +327,7 @@
.endm
@ Blocks script execution until all currently-playing fanfares finish.
.macro waitfanfare
.macro waitfanfare
.byte 0x32
.endm
@ -333,7 +345,7 @@
.endm
@ Crossfades the currently-playing song into the map's default song.
.macro fadedefaultbgm
.macro fadedefaultbgm
.byte 0x35
.endm
@ -441,7 +453,7 @@
.endm
@ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
.macro getpartysize
.macro getpartysize
.byte 0x43
.endm
@ -518,57 +530,58 @@
.endm
@ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open.
.macro applymovement index, movements
.byte 0x4f
.2byte \index
.4byte \movements
.endm
@ Applies the movement data at movements to the specified (index) Object on the specified (map_group, map_num) map. Really only useful if the object has followed from one map to another (e.g. Wally during the catching event).
.macro applymovementat variable, movements, map
.byte 0x50
.2byte \variable
.4byte \movements
map \map
@ If no map is specified, then the current map is used.
.macro applymovement index, movements, map
.ifb \map
.byte 0x4f
.2byte \index
.4byte \movements
.else
@ Really only useful if the object has followed from one map to another (e.g. Wally during the catching event).
.byte 0x50
.2byte \index
.4byte \movements
map \map
.endif
.endm
@ Blocks script execution until the movements being applied to the specified (index) Object finish. If the specified Object is 0x0000, then the command will block script execution until all Objects affected by applymovement finish their movements. If the specified Object is not currently being manipulated with applymovement, then this command does nothing.
.macro waitmovement index
.byte 0x51
.2byte \index
.endm
@ Blocks script execution until the movements being applied to the specified (index) Object on the specified (map) map finish.
.macro waitmovementat index, map
.byte 0x52
.2byte \index
map \map
.endm
@ Attempts to hide the specified (index) Object on the current map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
.macro removeobject index
.byte 0x53
.2byte \index
@ If no map is specified, then the current map is used.
.macro waitmovement index, map
.ifb \map
.byte 0x51
.2byte \index
.else
.byte 0x52
.2byte \index
map \map
.endif
.endm
@ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
.macro removeobjectat index, map
.byte 0x54
.2byte \index
map \map
.endm
@ Unsets the specified (index) Object's visibility flag on the current map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
.macro addobject index
.byte 0x55
.2byte \index
@ If no map is specified, then the current map is used.
.macro removeobject index, map
.ifb \map
.byte 0x53
.2byte \index
.else
.byte 0x54
.2byte \index
map \map
.endif
.endm
@ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
.macro addobjectat index, map
.byte 0x56
.2byte \index
map \map
@ If no map is specified, then the current map is used.
.macro addobject index, map
.ifb \map
.byte 0x55
.2byte \index
.else
.byte 0x56
.2byte \index
map \map
.endif
.endm
@ Sets the specified (index) Object's position on the current map.
@ -592,7 +605,7 @@
.endm
@ If the script was called by an Object, then that Object will turn to face toward the metatile that the player is standing on.
.macro faceplayer
.macro faceplayer
.byte 0x5a
.endm
@ -659,15 +672,17 @@
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes.
.macro trainerbattlebegin
.macro trainerbattlebegin
.byte 0x5d
.endm
.macro ontrainerbattleend
@ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c)
.macro gotopostbattlescript
.byte 0x5e
.endm
.macro ontrainerbattleendgoto
@ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c)
.macro gotobeatenscript
.byte 0x5f
.endm
@ -708,7 +723,7 @@
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn.
.macro waitmessage
.macro waitmessage
.byte 0x66
.endm
@ -719,32 +734,32 @@
.endm
@ Closes the current message box.
.macro closemessage
.macro closemessage
.byte 0x68
.endm
@ Ceases movement for all Objects on-screen.
.macro lockall
.macro lockall
.byte 0x69
.endm
@ If the script was called by an Object, then that Object's movement will cease.
.macro lock
.macro lock
.byte 0x6a
.endm
@ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open.
.macro releaseall
.macro releaseall
.byte 0x6b
.endm
@ If the script was called by an Object, then that Object's movement will resume. This command also closes any standard message boxes that are still open.
.macro release
.macro release
.byte 0x6c
.endm
@ Blocks script execution until the player presses any key.
.macro waitbuttonpress
.macro waitbuttonpress
.byte 0x6d
.endm
@ -785,7 +800,7 @@
.endm
@ Nopped in Emerald.
.macro drawbox
.macro drawbox
.byte 0x72
.endm
@ -816,7 +831,7 @@
.endm
@ Hides all boxes displayed with drawmonpic.
.macro erasemonpic
.macro erasemonpic
.byte 0x76
.endm
@ -848,11 +863,11 @@
.2byte \species
.endm
.macro setmonmove byte1, byte2, word
.macro setmonmove index, slot, move
.byte 0x7b
.byte \byte1
.byte \byte2
.2byte \word
.byte \index
.byte \slot
.2byte \move
.endm
@ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species.
@ -956,22 +971,22 @@
.endm
@ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01.
.macro choosecontestpkmn
.macro choosecontestmon
.byte 0x8b
.endm
@ Starts a contest. In FireRed, this command is a nop.
.macro startcontest
.macro startcontest
.byte 0x8c
.endm
@ Shows the results of a contest. In FireRed, this command is a nop.
.macro showcontestresults
.macro showcontestresults
.byte 0x8d
.endm
@ Starts a contest over a link connection. In FireRed, this command is a nop.
.macro contestlinktransfer
.macro contestlinktransfer
.byte 0x8e
.endm
@ -1011,7 +1026,7 @@
.endm
@ Hides the secondary box spawned by showmoney.
.macro hidemoneybox
.macro hidemoneybox
.byte 0x94
.endm
@ -1022,10 +1037,10 @@
.byte \y
.endm
@ Gets the price reduction for the index (word) given. In FireRed, this command is a nop.
.macro getpricereduction word
@ Gets the price reduction for the index given. In FireRed, this command is a nop.
.macro getpricereduction index
.byte 0x96
.2byte \word
.2byte \index
.endm
@ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white.
@ -1076,13 +1091,13 @@
.endm
@ Sets which healing place the player will return to if all of the Pokemon in their party faint.
.macro setrespawn flightspot
.macro setrespawn heallocation
.byte 0x9f
.2byte \flightspot
.2byte \heallocation
.endm
@ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT.
.macro checkplayergender
.macro checkplayergender
.byte 0xa0
.endm
@ -1103,7 +1118,7 @@
.endm
@ Queues a weather change to the default weather for the map.
.macro resetweather
.macro resetweather
.byte 0xa3
.endm
@ -1114,7 +1129,7 @@
.endm
@ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather.
.macro doweather
.macro doweather
.byte 0xa5
.endm
@ -1173,7 +1188,7 @@
.endm
@ Waits for the door animation started with opendoor or closedoor to finish.
.macro waitdooranim
.macro waitdooranim
.byte 0xae
.endm
@ -1185,7 +1200,7 @@
.endm
@ Sets the door tile at (x, y) to be closed without an animation.
.macro setdoorclosed2 x, y
.macro setdoorclosed x, y
.byte 0xb0
.2byte \x
.2byte \y
@ -1201,7 +1216,7 @@
.endm
@ In FireRed and Emerald, this command is a nop.
.macro showelevmenu
.macro showelevmenu
.byte 0xb2
.endm
@ -1215,9 +1230,9 @@
.2byte \count
.endm
.macro takecoins word
.macro takecoins count
.byte 0xb5
.2byte \word
.2byte \count
.endm
@ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle.
@ -1229,14 +1244,13 @@
.endm
@ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes.
.macro dowildbattle
.macro dowildbattle
.byte 0xb7
.endm
.macro setvaddress long, word
.macro setvaddress pointer
.byte 0xb8
.4byte \long
.2byte \word
.4byte \pointer
.endm
.macro vgoto pointer
@ -1314,7 +1328,7 @@
.endm
@ Blocks script execution until cry finishes.
.macro waitmoncry
.macro waitmoncry
.byte 0xc5
.endm
@ -1338,17 +1352,17 @@
.endm
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened.
.macro unloadhelp
.macro unloadhelp
.byte 0xc9
.endm
@ After using this command, all standard message boxes will use the signpost frame.
.macro signmsg
.macro signmsg
.byte 0xca
.endm
@ Ends the effects of signmsg, returning message box frames to normal.
.macro normalmsg
.macro normalmsg
.byte 0xcb
.endm
@ -1372,7 +1386,7 @@
.endm
@ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0.
.macro execram
.macro execram
.byte 0xcf
.endm
@ -1403,7 +1417,7 @@
.2byte \unknown
.endm
.macro mossdeepgym2
.macro mossdeepgym2
.byte 0xd4
.endm
@ -1413,7 +1427,7 @@
.2byte \var
.endm
.macro mossdeepgym4
.macro mossdeepgym4
.byte 0xd6
.endm
@ -1425,15 +1439,15 @@
.2byte \word2
.endm
.macro cmdD8
.macro cmdD8
.byte 0xd8
.endm
.macro cmdD9
.macro cmdD9
.byte 0xd9
.endm
.macro hidebox2
.macro hidebox2
.byte 0xda
.endm
@ -1498,7 +1512,7 @@
.endm
.macro case condition, dest
compare_var_to_value 0x8000, \condition
compare 0x8000, \condition
goto_eq \dest
.endm

13
asm/macros/m4a.inc Normal file
View File

@ -0,0 +1,13 @@
.macro song label, music_player, unknown
.4byte \label
.2byte \music_player
.2byte \unknown
.endm
.macro music_player info_struct, track_struct, unknown_1, unknown_2
.4byte \info_struct
.4byte \track_struct
.byte \unknown_1
.space 1
.2byte \unknown_2
.endm

125
asm/macros/music_voice.inc Normal file
View File

@ -0,0 +1,125 @@
.macro voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
.byte 0
_voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
.endm
.macro voice_directsound_no_resample base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
.byte 8
_voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
.endm
.macro voice_directsound_alt base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
.byte 16
_voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
.endm
.macro _voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
.byte \base_midi_key
.byte 0
.if \pan != 0
.byte (0x80 | \pan)
.else
.byte 0
.endif
.4byte \sample_data_pointer
.byte \attack
.byte \decay
.byte \sustain
.byte \release
.endm
.macro voice_square_1 sweep, duty_cycle, attack, decay, sustain, release
_voice_square_1 1, \sweep, \duty_cycle, \attack, \decay, \sustain, \release
.endm
.macro voice_square_1_alt sweep, duty_cycle, attack, decay, sustain, release
_voice_square_1 9, \sweep, \duty_cycle, \attack, \decay, \sustain, \release
.endm
.macro _voice_square_1 type, sweep, duty_cycle, attack, decay, sustain, release
.byte \type, 60, 0
.byte \sweep
.byte (\duty_cycle & 0x3)
.byte 0, 0, 0
.byte (\attack & 0x7)
.byte (\decay & 0x7)
.byte (\sustain & 0xF)
.byte (\release & 0x7)
.endm
.macro voice_square_2 duty_cycle, attack, decay, sustain, release
_voice_square_2 2, \duty_cycle, \attack, \decay, \sustain, \release
.endm
.macro voice_square_2_alt duty_cycle, attack, decay, sustain, release
_voice_square_2 10, \duty_cycle, \attack, \decay, \sustain, \release
.endm
.macro _voice_square_2 type, duty_cycle, attack, decay, sustain, release
.byte \type, 60, 0, 0
.byte (\duty_cycle & 0x3)
.byte 0, 0, 0
.byte (\attack & 0x7)
.byte (\decay & 0x7)
.byte (\sustain & 0xF)
.byte (\release & 0x7)
.endm
.macro voice_programmable_wave wave_samples_pointer, attack, decay, sustain, release
_voice_programmable_wave 3, \wave_samples_pointer, \attack, \decay, \sustain, \release
.endm
.macro voice_programmable_wave_alt wave_samples_pointer, attack, decay, sustain, release
_voice_programmable_wave 11, \wave_samples_pointer, \attack, \decay, \sustain, \release
.endm
.macro _voice_programmable_wave type, wave_samples_pointer, attack, decay, sustain, release
.byte \type, 60, 0, 0
.4byte \wave_samples_pointer
.byte (\attack & 0x7)
.byte (\decay & 0x7)
.byte (\sustain & 0xF)
.byte (\release & 0x7)
.endm
.macro voice_noise period, attack, decay, sustain, release
_voice_noise 4, \period, \attack, \decay, \sustain, \release
.endm
.macro voice_noise_alt period, attack, decay, sustain, release
_voice_noise 12, \period, \attack, \decay, \sustain, \release
.endm
.macro _voice_noise type, period, attack, decay, sustain, release
.byte \type, 60, 0, 0
.byte (\period & 0x1)
.byte 0, 0, 0
.byte (\attack & 0x7)
.byte (\decay & 0x7)
.byte (\sustain & 0xF)
.byte (\release & 0x7)
.endm
.macro voice_keysplit voice_group_pointer, keysplit_table_pointer
.byte 0x40, 0, 0, 0
.4byte \voice_group_pointer
.4byte \keysplit_table_pointer
.endm
.macro voice_keysplit_all voice_group_pointer
.byte 0x80, 0, 0, 0
.4byte \voice_group_pointer
.4byte 0
.endm
.macro cry sample
.byte 0x20, 60, 0, 0
.4byte \sample
.byte 0xff, 0, 0xff, 0
.endm
.macro cry2 sample
.byte 0x30, 60, 0, 0
.4byte \sample
.byte 0xff, 0, 0xff, 0
.endm

View File

@ -1,589 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start ClearMailData
ClearMailData: @ 80D436C
push {r4,r5,lr}
movs r4, 0
ldr r5, =gSaveBlock1Ptr
_080D4372:
lsls r1, r4, 3
adds r1, r4
lsls r1, 2
ldr r0, =0x00002be0
adds r1, r0
ldr r0, [r5]
adds r0, r1
bl ClearMailStruct
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xF
bls _080D4372
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end ClearMailData
thumb_func_start ClearMailStruct
ClearMailStruct: @ 80D439C
push {r4-r6,lr}
adds r3, r0, 0
ldr r0, =0x0000ffff
adds r4, r0, 0
adds r1, r3, 0
movs r2, 0x8
_080D43A8:
ldrh r0, [r1]
orrs r0, r4
strh r0, [r1]
adds r1, 0x2
subs r2, 0x1
cmp r2, 0
bge _080D43A8
movs r2, 0
adds r6, r3, 0
adds r6, 0x1A
adds r4, r3, 0
adds r4, 0x12
movs r5, 0xFF
_080D43C2:
adds r1, r4, r2
ldrb r0, [r1]
orrs r0, r5
strb r0, [r1]
adds r2, 0x1
cmp r2, 0x7
ble _080D43C2
adds r1, r6, 0
movs r2, 0
adds r0, r1, 0x3
_080D43D6:
strb r2, [r0]
subs r0, 0x1
cmp r0, r1
bge _080D43D6
movs r1, 0
movs r0, 0x1
strh r0, [r3, 0x1E]
strh r1, [r3, 0x20]
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end ClearMailStruct
thumb_func_start MonHasMail
MonHasMail: @ 80D43F0
push {r4,lr}
adds r4, r0, 0
movs r1, 0xC
bl GetMonData
lsls r0, 16
lsrs r0, 16
bl itemid_is_mail
lsls r0, 24
cmp r0, 0
beq _080D4418
adds r0, r4, 0
movs r1, 0x40
bl GetMonData
cmp r0, 0xFF
beq _080D4418
movs r0, 0x1
b _080D441A
_080D4418:
movs r0, 0
_080D441A:
pop {r4}
pop {r1}
bx r1
thumb_func_end MonHasMail
thumb_func_start sub_80D4420
sub_80D4420: @ 80D4420
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
mov r8, r0
lsls r1, 16
lsrs r0, r1, 16
str r0, [sp, 0x8]
mov r0, sp
movs r2, 0
ldrb r3, [r0, 0x8]
strb r3, [r0]
lsrs r1, 24
strb r1, [r0, 0x1]
add r3, sp, 0x4
strb r2, [r3]
ldr r4, =gSaveBlock1Ptr
mov r10, r4
mov r9, r3
adds r4, r3, 0
_080D444C:
mov r1, r10
ldr r0, [r1]
ldrb r2, [r4]
lsls r1, r2, 3
adds r1, r2
lsls r1, 2
adds r0, r1
movs r1, 0xB0
lsls r1, 6
adds r0, r1
ldrh r0, [r0]
cmp r0, 0
beq _080D4468
b _080D45A8
_080D4468:
movs r4, 0
ldr r2, =gSaveBlock2Ptr
mov r12, r2
ldr r7, =gSaveBlock1Ptr
add r5, sp, 0x4
ldr r3, =0x0000ffff
adds r6, r3, 0
_080D4476:
ldr r2, [r7]
lsls r3, r4, 1
ldrb r1, [r5]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r3, r0
ldr r0, =0x00002be0
adds r2, r0
adds r2, r3
ldrh r0, [r2]
orrs r0, r6
strh r0, [r2]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x8
bls _080D4476
movs r4, 0
ldr r5, =gSaveBlock1Ptr
add r3, sp, 0x4
_080D44A0:
ldr r2, [r5]
ldrb r1, [r3]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r0, r4, r0
ldr r1, =0x00002bf2
adds r2, r1
adds r2, r0
mov r1, r12
ldr r0, [r1]
adds r0, r4
ldrb r0, [r0]
strb r0, [r2]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x6
bls _080D44A0
mov r3, r10
ldr r2, [r3]
mov r0, r9
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r0, r4, r0
ldr r1, =0x00002bf2
adds r2, r1
adds r2, r0
movs r0, 0xFF
strb r0, [r2]
mov r2, r9
ldrb r1, [r2]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, [r3]
adds r0, r1
ldr r3, =0x00002bf2
adds r0, r3
movs r1, 0
bl sub_81DB4DC
movs r4, 0
ldr r6, =gSaveBlock1Ptr
add r3, sp, 0x4
ldr r5, =gSaveBlock2Ptr
_080D4500:
ldr r2, [r6]
ldrb r1, [r3]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r0, r4, r0
ldr r1, =0x00002bfa
adds r2, r1
adds r2, r0
ldr r0, [r5]
adds r0, 0xA
adds r0, r4
ldrb r0, [r0]
strb r0, [r2]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3
bls _080D4500
mov r0, r8
movs r1, 0xB
bl GetBoxMonData
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
mov r0, r8
movs r1, 0
bl GetBoxMonData
adds r1, r0, 0
adds r0, r4, 0
bl sub_80D45C8
mov r2, r10
ldr r3, [r2]
mov r4, r9
ldrb r2, [r4]
lsls r1, r2, 3
adds r1, r2
lsls r1, 2
adds r1, r3, r1
ldr r2, =0x00002bfe
adds r1, r2
strh r0, [r1]
ldrb r1, [r4]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r3, r0
movs r4, 0xB0
lsls r4, 6
adds r3, r4
mov r0, sp
ldrh r0, [r0, 0x8]
strh r0, [r3]
mov r0, r8
movs r1, 0x40
mov r2, r9
bl SetMonData
mov r0, r8
movs r1, 0xC
mov r2, sp
bl SetMonData
mov r1, r9
ldrb r0, [r1]
b _080D45B6
.pool
_080D45A8:
adds r0, r2, 0x1
strb r0, [r3]
ldrb r0, [r4]
cmp r0, 0x5
bhi _080D45B4
b _080D444C
_080D45B4:
movs r0, 0xFF
_080D45B6:
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80D4420
thumb_func_start sub_80D45C8
sub_80D45C8: @ 80D45C8
push {lr}
lsls r0, 16
lsrs r0, 16
cmp r0, 0xC9
bne _080D45E0
adds r0, r1, 0
bl mon_icon_personality_to_unown_id
lsls r0, 16
ldr r1, =0x75300000
adds r0, r1
lsrs r0, 16
_080D45E0:
pop {r1}
bx r1
.pool
thumb_func_end sub_80D45C8
thumb_func_start sub_80D45E8
sub_80D45E8: @ 80D45E8
push {lr}
lsls r0, 16
lsrs r3, r0, 16
ldr r0, =0xffff8ad0
adds r2, r3, r0
lsls r0, r2, 16
lsrs r0, 16
cmp r0, 0x1B
bhi _080D4604
movs r0, 0xC9
strh r2, [r1]
b _080D4606
.pool
_080D4604:
adds r0, r3, 0
_080D4606:
pop {r1}
bx r1
thumb_func_end sub_80D45E8
thumb_func_start GiveMailToMon2
GiveMailToMon2: @ 80D460C
push {r4-r7,lr}
sub sp, 0x8
adds r6, r0, 0
adds r7, r1, 0
ldrh r5, [r7, 0x20]
adds r1, r5, 0
bl sub_80D4420
add r4, sp, 0x4
strb r0, [r4]
ldrb r2, [r4]
cmp r2, 0xFF
beq _080D4670
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
adds r1, r0
ldr r0, =0x00002be0
adds r1, r0
adds r0, r7, 0
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
adds r0, r6, 0
movs r1, 0x40
adds r2, r4, 0
bl SetMonData
mov r0, sp
strb r5, [r0]
mov r1, sp
lsrs r0, r5, 8
strb r0, [r1, 0x1]
adds r0, r6, 0
movs r1, 0xC
mov r2, sp
bl SetMonData
ldrb r0, [r4]
b _080D4672
.pool
_080D4670:
movs r0, 0xFF
_080D4672:
add sp, 0x8
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end GiveMailToMon2
thumb_func_start sub_80D467C
sub_80D467C: @ 80D467C
movs r0, 0
bx lr
thumb_func_end sub_80D467C
thumb_func_start TakeMailFromMon
TakeMailFromMon: @ 80D4680
push {r4,lr}
sub sp, 0x8
adds r4, r0, 0
bl MonHasMail
lsls r0, 24
cmp r0, 0
beq _080D46D2
adds r0, r4, 0
movs r1, 0x40
bl GetMonData
add r2, sp, 0x4
strb r0, [r2]
ldr r0, =gSaveBlock1Ptr
ldr r3, [r0]
ldrb r1, [r2]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r3, r0
movs r0, 0xB0
lsls r0, 6
adds r3, r0
movs r1, 0
movs r0, 0
strh r0, [r3]
movs r0, 0xFF
strb r0, [r2]
mov r0, sp
strb r1, [r0]
strb r1, [r0, 0x1]
adds r0, r4, 0
movs r1, 0x40
bl SetMonData
adds r0, r4, 0
movs r1, 0xC
mov r2, sp
bl SetMonData
_080D46D2:
add sp, 0x8
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end TakeMailFromMon
thumb_func_start sub_80D46E0
sub_80D46E0: @ 80D46E0
lsls r0, 24
lsrs r0, 24
ldr r1, =gSaveBlock1Ptr
ldr r2, [r1]
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r2, r1
movs r0, 0xB0
lsls r0, 6
adds r2, r0
movs r0, 0
strh r0, [r2]
bx lr
.pool
thumb_func_end sub_80D46E0
thumb_func_start sub_80D4700
sub_80D4700: @ 80D4700
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0xC
adds r5, r0, 0
mov r0, sp
movs r1, 0
strb r1, [r0]
strb r1, [r0, 0x1]
add r1, sp, 0x4
movs r0, 0xFF
strb r0, [r1]
movs r7, 0x6
mov r9, r1
ldr r0, =gSaveBlock1Ptr
mov r8, r0
ldr r3, =0x00002be0
_080D4724:
mov r1, r8
ldr r0, [r1]
lsls r1, r7, 3
adds r1, r7
lsls r1, 2
adds r4, r0, r1
movs r2, 0xB0
lsls r2, 6
adds r0, r4, r2
ldrh r6, [r0]
cmp r6, 0
bne _080D47A0
adds r4, r3
adds r0, r5, 0
movs r1, 0x40
str r3, [sp, 0x8]
bl GetMonData
mov r1, r8
ldr r2, [r1]
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r1, r2
ldr r3, [sp, 0x8]
adds r1, r3
ldm r1!, {r0,r2,r3}
stm r4!, {r0,r2,r3}
ldm r1!, {r0,r2,r3}
stm r4!, {r0,r2,r3}
ldm r1!, {r0,r2,r3}
stm r4!, {r0,r2,r3}
adds r0, r5, 0
movs r1, 0x40
bl GetMonData
mov r1, r8
ldr r2, [r1]
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r2, r1
movs r3, 0xB0
lsls r3, 6
adds r2, r3
strh r6, [r2]
adds r0, r5, 0
movs r1, 0x40
mov r2, r9
bl SetMonData
adds r0, r5, 0
movs r1, 0xC
mov r2, sp
bl SetMonData
adds r0, r7, 0
b _080D47AC
.pool
_080D47A0:
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0xF
bls _080D4724
movs r0, 0xFF
_080D47AC:
add sp, 0xC
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80D4700
thumb_func_start itemid_is_mail
itemid_is_mail: @ 80D47BC
push {lr}
lsls r0, 16
lsrs r0, 16
cmp r0, 0x84
bgt _080D47CE
cmp r0, 0x79
blt _080D47CE
movs r0, 0x1
b _080D47D0
_080D47CE:
movs r0, 0
_080D47D0:
pop {r1}
bx r1
thumb_func_end itemid_is_mail
.align 2, 0 @ Don't pad with nop.

View File

@ -3948,7 +3948,7 @@ AddBirchSpeechObjects: @ 803192C
movs r1, 0x78
movs r2, 0x3C
movs r3, 0
bl sub_80B5E6C
bl CreateTrainerSprite
lsls r0, 24
lsrs r0, 24
lsls r2, r0, 4
@ -3981,7 +3981,7 @@ AddBirchSpeechObjects: @ 803192C
movs r1, 0x78
movs r2, 0x3C
movs r3, 0
bl sub_80B5E6C
bl CreateTrainerSprite
lsls r0, 24
lsrs r0, 24
lsls r2, r0, 4

View File

@ -82,9 +82,9 @@ _0809748E:
bx r1
thumb_func_end sub_8097404
thumb_func_start player_bitmagic
@ void player_bitmagic()
player_bitmagic: @ 8097494
thumb_func_start FreezeMapObjects
@ void FreezeMapObjects()
FreezeMapObjects: @ 8097494
push {r4,r5,lr}
movs r4, 0
ldr r5, =gMapObjects
@ -113,7 +113,7 @@ _080974B8:
pop {r0}
bx r0
.pool
thumb_func_end player_bitmagic
thumb_func_end FreezeMapObjects
thumb_func_start sub_80974D0
sub_80974D0: @ 80974D0

View File

@ -62,7 +62,7 @@ _080983E2:
thumb_func_start ScriptFreezeMapObjects
ScriptFreezeMapObjects: @ 80983E8
push {lr}
bl player_bitmagic
bl FreezeMapObjects
ldr r0, =sub_80983A4
movs r1, 0x50
bl CreateTask
@ -345,15 +345,15 @@ sub_8098630: @ 8098630
mov r6, r8
push {r6,r7}
movs r0, 0
bl sub_80B47E0
bl GetChosenApproachingTrainerMapObjectId
lsls r0, 24
lsrs r4, r0, 24
ldr r0, =gUnknown_030060A8
ldr r0, =gNoOfApproachingTrainers
ldrb r0, [r0]
cmp r0, 0x2
bne _080986E0
movs r0, 0x1
bl sub_80B47E0
bl GetChosenApproachingTrainerMapObjectId
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0

View File

@ -965,7 +965,7 @@ _08120850:
lsls r1, 1
adds r0, r1
strh r0, [r6, 0x6]
ldr r4, =gMPlay_SE2
ldr r4, =gMPlayInfo_SE2
ldr r5, =0x0000ffff
ldrh r2, [r6, 0x6]
adds r0, r4, 0
@ -1008,7 +1008,7 @@ _081208BC:
subs r0, 0x40
_081208C0:
strh r0, [r6, 0x8]
ldr r4, =gMPlay_SE2
ldr r4, =gMPlayInfo_SE2
ldr r5, =0x0000ffff
ldrh r2, [r6, 0x6]
adds r0, r4, 0
@ -1059,7 +1059,7 @@ _08120922:
lsls r0, 24
cmp r0, 0
bne _08120938
ldr r0, =gMPlay_SE2
ldr r0, =gMPlayInfo_SE2
bl m4aMPlayStop
movs r0, 0x4
_08120936:
@ -1228,7 +1228,7 @@ _08120A7E:
bne _08120AB0
movs r0, 0x6
bl FadeInBGM
ldr r0, =gMPlay_SE2
ldr r0, =gMPlayInfo_SE2
movs r1, 0x2
bl m4aMPlayFadeOutTemporarily
bl EnableBothScriptContexts

View File

@ -5257,15 +5257,15 @@ sub_819A2BC: @ 819A2BC
cmp r1, 0x2
beq _0819A2E4
_0819A2D2:
ldr r0, =gUnknown_08DC4318
ldr r0, =gFireRedMenuElements1_Pal
b _0819A2E6
.pool
_0819A2DC:
ldr r0, =gUnknown_08DC4338
ldr r0, =gFireRedMenuElements2_Pal
b _0819A2E6
.pool
_0819A2E4:
ldr r0, =gUnknown_08DC4358
ldr r0, =gFireRedMenuElements3_Pal
_0819A2E6:
adds r1, r2, 0
movs r2, 0x20
@ -5292,7 +5292,7 @@ blit_move_info_icon: @ 819A2F8
adds r1, r4
ldrh r5, [r1, 0x2]
lsls r5, 5
ldr r4, =gUnknown_08DC4378
ldr r4, =gFireRedMenuElements_Gfx
adds r5, r4
movs r4, 0x80
str r4, [sp]

View File

@ -5,8 +5,8 @@
.text
thumb_func_start sub_8121DA0
sub_8121DA0: @ 8121DA0
thumb_func_start ResetVramOamAndBgCntRegs
ResetVramOamAndBgCntRegs: @ 8121DA0
push {r4,lr}
sub sp, 0xC
movs r0, 0
@ -50,10 +50,10 @@ sub_8121DA0: @ 8121DA0
pop {r0}
bx r0
.pool
thumb_func_end sub_8121DA0
thumb_func_end ResetVramOamAndBgCntRegs
thumb_func_start sub_8121E10
sub_8121E10: @ 8121E10
thumb_func_start ResetAllBgsCoordinates
ResetAllBgsCoordinates: @ 8121E10
push {lr}
movs r0, 0
movs r1, 0
@ -89,7 +89,7 @@ sub_8121E10: @ 8121E10
bl ChangeBgY
pop {r0}
bx r0
thumb_func_end sub_8121E10
thumb_func_end ResetAllBgsCoordinates
thumb_func_start SetVBlankHBlankCallbacksToNull
@ void SetVBlankHBlankCallbacksToNull()
@ -177,8 +177,8 @@ _08121EC0:
.pool
thumb_func_end DisplayMessageAndContinueTask
thumb_func_start sub_8121F20
sub_8121F20: @ 8121F20
thumb_func_start RunTextPrintersRetIsActive
RunTextPrintersRetIsActive: @ 8121F20
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@ -191,7 +191,7 @@ sub_8121F20: @ 8121F20
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8121F20
thumb_func_end RunTextPrintersRetIsActive
thumb_func_start Task_ContinueTaskAfterMessagePrints
@ void Task_ContinueTaskAfterMessagePrints(u8 taskId)
@ -201,7 +201,7 @@ Task_ContinueTaskAfterMessagePrints: @ 8121F3C
lsrs r4, r0, 24
ldr r0, =gUnknown_0203A140
ldrb r0, [r0]
bl sub_8121F20
bl RunTextPrintersRetIsActive
lsls r0, 16
cmp r0, 0
bne _08121F5A
@ -512,7 +512,7 @@ itemid_80BF6D8_mail_related: @ 812217C
bne _081221A4
_08122192:
adds r0, r4, 0
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@ -752,8 +752,8 @@ _08122322:
bx r0
thumb_func_end sub_8122298
thumb_func_start sub_8122328
sub_8122328: @ 8122328
thumb_func_start LoadListMenuArrowsGfx
LoadListMenuArrowsGfx: @ 8122328
push {lr}
ldr r0, =gUnknown_0859F514
bl LoadCompressedObjectPic
@ -762,7 +762,7 @@ sub_8122328: @ 8122328
pop {r0}
bx r0
.pool
thumb_func_end sub_8122328
thumb_func_end LoadListMenuArrowsGfx
thumb_func_start sub_8122344
sub_8122344: @ 8122344

View File

@ -480,7 +480,7 @@ sub_811FC80: @ 811FC80
adds r0, 0x1E
strh r5, [r0]
add r1, sp, 0x20
ldr r0, =gUnknown_08DC9628
ldr r0, =gPokenavConditionMarker_Gfx
str r0, [sp, 0x20]
movs r0, 0xC8
lsls r0, 2
@ -503,7 +503,7 @@ sub_811FC80: @ 811FC80
add r0, sp, 0x34
strh r6, [r0]
add r1, sp, 0x38
ldr r0, =gUnknown_08DC9608
ldr r0, =gPokenavConditionMarker_Pal
str r0, [sp, 0x38]
adds r0, r6, 0x1
strh r0, [r1, 0x4]

View File

@ -43,7 +43,7 @@ _081537FE:
sub_8153804: @ 8153804
push {lr}
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674C86
ldr r1, =gText_MysteryGiftCantBeUsed
bl StringExpandPlaceholders
movs r0, 0x3
bl SetMysteryEventScriptStatus
@ -461,7 +461,7 @@ sub_8153AE8: @ 8153AE8
cmp r0, 0
bne _08153B54
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674AE4
ldr r1, =gText_MysteryGiftBerry
b _08153B74
.pool
_08153B54:
@ -471,12 +471,12 @@ _08153B54:
cmp r0, 0
beq _08153B70
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674B16
ldr r1, =gText_MysteryGiftBerryTransform
b _08153B74
.pool
_08153B70:
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674B42
ldr r1, =gText_MysteryGiftBerryObtained
_08153B74:
bl StringExpandPlaceholders
movs r0, 0x2
@ -515,7 +515,7 @@ sub_8153BB0: @ 8153BB0
str r2, [r4, 0x8]
bl GiveGiftRibbonToParty
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674B6A
ldr r1, =gText_MysteryGiftSpecialRibbon
bl StringExpandPlaceholders
movs r0, 0x2
str r0, [r4, 0x6C]
@ -584,7 +584,7 @@ sub_8153C4C: @ 8153C4C
adds r4, r0, 0
bl EnableNationalPokedex
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674B9E
ldr r1, =gText_MysteryGiftNationalDex
bl StringExpandPlaceholders
movs r0, 0x2
str r0, [r4, 0x6C]
@ -605,7 +605,7 @@ sub_8153C70: @ 8153C70
str r1, [r4, 0x8]
bl sub_811EFC0
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674BD4
ldr r1, =gText_MysteryGiftRareWord
bl StringExpandPlaceholders
movs r0, 0x2
str r0, [r4, 0x6C]
@ -685,7 +685,7 @@ _08153D22:
cmp r0, 0x6
bne _08153D4C
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674C02
ldr r1, =gText_MysteryGiftFullParty
bl StringExpandPlaceholders
movs r0, 0x3
b _08153DB6
@ -721,7 +721,7 @@ _08153D86:
bl GetMonData
lsls r0, 16
lsrs r0, 16
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _08153DA4
@ -732,7 +732,7 @@ _08153DA4:
bl CompactPartySlots
bl CalculatePlayerPartyCount
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674BF0
ldr r1, =gText_MysteryGiftSentOver
bl StringExpandPlaceholders
movs r0, 0x2
_08153DB6:
@ -765,7 +765,7 @@ sub_8153DD4: @ 8153DD4
bl memcpy
bl sub_81652B4
ldr r0, =gStringVar4
ldr r1, =gUnknown_08674C31
ldr r1, =gText_MysteryGiftNewTrainer
bl StringExpandPlaceholders
movs r0, 0x2
str r0, [r4, 0x6C]

View File

@ -3712,7 +3712,7 @@ _080E4C4A:
thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns
choose_name_or_words_screen_load_bg_tile_patterns: @ 80E4C54
push {r4-r6,lr}
ldr r0, =gUnknown_08DD3838
ldr r0, =gNamingScreenMenu_Gfx
ldr r6, =gUnknown_02039F94
ldr r1, [r6]
ldr r4, =0x00001810
@ -3760,7 +3760,7 @@ sub_80E4CB8: @ 80E4CB8
thumb_func_start choose_name_or_words_screen_apply_bg_pals
choose_name_or_words_screen_apply_bg_pals: @ 80E4CC8
push {lr}
ldr r0, =gUnknown_08DD3778
ldr r0, =gNamingScreenMenu_Pal
movs r1, 0
movs r2, 0xC0
bl LoadPalette

View File

@ -21,7 +21,7 @@ sub_8084620: @ 8084620
lsrs r1, 1
adds r0, r4, 0
bl SetMoney
bl sp000_heal_pokemon
bl HealPlayerParty
bl sub_8084720
bl copy_saved_warp3_bank_and_enter_x_to_warp1
bl warp_in
@ -50,8 +50,8 @@ flag_var_implications_of_teleport_: @ 8084660
.pool
thumb_func_end flag_var_implications_of_teleport_
thumb_func_start sub_808469C
sub_808469C: @ 808469C
thumb_func_start Overworld_ResetStateAfterTeleport
Overworld_ResetStateAfterTeleport: @ 808469C
push {lr}
bl player_avatar_init_params_reset
ldr r0, =0x0000088b
@ -69,7 +69,7 @@ sub_808469C: @ 808469C
pop {r0}
bx r0
.pool
thumb_func_end sub_808469C
thumb_func_end Overworld_ResetStateAfterTeleport
thumb_func_start flagmods_08054D70
flagmods_08054D70: @ 80846E4
@ -130,7 +130,7 @@ sub_8084788: @ 8084788
ldr r0, =0x0000088c
bl FlagClear
bl sub_8085B2C
bl wild_pokemon_reroll
bl ResetCyclingRoadChallengeData
bl UpdateLocationHistoryForRoamer
bl RoamerMoveToOtherLocationSet
pop {r0}
@ -1377,16 +1377,16 @@ _080850C8:
bl CopyFieldObjectTemplatesToSav1
bl TrySetMapSaveWarpStatus
bl ClearTempFieldEventData
bl wild_pokemon_reroll
bl ResetCyclingRoadChallengeData
bl prev_quest_postbuffer_cursor_backup_reset
adds r0, r6, 0
adds r1, r5, 0
bl sub_80B21B4
bl TryUpdateRandomTrainerRematches
bl DoTimeBasedEvents
bl sub_80AEDBC
bl sub_8085B2C
bl update_sav1_flash_used_on_map
bl sav1_reset_battle_music_maybe
bl Overworld_ClearSavedMusic
bl mapheader_run_script_with_tag_x3
bl not_trainer_hill_battle_pyramid
ldr r0, [r4]
@ -1465,7 +1465,7 @@ _080851A2:
bl sub_80EB218
bl TrySetMapSaveWarpStatus
bl ClearTempFieldEventData
bl wild_pokemon_reroll
bl ResetCyclingRoadChallengeData
bl prev_quest_postbuffer_cursor_backup_reset
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
@ -1478,7 +1478,7 @@ _080851A2:
asrs r1, 24
lsls r1, 16
lsrs r1, 16
bl sub_80B21B4
bl TryUpdateRandomTrainerRematches
cmp r7, 0x1
beq _080851EE
bl DoTimeBasedEvents
@ -1491,7 +1491,7 @@ _080851EE:
bl FlagClear
_08085200:
bl update_sav1_flash_used_on_map
bl sav1_reset_battle_music_maybe
bl Overworld_ClearSavedMusic
bl mapheader_run_script_with_tag_x3
bl UpdateLocationHistoryForRoamer
bl RoamerMoveToOtherLocationSet
@ -1880,15 +1880,15 @@ _080854FE:
.pool
thumb_func_end Overworld_SetFlashLevel
thumb_func_start sav1_get_flash_used_on_map
sav1_get_flash_used_on_map: @ 8085514
thumb_func_start Overworld_GetFlashLevel
Overworld_GetFlashLevel: @ 8085514
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
adds r0, 0x30
ldrb r0, [r0]
bx lr
.pool
thumb_func_end sav1_get_flash_used_on_map
thumb_func_end Overworld_GetFlashLevel
thumb_func_start sub_8085524
sub_8085524: @ 8085524
@ -2133,7 +2133,7 @@ sav1_map_get_music: @ 80856D4
lsls r0, 5
cmp r1, r0
bne _080856FC
bl sav1_get_weather_probably
bl GetSav1Weather
lsls r0, 24
lsrs r0, 24
cmp r0, 0x8
@ -2212,8 +2212,8 @@ call_ResetMapMusic: @ 8085778
bx r0
thumb_func_end call_ResetMapMusic
thumb_func_start sub_8085784
sub_8085784: @ 8085784
thumb_func_start Overworld_PlaySpecialMapMusic
Overworld_PlaySpecialMapMusic: @ 8085784
push {r4,lr}
bl sav1_map_get_music
lsls r0, 16
@ -2261,7 +2261,7 @@ _080857E8:
pop {r0}
bx r0
.pool
thumb_func_end sub_8085784
thumb_func_end Overworld_PlaySpecialMapMusic
thumb_func_start Overworld_SetSavedMusic
Overworld_SetSavedMusic: @ 80857F4
@ -2272,15 +2272,15 @@ Overworld_SetSavedMusic: @ 80857F4
.pool
thumb_func_end Overworld_SetSavedMusic
thumb_func_start sav1_reset_battle_music_maybe
sav1_reset_battle_music_maybe: @ 8085800
thumb_func_start Overworld_ClearSavedMusic
Overworld_ClearSavedMusic: @ 8085800
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
movs r0, 0
strh r0, [r1, 0x2C]
bx lr
.pool
thumb_func_end sav1_reset_battle_music_maybe
thumb_func_end Overworld_ClearSavedMusic
thumb_func_start sub_8085810
sub_8085810: @ 8085810
@ -2668,7 +2668,7 @@ sub_8085B2C: @ 8085B2C
lsls r0, 6
cmp r1, r0
bne _08085B5C
bl sub_813793C
bl IsMirageIslandPresent
lsls r0, 24
cmp r0, 0
bne _08085B5C
@ -2772,8 +2772,8 @@ _08085BF0:
bx r1
thumb_func_end is_light_level_1_2_3_5_or_6
thumb_func_start is_light_level_1_2_3_or_6
is_light_level_1_2_3_or_6: @ 8085BF4
thumb_func_start Overworld_MapTypeAllowsTeleportAndFly
Overworld_MapTypeAllowsTeleportAndFly: @ 8085BF4
push {lr}
lsls r0, 24
lsrs r0, 24
@ -2793,7 +2793,7 @@ _08085C0E:
_08085C10:
pop {r1}
bx r1
thumb_func_end is_light_level_1_2_3_or_6
thumb_func_end Overworld_MapTypeAllowsTeleportAndFly
thumb_func_start is_light_level_8_or_9
is_light_level_8_or_9: @ 8085C14
@ -2856,8 +2856,8 @@ sav1_map_get_name: @ 8085C58
.pool
thumb_func_end sav1_map_get_name
thumb_func_start sav1_map_get_battletype
sav1_map_get_battletype: @ 8085C80
thumb_func_start GetCurrentMapBattleScene
GetCurrentMapBattleScene: @ 8085C80
push {lr}
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
@ -2875,7 +2875,7 @@ sav1_map_get_battletype: @ 8085C80
pop {r1}
bx r1
.pool
thumb_func_end sav1_map_get_battletype
thumb_func_end GetCurrentMapBattleScene
thumb_func_start overworld_bg_setup
@ void overworld_bg_setup()
@ -3055,9 +3055,9 @@ _08085E18:
.pool
thumb_func_end c1_overworld
thumb_func_start c2_overworld_basic
@ void c2_overworld_basic()
c2_overworld_basic: @ 8085E24
thumb_func_start OverworldBasic
@ void OverworldBasic()
OverworldBasic: @ 8085E24
push {lr}
bl ScriptContext2_RunScript
bl RunTasks
@ -3070,15 +3070,15 @@ c2_overworld_basic: @ 8085E24
bl do_scheduled_bg_tilemap_copies_to_vram
pop {r0}
bx r0
thumb_func_end c2_overworld_basic
thumb_func_end OverworldBasic
thumb_func_start sub_8085E50
sub_8085E50: @ 8085E50
thumb_func_start CB2_OverworldBasic
CB2_OverworldBasic: @ 8085E50
push {lr}
bl c2_overworld_basic
bl OverworldBasic
pop {r0}
bx r0
thumb_func_end sub_8085E50
thumb_func_end CB2_OverworldBasic
thumb_func_start c2_overworld
c2_overworld: @ 8085E5C
@ -3092,7 +3092,7 @@ c2_overworld: @ 8085E5C
movs r0, 0
bl SetVBlankCallback
_08085E70:
bl c2_overworld_basic
bl OverworldBasic
cmp r4, 0
beq _08085E7C
bl SetFieldVBlankCallback
@ -3192,8 +3192,8 @@ CB2_NewGame: @ 8085EF8
.pool
thumb_func_end CB2_NewGame
thumb_func_start c2_whiteout
c2_whiteout: @ 8085F58
thumb_func_start CB2_WhiteOut
CB2_WhiteOut: @ 8085F58
push {lr}
sub sp, 0x4
ldr r1, =gMain
@ -3232,7 +3232,7 @@ _08085FB0:
pop {r0}
bx r0
.pool
thumb_func_end c2_whiteout
thumb_func_end CB2_WhiteOut
thumb_func_start c2_load_new_map
c2_load_new_map: @ 8085FCC
@ -3661,7 +3661,7 @@ sub_80863B0: @ 80863B0
b _080863F0
.pool
_080863D4:
bl sav1_get_flash_used_on_map
bl Overworld_GetFlashLevel
lsls r0, 24
lsrs r0, 24
cmp r0, 0

View File

@ -98,7 +98,7 @@ _081B0234:
.4byte _081B0474
_081B0290:
bl SetVBlankHBlankCallbacksToNull
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
bl clear_scheduled_bg_copies_to_vram
ldr r1, =gMain
movs r0, 0x87
@ -429,7 +429,7 @@ sub_81B0550: @ 81B0550
ldr r1, [r5]
movs r0, 0x1
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
movs r1, 0x82
@ -487,7 +487,7 @@ _081B05F0:
.4byte _081B0694
_081B0610:
ldr r4, =gUnknown_0203CEE0
ldr r0, =gUnknown_08D967EC
ldr r0, =gPartyMenuMisc_Gfx
mov r1, sp
bl malloc_and_decompress
adds r1, r0, 0
@ -505,14 +505,14 @@ _081B0638:
lsls r0, 24
cmp r0, 0
bne _081B06B4
ldr r0, =gUnknown_08D96BA0
ldr r0, =gPartyMenuMisc_Tilemap
ldr r1, =gUnknown_0203CEE4
ldr r1, [r1]
bl LZDecompressWram
b _081B069A
.pool
_081B0658:
ldr r0, =gUnknown_08D96AB4
ldr r0, =gPartyMenuMisc_Pal
movs r2, 0xB0
lsls r2, 1
movs r1, 0
@ -3161,7 +3161,7 @@ sub_81B1B8C: @ 81B1B8C
lsrs r4, r0, 24
adds r5, r4, 0
movs r0, 0x6
bl sub_8121F20
bl RunTextPrintersRetIsActive
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1
@ -3402,14 +3402,14 @@ sub_81B1DB8: @ 81B1DB8
lsrs r4, r5, 16
adds r7, r4, 0
adds r0, r4, 0
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _081B1DE2
adds r0, r6, 0
adds r1, r4, 0
bl sub_80D4420
bl GiveMailToMon
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
@ -6216,7 +6216,7 @@ _081B34D2:
bl GetMonData
lsls r0, 16
lsrs r0, 16
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B3508
@ -7791,7 +7791,7 @@ _081B425A:
.pool
_081B4278:
ldrh r0, [r6]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B42A4
@ -7999,7 +7999,7 @@ _081B4402:
.pool
_081B4458:
ldrh r0, [r5]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B4498
@ -8681,7 +8681,7 @@ sub_81B4A98: @ 81B4A98
adds r0, r1
ldr r1, =sub_81B4AE0
movs r2, 0x1
bl sub_8121478
bl ReadMail
pop {r0}
bx r0
.pool
@ -8801,7 +8801,7 @@ _081B4BC6:
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
bl sub_80D4700
bl TakeMailFromMon2
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
@ -10027,8 +10027,8 @@ _081B572A:
.pool
thumb_func_end sub_81B56D8
thumb_func_start hm_add_c3_launch_phase_2
hm_add_c3_launch_phase_2: @ 81B5738
thumb_func_start FieldCallback_Teleport
FieldCallback_Teleport: @ 81B5738
push {lr}
bl pal_fill_black
ldr r0, =task_launch_hm_phase_2
@ -10038,7 +10038,7 @@ hm_add_c3_launch_phase_2: @ 81B5738
pop {r1}
bx r1
.pool
thumb_func_end hm_add_c3_launch_phase_2
thumb_func_end FieldCallback_Teleport
thumb_func_start task_launch_hm_phase_2
task_launch_hm_phase_2: @ 81B5750
@ -10160,7 +10160,7 @@ sub_81B5820: @ 81B5820
cmp r0, 0x1
bne _081B585C
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm_surf_run_dp02scr
@ -10199,7 +10199,7 @@ sub_81B5884: @ 81B5884
push {lr}
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
bl is_light_level_1_2_3_or_6
bl Overworld_MapTypeAllowsTeleportAndFly
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@ -10278,7 +10278,7 @@ hm_prepare_waterfall: @ 81B58F0
cmp r0, 0x1
bne _081B594C
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_waterfall
@ -10325,7 +10325,7 @@ sub_81B5974: @ 81B5974
.pool
_081B5990:
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_81B5958
@ -10735,7 +10735,7 @@ sub_81B5CB0: @ 81B5CB0
b _081B5D24
.pool
_081B5CD8:
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B5CFC
@ -10821,7 +10821,7 @@ _081B5D68:
adds r0, r7, r5
ldrb r4, [r0]
adds r0, r1, 0
bl itemid_is_mail
bl ItemIsMail
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@ -10853,7 +10853,7 @@ _081B5DAC:
adds r0, r5, r7
ldrb r4, [r0, 0x6]
adds r0, r1, 0
bl itemid_is_mail
bl ItemIsMail
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@ -14728,7 +14728,7 @@ sub_81B7FAC: @ 81B7FAC
.pool
_081B7FF8:
ldrh r0, [r5]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B800C
@ -14770,7 +14770,7 @@ sub_81B8044: @ 81B8044
lsrs r4, r0, 24
ldr r5, =gUnknown_0203CEC8
ldrh r0, [r5, 0xC]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B807C
@ -15093,7 +15093,7 @@ _081B82FA:
.pool
_081B8338:
adds r0, r4, 0
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B835C

View File

@ -733,7 +733,7 @@ sub_816B430: @ 816B430
bl sub_816B4C0
bl sub_816BC14
bl gpu_pal_allocator_reset__manage_upper_four
bl sub_8122328
bl LoadListMenuArrowsGfx
ldr r0, =gUnknown_0203BCC4
ldr r0, [r0]
movs r1, 0xCD
@ -1013,7 +1013,7 @@ sub_816B674: @ 816B674
cmp r0, 0
bne _0816B71E
ldrb r0, [r4, 0xA]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r4, 0xA]
ldr r7, =gUnknown_0203BCBA
@ -1021,7 +1021,7 @@ sub_816B674: @ 816B674
mov r8, r1
adds r1, r7, 0
mov r2, r8
bl get_coro_args_x18_x1A
bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r6, r0
@ -1263,7 +1263,7 @@ sub_816B8A4: @ 816B8A4
adds r0, r1
ldr r1, =sub_816B900
movs r2, 0x1
bl sub_8121478
bl ReadMail
adds r0, r4, 0
bl DestroyTask
_0816B8E6:
@ -1820,7 +1820,7 @@ _0816BD58:
movs r1, 0x2
negs r1, r1
str r1, [r0]
ldr r4, =gUnknown_03006310
ldr r4, =gMultiuseListMenuTemplate
adds r1, r4, 0
ldr r0, =gUnknown_085DFF44
ldm r0!, {r2,r3,r6}
@ -2327,7 +2327,7 @@ _0816C186:
bl sub_816C110
bl sub_816C140
bl sub_816BD04
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldr r2, =gUnknown_0203BCB8
ldrh r1, [r2, 0x2]
ldrh r2, [r2]
@ -2476,7 +2476,7 @@ sub_816C30C: @ 816C30C
ldr r1, =gUnknown_0203BCBA
subs r4, r1, 0x2
adds r2, r4, 0
bl get_coro_args_x18_x1A
bl sub_81AE860
ldrh r1, [r4, 0x2]
ldrh r0, [r4]
adds r1, r0
@ -2492,12 +2492,12 @@ sub_816C30C: @ 816C30C
.pool
_0816C35C:
ldrb r0, [r4, 0xA]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r4, 0xA]
ldr r1, =gUnknown_0203BCBA
subs r2, r1, 0x2
bl get_coro_args_x18_x1A
bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r6, r0
@ -2691,18 +2691,18 @@ sub_816C4FC: @ 816C4FC
ldrb r0, [r4, 0xA]
ldr r1, =gUnknown_0203BCBA
subs r2, r1, 0x2
bl get_coro_args_x18_x1A
bl sub_81AE860
b _0816C57E
.pool
_0816C530:
ldrb r0, [r4, 0xA]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r4, 0xA]
ldr r1, =gUnknown_0203BCBA
subs r4, r1, 0x2
adds r2, r4, 0
bl get_coro_args_x18_x1A
bl sub_81AE860
ldr r0, =gUnknown_0203BCC4
ldr r0, [r0]
movs r1, 0xCD
@ -2825,7 +2825,7 @@ _0816C622:
adds r0, r2
movs r1, 0xFF
strb r1, [r0]
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldr r2, =gUnknown_0203BCB8
ldrh r1, [r2, 0x2]
ldrh r2, [r2]
@ -3363,7 +3363,7 @@ sub_816CB04: @ 816CB04
bl sub_816C110
bl sub_816C140
bl sub_816BD04
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r4, 0x2]
ldrh r2, [r4]
bl ListMenuInit

File diff suppressed because it is too large Load Diff

View File

@ -497,7 +497,7 @@ _080BB71C:
adds r1, r2
ldrb r1, [r1]
bl sub_80BC8D4
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
ldr r1, =0x0000ffff
movs r2, 0x80
bl m4aMPlayVolumeControl
@ -1246,7 +1246,7 @@ _080BBE18:
bl DestroyTask
ldr r0, =sub_8086194
bl SetMainCallback2
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
ldr r1, =0x0000ffff
movs r2, 0x80
lsls r2, 1
@ -2028,7 +2028,7 @@ _080BC56E:
bl SetGpuReg
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_0855D298
ldr r1, =gBgTemplates_0855D298
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
@ -2054,7 +2054,7 @@ _080BC56E:
adds r1, r0, 0
movs r0, 0
bl SetBgTilemapBuffer
ldr r1, =gUnknown_08DC1934
ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
str r6, [sp]
@ -2119,7 +2119,7 @@ _080BC682:
lsls r0, 31
lsrs r0, 31
bl sub_80BC844
ldr r0, =gUnknown_0855D2A8
ldr r0, =sWindowTemplates_0855D2A8
bl InitWindows
bl DeactivateAllTextPrinters
movs r0, 0
@ -2141,9 +2141,9 @@ _080BC6CC:
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x8
strb r0, [r1]
ldr r0, =gUnknown_0855D26C
ldr r0, =gSpriteSheets_0855D26C
bl LoadCompressedObjectPic
ldr r0, =gUnknown_0855D27C
ldr r0, =gSpritePalettes_0855D26C
bl LoadSpritePalettes
adds r0, r5, 0
bl sub_80BDB7C
@ -2291,14 +2291,14 @@ sub_80BC844: @ 80BC844
lsrs r0, 24
cmp r0, 0x1
bne _080BC858
ldr r0, =gUnknown_08DC17B6
ldr r0, =gPokedexHoennBg_Pal + 0x2
b _080BC862
.pool
_080BC858:
bl IsNationalPokedexEnabled
cmp r0, 0
bne _080BC870
ldr r0, =gUnknown_08DC16F6
ldr r0, =gPokedexText_Pal + 2
_080BC862:
movs r1, 0x1
movs r2, 0xBE
@ -2306,7 +2306,7 @@ _080BC862:
b _080BC87A
.pool
_080BC870:
ldr r0, =gUnknown_08DC1876
ldr r0, =gPokedexNationalBg_Pal + 0x2
movs r1, 0x1
movs r2, 0xBE
bl LoadPalette
@ -2609,7 +2609,7 @@ _080BCACC:
movs r7, 0x1
mov r9, r7
_080BCADA:
ldr r1, =gUnknown_0855C6A4
ldr r1, =gPokedexOrder_Alphabetical
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@ -2687,7 +2687,7 @@ _080BCB78:
ldr r7, =gUnknown_02039B4C
ldr r6, =0x0000060c
_080BCB82:
ldr r1, =gUnknown_0855C9DA
ldr r1, =gPokedexOrder_Weight
asrs r0, 15
adds r0, r1
ldrh r0, [r0]
@ -2752,7 +2752,7 @@ _080BCC08:
ldr r0, =0x00000181
mov r9, r0
_080BCC16:
ldr r1, =gUnknown_0855C9DA
ldr r1, =gPokedexOrder_Weight
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@ -2819,7 +2819,7 @@ _080BCCA0:
ldr r7, =gUnknown_02039B4C
ldr r6, =0x0000060c
_080BCCAA:
ldr r1, =gUnknown_0855CCDE
ldr r1, =gPokedexOrder_Height
asrs r0, 15
adds r0, r1
ldrh r0, [r0]
@ -2884,7 +2884,7 @@ _080BCD30:
ldr r0, =0x00000181
mov r9, r0
_080BCD3E:
ldr r1, =gUnknown_0855CCDE
ldr r1, =gPokedexOrder_Height
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@ -3517,7 +3517,7 @@ sub_80BD23C: @ 80BD23C
b _080BD266
.pool
_080BD264:
ldr r4, =gUnknown_0855D2FE
ldr r4, =sText_TenDashes
_080BD266:
str r5, [sp]
movs r0, 0
@ -6369,7 +6369,7 @@ _080BEACA:
b _080BEDA0
.pool
_080BEAF0:
ldr r1, =gUnknown_08DC1934
ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
movs r0, 0
@ -7228,7 +7228,7 @@ _080BF2A8:
beq _080BF2B6
b _080BF5B2
_080BF2B6:
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
bl m4aMPlayStop
ldr r5, =gUnknown_02039B4C
ldr r0, [r5]
@ -7257,7 +7257,7 @@ _080BF2B6:
b _080BF5B2
.pool
_080BF310:
ldr r1, =gUnknown_08DC1934
ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
movs r0, 0
@ -7592,7 +7592,7 @@ _080BF636:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
bl m4aMPlayContinue
ldr r0, =gUnknown_02039B4C
ldr r0, [r0]
@ -7634,7 +7634,7 @@ _080BF6B0:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
bl m4aMPlayContinue
ldr r0, =gUnknown_02039B4C
ldr r0, [r0]
@ -7689,7 +7689,7 @@ _080BF73C:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
bl m4aMPlayContinue
ldr r0, =gUnknown_02039B4C
ldr r0, [r0]
@ -7856,7 +7856,7 @@ _080BF88E:
b _080BFB94
.pool
_080BF8D8:
ldr r1, =gUnknown_08DC1934
ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
movs r0, 0
@ -8543,7 +8543,7 @@ _080BFE92:
b _080C0074
.pool
_080BFF0C:
ldr r1, =gUnknown_08DC1934
ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
movs r0, 0
@ -8751,14 +8751,14 @@ _080C00E8:
ands r1, r0
cmp r1, 0
beq _080C0114
ldr r0, =gUnknown_08DC16F6
ldr r0, =gPokedexText_Pal + 2
movs r1, 0x31
movs r2, 0xE
bl LoadPalette
b _080C011E
.pool
_080C0114:
ldr r0, =gUnknown_08DC1756
ldr r0, =gPokedexCaughtScreenFade_Pal + 0x2
movs r1, 0x31
movs r2, 0xE
bl LoadPalette
@ -11135,7 +11135,7 @@ _080C1332:
bl DeactivateAllTextPrinters
movs r0, 0
bl PutWindowTilemap
ldr r1, =gUnknown_08DC3304
ldr r1, =gPokedexSearchMenu_Gfx
movs r2, 0x80
lsls r2, 6
str r5, [sp]
@ -11145,7 +11145,7 @@ _080C1332:
bl IsNationalPokedexEnabled
cmp r0, 0
bne _080C13E4
ldr r1, =gUnknown_08DC3A0C
ldr r1, =gPokedexSearch2_Tilemap
movs r0, 0x3
movs r2, 0
movs r3, 0
@ -11153,13 +11153,13 @@ _080C1332:
b _080C13F0
.pool
_080C13E4:
ldr r1, =gUnknown_08DC3870
ldr r1, =gPokedexSearch1_Tilemap
movs r0, 0x3
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
_080C13F0:
ldr r0, =gUnknown_08DC3286
ldr r0, =gPokedexSearchMenu_Pal + 0x2
movs r1, 0x1
movs r2, 0x7E
bl LoadPalette
@ -11172,9 +11172,9 @@ _080C13F0:
b _080C1516
.pool
_080C1414:
ldr r0, =gUnknown_0855D26C
ldr r0, =gSpriteSheets_0855D26C
bl LoadCompressedObjectPic
ldr r0, =gUnknown_0855D27C
ldr r0, =gSpritePalettes_0855D26C
bl LoadSpritePalettes
adds r0, r4, 0
bl sub_80C2594

View File

@ -1781,7 +1781,7 @@ sub_813D8A8: @ 813D8A8
str r1, [sp]
ldr r0, =0x00030600
str r0, [sp, 0x4]
ldr r0, =gUnknown_08DC4140
ldr r0, =gPokedexAreaScreenAreaUnknown_Gfx
bl LZ77UnCompWram
mov r0, sp
bl LoadSpriteSheet
@ -1831,7 +1831,7 @@ _0813D924:
lsls r6, 16
adds r1, r6
asrs r1, 16
ldr r0, =gUnknown_085B40FC
ldr r0, =gSpriteTemplate_85B40FC
movs r2, 0x8C
movs r3, 0
bl CreateSprite

View File

@ -239,7 +239,7 @@ sub_8145534: @ 8145534
lsls r0, 16
lsrs r4, r0, 16
adds r5, r4, 0
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
ldr r0, [r0, 0x4]
cmp r0, 0
bge _08145582
@ -675,9 +675,9 @@ _08145884:
b _081458F8
.pool
_081458B0:
ldr r0, =gUnknown_085B8C80
ldr r0, =gCryMeterNeedleSpriteSheets
bl LoadSpriteSheets
ldr r0, =gUnknown_085B8C90
ldr r0, =gCryMeterNeedleSpritePalettes
bl LoadSpritePalettes
ldr r0, =gUnknown_085B8C68
ldrb r1, [r4, 0x4]

View File

@ -333,7 +333,7 @@ sub_817F670: @ 817F670
movs r1, 0x3
orrs r0, r1
strb r0, [r4, 0x1]
ldr r0, =gUnknown_0860AD68
ldr r0, =gSpriteAffineAnimTable_860AD68
str r0, [r4, 0x10]
ldr r0, =gUnknown_03001274
ldr r0, [r0]

View File

@ -28,15 +28,15 @@ sub_80D2CC4: @ 80D2CC4
lsls r0, 24
lsrs r0, 24
mov r9, r0
ldr r0, =gUnknown_0857C570
ldr r0, =sMonIconOamData
str r0, [sp, 0x18]
adds r0, r4, 0
adds r2, r5, 0
bl GetMonIconPtr
str r0, [sp, 0x1C]
ldr r0, =gUnknown_0857C5B4
ldr r0, =sMonIconAnims
str r0, [sp, 0x20]
ldr r0, =gUnknown_0857C5E8
ldr r0, =sMonIconAffineAnims
str r0, [sp, 0x24]
str r6, [sp, 0x28]
ldr r0, =gMonIconPaletteIndices
@ -102,13 +102,13 @@ sub_80D2D78: @ 80D2D78
lsls r6, 24
lsrs r6, 24
mov r3, sp
ldr r2, =gUnknown_0857C570
ldr r2, =sMonIconOamData
str r2, [sp]
movs r2, 0
str r2, [sp, 0x4]
ldr r2, =gUnknown_0857C5B4
ldr r2, =sMonIconAnims
str r2, [sp, 0x8]
ldr r2, =gUnknown_0857C5E8
ldr r2, =sMonIconAffineAnims
str r2, [sp, 0xC]
str r1, [sp, 0x10]
ldr r2, =gMonIconPaletteIndices
@ -156,7 +156,7 @@ mon_icon_convert_unown_species_id: @ 80D2E08
cmp r2, 0xC9
bne _080D2E32
adds r0, r1, 0
bl mon_icon_personality_to_unown_id
bl GetUnownLetterByPersonality
lsls r0, 16
lsrs r0, 16
cmp r0, 0
@ -186,8 +186,8 @@ _080D2E40:
bx r1
thumb_func_end mon_icon_convert_unown_species_id
thumb_func_start mon_icon_personality_to_unown_id
mon_icon_personality_to_unown_id: @ 80D2E48
thumb_func_start GetUnownLetterByPersonality
GetUnownLetterByPersonality: @ 80D2E48
push {lr}
adds r2, r0, 0
cmp r2, 0
@ -219,7 +219,7 @@ _080D2E7E:
_080D2E80:
pop {r1}
bx r1
thumb_func_end mon_icon_personality_to_unown_id
thumb_func_end GetUnownLetterByPersonality
thumb_func_start sub_80D2E84
sub_80D2E84: @ 80D2E84
@ -229,7 +229,7 @@ sub_80D2E84: @ 80D2E84
lsrs r4, r0, 16
adds r0, r4, 0
mov r1, sp
bl sub_80D45E8
bl MailSpeciesToSpecies
lsls r0, 16
lsrs r0, 16
cmp r0, 0xC9
@ -601,7 +601,7 @@ _080D3126:
strb r7, [r5]
b _080D31A4
_080D312A:
ldr r2, =gUnknown_0857C5F0
ldr r2, =sSpriteImageSizes
ldrb r1, [r4, 0x3]
lsrs r1, 6
lsls r1, 1
@ -689,7 +689,7 @@ sub_80D31B4: @ 80D31B4
mov r8, r0
movs r0, 0
str r0, [sp, 0x30]
ldr r2, =gUnknown_0857C5F0
ldr r2, =sSpriteImageSizes
mov r0, r9
ldr r6, [r0]
ldrb r1, [r6, 0x3]
@ -776,7 +776,7 @@ sub_80D328C: @ 80D328C
sub sp, 0x8
movs r1, 0
str r1, [sp]
ldr r3, =gUnknown_0857C5F0
ldr r3, =sSpriteImageSizes
ldrb r2, [r0, 0x3]
lsrs r2, 6
lsls r2, 1

View File

@ -1106,7 +1106,7 @@ sub_80C7958: @ 80C7958
ldrh r0, [r3]
adds r0, 0x1
strh r0, [r1]
ldr r0, =gUnknown_08571710
ldr r0, =sSpriteAnimTable_8571710
str r0, [sp, 0xC]
movs r4, 0
_080C7A10:
@ -2201,7 +2201,7 @@ _080C83CC:
ldr r1, =0x00000ce6
adds r0, r1
ldrh r0, [r0]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _080C83F4
@ -2304,7 +2304,7 @@ _080C84C8:
ldr r1, =0x00000ce6
adds r0, r1
ldrh r0, [r0]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _080C84F8
@ -2874,7 +2874,7 @@ _080C8A0C:
ldr r2, =0x00000ce6
adds r0, r2
ldrh r0, [r0]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
bne _080C8A8C
@ -2913,7 +2913,7 @@ _080C8A7C:
ldr r2, =0x00000ce6
adds r0, r1, r2
ldrh r0, [r0]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _080C8A98
@ -3661,7 +3661,7 @@ _080C914E:
ldr r1, =0x00000ce6
adds r0, r1
ldrh r0, [r0]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
bne _080C9168
@ -3943,7 +3943,7 @@ _080C93E4:
ldr r1, =0x00000ce6
adds r0, r1
ldrh r0, [r0]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
bne _080C9404
@ -5343,7 +5343,7 @@ sub_80CA044: @ 80CA044
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
ldr r1, =gUnknown_08DD2FE8
ldr r1, =gPSSMenu_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x1
@ -6104,7 +6104,7 @@ sub_80CA704: @ 80CA704
ldr r1, [r4]
adds r1, 0xB0
bl LZ77UnCompWram
ldr r0, =gUnknown_08DD36A8
ldr r0, =gPSSMenu_Pal
movs r1, 0x10
movs r2, 0x20
bl LoadPalette
@ -9124,7 +9124,7 @@ _080CBF80:
adds r1, r3
ldr r0, [r1]
ldr r2, [r0]
ldr r0, =gUnknown_0857291C
ldr r0, =gSpriteAffineAnimTable_857291C
str r0, [r2, 0x10]
ldr r0, [r1]
ldr r0, [r0]
@ -16168,7 +16168,7 @@ sub_80CFB44: @ 80CFB44
.pool
_080CFB8C:
ldrh r0, [r1]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
bne _080CFBA4
@ -16197,7 +16197,7 @@ _080CFBAC:
.pool
_080CFBCC:
ldrh r0, [r1]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@ -21048,8 +21048,8 @@ _080D220C:
bx r1
thumb_func_end sub_80D214C
thumb_func_start sub_80D2218
sub_80D2218: @ 80D2218
thumb_func_start CheckFreePokemonStorageSpace
CheckFreePokemonStorageSpace: @ 80D2218
push {r4-r7,lr}
mov r7, r8
push {r7}
@ -21095,7 +21095,7 @@ _080D2262:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80D2218
thumb_func_end CheckFreePokemonStorageSpace
thumb_func_start sub_80D2270
sub_80D2270: @ 80D2270

View File

@ -2351,7 +2351,7 @@ _081C51D6:
thumb_func_start sub_81C51DC
sub_81C51DC: @ 81C51DC
push {lr}
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_0861F2B4
@ -2363,7 +2363,7 @@ sub_81C51DC: @ 81C51DC
adds r1, 0x4
movs r0, 0x2
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
movs r1, 0x82
@ -2411,7 +2411,7 @@ _081C5264:
.4byte _081C52D4
_081C5278:
bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08D9A620
ldr r1, =gBagScreen_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x2
@ -2460,7 +2460,7 @@ _081C52DC:
b _081C5308
.pool
_081C52F0:
bl sub_8122328
bl LoadListMenuArrowsGfx
ldr r0, [r4]
ldr r1, =0x00000984
adds r0, r1
@ -2559,7 +2559,7 @@ _081C5382:
movs r0, 0x2
negs r0, r0
str r0, [r1]
ldr r2, =gUnknown_03006310
ldr r2, =gMultiuseListMenuTemplate
adds r1, r2, 0
ldr r0, =gUnknown_0861F2C0
ldm r0!, {r4,r6,r7}
@ -2918,7 +2918,7 @@ sub_81C56F8: @ 81C56F8
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldr r2, =gUnknown_0203CF30
ldrh r1, [r2, 0x8]
ldrh r2, [r2, 0x6]
@ -3545,7 +3545,7 @@ _081C5C12:
adds r1, r4, 0
adds r1, 0x8
adds r2, r4, 0x6
bl get_coro_args_x18_x1A
bl sub_81AE860
ldrh r1, [r4, 0x8]
ldrh r0, [r4, 0x6]
adds r1, r0
@ -3565,14 +3565,14 @@ _081C5C12:
.pool
_081C5C5C:
ldrb r0, [r7]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r7]
ldr r1, =gUnknown_0203CF38
mov r8, r1
mov r2, r8
subs r2, 0x2
bl get_coro_args_x18_x1A
bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r6, r0
@ -4207,7 +4207,7 @@ sub_81C61E0: @ 81C61E0
cmp r0, 0x3
beq _081C620C
ldrh r0, [r4]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@ -4646,7 +4646,7 @@ sub_81C65CC: @ 81C65CC
bl sub_81C5924
bl sub_81C59BC
bl sub_81C5314
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r6]
ldrh r2, [r7]
bl ListMenuInit
@ -4673,7 +4673,7 @@ sub_81C6648: @ 81C6648
bl sub_81C61A8
ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@ -4953,18 +4953,18 @@ sub_81C68B0: @ 81C68B0
ldrb r0, [r4]
ldr r1, =gUnknown_0203CF38
subs r2, r1, 0x2
bl get_coro_args_x18_x1A
bl sub_81AE860
b _081C6940
.pool
_081C68F8:
ldrb r0, [r4]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r4]
ldr r4, =gUnknown_0203CF38
subs r2, r4, 0x2
adds r1, r4, 0
bl get_coro_args_x18_x1A
bl sub_81AE860
movs r0, 0
bl sub_81C7028
subs r4, 0x8
@ -5066,7 +5066,7 @@ _081C69A8:
strh r0, [r1, 0x6]
_081C69E0:
bl sub_81C5314
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r7]
mov r3, r8
ldrh r2, [r3]
@ -5124,7 +5124,7 @@ sub_81C6A14: @ 81C6A14
strh r0, [r1, 0x6]
_081C6A5E:
bl sub_81C5314
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r5]
ldrh r2, [r7]
bl ListMenuInit

View File

@ -683,7 +683,7 @@ _081C77B0:
movs r0, 0
bl sub_81C763C
adds r4, r0, 0
ldr r1, =gUnknown_08DC7B80
ldr r1, =gPokenavHeader_Gfx
movs r0, 0
str r0, [sp]
movs r2, 0
@ -693,12 +693,12 @@ _081C77B0:
movs r0, 0
adds r1, r4, 0
bl SetBgTilemapBuffer
ldr r1, =gUnknown_08DC7D84
ldr r1, =gPokenavHeader_Tilemap
movs r0, 0
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
ldr r0, =gUnknown_08DC7B60
ldr r0, =gPokenavHeader_Pal
movs r1, 0
movs r2, 0x20
bl sub_81C7944
@ -1571,7 +1571,7 @@ sub_81C7E58: @ 81C7E58
bl sub_8034974
adds r5, r0, 0
lsls r4, 5
ldr r0, =gUnknown_08DC7F00
ldr r0, =gPokenavLeftHeader_Pal
adds r4, r0
movs r0, 0x1
bl IndexOfSpritePaletteTag
@ -1653,7 +1653,7 @@ sub_81C7F24: @ 81C7F24
bl sub_8034974
adds r5, r0, 0
lsls r4, 5
ldr r0, =gUnknown_08DC7F00
ldr r0, =gPokenavLeftHeader_Pal
adds r4, r0
movs r0, 0x2
bl IndexOfSpritePaletteTag
@ -5198,7 +5198,7 @@ _081C9A5C:
ldr r0, =gUnknown_08620194
movs r1, 0x3
bl sub_81C7B54
ldr r1, =gUnknown_08DC90E0
ldr r1, =gPokenavMessageBox_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x1
@ -5209,14 +5209,14 @@ _081C9A5C:
adds r1, 0x8C
movs r0, 0x1
bl SetBgTilemapBuffer
ldr r1, =gUnknown_08DC9130
ldr r1, =gPokenavMessageBox_Tilemap
movs r0, 0x1
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
movs r0, 0x1
bl CopyBgTilemapBufferToVram
ldr r0, =gUnknown_08DC90C0
ldr r0, =gPokenavMessageBox_Pal
movs r1, 0x10
movs r2, 0x20
bl sub_81C7944
@ -7924,7 +7924,7 @@ sub_81CAF78: @ 81CAF78
strb r0, [r6]
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
bl is_light_level_1_2_3_or_6
bl Overworld_MapTypeAllowsTeleportAndFly
lsls r0, 24
cmp r0, 0
bne _081CAFA4
@ -8089,7 +8089,7 @@ _081CB0C0:
thumb_func_start sub_81CB0C8
sub_81CB0C8: @ 81CB0C8
push {lr}
ldr r1, =gUnknown_085500A4
ldr r1, =gRematchTable
lsls r0, 4
adds r0, r1
ldrh r2, [r0, 0xA]
@ -11374,7 +11374,7 @@ sub_81CCA1C: @ 81CCA1C
movs r1, 0x10
movs r2, 0x20
bl sub_81C7944
ldr r0, =gUnknown_08DC91E8
ldr r0, =gHoennMapZoomIcons_Pal
movs r1, 0x30
movs r2, 0x20
bl sub_81C7944
@ -11813,7 +11813,7 @@ _081CCE34:
mov r1, r8
lsrs r0, r1, 24
lsrs r1, r7, 24
bl sub_8145CF4
bl GetLandmarkName
adds r1, r0, 0
cmp r1, 0
bne _081CCE08
@ -13941,7 +13941,7 @@ _081CDF18:
ldr r1, =0x0000040b
movs r0, 0x52
bl SetGpuReg
ldr r1, =gUnknown_08DC6548
ldr r1, =gPokenavCondition_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x3
@ -13973,7 +13973,7 @@ _081CDFB8:
beq _081CDFC4
b _081CE2C0
_081CDFC4:
ldr r0, =gUnknown_08DC6DFC
ldr r0, =gPokenavCondition_Tilemap
adds r4, r5, 0x4
adds r1, r4, 0
bl LZ77UnCompVram
@ -13983,7 +13983,7 @@ _081CDFC4:
bl sub_81CDD5C
cmp r0, 0x1
bne _081CDFF2
ldr r1, =gUnknown_08DC7070
ldr r1, =gPokenavOptions_Tilemap
movs r0, 0x9
str r0, [sp]
movs r0, 0x4
@ -13995,7 +13995,7 @@ _081CDFC4:
_081CDFF2:
movs r0, 0x3
bl CopyBgTilemapBufferToVram
ldr r0, =gUnknown_08DC6528
ldr r0, =gPokenavCondition_Pal
movs r1, 0x10
movs r2, 0x20
bl sub_81C7944
@ -20738,7 +20738,7 @@ _081D15B6:
thumb_func_start sub_81D15BC
sub_81D15BC: @ 81D15BC
ldr r1, =gUnknown_085500A4
ldr r1, =gRematchTable
lsls r0, 4
adds r0, r1
ldrh r0, [r0]
@ -20751,7 +20751,7 @@ sub_81D15CC: @ 81D15CC
push {lr}
adds r3, r0, 0
movs r1, 0
ldr r2, =gUnknown_085500A4
ldr r2, =gRematchTable
_081D15D4:
ldrh r0, [r2]
cmp r0, r3
@ -21440,7 +21440,7 @@ _081D1A24:
cmp r0, 0
bne _081D1A1C
adds r0, r7, 0
bl sub_80B2318
bl CountBattledRematchTeams
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1
@ -21921,7 +21921,7 @@ sub_81D1DC0: @ 81D1DC0
ldr r7, =gUnknown_0203CF4C
ldr r0, =gText_Cancel2
mov r12, r0
ldr r4, =gUnknown_03006310
ldr r4, =gMultiuseListMenuTemplate
ldr r1, =gUnknown_0203CF48
mov r8, r1
ldr r2, =sub_81D1E7C
@ -23376,7 +23376,7 @@ sub_81D28C8: @ 81D28C8
push {r4-r7,lr}
lsls r1, 16
lsrs r4, r1, 16
ldr r3, =gUnknown_03006310
ldr r3, =gMultiuseListMenuTemplate
adds r2, r3, 0
ldr r1, =gUnknown_08625548
ldm r1!, {r5-r7}
@ -30343,8 +30343,8 @@ _081D6176:
.pool
thumb_func_end sub_81D6134
thumb_func_start battle_init
battle_init: @ 81D6180
thumb_func_start sub_81D6180
sub_81D6180: @ 81D6180
lsls r0, 24
ldr r1, =gSaveBlock2Ptr
ldr r1, [r1]
@ -30355,7 +30355,7 @@ battle_init: @ 81D6180
ldrh r0, [r1]
bx lr
.pool
thumb_func_end battle_init
thumb_func_end sub_81D6180
thumb_func_start GetTrainerHillTrainerFlag
@ u8 GetTrainerHillTrainerFlag(u8 fieldObjectId)

View File

@ -0,0 +1,165 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start GameClear
GameClear: @ 8137734
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x1C
bl HealPlayerParty
ldr r4, =0x00000864
adds r0, r4, 0
bl FlagGet
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x1
bne _08137760
ldr r0, =gHasHallOfFameRecords
strb r1, [r0]
b _0813776C
.pool
_08137760:
ldr r1, =gHasHallOfFameRecords
movs r0, 0
strb r0, [r1]
adds r0, r4, 0
bl FlagSet
_0813776C:
movs r0, 0x1
bl GetGameStat
cmp r0, 0
bne _0813778E
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
ldrh r1, [r2, 0xE]
lsls r1, 16
ldrb r0, [r2, 0x10]
lsls r0, 8
orrs r1, r0
ldrb r0, [r2, 0x11]
orrs r1, r0
movs r0, 0x1
bl sav12_xor_set
_0813778E:
bl sub_8076D48
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
cmp r0, 0
bne _081377AC
movs r0, 0x1
bl sub_8084F6C
b _081377B2
.pool
_081377AC:
movs r0, 0x2
bl sub_8084F6C
_081377B2:
movs r7, 0
movs r6, 0
add r0, sp, 0x18
mov r8, r0
mov r5, sp
_081377BC:
movs r0, 0x64
adds r1, r6, 0
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
movs r0, 0
strb r6, [r5]
strb r0, [r5, 0x1]
adds r0, r4, 0
movs r1, 0x5
bl GetMonData
cmp r0, 0
beq _0813780A
adds r0, r4, 0
movs r1, 0x6
bl GetMonData
cmp r0, 0
bne _0813780A
adds r0, r4, 0
movs r1, 0x43
bl GetMonData
cmp r0, 0
bne _0813780A
movs r0, 0x1
mov r1, r8
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x43
add r2, sp, 0x18
bl SetMonData
adds r0, r4, 0
bl GetRibbonCount
strb r0, [r5, 0x1]
movs r7, 0x1
_0813780A:
adds r5, 0x4
adds r6, 0x1
cmp r6, 0x5
ble _081377BC
cmp r7, 0x1
bne _0813785A
movs r0, 0x2A
bl IncrementGameStat
ldr r0, =0x0000089b
bl FlagSet
mov r3, sp
add r2, sp, 0x4
movs r6, 0x4
_08137828:
ldrb r1, [r3, 0x1]
ldrb r0, [r2, 0x1]
cmp r0, r1
bls _08137838
ldr r1, [sp]
ldr r0, [r2]
str r0, [sp]
str r1, [r2]
_08137838:
adds r2, 0x4
subs r6, 0x1
cmp r6, 0
bge _08137828
mov r0, sp
ldrb r0, [r0, 0x1]
cmp r0, 0x4
bls _0813785A
mov r0, sp
ldrb r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
movs r1, 0x43
bl sub_80EE4DC
_0813785A:
ldr r0, =CB2_DoHallOfFameScreen
bl SetMainCallback2
movs r0, 0
add sp, 0x1C
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end GameClear
thumb_func_start sp0C8_whiteout_maybe
sp0C8_whiteout_maybe: @ 813787C
push {lr}
ldr r0, =CB2_WhiteOut
bl SetMainCallback2
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sp0C8_whiteout_maybe

View File

@ -1066,7 +1066,7 @@ sub_81D6FD0: @ 81D6FD0
thumb_func_start sub_81D6FE0
sub_81D6FE0: @ 81D6FE0
push {r4,lr}
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_0862A888
@ -1088,7 +1088,7 @@ sub_81D6FE0: @ 81D6FE0
adds r1, r0
movs r0, 0x2
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
@ -1119,7 +1119,7 @@ sub_81D706C: @ 81D706C
push {r4,lr}
sub sp, 0x4
bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08DA33C0
ldr r1, =gRaySceneClouds_Gfx
movs r0, 0
str r0, [sp]
movs r2, 0
@ -1130,22 +1130,22 @@ _081D7082:
lsls r0, 24
cmp r0, 0
bne _081D7082
ldr r0, =gUnknown_08DA3988
ldr r0, =gRaySceneClouds2_Tilemap
ldr r4, =gUnknown_0203CF60
ldr r1, [r4]
adds r1, 0x4
bl LZDecompressWram
ldr r0, =gUnknown_08DA3824
ldr r0, =gRaySceneClouds1_Tilemap
ldr r1, [r4]
ldr r2, =0x00000804
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DA3A88
ldr r0, =gRaySceneClouds3_Tilemap
ldr r1, [r4]
ldr r2, =0x00001004
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DA37E8
ldr r0, =gRaySceneClouds_Pal
movs r1, 0
movs r2, 0x40
bl LoadCompressedPalette
@ -1172,8 +1172,8 @@ _081D7082:
.pool
thumb_func_end sub_81D706C
thumb_func_start task_add_00_WIN0V_open_close_above_and_more
task_add_00_WIN0V_open_close_above_and_more: @ 81D7134
thumb_func_start sub_81D7134
sub_81D7134: @ 81D7134
push {r4-r7,lr}
sub sp, 0x8
lsls r0, 24
@ -1264,7 +1264,7 @@ _081D71EE:
pop {r0}
bx r0
.pool
thumb_func_end task_add_00_WIN0V_open_close_above_and_more
thumb_func_end sub_81D7134
thumb_func_start sub_81D7228
sub_81D7228: @ 81D7228
@ -2758,7 +2758,7 @@ _081D7E08:
thumb_func_start sub_81D7E10
sub_81D7E10: @ 81D7E10
push {r4,lr}
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_0862AA54
@ -2780,7 +2780,7 @@ sub_81D7E10: @ 81D7E10
adds r1, r0
movs r0, 0x2
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
@ -2811,20 +2811,20 @@ sub_81D7E9C: @ 81D7E9C
push {r4,lr}
sub sp, 0x4
bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08DA33C0
ldr r1, =gRaySceneClouds_Gfx
movs r4, 0
str r4, [sp]
movs r0, 0
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
ldr r1, =gUnknown_08DA4F70
ldr r1, =gRaySceneOvercast_Gfx
str r4, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
ldr r1, =gUnknown_08DA3C94
ldr r1, =gRaySceneRayquaza_Gfx
str r4, [sp]
movs r0, 0x2
movs r2, 0
@ -2835,22 +2835,22 @@ _081D7ED0:
lsls r0, 24
cmp r0, 0
bne _081D7ED0
ldr r0, =gUnknown_08DA3988
ldr r0, =gRaySceneClouds2_Tilemap
ldr r4, =gUnknown_0203CF60
ldr r1, [r4]
adds r1, 0x4
bl LZDecompressWram
ldr r0, =gUnknown_08DA60B8
ldr r0, =gRaySceneOvercast_Tilemap
ldr r1, [r4]
ldr r2, =0x00000804
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DA4DEC
ldr r0, =gRaySceneRayquaza_Tilemap
ldr r1, [r4]
ldr r2, =0x00001004
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DA4DA8
ldr r0, =gRaySceneRayquaza_Pal
movs r1, 0
movs r2, 0x40
bl LoadCompressedPalette
@ -3292,7 +3292,7 @@ _081D829A:
thumb_func_start sub_81D82B0
sub_81D82B0: @ 81D82B0
push {r4,lr}
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_0862AACC
@ -3319,7 +3319,7 @@ sub_81D82B0: @ 81D82B0
adds r1, r0
movs r0, 0x3
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
@ -3354,14 +3354,14 @@ sub_81D8358: @ 81D8358
push {r4-r7,lr}
sub sp, 0xC
bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08DA7528
ldr r1, =gRaySceneRayquazaLight_Gfx
movs r4, 0
str r4, [sp]
movs r0, 0
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
ldr r1, =gUnknown_08DA69BC
ldr r1, =gRaySceneOvercast2_Gfx
str r4, [sp]
movs r0, 0x1
movs r2, 0
@ -3374,12 +3374,12 @@ _081D8380:
lsrs r6, r0, 24
cmp r6, 0
bne _081D8380
ldr r0, =gUnknown_08DA7AAC
ldr r0, =gRaySceneRayquazaLight_Tilemap
ldr r5, =gUnknown_0203CF60
ldr r1, [r5]
adds r1, 0x4
bl LZDecompressWram
ldr r0, =gUnknown_08DA7784
ldr r0, =gRaySceneOvercast2_Tilemap
ldr r1, [r5]
ldr r4, =0x00001804
adds r1, r4
@ -3406,7 +3406,7 @@ _081D8380:
ldr r2, =0x010000d0
adds r0, r7, 0
bl CpuFastSet
ldr r0, =gUnknown_08DA7744
ldr r0, =gRaySceneOvercast2_Pal
movs r1, 0
movs r2, 0x40
bl LoadCompressedPalette
@ -3899,7 +3899,7 @@ _081D8818:
thumb_func_start sub_81D8828
sub_81D8828: @ 81D8828
push {r4,lr}
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_0862AB44
@ -3926,7 +3926,7 @@ sub_81D8828: @ 81D8828
adds r1, r0
movs r0, 0x3
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
@ -3961,20 +3961,20 @@ sub_81D88D0: @ 81D88D0
push {r4,lr}
sub sp, 0x4
bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08DA80BC
ldr r1, =gRaySceneRayquazaChase_Gfx
movs r4, 0
str r4, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
ldr r1, =gUnknown_08DA7EAC
ldr r1, =gRaySceneChaseStreaks_Gfx
str r4, [sp]
movs r0, 0x2
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
ldr r1, =gUnknown_08DA7C30
ldr r1, =gRaySceneChaseBg_Gfx
str r4, [sp]
movs r0, 0x3
movs r2, 0
@ -3985,27 +3985,27 @@ _081D8904:
lsls r0, 24
cmp r0, 0
bne _081D8904
ldr r0, =gUnknown_08DA8D6C
ldr r0, =gRayChaseRayquazaChase2_Tilemap
ldr r4, =gUnknown_0203CF60
ldr r1, [r4]
adds r1, 0x4
bl LZDecompressWram
ldr r0, =gUnknown_08DA8B40
ldr r0, =gRayChaseRayquazaChase_Tilemap
ldr r1, [r4]
ldr r2, =0x00000804
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DA7FB4
ldr r0, =gRaySceneChaseStreaks_Tilemap
ldr r1, [r4]
ldr r2, =0x00001004
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DA7D6C
ldr r0, =gRaySceneChaseBg_Tilemap
ldr r1, [r4]
ldr r2, =0x00001804
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DA8E84
ldr r0, =gRaySceneChase_Pal
movs r1, 0
movs r2, 0x80
bl LoadCompressedPalette
@ -4354,7 +4354,7 @@ _081D8C26:
thumb_func_start sub_81D8C38
sub_81D8C38: @ 81D8C38
push {r4,lr}
bl sub_8121DA0
bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_0862AD08
@ -4376,7 +4376,7 @@ sub_81D8C38: @ 81D8C38
adds r1, r0
movs r0, 0x2
bl SetBgTilemapBuffer
bl sub_8121E10
bl ResetAllBgsCoordinates
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
@ -4407,14 +4407,14 @@ sub_81D8CC4: @ 81D8CC4
push {r4,lr}
sub sp, 0x4
bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08DAAB24
ldr r1, =gRaySceneHushRing_Gfx
movs r4, 0
str r4, [sp]
movs r0, 0x2
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
ldr r1, =gUnknown_08DAA8B4
ldr r1, =gRaySceneHushBg_Gfx
str r4, [sp]
movs r0, 0
movs r2, 0
@ -4425,22 +4425,22 @@ _081D8CEA:
lsls r0, 24
cmp r0, 0
bne _081D8CEA
ldr r0, =gUnknown_08DAAE54
ldr r0, =gRaySceneHushRing_Tilemap
ldr r4, =gUnknown_0203CF60
ldr r1, [r4]
ldr r2, =0x00000804
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DAAC1C
ldr r0, =gRaySceneHushBg_Tilemap
ldr r1, [r4]
adds r1, 0x4
bl LZDecompressWram
ldr r0, =gUnknown_08DAAF98
ldr r0, =gRaySceneHushRing_Map
ldr r1, [r4]
ldr r2, =0x00001004
adds r1, r2
bl LZDecompressWram
ldr r0, =gUnknown_08DAAFEC
ldr r0, =gRaySceneHushBg_Pal
movs r1, 0
movs r2, 0x60
bl LoadCompressedPalette

View File

@ -3650,7 +3650,7 @@ _080E8A78:
beq _080E8A90
mov r0, r8
movs r1, 0xFC
bl sub_81DB4DC
bl PadNameString
_080E8A90:
ldrb r1, [r7]
lsrs r1, 4

12330
asm/rom6.s

File diff suppressed because it is too large Load Diff

View File

@ -482,7 +482,7 @@ _08012938:
ldrb r0, [r6, 0xF]
movs r1, 0
bl sub_81973FC
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F015C
ldm r1!, {r3,r5,r7}
@ -1963,7 +1963,7 @@ _0801360C:
ldrb r0, [r6, 0xB]
movs r1, 0
bl sub_81973FC
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F0204
ldm r1!, {r3,r5,r7}
@ -2008,7 +2008,7 @@ _080136EA:
b _08013A72
_080136F2:
ldrb r0, [r6, 0xE]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r4, r0, 0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@ -3277,7 +3277,7 @@ sub_8014210: @ 8014210
adds r6, r0, 0
lsls r6, 16
lsrs r6, 16
bl sp000_heal_pokemon
bl HealPlayerParty
bl copy_player_party_to_sav1
bl copy_bags_and_unk_data_from_save_blocks
ldr r5, =gLinkPlayers
@ -3645,7 +3645,7 @@ _080145F4:
ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
bl sp000_heal_pokemon
bl HealPlayerParty
bl copy_player_party_to_sav1
bl copy_bags_and_unk_data_from_save_blocks
movs r0, 0x1
@ -3658,7 +3658,7 @@ _080145F4:
.pool
_08014620:
bl overworld_free_bg_tilemaps
bl sp000_heal_pokemon
bl HealPlayerParty
bl copy_player_party_to_sav1
bl copy_bags_and_unk_data_from_save_blocks
ldr r0, =gBlockSendBuffer
@ -3674,7 +3674,7 @@ _08014620:
.pool
_0801464C:
bl overworld_free_bg_tilemaps
bl sp000_heal_pokemon
bl HealPlayerParty
bl copy_player_party_to_sav1
bl copy_bags_and_unk_data_from_save_blocks
ldr r0, =gBlockSendBuffer
@ -4208,7 +4208,7 @@ _08014AEC:
strb r0, [r5, 0xF]
ldrb r0, [r5, 0xF]
bl sub_8018784
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F015C
ldm r1!, {r3,r4,r6}
@ -4740,7 +4740,7 @@ _08014FE8:
strb r0, [r7, 0xD]
ldrb r0, [r7, 0xB]
bl sub_8018784
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F0204
ldm r1!, {r3-r5}
@ -4788,7 +4788,7 @@ _080150CE:
b _080152A0
_080150D6:
ldrb r0, [r7, 0xE]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r2, r0, 0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@ -5113,7 +5113,7 @@ _08015398:
strb r0, [r5, 0xB]
ldrb r0, [r5, 0xB]
bl sub_8018784
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F0204
ldm r1!, {r3,r4,r6}
@ -5159,7 +5159,7 @@ _08015446:
cmp r0, 0
beq _08015452
ldrb r0, [r5, 0xE]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
_08015452:
ldrb r0, [r5, 0x14]
cmp r0, 0x78
@ -8509,7 +8509,7 @@ _080171DC:
ldrb r0, [r5]
movs r1, 0
bl sub_81973FC
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, [sp, 0x24]
ldm r1!, {r3,r4,r6}
@ -8534,7 +8534,7 @@ _080171DC:
_08017228:
mov r3, r9
ldrb r0, [r3]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
mov r8, r0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@ -8622,7 +8622,7 @@ _080172C8:
ldrb r0, [r6]
movs r1, 0
bl sub_81973FC
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, [sp, 0x24]
ldm r1!, {r3,r4,r7}
@ -8650,7 +8650,7 @@ _08017314:
_0801731C:
mov r3, r10
ldrb r0, [r3]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r1, r0, 0
ldr r0, =gMain
ldrh r2, [r0, 0x2E]
@ -26934,11 +26934,11 @@ sub_80205B4: @ 80205B4
task_tutorial_story_unknown: @ 8020604
push {r4,r5,lr}
sub sp, 0x4
ldr r0, =gUnknown_08DD4860
ldr r0, =gLinkMiscMenu_Pal
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r1, =gUnknown_08DD4880
ldr r1, =gLinkMiscMenu_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x2
@ -26966,7 +26966,7 @@ task_tutorial_story_unknown: @ 8020604
movs r2, 0x8
bl CpuFastSet
_0802064E:
ldr r1, =gUnknown_08DD4AB8
ldr r1, =gLinkMiscMenu_Tilemap
movs r0, 0x2
movs r2, 0
movs r3, 0

1312
asm/rom_8034C54.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -410,7 +410,7 @@ sub_80FBAE4: @ 80FBAE4
adds r0, r4, 0x4
lsls r0, 24
lsrs r4, r0, 24
bl sub_811A138
bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x1
@ -433,7 +433,7 @@ _080FBB2A:
adds r0, 0x8
lsls r0, 24
lsrs r4, r0, 24
bl sub_811A138
bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x1

View File

@ -425,8 +425,8 @@ _08140618:
bl SetVBlankCallback
bl remove_some_task
bl SetVBlankHBlankCallbacksToNull
bl sub_8121DA0
bl sub_8121E10
bl ResetVramOamAndBgCntRegs
bl ResetAllBgsCoordinates
b _081407F8
_08140630:
bl sub_8140388
@ -452,14 +452,14 @@ _08140662:
lsls r2, 1
movs r1, 0
bl LoadPalette
ldr r1, =gUnknown_08DBC2E8
ldr r1, =gRouletteMenuTiles
movs r4, 0
str r4, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
ldr r1, =gUnknown_08DBCA14
ldr r1, =gRouletteWheelTiles
str r4, [sp]
movs r0, 0x2
movs r2, 0
@ -3258,8 +3258,8 @@ sub_8141E7C: @ 8141E7C
ldr r0, =gSpriteCoordOffsetY
strh r4, [r0]
strh r4, [r1]
bl sub_8121DA0
bl sub_8121E10
bl ResetVramOamAndBgCntRegs
bl ResetAllBgsCoordinates
movs r0, 0x50
movs r1, 0
bl SetGpuReg
@ -3619,7 +3619,7 @@ _08142174:
cmp r3, 0x3
bls _08142144
movs r6, 0
ldr r0, =gUnknown_085B62E8
ldr r0, =gUnknown_085B62E4+0x4
add r0, r12
ldr r7, [r0]
ldr r4, =gUnknown_0203AB88
@ -4985,7 +4985,7 @@ _08142D24:
lsls r1, r5, 1
adds r1, r5
lsls r1, 3
ldr r0, =gUnknown_085B75B0
ldr r0, =gSpriteTemplate_85B75B0
adds r0, r1, r0
adds r1, 0x94
adds r2, r4, 0
@ -5035,7 +5035,7 @@ _08142D86:
lsls r1, r6, 1
adds r1, r6
lsls r1, 3
ldr r0, =gUnknown_085B7508
ldr r0, =gSpriteTemplate_85B7508
adds r0, r1, r0
adds r1, 0x94
lsls r1, 16
@ -5070,7 +5070,7 @@ _08142DCC:
lsls r2, r6, 1
adds r2, r6
lsls r2, 3
ldr r0, =gUnknown_085B7568
ldr r0, =gSpriteTemplate_85B7568
adds r0, r2, r0
adds r2, 0x5C
lsls r2, 16
@ -5278,7 +5278,7 @@ sub_8142F7C: @ 8142F7C
movs r0, 0x4
mov r8, r0
_08142F8C:
ldr r0, =gUnknown_085B7928
ldr r0, =gSpriteTemplate_85B7928
movs r1, 0x74
movs r2, 0x14
movs r3, 0xA
@ -5600,7 +5600,7 @@ _08143216:
lsls r0, r1, 1
adds r0, r1
lsls r0, 3
ldr r1, =gUnknown_085B7610
ldr r1, =gSpriteTemplate_85B7610
adds r0, r1
movs r1, 0x28
mov r2, sp
@ -5749,7 +5749,7 @@ _08143322:
lsrs r5, r0, 24
cmp r5, 0x4
bls _08143322
ldr r0, =gUnknown_085B77E4
ldr r0, =gSpriteTemplate_85B77E4
movs r1, 0xD0
movs r2, 0x10
movs r3, 0x4
@ -6459,7 +6459,7 @@ sub_814391C: @ 814391C
str r0, [sp, 0x4]
mov r0, sp
bl LoadSpriteSheet
ldr r0, =gUnknown_085B7950
ldr r0, =gSpriteTemplate_85B7950
movs r1, 0x74
movs r2, 0x50
movs r3, 0x51
@ -6530,7 +6530,7 @@ _081439D0:
subs r3, r4
lsls r3, 24
lsrs r3, 24
ldr r0, =gUnknown_085B7928
ldr r0, =gSpriteTemplate_85B7928
movs r1, 0x74
movs r2, 0x50
bl CreateSprite
@ -6841,14 +6841,14 @@ _08143BEA:
lsls r0, 24
cmp r0, 0
beq _08143C74
ldr r0, _08143C84 @ =gMPlay_SE1
ldr r0, _08143C84 @ =gMPlayInfo_SE1
ldr r4, _08143C88 @ =0x0000FFFF
ldrh r2, [r7, 0x24]
lsls r2, 24
asrs r2, 24
adds r1, r4, 0
bl m4aMPlayPanpotControl
ldr r0, _08143C8C @ =gMPlay_SE2
ldr r0, _08143C8C @ =gMPlayInfo_SE2
ldrh r2, [r7, 0x24]
lsls r2, 24
asrs r2, 24
@ -6864,11 +6864,11 @@ _08143C74:
_08143C80:
.4byte 0x00000000
_08143C84:
.4byte gMPlay_SE1
.4byte gMPlayInfo_SE1
_08143C88:
.4byte 0x0000FFFF
_08143C8C:
.4byte gMPlay_SE2
.4byte gMPlayInfo_SE2
thumb_func_end sub_8143B84
thumb_func_start sub_8143C90
@ -8128,7 +8128,7 @@ sub_81446DC: @ 81446DC
lsrs r0, 16
mov r9, r0
ldr r5, =gUnknown_0203AB88
ldr r0, =gUnknown_085B79F8
ldr r0, =gSpriteTemplate_85B79F8
movs r2, 0xC
negs r2, r2
movs r1, 0x24
@ -8137,7 +8137,7 @@ sub_81446DC: @ 81446DC
ldr r1, [r5]
adds r1, 0x73
strb r0, [r1]
ldr r4, =gUnknown_085B7ABC
ldr r4, =gSpriteTemplate_85B7ABC
mov r3, r8
movs r0, 0x2E
ldrsh r2, [r3, r0]
@ -8353,7 +8353,7 @@ sub_81448B8: @ 81448B8
lsls r0, 16
lsrs r0, 16
mov r9, r0
ldr r0, =gUnknown_085B7A10
ldr r0, =gSpriteTemplate_85B7A10
movs r1, 0x2E
ldrsh r2, [r7, r1]
lsls r2, 2
@ -8709,12 +8709,12 @@ _08144BAC:
mov r5, r10
cmp r5, r8
bcs _08144C18
ldr r1, =gUnknown_085B6160
ldr r1, =gUnknown_085B6154+0xC
mov r10, r1
_08144BBC:
ldr r3, [r4]
lsls r0, r6, 3
ldr r1, =gUnknown_085B62E8
ldr r1, =gUnknown_085B62E4+0x4
adds r0, r1
ldr r1, [r3, 0x8]
ldr r2, [r0]
@ -9385,14 +9385,14 @@ sub_81450D8: @ 81450D8
adds r4, r0
asrs r4, 1
negs r4, r4
ldr r0, =gMPlay_SE1
ldr r0, =gMPlayInfo_SE1
ldr r5, =0x0000ffff
lsls r4, 24
asrs r4, 24
adds r1, r5, 0
adds r2, r4, 0
bl m4aMPlayPanpotControl
ldr r0, =gMPlay_SE2
ldr r0, =gMPlayInfo_SE2
adds r1, r5, 0
adds r2, r4, 0
bl m4aMPlayPanpotControl

View File

@ -1174,8 +1174,8 @@ _080F917A:
bx r1
thumb_func_end sub_80F9160
thumb_func_start sp000_heal_pokemon
sp000_heal_pokemon: @ 80F9180
thumb_func_start HealPlayerParty
HealPlayerParty: @ 80F9180
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@ -1267,7 +1267,7 @@ _080F922C:
pop {r0}
bx r0
.pool
thumb_func_end sp000_heal_pokemon
thumb_func_end HealPlayerParty
thumb_func_start ScriptGiveMon
@ void ScriptGiveMon(s16 species_num, u8 level, int held_item)
@ -1359,8 +1359,8 @@ ScriptGiveEgg: @ 80F92C8
bx r1
thumb_func_end ScriptGiveEgg
thumb_func_start sub_80F92F8
sub_80F92F8: @ 80F92F8
thumb_func_start HasEnoughMonsForDoubleBattle
HasEnoughMonsForDoubleBattle: @ 80F92F8
push {lr}
bl GetMonsStateToDoubles
lsls r0, 24
@ -1382,7 +1382,7 @@ _080F9318:
pop {r0}
bx r0
.pool
thumb_func_end sub_80F92F8
thumb_func_end HasEnoughMonsForDoubleBattle
thumb_func_start sub_80F9320
sub_80F9320: @ 80F9320

View File

@ -409,7 +409,7 @@ _080DFDAC:
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, =gUnknown_03006310
ldr r0, =gMultiuseListMenuTemplate
movs r1, 0
movs r2, 0
bl ListMenuInit
@ -601,7 +601,7 @@ _080DFF78:
movs r0, 0x2
negs r0, r0
str r0, [r1, 0x4]
ldr r3, =gUnknown_03006310
ldr r3, =gMultiuseListMenuTemplate
adds r1, r3, 0
ldr r0, =gUnknown_08589A48
ldm r0!, {r4-r6}
@ -627,7 +627,7 @@ _080DFFDC:
_080DFFDE:
ldr r0, =gUnknown_02039F70
ldr r0, [r0]
ldr r1, =gUnknown_03006310
ldr r1, =gMultiuseListMenuTemplate
ldrh r1, [r1, 0xE]
ldr r2, =0x00002004
adds r0, r2
@ -1976,7 +1976,7 @@ Task_BuyMenu: @ 80E0AC8
b _080E0C8E
_080E0AEA:
ldrb r0, [r4, 0xE]
bl ListMenuHandleInput
bl ListMenuHandleInputGetItemId
adds r5, r0, 0
ldrb r0, [r4, 0xE]
ldr r7, =gUnknown_02039F70
@ -1985,7 +1985,7 @@ _080E0AEA:
adds r1, r2, r3
subs r3, 0x2
adds r2, r3
bl get_coro_args_x18_x1A
bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r5, r0

View File

@ -10588,7 +10588,7 @@ sub_812F7E4: @ 812F7E4
bl Alloc
adds r1, r0, 0
str r1, [r4]
ldr r0, =gUnknown_08DD0050
ldr r0, =gSlotMachineReelTime_Gfx
bl LZDecompressWram
ldr r4, =gUnknown_0203AAD8
movs r0, 0xD8
@ -10715,14 +10715,14 @@ sub_812F908: @ 812F908
bl Alloc
adds r1, r0, 0
str r1, [r4]
ldr r0, =gUnknown_08DCDB30
ldr r0, =gSlotMachineMenu_Gfx
bl LZDecompressWram
ldr r1, [r4]
movs r0, 0x2
adds r2, r5, 0
movs r3, 0
bl LoadBgTiles
ldr r0, =gUnknown_08DCDA90
ldr r0, =gSlotMachineMenu_Pal
movs r1, 0
movs r2, 0xA0
bl LoadPalette
@ -10748,7 +10748,7 @@ sub_812F958: @ 812F958
thumb_func_start sub_812F968
sub_812F968: @ 812F968
push {lr}
ldr r1, =gUnknown_08DCE770
ldr r1, =gSlotMachineMenu_Tilemap
movs r2, 0xA0
lsls r2, 3
movs r0, 0x2

View File

@ -356,7 +356,7 @@ sub_809FA9C: @ 809FA9C
bl is_c1_link_related_active
cmp r0, 0
bne _0809FAB2
bl player_bitmagic
bl FreezeMapObjects
bl sub_808B864
bl sub_808BCF4
_0809FAB2:

225
asm/time_events.s Normal file
View File

@ -0,0 +1,225 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start GetMirageRnd
GetMirageRnd: @ 8137890
push {r4,lr}
ldr r0, =0x00004024
bl VarGet
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =0x00004025
bl VarGet
lsls r0, 16
lsrs r0, 16
lsls r4, 16
orrs r4, r0
adds r0, r4, 0
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end GetMirageRnd
thumb_func_start SetMirageRnd
SetMirageRnd: @ 81378BC
push {r4,lr}
adds r4, r0, 0
ldr r0, =0x00004024
lsrs r1, r4, 16
bl VarSet
ldr r0, =0x00004025
lsls r4, 16
lsrs r4, 16
adds r1, r4, 0
bl VarSet
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end SetMirageRnd
thumb_func_start InitMirageRnd
InitMirageRnd: @ 81378E4
push {r4,lr}
bl Random
adds r4, r0, 0
bl Random
lsls r4, 16
lsls r0, 16
lsrs r0, 16
orrs r4, r0
adds r0, r4, 0
bl SetMirageRnd
pop {r4}
pop {r0}
bx r0
thumb_func_end InitMirageRnd
thumb_func_start UpdateMirageRnd
UpdateMirageRnd: @ 8137904
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
bl GetMirageRnd
adds r1, r0, 0
cmp r4, 0
beq _08137928
ldr r3, =0x41c64e6d
ldr r2, =0x00003039
_08137918:
adds r0, r1, 0
muls r0, r3
adds r1, r0, r2
subs r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0
bne _08137918
_08137928:
adds r0, r1, 0
bl SetMirageRnd
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end UpdateMirageRnd
thumb_func_start IsMirageIslandPresent
IsMirageIslandPresent: @ 813793C
push {r4-r6,lr}
bl GetMirageRnd
lsrs r6, r0, 16
movs r5, 0
_08137946:
movs r0, 0x64
adds r1, r5, 0
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0xB
bl GetMonData
cmp r0, 0
beq _08137978
adds r0, r4, 0
movs r1, 0
bl GetMonData
ldr r1, =0x0000ffff
ands r1, r0
cmp r1, r6
bne _08137978
movs r0, 0x1
b _08137980
.pool
_08137978:
adds r5, 0x1
cmp r5, 0x5
ble _08137946
movs r0, 0
_08137980:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end IsMirageIslandPresent
thumb_func_start UpdateShoalTideFlag
UpdateShoalTideFlag: @ 8137988
push {lr}
bl get_map_light_from_warp0
lsls r0, 24
lsrs r0, 24
bl is_light_level_1_2_3_5_or_6
lsls r0, 24
cmp r0, 0
beq _081379CE
bl RtcCalcLocalTime
ldr r1, =gUnknown_085B2B44
ldr r0, =gLocalTime
ldrb r0, [r0, 0x2]
lsls r0, 24
asrs r0, 24
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _081379C8
ldr r0, =0x0000089a
bl FlagSet
b _081379CE
.pool
_081379C8:
ldr r0, =0x0000089a
bl FlagClear
_081379CE:
pop {r0}
bx r0
.pool
thumb_func_end UpdateShoalTideFlag
thumb_func_start Task_WaitWeather
Task_WaitWeather: @ 81379D8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
bl sub_80AC3BC
lsls r0, 24
cmp r0, 0
beq _081379F2
bl EnableBothScriptContexts
adds r0, r4, 0
bl DestroyTask
_081379F2:
pop {r4}
pop {r0}
bx r0
thumb_func_end Task_WaitWeather
thumb_func_start WaitWeather
WaitWeather: @ 81379F8
push {lr}
ldr r0, =Task_WaitWeather
movs r1, 0x50
bl CreateTask
pop {r0}
bx r0
.pool
thumb_func_end WaitWeather
thumb_func_start InitBirchState
InitBirchState: @ 8137A0C
push {lr}
ldr r0, =0x00004049
bl GetVarPointer
movs r1, 0
strh r1, [r0]
pop {r0}
bx r0
.pool
thumb_func_end InitBirchState
thumb_func_start UpdateBirchState
UpdateBirchState: @ 8137A20
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, =0x00004049
bl GetVarPointer
adds r5, r0, 0
ldrh r0, [r5]
adds r4, r0
strh r4, [r5]
ldrh r0, [r5]
movs r1, 0x7
bl __umodsi3
strh r0, [r5]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end UpdateBirchState

View File

@ -1169,7 +1169,7 @@ _080AAE30:
_080AAE72:
ldrb r0, [r3, 0x8]
bl title_screen_update_rayquaza_ring_palette
ldr r0, =gMPlay_BGM
ldr r0, =gMPlayInfo_BGM
ldr r1, =0x0000ffff
ldrh r0, [r0, 0x4]
cmp r0, 0

View File

@ -7602,7 +7602,7 @@ sub_807B170: @ 807B170
movs r0, 0x3
bl SetBgTilemapBuffer
bl DeactivateAllTextPrinters
ldr r0, =gUnknown_08C00000
ldr r0, =gBattleTextboxTiles
mov r10, r0
movs r0, 0
mov r9, r0
@ -7611,7 +7611,7 @@ sub_807B170: @ 807B170
movs r2, 0
movs r3, 0
bl copy_decompressed_tile_data_to_vram_autofree
ldr r0, =gUnknown_08C00524
ldr r0, =gBattleTextboxTilemap
mov r8, r0
ldr r4, =0x0201c000
adds r1, r4, 0
@ -7621,7 +7621,7 @@ sub_807B170: @ 807B170
adds r2, r5, 0
movs r3, 0
bl CopyToBgTilemapBuffer
ldr r6, =gUnknown_08C004E0
ldr r6, =gBattleTextboxPalette
adds r0, r6, 0
movs r1, 0
movs r2, 0x20
@ -8105,11 +8105,11 @@ _0807B668:
ldr r1, =0x00005206
movs r0, 0xC
bl SetGpuReg
ldr r0, =gUnknown_08DD7300
ldr r0, =gTradeGba2_Pal
movs r1, 0x10
movs r2, 0x60
bl LoadPalette
ldr r3, =gUnknown_08DD7360
ldr r3, =gTradeGba_Gfx
ldr r4, =0x06004000
movs r5, 0xA1
lsls r5, 5
@ -8168,7 +8168,7 @@ _0807B726:
ldr r1, =0x80000800
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
ldr r3, =gUnknown_08DD7360
ldr r3, =gTradeGba_Gfx
movs r4, 0xC0
lsls r4, 19
movs r5, 0xA1
@ -8446,11 +8446,11 @@ _0807B9FC:
ldr r1, =0x00005206
movs r0, 0xC
bl SetGpuReg
ldr r0, =gUnknown_08DD7300
ldr r0, =gTradeGba2_Pal
movs r1, 0x10
movs r2, 0x60
bl LoadPalette
ldr r3, =gUnknown_08DD7360
ldr r3, =gTradeGba_Gfx
ldr r4, =0x06004000
movs r5, 0xA1
lsls r5, 5
@ -13369,7 +13369,7 @@ sub_807E7E8: @ 807E7E8
ldrh r0, [r5, 0x28]
cmp r0, 0
beq _0807E960
bl itemid_is_mail
bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _0807E954
@ -13442,7 +13442,7 @@ _0807E98E:
bl StringCopy
adds r0, r4, 0
movs r1, 0
bl sub_81DB4DC
bl PadNameString
ldr r1, [r6, 0x18]
lsrs r0, r1, 24
strb r0, [r5, 0x1A]

View File

@ -601,12 +601,12 @@ _080C2C04:
ldrb r0, [r0]
cmp r0, 0
beq _080C2C28
ldr r0, =gUnknown_08DD1AB8
ldr r0, =gEmeraldTrainerCard_Gfx
ldr r2, =0x000019a8
b _080C2C4A
.pool
_080C2C28:
ldr r0, =gUnknown_08DD246C
ldr r0, =gFireRedTrainerCard_Gfx
ldr r2, =0x000019a8
b _080C2C4A
.pool
@ -3082,7 +3082,7 @@ _080C4214:
movs r1, 0x60
movs r2, 0
movs r3, 0
bl sub_80A2BAC
bl TintPalette_CustomTone
b _080C424A
_080C422A:
adds r0, r4, r5
@ -3094,7 +3094,7 @@ _080C422A:
lsls r1, 1
str r1, [sp]
movs r1, 0x60
bl sub_80A2BAC
bl TintPalette_CustomTone
b _080C424A
_080C4242:
adds r0, r4, r5
@ -3317,7 +3317,7 @@ _080C4418:
ldrb r0, [r0]
cmp r0, 0
beq _080C447C
ldr r1, =gUnknown_0856FAE4
ldr r1, =gEmeraldTrainerCardStarPals
ldr r3, =0x00000535
adds r0, r2, r3
ldrb r0, [r0]
@ -3344,7 +3344,7 @@ _080C4418:
b _080C44B2
.pool
_080C447C:
ldr r1, =gUnknown_0856FAF8
ldr r1, =gFireRedTrainerCardStarPals
ldr r3, =0x00000535
adds r0, r2, r3
ldrb r0, [r0]
@ -5766,7 +5766,7 @@ sub_80C58D4: @ 80C58D4
beq _080C5914
cmp r0, 0x2
beq _080C591C
bl sub_8085784
bl Overworld_PlaySpecialMapMusic
b _080C5924
.pool
_080C5914:

View File

@ -178,14 +178,14 @@ sub_81DA6CC: @ 81DA6CC
push {r4-r6,lr}
adds r5, r0, 0
movs r4, 0
ldr r6, =gUnknown_085500A4
ldr r6, =gRematchTable
_081DA6D4:
lsls r0, r4, 1
lsls r1, r5, 4
adds r0, r1
adds r0, r6
ldrh r0, [r0]
bl HasTrainerAlreadyBeenFought
bl HasTrainerBeenFought
lsls r0, 24
cmp r0, 0
bne _081DA6F0

File diff suppressed because it is too large Load Diff

View File

@ -24,8 +24,8 @@ _081DABD2:
bx r1
thumb_func_end sub_81DABBC
thumb_func_start sub_81DABDC
sub_81DABDC: @ 81DABDC
thumb_func_start Phase2Task_34
Phase2Task_34: @ 81DABDC
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -50,7 +50,7 @@ _081DABEE:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DABDC
thumb_func_end Phase2Task_34
thumb_func_start sub_81DAC14
sub_81DAC14: @ 81DAC14
@ -119,7 +119,7 @@ sub_81DAC80: @ 81DAC80
bne _081DACA4
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DABDC
ldr r0, =Phase2Task_34
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -131,8 +131,8 @@ _081DACA4:
.pool
thumb_func_end sub_81DAC80
thumb_func_start sub_81DACB4
sub_81DACB4: @ 81DACB4
thumb_func_start Phase2Task_35
Phase2Task_35: @ 81DACB4
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -157,7 +157,7 @@ _081DACC6:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DACB4
thumb_func_end Phase2Task_35
thumb_func_start sub_81DACEC
sub_81DACEC: @ 81DACEC
@ -226,7 +226,7 @@ sub_81DAD58: @ 81DAD58
bne _081DAD7C
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DACB4
ldr r0, =Phase2Task_35
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -238,8 +238,8 @@ _081DAD7C:
.pool
thumb_func_end sub_81DAD58
thumb_func_start sub_81DAD8C
sub_81DAD8C: @ 81DAD8C
thumb_func_start Phase2Task_36
Phase2Task_36: @ 81DAD8C
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -264,7 +264,7 @@ _081DAD9E:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DAD8C
thumb_func_end Phase2Task_36
thumb_func_start sub_81DADC4
sub_81DADC4: @ 81DADC4
@ -342,7 +342,7 @@ sub_81DAE44: @ 81DAE44
bne _081DAE68
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DAD8C
ldr r0, =Phase2Task_36
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -354,8 +354,8 @@ _081DAE68:
.pool
thumb_func_end sub_81DAE44
thumb_func_start sub_81DAE78
sub_81DAE78: @ 81DAE78
thumb_func_start Phase2Task_37
Phase2Task_37: @ 81DAE78
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -380,7 +380,7 @@ _081DAE8A:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DAE78
thumb_func_end Phase2Task_37
thumb_func_start sub_81DAEB0
sub_81DAEB0: @ 81DAEB0
@ -460,7 +460,7 @@ sub_81DAF34: @ 81DAF34
bne _081DAF58
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DAE78
ldr r0, =Phase2Task_37
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -472,8 +472,8 @@ _081DAF58:
.pool
thumb_func_end sub_81DAF34
thumb_func_start sub_81DAF68
sub_81DAF68: @ 81DAF68
thumb_func_start Phase2Task_38
Phase2Task_38: @ 81DAF68
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -498,7 +498,7 @@ _081DAF7A:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DAF68
thumb_func_end Phase2Task_38
thumb_func_start sub_81DAFA0
sub_81DAFA0: @ 81DAFA0
@ -585,7 +585,7 @@ sub_81DB02C: @ 81DB02C
bne _081DB050
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DAF68
ldr r0, =Phase2Task_38
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -597,8 +597,8 @@ _081DB050:
.pool
thumb_func_end sub_81DB02C
thumb_func_start sub_81DB060
sub_81DB060: @ 81DB060
thumb_func_start Phase2Task_39
Phase2Task_39: @ 81DB060
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -623,7 +623,7 @@ _081DB072:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DB060
thumb_func_end Phase2Task_39
thumb_func_start sub_81DB098
sub_81DB098: @ 81DB098
@ -710,7 +710,7 @@ sub_81DB124: @ 81DB124
bne _081DB148
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DB060
ldr r0, =Phase2Task_39
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -722,4 +722,264 @@ _081DB148:
.pool
thumb_func_end sub_81DB124
thumb_func_start Phase2Task_40
Phase2Task_40: @ 81DB158
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r5, =gUnknown_0862B7E8
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
_081DB16A:
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _081DB16A
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end Phase2Task_40
thumb_func_start sub_81DB190
sub_81DB190: @ 81DB190
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
movs r0, 0xA
ldrsh r1, [r4, r0]
cmp r1, 0
bne _081DB1BE
movs r0, 0x80
str r0, [sp]
str r1, [sp, 0x4]
subs r0, 0x84
str r0, [sp, 0x8]
str r1, [sp, 0xC]
movs r0, 0x78
movs r1, 0x2D
movs r2, 0xC
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x10]
b _081DB212
_081DB1BE:
cmp r1, 0x10
bne _081DB1E6
movs r0, 0x80
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
subs r0, 0x4
str r0, [sp, 0x8]
movs r0, 0x1
str r0, [sp, 0xC]
movs r0, 0x59
movs r1, 0x61
movs r2, 0xFC
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
b _081DB212
_081DB1E6:
cmp r1, 0x20
bne _081DB212
movs r0, 0x80
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
subs r0, 0x4
str r0, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
movs r0, 0x97
movs r1, 0x61
movs r2, 0x84
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x14]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_081DB212:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
movs r0, 0
add sp, 0x10
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81DB190
thumb_func_start sub_81DB224
sub_81DB224: @ 81DB224
push {lr}
adds r2, r0, 0
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081DB248
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =Phase2Task_40
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_081DB248:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_81DB224
thumb_func_start Phase2Task_41
Phase2Task_41: @ 81DB258
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r5, =gUnknown_0862B7FC
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
_081DB26A:
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _081DB26A
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end Phase2Task_41
thumb_func_start sub_81DB290
sub_81DB290: @ 81DB290
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
movs r0, 0xA
ldrsh r1, [r4, r0]
cmp r1, 0
bne _081DB2C2
movs r2, 0x8E
lsls r2, 1
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
str r1, [sp, 0xC]
movs r0, 0x78
movs r1, 0x50
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x10]
b _081DB316
_081DB2C2:
cmp r1, 0x10
bne _081DB2EA
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
movs r0, 0x1
str r0, [sp, 0xC]
movs r0, 0x78
movs r1, 0x50
movs r2, 0x2C
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
b _081DB316
_081DB2EA:
cmp r1, 0x20
bne _081DB316
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
movs r0, 0x79
movs r1, 0x50
movs r2, 0xA4
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x14]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_081DB316:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
movs r0, 0
add sp, 0x10
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81DB290
thumb_func_start sub_81DB328
sub_81DB328: @ 81DB328
push {lr}
adds r2, r0, 0
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081DB34C
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =Phase2Task_41
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_081DB34C:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_81DB328
.align 2, 0 @ Don't pad with nop.

View File

@ -1,268 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_81DB158
sub_81DB158: @ 81DB158
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r5, =gUnknown_0862B7E8
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
_081DB16A:
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _081DB16A
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81DB158
thumb_func_start sub_81DB190
sub_81DB190: @ 81DB190
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
movs r0, 0xA
ldrsh r1, [r4, r0]
cmp r1, 0
bne _081DB1BE
movs r0, 0x80
str r0, [sp]
str r1, [sp, 0x4]
subs r0, 0x84
str r0, [sp, 0x8]
str r1, [sp, 0xC]
movs r0, 0x78
movs r1, 0x2D
movs r2, 0xC
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x10]
b _081DB212
_081DB1BE:
cmp r1, 0x10
bne _081DB1E6
movs r0, 0x80
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
subs r0, 0x4
str r0, [sp, 0x8]
movs r0, 0x1
str r0, [sp, 0xC]
movs r0, 0x59
movs r1, 0x61
movs r2, 0xFC
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
b _081DB212
_081DB1E6:
cmp r1, 0x20
bne _081DB212
movs r0, 0x80
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
subs r0, 0x4
str r0, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
movs r0, 0x97
movs r1, 0x61
movs r2, 0x84
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x14]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_081DB212:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
movs r0, 0
add sp, 0x10
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81DB190
thumb_func_start sub_81DB224
sub_81DB224: @ 81DB224
push {lr}
adds r2, r0, 0
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081DB248
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DB158
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_081DB248:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_81DB224
thumb_func_start sub_81DB258
sub_81DB258: @ 81DB258
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r5, =gUnknown_0862B7FC
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
_081DB26A:
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _081DB26A
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81DB258
thumb_func_start sub_81DB290
sub_81DB290: @ 81DB290
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
movs r0, 0xA
ldrsh r1, [r4, r0]
cmp r1, 0
bne _081DB2C2
movs r2, 0x8E
lsls r2, 1
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
str r1, [sp, 0xC]
movs r0, 0x78
movs r1, 0x50
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x10]
b _081DB316
_081DB2C2:
cmp r1, 0x10
bne _081DB2EA
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
movs r0, 0x1
str r0, [sp, 0xC]
movs r0, 0x78
movs r1, 0x50
movs r2, 0x2C
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
b _081DB316
_081DB2EA:
cmp r1, 0x20
bne _081DB316
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
movs r0, 0x79
movs r1, 0x50
movs r2, 0xA4
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x14]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_081DB316:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
movs r0, 0
add sp, 0x10
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81DB290
thumb_func_start sub_81DB328
sub_81DB328: @ 81DB328
push {lr}
adds r2, r0, 0
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081DB34C
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DB258
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_081DB34C:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_81DB328
.align 2, 0 @ Don't pad with nop.

View File

@ -5,350 +5,10 @@
.text
thumb_func_start sub_8166204
sub_8166204: @ 8166204
push {r4-r6,lr}
adds r5, r0, 0
adds r6, r1, 0
ldr r4, =gUnknown_0203BCAC
ldr r0, =0x0000806c
bl AllocZeroed
str r0, [r4]
ldr r1, =gUnknown_0203BC90
ldr r2, =0x00007fd0
adds r0, r2
str r0, [r1]
str r5, [r0, 0x8]
str r6, [r0, 0x4]
ldr r0, =sub_8166380
bl launch_c3_walk_stairs_and_run_once
ldr r0, =sub_816631C
bl SetMainCallback2
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8166204
thumb_func_start sub_816624C
sub_816624C: @ 816624C
push {r4,r5,lr}
ldr r4, =gUnknown_0203BCAC
ldr r0, =0x0000806c
bl AllocZeroed
str r0, [r4]
ldr r5, =gUnknown_0203BC90
ldr r1, =0x00007fd0
adds r0, r1
str r0, [r5]
ldr r1, =gUnknown_0203BC98
ldr r1, [r1]
str r1, [r0, 0x8]
ldr r1, =gUnknown_0203BC94
ldr r1, [r1]
str r1, [r0, 0x4]
ldr r4, =gUnknown_0203BC9C
ldrb r0, [r4]
bl sub_81672E4
strb r0, [r4]
ldr r5, [r5]
movs r1, 0
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
bls _08166284
movs r1, 0x1
_08166284:
adds r0, r5, 0
adds r0, 0x56
strb r1, [r0]
ldr r0, =sub_8166380
bl launch_c3_walk_stairs_and_run_once
ldr r0, =sub_81662C0
bl SetMainCallback2
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_816624C
thumb_func_start sub_81662C0
sub_81662C0: @ 81662C0
push {r4,lr}
ldr r4, =gUnknown_0203BC90
ldr r0, [r4]
ldr r0, [r0]
bl _call_via_r0
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
ldr r4, [r4]
ldr r1, [r4]
ldr r0, =map_warp_consider_1_to_outside_or_stair_or_dive
cmp r1, r0
bne _081662F0
adds r0, r4, 0
adds r0, 0x50
movs r1, 0
strb r1, [r0]
ldr r0, =sub_8166304
bl SetMainCallback2
_081662F0:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81662C0
thumb_func_start sub_8166304
sub_8166304: @ 8166304
push {lr}
bl sub_81668F8
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_8166304
thumb_func_start sub_816631C
sub_816631C: @ 816631C
push {lr}
ldr r0, =gUnknown_0203BC90
ldr r0, [r0]
ldr r0, [r0]
bl _call_via_r0
bl AnimateSprites
bl BuildOamBuffer
bl RunTextPrinters
bl UpdatePaletteFade
pop {r0}
bx r0
.pool
thumb_func_end sub_816631C
thumb_func_start sub_8166340
sub_8166340: @ 8166340
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
ldr r0, =gUnknown_0203BCAC
ldr r0, [r0]
ldr r1, =0x00007c58
adds r0, r1
bl sub_81D2108
bl sub_80BA0A8
pop {r0}
bx r0
.pool
thumb_func_end sub_8166340
thumb_func_start launch_c3_walk_stairs_and_run_once
launch_c3_walk_stairs_and_run_once: @ 816636C
ldr r1, =gUnknown_0203BC90
ldr r1, [r1]
str r0, [r1]
adds r1, 0x50
movs r0, 0
strb r0, [r1]
bx lr
.pool
thumb_func_end launch_c3_walk_stairs_and_run_once
thumb_func_start sub_8166380
sub_8166380: @ 8166380
push {r4,r5,lr}
sub sp, 0x4
ldr r1, =gUnknown_0203BC90
ldr r0, [r1]
adds r0, 0x50
ldrb r0, [r0]
adds r2, r1, 0
cmp r0, 0xF
bls _08166394
b _08166556
_08166394:
lsls r0, 2
ldr r1, =_081663A8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_081663A8:
.4byte _081663E8
.4byte _0816640C
.4byte _08166416
.4byte _08166434
.4byte _08166464
.4byte _08166468
.4byte _08166474
.4byte _08166484
.4byte _08166490
.4byte _0816649C
.4byte _081664B8
.4byte _081664BC
.4byte _081664E4
.4byte _08166510
.4byte _08166528
.4byte _08166550
_081663E8:
ldr r2, =gUnknown_0203BCAC
ldr r0, [r2]
ldr r1, =0x00007b10
adds r0, r1
movs r1, 0xFF
strb r1, [r0]
ldr r0, [r2]
ldr r2, =0x00007c58
adds r0, r2
bl sub_81D1ED4
b _0816653C
.pool
_0816640C:
bl ResetSpriteData
bl FreeAllSpritePalettes
b _0816653C
_08166416:
movs r0, 0
bl SetVBlankCallback
movs r0, 0
str r0, [sp]
movs r1, 0xC0
lsls r1, 19
ldr r2, =0x05006000
mov r0, sp
bl CpuSet
b _0816653C
.pool
_08166434:
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_085DFCCC
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
ldr r0, =gUnknown_085DFCDC
bl InitWindows
bl DeactivateAllTextPrinters
movs r0, 0
movs r1, 0x97
movs r2, 0xE0
bl sub_809882C
b _0816653C
.pool
_08166464:
ldr r1, [r2]
b _08166540
_08166468:
bl sub_8168328
lsls r0, 24
cmp r0, 0
bne _08166556
b _0816653C
_08166474:
ldr r1, =gKeyRepeatStartDelay
movs r0, 0x14
strh r0, [r1]
bl sub_8167420
b _0816653C
.pool
_08166484:
bl sub_8167930
lsls r0, 24
cmp r0, 0
bne _08166556
b _0816653C
_08166490:
movs r0, 0
bl sub_8167608
bl sub_8167760
b _0816653C
_0816649C:
ldr r0, =gUnknown_0203BCAC
ldr r0, [r0]
ldr r1, =0x00007b0e
adds r0, r1
bl sub_81D312C
lsls r0, 24
cmp r0, 0
bne _08166556
b _0816653C
.pool
_081664B8:
ldr r1, [r2]
b _08166540
_081664BC:
ldr r5, =gUnknown_0203BCAC
ldr r1, [r5]
ldr r4, =0x00007c58
adds r0, r1, r4
ldr r2, =0x00007c6c
adds r1, r2
bl sub_81D2754
ldr r0, [r5]
adds r0, r4
bl sub_81D20AC
b _0816653C
.pool
_081664E4:
ldr r4, =gUnknown_0203BCAC
ldr r0, [r4]
ldr r1, =0x00007c58
adds r0, r1
bl sub_81D20BC
lsls r0, 24
cmp r0, 0
bne _08166556
ldr r2, [r4]
ldr r1, =0x00007c58
adds r0, r2, r1
adds r1, 0x14
adds r2, r1
adds r1, r2, 0
bl sub_81D1F84
b _0816653C
.pool
_08166510:
ldr r0, =gUnknown_0203BCAC
ldr r0, [r0]
ldr r2, =0x00007c58
adds r0, r2
bl sub_81D2230
b _0816653C
.pool
_08166528:
movs r0, 0
bl PutWindowTilemap
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0
movs r1, 0x1
bl sub_8167BA0
_0816653C:
ldr r0, =gUnknown_0203BC90
ldr r1, [r0]
_08166540:
adds r1, 0x50
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _08166556
.pool
_08166550:
ldr r0, =map_warp_consider_1_to_outside_or_stair_or_dive
bl launch_c3_walk_stairs_and_run_once
_08166556:
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8166380
thumb_func_start map_warp_consider_1_to_outside_or_stair_or_dive
map_warp_consider_1_to_outside_or_stair_or_dive: @ 8166564
thumb_func_start sub_8166564
sub_8166564: @ 8166564
push {r4,lr}
sub sp, 0x4
ldr r4, =gUnknown_0203BC90
@ -424,14 +84,14 @@ _081665C0:
bl sub_81D3480
_0816660A:
ldr r0, =sub_8166634
bl launch_c3_walk_stairs_and_run_once
bl sub_816636C
_08166610:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end map_warp_consider_1_to_outside_or_stair_or_dive
thumb_func_end sub_8166564
thumb_func_start sub_8166634
sub_8166634: @ 8166634
@ -567,7 +227,7 @@ _0816675C:
.pool
_08166788:
ldr r0, =sub_8166BEC
bl launch_c3_walk_stairs_and_run_once
bl sub_816636C
b _0816680E
.pool
_08166794:
@ -611,7 +271,7 @@ _081667CC:
.pool
_081667E8:
ldr r0, =sub_816681C
bl launch_c3_walk_stairs_and_run_once
bl sub_816636C
b _0816680E
.pool
_081667F4:
@ -656,7 +316,7 @@ _08166838:
adds r0, r1
ldrb r0, [r0]
bl sub_81672A4
ldr r1, =gUnknown_0203BC9C
ldr r1, =gPokeblockMonId
strb r0, [r1]
ldr r1, =gUnknown_0203BC94
ldr r2, [r5]
@ -708,9 +368,9 @@ _08166888:
str r5, [r4]
bl FreeAllWindowBuffers
ldr r1, =gMain
ldr r0, =sub_816624C
ldr r0, =CB2_ReturnAndChooseMonToGivePokeblock
str r0, [r1, 0x8]
bl sub_8179D70
bl CB2_PreparePokeblockFeedScene
_081668D4:
add sp, 0x4
pop {r4,r5}
@ -752,7 +412,7 @@ _0816693C:
ldr r0, [r0]
ldr r1, =0x00008041
adds r0, r1
ldr r1, =gUnknown_0203BC9C
ldr r1, =gPokeblockMonId
ldrb r0, [r0]
ldrb r1, [r1]
cmp r0, r1
@ -837,7 +497,7 @@ _081669F4:
adds r0, r1
bl sub_81D3464
ldr r0, =sub_8166A34
bl launch_c3_walk_stairs_and_run_once
bl sub_816636C
ldr r0, =sub_816631C
bl SetMainCallback2
_08166A18:
@ -1018,9 +678,9 @@ _08166BB6:
bne _08166BDA
ldr r0, =gSpecialVar_ItemId
ldrb r0, [r0]
bl sub_8136F68
bl TryClearPokeblock
ldr r0, =sub_8166BEC
bl launch_c3_walk_stairs_and_run_once
bl sub_816636C
_08166BDA:
pop {r4-r6}
pop {r0}
@ -1225,7 +885,7 @@ sub_8166D44: @ 8166D44
movs r0, 0x2
movs r1, 0x3
bl CopyWindowToVram
ldr r0, =gUnknown_085DFCFC
ldr r0, =sUsePokeblockYesNoWinTemplate
movs r1, 0x97
movs r2, 0xE
movs r3, 0
@ -1497,7 +1157,7 @@ sub_8166FD4: @ 8166FD4
movs r0, 0
_08166FEC:
lsls r0, 16
ldr r1, =gUnknown_085DFD04
ldr r1, =sContestStatNames
lsls r0, r3, 2
adds r0, r1
ldr r1, [r0]
@ -1719,7 +1379,7 @@ sub_8167184: @ 8167184
adds r0, r3, 0
adds r0, 0x6E
strh r1, [r0]
ldr r0, =gUnknown_0203BC9E
ldr r0, =gPokeblockGain
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0
@ -2737,7 +2397,7 @@ _08167A74:
b _08167B7E
.pool
_08167A9C:
ldr r0, =gUnknown_08DCCF7C
ldr r0, =gUsePokeblockGraph_Gfx
ldr r1, =gUnknown_0203BCA4
_08167AA0:
ldr r1, [r1]
@ -2745,11 +2405,11 @@ _08167AA0:
b _08167B7E
.pool
_08167AB0:
ldr r0, =gUnknown_08DCD81C
ldr r0, =gUsePokeblockGraph_Tilemap
ldr r1, =gUnknown_0203BCA0
ldr r1, [r1]
bl LZ77UnCompVram
ldr r0, =gUnknown_08DCCF5C
ldr r0, =gUsePokeblockGraph_Pal
movs r1, 0x20
movs r2, 0x20
bl LoadPalette
@ -2771,7 +2431,7 @@ _08167AEC:
ldr r1, [r0]
movs r0, 0x1
bl SetBgTilemapBuffer
ldr r1, =gUnknown_08DCDA30
ldr r1, =gUsePokeblockNatureWin_Pal
movs r0, 0xC
str r0, [sp]
movs r0, 0x4
@ -3599,7 +3259,7 @@ sub_8168248: @ 8168248
ldr r0, [r0]
str r0, [sp, 0x8]
str r1, [sp, 0xC]
ldr r0, =gUnknown_08DCCBB8
ldr r0, =gUsePokeblockCondition_Gfx
str r0, [sp]
ldr r1, =0xffff0000
ldr r0, [sp, 0x4]

8
build_tools.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
make -C tools/gbagfx CXX=${1:=g++}
make -C tools/scaninc CXX=${1:=g++}
make -C tools/preproc CXX=${1:=g++}
make -C tools/bin2c CXX=${1:=g++}
make -C tools/rsfont CXX=${1:=g++}
make -C tools/aif2pcm CXX=${1:=g++}
make -C tools/ramscrgen CXX=${1:=g++}

View File

@ -73,6 +73,7 @@ RIGHT_ARROW = 7C
'?' = AC
'.' = AD
'-' = AE
'·' = AF
'…' = B0
'“' = B1
'”' = B2
@ -317,8 +318,7 @@ TALL_PLUS = FC 0C FB
'' = AC
'。' = AD
'ー' = AE
'·' = AF
'‥' = B0
'⋯' = B0
STRING = FD
@ -451,242 +451,536 @@ DYNAMIC_COLOR6 = 0F @ cerulean
@ sound and music
SE_STOP = 00 00
SE_KAIFUKU = 01 00
SE_PC_LOGON = 02 00
SE_PC_OFF = 03 00
SE_PC_ON = 04 00
SE_SELECT = 05 00
SE_WIN_OPEN = 06 00
SE_WALL_HIT = 07 00
SE_DOOR = 08 00
SE_KAIDAN = 09 00
SE_DANSA = 0A 00
SE_JITENSYA = 0B 00
SE_KOUKA_L = 0C 00
SE_KOUKA_M = 0D 00
SE_KOUKA_H = 0E 00
SE_BOWA2 = 0F 00
SE_POKE_DEAD = 10 00
SE_NIGERU = 11 00
SE_JIDO_DOA = 12 00
SE_NAMINORI = 13 00
SE_BAN = 14 00
SE_PIN = 15 00
SE_BOO = 16 00
SE_BOWA = 17 00
SE_JYUNI = 18 00
SE_A = 19 00
SE_I = 1A 00
SE_U = 1B 00
SE_E = 1C 00
SE_O = 1D 00
SE_N = 1E 00
SE_SEIKAI = 1F 00
SE_HAZURE = 20 00
SE_EXP = 21 00
SE_JITE_PYOKO = 22 00
SE_MU_PACHI = 23 00
SE_TK_KASYA = 24 00
SE_FU_ZAKU = 25 00
SE_FU_ZAKU2 = 26 00
SE_FU_ZUZUZU = 27 00
SE_RU_GASHIN = 28 00
SE_RU_GASYAN = 29 00
SE_RU_BARI = 2A 00
SE_RU_HYUU = 2B 00
SE_KI_GASYAN = 2C 00
SE_TK_WARPIN = 2D 00
SE_TK_WARPOUT = 2E 00
SE_TU_SAA = 2F 00
SE_HI_TURUN = 30 00
SE_TRACK_MOVE = 31 00
SE_TRACK_STOP = 32 00
SE_TRACK_HAIK = 33 00
SE_TRACK_DOOR = 34 00
SE_MOTER = 35 00
SE_CARD = 36 00
SE_SAVE = 37 00
SE_KON = 38 00
SE_KON2 = 39 00
SE_KON3 = 3A 00
SE_KON4 = 3B 00
SE_SUIKOMU = 3C 00
SE_NAGERU = 3D 00
SE_TOY_C = 3E 00
SE_TOY_D = 3F 00
SE_TOY_E = 40 00
SE_TOY_F = 41 00
SE_TOY_G = 42 00
SE_TOY_A = 43 00
SE_TOY_B = 44 00
SE_TOY_C1 = 45 00
SE_MIZU = 46 00
SE_HASHI = 47 00
SE_DAUGI = 48 00
SE_PINPON = 49 00
SE_FUUSEN1 = 4A 00
SE_FUUSEN2 = 4B 00
SE_FUUSEN3 = 4C 00
SE_TOY_KABE = 4D 00
SE_TOY_DANGO = 4E 00
SE_DOKU = 4F 00
SE_ESUKA = 50 00
SE_T_AME = 51 00
SE_T_AME_E = 52 00
SE_T_OOAME = 53 00
SE_T_OOAME_E = 54 00
SE_T_KOAME = 55 00
SE_T_KOAME_E = 56 00
SE_T_KAMI = 57 00
SE_T_KAMI2 = 58 00
SE_ELEBETA = 59 00
SE_HINSI = 5A 00
SE_EXPMAX = 5B 00
SE_TAMAKORO = 5C 00
SE_TAMAKORO_E = 5D 00
SE_BASABASA = 5E 00
SE_REGI = 5F 00
SE_C_GAJI = 60 00
SE_C_MAKU_U = 61 00
SE_C_MAKU_D = 62 00
SE_C_PASI = 63 00
SE_C_SYU = 64 00
SE_C_PIKON = 65 00
SE_REAPOKE = 66 00
SE_OP_BASYU = 67 00
SE_BT_START = 68 00
SE_DENDOU = 69 00
SE_JIHANKI = 6A 00
SE_TAMA = 6B 00
SE_Z_SCROLL = 6C 00
SE_Z_PAGE = 6D 00
SE_PN_ON = 6E 00
SE_PN_OFF = 6F 00
SE_Z_SEARCH = 70 00
SE_TAMAGO = 71 00
SE_TB_START = 72 00
SE_TB_KON = 73 00
SE_TB_KARA = 74 00
SE_BIDORO = 75 00
BGM_STOP = 5D 01
BGM_TETSUJI = 5E 01
BGM_FIELD13 = 5F 01
BGM_KACHI22 = 60 01
BGM_KACHI2 = 61 01
BGM_KACHI3 = 62 01
BGM_KACHI5 = 63 01
BGM_PCC = 64 01
BGM_NIBI = 65 01
BGM_SUIKUN = 66 01
BGM_DOORO1 = 67 01
BGM_DOORO_X1 = 68 01
BGM_DOORO_X3 = 69 01
BGM_MACHI_S2 = 6A 01
BGM_MACHI_S4 = 6B 01
BGM_GIM = 6C 01
BGM_NAMINORI = 6D 01
BGM_DAN01 = 6E 01
BGM_FANFA1 = 6F 01
BGM_ME_ASA = 70 01
BGM_ME_BACHI = 71 01
BGM_FANFA4 = 72 01
BGM_FANFA5 = 73 01
BGM_ME_WAZA = 74 01
BGM_BIJYUTU = 75 01
BGM_DOORO_X4 = 76 01
BGM_FUNE_KAN = 77 01
BGM_ME_SHINKA = 78 01
BGM_SHINKA = 79 01
BGM_ME_WASURE = 7A 01
BGM_SYOUJOEYE = 7B 01
BGM_BOYEYE = 7C 01
BGM_DAN02 = 7D 01
BGM_MACHI_S3 = 7E 01
BGM_ODAMAKI = 7F 01
BGM_B_TOWER = 80 01
BGM_SWIMEYE = 81 01
BGM_DAN03 = 82 01
BGM_ME_KINOMI = 83 01
BGM_ME_TAMA = 84 01
BGM_ME_B_BIG = 85 01
BGM_ME_B_SMALL = 86 01
BGM_ME_ZANNEN = 87 01
BGM_BD_TIME = 88 01
BGM_TEST1 = 89 01
BGM_TEST2 = 8A 01
BGM_TEST3 = 8B 01
BGM_TEST4 = 8C 01
BGM_TEST = 8D 01
BGM_GOMACHI0 = 8E 01
BGM_GOTOWN = 8F 01
BGM_POKECEN = 90 01
BGM_NEXTROAD = 91 01
BGM_GRANROAD = 92 01
BGM_CYCLING = 93 01
BGM_FRIENDLY = 94 01
BGM_MISHIRO = 95 01
BGM_TOZAN = 96 01
BGM_GIRLEYE = 97 01
BGM_MINAMO = 98 01
BGM_ASHROAD = 99 01
BGM_EVENT0 = 9A 01
BGM_DEEPDEEP = 9B 01
BGM_KACHI1 = 9C 01
BGM_TITLE3 = 9D 01
BGM_DEMO1 = 9E 01
BGM_GIRL_SUP = 9F 01
BGM_HAGESHII = A0 01
BGM_KAKKOII = A1 01
BGM_KAZANBAI = A2 01
BGM_AQA_0 = A3 01
BGM_TSURETEK = A4 01
BGM_BOY_SUP = A5 01
BGM_RAINBOW = A6 01
BGM_AYASII = A7 01
BGM_KACHI4 = A8 01
BGM_ROPEWAY = A9 01
BGM_CASINO = AA 01
BGM_HIGHTOWN = AB 01
BGM_SAFARI = AC 01
BGM_C_ROAD = AD 01
BGM_AJITO = AE 01
BGM_M_BOAT = AF 01
BGM_M_DUNGON = B0 01
BGM_FINECITY = B1 01
BGM_MACHUPI = B2 01
BGM_P_SCHOOL = B3 01
BGM_DENDOU = B4 01
BGM_TONEKUSA = B5 01
BGM_MABOROSI = B6 01
BGM_CON_FAN = B7 01
BGM_CONTEST0 = B8 01
BGM_MGM0 = B9 01
BGM_T_BATTLE = BA 01
BGM_OOAME = BB 01
BGM_HIDERI = BC 01
BGM_RUNECITY = BD 01
BGM_CON_K = BE 01
BGM_EIKOU_R = BF 01
BGM_KARAKURI = C0 01
BGM_HUTAGO = C1 01
BGM_SITENNOU = C2 01
BGM_YAMA_EYE = C3 01
BGM_CONLOBBY = C4 01
BGM_INTER_V = C5 01
BGM_DAIGO = C6 01
BGM_THANKFOR = C7 01
BGM_END = C8 01
BGM_BATTLE27 = C9 01
BGM_BATTLE31 = CA 01
BGM_BATTLE20 = CB 01
BGM_BATTLE32 = CC 01
BGM_BATTLE33 = CD 01
BGM_BATTLE36 = CE 01
BGM_BATTLE34 = CF 01
BGM_BATTLE35 = D0 01
BGM_BATTLE38 = D1 01
BGM_BATTLE30 = D2 01
MUS_DUMMY = 00 00
SE_KAIFUKU = 01 00
SE_PC_LOGIN = 02 00
SE_PC_OFF = 03 00
SE_PC_ON = 04 00
SE_SELECT = 05 00
SE_WIN_OPEN = 06 00
SE_WALL_HIT = 07 00
SE_DOOR = 08 00
SE_KAIDAN = 09 00
SE_DANSA = 0A 00
SE_JITENSYA = 0B 00
SE_KOUKA_L = 0C 00
SE_KOUKA_M = 0D 00
SE_KOUKA_H = 0E 00
SE_BOWA2 = 0F 00
SE_POKE_DEAD = 10 00
SE_NIGERU = 11 00
SE_JIDO_DOA = 12 00
SE_NAMINORI = 13 00
SE_BAN = 14 00
SE_PIN = 15 00
SE_BOO = 16 00
SE_BOWA = 17 00
SE_JYUNI = 18 00
SE_A = 19 00
SE_I = 1A 00
SE_U = 1B 00
SE_E = 1C 00
SE_O = 1D 00
SE_N = 1E 00
SE_SEIKAI = 1F 00
SE_HAZURE = 20 00
SE_EXP = 21 00
SE_JITE_PYOKO = 22 00
SE_MU_PACHI = 23 00
SE_TK_KASYA = 24 00
SE_FU_ZAKU = 25 00
SE_FU_ZAKU2 = 26 00
SE_FU_ZUZUZU = 27 00
SE_RU_GASHIN = 28 00
SE_RU_GASYAN = 29 00
SE_RU_BARI = 2A 00
SE_RU_HYUU = 2B 00
SE_KI_GASYAN = 2C 00
SE_TK_WARPIN = 2D 00
SE_TK_WARPOUT = 2E 00
SE_TU_SAA = 2F 00
SE_HI_TURUN = 30 00
SE_TRACK_MOVE = 31 00
SE_TRACK_STOP = 32 00
SE_TRACK_HAIKI = 33 00
SE_TRACK_DOOR = 34 00
SE_MOTER = 35 00
SE_CARD = 36 00
SE_SAVE = 37 00
SE_KON = 38 00
SE_KON2 = 39 00
SE_KON3 = 3A 00
SE_KON4 = 3B 00
SE_SUIKOMU = 3C 00
SE_NAGERU = 3D 00
SE_TOY_C = 3E 00
SE_TOY_D = 3F 00
SE_TOY_E = 40 00
SE_TOY_F = 41 00
SE_TOY_G = 42 00
SE_TOY_A = 43 00
SE_TOY_B = 44 00
SE_TOY_C1 = 45 00
SE_MIZU = 46 00
SE_HASHI = 47 00
SE_DAUGI = 48 00
SE_PINPON = 49 00
SE_FUUSEN1 = 4A 00
SE_FUUSEN2 = 4B 00
SE_FUUSEN3 = 4C 00
SE_TOY_KABE = 4D 00
SE_TOY_DANGO = 4E 00
SE_DOKU = 4F 00
SE_ESUKA = 50 00
SE_T_AME = 51 00
SE_T_AME_E = 52 00
SE_T_OOAME = 53 00
SE_T_OOAME_E = 54 00
SE_T_KOAME = 55 00
SE_T_KOAME_E = 56 00
SE_T_KAMI = 57 00
SE_T_KAMI2 = 58 00
SE_ELEBETA = 59 00
SE_HINSI = 5A 00
SE_EXPMAX = 5B 00
SE_TAMAKORO = 5C 00
SE_TAMAKORO_E = 5D 00
SE_BASABASA = 5E 00
SE_REGI = 5F 00
SE_C_GAJI = 60 00
SE_C_MAKU_U = 61 00
SE_C_MAKU_D = 62 00
SE_C_PASI = 63 00
SE_C_SYU = 64 00
SE_C_PIKON = 65 00
SE_REAPOKE = 66 00
SE_OP_BASYU = 67 00
SE_BT_START = 68 00
SE_DENDOU = 69 00
SE_JIHANKI = 6A 00
SE_TAMA = 6B 00
SE_Z_SCROLL = 6C 00
SE_Z_PAGE = 6D 00
SE_PN_ON = 6E 00
SE_PN_OFF = 6F 00
SE_Z_SEARCH = 70 00
SE_TAMAGO = 71 00
SE_TB_START = 72 00
SE_TB_KON = 73 00
SE_TB_KARA = 74 00
SE_BIDORO = 75 00
SE_W085 = 76 00
SE_W085B = 77 00
SE_W231 = 78 00
SE_W171 = 79 00
SE_W233 = 7A 00
SE_W233B = 7B 00
SE_W145 = 7C 00
SE_W145B = 7D 00
SE_W145C = 7E 00
SE_W240 = 7F 00
SE_W015 = 80 00
SE_W081 = 81 00
SE_W081B = 82 00
SE_W088 = 83 00
SE_W016 = 84 00
SE_W016B = 85 00
SE_W003 = 86 00
SE_W104 = 87 00
SE_W013 = 88 00
SE_W196 = 89 00
SE_W086 = 8A 00
SE_W004 = 8B 00
SE_W025 = 8C 00
SE_W025B = 8D 00
SE_W152 = 8E 00
SE_W026 = 8F 00
SE_W172 = 90 00
SE_W172B = 91 00
SE_W053 = 92 00
SE_W007 = 93 00
SE_W092 = 94 00
SE_W221 = 95 00
SE_W221B = 96 00
SE_W052 = 97 00
SE_W036 = 98 00
SE_W059 = 99 00
SE_W059B = 9A 00
SE_W010 = 9B 00
SE_W011 = 9C 00
SE_W017 = 9D 00
SE_W019 = 9E 00
SE_W028 = 9F 00
SE_W013B = A0 00
SE_W044 = A1 00
SE_W029 = A2 00
SE_W057 = A3 00
SE_W056 = A4 00
SE_W250 = A5 00
SE_W030 = A6 00
SE_W039 = A7 00
SE_W054 = A8 00
SE_W077 = A9 00
SE_W020 = AA 00
SE_W082 = AB 00
SE_W047 = AC 00
SE_W195 = AD 00
SE_W006 = AE 00
SE_W091 = AF 00
SE_W146 = B0 00
SE_W120 = B1 00
SE_W153 = B2 00
SE_W071B = B3 00
SE_W071 = B4 00
SE_W103 = B5 00
SE_W062 = B6 00
SE_W062B = B7 00
SE_W048 = B8 00
SE_W187 = B9 00
SE_W118 = BA 00
SE_W155 = BB 00
SE_W122 = BC 00
SE_W060 = BD 00
SE_W185 = BE 00
SE_W014 = BF 00
SE_W043 = C0 00
SE_W207 = C1 00
SE_W207B = C2 00
SE_W215 = C3 00
SE_W109 = C4 00
SE_W173 = C5 00
SE_W280 = C6 00
SE_W202 = C7 00
SE_W060B = C8 00
SE_W076 = C9 00
SE_W080 = CA 00
SE_W100 = CB 00
SE_W107 = CC 00
SE_W166 = CD 00
SE_W129 = CE 00
SE_W115 = CF 00
SE_W112 = D0 00
SE_W197 = D1 00
SE_W199 = D2 00
SE_W236 = D3 00
SE_W204 = D4 00
SE_W268 = D5 00
SE_W070 = D6 00
SE_W063 = D7 00
SE_W127 = D8 00
SE_W179 = D9 00
SE_W151 = DA 00
SE_W201 = DB 00
SE_W161 = DC 00
SE_W161B = DD 00
SE_W227 = DE 00
SE_W227B = DF 00
SE_W226 = E0 00
SE_W208 = E1 00
SE_W213 = E2 00
SE_W213B = E3 00
SE_W234 = E4 00
SE_W260 = E5 00
SE_W328 = E6 00
SE_W320 = E7 00
SE_W255 = E8 00
SE_W291 = E9 00
SE_W089 = EA 00
SE_W239 = EB 00
SE_W230 = EC 00
SE_W281 = ED 00
SE_W327 = EE 00
SE_W287 = EF 00
SE_W257 = F0 00
SE_W253 = F1 00
SE_W258 = F2 00
SE_W322 = F3 00
SE_W298 = F4 00
SE_W287B = F5 00
SE_W114 = F6 00
SE_W063B = F7 00
SE_RG_W_DOOR = F8 00
SE_RG_CARD1 = F9 00
SE_RG_CARD2 = FA 00
SE_RG_CARD3 = FB 00
SE_RG_BAG1 = FC 00
SE_RG_BAG2 = FD 00
SE_RG_GETTING = FE 00
SE_RG_SHOP = FF 00
SE_RG_KITEKI = 00 01
SE_RG_HELP_OP = 01 01
SE_RG_HELP_CL = 02 01
SE_RG_HELP_NG = 03 01
SE_RG_DEOMOV = 04 01
SE_RG_EXCELLENT = 05 01
SE_RG_NAWAMISS = 06 01
SE_TOREEYE = 07 01
SE_TOREOFF = 08 01
SE_HANTEI1 = 09 01
SE_HANTEI2 = 0A 01
SE_CURTAIN = 0B 01
SE_CURTAIN1 = 0C 01
SE_USSOKI = 0D 01
MUS_TETSUJI = 5E 01
MUS_FIELD13 = 5F 01
MUS_KACHI22 = 60 01
MUS_KACHI2 = 61 01
MUS_KACHI3 = 62 01
MUS_KACHI5 = 63 01
MUS_PCC = 64 01
MUS_NIBI = 65 01
MUS_SUIKUN = 66 01
MUS_DOORO1 = 67 01
MUS_DOORO_X1 = 68 01
MUS_DOORO_X3 = 69 01
MUS_MACHI_S2 = 6A 01
MUS_MACHI_S4 = 6B 01
MUS_GIM = 6C 01
MUS_NAMINORI = 6D 01
MUS_DAN01 = 6E 01
MUS_FANFA1 = 6F 01
MUS_ME_ASA = 70 01
MUS_ME_BACHI = 71 01
MUS_FANFA4 = 72 01
MUS_FANFA5 = 73 01
MUS_ME_WAZA = 74 01
MUS_BIJYUTU = 75 01
MUS_DOORO_X4 = 76 01
MUS_FUNE_KAN = 77 01
MUS_ME_SHINKA = 78 01
MUS_SHINKA = 79 01
MUS_ME_WASURE = 7A 01
MUS_SYOUJOEYE = 7B 01
MUS_BOYEYE = 7C 01
MUS_DAN02 = 7D 01
MUS_MACHI_S3 = 7E 01
MUS_ODAMAKI = 7F 01
MUS_B_TOWER = 80 01
MUS_SWIMEYE = 81 01
MUS_DAN03 = 82 01
MUS_ME_KINOMI = 83 01
MUS_ME_TAMA = 84 01
MUS_ME_B_BIG = 85 01
MUS_ME_B_SMALL = 86 01
MUS_ME_ZANNEN = 87 01
MUS_BD_TIME = 88 01
MUS_TEST1 = 89 01
MUS_TEST2 = 8A 01
MUS_TEST3 = 8B 01
MUS_TEST4 = 8C 01
MUS_TEST = 8D 01
MUS_GOMACHI0 = 8E 01
MUS_GOTOWN = 8F 01
MUS_POKECEN = 90 01
MUS_NEXTROAD = 91 01
MUS_GRANROAD = 92 01
MUS_CYCLING = 93 01
MUS_FRIENDLY = 94 01
MUS_MISHIRO = 95 01
MUS_TOZAN = 96 01
MUS_GIRLEYE = 97 01
MUS_MINAMO = 98 01
MUS_ASHROAD = 99 01
MUS_EVENT0 = 9A 01
MUS_DEEPDEEP = 9B 01
MUS_KACHI1 = 9C 01
MUS_TITLE3 = 9D 01
MUS_DEMO1 = 9E 01
MUS_GIRL_SUP = 9F 01
MUS_HAGESHII = A0 01
MUS_KAKKOII = A1 01
MUS_KAZANBAI = A2 01
MUS_AQA_0 = A3 01
MUS_TSURETEK = A4 01
MUS_BOY_SUP = A5 01
MUS_RAINBOW = A6 01
MUS_AYASII = A7 01
MUS_KACHI4 = A8 01
MUS_ROPEWAY = A9 01
MUS_CASINO = AA 01
MUS_HIGHTOWN = AB 01
MUS_SAFARI = AC 01
MUS_C_ROAD = AD 01
MUS_AJITO = AE 01
MUS_M_BOAT = AF 01
MUS_M_DUNGON = B0 01
MUS_FINECITY = B1 01
MUS_MACHUPI = B2 01
MUS_P_SCHOOL = B3 01
MUS_DENDOU = B4 01
MUS_TONEKUSA = B5 01
MUS_MABOROSI = B6 01
MUS_CON_FAN = B7 01
MUS_CONTEST0 = B8 01
MUS_MGM0 = B9 01
MUS_T_BATTLE = BA 01
MUS_OOAME = BB 01
MUS_HIDERI = BC 01
MUS_RUNECITY = BD 01
MUS_CON_K = BE 01
MUS_EIKOU_R = BF 01
MUS_KARAKURI = C0 01
MUS_HUTAGO = C1 01
MUS_SITENNOU = C2 01
MUS_YAMA_EYE = C3 01
MUS_CONLOBBY = C4 01
MUS_INTER_V = C5 01
MUS_DAIGO = C6 01
MUS_THANKFOR = C7 01
MUS_END = C8 01
MUS_B_FRONTIER = C9 01
MUS_B_ARENA = CA 01
MUS_ME_POINTGET = CB 01
MUS_ME_TORE_EYE = CC 01
MUS_PYRAMID = CD 01
MUS_PYRAMID_TOP = CE 01
MUS_B_PALACE = CF 01
MUS_REKKUU_KOURIN = D0 01
MUS_SATTOWER = D1 01
MUS_ME_SYMBOLGET = D2 01
MUS_B_DOME = D3 01
MUS_B_TUBE = D4 01
MUS_B_FACTORY = D5 01
MUS_VS_REKKU = D6 01
MUS_VS_FRONT = D7 01
MUS_VS_MEW = D8 01
MUS_B_DOME1 = D9 01
MUS_BATTLE27 = DA 01
MUS_BATTLE31 = DB 01
MUS_BATTLE20 = DC 01
MUS_BATTLE32 = DD 01
MUS_BATTLE33 = DE 01
MUS_BATTLE36 = DF 01
MUS_BATTLE34 = E0 01
MUS_BATTLE35 = E1 01
MUS_BATTLE38 = E2 01
MUS_BATTLE30 = E3 01
MUS_RG_ANNAI = E4 01
MUS_RG_SLOT = E5 01
MUS_RG_AJITO = E6 01
MUS_RG_GYM = E7 01
MUS_RG_PURIN = E8 01
MUS_RG_DEMO = E9 01
MUS_RG_TITLE = EA 01
MUS_RG_GUREN = EB 01
MUS_RG_SHION = EC 01
MUS_RG_KAIHUKU = ED 01
MUS_RG_CYCLING = EE 01
MUS_RG_ROCKET = EF 01
MUS_RG_SHOUJO = F0 01
MUS_RG_SHOUNEN = F1 01
MUS_RG_DENDOU = F2 01
MUS_RG_T_MORI = F3 01
MUS_RG_OTSUKIMI = F4 01
MUS_RG_POKEYASHI = F5 01
MUS_RG_ENDING = F6 01
MUS_RG_LOAD01 = F7 01
MUS_RG_OPENING = F8 01
MUS_RG_LOAD02 = F9 01
MUS_RG_LOAD03 = FA 01
MUS_RG_CHAMP_R = FB 01
MUS_RG_VS_GYM = FC 01
MUS_RG_VS_TORE = FD 01
MUS_RG_VS_YASEI = FE 01
MUS_RG_VS_LAST = FF 01
MUS_RG_MASARA = 00 02
MUS_RG_KENKYU = 01 02
MUS_RG_OHKIDO = 02 02
MUS_RG_POKECEN = 03 02
MUS_RG_SANTOAN = 04 02
MUS_RG_NAMINORI = 05 02
MUS_RG_P_TOWER = 06 02
MUS_RG_SHIRUHU = 07 02
MUS_RG_HANADA = 08 02
MUS_RG_TAMAMUSI = 09 02
MUS_RG_WIN_TRE = 0A 02
MUS_RG_WIN_YASEI = 0B 02
MUS_RG_WIN_GYM = 0C 02
MUS_RG_KUCHIBA = 0D 02
MUS_RG_NIBI = 0E 02
MUS_RG_RIVAL1 = 0F 02
MUS_RG_RIVAL2 = 10 02
MUS_RG_FAN2 = 11 02
MUS_RG_FAN5 = 12 02
MUS_RG_FAN6 = 13 02
MUS_ME_RG_PHOTO = 14 02
MUS_RG_TITLEROG = 15 02
MUS_RG_GET_YASEI = 16 02
MUS_RG_SOUSA = 17 02
MUS_RG_SEKAIKAN = 18 02
MUS_RG_SEIBETU = 19 02
MUS_RG_JUMP = 1A 02
MUS_RG_UNION = 1B 02
MUS_RG_NETWORK = 1C 02
MUS_RG_OKURIMONO = 1D 02
MUS_RG_KINOMIKUI = 1E 02
MUS_RG_NANADUNGEON = 1F 02
MUS_RG_OSHIE_TV = 20 02
MUS_RG_NANASHIMA = 21 02
MUS_RG_NANAISEKI = 22 02
MUS_RG_NANA123 = 23 02
MUS_RG_NANA45 = 24 02
MUS_RG_NANA67 = 25 02
MUS_RG_POKEFUE = 26 02
MUS_RG_VS_DEO = 27 02
MUS_RG_VS_MYU2 = 28 02
MUS_RG_VS_DEN = 29 02
MUS_RG_EXEYE = 2A 02
MUS_RG_DEOEYE = 2B 02
MUS_RG_T_TOWER = 2C 02
MUS_RG_SLOWMASARA = 2D 02
MUS_RG_TVNOIZE = 2E 02
PH_TRAP_BLEND = 2F 02
PH_TRAP_HELD = 30 02
PH_TRAP_SOLO = 31 02
PH_FACE_BLEND = 32 02
PH_FACE_HELD = 33 02
PH_FACE_SOLO = 34 02
PH_CLOTH_BLEND = 35 02
PH_CLOTH_HELD = 36 02
PH_CLOTH_SOLO = 37 02
PH_DRESS_BLEND = 38 02
PH_DRESS_HELD = 39 02
PH_DRESS_SOLO = 3A 02
PH_FLEECE_BLEND = 3B 02
PH_FLEECE_HELD = 3C 02
PH_FLEECE_SOLO = 3D 02
PH_KIT_BLEND = 3E 02
PH_KIT_HELD = 3F 02
PH_KIT_SOLO = 40 02
PH_PRICE_BLEND = 41 02
PH_PRICE_HELD = 42 02
PH_PRICE_SOLO = 43 02
PH_LOT_BLEND = 44 02
PH_LOT_HELD = 45 02
PH_LOT_SOLO = 46 02
PH_GOAT_BLEND = 47 02
PH_GOAT_HELD = 48 02
PH_GOAT_SOLO = 49 02
PH_THOUGHT_BLEND = 4A 02
PH_THOUGHT_HELD = 4B 02
PH_THOUGHT_SOLO = 4C 02
PH_CHOICE_BLEND = 4D 02
PH_CHOICE_HELD = 4E 02
PH_CHOICE_SOLO = 4F 02
PH_MOUTH_BLEND = 50 02
PH_MOUTH_HELD = 51 02
PH_MOUTH_SOLO = 52 02
PH_FOOT_BLEND = 53 02
PH_FOOT_HELD = 54 02
PH_FOOT_SOLO = 55 02
PH_GOOSE_BLEND = 56 02
PH_GOOSE_HELD = 57 02
PH_GOOSE_SOLO = 58 02
PH_STRUT_BLEND = 59 02
PH_STRUT_HELD = 5A 02
PH_STRUT_SOLO = 5B 02
PH_CURE_BLEND = 5C 02
PH_CURE_HELD = 5D 02
PH_CURE_SOLO = 5E 02
PH_NURSE_BLEND = 5F 02
PH_NURSE_HELD = 60 02
PH_NURSE_SOLO = 61 02
UNK_CTRL_F800 = F8 00
UNK_CTRL_F801 = F8 01

View File

@ -1,12 +1,12 @@
gSoundInfo
gPokemonCrySongs
gPokemonCryMusicPlayers
gMPlay_BGM
gMPlayInfo_BGM
gMPlayJumpTable
gCgbChans
gMPlay_SE1
gMPlay_SE2
gMPlayInfo_SE1
gMPlayInfo_SE2
gPokemonCryTracks
gPokemonCrySong
gMPlayMemAccArea
gMPlay_SE3
gMPlayInfo_SE3

View File

@ -0,0 +1,5 @@
gUnknown_03006080
gUnknown_03006084
gApproachingTrainers
gNoOfApproachingTrainers
gUnknown_030060AC

View File

@ -19,7 +19,7 @@
.set BATTLE_TYPE_PALACE, 0x20000
.set BATTLE_TYPE_ARENA, 0x40000
.set BATTLE_TYPE_FACTORY, 0x80000
.set BATTLE_TYPE_x100000, 0x100000
.set BATTLE_TYPE_PIKE, 0x100000
.set BATTLE_TYPE_PYRAMID, 0x200000
.set BATTLE_TYPE_INGAME_PARTNER, 0x400000
.set BATTLE_TYPE_x800000, 0x800000
@ -28,7 +28,7 @@
.set BATTLE_TYPE_x4000000, 0x4000000
.set BATTLE_TYPE_SECRET_BASE, 0x8000000
.set BATTLE_TYPE_GROUDON, 0x10000000
.set BATTLE_TYPE_KYORGE, 0x20000000
.set BATTLE_TYPE_KYOGRE, 0x20000000
.set BATTLE_TYPE_RAYQUAZA, 0x40000000
.set BATTLE_TYPE_x80000000, 0x80000000

View File

@ -384,3 +384,4 @@
.set SPECIES_JIRACHI, 0x199
.set SPECIES_DEOXYS, 0x19a
.set SPECIES_CHIMECHO, 0x19b
.set SPECIES_EGG, 0x19c

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,89 @@
.section .rodata
.incbin "baserom.gba", 0x53ede4, 0x14c
.align 2
gUnknown_0853EDE4:: @ 853EDE4
.2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0xfffe, 0x0000
.align 2
gUnknown_0853EDF8:: @ 853EDF8
.4byte gUnknown_0853EDE4
.align 2
gUnknown_0853EDFC:: @ 853EDFC
spr_template 0x2714, 0x2714, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
spr_template 0x2714, 0x2714, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8A6C
.align 2
gUnknown_0853EE2C:: @ 853EE2C
.2byte 0x0000, 0x0003, 0xfffe, 0x0000
.align 2
gUnknown_0853EE34:: @ 853EE34
.4byte gUnknown_0853EE2C
.align 2
gUnknown_0853EE38:: @ 853EE38
spr_template 0x282b, 0x282b, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8E30
.align 2
gUnknown_0853EE50:: @ 853EE50
spr_template 0x282b, 0x282b, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8EE4
.align 2
gUnknown_0853EE68:: @ 853EE68
.2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0x0040, 0x0003, 0xffff, 0x0000
.align 2
gUnknown_0853EE80:: @ 853EE80
.4byte gUnknown_0853EE68
.align 2
gUnknown_0853EE84:: @ 853EE84
spr_template 0x2757, 0x2757, gUnknown_08524914, gUnknown_0853EE80, NULL, gDummySpriteAffineAnimTable, sub_80A8B64
spr_template 0x2743, 0x2743, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
.align 2
gUnknown_0853EEB4:: @ 853EEB4
.2byte 0x0000, 0x0005, 0xfffe, 0x0000
.align 2
gUnknown_0853EEBC:: @ 853EEBC
.2byte 0x0000, 0x0005, 0xfffe, 0x0000
.align 2
gUnknown_0853EEC4:: @ 853EEC4
.2byte 0x0000, 0x0005, 0xfffe, 0x0000
.align 2
gUnknown_0853EECC:: @ 853EECC
.4byte gUnknown_0853EEB4
.4byte gUnknown_0853EEBC
.4byte gUnknown_0853EEC4
.align 2
gUnknown_0853EED8:: @ 853EED8
spr_template 0x2797, 0x2797, gUnknown_08524914, gUnknown_0853EECC, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
.align 2
gUnknown_0853EEF0:: @ 853EEF0
.2byte 0x0000, 0x000f, 0xfffe, 0x0000
.align 2
gUnknown_0853EEF8:: @ 853EEF8
.4byte gUnknown_0853EEF0
.align 2
gUnknown_0853EEFC:: @ 853EEFC
.2byte 0x0060, 0x0060, 0x0000, 0x0000, 0x0002, 0x0002, 0x0100, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000
.align 2
gUnknown_0853EF14:: @ 853EF14
.4byte gUnknown_0853EEFC
.align 2
gUnknown_0853EF18:: @ 853EF18
spr_template 0x2714, 0x2714, gUnknown_085249CC, gUnknown_0853EEF8, NULL, gUnknown_0853EF14, sub_80A8A6C
.align 2
gUnknown_0853EF30:: @ 853EF30

View File

@ -16,7 +16,13 @@ gUnknown_08592114:: @ 8592114
.align 2
gUnknown_08592118:: @ 8592118
spr_template 0x2753, 0x2753, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840
.align 2
gUnknown_08592130:: @ 8592130
spr_template 0x2754, 0x2754, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840
.align 2
gUnknown_08592148:: @ 8592148
spr_template 0x2751, 0x2751, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840
.align 2

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