diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e06d38a..1ac7c3a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,6 +118,7 @@ list(FILTER ALL_FILES EXCLUDE REGEX "src/engine/fox_load_inits.c") list(FILTER ALL_FILES EXCLUDE REGEX "src/overlays/ovl_ending/fox_end2_data.c") list(FILTER ALL_FILES EXCLUDE REGEX "src/sys/sys_timer.c") list(FILTER ALL_FILES EXCLUDE REGEX "src/sys/sys_fault.c") +list(FILTER ALL_FILES EXCLUDE REGEX "src/mods/object_ram.c") if (CMAKE_SYSTEM_NAME STREQUAL "iOS") set(IOS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/ios) @@ -173,7 +174,7 @@ if (MSVC) endif() #==============================================================================# -# Libultraship Integration # +# Libultraship Integration # #==============================================================================# include_directories( @@ -210,6 +211,10 @@ include_directories( ${GLEW_INCLUDE_DIRS} ) +add_subdirectory(libultraship ${CMAKE_CURRENT_SOURCE_DIR}/libultraship) +add_dependencies(${PROJECT_NAME} libultraship) +target_link_libraries(${PROJECT_NAME} PRIVATE libultraship) + if (CMAKE_SYSTEM_NAME STREQUAL "Windows") if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") target_compile_definitions(${PROJECT_NAME} PRIVATE @@ -277,10 +282,7 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU|Clang|AppleClang") ) endif() -add_subdirectory(libultraship ${CMAKE_CURRENT_SOURCE_DIR}/libultraship) -add_dependencies(${PROJECT_NAME} libultraship) -target_link_libraries(${PROJECT_NAME} PRIVATE libultraship) if (CMAKE_SYSTEM_NAME STREQUAL "Windows") set(ADDITIONAL_LIBRARY_DEPENDENCIES "$<$:SDL2_net::SDL2_net-static>" diff --git a/include/libc/math.h b/include/libc/math.h index a61447f3..414d84c7 100644 --- a/include/libc/math.h +++ b/include/libc/math.h @@ -4,7 +4,7 @@ #include #include -#define M_PI 3.14159265358979323846264338327950288f +#define M_PI 3.14159265358979323846f #define M_DTOR (M_PI / 180.0f) #define M_RTOD (180.0f / M_PI) #define M_SQRT2 1.41421356237309504880f @@ -13,6 +13,20 @@ #define SHT_MAX 32767.0f #define SHT_MINV (1.0f / SHT_MAX) +typedef union { + struct { + u32 hi; + u32 lo; + } word; + + f64 d; +} du; + +typedef union { + u32 i; + f32 f; +} fu; + #define __floorf floorf #define __floor floor #define __lfloorf lfloorf diff --git a/src/mods/object_ram.c b/src/mods/object_ram.c index 6cf283c3..092a3bfd 100644 --- a/src/mods/object_ram.c +++ b/src/mods/object_ram.c @@ -1,4 +1,5 @@ #include "object_ram.h" +#include "libc/math.h" static RamEntry oRamEntries[7] = { ORAM_ENTRY(Player, 0, unk_20C, s32), ORAM_ENTRY(Player, 0, unk_19C, s32), ORAM_ENTRY(Player, 0, unk_1A0, s32),