From 318593978938560e00194efec2ca4406341434a2 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 13 Feb 2022 16:09:19 +1000 Subject: [PATCH] Attempt to decompile menuitemObjectivesRenderOne --- src/game/bondbike.c | 2 +- src/game/bondgrab.c | 2 +- src/game/bondwalk.c | 2 +- src/game/chr/chr.c | 2 +- src/game/chr/chraction.c | 2 +- src/game/chr/chraicommands.c | 2 +- src/game/endscreen.c | 2 +- src/game/game_006bd0.c | 2 +- src/game/game_096360.c | 2 +- src/game/game_0b63b0.c | 2 +- src/game/lv.c | 2 +- src/game/mainmenu.c | 2 +- src/game/menu.c | 2 +- src/game/menuitem.c | 190 +++++++++++++++++++++++++++++-- src/game/nbomb.c | 2 +- src/game/objectives/objectives.c | 2 +- src/game/player.c | 2 +- src/game/prop.c | 2 +- src/game/propobj.c | 2 +- src/game/training/training.c | 2 +- src/include/game/game_095320.h | 26 ----- src/include/game/menuitem.h | 2 +- src/lib/main.c | 2 +- 23 files changed, 199 insertions(+), 59 deletions(-) delete mode 100644 src/include/game/game_095320.h diff --git a/src/game/bondbike.c b/src/game/bondbike.c index 4229b5175..f1d6f9d3a 100644 --- a/src/game/bondbike.c +++ b/src/game/bondbike.c @@ -6,7 +6,7 @@ #include "game/prop.h" #include "game/game_091e10.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/game_096ca0.h" #include "game/bondgun.h" #include "game/game_0b3350.h" diff --git a/src/game/bondgrab.c b/src/game/bondgrab.c index 5481cbe79..fbe2deaac 100644 --- a/src/game/bondgrab.c +++ b/src/game/bondgrab.c @@ -6,7 +6,7 @@ #include "game/chr/chraction.h" #include "game/debug.h" #include "game/prop.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/bondgun.h" #include "game/player.h" #include "game/bondhead.h" diff --git a/src/game/bondwalk.c b/src/game/bondwalk.c index 147ce22c0..7114fa214 100644 --- a/src/game/bondwalk.c +++ b/src/game/bondwalk.c @@ -9,7 +9,7 @@ #include "game/chr/chr.h" #include "game/prop.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/bondgun.h" #include "game/player.h" #include "game/inventory/inventory.h" diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 0108946b1..3f15439a4 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -8,7 +8,7 @@ #include "game/chr/chr.h" #include "game/prop.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/game_096360.h" #include "game/bondgun.h" #include "game/game_0abe70.h" diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index c99928226..3effe222c 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -10,7 +10,7 @@ #include "game/game_02cde0.h" #include "game/prop.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/atan2f.h" #include "game/acosfasinf.h" #include "game/bondgun.h" diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 4e0088c57..1e5a96703 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -14,7 +14,7 @@ #include "game/prop.h" #include "game/game_091e10.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/atan2f.h" #include "game/bondgun.h" #include "game/game_0b0fd0.h" diff --git a/src/game/endscreen.c b/src/game/endscreen.c index 12999e45d..566b39339 100644 --- a/src/game/endscreen.c +++ b/src/game/endscreen.c @@ -4,7 +4,7 @@ #include "game/game_006900.h" #include "game/title.h" #include "game/game_01b0a0.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/bondgun.h" #include "game/game_0b0fd0.h" #include "game/player.h" diff --git a/src/game/game_006bd0.c b/src/game/game_006bd0.c index b4ea096d8..4823bd832 100644 --- a/src/game/game_006bd0.c +++ b/src/game/game_006bd0.c @@ -7,7 +7,7 @@ #include "game/chr/chr.h" #include "game/chr/chraction.h" #include "game/prop.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/atan2f.h" #include "game/game_0b3350.h" #include "game/savebuffer.h" diff --git a/src/game/game_096360.c b/src/game/game_096360.c index 56df519f9..6e83102c2 100644 --- a/src/game/game_096360.c +++ b/src/game/game_096360.c @@ -1,6 +1,6 @@ #include #include "constants.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/game_096360.h" #include "game/game_0b3350.h" #include "game/training/training.h" diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index e97931322..61ae341dd 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -11,7 +11,7 @@ #include "game/game_02cde0.h" #include "game/prop.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/atan2f.h" #include "game/game_096ca0.h" #include "game/bondgun.h" diff --git a/src/game/lv.c b/src/game/lv.c index e20293a78..8733e76b3 100644 --- a/src/game/lv.c +++ b/src/game/lv.c @@ -51,7 +51,7 @@ #include "game/game_01d990.h" #include "game/chr/chr.h" #include "game/prop.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/bondgun.h" #include "game/game_0abe70.h" #include "game/game_0b0fd0.h" diff --git a/src/game/mainmenu.c b/src/game/mainmenu.c index cdf629123..a6fd51de3 100644 --- a/src/game/mainmenu.c +++ b/src/game/mainmenu.c @@ -5,7 +5,7 @@ #include "game/title.h" #include "game/game_01b0a0.h" #include "game/game_01bea0.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/bondgun.h" #include "game/game_0b0fd0.h" #include "game/game_0b3350.h" diff --git a/src/game/menu.c b/src/game/menu.c index 969083e60..0d86f83c6 100644 --- a/src/game/menu.c +++ b/src/game/menu.c @@ -4,7 +4,7 @@ #include "game/game_006900.h" #include "game/game_006bd0.h" #include "game/game_02cde0.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/game_096ca0.h" #include "game/bondgun.h" #include "game/game_0b3350.h" diff --git a/src/game/menuitem.c b/src/game/menuitem.c index 00b22e1cd..bcba0eda8 100644 --- a/src/game/menuitem.c +++ b/src/game/menuitem.c @@ -2,12 +2,13 @@ #include "constants.h" #include "game/camdraw.h" #include "game/game_006900.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/game_0b3350.h" #include "game/menugfx.h" #include "game/menuitem.h" #include "game/menu.h" #include "game/mainmenu.h" +#include "game/objectives.h" #include "game/game_1531a0.h" #include "game/lv.h" #include "game/game_19aa80.h" @@ -23,10 +24,6 @@ u8 g_MpSelectedPlayersForStats[4]; -const char var7f1adfa0[] = "brcol"; -const char var7f1adfa8[] = "%d: "; -const char var7f1adfb0[] = "%s"; - #if VERSION >= VERSION_NTSC_1_0 s32 g_ScissorX1 = 0; s32 g_ScissorX2 = 0; @@ -3477,11 +3474,11 @@ Gfx *menuitemSeparatorRender(Gfx *gdl, struct menurendercontext *context) colour, colour); } -u32 var800711e8 = 0; +u32 var800711e8 = 0x00000000; #if PAL GLOBAL_ASM( -glabel menuitemObjectiveRender +glabel menuitemObjectivesRenderOne /* f0e98ac: 27bdfed0 */ addiu $sp,$sp,-304 /* f0e98b0: 8fae0154 */ lw $t6,0x154($sp) /* f0e98b4: afbf003c */ sw $ra,0x3c($sp) @@ -4134,7 +4131,7 @@ glabel menuitemObjectiveRender ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( -glabel menuitemObjectiveRender +glabel menuitemObjectivesRenderOne /* f0e98ac: 27bdfed0 */ addiu $sp,$sp,-304 /* f0e98b0: 8fae0154 */ lw $t6,0x154($sp) /* f0e98b4: afbf003c */ sw $ra,0x3c($sp) @@ -4787,7 +4784,7 @@ glabel menuitemObjectiveRender ); #else GLOBAL_ASM( -glabel menuitemObjectiveRender +glabel menuitemObjectivesRenderOne /* f0e6a20: 27bdfed0 */ addiu $sp,$sp,-304 /* f0e6a24: 8fae0154 */ lw $t6,0x154($sp) /* f0e6a28: afbf003c */ sw $ra,0x3c($sp) @@ -5440,6 +5437,176 @@ glabel menuitemObjectiveRender ); #endif +const char var7f1adfa0[] = "brcol"; +const char var7f1adfa8[] = "%d: "; +const char var7f1adfb0[] = "%s"; + +// Mismatch: Stack usage is different. Target appears to use compiler-managed +// stack from 0x44 and below, which means the vars from 0x48 to 0x6c are real +// variables, and many are optimised out. +//Gfx *menuitemObjectivesRenderOne(Gfx *gdl, struct menudialog *dialog, s32 index, s32 position, s16 objx, s16 objy, s16 width, s16 height, bool withstatus, s32 arg9) +//{ +// u32 sp12c; +// s32 x; // 128 +// s32 y; // 124 +// char *sp120; +// char buffer[80]; // d0 +// char *spcc; +// u32 spc8; +// s32 textwidth; // c4 +// s32 textheight; // c0 +// s32 spbc; +// s32 tmp; +// s32 spb4; +// s32 spb0; +// s32 spac; +// s32 spa8; +// u32 stack3[2]; +// s32 sp9c; +// s32 sp98; +// u32 s0; +// s32 stack[4]; +// s32 sp80; +// s32 sp7c; +// s32 sp78; +// s32 sp74; +// s32 stack2; +// s32 sp6c; +// s32 sp58; +// s32 sp54; +// +// spbc = 0; +// +// if (arg9) { +// spbc = PAL ? 16 : 12; +// } +// +// mainOverrideVariable("brcol", &var800711e8); +// sp120 = langGet(g_Briefing.objectivenames[index]); +// y = objy; +// sp12c = MIXCOLOUR(dialog, unfocused); +// +// if (dialog->dimmed) { +// sp12c = (colourBlend(sp12c, 0, 0x2c) & 0xffffff00) | (sp12c & 0xff); +// } +// +// func0f153e38(g_MenuColourPalettes3[dialog->type].unfocused, g_MenuColourPalettes2[dialog->type].unfocused); +// buffer[0] = '\0'; +// +// // Render objective number +// gdl = func0f153628(gdl); +// sprintf(buffer, "%d: ", position); +// textMeasure(&textheight, &textwidth, buffer, g_CharsHandelGothicSm, g_FontHandelGothicSm, 0); +// x = objx - textwidth + 25; +// gdl = textRenderProjected(gdl, &x, &y, buffer, g_CharsHandelGothicSm, g_FontHandelGothicSm, sp12c, width, height, 0, 0); +// +// x = objx + 25; +// +// if (arg9) { +// textWrap(85, sp120, buffer, g_CharsHandelGothicXs, g_FontHandelGothicXs); +// gdl = textRenderProjected(gdl, &x, &y, buffer, g_CharsHandelGothicXs, g_FontHandelGothicXs, sp12c, width, height, 0, 0); +// } else { +// sprintf(buffer, "%s", sp120); +// gdl = textRenderProjected(gdl, &x, &y, buffer, g_CharsHandelGothicSm, g_FontHandelGothicSm, sp12c, width, height, 0, 0); +// } +// +// if (withstatus) { +// switch (objectiveCheck(index)) { +// case OBJECTIVE_INCOMPLETE: +// spcc = langGet(L_OPTIONS_001); // "Incomplete" +// spc8 = 0xffff00ff; +// break; +// case OBJECTIVE_COMPLETE: +// spcc = langGet(L_OPTIONS_000); // "Complete" +// spc8 = 0x00ff00ff; +// break; +// case OBJECTIVE_FAILED: +// spcc = langGet(L_OPTIONS_002); // "Failed" +// spc8 = 0xff4040ff; +// break; +// } +// +// if (dialog != g_Menus[g_MpPlayerNum].curdialog) { +// spc8 = g_MenuColourPalettes[0].unfocused; +// } +// +// textMeasure(&textheight, &textwidth, spcc, g_CharsHandelGothicXs, g_FontHandelGothicXs, 0); +// +// if (var800711e8 != 0) { +// spc8 = var800711e8; +// } +// +// x = objx + width - textwidth - 10; +// y = objy + spbc + 9; +// +// gdl = textRenderProjected(gdl, &x, &y, spcc, g_CharsHandelGothicXs, g_FontHandelGothicXs, spc8, width, height, 0, 0); +// +// x = objx + width - textwidth - 10; +// y = objy + spbc + 9; +// +// gdl = textRenderProjected(gdl, &x, &y, spcc, g_CharsHandelGothicXs, g_FontHandelGothicXs, spc8 & 0xffffff7f, width, height, 0, 0); +// +// x = objx + width - textwidth - 13; +// y = objy + 9; +// +// gdl = func0f153780(gdl); +// +// spb4 = objx + 22; +// spb0 = objy - 2; +// spac = objy + 8; +// spa8 = y + spbc + 2; +// tmp = (objx * 3 + objx + 66) / 4; +// sp9c = x; +// sp98 = tmp + 19 + (sp9c - tmp - 24) * (position - 1) / 5; +// +// sp58 = (objx * 3 + objx + 66) / 4 - 1; +// sp54 = (objx * 3 + objx + 66) / 4 + 14; +// +// gdl = menugfx0f0e2498(gdl); +// +// // Blue lines +// gdl = menugfxDrawTessellatedRect(gdl, objx, spb0, spb4, spb0 + 1, sp12c & 0xffffff00, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, spb4, spb0, spb4 + 1, spac, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, objx, spac, sp58, spac + 1, sp12c & 0xffffff00, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58 + 3, spac, spb4 + 1, spac + 1, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58, spac, sp58 + 1, spa8 + 2, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58 + 2, spac, sp58 + 3, spa8, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58 + 2, spa8, sp54, spa8 + 1, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58, spa8 + 2, sp54, spa8 + 3, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp54, spa8, sp98, spa8 + 1, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp54, spa8 + 2, sp98, spa8 + 3, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// +// // Coloured lines +// gdl = menugfxDrawTessellatedRect(gdl, sp98, spa8, sp98 + 1, spa8 + 3, (spc8 & 0xffffff00) | 0x3f, (spc8 & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp98 + 1, spa8 + 1, sp9c - 4, spa8 + 2, (spc8 & 0xffffff00) | 0x3f, (spc8 & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp9c - 4, spa8 + 1, sp9c, spa8 + 2, (spc8 & 0xffffff00) | 0x3f, spc8 & 0xffffff00 | 0xcf); +// } else { +// // Render lines without status +// sp80 = objx + 22; +// sp7c = objy - 2; +// sp78 = objy + 8; +// sp74 = y + 1; +// +// textMeasure(&textheight, &textwidth, sp120, g_CharsHandelGothicSm, g_FontHandelGothicSm, 0); +// +// sp6c = objx + textwidth + 25; +// sp58 = (objx * 3 + objx + 66) / 4 - 1; +// +// gdl = func0f153780(gdl); +// gdl = menugfx0f0e2498(gdl); +// +// gdl = menugfxDrawTessellatedRect(gdl, objx, sp7c, sp80, sp7c + 1, sp12c & 0xffffff00, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp80, sp7c, sp80 + 1, sp78, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, objx, sp78, sp58, sp78 + 1, sp12c & 0xffffff00, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58 + 3, sp78, sp80 + 1, sp78 + 1, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58, sp78, sp58 + 1, sp74 + 2, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58 + 2, sp78, sp58 + 3, sp74, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// gdl = menugfxDrawTessellatedRect(gdl, sp58 + 2, sp74, sp6c, sp74 + 1, (sp12c & 0xffffff00) | 0x3f, (sp12c & 0xffffff00) | 0x3f); +// } +// +// return gdl; +//} + Gfx *menuitemObjectivesRender(Gfx *gdl, struct menurendercontext *context) { s32 y = context->y + 5; @@ -5447,9 +5614,8 @@ Gfx *menuitemObjectivesRender(Gfx *gdl, struct menurendercontext *context) s32 i; for (i = 0; i < 6; i++) { - if (g_Briefing.objectivenames[i] - && g_Briefing.objectivedifficulties[i] & (1 << lvGetDifficulty())) { - gdl = menuitemObjectiveRender(gdl, + if (g_Briefing.objectivenames[i] && g_Briefing.objectivedifficulties[i] & (1 << lvGetDifficulty())) { + gdl = menuitemObjectivesRenderOne(gdl, context->dialog, i, position, context->x, y, context->width, context->height, context->item->param != 1, diff --git a/src/game/nbomb.c b/src/game/nbomb.c index 888e85c65..14e3c8c8c 100644 --- a/src/game/nbomb.c +++ b/src/game/nbomb.c @@ -7,7 +7,7 @@ #include "game/chr/chr.h" #include "game/chr/chraction.h" #include "game/prop.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/atan2f.h" #include "game/game_0b3350.h" #include "game/game_0b4950.h" diff --git a/src/game/objectives/objectives.c b/src/game/objectives/objectives.c index ca93a2eef..094322f82 100644 --- a/src/game/objectives/objectives.c +++ b/src/game/objectives/objectives.c @@ -4,7 +4,7 @@ #include "game/debug.h" #include "game/prop.h" #include "game/game_091e10.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/game_0b3350.h" #include "game/game_0b4950.h" #include "game/hudmsg.h" diff --git a/src/game/player.c b/src/game/player.c index 76f2a8e77..19f6c2f62 100644 --- a/src/game/player.c +++ b/src/game/player.c @@ -12,7 +12,7 @@ #include "game/game_02cde0.h" #include "game/prop.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/atan2f.h" #include "game/game_096ca0.h" #include "game/bondgun.h" diff --git a/src/game/prop.c b/src/game/prop.c index 74c3f52ad..fd3b72a61 100644 --- a/src/game/prop.c +++ b/src/game/prop.c @@ -7,7 +7,7 @@ #include "game/chr/chr.h" #include "game/prop.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/floor.h" #include "game/ceil.h" #include "game/bondgun.h" diff --git a/src/game/propobj.c b/src/game/propobj.c index 0264a1a76..c4f1da423 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -13,7 +13,7 @@ #include "game/prop.h" #include "game/game_091e10.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/game_096360.h" #include "game/atan2f.h" #include "game/acosfasinf.h" diff --git a/src/game/training/training.c b/src/game/training/training.c index cc6761386..b73069c42 100644 --- a/src/game/training/training.c +++ b/src/game/training/training.c @@ -4,7 +4,7 @@ #include "game/dlights.h" #include "game/prop.h" #include "game/game_092610.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/atan2f.h" #include "game/bondgun.h" #include "game/game_0b0fd0.h" diff --git a/src/include/game/game_095320.h b/src/include/game/game_095320.h deleted file mode 100644 index 797fe6c61..000000000 --- a/src/include/game/game_095320.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef IN_GAME_GAME_095320_H -#define IN_GAME_GAME_095320_H -#include -#include "data.h" -#include "types.h" - -u32 xorBaffbeff(u32 value); -u32 xorBabeffff(u32 value); -u32 xorBoobless(u32 value); -void tagsAllocatePtrs(void); -s32 objGetTagNum(struct defaultobj *obj); -s32 objectiveGetCount(void); -u32 objectiveGetDifficultyBits(s32 index); -s32 objectiveCheck(s32 index); -bool objectiveIsAllComplete(void); -void objectivesDisableChecking(void); -void objectivesShowHudmsg(char *buffer, s32 hudmsgtype); -void objectivesCheckAll(void); -void objectiveCheckRoomEntered(s32 currentroom); -void objectiveCheckMultiroomEntered(s32 arg0, s16 *requiredrooms); -void objectiveCheckHolograph(f32 sqdist); -struct prop *chopperGetTargetProp(struct chopperobj *heli); -struct defaultobj *objFindByTagId(s32 tag_id); -struct tag *tagFindById(s32 tag_id); - -#endif diff --git a/src/include/game/menuitem.h b/src/include/game/menuitem.h index 457282d03..46ed481c7 100644 --- a/src/include/game/menuitem.h +++ b/src/include/game/menuitem.h @@ -23,7 +23,7 @@ void menuitemKeyboardInit(struct menuitem *item, union menuitemdata *data); Gfx *menuitemSeparatorRender(Gfx *gdl, struct menurendercontext *context); -Gfx *menuitemObjectiveRender(Gfx *gfx, struct menudialog *dialog, s32 index, s32 position, s32 x, s32 y, s32 width, s32 height, s32 arg8, s32 arg9); +Gfx *menuitemObjectivesRenderOne(Gfx *gdl, struct menudialog *dialog, s32 index, s32 position, s16 objx, s16 objy, s16 width, s16 height, bool withstatus, s32 arg9); Gfx *menuitemObjectivesRender(Gfx *gdl, struct menurendercontext *context); Gfx *menuitemModelRender(Gfx *gdl, struct menurendercontext *context); diff --git a/src/lib/main.c b/src/lib/main.c index 2bc258eed..31dbedc98 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -24,7 +24,7 @@ #include "game/game_00b320.h" #include "game/title.h" #include "game/game_01b0a0.h" -#include "game/game_095320.h" +#include "game/objectives.h" #include "game/endscreen.h" #include "game/game_127910.h" #include "game/game_1531a0.h"