Merge pull request #67 from pret/help_system

Help system
This commit is contained in:
PikalaxALT
2019-06-14 09:05:18 -04:00
committed by GitHub
20 changed files with 1403 additions and 2891 deletions
-2254
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -73,7 +73,7 @@ _080F516C:
ldr r1, _080F5188 @ =0x0000ffff
movs r2, 0x80
bl m4aMPlayVolumeControl
bl sub_813BB38
bl SaveCallbacks
ldr r1, _080F518C @ =gUnknown_203AB50
movs r0, 0x1
strb r0, [r1]
@@ -83,9 +83,9 @@ _080F5184: .4byte gMPlayInfo_BGM
_080F5188: .4byte 0x0000ffff
_080F518C: .4byte gUnknown_203AB50
_080F5190:
bl sub_813BBAC
bl sub_813BB74
bl sub_813BBC8
bl SaveMapTiles
bl SaveMapGPURegs
bl SaveMapTextColors
bl sub_80F52EC
movs r0, 0
movs r1, 0
@@ -197,7 +197,7 @@ _080F5298:
movs r0, 0
movs r1, 0
bl SetGpuReg
bl sub_813BC2C
bl RestoreMapTiles
bl sub_80F52EC
ldr r1, _080F52B0 @ =gUnknown_203AB50
movs r0, 0x8
@@ -211,9 +211,9 @@ _080F52B4:
movs r2, 0x80
lsls r2, 1
bl m4aMPlayVolumeControl
bl sub_813BC48
bl sub_813BBF4
bl sub_813BBDC
bl RestoreMapTextColors
bl RestoreGPURegs
bl RestoreCallbacks
ldr r0, _080F52E4 @ =gUnknown_3005430
movs r1, 0
str r1, [r0]
+42 -28
View File
@@ -1912,77 +1912,91 @@ gUnknown_841B779:: @ 841B779
.include "data/text/teachy_tv.inc"
gUnknown_841CB3C:: @ 841CB3C
.incbin "baserom.gba", 0x41CB3C, 0x5
gString_Bill:: @ 841CB3C
.string "BILL$"
gUnknown_841CB41:: @ 841CB41
.incbin "baserom.gba", 0x41CB41, 0x8
gString_Someone:: @ 841CB41
.string "SOMEONE$"
gUnknown_841CB49:: @ 841CB49
.incbin "baserom.gba", 0x41CB49, 0x5
gString_Help:: @ 841CB49
.string "HELP$"
gUnknown_841CB4E:: @ 841CB4E
.incbin "baserom.gba", 0x41CB4E, 0x4
gString_HelpSystem_ClearTo8:: @ 841CB4E
.string "{CLEAR_TO 8}$"
gUnknown_841CB52:: @ 841CB52
.incbin "baserom.gba", 0x41CB52, 0x8
.string " points$"
gUnknown_841CB5A:: @ 841CB5A
.incbin "baserom.gba", 0x41CB5A, 0x9
.string " time(s)$"
gUnknown_841CB63:: @ 841CB63
.incbin "baserom.gba", 0x41CB63, 0x46
.string "POKéMON JUMP RECORDS$"
.string "Jumps in a row:$"
.string "Best score:$"
.string "EXCELLENTS in a row:$"
gUnknown_841CBA9:: @ 841CBA9
.incbin "baserom.gba", 0x41CBA9, 0x21
.string "Awesome score! You've\n"
.string "won {UNKNOWN_F7 01} {UNKNOWN_F7 00}!$"
gUnknown_841CBCA:: @ 841CBCA
.incbin "baserom.gba", 0x41CBCA, 0x1A
.string "There's no room left now.$"
gUnknown_841CBE4:: @ 841CBE4
.incbin "baserom.gba", 0x41CBE4, 0x19
.string "You can't hold any more!$"
gUnknown_841CBFD:: @ 841CBFD
.incbin "baserom.gba", 0x41CBFD, 0x14
.string "Want to play again?$"
gUnknown_841CC11:: @ 841CC11
.incbin "baserom.gba", 0x41CC11, 0x31
.string "Somebody dropped out.\nThe link will be canceled.$"
gUnknown_841CC42:: @ 841CC42
.incbin "baserom.gba", 0x41CC42, 0x22
.string "SAVING\nDON'T TURN OFF THE POWER.$"
gUnknown_841CC64:: @ 841CC64
.incbin "baserom.gba", 0x41CC64, 0x9F
.string "Communication standby$"
.string "SAVING...\nDON'T TURN OFF THE POWER.$"
.string "DODRIO BERRY-PICKING RECORDS$"
.string "BERRIES picked:$"
.string "Best score:$"
.string "BERRIES picked in a row with\nfive players:$"
gUnknown_841CD03:: @ 841CD03
.incbin "baserom.gba", 0x41CD03, 0x22
.string "Announcing BERRY-PICKING results!$"
gUnknown_841CD25:: @ 841CD25
.incbin "baserom.gba", 0x41CD25, 0x1E
.string "10P 30P 50P {EXTRA 0xDD}50P$"
gUnknown_841CD43:: @ 841CD43
.incbin "baserom.gba", 0x41CD43, 0x15
.string "Announcing rankings!$"
gUnknown_841CD58:: @ 841CD58
.incbin "baserom.gba", 0x41CD58, 0x22
.string "Announcing prizes!$"
.string "1:$"
.string "2:$"
.string "3:$"
.string "4:$"
.string "5:$"
gUnknown_841CD7A:: @ 841CD7A
.incbin "baserom.gba", 0x41CD7A, 0x25
.string "The first-place winner gets\nthis {UNKNOWN_F7 00}!$"
gUnknown_841CD9F:: @ 841CD9F
.incbin "baserom.gba", 0x41CD9F, 0x1B
.string "You can't hold any more...$"
gUnknown_841CDBA:: @ 841CDBA
.incbin "baserom.gba", 0x41CDBA, 0x1D
.string "It filled its storage space.$"
gUnknown_841CDD7:: @ 841CDD7
.incbin "baserom.gba", 0x41CDD7, 0x14
.string "Want to play again?$"
gUnknown_841CDEB:: @ 841CDEB
.incbin "baserom.gba", 0x41CDEB, 0x31
.string "Somebody dropped out.\nThe link will be canceled.$"
gUnknown_841CE1C:: @ 841CE1C
.incbin "baserom.gba", 0x41CE1C, 0x8
.string " points$"
gUnknown_841CE24:: @ 841CE24
.incbin "baserom.gba", 0x41CE24, 0x1FC
-8
View File
@@ -1,8 +0,0 @@
.section .rodata
.align 2
gUnknown_8464008:: @ 8464008
.incbin "baserom.gba", 0x464008, 0x120
gUnknown_8464128:: @ 8464128
.incbin "baserom.gba", 0x464128, 0x20
+1 -1
View File
@@ -118,7 +118,7 @@ EventScript_17064A:: @ 817064A
setflag FLAG_0x235
setflag FLAG_0x031
setflag FLAG_0x234
setflag FLAG_0x834
setflag FLAG_SYS_NOT_SOMEONES_PC
goto EventScript_170640
end
Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

