From e518a40508555d55bff7b2f020da092a0501eb1b Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Fri, 16 Feb 2018 15:21:27 +0530 Subject: [WIP} Start decomp Ground Shake --- src/fldeff_groundshake.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/fldeff_groundshake.c (limited to 'src/fldeff_groundshake.c') diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c new file mode 100644 index 000000000..a4b36e539 --- /dev/null +++ b/src/fldeff_groundshake.c @@ -0,0 +1,85 @@ +#include "global.h" +#include "constants/flags.h" +#include "constants/songs.h" +#include "event_data.h" +#include "fldeff_groundshake.h" +#include "malloc.h" +#include "menu.h" +#include "party_menu.h" +#include "pokemon.h" +#include "random.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" + +bool8 sub_81BE66C(void) +{ + if (!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A)) + return 0; + return FlagGet(FLAG_0x14E); +} + +void sub_81BE698(u8 taskId) +{ + sub_8151E50(&(gUnknown_0203CF18->unk4)); +} + +void sub_81BE6AC(void) +{ + gUnknown_0203CF18 = NULL; +} + +void sub_81BE6B8(void) +{ + if(gUnknown_0203CF18 != NULL) + { + gUnknown_0203CF18 = NULL; + return; + } + if(!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A) || !FlagGet(FLAG_0x14E)) + return; + + gUnknown_0203CF18 = (struct Struct203CF18 *)AllocZeroed(sizeof(struct Struct203CF18)); + sub_8151B3C(&(gUnknown_0203CF18->unk4)); + sub_8151B68(&(gUnknown_0203CF18->unk4), gUnknown_08617E18); + sub_8151CA8(&(gUnknown_0203CF18->unk4), 1, 1); + gUnknown_0203CF18->taskId = CreateTask(sub_81BE698, 0xFF); +} + +void sub_81BE72C(void) +{ + if(!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A) || !FlagGet(FLAG_0x14E) || gUnknown_0203CF18 == NULL) + return; + if(FuncIsActiveTask(sub_81BE698)) + DestroyTask(gUnknown_0203CF18->taskId); + sub_8151D28(&(gUnknown_0203CF18->unk4), 1, 1); + sub_8151C50(&(gUnknown_0203CF18->unk4), 1, 1); + Free(gUnknown_0203CF18); + gUnknown_0203CF18 = NULL; +} + +void sub_81BE79C(void) +{ + u16 rand; + bool8 chance; + + if(VarGet(VAR_0x40CB) != 0) + { + FlagClear(FLAG_0x14E); + return; + } + rand = Random(); + chance = rand & 1; + if(FlagGet(FLAG_0x09D) == TRUE) + chance = TRUE; + if(chance) + { + FlagSet(FLAG_0x14E); + sub_81BE6B8(); + return; + } + FlagClear(FLAG_0x14E); +} + -- cgit v1.2.3 From 52b631a092f0e5357eea2d72d22c5db7ad03f7f2 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Sun, 18 Feb 2018 04:30:20 +0530 Subject: Decompile more functions --- src/fldeff_groundshake.c | 134 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) (limited to 'src/fldeff_groundshake.c') diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index a4b36e539..04e7f7674 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -1,13 +1,17 @@ #include "global.h" +#include "global.fieldmap.h" #include "constants/flags.h" #include "constants/songs.h" #include "event_data.h" +#include "field_camera.h" +#include "field_map_obj.h" #include "fldeff_groundshake.h" #include "malloc.h" #include "menu.h" #include "party_menu.h" #include "pokemon.h" #include "random.h" +#include "script.h" #include "sound.h" #include "sprite.h" #include "string_util.h" @@ -83,3 +87,133 @@ void sub_81BE79C(void) FlagClear(FLAG_0x14E); } +void sub_81BE7F4(void) +{ + CreateTask(sub_81BE808, 0x8); +} + +void sub_81BE808(u8 taskId) +{ + u8 mapObjectIdBuffer; + struct MapObject *fieldMapObject; + struct MapObject *playerAvatarMapObject; + + TryGetFieldObjectIdByLocalIdAndMap(0x2D, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectIdBuffer); + fieldMapObject = &(gMapObjects[mapObjectIdBuffer]); + gSprites[fieldMapObject->spriteId].pos2.y += 4; + playerAvatarMapObject = &(gMapObjects[gPlayerAvatar.mapObjectId]); + + if((gSprites[fieldMapObject->spriteId].pos1.y + gSprites[fieldMapObject->spriteId].pos2.y) >= + (gSprites[playerAvatarMapObject->spriteId].pos1.y + gSprites[playerAvatarMapObject->spriteId].pos2.y)) + { + DestroyTask(taskId); + EnableBothScriptContexts(); + } + +} + +void sp136_strengh_sound(u8 a, u8 b, u8 c, u8 d) +{ + u8 taskId; + + taskId = CreateTask(sub_81BE900, 0x9); + gTasks[taskId].data[0] = b; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = c; + gTasks[taskId].data[3] = d; + gTasks[taskId].data[4] = a; + SetCameraPanningCallback(NULL); + PlaySE(SE_W070); +} + +void sub_81BE900(u8 taskId) +{ + s16 *data; + + data = gTasks[taskId].data; + data[1]++; + if((data[1] % data[3]) == 0) + { + data[1] = 0; + data[2]--; + data[0] = -data[0]; + data[4] = -data[4]; + SetCameraPanning(data[0], data[4]); + if(!data[2]) + { + sub_81BE968(); + DestroyTask(taskId); + InstallCameraPanAheadCallback(); + } + } +} + +void sub_81BE968(void) +{ + u8 taskId; + + taskId = FindTaskIdByFunc(sub_81BE9C0); + if(taskId != 0xFF) + gTasks[taskId].data[0]++; +} + +extern const struct SpriteSheet gUnknown_08617D94[]; + +void sub_81BE994(void) +{ + LoadSpriteSheets(gUnknown_08617D94); + sub_81BEA20(); + CreateTask(sub_81BE9C0, 0x8); + sp136_strengh_sound(2, 1, 16, 3); +} + +void sub_81BE9C0(u8 taskId) +{ + u16 *data; + + data = gTasks[taskId].data; + data[1]++; + if(data[1] == 1000 || data[0] == 17) + gTasks[taskId].func = sub_81BEA00; +} + +void sub_81BEA00(u8 taskId) +{ + FreeSpriteTilesByTag(4000); + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +extern const struct SpriteTemplate gUnknown_08617E34; +extern const struct SpriteTemplate gUnknown_08617E60; + +void sub_81BEA20(void) +{ + u8 count; + u8 spriteId; + const s16 *x; + const s16 *y; + + for(count = 0; count <=7; count++) + { + x = &(gUnknown_08617D64[0]); + y = &(gUnknown_08617D64[1]); + spriteId = CreateSprite(&gUnknown_08617E60, x[count*3] + 120, y[count*3], 8); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].oam.paletteNum = 0; + gSprites[spriteId].data[0] = count; + } + + for(count = 0; count <=7; count++) + { + + x = &(gUnknown_08617D64[0]); + y = &(gUnknown_08617D64[1]); + + spriteId = CreateSprite(&gUnknown_08617E34, x[count*3] + 115, y[count*3] - 3, 8); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].oam.paletteNum = 0; + gSprites[spriteId].data[0] = count; + } +} + -- cgit v1.2.3 From b1cb82fc670ebbb7bcb8de85c780344e6dbd9349 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Sun, 18 Feb 2018 17:33:48 +0530 Subject: Finish fldeff_groundshake --- src/fldeff_groundshake.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) (limited to 'src/fldeff_groundshake.c') diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index 04e7f7674..e07b7b2ff 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -7,17 +7,15 @@ #include "field_map_obj.h" #include "fldeff_groundshake.h" #include "malloc.h" -#include "menu.h" -#include "party_menu.h" -#include "pokemon.h" #include "random.h" #include "script.h" #include "sound.h" #include "sprite.h" -#include "string_util.h" -#include "strings.h" #include "task.h" +extern const struct SpriteTemplate gUnknown_08617E34; +extern const struct SpriteTemplate gUnknown_08617E60; + bool8 sub_81BE66C(void) { if (!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A)) @@ -184,36 +182,34 @@ void sub_81BEA00(u8 taskId) EnableBothScriptContexts(); } -extern const struct SpriteTemplate gUnknown_08617E34; -extern const struct SpriteTemplate gUnknown_08617E60; - void sub_81BEA20(void) { u8 count; u8 spriteId; - const s16 *x; - const s16 *y; for(count = 0; count <=7; count++) { - x = &(gUnknown_08617D64[0]); - y = &(gUnknown_08617D64[1]); - spriteId = CreateSprite(&gUnknown_08617E60, x[count*3] + 120, y[count*3], 8); + spriteId = CreateSprite(&gUnknown_08617E60, gUnknown_08617D64[count][0] + 120, gUnknown_08617D64[count][1], 8); gSprites[spriteId].oam.priority = 0; gSprites[spriteId].oam.paletteNum = 0; gSprites[spriteId].data[0] = count; } - for(count = 0; count <=7; count++) { - - x = &(gUnknown_08617D64[0]); - y = &(gUnknown_08617D64[1]); - - spriteId = CreateSprite(&gUnknown_08617E34, x[count*3] + 115, y[count*3] - 3, 8); + spriteId = CreateSprite(&gUnknown_08617E34, gUnknown_08617D64[count][0] + 115, gUnknown_08617D64[count][1] - 3, 8); gSprites[spriteId].oam.priority = 0; gSprites[spriteId].oam.paletteNum = 0; gSprites[spriteId].data[0] = count; } } +void sub_81BEAD8(struct Sprite* sprite) +{ + sprite->data[1] += 2; + sprite->pos2.y = (sprite->data[1] + (s16)((u32)sprite->data[1] >> 0x1F)) >> 1; + if((sprite->pos1.y) + (sprite->pos2.y) > gUnknown_08617D64[sprite->data[0]][2]) + { + DestroySprite(sprite); + sub_81BE968(); + } +} -- cgit v1.2.3 From caaf41fd4997b0ec5e406c4590711d09ad6f3a66 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Mon, 19 Feb 2018 00:53:06 +0530 Subject: Refine logic --- src/fldeff_groundshake.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/fldeff_groundshake.c') diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index e07b7b2ff..34524ffd5 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -107,7 +107,6 @@ void sub_81BE808(u8 taskId) DestroyTask(taskId); EnableBothScriptContexts(); } - } void sp136_strengh_sound(u8 a, u8 b, u8 c, u8 d) @@ -187,14 +186,14 @@ void sub_81BEA20(void) u8 count; u8 spriteId; - for(count = 0; count <=7; count++) + for(count = 0; count <= 7; count++) { spriteId = CreateSprite(&gUnknown_08617E60, gUnknown_08617D64[count][0] + 120, gUnknown_08617D64[count][1], 8); gSprites[spriteId].oam.priority = 0; gSprites[spriteId].oam.paletteNum = 0; gSprites[spriteId].data[0] = count; } - for(count = 0; count <=7; count++) + for(count = 0; count <= 7; count++) { spriteId = CreateSprite(&gUnknown_08617E34, gUnknown_08617D64[count][0] + 115, gUnknown_08617D64[count][1] - 3, 8); gSprites[spriteId].oam.priority = 0; @@ -206,8 +205,8 @@ void sub_81BEA20(void) void sub_81BEAD8(struct Sprite* sprite) { sprite->data[1] += 2; - sprite->pos2.y = (sprite->data[1] + (s16)((u32)sprite->data[1] >> 0x1F)) >> 1; - if((sprite->pos1.y) + (sprite->pos2.y) > gUnknown_08617D64[sprite->data[0]][2]) + sprite->pos2.y = (sprite->data[1] / 2); + if(((sprite->pos1.y) + (sprite->pos2.y)) > gUnknown_08617D64[sprite->data[0]][2]) { DestroySprite(sprite); sub_81BE968(); -- cgit v1.2.3 From a3c17fad22523551b78ba60321688f1ed1e39b6a Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Thu, 22 Feb 2018 12:17:46 +0530 Subject: Decompile Fossil Special & Groundshake Data --- src/fldeff_groundshake.c | 123 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 110 insertions(+), 13 deletions(-) (limited to 'src/fldeff_groundshake.c') diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index 34524ffd5..92aaf5238 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -5,7 +5,6 @@ #include "event_data.h" #include "field_camera.h" #include "field_map_obj.h" -#include "fldeff_groundshake.h" #include "malloc.h" #include "random.h" #include "script.h" @@ -13,9 +12,109 @@ #include "sprite.h" #include "task.h" -extern const struct SpriteTemplate gUnknown_08617E34; -extern const struct SpriteTemplate gUnknown_08617E60; +// structures +struct InnerStruct203CF18 +{ + u8 filler[0xC4]; +}; + +struct Struct203CF18 { + u8 taskId; + struct InnerStruct203CF18 unk4; +}; //size = 0xC8 + +// extern data +extern const struct SpriteSheet gUnknown_08617D94[]; +extern const s16 gUnknown_08617D64[][3]; + +// extern functions +extern void sub_8151B68(struct InnerStruct203CF18 *, const u8*); +extern void sub_8151B3C(struct InnerStruct203CF18 *); +extern void sub_8151CA8(struct InnerStruct203CF18 *, u8, u8); +extern void sub_8151C50(struct InnerStruct203CF18 *, u8, u8); +extern void sub_8151D28(struct InnerStruct203CF18 *, u8, u8); +extern void sub_8151E50(struct InnerStruct203CF18 *); + +// static functions +static void sub_81BE808(u8 taskId); +static void sub_81BE900(u8 taskId); +static void sub_81BE968(void); +static void sub_81BE9C0(u8 taskId); +static void sub_81BEA00(u8 taskId); +static void sub_81BEA20(void); +static void sub_81BEAD8(struct Sprite* sprite); +//.rodata +static const u8 gUnknown_08617E18[] = {0x3b, 0x43, 0x61, 0x00, 0x0f, 0x05, 0xff, 0x9b}; + +static const union AnimCmd gSpriteAnim_8617E20[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const gSpriteAnimTable_8617E28[] = +{ + gSpriteAnim_8617E20, +}; + +static const struct OamData gUnknown_08617E2C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct SpriteTemplate gUnknown_08617E34 = { + 0x0FA0, 0xFFFF, &gUnknown_08617E2C, gSpriteAnimTable_8617E28, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8 +}; + +static const union AnimCmd gSpriteAnim_8617E4C[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const gSpriteAnim_8617E54[] = +{ + gSpriteAnim_8617E4C, +}; + +static const struct OamData gSpriteAnim_8617E58 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct SpriteTemplate gUnknown_08617E60 = { + 0x0FA0, 0xFFFF, &gSpriteAnim_8617E58, gSpriteAnim_8617E54, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8 +}; + +// ewram +EWRAM_DATA struct Struct203CF18 *gUnknown_0203CF18 = NULL; + +//text bool8 sub_81BE66C(void) { if (!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A)) @@ -90,7 +189,7 @@ void sub_81BE7F4(void) CreateTask(sub_81BE808, 0x8); } -void sub_81BE808(u8 taskId) +static void sub_81BE808(u8 taskId) { u8 mapObjectIdBuffer; struct MapObject *fieldMapObject; @@ -109,7 +208,7 @@ void sub_81BE808(u8 taskId) } } -void sp136_strengh_sound(u8 a, u8 b, u8 c, u8 d) +static void sp136_strengh_sound(u8 a, u8 b, u8 c, u8 d) { u8 taskId; @@ -123,7 +222,7 @@ void sp136_strengh_sound(u8 a, u8 b, u8 c, u8 d) PlaySE(SE_W070); } -void sub_81BE900(u8 taskId) +static void sub_81BE900(u8 taskId) { s16 *data; @@ -145,7 +244,7 @@ void sub_81BE900(u8 taskId) } } -void sub_81BE968(void) +static void sub_81BE968(void) { u8 taskId; @@ -154,8 +253,6 @@ void sub_81BE968(void) gTasks[taskId].data[0]++; } -extern const struct SpriteSheet gUnknown_08617D94[]; - void sub_81BE994(void) { LoadSpriteSheets(gUnknown_08617D94); @@ -164,7 +261,7 @@ void sub_81BE994(void) sp136_strengh_sound(2, 1, 16, 3); } -void sub_81BE9C0(u8 taskId) +static void sub_81BE9C0(u8 taskId) { u16 *data; @@ -174,14 +271,14 @@ void sub_81BE9C0(u8 taskId) gTasks[taskId].func = sub_81BEA00; } -void sub_81BEA00(u8 taskId) +static void sub_81BEA00(u8 taskId) { FreeSpriteTilesByTag(4000); DestroyTask(taskId); EnableBothScriptContexts(); } -void sub_81BEA20(void) +static void sub_81BEA20(void) { u8 count; u8 spriteId; @@ -202,7 +299,7 @@ void sub_81BEA20(void) } } -void sub_81BEAD8(struct Sprite* sprite) +static void sub_81BEAD8(struct Sprite* sprite) { sprite->data[1] += 2; sprite->pos2.y = (sprite->data[1] / 2); -- cgit v1.2.3 From 392b869fa33a1e40f572e90d0b2a4f730a04c900 Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Sun, 25 Feb 2018 17:23:51 +0530 Subject: Code cleanup --- src/fldeff_groundshake.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/fldeff_groundshake.c') diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index 92aaf5238..e16b01b6e 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -44,7 +44,7 @@ static void sub_81BEA00(u8 taskId); static void sub_81BEA20(void); static void sub_81BEAD8(struct Sprite* sprite); -//.rodata +// rodata static const u8 gUnknown_08617E18[] = {0x3b, 0x43, 0x61, 0x00, 0x0f, 0x05, 0xff, 0x9b}; static const union AnimCmd gSpriteAnim_8617E20[] = @@ -114,7 +114,7 @@ static const struct SpriteTemplate gUnknown_08617E60 = { // ewram EWRAM_DATA struct Struct203CF18 *gUnknown_0203CF18 = NULL; -//text +// text bool8 sub_81BE66C(void) { if (!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A)) @@ -280,22 +280,22 @@ static void sub_81BEA00(u8 taskId) static void sub_81BEA20(void) { - u8 count; + u8 i; u8 spriteId; - for(count = 0; count <= 7; count++) + for(i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_08617E60, gUnknown_08617D64[count][0] + 120, gUnknown_08617D64[count][1], 8); + spriteId = CreateSprite(&gUnknown_08617E60, gUnknown_08617D64[i][0] + 120, gUnknown_08617D64[i][1], 8); gSprites[spriteId].oam.priority = 0; gSprites[spriteId].oam.paletteNum = 0; - gSprites[spriteId].data[0] = count; + gSprites[spriteId].data[0] = i; } - for(count = 0; count <= 7; count++) + for(i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_08617E34, gUnknown_08617D64[count][0] + 115, gUnknown_08617D64[count][1] - 3, 8); + spriteId = CreateSprite(&gUnknown_08617E34, gUnknown_08617D64[i][0] + 115, gUnknown_08617D64[i][1] - 3, 8); gSprites[spriteId].oam.priority = 0; gSprites[spriteId].oam.paletteNum = 0; - gSprites[spriteId].data[0] = count; + gSprites[spriteId].data[0] = i; } } -- cgit v1.2.3 From 835777dec2e978bb6e89e46830950aa4b357d51c Mon Sep 17 00:00:00 2001 From: KDSKardabox Date: Tue, 27 Feb 2018 10:33:23 +0530 Subject: Decompile fleff_flash rodata --- src/fldeff_groundshake.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) (limited to 'src/fldeff_groundshake.c') diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index e16b01b6e..bee4d2c4b 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -7,17 +7,13 @@ #include "field_map_obj.h" #include "malloc.h" #include "random.h" +#include "roulette_util.h" #include "script.h" #include "sound.h" #include "sprite.h" #include "task.h" // structures -struct InnerStruct203CF18 -{ - u8 filler[0xC4]; -}; - struct Struct203CF18 { u8 taskId; struct InnerStruct203CF18 unk4; @@ -27,14 +23,6 @@ struct Struct203CF18 { extern const struct SpriteSheet gUnknown_08617D94[]; extern const s16 gUnknown_08617D64[][3]; -// extern functions -extern void sub_8151B68(struct InnerStruct203CF18 *, const u8*); -extern void sub_8151B3C(struct InnerStruct203CF18 *); -extern void sub_8151CA8(struct InnerStruct203CF18 *, u8, u8); -extern void sub_8151C50(struct InnerStruct203CF18 *, u8, u8); -extern void sub_8151D28(struct InnerStruct203CF18 *, u8, u8); -extern void sub_8151E50(struct InnerStruct203CF18 *); - // static functions static void sub_81BE808(u8 taskId); static void sub_81BE900(u8 taskId); -- cgit v1.2.3