mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-13 11:35:57 -05:00
Preproc all the data (#35)
* actually put C files in preproc and use it for formatted type names. Cleaned up makefile like pokeemerald * finish adding all colors and text macros to charmap * preproc all the data and use text macros * move all of wonder_mail_1 to src * unify wonder_mail and wonder_mail_mid * small code cleanup * name two more exclusive pokemon funcs * decomp a few more wonder mail funcs * clean up MemoryFill call * doc more of wonder mail in main menu
This commit is contained in:
78
Makefile
78
Makefile
@@ -69,11 +69,27 @@ CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef
|
||||
#### Files ####
|
||||
|
||||
BUILD_NAME = red
|
||||
BUILD_DIR := build/pmd_$(BUILD_NAME)
|
||||
|
||||
ROM := pmd_$(BUILD_NAME).gba
|
||||
ELF := $(ROM:%.gba=%.elf)
|
||||
MAP := $(ROM:%.gba=%.map)
|
||||
|
||||
BUILD_DIR := build/pmd_$(BUILD_NAME)
|
||||
C_SUBDIR = src
|
||||
GFLIB_SUBDIR = gflib
|
||||
ASM_SUBDIR = asm
|
||||
DATA_SRC_SUBDIR = src/data
|
||||
DATA_ASM_SUBDIR = data
|
||||
SONG_SUBDIR = sound/songs
|
||||
MID_SUBDIR = sound/songs/midi
|
||||
SAMPLE_SUBDIR = sound/direct_sound_samples
|
||||
|
||||
C_BUILDDIR = $(BUILD_DIR)/$(C_SUBDIR)
|
||||
GFLIB_BUILDDIR = $(BUILD_DIR)/$(GFLIB_SUBDIR)
|
||||
ASM_BUILDDIR = $(BUILD_DIR)/$(ASM_SUBDIR)
|
||||
DATA_ASM_BUILDDIR = $(BUILD_DIR)/$(DATA_ASM_SUBDIR)
|
||||
SONG_BUILDDIR = $(BUILD_DIR)/$(SONG_SUBDIR)
|
||||
MID_BUILDDIR = $(BUILD_DIR)/$(MID_SUBDIR)
|
||||
|
||||
C_SOURCES := $(wildcard src/*.c)
|
||||
ASM_SOURCES := $(wildcard asm/*.s data/*.s)
|
||||
@@ -88,21 +104,20 @@ SUBDIRS := $(sort $(dir $(ALL_OBJECTS)))
|
||||
LD_SCRIPT := $(BUILD_DIR)/ld_script.ld
|
||||
|
||||
# Special configurations required for lib files
|
||||
$(BUILD_DIR)/src/agb_flash.o : CC1FLAGS := -O -mthumb-interwork
|
||||
$(BUILD_DIR)/src/agb_flash_1m.o: CC1FLAGS := -O -mthumb-interwork
|
||||
$(BUILD_DIR)/src/agb_flash_mx.o: CC1FLAGS := -O -mthumb-interwork
|
||||
$(C_BUILDDIR)/agb_flash.o : CC1FLAGS := -O -mthumb-interwork
|
||||
$(C_BUILDDIR)/agb_flash_1m.o: CC1FLAGS := -O -mthumb-interwork
|
||||
$(C_BUILDDIR)/agb_flash_mx.o: CC1FLAGS := -O -mthumb-interwork
|
||||
|
||||
$(BUILD_DIR)/src/m4a.o: CC1 := tools/agbcc/bin/old_agbcc
|
||||
$(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc
|
||||
|
||||
#### Main Rules ####
|
||||
|
||||
# Disable dependency scanning when NODEP is used for quick building
|
||||
# TODO enable when NODEP is fixed
|
||||
#ifeq ($(NODEP),)
|
||||
#$(BUILD_DIR)/src/%.o: C_DEP = $(shell $(SCANINC) -I include src/$(*F).c)
|
||||
#$(BUILD_DIR)/asm/%.o: ASM_DEP = $(shell $(SCANINC) asm/$(*F).s)
|
||||
#$(BUILD_DIR)/data/%.o: ASM_DEP = $(shell $(SCANINC) data/$(*F).s)
|
||||
#endif
|
||||
ifeq ($(NODEP),1)
|
||||
$(C_BUILDDIR)/%.o: C_DEP :=
|
||||
else
|
||||
$(C_BUILDDIR)/%.o: C_DEP = $(shell [[ -f $(C_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include -I gflib $(C_SUBDIR)/$*.c)
|
||||
endif
|
||||
|
||||
ALL_BUILDS := red
|
||||
|
||||
@@ -110,6 +125,7 @@ ALL_BUILDS := red
|
||||
.PHONY: all clean tidy libagbsyscall tools clean-tools $(TOOLDIRS)
|
||||
|
||||
MAKEFLAGS += --no-print-directory
|
||||
|
||||
# Secondary expansion is required for dependency variables in object rules.
|
||||
.SECONDEXPANSION:
|
||||
# Clear the default suffixes
|
||||
@@ -133,7 +149,6 @@ tools: $(TOOLDIRS)
|
||||
$(TOOLDIRS):
|
||||
@$(MAKE) -C $@ CC=$(HOSTCC) CXX=$(HOSTCXX)
|
||||
|
||||
|
||||
compare: all
|
||||
@$(SHA1SUM) $(BUILD_NAME).sha1
|
||||
|
||||
@@ -144,33 +159,34 @@ clean-tools:
|
||||
@$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);)
|
||||
|
||||
tidy:
|
||||
$(RM) $(ALL_BUILDS:%=pmd_%{.gba,.elf,.map})
|
||||
$(RM) -r build
|
||||
$(RM) -f $(ROM) $(ELF) $(MAP)
|
||||
$(RM) -r $(BUILD_DIR)
|
||||
@$(MAKE) clean -C libagbsyscall
|
||||
|
||||
$(ROM): %.gba: %.elf tools
|
||||
$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0xA000000 $< $@
|
||||
$(GBAFIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
|
||||
$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.c $$(C_DEP)
|
||||
@$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i
|
||||
@$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CC1FLAGS) -o $(C_BUILDDIR)/$*.s
|
||||
@echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s
|
||||
$(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
|
||||
|
||||
%.elf: $(LD_SCRIPT) $(ALL_OBJECTS) $(LIBC) libagbsyscall
|
||||
cd $(BUILD_DIR) && $(LD) -T ld_script.ld -Map ../../$(MAP) -o ../../$@ $(LIB)
|
||||
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(ASM_DEP)
|
||||
$(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@
|
||||
|
||||
$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(ASM_DEP)
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
libagbsyscall:
|
||||
@$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN)
|
||||
|
||||
$(LD_SCRIPT): ld_script.txt $(BUILD_DIR)/sym_ewram.ld $(BUILD_DIR)/sym_ewram2.ld $(BUILD_DIR)/sym_iwram.ld
|
||||
cd $(BUILD_DIR) && sed -e "s#tools/#../../tools/#g" ../../ld_script.txt >ld_script.ld
|
||||
$(BUILD_DIR)/sym_%.ld: sym_%.txt
|
||||
$(CPP) -P $(CPPFLAGS) $< | sed -e "s#tools/#../../tools/#g" > $@
|
||||
|
||||
$(C_OBJECTS): $(BUILD_DIR)/%.o: %.c $$(C_DEP)
|
||||
@$(CPP) $(CPPFLAGS) $< -o $(BUILD_DIR)/$*.i
|
||||
@$(CC1) $(CC1FLAGS) $(BUILD_DIR)/$*.i -o $(BUILD_DIR)/$*.s
|
||||
@printf ".text\n\t.align\t2, 0\n" >> $(BUILD_DIR)/$*.s
|
||||
$(AS) $(ASFLAGS) -o $@ $(BUILD_DIR)/$*.s
|
||||
$(ELF): $(LD_SCRIPT) $(ALL_OBJECTS) $(LIBC) libagbsyscall
|
||||
cd $(BUILD_DIR) && $(LD) -T ld_script.ld -Map ../../$(MAP) -o ../../$@ $(LIB)
|
||||
|
||||
$(BUILD_DIR)/data/%.o: data/%.s $$(ASM_DEP)
|
||||
$(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@
|
||||
$(ROM): %.gba: $(ELF) tools
|
||||
$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0xA000000 $< $@
|
||||
$(GBAFIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
|
||||
|
||||
$(BUILD_DIR)/%.o: %.s $$(ASM_DEP)
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
libagbsyscall:
|
||||
@$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN)
|
||||
|
||||
@@ -39946,7 +39946,7 @@ _080665BE:
|
||||
b _08066704
|
||||
_080665D0:
|
||||
adds r0, r6, 0
|
||||
bl sub_80981DC
|
||||
bl IsExclusivePokemonUnlocked
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080665DE
|
||||
@@ -48621,7 +48621,7 @@ sub_806AA0C:
|
||||
lsls r1, 24
|
||||
lsrs r5, r1, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_80981DC
|
||||
bl IsExclusivePokemonUnlocked
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0806AA56
|
||||
|
||||
@@ -8841,7 +8841,7 @@ _080A1CCC:
|
||||
cmp r5, r0
|
||||
beq _080A1CA4
|
||||
adds r0, r5, 0
|
||||
bl sub_80981DC
|
||||
bl IsExclusivePokemonUnlocked
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080A1CA4
|
||||
|
||||
@@ -338,8 +338,8 @@ _080981D4:
|
||||
_080981D8: .4byte gUnknown_203B498
|
||||
thumb_func_end sub_80981A0
|
||||
|
||||
thumb_func_start sub_80981DC
|
||||
sub_80981DC:
|
||||
thumb_func_start IsExclusivePokemonUnlocked
|
||||
IsExclusivePokemonUnlocked:
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 16
|
||||
asrs r3, r0, 16
|
||||
@@ -369,10 +369,10 @@ _0809820E:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80981DC
|
||||
thumb_func_end IsExclusivePokemonUnlocked
|
||||
|
||||
thumb_func_start sub_8098214
|
||||
sub_8098214:
|
||||
thumb_func_start UnlockExclusivePokemon
|
||||
UnlockExclusivePokemon:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 16
|
||||
asrs r3, r0, 16
|
||||
@@ -400,7 +400,7 @@ _08098232:
|
||||
.align 2, 0
|
||||
_08098240: .4byte gUnknown_203B498
|
||||
_08098244: .4byte gExclusivePokemon
|
||||
thumb_func_end sub_8098214
|
||||
thumb_func_end UnlockExclusivePokemon
|
||||
|
||||
thumb_func_start sub_8098248
|
||||
sub_8098248:
|
||||
|
||||
@@ -5,280 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_802A50C
|
||||
sub_802A50C:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x44
|
||||
bl sub_80154F0
|
||||
adds r4, r0, 0
|
||||
add r0, sp, 0x14
|
||||
movs r1, 0
|
||||
movs r2, 0x30
|
||||
bl MemoryFill8
|
||||
cmp r4, 0x2
|
||||
bne _0802A526
|
||||
b _0802A660
|
||||
_0802A526:
|
||||
cmp r4, 0x3
|
||||
beq _0802A52C
|
||||
b _0802A680
|
||||
_0802A52C:
|
||||
ldr r0, _0802A54C
|
||||
ldr r1, [r0]
|
||||
adds r1, 0x8
|
||||
movs r0, 0x20
|
||||
add r2, sp, 0x14
|
||||
bl sub_8039068
|
||||
subs r0, 0x7
|
||||
cmp r0, 0x11
|
||||
bls _0802A542
|
||||
b _0802A654
|
||||
_0802A542:
|
||||
lsls r0, 2
|
||||
ldr r1, _0802A550
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0802A54C: .4byte gUnknown_203B2C4
|
||||
_0802A550: .4byte _0802A554
|
||||
.align 2, 0
|
||||
_0802A554:
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A5F0
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A59C
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A5D8
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A654
|
||||
.4byte _0802A618
|
||||
_0802A59C:
|
||||
ldr r0, _0802A5CC
|
||||
ldr r3, _0802A5D0
|
||||
movs r2, 0
|
||||
str r2, [sp]
|
||||
movs r1, 0x4
|
||||
str r1, [sp, 0x4]
|
||||
str r2, [sp, 0x8]
|
||||
ldr r1, _0802A5D4
|
||||
ldr r1, [r1]
|
||||
movs r2, 0x84
|
||||
lsls r2, 3
|
||||
adds r1, r2
|
||||
str r1, [sp, 0xC]
|
||||
movs r1, 0xC
|
||||
str r1, [sp, 0x10]
|
||||
movs r1, 0
|
||||
movs r2, 0x7
|
||||
bl sub_8014248
|
||||
movs r0, 0x28
|
||||
bl sub_802B2BC
|
||||
b _0802A654
|
||||
.align 2, 0
|
||||
_0802A5CC: .4byte gUnknown_80DF1C0
|
||||
_0802A5D0: .4byte gUnknown_80DEE44
|
||||
_0802A5D4: .4byte gUnknown_203B2C4
|
||||
_0802A5D8:
|
||||
ldr r0, _0802A5E8
|
||||
ldr r1, _0802A5EC
|
||||
ldr r2, [r1]
|
||||
movs r3, 0x84
|
||||
lsls r3, 3
|
||||
adds r2, r3
|
||||
b _0802A5FC
|
||||
.align 2, 0
|
||||
_0802A5E8: .4byte gUnknown_80DF208
|
||||
_0802A5EC: .4byte gUnknown_203B2C4
|
||||
_0802A5F0:
|
||||
ldr r0, _0802A60C
|
||||
ldr r1, _0802A610
|
||||
ldr r2, [r1]
|
||||
movs r4, 0x84
|
||||
lsls r4, 3
|
||||
adds r2, r4
|
||||
_0802A5FC:
|
||||
ldr r3, _0802A614
|
||||
movs r1, 0
|
||||
bl sub_80141B4
|
||||
movs r0, 0x1F
|
||||
bl sub_802B2BC
|
||||
b _0802A654
|
||||
.align 2, 0
|
||||
_0802A60C: .4byte gUnknown_80DF0A0
|
||||
_0802A610: .4byte gUnknown_203B2C4
|
||||
_0802A614: .4byte 0x0000010d
|
||||
_0802A618:
|
||||
ldr r1, [sp, 0x24]
|
||||
movs r0, 0x4
|
||||
bl sub_809539C
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8095228
|
||||
adds r2, r0, 0
|
||||
add r1, sp, 0x14
|
||||
ldm r1!, {r3-r5}
|
||||
stm r2!, {r3-r5}
|
||||
ldm r1!, {r3-r5}
|
||||
stm r2!, {r3-r5}
|
||||
ldm r1!, {r3-r5}
|
||||
stm r2!, {r3-r5}
|
||||
ldm r1!, {r3-r5}
|
||||
stm r2!, {r3-r5}
|
||||
movs r1, 0x6
|
||||
strb r1, [r0]
|
||||
ldr r0, _0802A65C
|
||||
ldr r0, [r0]
|
||||
movs r5, 0x86
|
||||
lsls r5, 3
|
||||
adds r0, r5
|
||||
ldr r1, [sp, 0x24]
|
||||
str r1, [r0]
|
||||
movs r0, 0x21
|
||||
bl sub_802B2BC
|
||||
_0802A654:
|
||||
bl sub_80155F0
|
||||
b _0802A680
|
||||
.align 2, 0
|
||||
_0802A65C: .4byte gUnknown_203B2C4
|
||||
_0802A660:
|
||||
bl sub_80155F0
|
||||
bl ResetUnusedInputStruct
|
||||
ldr r0, _0802A688
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xEF
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
bl sub_800641C
|
||||
movs r0, 0x1
|
||||
bl sub_802B2BC
|
||||
_0802A680:
|
||||
add sp, 0x44
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0802A688: .4byte gUnknown_203B2C4
|
||||
thumb_func_end sub_802A50C
|
||||
|
||||
thumb_func_start sub_802A68C
|
||||
sub_802A68C:
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
mov r0, sp
|
||||
bl sub_80144A4
|
||||
cmp r0, 0
|
||||
bne _0802A6AE
|
||||
bl sub_8012600
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802A6AE
|
||||
bl sub_8012750
|
||||
movs r0, 0xD
|
||||
bl sub_802B2BC
|
||||
_0802A6AE:
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802A68C
|
||||
|
||||
thumb_func_start sub_802A6B4
|
||||
sub_802A6B4:
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
mov r0, sp
|
||||
bl sub_80144A4
|
||||
cmp r0, 0
|
||||
bne _0802A6E8
|
||||
bl sub_8012600
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802A6E8
|
||||
bl sub_8012744
|
||||
adds r4, r0, 0
|
||||
bl sub_8012750
|
||||
cmp r4, 0
|
||||
bne _0802A6E2
|
||||
movs r0, 0x20
|
||||
bl sub_802B2BC
|
||||
b _0802A6E8
|
||||
_0802A6E2:
|
||||
movs r0, 0x3
|
||||
bl sub_802B2BC
|
||||
_0802A6E8:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802A6B4
|
||||
|
||||
thumb_func_start sub_802A6F0
|
||||
sub_802A6F0:
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
mov r0, sp
|
||||
bl sub_80144A4
|
||||
cmp r0, 0
|
||||
bne _0802A710
|
||||
movs r0, 0x18
|
||||
bl sub_802B2BC
|
||||
movs r0, 0x1
|
||||
bl sub_8011C28
|
||||
movs r0, 0
|
||||
bl sub_8012574
|
||||
_0802A710:
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802A6F0
|
||||
|
||||
thumb_func_start sub_802A718
|
||||
sub_802A718:
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
mov r0, sp
|
||||
bl sub_80144A4
|
||||
cmp r0, 0
|
||||
bne _0802A738
|
||||
movs r0, 0x25
|
||||
bl sub_802B2BC
|
||||
movs r0, 0x1
|
||||
bl sub_8011C28
|
||||
movs r0, 0
|
||||
bl sub_8012574
|
||||
_0802A738:
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802A718
|
||||
|
||||
thumb_func_start sub_802A740
|
||||
sub_802A740:
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
mov r0, sp
|
||||
bl sub_80144A4
|
||||
cmp r0, 0
|
||||
bne _0802A754
|
||||
movs r0, 0x1E
|
||||
bl sub_802B2BC
|
||||
_0802A754:
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802A740
|
||||
|
||||
thumb_func_start sub_802A75C
|
||||
sub_802A75C:
|
||||
push {lr}
|
||||
@@ -7130,7 +6856,7 @@ _0802DCE0:
|
||||
ldr r0, [r0, 0x34]
|
||||
movs r1, 0xC
|
||||
ldrsh r0, [r0, r1]
|
||||
bl sub_8098214
|
||||
bl UnlockExclusivePokemon
|
||||
ldr r0, _0802DD70
|
||||
ldr r1, [r5]
|
||||
ldr r1, [r1, 0x34]
|
||||
@@ -7179,7 +6905,7 @@ _0802DD9C:
|
||||
ldr r0, [r0, 0x34]
|
||||
movs r2, 0xE
|
||||
ldrsh r0, [r0, r2]
|
||||
bl sub_8098214
|
||||
bl UnlockExclusivePokemon
|
||||
b _0802DE3E
|
||||
.align 2, 0
|
||||
_0802DDB4: .4byte gUnknown_203B2FC
|
||||
@@ -7191,7 +6917,7 @@ _0802DDB8:
|
||||
ldr r0, [r0, 0x34]
|
||||
movs r1, 0xE
|
||||
ldrsh r0, [r0, r1]
|
||||
bl sub_8098214
|
||||
bl UnlockExclusivePokemon
|
||||
b _0802DE3E
|
||||
.align 2, 0
|
||||
_0802DDD0: .4byte gUnknown_203B2FC
|
||||
|
||||
40
charmap.txt
40
charmap.txt
@@ -227,3 +227,43 @@ DPAD = 87 52
|
||||
|
||||
'\0' = 00
|
||||
'\n' = 0A
|
||||
|
||||
@ TEXT MACROS
|
||||
@
|
||||
@ "#" is a text macro for different things
|
||||
@ case is insensitive but need different
|
||||
@ definitions to match
|
||||
|
||||
EXTRA_MSG = 23 50 @ #P
|
||||
WAIT_PRESS = 23 57 @ #W
|
||||
CENTER_ALIGN = 23 2B @ #+
|
||||
NEW_LINE = 23 4E @ #N
|
||||
|
||||
|
||||
@ COLOR FORMATTING MACROS
|
||||
@
|
||||
@ TO USE: {COLOR_(1 or 2) ______} text here {END_COLOR_(# from first one)}
|
||||
@ EX: {COLOR_2} Steel {END_COLOR_TEXT_2} gets you a colored yellow "Steel"
|
||||
COLOR_1 = 23 43
|
||||
COLOR_2 = 23 63
|
||||
END_COLOR_TEXT_1 = 23 52
|
||||
END_COLOR_TEXT_2 = 23 72
|
||||
|
||||
@ COLORS
|
||||
WHITE = 30 @ C0
|
||||
BLUE = 31 @ C1
|
||||
RED = 32 @ C2
|
||||
BLACK = 33 @ C3
|
||||
GREEN = 34 @ C4
|
||||
CYAN = 35 @ C5
|
||||
YELLOW = 36 @ C6
|
||||
WHITE_2 = 37 @ C7
|
||||
DARKER_GRAY = 38 @ C8
|
||||
DARK_GRAY = 39 @ C9
|
||||
WHITE_3 = 41 @ CA
|
||||
WHITE_4 = 42 @ CB
|
||||
YELLOW_2 = 43 @ CC
|
||||
YELLOW_3 = 44 @ CD
|
||||
LIGHT_BLUE = 45 @ CE
|
||||
WHITE_5 = 46 @ CF
|
||||
LIGHT_BLUE_2 = 47 @ CG (TODO CHECK THIS)
|
||||
|
||||
@@ -2973,5 +2973,3 @@ gUnknown_80DDB24: @ 80DDB24
|
||||
gUnknown_80DDB60: @ 80DDB60
|
||||
.incbin "baserom.gba", 0xDDB60, 0x48
|
||||
|
||||
.include "data/text/wonder_mail_1.inc"
|
||||
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
.section .rodata
|
||||
|
||||
.global gUnknown_80DED44
|
||||
gUnknown_80DED44: @ 80DED44
|
||||
@ replacing .incbin "baserom.gba", 0x000ded44, 0x4
|
||||
.4byte 0x01
|
||||
|
||||
.global gUnknown_80DED48
|
||||
gUnknown_80DED48: @ 80DED48
|
||||
@ replacing .incbin "baserom.gba", 0x000ded48, 0x18
|
||||
@@ -1211,21 +1206,3 @@ gUnknown_80E1FDC: @ 80E1FDC
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_80E1FF0
|
||||
gUnknown_80E1FF0: @ 80E1FF0
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_80E2008
|
||||
gUnknown_80E2008: @ 80E2008
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x06, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x00, 0x02, 0x00
|
||||
.byte 0x1a, 0x00, 0x04, 0x00
|
||||
.byte 0x06, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
@@ -1837,32 +1837,3 @@ gStarters: @ 80F278E (2D Array / [Male][Female])
|
||||
.byte 0x34, 0x00 @ Meowth (Quirky M)
|
||||
.byte 0x15, 0x01 @ Treecko (Quirky F)
|
||||
.byte 0x00, 0x00 @ End of table
|
||||
|
||||
.global gStarterReveal
|
||||
gStarterReveal: @ 80F27C4
|
||||
.string "\n"
|
||||
.string "#+The Pokémon $m0!\0"
|
||||
.4byte gStarterReveal
|
||||
|
||||
.global gPartnerPrompt
|
||||
gPartnerPrompt: @ 80F27DC
|
||||
.string "#+This is the final step.#W\n"
|
||||
.string "#+Who would you like to have as a partner?#P" @ #P -> scroll down
|
||||
.string "#+Choose the Pokémon you want\n"
|
||||
.string "#+as your partner from this group.\0"
|
||||
.align 2,0
|
||||
.4byte gPartnerPrompt
|
||||
|
||||
.global gPartnerNickPrompt
|
||||
gPartnerNickPrompt: @ 80F286C
|
||||
.string "#+What is your partner~27s nickname?\0"
|
||||
.align 2,0
|
||||
.4byte gPartnerNickPrompt
|
||||
|
||||
.global gEndIntroText
|
||||
gEndIntroText: @ 80F2898
|
||||
.string "#+OK! We~27re all set!#P"
|
||||
.string "#+Let~27s get you into the\n"
|
||||
.string "#+world of Pokémon!#P"
|
||||
.string "#+Go for it!\0"
|
||||
.align 2,0
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
gUnknown_80DDBA8:: @ 80DDBA8
|
||||
.string " What you need to do is\n"
|
||||
.string "tell your friend--the one you rescued--\n"
|
||||
.string "this here password.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDBFC:: @ 80DDBFC
|
||||
.string " All righty!\n"
|
||||
.string "Here~27s your #CGA-OK Mail password#R.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDC30:: @ 80DDC30
|
||||
.string " Okeydoke! That~27s all done.\n"
|
||||
.string "Come around whenever you need.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDC70:: @ 80DDC70
|
||||
.string " Okeydoke! I sent off your\n"
|
||||
.string "#CGA-OK Mail#R.#P"
|
||||
.string " Let me save your adventure.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDCBC:: @ 80DDCBC
|
||||
.string "#+Please choose the Pokémon you want to\n"
|
||||
.string "#+send as a helper to your friend.\n"
|
||||
.string "#+(Its hold item will not be sent.)\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDD2C:: @ 80DDD2C
|
||||
.string " ...Uh~2c no?\n"
|
||||
.string "There appear to be no Pokémon in your\n"
|
||||
.string "Friend Areas. What do you want to do?\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDD88:: @ 80DDD88
|
||||
.string " You~27re sure you want to\n"
|
||||
.string "send this here Pokémon?\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDDBC:: @ 80DDDBC
|
||||
.string " You~27re sure about this?\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDDD8:: @ 80DDDD8
|
||||
.string " All righty. I need you to\n"
|
||||
.string "pick the #CGA-OK Mail#R you want to send.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDE20:: @ 80DDE20
|
||||
.string " ...Uh~2c no?\n"
|
||||
.string "I don~27t see any #CGA-OK Mail#R here.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDE58:: @ 80DDE58
|
||||
.string " Did you know? If you use\n"
|
||||
.string "a #CGGame Link cable#R~2c you can send\n"
|
||||
.string "a #CGhelper Pokémon#R to your friend.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDEC0:: @ 80DDEC0
|
||||
.string " Don~27t you worry. Sending\n"
|
||||
.string "a Pokémon doesn~27t mean it will go away.\n"
|
||||
.string "So! Want to send one to your friend?\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDF2C:: @ 80DDF2C
|
||||
.string " ...Uh~2c no?\n"
|
||||
.string "There~27s no space at all to receive\n"
|
||||
.string "any more mail.#P"
|
||||
.string " Delete some old mail~2c\n"
|
||||
.string "and then come to me to receive\n"
|
||||
.string "your mail~2c OK?\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DDFB8:: @ 80DDFB8
|
||||
.string " All righty! Connect up\n"
|
||||
.string "the #CGGame Link cable#R~2c if you~27d please.\n"
|
||||
.string "Your friend ready~2c too?\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DE01C:: @ 80DE01C
|
||||
.string "#+Communicating...\n"
|
||||
.string "#+Please wait with the power on.\n"
|
||||
.string "#+To cancel~2c press {B_BUTTON}.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DE06C:: @ 80DE06C
|
||||
.string " Okeydoke!\n"
|
||||
.string "I received your friend~27s #CGSOS Mail#R.#P"
|
||||
.string " Let me save your adventure.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DE0C0:: @ 80DE0C0
|
||||
.string " Okeydoke! You~27re good to go.\n"
|
||||
.string "Just give me a shout when you~27d like\n"
|
||||
.string "to go rescue your friend.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DE124:: @ 80DE124
|
||||
.string " OK~2c I need you to enter\n"
|
||||
.string "the #CGSOS Mail password#R that your\n"
|
||||
.string "friend gave you.\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DE178:: @ 80DE178
|
||||
.string " How do you want to receive\n"
|
||||
.string "your friend~27s #CGSOS Mail#R?\0"
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_80DE1B4:: @ 80DE1B4
|
||||
.string " How do you want to send\n"
|
||||
.string "your #CGA-OK Mail#R?\0"
|
||||
.align 2, 0
|
||||
@@ -40,6 +40,49 @@ struct WonderMailStruct_203B2C0
|
||||
|
||||
};
|
||||
|
||||
struct unkStruct_41C
|
||||
{
|
||||
u8 unk41C;
|
||||
u8 unk41D;
|
||||
u8 unk41E;
|
||||
u8 unk41F;
|
||||
};
|
||||
|
||||
struct WonderMailStruct_203B2C4
|
||||
{
|
||||
// size: 0x564
|
||||
u8 unk0;
|
||||
u8 padding[3];
|
||||
u32 unk4; // wonder mail link status??
|
||||
u8 unk8[0x36]; // Probably a buffer for entry
|
||||
u8 unk3E;
|
||||
u32 unk40;
|
||||
u32 linkError; // another link status
|
||||
u8 filler48[0x218 - 0x48];
|
||||
s8 unk218;
|
||||
u32 unk21C;
|
||||
u8 filler220[0x30C - 0x220];
|
||||
u32 unk30C;
|
||||
u8 filler310[0x35C - 0x310];
|
||||
u32 unk35C;
|
||||
u8 filler360[0x3BC - 0x360];
|
||||
u32 unk3BC;
|
||||
u8 filler3C0[0x41C - 0x3C0];
|
||||
struct unkStruct_41C unk41C;
|
||||
/* 0x420 */ struct OpenedFile *faceFile;
|
||||
/* 0x424 */ u8 *faceData;
|
||||
u16 unk428;
|
||||
u16 unk42A;
|
||||
u8 unk42C;
|
||||
u8 unk42D;
|
||||
u8 unk42E;
|
||||
u32 unk430;
|
||||
u8 padding3[0x534 - 0x434];
|
||||
s32 unk534;
|
||||
u32 unk538;
|
||||
u8 fill53C[0x564 - 0x53C];
|
||||
};
|
||||
|
||||
void sub_8028B04(u32 r0);
|
||||
|
||||
|
||||
|
||||
@@ -92,7 +92,6 @@ SECTIONS {
|
||||
src/wonder_mail_pre.o(.text);
|
||||
asm/wonder_mail.o(.text);
|
||||
src/wonder_mail.o(.text);
|
||||
src/wonder_mail_mid.o(.text);
|
||||
asm/wonder_mail_1.o(.text);
|
||||
src/adventure_log.o(.text);
|
||||
src/friend_rescue.o(.text);
|
||||
|
||||
@@ -31,8 +31,23 @@ struct AdventureLog
|
||||
};
|
||||
|
||||
extern struct AdventureLog *gAdventureLog;
|
||||
extern struct unkData gUnknown_80E2008;
|
||||
extern struct unkData gUnknown_80E1FF0;
|
||||
|
||||
const struct unkData gUnknown_80E1FF0 = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
NULL
|
||||
};
|
||||
const struct unkData gUnknown_80E2008 = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x02, 0x00,
|
||||
0x1A, 0x00, 0x04,
|
||||
0x06, 0x00,
|
||||
NULL
|
||||
};
|
||||
|
||||
// Adventure Log Text
|
||||
const u8 gAdventureLogHeaderText[] = "Adventure Log";
|
||||
@@ -43,8 +58,8 @@ extern void *MemoryAlloc(u32, u32);
|
||||
extern void MemoryFree(void *);
|
||||
extern void sub_8006518(struct unkData *);
|
||||
extern void sub_800641C(void *, u32, u32);
|
||||
extern void sub_8032084();
|
||||
extern void DisplayAdventureLog();
|
||||
void sub_8032084();
|
||||
void DisplayAdventureLog();
|
||||
extern void sub_8013818(void *, u32, u32, u32);
|
||||
extern u8 sub_8013938(void *);
|
||||
extern void sub_8013660(void *);
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
ALIGNED(4) const char gFormattedSteelText[] = "#c6Steel#r";
|
||||
ALIGNED(4) const char gFormattedDarkText[] = "#c6Dark#r";
|
||||
ALIGNED(4) const char gFormattedDragonText[] = "#c6Dragon#r";
|
||||
ALIGNED(4) const char gFormattedGhostText[] = "#c6Ghost#r";
|
||||
ALIGNED(4) const char gFormattedRockText[] = "#c6Rock#r";
|
||||
ALIGNED(4) const char gFormattedBugText[] = "#c6Bug#r";
|
||||
ALIGNED(4) const char gFormattedPsychicText[] = "#c6Psychic#r";
|
||||
ALIGNED(4) const char gFormattedFlyingText[] = "#c6Flying#r";
|
||||
ALIGNED(4) const char gFormattedGroundText[] = "#c6Ground#r";
|
||||
ALIGNED(4) const char gFormattedPoisonText[] = "#c6Poison#r";
|
||||
ALIGNED(4) const char gFormattedFightingText[] = "#c6Fighting#r";
|
||||
ALIGNED(4) const char gFormattedIceText[] = "#c6Ice#r ";
|
||||
ALIGNED(4) const char gFormattedElectricText[] = "#c6Electric#r";
|
||||
ALIGNED(4) const char gFormattedGrassText[] = "#c6Grass#r";
|
||||
ALIGNED(4) const char gFormattedWaterText[] = "#c6Water#r";
|
||||
ALIGNED(4) const char gFormattedFireText[] = "#c6Fire#r ";
|
||||
ALIGNED(4) const char gFormattedNormalText[] = "#c6Normal#r";
|
||||
ALIGNED(4) const char gFormattedNoneText[] = "#c6None#r";
|
||||
ALIGNED(4) const char gFormattedSteelText[] = _("{COLOR_2 YELLOW}Steel{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedDarkText[] = _("{COLOR_2 YELLOW}Dark{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedDragonText[] = _("{COLOR_2 YELLOW}Dragon{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedGhostText[] = _("{COLOR_2 YELLOW}Ghost{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedRockText[] = _("{COLOR_2 YELLOW}Rock{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedBugText[] = _("{COLOR_2 YELLOW}Bug{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedPsychicText[] = _("{COLOR_2 YELLOW}Psychic{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedFlyingText[] = _("{COLOR_2 YELLOW}Flying{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedGroundText[] = _("{COLOR_2 YELLOW}Ground{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedPoisonText[] = _("{COLOR_2 YELLOW}Poison{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedFightingText[] = _("{COLOR_2 YELLOW}Fighting{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedIceText[] = _("{COLOR_2 YELLOW}Ice{END_COLOR_TEXT_2} ");
|
||||
ALIGNED(4) const char gFormattedElectricText[] = _("{COLOR_2 YELLOW}Electric{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedGrassText[] = _("{COLOR_2 YELLOW}Grass{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedWaterText[] = _("{COLOR_2 YELLOW}Water{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedFireText[] = _("{COLOR_2 YELLOW}Fire{END_COLOR_TEXT_2} ");
|
||||
ALIGNED(4) const char gFormattedNormalText[] = _("{COLOR_2 YELLOW}Normal{END_COLOR_TEXT_2}");
|
||||
ALIGNED(4) const char gFormattedNoneText[] = _("{COLOR_2 YELLOW}None{END_COLOR_TEXT_2}");
|
||||
|
||||
@@ -1,232 +1,233 @@
|
||||
ALIGNED(4) const char gQuirkyDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The quirky type.#P"
|
||||
"#+People consider you an eccentric\n"
|
||||
"#+who does things at your own pace.#P"
|
||||
"#+You never break tempo.#P"
|
||||
"#+Your carefree nature makes you\n"
|
||||
"#+attractive. But you also happen\n"
|
||||
"#+to be somewhat childish...#P"
|
||||
"#+You are fickle and cause problems for the\n"
|
||||
"#+people who have to go along with you.#P"
|
||||
"#+Maybe people are even upset\n"
|
||||
"#+with you for being so fickle?#P"
|
||||
"#+If you realize how selfishly\n"
|
||||
"#+you~27re behaving~2c try to think\n"
|
||||
"#+before you do anything rash.#P"
|
||||
"#+A quirky person like you should be...";
|
||||
ALIGNED(4) const char gQuirkyDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The quirky type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}People consider you an eccentric\n"
|
||||
"{CENTER_ALIGN}who does things at your own pace.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You never break tempo.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Your carefree nature makes you\n"
|
||||
"{CENTER_ALIGN}attractive. But you also happen\n"
|
||||
"{CENTER_ALIGN}to be somewhat childish...{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You are fickle and cause problems for the\n"
|
||||
"{CENTER_ALIGN}people who have to go along with you.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Maybe people are even upset\n"
|
||||
"{CENTER_ALIGN}with you for being so fickle?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}If you realize how selfishly\n"
|
||||
"{CENTER_ALIGN}you~27re behaving~2c try to think\n"
|
||||
"{CENTER_ALIGN}before you do anything rash.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A quirky person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gLonelyDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The lonely type.#P"
|
||||
"#+You always act cheerful and\n"
|
||||
"#+jocular around other people.#P"
|
||||
"#+But that~27s only because\n"
|
||||
"#+you are with other people.#P"
|
||||
"#+However~2c when you get alone...#P"
|
||||
"#+Do you find yourself\n"
|
||||
"#+feeling oddly depressed?#P"
|
||||
"#+That~27s why you always\n"
|
||||
"#+want to be with others.#P"
|
||||
"#+But if you go around feeling\n"
|
||||
"#+depressed too much...#P"
|
||||
"#+Your nutritional balance goes out\n"
|
||||
"#+of wack. Eat more vegetables!#P"
|
||||
"#+However...#W\n"
|
||||
"#+It~27s not a bad thing\n"
|
||||
"#+to feel lonely.#P"
|
||||
"#+You know what it~27s like when you aren~27t\n"
|
||||
"#+alone~2c so that~27s why you feel lonesome.#P"
|
||||
"#+And that~27s why you aren~27t really alone.#P"
|
||||
"#+A lonely person like you should be...";
|
||||
ALIGNED(4) const char gLonelyDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The lonely type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You always act cheerful and\n"
|
||||
"{CENTER_ALIGN}jocular around other people.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But that~27s only because\n"
|
||||
"{CENTER_ALIGN}you are with other people.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}However~2c when you get alone...{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Do you find yourself\n"
|
||||
"{CENTER_ALIGN}feeling oddly depressed?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}That~27s why you always\n"
|
||||
"{CENTER_ALIGN}want to be with others.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But if you go around feeling\n"
|
||||
"{CENTER_ALIGN}depressed too much...{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Your nutritional balance goes out\n"
|
||||
"{CENTER_ALIGN}of wack. Eat more vegetables!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}However...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}It~27s not a bad thing\n"
|
||||
"{CENTER_ALIGN}to feel lonely.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You know what it~27s like when you aren~27t\n"
|
||||
"{CENTER_ALIGN}alone~2c so that~27s why you feel lonesome.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}And that~27s why you aren~27t really alone.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A lonely person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gRelaxedDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The relaxed type.#P"
|
||||
"#+Do you occasionally\n"
|
||||
"#+zone out and miss a bus?#P"
|
||||
"#+Or do you find yourself dozing off?#P"
|
||||
"#+Or is your reaction time\n"
|
||||
"#+a little slower than others?#P"
|
||||
"#+But that~27s not necessarily\n"
|
||||
"#+a bad thing.#P"
|
||||
"#+You can do things at your own\n"
|
||||
"#+tempo without feeling pressured.#P"
|
||||
"#+You can live in a relaxed and\n"
|
||||
"#+unhurried manner without worries.#P"
|
||||
"#+I think that~27s a happy\n"
|
||||
"#+lifestyle to be envied~2c even.#P"
|
||||
"#+You~27re also surprisingly popular.#P"
|
||||
"#+The way you vacantly stare\n"
|
||||
"#+off into the distance...#P"
|
||||
"#+It should make that someone\n"
|
||||
"#+special~27s pulse race.#P"
|
||||
"#+A relaxed person like you should be...";
|
||||
ALIGNED(4) const char gRelaxedDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The relaxed type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Do you occasionally\n"
|
||||
"{CENTER_ALIGN}zone out and miss a bus?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Or do you find yourself dozing off?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Or is your reaction time\n"
|
||||
"{CENTER_ALIGN}a little slower than others?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But that~27s not necessarily\n"
|
||||
"{CENTER_ALIGN}a bad thing.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You can do things at your own\n"
|
||||
"{CENTER_ALIGN}tempo without feeling pressured.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You can live in a relaxed and\n"
|
||||
"{CENTER_ALIGN}unhurried manner without worries.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}I think that~27s a happy\n"
|
||||
"{CENTER_ALIGN}lifestyle to be envied~2c even.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You~27re also surprisingly popular.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}The way you vacantly stare\n"
|
||||
"{CENTER_ALIGN}off into the distance...{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}It should make that someone\n"
|
||||
"{CENTER_ALIGN}special~27s pulse race.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A relaxed person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gCalmDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The calm type.#P"
|
||||
"#+You~27re capable of giving advice\n"
|
||||
"#+to friends with worries.#P"
|
||||
"#+You don~27t like to fight.#P"
|
||||
"#+You~27re a warm~2c kindhearted\n"
|
||||
"#+person who cares.#P"
|
||||
"#+You must have many friends\n"
|
||||
"#+who look up to you.#P"
|
||||
"#+However...#W\n"
|
||||
"#+You may also be somewhat gullible...#P"
|
||||
"#+As well as a little careless...#P"
|
||||
"#+And even a little sloppy.#P"
|
||||
"#+You might want to keep\n"
|
||||
"#+those points in mind.#P"
|
||||
"#+A calm person like you should be...";
|
||||
ALIGNED(4) const char gCalmDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The calm type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You~27re capable of giving advice\n"
|
||||
"{CENTER_ALIGN}to friends with worries.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You don~27t like to fight.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You~27re a warm~2c kindhearted\n"
|
||||
"{CENTER_ALIGN}person who cares.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You must have many friends\n"
|
||||
"{CENTER_ALIGN}who look up to you.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}However...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}You may also be somewhat gullible...{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}As well as a little careless...{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}And even a little sloppy.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You might want to keep\n"
|
||||
"{CENTER_ALIGN}those points in mind.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A calm person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gSassyDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The sassy type.#P"
|
||||
"#+You tend to be somewhat cynical.#P"
|
||||
"#+Despite that~2c there is something\n"
|
||||
"#+appealing and lovable about you.#P"
|
||||
"#+But do you occasionally say something\n"
|
||||
"#+arrogant that angers others?#P"
|
||||
"#+Do you make that mistake?#P"
|
||||
"#+Or have people called you\n"
|
||||
"#+conceited~2c vain~2c or selfish?#P"
|
||||
"#+Have people said that about you?#P"
|
||||
"#+Huh?#W You~27re telling me to get lost?#P"
|
||||
"#+Why~2c you... Come here and say that!#W\n"
|
||||
"#+......Gasp!#P"
|
||||
"#+...I~27m sorry.\n"
|
||||
"#+I let my feelings run away.\n"
|
||||
"#+I truly regret this~2c really.#P"
|
||||
"#+Anyway~2c your cool and aloof\n"
|
||||
"#+attitude is what defines you.#P"
|
||||
"#+It makes you exasperating and\n"
|
||||
"#+appealing at the same time.#P"
|
||||
"#+A sassy person like you should be...";
|
||||
ALIGNED(4) const char gSassyDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The sassy type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You tend to be somewhat cynical.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Despite that~2c there is something\n"
|
||||
"{CENTER_ALIGN}appealing and lovable about you.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But do you occasionally say something\n"
|
||||
"{CENTER_ALIGN}arrogant that angers others?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Do you make that mistake?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Or have people called you\n"
|
||||
"{CENTER_ALIGN}conceited~2c vain~2c or selfish?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Have people said that about you?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Huh?{WAIT_PRESS} You~27re telling me to get lost?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Why~2c you... Come here and say that!{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}......Gasp!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}...I~27m sorry.\n"
|
||||
"{CENTER_ALIGN}I let my feelings run away.\n"
|
||||
"{CENTER_ALIGN}I truly regret this~2c really.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Anyway~2c your cool and aloof\n"
|
||||
"{CENTER_ALIGN}attitude is what defines you.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}It makes you exasperating and\n"
|
||||
"{CENTER_ALIGN}appealing at the same time.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A sassy person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gHastyDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The hasty type.#P"
|
||||
"#+You like to take charge\n"
|
||||
"#+and get things done.#P"
|
||||
"#+You~27re a real go-getter.#P"
|
||||
"#+But are you also stressed out?#P"
|
||||
"#+You get irritated when your\n"
|
||||
"#+friends don~27t show up on time.#P"
|
||||
"#+You get frustrated when things\n"
|
||||
"#+don~27t turn out the way you expect.#P"
|
||||
"#+Maybe you jab the elevator button\n"
|
||||
"#+if the elevator is slow to arrive.#P"
|
||||
"#+...Maybe you~27re already jabbing\n"
|
||||
"#+the A Button repeatedly now.#P"
|
||||
"#+Beware--getting too easily irritated\n"
|
||||
"#+just isn~27t good for your well-being.#P"
|
||||
"#+A hasty person like you should be...";
|
||||
ALIGNED(4) const char gHastyDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The hasty type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You like to take charge\n"
|
||||
"{CENTER_ALIGN}and get things done.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You~27re a real go-getter.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But are you also stressed out?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You get irritated when your\n"
|
||||
"{CENTER_ALIGN}friends don~27t show up on time.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You get frustrated when things\n"
|
||||
"{CENTER_ALIGN}don~27t turn out the way you expect.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Maybe you jab the elevator button\n"
|
||||
"{CENTER_ALIGN}if the elevator is slow to arrive.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}...Maybe you~27re already jabbing\n"
|
||||
"{CENTER_ALIGN}the A Button repeatedly now.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Beware--getting too easily irritated\n"
|
||||
"{CENTER_ALIGN}just isn~27t good for your well-being.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A hasty person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gTimidDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The timid type.#P"
|
||||
"#+You may find it hard to go\n"
|
||||
"#+to the washroom at night.#P"
|
||||
"#+You may also find it too frightening\n"
|
||||
"#+to go back to school to get something\n"
|
||||
"#+you left behind in class.#P"
|
||||
"#+If you~27re ever walking on a dark\n"
|
||||
"#+street at night~2c you probably turn\n"
|
||||
"#+around often to check behind you.#P"
|
||||
"#+But your timid nature is\n"
|
||||
"#+also your good point!#P"
|
||||
"#+Because those who know fear are\n"
|
||||
"#+those who know true courage.#P"
|
||||
"#+A timid person like you should be...";
|
||||
ALIGNED(4) const char gTimidDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The timid type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You may find it hard to go\n"
|
||||
"{CENTER_ALIGN}to the washroom at night.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You may also find it too frightening\n"
|
||||
"{CENTER_ALIGN}to go back to school to get something\n"
|
||||
"{CENTER_ALIGN}you left behind in class.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}If you~27re ever walking on a dark\n"
|
||||
"{CENTER_ALIGN}street at night~2c you probably turn\n"
|
||||
"{CENTER_ALIGN}around often to check behind you.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But your timid nature is\n"
|
||||
"{CENTER_ALIGN}also your good point!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Because those who know fear are\n"
|
||||
"{CENTER_ALIGN}those who know true courage.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A timid person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gNaiveDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The naive type.#P"
|
||||
"#+You are highly curious~2c\n"
|
||||
"#+and you love rare things.#P"
|
||||
"#+Your cheerful and carefree\n"
|
||||
"#+attitude should make things fun\n"
|
||||
"#+for the people around you.#P"
|
||||
"#+But you do have one flaw.\n"
|
||||
"#+You can be childish.#P"
|
||||
"#+You can never sit still.\n"
|
||||
"#+You~27re always on the move.#P"
|
||||
"#+You can also be selfish~2c\n"
|
||||
"#+so you should watch yourself.#P"
|
||||
"#+A naive person like you should be...";
|
||||
ALIGNED(4) const char gNaiveDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The naive type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You are highly curious~2c\n"
|
||||
"{CENTER_ALIGN}and you love rare things.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Your cheerful and carefree\n"
|
||||
"{CENTER_ALIGN}attitude should make things fun\n"
|
||||
"{CENTER_ALIGN}for the people around you.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But you do have one flaw.\n"
|
||||
"{CENTER_ALIGN}You can be childish.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You can never sit still.\n"
|
||||
"{CENTER_ALIGN}You~27re always on the move.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You can also be selfish~2c\n"
|
||||
"{CENTER_ALIGN}so you should watch yourself.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A naive person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gImpishDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The impish type.#P"
|
||||
"#+You~27re playful~2c cheerful~2c\n"
|
||||
"#+and you love pranks.#P"
|
||||
"#+You~27re also kindhearted.#P"
|
||||
"#+That~27s why the people around\n"
|
||||
"#+you find you so irresistible.#P"
|
||||
"#+You must be the most\n"
|
||||
"#+popular person around!#P"
|
||||
"#+Oh?#W You~27re not that popular?#W\n"
|
||||
"#+You~27re either being modest...\n"
|
||||
"#+or you just don~27t notice it.#P"
|
||||
"#+I bet people are just too shy\n"
|
||||
"#+to let their feelings be known.#P"
|
||||
"#+There~27s someone out there who~27s\n"
|
||||
"#+afraid to declare their love for you!#P"
|
||||
"#+An impish person like you should be...";
|
||||
ALIGNED(4) const char gImpishDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The impish type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You~27re playful~2c cheerful~2c\n"
|
||||
"{CENTER_ALIGN}and you love pranks.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You~27re also kindhearted.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}That~27s why the people around\n"
|
||||
"{CENTER_ALIGN}you find you so irresistible.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You must be the most\n"
|
||||
"{CENTER_ALIGN}popular person around!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Oh?{WAIT_PRESS} You~27re not that popular?{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}You~27re either being modest...\n"
|
||||
"{CENTER_ALIGN}or you just don~27t notice it.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}I bet people are just too shy\n"
|
||||
"{CENTER_ALIGN}to let their feelings be known.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}There~27s someone out there who~27s\n"
|
||||
"{CENTER_ALIGN}afraid to declare their love for you!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}An impish person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gJollyDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The jolly type.#P"
|
||||
"#+Always laughing and smiling~2c\n"
|
||||
"#+you uplift everyone around you.#P"
|
||||
"#+You love jokes!#P"
|
||||
"#+You have lots of friends~2c and\n"
|
||||
"#+you~27re popular wherever you go.#P"
|
||||
"#+But sometimes you get carried away\n"
|
||||
"#+and say things that get you in trouble.#P"
|
||||
"#+You should learn to think before\n"
|
||||
"#+saying or doing anything.#P"
|
||||
"#+A jolly person like you should be...";
|
||||
ALIGNED(4) const char gJollyDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The jolly type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Always laughing and smiling~2c\n"
|
||||
"{CENTER_ALIGN}you uplift everyone around you.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You love jokes!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You have lots of friends~2c and\n"
|
||||
"{CENTER_ALIGN}you~27re popular wherever you go.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But sometimes you get carried away\n"
|
||||
"{CENTER_ALIGN}and say things that get you in trouble.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You should learn to think before\n"
|
||||
"{CENTER_ALIGN}saying or doing anything.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A jolly person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gBraveDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The brave type.#P"
|
||||
"#+You have a strong sense of justice.#W\n"
|
||||
"#+You hate evil.#W\n"
|
||||
"#+You will take on any opponent.#P"
|
||||
"#+You are truly a hero!#P"
|
||||
"#+Go forth!#P"
|
||||
"#+For justice...#W\n"
|
||||
"#+For peace on earth...#W\n"
|
||||
"#+Fight the forces of evil!#P"
|
||||
"#+......#WIf I~27m wrong...#W\n"
|
||||
"#+Work at becoming a true hero!#P"
|
||||
"#+A brave person like you should be...";
|
||||
ALIGNED(4) const char gBraveDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The brave type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You have a strong sense of justice.{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}You hate evil.{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}You will take on any opponent.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You are truly a hero!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Go forth!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}For justice...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}For peace on earth...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}Fight the forces of evil!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}......{WAIT_PRESS}If I~27m wrong...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}Work at becoming a true hero!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A brave person like you should be...");
|
||||
|
||||
ALIGNED(4) const char gDocileDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The docile type.#P"
|
||||
"#+You~27re very kindhearted.#W\n"
|
||||
"#+Very helpful.#W\n"
|
||||
"#+You can make friends with anyone.#P"
|
||||
"#+You~27re a wonderful person.#P"
|
||||
"#+......#WIs that going overboard?#W\n"
|
||||
"#+I don~27t think so.#P"
|
||||
"#+You yourself should be\n"
|
||||
"#+the best judge of that.#P"
|
||||
"#+A docile person like you should be...";
|
||||
ALIGNED(4) const char gDocileDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The docile type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You~27re very kindhearted.{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}Very helpful.{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}You can make friends with anyone.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You~27re a wonderful person.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}......{WAIT_PRESS}Is that going overboard?{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}I don~27t think so.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You yourself should be\n"
|
||||
"{CENTER_ALIGN}the best judge of that.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A docile person like you should be...");
|
||||
|
||||
|
||||
ALIGNED(4) const char gHardyDescription[] =
|
||||
"#+You appear to be...#W\n"
|
||||
"#+The hardy type.#P#+You do your homework diligently~2c\n"
|
||||
"#+and you know to eat properly.#P"
|
||||
"#+You have strong willpower that lets\n"
|
||||
"#+you complete tasks~2c however tough.#P"
|
||||
"#+But~2c you can also be stubborn to the\n"
|
||||
"#+point of even feuding with friends...#P"
|
||||
"#+Nothing will go right for you when you~27re\n"
|
||||
"#+irritated~2c so learn to laugh it off.#P"
|
||||
"#+A hardy person like you should be...";
|
||||
ALIGNED(4) const char gHardyDescription[] = _(
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}The hardy type.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You do your homework diligently~2c\n"
|
||||
"{CENTER_ALIGN}and you know to eat properly.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}You have strong willpower that lets\n"
|
||||
"{CENTER_ALIGN}you complete tasks~2c however tough.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}But~2c you can also be stubborn to the\n"
|
||||
"{CENTER_ALIGN}point of even feuding with friends...{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Nothing will go right for you when you~27re\n"
|
||||
"{CENTER_ALIGN}irritated~2c so learn to laugh it off.{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}A hardy person like you should be...");
|
||||
|
||||
@@ -1,141 +1,259 @@
|
||||
ALIGNED(4) const char gUnknown_80DE1E4[] =
|
||||
ALIGNED(4) const char gUnknown_80DDBA8[] = _(
|
||||
" What you need to do is\n"
|
||||
"tell your friend--the one you rescued--\n"
|
||||
"this here password.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDBFC[] = _(
|
||||
" All righty!\n"
|
||||
"Here~27s your {COLOR_1 LIGHT_BLUE_2}A-OK Mail password{END_COLOR_TEXT_1}.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDC30[] = _(
|
||||
" Okeydoke! That~27s all done.\n"
|
||||
"Come around whenever you need.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDC70[] = _(
|
||||
" Okeydoke! I sent off your\n"
|
||||
"{COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}"
|
||||
" Let me save your adventure.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDCBC[] = _(
|
||||
"{CENTER_ALIGN}Please choose the Pokémon you want to\n"
|
||||
"{CENTER_ALIGN}send as a helper to your friend.\n"
|
||||
"{CENTER_ALIGN}(Its hold item will not be sent.)");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDD2C[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"You don~27t have an #CGSOS Mail#R.#P"
|
||||
" You~27ll need to arrange\n"
|
||||
"to receive your friend~27s #CGSOS Mail#R first.\n"
|
||||
"That~27s what you need to do.";
|
||||
"There appear to be no Pokémon in your\n"
|
||||
"Friend Areas. What do you want to do?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE280[] =
|
||||
ALIGNED(4) const char gUnknown_80DDD88[] = _(
|
||||
" You~27re sure you want to\n"
|
||||
"send this here Pokémon?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDDBC[] = _(
|
||||
" You~27re sure about this?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDDD8[] = _(
|
||||
" All righty. I need you to\n"
|
||||
"pick the {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1} you want to send.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDE20[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"I don~27t see any {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1} here.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDE58[] = _(
|
||||
" Did you know? If you use\n"
|
||||
"a {COLOR_1 LIGHT_BLUE_2}Game Link cable{END_COLOR_TEXT_1}~2c you can send\n"
|
||||
"a {COLOR_1 LIGHT_BLUE_2}helper Pokémon{END_COLOR_TEXT_1} to your friend.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDEC0[] = _(
|
||||
" Don~27t you worry. Sending\n"
|
||||
"a Pokémon doesn~27t mean it will go away.\n"
|
||||
"So! Want to send one to your friend?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDF2C[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"There~27s no space at all to receive\n"
|
||||
"any more mail.{EXTRA_MSG}"
|
||||
" Delete some old mail~2c\n"
|
||||
"and then come to me to receive\n"
|
||||
"your mail~2c OK?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DDFB8[] = _(
|
||||
" All righty! Connect up\n"
|
||||
"the {COLOR_1 LIGHT_BLUE_2}Game Link cable{END_COLOR_TEXT_1}~2c if you~27d please.\n"
|
||||
"Your friend ready~2c too?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE01C[] = _(
|
||||
"{CENTER_ALIGN}Communicating...\n"
|
||||
"{CENTER_ALIGN}Please wait with the power on.\n"
|
||||
"{CENTER_ALIGN}To cancel~2c press {B_BUTTON}.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE06C[] = _(
|
||||
" Okeydoke!\n"
|
||||
"Let me show you to the rescue site.";
|
||||
"I received your friend~27s {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}"
|
||||
" Let me save your adventure.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE2B0[] =
|
||||
ALIGNED(4) const char gUnknown_80DE0C0[] = _(
|
||||
" Okeydoke! You~27re good to go.\n"
|
||||
"Just give me a shout when you~27d like\n"
|
||||
"to go rescue your friend.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE124[] = _(
|
||||
" OK~2c I need you to enter\n"
|
||||
"the {COLOR_1 LIGHT_BLUE_2}SOS Mail password{END_COLOR_TEXT_1} that your\n"
|
||||
"friend gave you.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE178[] = _(
|
||||
" How do you want to receive\n"
|
||||
"your friend~27s {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE1B4[] = _(
|
||||
" How do you want to send\n"
|
||||
"your {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE1E4[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"You don~27t have an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}"
|
||||
" You~27ll need to arrange\n"
|
||||
"to receive your friend~27s {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} first.\n"
|
||||
"That~27s what you need to do.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE280[] = _(
|
||||
" Okeydoke!\n"
|
||||
"Let me show you to the rescue site.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE2B0[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"Doesn~27t look like you can go to the dungeon\n"
|
||||
"named in this #CGSOS Mail#R.#P"
|
||||
"named in this {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}"
|
||||
" Come see me about doing\n"
|
||||
"this rescue when you can actually go\n"
|
||||
"to that dungeon~2c all right?";
|
||||
"to that dungeon~2c all right?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE368[] =
|
||||
ALIGNED(4) const char gUnknown_80DE368[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"You~27ve blown this rescue mission too\n"
|
||||
"often. Your friend~27s team is beyond help.#P"
|
||||
"often. Your friend~27s team is beyond help.{EXTRA_MSG}"
|
||||
" I~27m sorry to say this~2c\n"
|
||||
"but you~27ll have to tell your friend that\n"
|
||||
"your rescue attempts failed.";
|
||||
"your rescue attempts failed.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE430[] =
|
||||
ALIGNED(4) const char gUnknown_80DE430[] = _(
|
||||
" Okeydoke.\n"
|
||||
"I~27ll need you to choose the #CGSOS Mail#R\n"
|
||||
"for you to go on a rescue mission.";
|
||||
"I~27ll need you to choose the {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}\n"
|
||||
"for you to go on a rescue mission.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE48C[] =
|
||||
ALIGNED(4) const char gUnknown_80DE48C[] = _(
|
||||
" What kind of mail do you\n"
|
||||
"want to delete?";
|
||||
"want to delete?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE4B8[] =
|
||||
ALIGNED(4) const char gUnknown_80DE4B8[] = _(
|
||||
" All righty. Choose\n"
|
||||
"the #CGSOS Mail#R you don~27t need.";
|
||||
"the {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} you don~27t need.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE4F0[] =
|
||||
ALIGNED(4) const char gUnknown_80DE4F0[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"You don~27t have any #CGSOS Mail#R.";
|
||||
"You don~27t have any {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE524[] =
|
||||
" If you want a reward~2c #C2don~27t\n"
|
||||
"delete an A-OK Mail#R before getting a\n"
|
||||
"#CGThank-You Mail#R back for it.#P"
|
||||
" #C2Be careful#R if you~27re going\n"
|
||||
"to delete any #CGA-OK Mail#R.#P"
|
||||
ALIGNED(4) const char gUnknown_80DE524[] = _(
|
||||
" If you want a reward~2c {COLOR_1 RED}don~27t\n"
|
||||
"delete an A-OK Mail{END_COLOR_TEXT_1} before getting a\n"
|
||||
"{COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1} back for it.{EXTRA_MSG}"
|
||||
" {COLOR_1 RED}Be careful{END_COLOR_TEXT_1} if you~27re going\n"
|
||||
"to delete any {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}"
|
||||
" Okeydoke.\n"
|
||||
"Choose an #CGA-OK Mail#R\n"
|
||||
"you don~27t need anymore.";
|
||||
ALIGNED(4) const char gUnknown_80DE614[] =
|
||||
"Choose an {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}\n"
|
||||
"you don~27t need anymore.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE614[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"You don~27t have any #CGA-OK Mail#R.";
|
||||
ALIGNED(4) const char gUnknown_80DE648[] =
|
||||
"You don~27t have any {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE648[] = _(
|
||||
" Uh~2c OK.\n"
|
||||
"So~2c you want me to delete every piece\n"
|
||||
"of mail that you have.";
|
||||
ALIGNED(4) const char gUnknown_80DE694[] =
|
||||
"of mail that you have.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE694[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"You don~27t have a single piece of\n"
|
||||
"mail on you!";
|
||||
ALIGNED(4) const char gUnknown_80DE6D4[] =
|
||||
" So~2c delete all your #CGSOS Mail#R~2c\n"
|
||||
"#CGA-OK Mail#R~2c and your #CGThank-You Mail#R?\n"
|
||||
"You~27re absolutely~2c positively sure?";
|
||||
ALIGNED(4) const char gUnknown_80DE754[] =
|
||||
"mail on you!");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE6D4[] = _(
|
||||
" So~2c delete all your {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}~2c\n"
|
||||
"{COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}~2c and your {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1}?\n"
|
||||
"You~27re absolutely~2c positively sure?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE754[] = _(
|
||||
" If I delete any mail~2c it~27s\n"
|
||||
"gone forever and ever. Bye-bye.\n"
|
||||
"You~27re really~2c really sure now?";
|
||||
ALIGNED(4) const char gUnknown_80DE7B8[] =
|
||||
" OK~2c then.\n"
|
||||
"Let me save your adventure now.";
|
||||
ALIGNED(4) const char gUnknown_80DE7E8[] =
|
||||
" Okeydoke. That~27s all done.";
|
||||
ALIGNED(4) const char gUnknown_80DE808[] =
|
||||
" Do you want to delete\n"
|
||||
"any other mail?";
|
||||
ALIGNED(4) const char gUnknown_80DE830[] =
|
||||
" Okeydoke.\n"
|
||||
"I~27ll delete #CGevery piece of mail#R.";
|
||||
ALIGNED(4) const char gUnknown_80DE864[] =
|
||||
" Okeydoke.\n"
|
||||
"Every bit of mail has been deleted.#P"
|
||||
" Let me save your adventure.";
|
||||
ALIGNED(4) const char gUnknown_80DE8B4[] =
|
||||
" Well~2c hello~2c there!\n"
|
||||
"This is the #CGFriend Rescue#R counter.\n"
|
||||
"What can I help you with today?";
|
||||
ALIGNED(4) const char gUnknown_80DE918[] =
|
||||
" Help you with anything\n"
|
||||
"else today?";
|
||||
ALIGNED(4) const char gUnknown_80DE93C[] =
|
||||
" Come again anytime!";
|
||||
"You~27re really~2c really sure now?");
|
||||
|
||||
ALIGNED(4) const char gWonderMailErrorText[] =
|
||||
ALIGNED(4) const char gUnknown_80DE7B8[] = _(
|
||||
" OK~2c then.\n"
|
||||
"Let me save your adventure now.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE7E8[] = _(
|
||||
" Okeydoke. That~27s all done.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE808[] = _(
|
||||
" Do you want to delete\n"
|
||||
"any other mail?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE830[] = _(
|
||||
" Okeydoke.\n"
|
||||
"I~27ll delete {COLOR_1 LIGHT_BLUE_2}every piece of mail{END_COLOR_TEXT_1}.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE864[] = _(
|
||||
" Okeydoke.\n"
|
||||
"Every bit of mail has been deleted.{EXTRA_MSG}"
|
||||
" Let me save your adventure.");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE8B4[] = _(
|
||||
" Well~2c hello~2c there!\n"
|
||||
"This is the {COLOR_1 LIGHT_BLUE_2}Friend Rescue{END_COLOR_TEXT_1} counter.\n"
|
||||
"What can I help you with today?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE918[] = _(
|
||||
" Help you with anything\n"
|
||||
"else today?");
|
||||
|
||||
ALIGNED(4) const char gUnknown_80DE93C[] = _(
|
||||
" Come again anytime!");
|
||||
|
||||
ALIGNED(4) const char gWonderMailErrorText[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"Something~27s not working right here...";
|
||||
ALIGNED(4) const char gWonderMailNumGBAsText[] =
|
||||
"Something~27s not working right here...");
|
||||
|
||||
ALIGNED(4) const char gWonderMailNumGBAsText[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"The number of GBA systems isn~27t right.\n"
|
||||
"You~27d better try this again from the top.";
|
||||
ALIGNED(4) const char gWonderMailWrongModeText[] =
|
||||
"You~27d better try this again from the top.");
|
||||
|
||||
ALIGNED(4) const char gWonderMailWrongModeText[] = _(
|
||||
" ...Uh~2c no? You~27re not in the\n"
|
||||
"same mode as your friend.\n"
|
||||
"You~27d better try this again from the top.";
|
||||
ALIGNED(4) const char gWonderMailStorageFullText[] =
|
||||
"You~27d better try this again from the top.");
|
||||
|
||||
ALIGNED(4) const char gWonderMailStorageFullText[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"Your storage space is stuffed full.\n"
|
||||
"You~27d better make room and try again.";
|
||||
ALIGNED(4) const char gWonderMailDuplicateText[] =
|
||||
"You~27d better make room and try again.");
|
||||
|
||||
ALIGNED(4) const char gWonderMailDuplicateText[] = _(
|
||||
" ...Uh~2c no? It looks like\n"
|
||||
"you received this mail before.\n"
|
||||
"You can~27t get the same mail twice. ";
|
||||
ALIGNED(4) const char gWonderMailNotEligibleReceiveText[] =
|
||||
"You can~27t get the same mail twice. ");
|
||||
|
||||
ALIGNED(4) const char gWonderMailNotEligibleReceiveText[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"You~27re not eligible to receive this mail.";
|
||||
ALIGNED(4) const char gWonderMailNoRoomText[] =
|
||||
"You~27re not eligible to receive this mail.");
|
||||
|
||||
ALIGNED(4) const char gWonderMailNoRoomText[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"There~27s no room for you to \n"
|
||||
"receive any more mail.#P"
|
||||
"receive any more mail.{EXTRA_MSG}"
|
||||
" You~27d better delete some\n"
|
||||
"mail and make room before you come see\n"
|
||||
"me again about receiving new mail.";
|
||||
ALIGNED(4) const char gWonderMailFriendErrorText[] =
|
||||
"me again about receiving new mail.");
|
||||
|
||||
ALIGNED(4) const char gWonderMailFriendErrorText[] = _(
|
||||
" ...Uh~2c no? Looks like your\n"
|
||||
"friend didn~27t do what needed doing.\n"
|
||||
"You~27d better do this again from the top.";
|
||||
ALIGNED(4) const char gWonderMailPasswordIncorrectText[] =
|
||||
"You~27d better do this again from the top.");
|
||||
|
||||
ALIGNED(4) const char gWonderMailPasswordIncorrectText[] = _(
|
||||
" ...Uh~2c no?\n"
|
||||
"This here password looks wrong.\n"
|
||||
"Do you want to try that again?";
|
||||
ALIGNED(4) const char gWonderMailSOSPasswordIncorrectText[] =
|
||||
"Do you want to try that again?");
|
||||
|
||||
ALIGNED(4) const char gWonderMailSOSPasswordIncorrectText[] = _(
|
||||
" ...Uh~2c no? This password~27s\n"
|
||||
"not for any #CGSOS Mail#R.";
|
||||
ALIGNED(4) const char gWonderMailAOKMailReceivedText[] =
|
||||
": I received the #CGSOS Mail#R.\n"
|
||||
"Your adventure will be saved.";
|
||||
ALIGNED(4) const char mail_filler[] = "pksdir0";
|
||||
"not for any {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.");
|
||||
|
||||
ALIGNED(4) const char gWonderMailAOKMailReceivedText[] = _(
|
||||
": I received the {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.\n"
|
||||
"Your adventure will be saved.");
|
||||
|
||||
ALIGNED(4) const char mail_filler[] = _("pksdir0");
|
||||
|
||||
@@ -89,10 +89,7 @@ struct stack_PartnerSprite
|
||||
};
|
||||
|
||||
extern const char gStarterReveal[];
|
||||
extern const char gPartnerPrompt[];
|
||||
extern const char gPartnerNickPrompt[];
|
||||
extern const char gGenderText[];
|
||||
extern const char gEndIntroText[];
|
||||
extern u32 gGenderMenu;
|
||||
extern const char gUnknown_80F42C0;
|
||||
|
||||
@@ -113,7 +110,24 @@ extern const char gRelaxedDescription[];
|
||||
extern const char gLonelyDescription[];
|
||||
extern const char gQuirkyDescription[];
|
||||
|
||||
const char gStarterReveal[] = _("\n{CENTER_ALIGN}The Pokémon $m0!");
|
||||
const char * const gStarterRevealPtr = gStarterReveal;
|
||||
|
||||
const char gPartnerPrompt[] = _(
|
||||
"{CENTER_ALIGN}This is the final step.{WAIT_PRESS}\n"
|
||||
"{CENTER_ALIGN}Who would you like to have as a partner?{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Choose the Pokémon you want\n"
|
||||
"{CENTER_ALIGN}as your partner from this group.");
|
||||
const char * const gPartnerPromptPtr = gPartnerPrompt;
|
||||
|
||||
const char gPartnerNickPrompt[] = _("{CENTER_ALIGN}What is your partner~27s nickname?");
|
||||
const char * const gPartnerNickPromptPtr = gPartnerNickPrompt;
|
||||
|
||||
ALIGNED(4) const char gEndIntroText[] = _(
|
||||
"{CENTER_ALIGN}OK! We~27re all set!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Let~27s get you into the\n"
|
||||
"{CENTER_ALIGN}world of Pokémon!{EXTRA_MSG}"
|
||||
"{CENTER_ALIGN}Go for it!");
|
||||
const char * const gEndIntroTextPtr = gEndIntroText;
|
||||
|
||||
const char * const gPersonalityTypeDescriptionTable[NUM_PERSONALITIES] =
|
||||
|
||||
@@ -5,67 +5,20 @@
|
||||
#include "constants/species.h"
|
||||
#include "wonder_mail.h"
|
||||
|
||||
struct unkStruct_203B2C4
|
||||
{
|
||||
// size: 0x564
|
||||
u8 unk0;
|
||||
u8 padding[3];
|
||||
u32 unk4; // wonder mail link status??
|
||||
u8 unk8[0x36]; // Probably a buffer for entry
|
||||
u8 unk3E;
|
||||
u32 unk40;
|
||||
u32 linkError; // another link status
|
||||
u8 filler48[0x218 - 0x48];
|
||||
s8 unk218;
|
||||
u32 unk21C;
|
||||
u8 filler220[0x30C - 0x220];
|
||||
u32 unk30C;
|
||||
u8 filler310[0x35C - 0x310];
|
||||
u32 unk35C;
|
||||
u8 filler360[0x3BC - 0x360];
|
||||
u32 unk3BC;
|
||||
u8 filler3C0[0x41C - 0x3C0];
|
||||
u32 unk41C;
|
||||
/* 0x420 */ struct OpenedFile *faceFile;
|
||||
/* 0x424 */ u8 *faceData;
|
||||
u16 unk428;
|
||||
u16 unk42A;
|
||||
u8 unk42C;
|
||||
u8 unk42D;
|
||||
u8 unk42E;
|
||||
u32 unk430;
|
||||
u8 padding3[0x534 - 0x434];
|
||||
s32 unk534;
|
||||
u32 unk538;
|
||||
};
|
||||
extern struct unkStruct_203B2C4 *gUnknown_203B2C4;
|
||||
extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0;
|
||||
extern struct WonderMailStruct_203B2C4 *gUnknown_203B2C4;
|
||||
|
||||
struct unkStruct_8095228
|
||||
{
|
||||
u32 unk0;
|
||||
u8 unk4;
|
||||
u8 padding[0x10 - 0x5];
|
||||
u8 unkArray[0x10];
|
||||
u32 unk10;
|
||||
u8 padding2[0x20 - 0x14];
|
||||
u32 unk20;
|
||||
struct unkStruct_41C unk20;
|
||||
u8 padding3[0x2C - 0x24];
|
||||
s8 unk2C;
|
||||
u8 padding4[0x30 - 0x2D];
|
||||
s8 unk30;
|
||||
};
|
||||
|
||||
// Used as a temp storage when receiveing A-OK Mail
|
||||
struct unkStruct_80293F4
|
||||
{
|
||||
u8 unkArray[0x10];
|
||||
u32 unk10;
|
||||
u8 padding[0x30 - 0x14];
|
||||
};
|
||||
|
||||
|
||||
|
||||
extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0;
|
||||
|
||||
extern u32 sub_80144A4(s32 *r0);
|
||||
extern void sub_8011C28(u32);
|
||||
extern void sub_8095240(u8);
|
||||
@@ -81,7 +34,10 @@ extern u8 sub_80A2824(u32);
|
||||
|
||||
#include "data/wonder_mail_1.h"
|
||||
|
||||
extern u32 gUnknown_80DED44;
|
||||
const struct unkStruct_41C gUnknown_80DED44 =
|
||||
{
|
||||
1, 0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
extern u32 gUnknown_80DDA48;
|
||||
@@ -94,6 +50,11 @@ extern const char gUnknown_80DF0A0[];
|
||||
extern const char gUnknown_80DF0E0[];
|
||||
extern const char gUnknown_80DF138[];
|
||||
extern const char gUnknown_80DF194[];
|
||||
extern u32 gUnknown_80DEE44;
|
||||
extern const char gUnknown_80DF1C0[];
|
||||
extern const char gUnknown_80DF208[];
|
||||
extern const char gUnknown_80DF0A0[];
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
|
||||
extern char gUnknown_202E5D8[0x50];
|
||||
extern char gAvailablePokemonNames[0x50];
|
||||
@@ -103,7 +64,6 @@ extern u32 sub_8095324(u32);
|
||||
extern void sub_80141B4(const char *r0, u32, u32 *r1, u32);
|
||||
extern void nullsub_130(void);
|
||||
extern void sub_8028348(void);
|
||||
extern void sub_800641C(void *r0, u8, u8);
|
||||
extern void ResetUnusedInputStruct();
|
||||
extern void sub_803084C();
|
||||
extern u32 sub_8030768(u32);
|
||||
@@ -196,8 +156,45 @@ extern void sub_801CBB8();
|
||||
extern void sub_80155F0();
|
||||
extern void sub_8031E10();
|
||||
extern void sub_802F2C0();
|
||||
extern u16 gUnknown_80E5990[];
|
||||
extern s32 sub_8001658(u32, u32);
|
||||
extern u32 gUnknown_80E4A40[];
|
||||
extern u8 sub_8099B94();
|
||||
|
||||
extern void sub_8099A5C(u32, u32, u32*);
|
||||
extern void sub_8099AFC(u32, u32, u32*);
|
||||
extern void sub_800641C(void *, u32, u32);
|
||||
extern void ResetUnusedInputStruct();
|
||||
extern void sub_8099690(u32);
|
||||
extern void sub_80141B4(const char *r0, u32, u32 *r1, u32);
|
||||
|
||||
|
||||
extern u32 sub_80144A4(s32 *r0);
|
||||
extern u32 sub_8031DCC(void);
|
||||
extern void sub_8031E00(void);
|
||||
extern void sub_8031E10(void);
|
||||
extern void sub_8030D40(u8, u32);
|
||||
extern u32 sub_8030768(u32);
|
||||
extern void sub_803084C(void);
|
||||
extern s8 sub_80307EC(void);
|
||||
extern void sub_8006518(u32 *);
|
||||
extern u8 sub_8012FD8(u32 *r0);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern void sub_8035CC0(u32 *, u32);
|
||||
extern void sub_8030810(u32);
|
||||
extern u32 sub_8030DA0();
|
||||
extern void sub_8030DE4();
|
||||
extern void sub_803092C();
|
||||
extern void sub_8035CF4(u32 *, u32, u32);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern void sub_801CBB8();
|
||||
extern void sub_801B3C0(struct unkStruct_41C *);
|
||||
extern u8 sub_801CB24();
|
||||
extern void sub_801B450();
|
||||
extern u32 sub_801B410();
|
||||
extern void sub_801CB5C(u32);
|
||||
extern void sub_801CCD8();
|
||||
extern void sub_8011C28(u32);
|
||||
|
||||
|
||||
void sub_8028B04(u32 r0)
|
||||
@@ -267,7 +264,7 @@ void sub_8028BF0(void)
|
||||
return;
|
||||
}
|
||||
gUnknown_203B2C0->unk40 = 8;
|
||||
gUnknown_203B2C0->unk544 = 0xffff;
|
||||
gUnknown_203B2C0->unk544 = -1;
|
||||
switch(temp)
|
||||
{
|
||||
case 0:
|
||||
@@ -606,7 +603,7 @@ void sub_8028FDC(void)
|
||||
{
|
||||
case 8:
|
||||
return_var = sub_8095228(gUnknown_203B2C0->unk218);
|
||||
if(sub_80A2824(return_var->unk4) == 0)
|
||||
if(sub_80A2824(return_var->unkArray[4]) == 0)
|
||||
{
|
||||
sub_8028B04(0x1C);
|
||||
}
|
||||
@@ -883,56 +880,54 @@ void sub_80293D8(void)
|
||||
sub_8028B04(0x27);
|
||||
}
|
||||
|
||||
// TODO: pls someone fix this madness of a match - Sese
|
||||
// This is definitely a fake match with the casting and switch could probably be cleaned up too..
|
||||
//
|
||||
// TODO: pls look into this later - Sese
|
||||
void sub_80293F4(void)
|
||||
{
|
||||
u32 return_var;
|
||||
struct unkStruct_80293F4 temp;
|
||||
struct unkStruct_8095228 temp;
|
||||
|
||||
return_var = sub_80154F0();
|
||||
MemoryFill8((u8 *)temp.unkArray, 0, 0x30);
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_8095228));
|
||||
switch(return_var)
|
||||
{
|
||||
case 3:
|
||||
switch(sub_8039068(0x1C, (gUnknown_203B2C0->unk8), temp.unkArray) - 7)
|
||||
switch(sub_8039068(0x1C, (gUnknown_203B2C0->unk8), temp.unkArray))
|
||||
{
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
break;
|
||||
case 10:
|
||||
sub_8014248(gWonderMailPasswordIncorrectText, 0, 8, &gUnknown_80DDA48, 0, 4, 0, (u32 *)&gUnknown_203B2C0->faceFile, 0xC);
|
||||
sub_8028B04(0x28);
|
||||
break;
|
||||
case 11:
|
||||
sub_80141B4(gWonderMailSOSPasswordIncorrectText, 0, (u32 *)&gUnknown_203B2C0->faceFile, 0x10d);
|
||||
sub_8028B04(7);
|
||||
break;
|
||||
case 0:
|
||||
sub_80141B4(gWonderMailDuplicateText, 0, (u32 *)&gUnknown_203B2C0->faceFile, 0x10d);
|
||||
sub_8028B04(7);
|
||||
break;
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
break;
|
||||
case 15:
|
||||
case 16:
|
||||
break;
|
||||
case 17:
|
||||
sub_8014248(gWonderMailPasswordIncorrectText, 0, 8, &gUnknown_80DDA48, 0, 4, 0, (u32 *)&gUnknown_203B2C0->faceFile, 0xC);
|
||||
sub_8028B04(40);
|
||||
break;
|
||||
case 18:
|
||||
sub_80141B4(gWonderMailSOSPasswordIncorrectText, 0, (u32 *)&gUnknown_203B2C0->faceFile, 0x10d);
|
||||
sub_8028B04(7);
|
||||
break;
|
||||
case 7:
|
||||
sub_80141B4(gWonderMailDuplicateText, 0, (u32 *)&gUnknown_203B2C0->faceFile, 0x10d);
|
||||
sub_8028B04(7);
|
||||
break;
|
||||
case 19:
|
||||
case 20:
|
||||
case 21:
|
||||
break;
|
||||
case 22:
|
||||
sub_8095274(temp.unk10);
|
||||
temp.unkArray[0] = 2; // Some sort of Ack?
|
||||
sub_80951BC(temp.unkArray);
|
||||
sub_80141B4(gWonderMailAOKMailReceivedText, 0, (u32 *)&gUnknown_203B2C0->faceFile, 0x101);
|
||||
sub_8028B04(0x23);
|
||||
sub_8028B04(35);
|
||||
break;
|
||||
case 16:
|
||||
case 17:
|
||||
case 23:
|
||||
case 24:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1113,7 +1108,7 @@ void sub_80297D4(void)
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
sub_8028B04(1);
|
||||
gUnknown_203B2C0->unk544 = 0xffff;
|
||||
gUnknown_203B2C0->unk544 = -1;
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B2C0->unk544 = sub_8023B44();
|
||||
@@ -1349,8 +1344,8 @@ u32 sub_8029B50(void)
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
gUnknown_203B2C4 = MemoryAlloc(0x564, 8);
|
||||
MemoryFill8((u8 *)gUnknown_203B2C4, 0, 0x564);
|
||||
gUnknown_203B2C4 = MemoryAlloc(sizeof(struct WonderMailStruct_203B2C4), 8);
|
||||
MemoryFill8((u8 *)gUnknown_203B2C4, 0, sizeof(struct WonderMailStruct_203B2C4));
|
||||
|
||||
sub_808D8E0(gUnknown_202E5D8, SPECIES_PELIPPER);
|
||||
monName = GetMonSpecies(SPECIES_PELIPPER);
|
||||
@@ -1588,3 +1583,442 @@ void PrintWonderMailLinkError(u32 param_1)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8029F98(void)
|
||||
{
|
||||
s32 auStack20;
|
||||
|
||||
if (sub_80144A4(&auStack20) != 0) {
|
||||
return;
|
||||
}
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C4->unk41C, 0, 4);
|
||||
gUnknown_203B2C4->unk41C.unk41E = 0;
|
||||
gUnknown_203B2C4->unk41C.unk41D = 1;
|
||||
gUnknown_203B2C4->unk41C.unk41C = 0;
|
||||
if (gUnknown_203B2C4->linkError == 0) {
|
||||
switch(gUnknown_203B2C4->unk40)
|
||||
{
|
||||
case 6:
|
||||
switch(gUnknown_203B2C4->unk534)
|
||||
{
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
// "Thank-You Mail has been sent"
|
||||
sub_80141B4(gUnknown_80DF194, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
|
||||
break;
|
||||
case 4:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
sub_802B2BC(0xD);
|
||||
break;
|
||||
case 7:
|
||||
sub_802B2BC(0x21);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PrintWonderMailLinkError(gUnknown_203B2C4->linkError);
|
||||
sub_802B2BC(0x1F);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A050(void)
|
||||
{
|
||||
switch(sub_8031DCC())
|
||||
{
|
||||
|
||||
case 3:
|
||||
case 2:
|
||||
sub_8031E10();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
|
||||
sub_802B2BC(0x1B);
|
||||
break;
|
||||
case 1:
|
||||
sub_8031E00();
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A090(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
switch(temp)
|
||||
{
|
||||
case 7:
|
||||
sub_802B2BC(6);
|
||||
break;
|
||||
case 8:
|
||||
case 0:
|
||||
sub_802B2BC(1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A0C8(void)
|
||||
{
|
||||
switch(sub_8030768(1))
|
||||
{
|
||||
case 2:
|
||||
sub_803084C();
|
||||
sub_802B2BC(1);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B2C4->unk218 = sub_80307EC();
|
||||
sub_802B2BC(0x11);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2C4->unk4 = 0x10;
|
||||
gUnknown_203B2C4->unk218 = sub_80307EC();
|
||||
sub_8006518(&gUnknown_203B2C4->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
sub_8030D40(gUnknown_203B2C4->unk218,0);
|
||||
sub_802B2BC(0x12);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A158(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x10);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A174(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
temp = -1;
|
||||
sub_8030768(0);
|
||||
if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
|
||||
sub_8013114(&gUnknown_203B2C4->unk30C, &temp);
|
||||
}
|
||||
|
||||
switch(temp)
|
||||
{
|
||||
case 0xB:
|
||||
sub_803084C();
|
||||
sub_802B2BC(0xe);
|
||||
break;
|
||||
case 0xC:
|
||||
gUnknown_203B2C4->unk4 = 0x2b;
|
||||
sub_8006518(&gUnknown_203B2C4->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
sub_8030D40(gUnknown_203B2C4->unk218,0);
|
||||
sub_802B2BC(0x12);
|
||||
break;
|
||||
case 0:
|
||||
case 0xD:
|
||||
sub_8035CC0(&gUnknown_203B2C4->unk35C,2);
|
||||
sub_8030810(1);
|
||||
sub_802B2BC(0x10);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A230(void)
|
||||
{
|
||||
switch(sub_8030DA0())
|
||||
{
|
||||
case 2:
|
||||
case 3:
|
||||
sub_8030DE4();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
|
||||
sub_803092C();
|
||||
if (gUnknown_203B2C4->unk4 == 0x2b) {
|
||||
sub_8035CF4(&gUnknown_203B2C4->unk21C, 3, 1);
|
||||
sub_802B2BC(0x11);
|
||||
}
|
||||
else {
|
||||
sub_802B2BC(gUnknown_203B2C4->unk4);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A28C(void)
|
||||
{
|
||||
|
||||
gUnknown_203B2C4->unk41C.unk41E = 0;
|
||||
gUnknown_203B2C4->unk41C.unk41D = 1;
|
||||
gUnknown_203B2C4->unk41C.unk41C = 0;
|
||||
|
||||
switch(sub_801CA08(1))
|
||||
{
|
||||
case 2:
|
||||
sub_801CBB8();
|
||||
sub_802B2BC(1);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B2C4->unk41C.unk41E = sub_801CB24();
|
||||
sub_802B2BC(0x14);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2C4->unk4 = 0x13;
|
||||
gUnknown_203B2C4->unk41C.unk41E = sub_801CB24();
|
||||
sub_8006518(&gUnknown_203B2C4->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
sub_801B3C0(&gUnknown_203B2C4->unk41C);
|
||||
sub_802B2BC(0x15);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A33C(void)
|
||||
{
|
||||
switch(sub_801B410())
|
||||
{
|
||||
case 2:
|
||||
case 3:
|
||||
sub_801B450();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B2C4->unk3BC,1,1);
|
||||
sub_801CB5C(1);
|
||||
if (gUnknown_203B2C4->unk4 == 0x2b) {
|
||||
sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1);
|
||||
sub_802B2BC(0x14);
|
||||
}
|
||||
else {
|
||||
sub_802B2BC(gUnknown_203B2C4->unk4);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A39C(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
temp = -1;
|
||||
sub_801CA08(0);
|
||||
if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
|
||||
sub_8013114(&gUnknown_203B2C4->unk30C, &temp);
|
||||
}
|
||||
|
||||
switch(temp)
|
||||
{
|
||||
case 0xB:
|
||||
sub_801CBB8();
|
||||
sub_802B2BC(0xC);
|
||||
break;
|
||||
case 0xC:
|
||||
gUnknown_203B2C4->unk4 = 0x2b;
|
||||
sub_8006518(&gUnknown_203B2C4->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
sub_801B3C0(&gUnknown_203B2C4->unk41C);
|
||||
sub_802B2BC(0x15);
|
||||
break;
|
||||
case 0:
|
||||
case 0xD:
|
||||
sub_8035CC0(&gUnknown_203B2C4->unk35C, 3);
|
||||
sub_801CCD8();
|
||||
sub_802B2BC(0x13);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A458(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0xD);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A474(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x3);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A490(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x3);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A4AC(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x18);
|
||||
sub_8011C28(1);
|
||||
sub_8012574(0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A4D4(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x1A);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A4F0(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x27);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A50C(void)
|
||||
{
|
||||
u8 uVar1;
|
||||
struct unkStruct_8095228 *puVar5;
|
||||
u32 return_var;
|
||||
struct unkStruct_8095228 temp;
|
||||
|
||||
return_var = sub_80154F0();
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_8095228));
|
||||
switch(return_var)
|
||||
{
|
||||
case 3:
|
||||
switch(sub_8039068(0x20,gUnknown_203B2C4->unk8,temp.unkArray))
|
||||
{
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 0xA:
|
||||
case 0xD:
|
||||
case 0xE:
|
||||
case 0xF:
|
||||
case 0x10:
|
||||
break;
|
||||
case 0x11:
|
||||
// Wrong password
|
||||
sub_8014248(gUnknown_80DF1C0,0,7,&gUnknown_80DEE44,0,4,0,(u32 *)&gUnknown_203B2C4->faceFile,0xc);
|
||||
sub_802B2BC(0x28);
|
||||
break;
|
||||
case 0x14:
|
||||
// Incorrect password
|
||||
sub_80141B4(gUnknown_80DF208,0,(u32 *)&gUnknown_203B2C4->faceFile,0x10d);
|
||||
sub_802B2BC(0x1f);
|
||||
break;
|
||||
case 0xB:
|
||||
// Not eligible to receive
|
||||
sub_80141B4(gUnknown_80DF0A0,0,(u32 *)&gUnknown_203B2C4->faceFile,0x10d);
|
||||
sub_802B2BC(0x1f);
|
||||
break;
|
||||
case 0x18:
|
||||
// I think this is when password works successfully
|
||||
uVar1 = sub_809539C(4,temp.unk10);
|
||||
puVar5 = sub_8095228(uVar1);
|
||||
*puVar5 = temp;
|
||||
puVar5->unkArray[0] = 6;
|
||||
gUnknown_203B2C4->unk430 = temp.unk10;
|
||||
sub_802B2BC(0x21);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
sub_80155F0();
|
||||
break;
|
||||
case 2:
|
||||
sub_80155F0();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
|
||||
sub_802B2BC(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A68C(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0) {
|
||||
if (sub_8012600() == 0) {
|
||||
sub_8012750();
|
||||
sub_802B2BC(0xd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A6B4(void)
|
||||
{
|
||||
int iVar2;
|
||||
u32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0) {
|
||||
if (sub_8012600() == 0) {
|
||||
iVar2 = sub_8012744();
|
||||
sub_8012750();
|
||||
if (iVar2 == 0) {
|
||||
sub_802B2BC(0x20);
|
||||
}
|
||||
else {
|
||||
sub_802B2BC(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A6F0(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0) {
|
||||
sub_802B2BC(0x18);
|
||||
sub_8011C28(1);
|
||||
sub_8012574(0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A718(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0) {
|
||||
sub_802B2BC(0x25);
|
||||
sub_8011C28(1);
|
||||
sub_8012574(0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A740(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0) {
|
||||
sub_802B2BC(0x1e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
#include "global.h"
|
||||
#include "save.h"
|
||||
|
||||
#define EXIT_TO_MAIN_MENU 5
|
||||
#define PASSWORD_SUCCESS 13
|
||||
#define PASSWORD_INVALID 19
|
||||
#define PASSWORD_ENTRY_SCREEN 18
|
||||
|
||||
struct unkWonderMailData
|
||||
{
|
||||
u8 unk0[20];
|
||||
@@ -10,7 +15,7 @@ struct unkStruct_203B3E8
|
||||
{
|
||||
// size: 0x49C
|
||||
u8 unk0; // state variable?
|
||||
u8 unk1[0x36]; // Wonder Mail Buffer...
|
||||
u8 PasswordEntryBuffer[0x36]; // Wonder Mail Buffer...
|
||||
struct unkWonderMailData unk38; // 0x30 - 0x14
|
||||
u8 unk38_1[0x30 - 20]; // TODO: split for the ldm/stm stuff (fix dumb hack)
|
||||
u8 fill68[0x1EC - 0x68];
|
||||
@@ -94,7 +99,7 @@ bool8 CreateWonderMailMenu(void)
|
||||
MemoryFill8((u8 *)gUnknown_203B3E8, 0, sizeof(struct unkStruct_203B3E8));
|
||||
|
||||
for(iVar2 = 0; iVar2 < 0x36; iVar2++){
|
||||
gUnknown_203B3E8->unk1[iVar2] = 0;
|
||||
gUnknown_203B3E8->PasswordEntryBuffer[iVar2] = 0;
|
||||
}
|
||||
|
||||
gUnknown_203B3E8->unk490 = 3;
|
||||
@@ -111,14 +116,14 @@ u8 UpdateWonderMailMenu(void)
|
||||
case 4:
|
||||
sub_8039A18();
|
||||
break;
|
||||
case 5: // When you exit out of the menu
|
||||
case EXIT_TO_MAIN_MENU: // When you exit out of the menu
|
||||
return 3;
|
||||
case 8:
|
||||
sub_8039AA8();
|
||||
break;
|
||||
case 11: // "Please enter the Wonder Mail Password" Screen
|
||||
case 11:
|
||||
break;
|
||||
case 12: // Password Entry
|
||||
case 12:
|
||||
sub_8039B14();
|
||||
break;
|
||||
case 6:
|
||||
@@ -130,28 +135,28 @@ u8 UpdateWonderMailMenu(void)
|
||||
case 7:
|
||||
sub_8039D88();
|
||||
break;
|
||||
case 13:
|
||||
case PASSWORD_SUCCESS:
|
||||
sub_8039D28();
|
||||
break;
|
||||
case 14:
|
||||
sub_8039D68();
|
||||
break;
|
||||
case 15:
|
||||
case 15: // Saving adventure
|
||||
sub_8039DA4();
|
||||
break;
|
||||
case 16:
|
||||
case 16: // Display "Recieved Wonder Mail was added" and go back to main menu
|
||||
sub_8039DCC();
|
||||
break;
|
||||
case 10:
|
||||
sub_8039B3C();
|
||||
break;
|
||||
case 17:
|
||||
case 17: // "Please enter the Wonder Mail Password" Screen
|
||||
sub_8039D0C();
|
||||
break;
|
||||
case 18:
|
||||
case PASSWORD_ENTRY_SCREEN: // Password Entry
|
||||
sub_8039C60();
|
||||
break;
|
||||
case 19:
|
||||
case PASSWORD_INVALID:
|
||||
sub_8039DE8();
|
||||
}
|
||||
return 0;
|
||||
@@ -189,7 +194,7 @@ void sub_8039A18(void)
|
||||
break;
|
||||
case 0:
|
||||
case 8:
|
||||
sub_803A1C0(5);
|
||||
sub_803A1C0(EXIT_TO_MAIN_MENU);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -255,7 +260,7 @@ void sub_8039B58(void)
|
||||
sub_803A1C0(7);
|
||||
break;
|
||||
case 10:
|
||||
sub_803A1C0(13);
|
||||
sub_803A1C0(PASSWORD_SUCCESS);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -306,7 +311,7 @@ void sub_8039BAC(u32 arg)
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case PASSWORD_SUCCESS:
|
||||
default:
|
||||
// "Communication Error"
|
||||
sub_80141B4(&gUnknown_80E7914, 0, 0, 0x101);
|
||||
@@ -326,23 +331,25 @@ void sub_8039C60(void)
|
||||
sub_80155F0();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B3E8->unk1EC,1,1);
|
||||
if ( !sub_803D358(gUnknown_203B3E8->unk1,&gUnknown_203B3E8->unk38) || !sub_80959C0(&gUnknown_203B3E8->unk38) )
|
||||
if ( !sub_803D358(gUnknown_203B3E8->PasswordEntryBuffer, &gUnknown_203B3E8->unk38) || !sub_80959C0(&gUnknown_203B3E8->unk38) )
|
||||
{
|
||||
sub_803A1C0(19);
|
||||
// Invalid password
|
||||
sub_803A1C0(PASSWORD_INVALID);
|
||||
}
|
||||
else {
|
||||
// Copying some data but don't know what or structure
|
||||
// Successful password
|
||||
// Copy the decoded data to another buffer?
|
||||
gUnknown_203B3E8->unk3C0 = gUnknown_203B3E8->unk38;
|
||||
|
||||
gUnknown_203B3E8->unk498 = 1;
|
||||
sub_803A1C0(13);
|
||||
sub_803A1C0(PASSWORD_SUCCESS);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sub_80155F0();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B3E8->unk1EC,1,1);
|
||||
sub_803A1C0(5);
|
||||
sub_803A1C0(EXIT_TO_MAIN_MENU);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -352,7 +359,7 @@ void sub_8039D0C(void)
|
||||
int iVar2;
|
||||
if(sub_80144A4(&iVar2) == 0)
|
||||
{
|
||||
sub_803A1C0(0x12);
|
||||
sub_803A1C0(PASSWORD_ENTRY_SCREEN);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -407,22 +414,24 @@ void sub_8039DCC(void)
|
||||
int iVar2;
|
||||
if(sub_80144A4(&iVar2) == 0)
|
||||
{
|
||||
sub_803A1C0(5);
|
||||
sub_803A1C0(EXIT_TO_MAIN_MENU);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8039DE8(void)
|
||||
{
|
||||
int iVar2;
|
||||
|
||||
// Prompt to re-enter password
|
||||
if(sub_80144A4(&iVar2) == 0)
|
||||
{
|
||||
switch(iVar2)
|
||||
{
|
||||
case 6:
|
||||
case 6: // Yes
|
||||
sub_803A1C0(0x11);
|
||||
break;
|
||||
case 0:
|
||||
sub_803A1C0(5);
|
||||
case 0: // No
|
||||
sub_803A1C0(EXIT_TO_MAIN_MENU);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,400 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "file_system.h"
|
||||
|
||||
struct unkStruct_203B2C4
|
||||
{
|
||||
// size: 0x564
|
||||
u8 unk0;
|
||||
u8 padding[3];
|
||||
u32 unk4; // wonder mail link status??
|
||||
u8 unk8[0x36];
|
||||
u8 unk3E;
|
||||
u32 unk40;
|
||||
u32 linkError; // another link status
|
||||
u8 filler48[0x218 - 0x48];
|
||||
s8 unk218;
|
||||
u32 unk21C;
|
||||
u8 filler220[0x30C - 0x220];
|
||||
u32 unk30C;
|
||||
u8 filler310[0x35C - 0x310];
|
||||
u32 unk35C;
|
||||
u8 filler360[0x3BC - 0x360];
|
||||
u32 unk3BC;
|
||||
u8 filler3C0[0x41C - 0x3C0];
|
||||
u8 unk41C[4]; // TODO: unify this with wonder_mail.c
|
||||
struct OpenedFile *faceFile;
|
||||
u8 *faceData;
|
||||
u16 unk428;
|
||||
u16 unk42A;
|
||||
u8 unk42C;
|
||||
u8 unk42D;
|
||||
u8 unk42E;
|
||||
u32 unk430;
|
||||
u8 filler434[0x534 - 0x434];
|
||||
s32 unk534;
|
||||
u32 unk538;
|
||||
};
|
||||
extern struct unkStruct_203B2C4 *gUnknown_203B2C4;
|
||||
|
||||
|
||||
extern u16 gUnknown_80E5990[];
|
||||
extern s32 sub_8001658(u32, u32);
|
||||
extern u32 gUnknown_80E4A40[];
|
||||
extern u8 sub_8099B94();
|
||||
|
||||
extern void sub_8099A5C(u32, u32, u32*);
|
||||
extern void sub_8099AFC(u32, u32, u32*);
|
||||
extern void sub_800641C(void *, u32, u32);
|
||||
extern void ResetUnusedInputStruct();
|
||||
extern void sub_8099690(u32);
|
||||
extern void sub_80141B4(u32 *r0, u32, u32 *r1, u32);
|
||||
|
||||
|
||||
extern void MemoryFill8(u8 *dest, u8 value, s32 size);
|
||||
extern u32 gUnknown_80DF194;
|
||||
extern void PrintWonderMailLinkError(u32 param_1);
|
||||
|
||||
extern void sub_802B2BC(u32);
|
||||
extern u32 sub_80144A4(s32 *r0);
|
||||
extern u32 sub_8031DCC(void);
|
||||
extern void sub_8031E00(void);
|
||||
extern void sub_8031E10(void);
|
||||
extern void sub_8030D40(u8, u32);
|
||||
extern u32 sub_8030768(u32);
|
||||
extern void sub_803084C(void);
|
||||
extern s8 sub_80307EC(void);
|
||||
extern void sub_8006518(u32 *);
|
||||
extern u8 sub_8012FD8(u32 *r0);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern void sub_8035CC0(u32 *, u32);
|
||||
extern void sub_8030810(u32);
|
||||
extern u32 sub_8030DA0();
|
||||
extern void sub_8030DE4();
|
||||
extern void sub_803092C();
|
||||
extern void sub_8035CF4(u32 *, u32, u32);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern void sub_801CBB8();
|
||||
extern void sub_801B3C0(u8 *);
|
||||
extern u8 sub_801CB24();
|
||||
extern void sub_801B450();
|
||||
extern u32 sub_801B410();
|
||||
extern void sub_801CB5C(u32);
|
||||
extern void sub_801CCD8();
|
||||
extern void sub_8011C28(u32);
|
||||
extern void sub_8012574(u32);
|
||||
|
||||
void sub_8029F98(void)
|
||||
{
|
||||
s32 auStack20;
|
||||
|
||||
if (sub_80144A4(&auStack20) != 0) {
|
||||
return;
|
||||
}
|
||||
MemoryFill8(gUnknown_203B2C4->unk41C, 0, 4);
|
||||
gUnknown_203B2C4->unk41C[2] = 0;
|
||||
gUnknown_203B2C4->unk41C[1] = 1;
|
||||
gUnknown_203B2C4->unk41C[0] = 0;
|
||||
if (gUnknown_203B2C4->linkError == 0) {
|
||||
switch(gUnknown_203B2C4->unk40)
|
||||
{
|
||||
case 6:
|
||||
switch(gUnknown_203B2C4->unk534)
|
||||
{
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
// "Thank-You Mail has been sent"
|
||||
sub_80141B4(&gUnknown_80DF194, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
|
||||
break;
|
||||
case 4:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
sub_802B2BC(0xD);
|
||||
break;
|
||||
case 7:
|
||||
sub_802B2BC(0x21);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PrintWonderMailLinkError(gUnknown_203B2C4->linkError);
|
||||
sub_802B2BC(0x1F);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A050(void)
|
||||
{
|
||||
switch(sub_8031DCC())
|
||||
{
|
||||
|
||||
case 3:
|
||||
case 2:
|
||||
sub_8031E10();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
|
||||
sub_802B2BC(0x1B);
|
||||
break;
|
||||
case 1:
|
||||
sub_8031E00();
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A090(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
switch(temp)
|
||||
{
|
||||
case 7:
|
||||
sub_802B2BC(6);
|
||||
break;
|
||||
case 8:
|
||||
case 0:
|
||||
sub_802B2BC(1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A0C8(void)
|
||||
{
|
||||
switch(sub_8030768(1))
|
||||
{
|
||||
case 2:
|
||||
sub_803084C();
|
||||
sub_802B2BC(1);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B2C4->unk218 = sub_80307EC();
|
||||
sub_802B2BC(0x11);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2C4->unk4 = 0x10;
|
||||
gUnknown_203B2C4->unk218 = sub_80307EC();
|
||||
sub_8006518(&gUnknown_203B2C4->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
sub_8030D40(gUnknown_203B2C4->unk218,0);
|
||||
sub_802B2BC(0x12);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A158(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x10);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A174(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
temp = -1;
|
||||
sub_8030768(0);
|
||||
if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
|
||||
sub_8013114(&gUnknown_203B2C4->unk30C, &temp);
|
||||
}
|
||||
|
||||
switch(temp)
|
||||
{
|
||||
case 0xB:
|
||||
sub_803084C();
|
||||
sub_802B2BC(0xe);
|
||||
break;
|
||||
case 0xC:
|
||||
gUnknown_203B2C4->unk4 = 0x2b;
|
||||
sub_8006518(&gUnknown_203B2C4->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
sub_8030D40(gUnknown_203B2C4->unk218,0);
|
||||
sub_802B2BC(0x12);
|
||||
break;
|
||||
case 0:
|
||||
case 0xD:
|
||||
sub_8035CC0(&gUnknown_203B2C4->unk35C,2);
|
||||
sub_8030810(1);
|
||||
sub_802B2BC(0x10);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A230(void)
|
||||
{
|
||||
switch(sub_8030DA0())
|
||||
{
|
||||
case 2:
|
||||
case 3:
|
||||
sub_8030DE4();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
|
||||
sub_803092C();
|
||||
if (gUnknown_203B2C4->unk4 == 0x2b) {
|
||||
sub_8035CF4(&gUnknown_203B2C4->unk21C, 3, 1);
|
||||
sub_802B2BC(0x11);
|
||||
}
|
||||
else {
|
||||
sub_802B2BC(gUnknown_203B2C4->unk4);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A28C(void)
|
||||
{
|
||||
|
||||
gUnknown_203B2C4->unk41C[2] = 0;
|
||||
gUnknown_203B2C4->unk41C[1] = 1;
|
||||
gUnknown_203B2C4->unk41C[0] = 0;
|
||||
|
||||
switch(sub_801CA08(1))
|
||||
{
|
||||
case 2:
|
||||
sub_801CBB8();
|
||||
sub_802B2BC(1);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B2C4->unk41C[2] = sub_801CB24();
|
||||
sub_802B2BC(0x14);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2C4->unk4 = 0x13;
|
||||
gUnknown_203B2C4->unk41C[2] = sub_801CB24();
|
||||
sub_8006518(&gUnknown_203B2C4->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
sub_801B3C0(gUnknown_203B2C4->unk41C);
|
||||
sub_802B2BC(0x15);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A33C(void)
|
||||
{
|
||||
switch(sub_801B410())
|
||||
{
|
||||
case 2:
|
||||
case 3:
|
||||
sub_801B450();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(&gUnknown_203B2C4->unk3BC,1,1);
|
||||
sub_801CB5C(1);
|
||||
if (gUnknown_203B2C4->unk4 == 0x2b) {
|
||||
sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1);
|
||||
sub_802B2BC(0x14);
|
||||
}
|
||||
else {
|
||||
sub_802B2BC(gUnknown_203B2C4->unk4);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A39C(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
temp = -1;
|
||||
sub_801CA08(0);
|
||||
if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
|
||||
sub_8013114(&gUnknown_203B2C4->unk30C, &temp);
|
||||
}
|
||||
|
||||
switch(temp)
|
||||
{
|
||||
case 0xB:
|
||||
sub_801CBB8();
|
||||
sub_802B2BC(0xC);
|
||||
break;
|
||||
case 0xC:
|
||||
gUnknown_203B2C4->unk4 = 0x2b;
|
||||
sub_8006518(&gUnknown_203B2C4->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
sub_801B3C0(gUnknown_203B2C4->unk41C);
|
||||
sub_802B2BC(0x15);
|
||||
break;
|
||||
case 0:
|
||||
case 0xD:
|
||||
sub_8035CC0(&gUnknown_203B2C4->unk35C, 3);
|
||||
sub_801CCD8();
|
||||
sub_802B2BC(0x13);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A458(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0xD);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A474(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x3);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A490(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x3);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A4AC(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x18);
|
||||
sub_8011C28(1);
|
||||
sub_8012574(0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A4D4(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x1A);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802A4F0(void)
|
||||
{
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_802B2BC(0x27);
|
||||
}
|
||||
}
|
||||
@@ -92,7 +92,7 @@ u32 sub_8027F88(void)
|
||||
gUnknown_203B2C0->unk42E = 0;
|
||||
gUnknown_203B2C0->unk428 = 2;
|
||||
gUnknown_203B2C0->unk42A = 8;
|
||||
for(counter = 0; counter < 0x36; counter++){
|
||||
for(counter = 0; counter < 0x36; counter++){
|
||||
gUnknown_203B2C0->unk8[counter] = 0;
|
||||
}
|
||||
gUnknown_203B2C0->unk0 = 0x3D;
|
||||
|
||||
@@ -234,7 +234,7 @@ void CFile::TryConvertString()
|
||||
if (noTerminator)
|
||||
std::printf(" }");
|
||||
else
|
||||
std::printf("0xFF }");
|
||||
std::printf("0x00 }");
|
||||
}
|
||||
|
||||
bool CFile::CheckIdentifier(const std::string& ident)
|
||||
|
||||
Reference in New Issue
Block a user