diff --git a/Makefile b/Makefile index db134f3..90cb885 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ TARGET_NAME := jaildoctors_dilemma TARGET_FILE := $(DIR_BIN)$(TARGET_NAME) APP_NAME := JailDoctor's Dilemma DIST_DIR := dist -RELEASE_FOLDER := jdd_release +RELEASE_FOLDER := dist/_tmp RELEASE_FILE := $(RELEASE_FOLDER)/$(TARGET_NAME) RESOURCE_FILE := release/windows/jdd.res @@ -76,6 +76,8 @@ APP_SOURCES := \ source/core/rendering/text.cpp \ source/core/rendering/texture.cpp \ source/core/rendering/gif.cpp \ + source/core/rendering/pixel_reveal.cpp \ + source/core/rendering/surface_dissolve_sprite.cpp \ source/core/rendering/opengl/opengl_shader.cpp \ source/core/resources/resource_list.cpp \ source/core/resources/resource_cache.cpp \ @@ -184,13 +186,6 @@ windows: g++ $(ALL_SOURCES) $(RESOURCE_FILE) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(WIN_TARGET_FILE).exe" strip -s -R .comment -R .gnu.version "$(WIN_TARGET_FILE).exe" --strip-unneeded -windows_debug: - @echo off - @echo Generando version.h... - @powershell -Command "$$GIT_HASH = (git rev-parse --short=7 HEAD 2>$$null); if (-not $$GIT_HASH) { $$GIT_HASH = 'unknown' }; (Get-Content source/version.h.in) -replace '@GIT_HASH@', $$GIT_HASH | Set-Content source/version.h" - @echo Compilando version debug para Windows: "$(WIN_TARGET_FILE)_debug.exe" - g++ $(ALL_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(WIN_TARGET_FILE)_debug.exe" - windows_release: @$(MAKE) pack_tool @$(MAKE) resources.pack @@ -201,7 +196,8 @@ windows_release: @echo "Generando version.h..." @powershell -Command "$$GIT_HASH = (git rev-parse --short=7 HEAD 2>$$null); if (-not $$GIT_HASH) { $$GIT_HASH = 'unknown' }; (Get-Content source/version.h.in) -replace '@GIT_HASH@', $$GIT_HASH | Set-Content source/version.h" -# Crea carpeta temporal 'RELEASE_FOLDER' +# Crea carpeta de distribución y carpeta temporal 'RELEASE_FOLDER' + powershell if (-not (Test-Path "$(DIST_DIR)")) {New-Item "$(DIST_DIR)" -ItemType Directory} powershell if (Test-Path "$(RELEASE_FOLDER)") {Remove-Item "$(RELEASE_FOLDER)" -Recurse -Force} powershell if (-not (Test-Path "$(RELEASE_FOLDER)")) {New-Item "$(RELEASE_FOLDER)" -ItemType Directory} @@ -220,7 +216,6 @@ windows_release: strip -s -R .comment -R .gnu.version "$(WIN_RELEASE_FILE).exe" --strip-unneeded # Crea el fichero .zip - powershell if (-not (Test-Path "$(DIST_DIR)")) {New-Item "$(DIST_DIR)" -ItemType Directory} powershell if (Test-Path "$(WINDOWS_RELEASE)") {Remove-Item "$(WINDOWS_RELEASE)"} powershell Compress-Archive -Path "$(RELEASE_FOLDER)"/* -DestinationPath "$(WINDOWS_RELEASE)" @echo Release creado: $(WINDOWS_RELEASE) @@ -237,12 +232,6 @@ macos: @echo "Compilando para macOS: $(TARGET_NAME)" clang++ $(ALL_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE)" -macos_debug: - @GIT_HASH=$$(git rev-parse --short=7 HEAD 2>/dev/null || echo "unknown"); \ - sed "s/@GIT_HASH@/$$GIT_HASH/g" source/version.h.in > source/version.h - @echo "Compilando version debug para macOS: $(TARGET_NAME)_debug" - clang++ $(ALL_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug" - macos_release: @$(MAKE) pack_tool @$(MAKE) resources.pack @@ -258,21 +247,18 @@ macos_release: # Elimina datos de compilaciones anteriores $(RMDIR) "$(RELEASE_FOLDER)" - $(RMDIR) Frameworks $(RMFILE) tmp.dmg - + $(RMFILE) "$(DIST_DIR)"/rw.* # Crea la carpeta temporal para hacer el trabajo y las carpetas obligatorias para crear una app de macOS $(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks" $(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS" $(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" - $(MKDIR) Frameworks # Copia carpetas y ficheros cp resources.pack "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" cp gamecontrollerdb.txt "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" cp -R release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64/SDL3.framework "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks" - cp -R release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64/SDL3.framework Frameworks cp release/icons/*.icns "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" cp release/macos/Info.plist "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents" cp LICENSE "$(RELEASE_FOLDER)" @@ -285,7 +271,7 @@ macos_release: sed -i '' '/CFBundleVersion<\/key>/{n;s|.*|'"$$RAW_VERSION"'|;}' "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Info.plist" # Compila la versión para procesadores Intel - clang++ $(ALL_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DRELEASE_BUILD -std=$(CPP_STANDARD) -Wall -Os -framework SDL3 -F ./Frameworks -framework OpenGL -Wno-deprecated -ffunction-sections -fdata-sections -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.15 + clang++ $(ALL_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DRELEASE_BUILD -std=$(CPP_STANDARD) -Wall -Os -framework SDL3 -F release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64 -framework OpenGL -Wno-deprecated -ffunction-sections -fdata-sections -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.15 # Firma la aplicación codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app" @@ -309,7 +295,7 @@ macos_release: @echo "Release Intel creado: $(MACOS_INTEL_RELEASE)" # Compila la versión para procesadores Apple Silicon - clang++ $(ALL_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DRELEASE_BUILD -std=$(CPP_STANDARD) -Wall -Os -framework SDL3 -F ./Frameworks -framework OpenGL -Wno-deprecated -ffunction-sections -fdata-sections -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target arm64-apple-macos11 + clang++ $(ALL_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DRELEASE_BUILD -std=$(CPP_STANDARD) -Wall -Os -framework SDL3 -F release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64 -framework OpenGL -Wno-deprecated -ffunction-sections -fdata-sections -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target arm64-apple-macos11 # Firma la aplicación codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app" @@ -332,8 +318,8 @@ macos_release: @echo "Release Apple Silicon creado: $(MACOS_APPLE_SILICON_RELEASE)" # Elimina las carpetas temporales - $(RMDIR) Frameworks $(RMDIR) "$(RELEASE_FOLDER)" + $(RMFILE) "$(DIST_DIR)"/rw.* # ============================================================================== # COMPILACIÓN PARA LINUX @@ -345,12 +331,6 @@ linux: g++ $(ALL_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE)" strip -s -R .comment -R .gnu.version "$(TARGET_FILE)" --strip-unneeded -linux_debug: - @GIT_HASH=$$(git rev-parse --short=7 HEAD 2>/dev/null || echo "unknown"); \ - sed "s/@GIT_HASH@/$$GIT_HASH/g" source/version.h.in > source/version.h - @echo "Compilando version debug para Linux: $(TARGET_NAME)_debug" - g++ $(ALL_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug" - linux_release: @$(MAKE) pack_tool @$(MAKE) resources.pack @@ -398,13 +378,10 @@ help: @echo "Makefile para JailDoctor's Dilemma" @echo "Comandos disponibles:" @echo " windows - Compilar para Windows" - @echo " windows_debug - Compilar debug para Windows" @echo " windows_release - Crear release completo para Windows" @echo " linux - Compilar para Linux" - @echo " linux_debug - Compilar debug para Linux" @echo " linux_release - Crear release completo para Linux" @echo " macos - Compilar para macOS" - @echo " macos_debug - Compilar debug para macOS" @echo " macos_release - Crear release completo para macOS" @echo " pack_tool - Compilar herramienta de empaquetado" @echo " resources.pack - Generar pack de recursos desde data/" @@ -413,4 +390,4 @@ help: FORCE: -.PHONY: windows windows_debug windows_release macos macos_debug macos_release linux linux_debug linux_release pack_tool resources.pack show_version help +.PHONY: windows windows_release macos macos_release linux linux_release pack_tool resources.pack show_version help