diff --git a/src/game/data/data_020df0.c b/src/game/data/data_020df0.c index a7a398562..0f8bf51d8 100644 --- a/src/game/data/data_020df0.c +++ b/src/game/data/data_020df0.c @@ -12878,7 +12878,7 @@ struct menu_item menuitems_frtraininginfo[] = { { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextGoalScoreLabel, (u32)&frMenuTextGoalScoreValue, NULL }, { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextMinAccuracyOrTargetsLabel, (u32)&frMenuTextMinAccuracyOrTargetsValue, NULL }, { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextTimeLimitLabel, (u32)&frMenuTextTimeLimitValue, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&func0f1a43b8, (u32)&func0f1a441c, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextAmmoLimitLabel, (u32)&func0f1a441c, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, { MENUITEMTYPE_SCROLLABLE, 6, 0x00004000, 0x0000010e, 0x0000005f, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, @@ -12903,7 +12903,7 @@ struct menu_item menuitems_frtraininginfo2[] = { { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextGoalScoreLabel, (u32)&frMenuTextGoalScoreValue, NULL }, { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextMinAccuracyOrTargetsLabel, (u32)&frMenuTextMinAccuracyOrTargetsValue, NULL }, { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextTimeLimitLabel, (u32)&frMenuTextTimeLimitValue, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&func0f1a43b8, (u32)&func0f1a441c, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextAmmoLimitLabel, (u32)&func0f1a441c, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, { MENUITEMTYPE_SCROLLABLE, 6, 0x00004000, 0x0000010e, 0x0000005f, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, diff --git a/src/game/game_1a3340.c b/src/game/game_1a3340.c index a700e63c3..a932536d5 100644 --- a/src/game/game_1a3340.c +++ b/src/game/game_1a3340.c @@ -1132,37 +1132,18 @@ char *frMenuTextTimeLimitValue(struct menu_item *item) return g_StringPointer2; } -GLOBAL_ASM( -glabel func0f1a43b8 -/* f1a43b8: 27bdffe8 */ addiu $sp,$sp,-24 -/* f1a43bc: afbf0014 */ sw $ra,0x14($sp) -/* f1a43c0: 0fc675f3 */ jal getFiringRangeData -/* f1a43c4: afa40018 */ sw $a0,0x18($sp) -/* f1a43c8: 904e0006 */ lbu $t6,0x6($v0) -/* f1a43cc: 240100ff */ addiu $at,$zero,0xff -/* f1a43d0: 11c1000b */ beq $t6,$at,.L0f1a4400 -/* f1a43d4: 00000000 */ sll $zero,$zero,0x0 -/* f1a43d8: 0fc5b9f1 */ jal langGet -/* f1a43dc: 240451d7 */ addiu $a0,$zero,0x51d7 -/* f1a43e0: 3c048007 */ lui $a0,%hi(g_StringPointer) -/* f1a43e4: 3c057f1c */ lui $a1,%hi(var7f1b984c) -/* f1a43e8: 24a5984c */ addiu $a1,$a1,%lo(var7f1b984c) -/* f1a43ec: 8c841440 */ lw $a0,%lo(g_StringPointer)($a0) -/* f1a43f0: 0c004dad */ jal sprintf -/* f1a43f4: 00403025 */ or $a2,$v0,$zero -/* f1a43f8: 10000003 */ beqz $zero,.L0f1a4408 -/* f1a43fc: 3c028007 */ lui $v0,%hi(g_StringPointer) -.L0f1a4400: -/* f1a4400: 10000002 */ beqz $zero,.L0f1a440c -/* f1a4404: 00001025 */ or $v0,$zero,$zero -.L0f1a4408: -/* f1a4408: 8c421440 */ lw $v0,%lo(g_StringPointer)($v0) -.L0f1a440c: -/* f1a440c: 8fbf0014 */ lw $ra,0x14($sp) -/* f1a4410: 27bd0018 */ addiu $sp,$sp,0x18 -/* f1a4414: 03e00008 */ jr $ra -/* f1a4418: 00000000 */ sll $zero,$zero,0x0 -); +char *frMenuTextAmmoLimitLabel(struct menu_item *item) +{ + struct frdata *frdata = getFiringRangeData(); + + if (frdata->ammolimit != 255) { + sprintf(g_StringPointer, "%s", langGet(L_MPMENU(471))); // "Ammo Limit:" + } else { + return NULL; + } + + return g_StringPointer; +} GLOBAL_ASM( glabel func0f1a441c @@ -4751,7 +4732,6 @@ void *func0f1a7878(u16 fileid, s32 arg1, s32 arg2) return func0f1a7794(fileid, arg1, arg2, 0); } -const char var7f1b984c[] = "%s"; const char var7f1b9850[] = "/%d"; const char var7f1b9854[] = "%d%s\n"; const char var7f1b985c[] = "x1"; diff --git a/src/include/game/game_1a3340.h b/src/include/game/game_1a3340.h index d199d21b7..d36fa7a16 100644 --- a/src/include/game/game_1a3340.h +++ b/src/include/game/game_1a3340.h @@ -16,7 +16,7 @@ char *frMenuTextMinAccuracyOrTargetsLabel(struct menu_item *item); char *frMenuTextMinAccuracyOrTargetsValue(struct menu_item *item); char *frMenuTextTimeLimitLabel(struct menu_item *item); char *frMenuTextTimeLimitValue(struct menu_item *item); -u32 func0f1a43b8(void); +char *frMenuTextAmmoLimitLabel(struct menu_item *item); u32 func0f1a441c(void); u32 func0f1a628c(void); u32 func0f1a62e0(void); diff --git a/src/include/types.h b/src/include/types.h index 1ded80f18..4d9e605fc 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -5332,7 +5332,7 @@ struct frdata { /*0x002*/ u16 goalscore; /*0x004*/ u8 goaltargets; /*0x005*/ u8 timelimit; - /*0x006*/ u8 unk006; + /*0x006*/ u8 ammolimit; /*0x007*/ u8 unk007; /*0x008*/ u8 goalaccuracy; /*0x00c*/ u32 unk00c;