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
@@ -807,7 +807,7 @@ void daObjStone_c::init_modeBreak() {
JPABaseEmitter* emitter = dComIfGp_particle_set(
0x15c, &current.pos, 0, &acStack_40, 0xff, &dPa_modelEcallBack::getEcallback(), fopAcM_GetRoomNo(this), 0, 0, 0);
dPa_modelEcallBack::setModel(emitter, stone_bmd, tevStr,
3, 0, NULL, 0);
3, 0, 0, 0);
for (int i = 0; i < 3; i = i + 1) {
dComIfGp_particle_set(
l_eff_id[i],
@@ -947,7 +947,7 @@ void daObjStone_c::set_carry_eff() {
if (field_0x0950 == 3) {
for (int i = 0; i < 3; i++) {
field_0x0964[i] =
dComIfGp_particle_set(l_carry_eff_id[i], &current.pos, 0, &pos, 0xFF, 0, 0xFFFFFFFF,
dComIfGp_particle_set(l_carry_eff_id[i], &current.pos, 0, &pos, 0xFF, 0, -1,
0, 0, 0); // float literal inline
if (field_0x0964[i] != 0) {
field_0x0964[i]->becomeImmortalEmitter();