set(CMAKE_C_COMPILER gcc)
FILE(GLOB POSIX_SRC src/*.c src/platforms/platform_posix.c)
+
+# Win is built with ./build_win.sh
FILE(GLOB WINDOWS_SRC src/*.c src/platforms/platform_posix.c)
add_executable(posix_BC ${POSIX_SRC})
# https://wiki.winehq.org/Debug_Channels
# WINEDEBUG=warn+module wine release/win/barrow.exe
-CC=x86_64-w64-mingw32-gcc
-RAYLIB_DIR=/home/randy/Downloads/raylib-5.0_win64_mingw-w64
-LIBDIR=/usr/x86_64-w64-mingw32
-RAYLIB=$RAYLIB_DIR/lib/libraylib.a
-PTH=$LIBDIR/bin/libwinpthread-1.dll
-SRCS="./src/*.c ./src/platforms/platform_posix.c"
-OUTDIR="./release/win"
+export CC=x86_64-w64-mingw32-gcc
+export RAYLIBDIR=./external/raylib-5.5_win64_mingw-w64
+export LIBDIR=/usr/x86_64-w64-mingw32
+export PTH=$LIBDIR/bin/libwinpthread-1.dll
+export SRCS="./src/*.c ./src/platforms/platform_posix.c"
+export OUTDIR="./release/win"
rm -rf ./release/win
mkdir ./release/win
mkdir ./release/win/src
mkdir ./release/win/src/shaders
-$CC $SRCS $PTH raylib.dll -mthreads -mwindows -lwinmm -o ./release/win/barrow.exe
+$CC $RAYLIBDIR/lib/raylib.dll $SRCS $PTH -DMINGW -mthreads -mwindows -lwinmm -I$LIBDIR/include -I$RAYLIBDIR/include -o ./release/win/barrow.exe
cp $PTH $OUTDIR/
-cp $RAYLIB_DIR/lib/raylib.dll $OUTDIR/
+cp $RAYLIBDIR/lib/raylib.dll $OUTDIR/
cp -r src/shaders $OUTDIR/src/
cp -r assets $OUTDIR/
cp LICENSES.TXT $OUTDIR/
int save_game(PlaytimeData playtime)
{
int success = -1;
+
+#ifdef MINGW
+ success = mkdir("./save");
+#else
success = mkdir("./save", 0755);
+#endif
if ((success == 0) || (errno == EEXIST))
{
--- /dev/null
+#ifndef __UTILS_GUARD__
+#define __UTILS_GUARD__
+#include "structs.h"
+
+#ifdef MINGW
+#include <minwindef.h>
+#define MAX(a,b) max(a,b)
+#endif
+
+bool initialize_generation_info(const IVec2 pgrid_size, const int pworker_count);
+bool deinitialize_generation_info();
+
+int cleanup_generated_files();
+int delete_save();
+
+#endif /* __UTILS_GUARD__ */
+