diff --git a/configure.py b/configure.py index 121f802d..89eeff37 100644 --- a/configure.py +++ b/configure.py @@ -194,6 +194,7 @@ cflags_egg = [ *cflags_base, "-inline noauto", "-fp_contract off", + "-ipa file", ] # nw4r flags diff --git a/src/egg/core/eggAsyncDisplay.cpp b/src/egg/core/eggAsyncDisplay.cpp index 7a128d55..0901271f 100644 --- a/src/egg/core/eggAsyncDisplay.cpp +++ b/src/egg/core/eggAsyncDisplay.cpp @@ -19,19 +19,6 @@ u8 clear_z_TX[64] ALIGN(32) = { // clang-format on } // namespace -// Hacks for float ordering -static f32 one() { - return 1.0f; -} - -static f64 cast() { - return 4503599627370496.0; -} - -static f32 zero() { - return 0.0f; -} - namespace EGG { AsyncDisplay::AsyncDisplay(u8 maxRetrace) : Display(maxRetrace) { @@ -46,6 +33,12 @@ AsyncDisplay::AsyncDisplay(u8 maxRetrace) : Display(maxRetrace) { OSInitMessageQueue(&this->mMesgQueue, this->mMesgBuf, 4); } +// Random function that pretends to do an int to float +// cast here, for float ordering issues +f64 cast() { + return 4503599627370496.0; +} + f32 AsyncDisplay::calcS() { f32 tmp = this->field_0x9C + this->field_0xA0; this->field_0x9C = tmp;