More GCC compatibility/warning fixes (#3118)

* Wrap >4-char literals in a MULTI_CHAR macro

Modern compilers do not support CW's non-standard behavior with
>4 char literals. We can, however, use a constexpr function to
compute the u64 values directly. This leaves <=4 char literals
unchanged.

* Replace non-pointer usages of NULL with 0

* Define NULL to nullptr on C++11 and above

* Fix more -Wpointer-arith and -Woverflow warnings

* Replace u32/s32 with uintptr_t/intptr_t where appropriate

* JSUOutputStream: Overload all standard int types
This commit is contained in:
Luke Street
2026-02-28 21:19:17 -07:00
committed by GitHub
parent 38b7156a8e
commit 6e748ac283
169 changed files with 1849 additions and 1818 deletions
+2 -2
View File
@@ -277,7 +277,7 @@ static void message_shop(npc_henna_class* i_this) {
i_this->field_0x750 = 1;
}
if (i_this->field_0x750 != 0) {
fopAcM_OffStatus(actor, NULL);
fopAcM_OffStatus(actor, 0);
cLib_offBit<u32>(actor->attention_info.flags, fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
} else {
fopAcM_OnStatus(actor, 0);
@@ -2498,7 +2498,7 @@ static int daNpc_Henna_Execute(npc_henna_class* i_this) {
mDoMtx_stack_c::transS(-460.0f + AREG_F(0), 51.0f + AREG_F(1),
-240.0f + AREG_F(2));
mDoMtx_stack_c::YrotM(-17729 + AREG_S(0));
mDoMtx_stack_c::XrotM(AREG_S(1) - 0x8107);
mDoMtx_stack_c::XrotM((s16)(AREG_S(1) - 0x8107));
mDoMtx_stack_c::ZrotM(AREG_S(2) + 2000 + sp_0xe);
} else {
mDoMtx_stack_c::transS(-790.0f + AREG_F(0), 153.0f + AREG_F(1),