From 9baf2c67f5ce1bd2b1726517173fbcc82f4cbf0e Mon Sep 17 00:00:00 2001 From: James Dansereau <106631954+jkdansereau@users.noreply.github.com> Date: Wed, 2 Sep 2026 21:47:11 -0400 Subject: [PATCH] linux-build: PORT-guarded append_text_picked_up signature for GCC 14 The vestigial u8* param2/param3 receive an AMMOTYPE enum and a u32 at both callsites. GCC 14 treats enum->pointer as a hard 'incompatible type for argument' error that -fpermissive does not downgrade (unlike the int<->pointer permerrors). Guard the definition with #ifdef PORT to match the callsites' actual types; params stay unused so codegen is unchanged and the N64 source path is literally untouched. --- src/game/propobj.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/game/propobj.c b/src/game/propobj.c index 43a1a701..d7de6fef 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -9921,7 +9921,14 @@ void sub_GAME_7F04F244(PropRecord* prop, rect4f** polygon, s32* edges, f32* top, } +#ifdef PORT +/* GCC 14 rejects the vestigial u8* params (enum/int -> pointer is a hard + error, not downgraded by -fpermissive). param2/param3 are unused; match + the two callsites' actual types. Codegen-neutral. */ +void append_text_picked_up(u8 *buffer, AMMOTYPE param2, u32 param3) +#else void append_text_picked_up(u8 *buffer,u8 * param2,u8 * param3) +#endif { u8 *str;