+1 -1
View File
@@ -67,7 +67,7 @@
#define FLAG_0x82C 0x82C
#define FLAG_0x82F 0x82F
#define FLAG_0x830 0x830
#define FLAG_0x834 0x834
#define FLAG_SYS_NOT_SOMEONES_PC 0x834
#define FLAG_0x83C 0x83C
#define FLAG_0x83E 0x83E
#define FLAG_0x841 0x841
+4
View File
@@ -252,6 +252,10 @@
#define SE_W063B 247
#define SE_CASHIER 248
#define SE_HELP_OPEN 250
#define SE_HELP_CLOSE 251
#define SE_HELP_PAGE 252
#define MUS_ME_ASA 256
#define MUS_FANFA1 257
#define MUS_FANFA4 258
+1
View File
@@ -72,6 +72,7 @@
#define TEST_BUTTON(field, button) ({(field) & (button);})
#define JOY_NEW(button) TEST_BUTTON(gMain.newKeys, button)
#define JOY_HELD(button) TEST_BUTTON(gMain.heldKeys, button)
#define JOY_REPT(button) TEST_BUTTON(gMain.newAndRepeatedKeys, button)
extern u8 gStringVar1[];
extern u8 gStringVar2[];
+66 -37
View File
@@ -3,62 +3,91 @@
#include "global.h"
#include "list_menu.h"
#include "blit.h"
struct HelpSystemStruct_203F190_sub
struct HelpSystemListMenu_sub
{
struct ListMenuItem * field_00;
u16 field_04;
u16 field_06;
u8 field_08;
u8 field_09;
struct ListMenuItem * items;
u16 totalItems;
u16 maxShowed;
u8 left;
u8 top;
};
struct HelpSystemStruct_203F190
struct HelpSystemListMenu
{
struct HelpSystemStruct_203F190_sub sub;
struct HelpSystemListMenu_sub sub;
u8 field_0C;
u8 field_0D;
u8 field_0E;
u8 filler_10[0xC];
};
extern struct HelpSystemStruct_203F190 gUnknown_203F190;
extern struct ListMenuItem gUnknown_203F1AC[];
extern struct HelpSystemListMenu gHelpSystemListMenu;
extern struct ListMenuItem gHelpSystemListMenuItems[];
extern bool8 gUnknown_3005ECC;
extern u8 gUnknown_203F175;
// help_system_812B1E0
void sub_812B1E0(u8);
void HelpSystem_SetSomeVariable2(u8);
bool8 sub_812B40C(void);
bool8 sub_812B45C(void);
void sub_812B478(void);
void sub_812B484(void);
void sub_812B4B8(void);
void HelpSystem_SetSomeVariable2(u8);
void sub_812B478(void);
bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
void sub_813C64C(struct HelpSystemStruct_203F190 *, u8, u8);
void sub_813C4CC(const u8 *, u8, u8);
void sub_813BDA4(u8);
bool8 sub_812BB9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BC54(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BC80(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BCA8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BCD0(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BD2C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BD64(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BD98(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
void sub_812BDEC(void);
bool8 sub_812BE10(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BEEC(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BF18(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
bool8 sub_812BF88(void);
// help_system
bool8 RunHelpSystemCallback(void);
void SaveCallbacks(void);
void SaveMapGPURegs(void);
void SaveMapTiles(void);
void SaveMapTextColors(void);
void RestoreCallbacks(void);
void RestoreGPURegs(void);
void RestoreMapTiles(void);
void RestoreMapTextColors(void);
void CommitTilemap(void);
void sub_813BCF4(void);
void sub_813BD14(u8);
void sub_813BD5C(u8);
void sub_813BDA4(u8);
void sub_813BDE8(u8);
void sub_813BFC0(u8);
void sub_813BE78(u8);
s32 sub_813C690(void);
void sub_813C75C(void);
void sub_813C684(u8);
void sub_813C004(u8, u8);
void sub_813C50C(const u8 *a0, const u8 *a1);
void sub_813BEE4(u8);
void sub_813C624(void);
void sub_813C5FC(void);
void sub_813C488(const u8 *str);
void sub_813C584(const u8 *str);
void sub_813BE30(u8);
void sub_813BE78(u8);
void sub_813BEE4(u8);
void sub_813BF50(u8);
void sub_813BFC0(u8);
void sub_813C004(u8, u8);
void HelpSystem_PrintTextRightAlign_Row52(const u8 *str);
void HelpSystem_PrintTextAt(const u8 *, u8, u8);
void HelpSystem_PrintTwoStrings(const u8 *a0, const u8 *a1);
void HelpSystem_PrintText_813C584(const u8 *str);
void HelpSystem_FillPanel2(void);
void HelpSystem_FillPanel1(void);
void HelpSystem_InitListMenuController(struct HelpSystemListMenu *, u8, u8);
void HelpSystem_SetInputDelay(u8);
s32 HelpSystem_GetMenuInput(void);
void sub_813C75C(void);
void DecompressAndRenderGlyph(u8 font, u16 glyph, struct Bitmap *srcBlit, struct Bitmap *destBlit, u8 *destBuffer, u8 x, u8 y, u8 width, u8 height);
void HelpSystem_PrintText_Row61(const u8 * str);
void HelpSystem_FillPanel3(void);
void PrintListMenuItems(void);
void PlaceListMenuCursor(void);
bool8 MoveCursor(u8 by, u8 dirn);
#endif //GUARD_HELP_SYSTEM_H
+5
View File
@@ -5,6 +5,11 @@
#include "gba/m4a_internal.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern struct MusicPlayerInfo gMPlayInfo_SE1;
extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern struct MusicPlayerInfo gMPlayInfo_SE3;
void m4aSoundVSync(void);
void m4aSoundVSyncOn(void);
-468
View File
@@ -1,468 +0,0 @@
#ifndef GUARD_SONGS_H
#define GUARD_SONGS_H
#include "global.h"
enum
{
/*0x00*/ SE_STOP,
/*0x01*/ SE_KAIFUKU,
/*0x02*/ SE_PC_LOGON,
/*0x03*/ SE_PC_OFF,
/*0x04*/ SE_PC_ON,
/*0x05*/ SE_SELECT,
/*0x06*/ SE_WIN_OPEN,
/*0x07*/ SE_WALL_HIT,
/*0x08*/ SE_DOOR,
/*0x09*/ SE_KAIDAN,
/*0x0A*/ SE_DANSA,
/*0x0B*/ SE_JITENSYA,
/*0x0C*/ SE_KOUKA_L, // Goggle told me Kouka means 'effectiveness' which makes sense, because
/*0x0D*/ SE_KOUKA_M, // those three sounds play whenever you use a move
/*0x0E*/ SE_KOUKA_H,
/*0x0F*/ SE_BOWA2,
/*0x10*/ SE_POKE_DEAD,
/*0x11*/ SE_NIGERU,
/*0x12*/ SE_JIDO_DOA,
/*0x13*/ SE_NAMINORI,
/*0x14*/ SE_BAN,
/*0x15*/ SE_PIN,
/*0x16*/ SE_BOO,
/*0x17*/ SE_BOWA,
/*0x18*/ SE_JYUNI,
/*0x19*/ SE_A,
/*0x1A*/ SE_I,
/*0x1B*/ SE_U,
/*0x1C*/ SE_E,
/*0x1D*/ SE_O,
/*0x1E*/ SE_N,
/*0x1F*/ SE_SEIKAI,
/*0x20*/ SE_HAZURE,
/*0x21*/ SE_EXP,
/*0x22*/ SE_JITE_PYOKO,
/*0x23*/ SE_MU_PACHI,
/*0x24*/ SE_TK_KASYA,
/*0x25*/ SE_FU_ZAKU,
/*0x26*/ SE_FU_ZAKU2,
/*0x27*/ SE_FU_ZUZUZU,
/*0x28*/ SE_RU_GASHIN,
/*0x29*/ SE_RU_GASYAN,
/*0x2A*/ SE_RU_BARI,
/*0x2B*/ SE_RU_HYUU,
/*0x2C*/ SE_KI_GASYAN,
/*0x2D*/ SE_TK_WARPIN,
/*0x2E*/ SE_TK_WARPOUT,
/*0x2F*/ SE_TU_SAA,
/*0x30*/ SE_HI_TURUN,
/*0x31*/ SE_TRACK_MOVE,
/*0x32*/ SE_TRACK_STOP,
/*0x33*/ SE_TRACK_HAIK,
/*0x34*/ SE_TRACK_DOOR,
/*0x35*/ SE_MOTER,
/*0x36*/ SE_CARD,
/*0x37*/ SE_SAVE,
/*0x38*/ SE_KON,
/*0x39*/ SE_KON2,
/*0x3A*/ SE_KON3,
/*0x3B*/ SE_KON4,
/*0x3C*/ SE_SUIKOMU,
/*0x3D*/ SE_NAGERU,
SE_TOY_C,
SE_TOY_D,
SE_TOY_E,
SE_TOY_F,
SE_TOY_G,
SE_TOY_A,
SE_TOY_B,
SE_TOY_C1,
SE_MIZU,
SE_HASHI,
SE_DAUGI,
SE_PINPON,
SE_FUUSEN1,
SE_FUUSEN2,
SE_FUUSEN3,
SE_TOY_KABE,
SE_TOY_DANGO,
SE_DOKU,
SE_ESUKA,
SE_T_AME,
SE_T_AME_E,
SE_T_OOAME,
SE_T_OOAME_E,
SE_T_KOAME,
SE_T_KOAME_E,
SE_T_KAMI,
SE_T_KAMI2,
SE_ELEBETA,
/*0x5A*/ SE_HINSI,
/*0x5B*/ SE_EXPMAX,
/*0x5C*/ SE_TAMAKORO,
/*0x5D*/ SE_TAMAKORO_E,
/*0x5E*/ SE_BASABASA,
/*0x5F*/ SE_REGI,
SE_C_GAJI,
SE_C_MAKU_U,
SE_C_MAKU_D,
SE_C_PASI,
SE_C_SYU,
SE_C_PIKON,
/*0x66*/ SE_REAPOKE,
/*0x67*/ SE_OP_BASYU,
/*0x68*/ SE_BT_START,
SE_DENDOU,
SE_JIHANKI,
SE_TAMA,
SE_Z_SCROLL,
/*0x6D*/ SE_Z_PAGE,
/*0x6E*/ SE_PN_ON,
/*0x6F*/ SE_PN_OFF,
/*0x70*/ SE_Z_SEARCH,
/*0x71*/ SE_TAMAGO,
/*0x72*/ SE_TB_START,
/*0x73*/ SE_TB_KON,
/*0x74*/ SE_TB_KARA,
/*0x75*/ SE_BIDORO,
/*0x76*/ SE_W085,
/*0x77*/ SE_W085B,
/*0x78*/ SE_W231,
/*0x79*/ SE_W171,
/*0x7A*/ SE_W233,
/*0x7B*/ SE_W233B,
/*0x7C*/ SE_W145,
/*0x7D*/ SE_W145B,
/*0x7E*/ SE_W145C,
/*0x7F*/ SE_W240,
/*0x80*/ SE_W015,
/*0x81*/ SE_W081,
/*0x82*/ SE_W081B,
/*0x83*/ SE_W088,
/*0x84*/ SE_W016,
/*0x85*/ SE_W016B,
/*0x86*/ SE_W003,
/*0x87*/ SE_W104,
/*0x88*/ SE_W013,
/*0x89*/ SE_W196,
/*0x8A*/ SE_W086,
/*0x8B*/ SE_W004,
/*0x8C*/ SE_W025,
/*0x8D*/ SE_W025B,
SE_W152,
SE_W026,
SE_W172,
SE_W172B,
SE_W053,
SE_W007,
SE_W092,
SE_W221,
SE_W221B,
SE_W052,
SE_W036,
SE_W059,
SE_W059B,
SE_W010,
SE_W011,
SE_W017,
SE_W019,
SE_W028,
SE_W013B,
SE_W044,
SE_W029,
SE_W057,
SE_W056,
SE_W250,
SE_W030,
SE_W039,
SE_W054,
SE_W077,
SE_W020,
SE_W082,
SE_W047,
SE_W195,
SE_W006,
SE_W091,
SE_W146,
SE_W120,
SE_W153,
SE_W071B,
SE_W071,
SE_W103,
/*0xB6*/ SE_W062,
/*0xB7*/ SE_W062B,
/*0xB8*/ SE_W048,
/*0xB9*/ SE_W187,
/*0xBA*/ SE_W118,
/*0xBB*/ SE_W155,
/*0xBC*/ SE_W122,
/*0xBD*/ SE_W060,
/*0xBE*/ SE_W185,
/*0xBF*/ SE_W014,
/*0xC0*/ SE_W043,
/*0xC1*/ SE_W207,
/*0xC2*/ SE_W207B,
/*0xC3*/ SE_W215,
/*0xC4*/ SE_W109,
/*0xC5*/ SE_W173,
/*0xC6*/ SE_W280,
/*0xC7*/ SE_W202,
/*0xC8*/ SE_W060B,
/*0xC9*/ SE_W076,
/*0xCA*/ SE_W080,
/*0xCB*/ SE_W100,
/*0xCC*/ SE_W107,
SE_W166,
SE_W129,
SE_W115,
SE_W112,
SE_W197,
SE_W199,
SE_W236,
SE_W204,
SE_W268,
SE_W070,
SE_W063,
SE_W127,
SE_W179,
SE_W151,
SE_W201,
SE_W161,
SE_W161B,
SE_W227,
SE_W227B,
SE_W226,
SE_W208,
SE_W213,
SE_W213B,
SE_W234,
SE_W260,
SE_W328,
SE_W320,
SE_W255,
SE_W291,
SE_W089,
SE_W239,
SE_W230,
SE_W281,
SE_W327,
SE_W287,
SE_W257,
SE_W253,
SE_W258,
SE_W322,
SE_W298,
SE_W287B,
SE_W114,
SE_W063B,
BGM_STOP = 349,
/*0x15E*/ BGM_TETSUJI,
/*0x15F*/ BGM_FIELD13,
/*0x160*/ BGM_KACHI22,
/*0x161*/ BGM_KACHI2,
/*0x162*/ BGM_KACHI3,
/*0x163*/ BGM_KACHI5,
/*0x164*/ BGM_PCC,
/*0x165*/ BGM_NIBI,
/*0x166*/ BGM_SUIKUN,
/*0x167*/ BGM_DOORO1,
/*0x168*/ BGM_DOORO_X1,
/*0x169*/ BGM_DOORO_X3,
/*0x16A*/ BGM_MACHI_S2,
/*0x16B*/ BGM_MACHI_S4,
/*0x16C*/ BGM_GIM,
/*0x16D*/ BGM_NAMINORI,
/*0x16E*/ BGM_DAN01,
/*0x16F*/ BGM_FANFA1,
/*0x170*/ BGM_ME_ASA,
/*0x171*/ BGM_ME_BACHI,
/*0x172*/ BGM_FANFA4,
/*0x173*/ BGM_FANFA5,
/*0x174*/ BGM_ME_WAZA,
/*0x175*/ BGM_BIJYUTU,
/*0x176*/ BGM_DOORO_X4,
/*0x177*/ BGM_FUNE_KAN,
/*0x178*/ BGM_ME_SHINKA,
/*0x179*/ BGM_SHINKA,
/*0x17A*/ BGM_ME_WASURE,
/*0x17B*/ BGM_SYOUJOEYE,
/*0x17C*/ BGM_BOYEYE,
/*0x17D*/ BGM_DAN02,
/*0x17E*/ BGM_MACHI_S3,
/*0x17F*/ BGM_ODAMAKI,
/*0x180*/ BGM_B_TOWER,
/*0x181*/ BGM_SWIMEYE,
/*0x182*/ BGM_DAN03,
/*0x183*/ BGM_ME_KINOMI,
/*0x184*/ BGM_ME_TAMA,
/*0x185*/ BGM_ME_B_BIG,
/*0x186*/ BGM_ME_B_SMALL,
/*0x187*/ BGM_ME_ZANNEN,
/*0x188*/ BGM_BD_TIME,
/*0x189*/ BGM_TEST1,
/*0x18A*/ BGM_TEST2,
/*0x18B*/ BGM_TEST3,
/*0x18C*/ BGM_TEST4,
/*0x18D*/ BGM_TEST,
/*0x18E*/ BGM_GOMACHI0,
/*0x18F*/ BGM_GOTOWN,
/*0x190*/ BGM_POKECEN,
/*0x191*/ BGM_NEXTROAD,
/*0x192*/ BGM_GRANROAD,
/*0x193*/ BGM_CYCLING,
/*0x194*/ BGM_FRIENDLY,
/*0x195*/ BGM_MISHIRO,
/*0x196*/ BGM_TOZAN,
/*0x197*/ BGM_GIRLEYE,
/*0x198*/ BGM_MINAMO,
/*0x199*/ BGM_ASHROAD,
/*0x19A*/ BGM_EVENT0,
/*0x19B*/ BGM_DEEPDEEP,
/*0x19C*/ BGM_KACHI1,
/*0x19D*/ BGM_TITLE3,
/*0x19E*/ BGM_DEMO1,
/*0x19F*/ BGM_GIRL_SUP,
/*0x1A0*/ BGM_HAGESHII,
/*0x1A1*/ BGM_KAKKOII,
/*0x1A2*/ BGM_KAZANBAI,
/*0x1A3*/ BGM_AQA_0,
/*0x1A4*/ BGM_TSURETEK,
/*0x1A5*/ BGM_BOY_SUP,
/*0x1A6*/ BGM_RAINBOW,
/*0x1A7*/ BGM_AYASII,
/*0x1A8*/ BGM_KACHI4,
/*0x1A9*/ BGM_ROPEWAY,
/*0x1AA*/ BGM_CASINO,
/*0x1AB*/ BGM_HIGHTOWN,
/*0x1AC*/ BGM_SAFARI,
BGM_C_ROAD,
BGM_AJITO,
BGM_M_BOAT,
BGM_M_DUNGON,
BGM_FINECITY,
BGM_MACHUPI,
BGM_P_SCHOOL,
BGM_DENDOU,
BGM_TONEKUSA,
BGM_MABOROSI,
BGM_CON_FAN,
BGM_CONTEST0,
BGM_MGM0,
BGM_T_BATTLE,
BGM_OOAME,
BGM_HIDERI,
BGM_RUNECITY,
BGM_CON_K,
BGM_EIKOU_R,
BGM_KARAKURI,
BGM_HUTAGO,
BGM_SITENNOU,
BGM_YAMA_EYE,
BGM_CONLOBBY,
BGM_INTER_V,
BGM_DAIGO,
BGM_THANKFOR,
BGM_END,
/*0x1C9*/ BGM_BATTLE_FRONTIER, // human-readable names start here because we don't know the actual filenames
BGM_BATTLE_ARENA,
BGM_ME_BATTLE_POINTS, // ME_ as in messagebox? Used for KINOMI (berries) and stuff above
BGM_ME_MATCH_CALL,
BGM_BATTLE_PYRAMID,
BGM_BATTLE_PYRAMID_SUMMIT,
BGM_BATTLE_PALACE,
BGM_FANFA_RAYQUAZA,
BGM_BATTLE_TOWER,
BGM_ME_BATTLE_SYMBOL,
BGM_BATTLE_DOME_TOURNAMENT,
BGM_BATTLE_PIKE,
BGM_BATTLE_FACTORY,
BGM_BATTLE_LEGENDARY,
BGM_BATTLE_FRONTIER_BRAIN,
BGM_BATTLE_MEW,
BGM_BATTLE_DOME, // end of the human-readable names
/*0x1DA*/ BGM_BATTLE27, // wild
BGM_BATTLE31, // aqua/magma grunt
BGM_BATTLE20, // trainer
BGM_BATTLE32, // gym leader
BGM_BATTLE33, // champion
BGM_BATTLE36, // regi
BGM_BATTLE34, // weather trio
BGM_BATTLE35, // rival
BGM_BATTLE38, // elite four
BGM_BATTLE30, // aqua/magma leader
/*0x1E4*/ BGM_FRLG_FOLLOW_ME, // FR/LG names not known, human-readable again!
BGM_FRLG_GAMECORNER,
BGM_FRLG_ROCKET_HIDEOUT,
BGM_FRLG_GYM,
BGM_FRLG_JIGGLYPUFF,
BGM_FRLG_OPENING,
BGM_FRLG_TITLE,
BGM_FRLG_CINNABAR_ISLAND,
BGM_FRLG_LAVENDER_TOWN,
BGM_FRLG_HEALING_TEST,
BGM_FRLG_BICYCLE,
BGM_FRLG_SUSPICIOUS_EYE,
BGM_FRLG_GIRL_EYE,
BGM_FRLG_BOY_EYE,
BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME,
BGM_FRLG_VIRIDIAN_FOREST,
BGM_FRLG_MT_MOON,
BGM_FRLG_POKEMON_MANSION,
BGM_FRLG_CREDITS,
BGM_FRLG_ROUTE_1,
BGM_FRLG_ROUTE_24,
BGM_FRLG_ROUTE_3,
BGM_FRLG_ROUTE_11,
BGM_FRLG_INDIGO_PLATEAU,
BGM_FRLG_BATTLE_LEADER,
BGM_FRLG_BATTLE_TRAINER,
BGM_FRLG_BATTLE_WILD_POKEMON,
BGM_FRLG_BATTLE_CHAMPION,
BGM_FRLG_PALLET_TOWN,
BGM_FRLG_OAK_LAB,
BGM_FRLG_PROF_OAK,
BGM_FRLG_POKEMON_CENTER,
BGM_FRLG_SS_ANNE,
BGM_FRLG_SURF,
BGM_FRLG_POKEMON_TOWER,
BGM_FRLG_SILPH,
BGM_FRLG_CERULEAN_CITY,
BGM_FRLG_CELADON_CITY,
BGM_FRLG_KACHI_TRAINER, // KACHI used in RS test - victory
BGM_FRLG_KACHI_WILD_POKEMON,
BGM_FRLG_KACHI_LEADER,
BGM_FRLG_VERMILION_CITY,
BGM_FRLG_VIRIDIAN_CITY,
BGM_FRLG_RIVAL,
BGM_FRLG_RIVAL_POSTBATTLE,
BGM_FRLG_ME_POKEDEX_EVAL,
BGM_FRLG_ME_KEYITEM,
BGM_FRLG_FANFA_POKEMON_CAUGHT,
BGM_FRLG_FANFA_TRAINERCARD_PHOTO,
BGM_FRLG_GAMEFREAK_LOGO,
BGM_FRLG_CAUGHT_POKEMON,
BGM_FRLG_GAME_EXPLANATION_START,
BGM_FRLG_GAME_EXPLANATION_MIDDLE,
BGM_FRLG_GAME_EXPLANATION_END,
BGM_FRLG_POKEMON_JUMP,
BGM_FRLG_UNION_ROOM,
BGM_FRLG_POKEMON_NETWORK_CENTER,
BGM_FRLG_MYSTERY_GIFT,
BGM_FRLG_DODRIO_BERRY_PICK,
BGM_FRLG_MT_EMBER,
BGM_FRLG_TEACHY_TV_EPISODE,
BGM_FRLG_SEVII_ISLANDS,
BGM_FRLG_TANOBY_RUINS,
BGM_FRLG_ISLAND_ONE,
BGM_FRLG_ISLAND_FOUR,
BGM_FRLG_ISLAND_SIX,
BGM_FRLG_FLUTE,
BGM_FRLG_BATTLE_DEOXYS,
BGM_FRLG_BATTLE_MEWTWO,
BGM_FRLG_BATTLE_LEGENDARY,
BGM_FRLG_LEADER_EYE,
BGM_FRLG_DEOXYS_EYE,
BGM_FRLG_TRAINER_TOWER,
BGM_FRLG_HALL_OF_FAME_PALLET_TOWN,
/*0x22E*/BGM_FRLG_TEACHY_TV,
};
#endif // GUARD_SONGS_H
+6
View File
@@ -142,4 +142,10 @@ extern const u8 gUnknown_841DFAC[];
extern const u8 gUnknown_841DFBE[];
extern const u8 gUnknown_841DFC9[];
// help_system
extern const u8 gString_Bill[];
extern const u8 gString_Someone[];
extern const u8 gString_Help[];
extern const u8 gString_HelpSystem_ClearTo8[];
#endif //GUARD_STRINGS_H
+5 -1
View File
@@ -68,7 +68,8 @@
#define CHAR_y 0xED
#define CHAR_z 0xEE
#define CHAR_SPECIAL_F7 0xF7
#define CHAR_SPECIAL_F9 0xF9
#define CHAR_KEYPAD_ICON 0xF8
#define CHAR_EXTRA_EMOJI 0xF9
#define CHAR_COLON 0xF0
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
@@ -192,6 +193,8 @@ extern u8 gStringVar2[];
extern u8 gStringVar3[];
extern u8 gStringVar4[];
extern const u8 gKeypadIconTiles[];
void SetFontsPointer(const struct FontInfo *fonts);
void DeactivateAllTextPrinters(void);
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16));
@@ -248,6 +251,7 @@ s32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese);
void DecompressGlyphFont9(u16 glyphId);
s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese);
s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese);
void DecompressGlyphFont5(u16 glyphId, bool32 isJapanese);
s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese);
void sub_80062B0(struct Sprite *sprite);
u8 CreateTextCursorSpriteForOakSpeech(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority);
+2 -2
View File
@@ -248,7 +248,7 @@ SECTIONS {
asm/menu_indicators.o(.text);
asm/pokedex_area_markers.o(.text);
asm/pokemon_summary_screen.o(.text);
asm/help_system.o(.text);
src/help_system.o(.text);
asm/wild_pokemon_area.o(.text);
asm/unk_text_util.o(.text);
asm/berry_pouch.o(.text);
@@ -427,7 +427,7 @@ SECTIONS {
data/menu_indicators.o(.rodata);
data/pokedex_area_markers.o(.rodata);
data/pokemon_summary_screen.o(.rodata);
data/help_system.o(.rodata);
src/help_system.o(.rodata);
data/wild_pokemon_area.o(.rodata);
data/unk_text_util.o(.rodata);
data/berry_pouch.o(.rodata);
+1202
View File
File diff suppressed because it is too large Load Diff
+54 -54
View File
@@ -23,16 +23,16 @@ u8 gUnknown_3005E9C[4];
u16 gUnknown_3005EA0;
static bool32 sub_812B27C(const u16 * mapIdxs);
static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
static void sub_812B520(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
static void sub_812B614(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
static bool8 sub_812B754(void);
static bool8 sub_812B780(u8);
static bool8 sub_812BB10(void);
static void sub_812BF5C(void);
static void sub_812BF74(const u8 *);
static void sub_812BF94(struct HelpSystemStruct_203F190 * a0);
static void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1);
static void sub_812BF94(struct HelpSystemListMenu * a0);
static void sub_812BF9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
static const u8 *const gUnknown_845B080[] = {
gUnknown_81B2DF8,
@@ -1029,27 +1029,27 @@ void sub_812B4B8(void)
gUnknown_203F175 = 0;
}
static void sub_812B4C4(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
static void sub_812B4C4(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
a0->sub.field_00 = a1;
a0->sub.field_04 = 1;
a0->sub.field_06 = 1;
a0->sub.field_08 = 1;
a0->sub.field_09 = 4;
a0->sub.items = a1;
a0->sub.totalItems = 1;
a0->sub.maxShowed = 1;
a0->sub.left = 1;
a0->sub.top = 4;
}
static void sub_812B4D8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
static void sub_812B4D8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
sub_812B4C4(a0, a1);
sub_812B520(a0, a1);
sub_812BF74(gUnknown_841DFAC);
sub_813C64C(a0, 0, gUnknown_3005E9C[2]);
HelpSystem_InitListMenuController(a0, 0, gUnknown_3005E9C[2]);
sub_812BF9C(a0, a1);
sub_813BDA4(1);
sub_813BD5C(1);
}
static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
static void sub_812B520(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
u8 i;
u8 r4 = 0;
@@ -1063,12 +1063,12 @@ static void sub_812B520(struct HelpSystemStruct_203F190 * a0, struct ListMenuIte
}
}
a1[r4 - 1].index = -2;
a0->sub.field_04 = r4;
a0->sub.field_06 = r4;
a0->sub.field_08 = 0;
a0->sub.totalItems = r4;
a0->sub.maxShowed = r4;
a0->sub.left = 0;
}
static void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
static void sub_812B5A8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
sub_813BDE8(0);
sub_813BFC0(0);
@@ -1076,13 +1076,13 @@ static void sub_812B5A8(struct HelpSystemStruct_203F190 * a0, struct ListMenuIte
sub_812B4C4(a0, a1);
sub_812B614(a0, a1);
sub_812BF74(gUnknown_841DFC9);
sub_813C64C(a0, a0->field_0C, a0->field_0D);
sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0);
HelpSystem_InitListMenuController(a0, a0->field_0C, a0->field_0D);
HelpSystem_PrintTextAt(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0);
sub_813BDA4(1);
sub_813BD5C(1);
}
static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
static void sub_812B614(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
u8 r6 = 0;
const u8 * r3 = gUnknown_845B9E0[gUnknown_203B0EC * 5 + gUnknown_3005E9C[1]];
@@ -1117,10 +1117,10 @@ static void sub_812B614(struct HelpSystemStruct_203F190 * a0, struct ListMenuIte
a1[r6].label = gUnknown_81B2E6F;
a1[r6].index = -2;
r6++;
a0->sub.field_04 = r6;
a0->sub.field_06 = 7;
a0->sub.field_08 = 0;
a0->sub.field_09 = 21;
a0->sub.totalItems = r6;
a0->sub.maxShowed = 7;
a0->sub.left = 0;
a0->sub.top = 21;
}
static bool8 sub_812B754(void)
@@ -1358,7 +1358,7 @@ static bool8 sub_812BB10(void)
return FALSE;
}
bool8 sub_812BB9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BB9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
switch (a0->field_0E)
{
@@ -1386,7 +1386,7 @@ bool8 sub_812BB9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
return FALSE;
}
bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BC54(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
sub_812BF74(gUnknown_841DFA5);
sub_812BF5C();
@@ -1396,7 +1396,7 @@ bool8 sub_812BC54(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
return TRUE;
}
bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BC80(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
if (JOY_NEW(A_BUTTON))
{
@@ -1406,7 +1406,7 @@ bool8 sub_812BC80(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
return TRUE;
}
bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BCA8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
gUnknown_3005E9C[2] = 0;
sub_812BF94(a0);
@@ -1415,9 +1415,9 @@ bool8 sub_812BCA8(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
return TRUE;
}
bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BCD0(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
s32 v0 = sub_813C690();
s32 v0 = HelpSystem_GetMenuInput();
switch (v0)
{
case -6:
@@ -1438,19 +1438,19 @@ bool8 sub_812BCD0(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
return TRUE;
}
bool8 sub_812BD2C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BD2C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
gUnknown_3005E9C[0] = 1;
gUnknown_3005E9C[2] = a0->field_0D;
sub_812BF94(a0);
sub_812B5A8(a0, a1);
sub_813C75C();
sub_813C684(2);
HelpSystem_SetInputDelay(2);
a0->field_0E = 3;
return TRUE;
}
bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BD64(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
sub_813C004(0, 0);
sub_813C004(1, 0);
@@ -1460,9 +1460,9 @@ bool8 sub_812BD64(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
return TRUE;
}
bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BD98(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
s32 v0 = sub_813C690();
s32 v0 = HelpSystem_GetMenuInput();
switch (v0)
{
case -6:
@@ -1485,37 +1485,37 @@ bool8 sub_812BD98(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
void sub_812BDEC(void)
{
sub_813C4CC(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0);
HelpSystem_PrintTextAt(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0);
}
bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BE10(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
gUnknown_3005E9C[0] = 2;
sub_813BDA4(0);
sub_813C624();
HelpSystem_FillPanel1();
sub_812BF74(gUnknown_841DFBE);
sub_813BDE8(1);
sub_813BEE4(1);
if (gUnknown_3005E9C[1] == 0)
{
sub_813C50C(gUnknown_845B0B0[gUnknown_3005E9C[3]], gUnknown_845B164[gUnknown_3005E9C[3]]);
HelpSystem_PrintTwoStrings(gUnknown_845B0B0[gUnknown_3005E9C[3]], gUnknown_845B164[gUnknown_3005E9C[3]]);
}
else if (gUnknown_3005E9C[1] == 1)
{
sub_813C50C(gUnknown_845B218[gUnknown_3005E9C[3]], gUnknown_845B2DC[gUnknown_3005E9C[3]]);
HelpSystem_PrintTwoStrings(gUnknown_845B218[gUnknown_3005E9C[3]], gUnknown_845B2DC[gUnknown_3005E9C[3]]);
}
else if (gUnknown_3005E9C[1] == 2)
{
sub_813C50C(gUnknown_845B3A0[gUnknown_3005E9C[3]], gUnknown_845B450[gUnknown_3005E9C[3]]);
HelpSystem_PrintTwoStrings(gUnknown_845B3A0[gUnknown_3005E9C[3]], gUnknown_845B450[gUnknown_3005E9C[3]]);
}
else if (gUnknown_3005E9C[1] == 3)
{
sub_813C50C(gUnknown_845B500[gUnknown_3005E9C[3]], gUnknown_845B520[gUnknown_3005E9C[3]]);
HelpSystem_PrintTwoStrings(gUnknown_845B500[gUnknown_3005E9C[3]], gUnknown_845B520[gUnknown_3005E9C[3]]);
}
else
{
sub_813C50C(gUnknown_845B540[gUnknown_3005E9C[3]], gUnknown_845B5D0[gUnknown_3005E9C[3]]);
HelpSystem_PrintTwoStrings(gUnknown_845B540[gUnknown_3005E9C[3]], gUnknown_845B5D0[gUnknown_3005E9C[3]]);
}
sub_813BDA4(1);
sub_813BD5C(1);
@@ -1523,17 +1523,17 @@ bool8 sub_812BE10(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
return TRUE;
}
bool8 sub_812BEEC(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BEEC(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
gUnknown_3005E9C[0] = 1;
sub_812B5A8(a0, a1);
sub_813C75C();
sub_813C684(2);
HelpSystem_SetInputDelay(2);
a0->field_0E = 3;
return TRUE;
}
bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
bool8 sub_812BF18(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON))
{
@@ -1548,14 +1548,14 @@ bool8 sub_812BF18(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1
static void sub_812BF5C(void)
{
sub_813C624();
sub_813C4CC(gUnknown_81B2FC9, 0, 0);
HelpSystem_FillPanel1();
HelpSystem_PrintTextAt(gUnknown_81B2FC9, 0, 0);
}
static void sub_812BF74(const u8 * str)
{
sub_813C5FC();
sub_813C488(str);
HelpSystem_FillPanel2();
HelpSystem_PrintTextRightAlign_Row52(str);
}
u8 sub_812BF88(void)
@@ -1563,18 +1563,18 @@ u8 sub_812BF88(void)
return gUnknown_3005E9C[0];
}
static void sub_812BF94(struct HelpSystemStruct_203F190 * a0)
static void sub_812BF94(struct HelpSystemListMenu * a0)
{
a0->field_0C = 0;
a0->field_0D = 0;
}
static void sub_812BF9C(struct HelpSystemStruct_203F190 * a0, struct ListMenuItem * a1)
static void sub_812BF9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1)
{
s32 index = a1[a0->field_0C + a0->field_0D].index;
if (index == -2)
sub_813C584(gUnknown_845B098[5]);
HelpSystem_PrintText_813C584(gUnknown_845B098[5]);
else
sub_813C584(gUnknown_845B098[index]);
HelpSystem_PrintText_813C584(gUnknown_845B098[index]);
sub_813BE30(1);
}
+2 -2
View File
@@ -5,6 +5,7 @@
#include "dma3.h"
#include "gba/flash_internal.h"
#include "battle.h"
#include "help_system.h"
extern u16 GetGpuReg(u8);
extern void SetGpuReg(u8, u16);
@@ -32,7 +33,6 @@ extern u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
extern void ScanlineEffect_Stop(void);
extern void sub_80F50F4(void);
extern bool32 sub_80F5118(void);
extern bool8 sub_813B870(void);
extern struct SoundInfo gSoundInfo;
extern u32 gFlashMemoryPresent;
@@ -206,7 +206,7 @@ static void InitMainCallbacks(void)
static void CallCallbacks(void)
{
if (!sub_80F5118() && !sub_813B870())
if (!sub_80F5118() && !RunHelpSystemCallback())
{
if (gMain.callback1)
gMain.callback1();
+1 -1
View File
@@ -1,5 +1,4 @@
#include "global.h"
#include "songs.h"
#include "sound.h"
#include "task.h"
#include "malloc.h"
@@ -23,6 +22,7 @@
#include "map_obj_8097404.h"
#include "unk_810c3a4.h"
#include "constants/movement_commands.h"
#include "constants/songs.h"
#include "vs_seeker.h"
typedef enum
+3 -26
View File
@@ -1509,33 +1509,10 @@ gUnknown_203B16E: @ 203B16E
gUnknown_203B170: @ 203B170
.space 0x4
gUnknown_203B174: @ 203B174
.space 0x4000
gUnknown_203F174: @ 203F174
.space 0x1
gUnknown_203F175: @ 203F175
.space 0x1
gUnknown_203F176: @ 203F176
.space 0x1
gUnknown_203F177: @ 203F177
.space 0x1
gUnknown_203F178: @ 203F178
.space 0x12
gUnknown_203F18A: @ 203F18A
.space 0x6
gUnknown_203F190: @ 203F190
.space 0x1C
gUnknown_203F1AC: @ 203F1AC
.space 0x1A0
.align 2
.include "src/help_system.o"
@ src/unk_text_util.o
gUnknown_203F34C: @ 203F34C
.space 0x20