diff --git a/CMakeLists.txt b/CMakeLists.txt index c112202..6061588 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,16 @@ +cmake_minimum_required(VERSION 3.20) + file(GLOB_RECURSE PSYCROSS_SRCS_C - "*.c" + "*.c" "*.C" ) file(GLOB_RECURSE PSYCROSS_SRCS_CPP "*.cpp" ) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-narrowing") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-narrowing") + set_source_files_properties( ${PSYCROSS_SRCS_C} PROPERTIES LANGUAGE C) set_source_files_properties( ${PSYCROSS_SRCS_CPP} PROPERTIES LANGUAGE CXX) #set_source_files_properties( "src/gte/PsyX_GTE.cpp" PROPERTIES LANGUAGE C) @@ -18,6 +23,6 @@ find_package(SDL2 REQUIRED) target_link_libraries(psycross_static ${SDL2_LIBRARIES}) target_include_directories(psycross_static PRIVATE ${SDL2_INCLUDE_DIRS}) -find_package(OPENAL REQUIRED) +find_package(OpenAL REQUIRED) target_link_libraries(psycross_static OpenAL) target_include_directories(psycross_static PRIVATE ${OpenAL_BINARY_DIR} ${OpenAL_SOURCE_DIR}/include) \ No newline at end of file diff --git a/include/psx/kernel.h b/include/psx/kernel.h index 4ee9024..e6065f0 100644 --- a/include/psx/kernel.h +++ b/include/psx/kernel.h @@ -109,7 +109,7 @@ struct EvCB { }; //#if !defined(D3D9) -#if 0///@FIXME Really not defined D3D9 :/ +#if __GNUC__///@FIXME Really not defined D3D9 :/ struct EXEC { unsigned int pc0; unsigned int gp0; diff --git a/src/PsyX_main.cpp b/src/PsyX_main.cpp index aab0e6a..436c2ae 100644 --- a/src/PsyX_main.cpp +++ b/src/PsyX_main.cpp @@ -25,6 +25,7 @@ #include "PsyX/PsyX_render.h" #ifdef _WIN32 +#include #include #endif // _WIN32 @@ -269,7 +270,8 @@ static void PsyX_Sys_InitialiseInput() } #ifdef __GNUC__ -#define _stricmp(s1, s2) strcasecmp(s1, s2) +// should be strcasecmp, but this one never existed in C's std, and all the usage-cases don't seem to fail on Linux/Mingw. +#define _stricmp(s1, s2) strcmp(s1, s2) #endif // Keyboard mapping lookup diff --git a/src/psx/LIBGPU.C b/src/psx/LIBGPU.C index 23eebbb..2133b3a 100644 --- a/src/psx/LIBGPU.C +++ b/src/psx/LIBGPU.C @@ -550,7 +550,7 @@ void CatPrim(void* p0, void* p1) catPrim(p0, p1); } -u_short LoadTPage(u_int* pix, int tp, int abr, int x, int y, int w, int h) +u_short LoadTPage(u_long* pix, int tp, int abr, int x, int y, int w, int h) { RECT16 imageArea; imageArea.x = x; diff --git a/src/psx/LIBGTE.C b/src/psx/LIBGTE.C index 2c14715..a8f1466 100644 --- a/src/psx/LIBGTE.C +++ b/src/psx/LIBGTE.C @@ -134,7 +134,7 @@ void RotTransSV(SVECTOR* v0, SVECTOR* v1, long* flag) gte_stflg(flag); } -int RotTransPers(SVECTOR* v0, int* sxy, long* p, long* flag) +int RotTransPers(SVECTOR* v0, long* sxy, long* p, long* flag) { int sz; gte_RotTransPers(v0, sxy, p, flag, &sz);