Compare commits
9 Commits
5d1c6c6d99
...
2025-10-25
| Author | SHA1 | Date | |
|---|---|---|---|
| d2be113c4e | |||
| 052bb063df | |||
| 9d974438b3 | |||
| b9fe376f2a | |||
| 0c05f6d5b6 | |||
| 39125ee57c | |||
| 7ebeeebaaf | |||
| c6c7b63f6d | |||
| 7959baeed9 |
7
.gitignore
vendored
7
.gitignore
vendored
@@ -18,6 +18,9 @@ debug.txt
|
|||||||
cppcheck-result*
|
cppcheck-result*
|
||||||
desktop.ini
|
desktop.ini
|
||||||
ccae_release/
|
ccae_release/
|
||||||
|
Frameworks/
|
||||||
resources.pack
|
resources.pack
|
||||||
tools/pack_resources.cpp
|
|
||||||
pack_resources.cpp
|
# Herramienta pack_resources (todas las plataformas)
|
||||||
|
tools/pack_resources
|
||||||
|
tools/pack_resources.exe
|
||||||
|
|||||||
89
Makefile
89
Makefile
@@ -150,7 +150,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Reglas para herramienta de empaquetado y resources.pack
|
# Reglas para herramienta de empaquetado y resources.pack
|
||||||
$(PACK_TOOL): $(PACK_SOURCES)
|
$(PACK_TOOL): FORCE
|
||||||
@echo "Compilando herramienta de empaquetado..."
|
@echo "Compilando herramienta de empaquetado..."
|
||||||
$(PACK_CXX) -std=c++20 -Wall -Os $(PACK_INCLUDES) $(PACK_SOURCES) -o $(PACK_TOOL)
|
$(PACK_CXX) -std=c++20 -Wall -Os $(PACK_INCLUDES) $(PACK_SOURCES) -o $(PACK_TOOL)
|
||||||
@echo "✓ Herramienta de empaquetado lista: $(PACK_TOOL)"
|
@echo "✓ Herramienta de empaquetado lista: $(PACK_TOOL)"
|
||||||
@@ -180,7 +180,9 @@ windows_debug:
|
|||||||
@echo Compilando version debug para Windows: "$(APP_NAME)_debug.exe"
|
@echo Compilando version debug para Windows: "$(APP_NAME)_debug.exe"
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(WIN_TARGET_FILE)_debug.exe"
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(WIN_TARGET_FILE)_debug.exe"
|
||||||
|
|
||||||
windows_release: resources.pack
|
windows_release:
|
||||||
|
@$(MAKE) pack_tool
|
||||||
|
@$(MAKE) resources.pack
|
||||||
@echo off
|
@echo off
|
||||||
@echo Creando release para Windows - Version: $(VERSION)
|
@echo Creando release para Windows - Version: $(VERSION)
|
||||||
|
|
||||||
@@ -199,7 +201,7 @@ windows_release: resources.pack
|
|||||||
|
|
||||||
# Compila
|
# Compila
|
||||||
windres release/coffee.rc -O coff -o $(RESOURCE_FILE)
|
windres release/coffee.rc -O coff -o $(RESOURCE_FILE)
|
||||||
$(CXX) $(APP_SOURCES) $(RESOURCE_FILE) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(WIN_RELEASE_FILE).exe"
|
$(CXX) $(APP_SOURCES) $(RESOURCE_FILE) $(INCLUDES) -DRELEASE_BUILD $(CXXFLAGS) $(LDFLAGS) -o "$(WIN_RELEASE_FILE).exe"
|
||||||
strip -s -R .comment -R .gnu.version "$(WIN_RELEASE_FILE).exe" --strip-unneeded
|
strip -s -R .comment -R .gnu.version "$(WIN_RELEASE_FILE).exe" --strip-unneeded
|
||||||
|
|
||||||
# Crea el fichero .zip
|
# Crea el fichero .zip
|
||||||
@@ -218,8 +220,14 @@ macos_debug:
|
|||||||
@echo "Compilando version debug para macOS: $(TARGET_NAME)_debug"
|
@echo "Compilando version debug para macOS: $(TARGET_NAME)_debug"
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug"
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug"
|
||||||
|
|
||||||
macos_release: resources.pack
|
macos_release:
|
||||||
|
@$(MAKE) pack_tool
|
||||||
|
@$(MAKE) resources.pack
|
||||||
@echo "Creando release para macOS - Version: $(VERSION)"
|
@echo "Creando release para macOS - Version: $(VERSION)"
|
||||||
|
|
||||||
|
# Verificar e instalar create-dmg si es necesario
|
||||||
|
@which create-dmg > /dev/null || (echo "Instalando create-dmg..." && brew install create-dmg)
|
||||||
|
|
||||||
# Elimina datos de compilaciones anteriores
|
# Elimina datos de compilaciones anteriores
|
||||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
$(RMDIR) Frameworks
|
$(RMDIR) Frameworks
|
||||||
@@ -243,33 +251,52 @@ macos_release: resources.pack
|
|||||||
cp LICENSE "$(RELEASE_FOLDER)"
|
cp LICENSE "$(RELEASE_FOLDER)"
|
||||||
cp README.md "$(RELEASE_FOLDER)"
|
cp README.md "$(RELEASE_FOLDER)"
|
||||||
|
|
||||||
# Crea enlaces
|
|
||||||
ln -s /Applications "$(RELEASE_FOLDER)"/Applications
|
|
||||||
|
|
||||||
# Compila la versión para procesadores Intel
|
# Compila la versión para procesadores Intel
|
||||||
ifdef ENABLE_MACOS_X86_64
|
ifdef ENABLE_MACOS_X86_64
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) -DMACOS_BUNDLE $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.15
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DRELEASE_BUILD $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.15
|
||||||
|
|
||||||
# Firma la aplicación
|
# Firma la aplicación
|
||||||
codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app"
|
codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app"
|
||||||
|
|
||||||
# Empaqueta el .dmg de la versión Intel
|
# Empaqueta el .dmg de la versión Intel con create-dmg
|
||||||
hdiutil create tmp.dmg -ov -volname "$(APP_NAME)" -fs HFS+ -srcfolder "$(RELEASE_FOLDER)"
|
@echo "Creando DMG Intel con iconos de 96x96..."
|
||||||
hdiutil convert tmp.dmg -format UDZO -o "$(MACOS_INTEL_RELEASE)"
|
create-dmg \
|
||||||
$(RMFILE) tmp.dmg
|
--volname "$(APP_NAME)" \
|
||||||
|
--window-pos 200 120 \
|
||||||
|
--window-size 720 300 \
|
||||||
|
--icon-size 96 \
|
||||||
|
--text-size 12 \
|
||||||
|
--icon "$(APP_NAME).app" 278 102 \
|
||||||
|
--icon "LICENSE" 441 102 \
|
||||||
|
--icon "README.md" 604 102 \
|
||||||
|
--app-drop-link 115 102 \
|
||||||
|
--hide-extension "$(APP_NAME).app" \
|
||||||
|
"$(MACOS_INTEL_RELEASE)" \
|
||||||
|
"$(RELEASE_FOLDER)" || true
|
||||||
@echo "Release Intel creado: $(MACOS_INTEL_RELEASE)"
|
@echo "Release Intel creado: $(MACOS_INTEL_RELEASE)"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Compila la versión para procesadores Apple Silicon
|
# Compila la versión para procesadores Apple Silicon
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DSDL_DISABLE_IMMINTRIN_H $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target arm64-apple-macos11
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DRELEASE_BUILD -DSDL_DISABLE_IMMINTRIN_H $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target arm64-apple-macos11
|
||||||
|
|
||||||
# Firma la aplicación
|
# Firma la aplicación
|
||||||
codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app"
|
codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app"
|
||||||
|
|
||||||
# Empaqueta el .dmg de la versión Apple Silicon
|
# Empaqueta el .dmg de la versión Apple Silicon con create-dmg
|
||||||
hdiutil create tmp.dmg -ov -volname "$(APP_NAME)" -fs HFS+ -srcfolder "$(RELEASE_FOLDER)"
|
@echo "Creando DMG Apple Silicon con iconos de 96x96..."
|
||||||
hdiutil convert tmp.dmg -format UDZO -o "$(MACOS_APPLE_SILICON_RELEASE)"
|
create-dmg \
|
||||||
$(RMFILE) tmp.dmg
|
--volname "$(APP_NAME)" \
|
||||||
|
--window-pos 200 120 \
|
||||||
|
--window-size 720 300 \
|
||||||
|
--icon-size 96 \
|
||||||
|
--text-size 12 \
|
||||||
|
--icon "$(APP_NAME).app" 278 102 \
|
||||||
|
--icon "LICENSE" 441 102 \
|
||||||
|
--icon "README.md" 604 102 \
|
||||||
|
--app-drop-link 115 102 \
|
||||||
|
--hide-extension "$(APP_NAME).app" \
|
||||||
|
"$(MACOS_APPLE_SILICON_RELEASE)" \
|
||||||
|
"$(RELEASE_FOLDER)" || true
|
||||||
@echo "Release Apple Silicon creado: $(MACOS_APPLE_SILICON_RELEASE)"
|
@echo "Release Apple Silicon creado: $(MACOS_APPLE_SILICON_RELEASE)"
|
||||||
|
|
||||||
# Elimina las carpetas temporales
|
# Elimina las carpetas temporales
|
||||||
@@ -285,7 +312,9 @@ linux_debug:
|
|||||||
@echo "Compilando version debug para Linux: $(TARGET_NAME)_debug"
|
@echo "Compilando version debug para Linux: $(TARGET_NAME)_debug"
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug"
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DDEBUG -DVERBOSE $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug"
|
||||||
|
|
||||||
linux_release: resources.pack
|
linux_release:
|
||||||
|
@$(MAKE) pack_tool
|
||||||
|
@$(MAKE) resources.pack
|
||||||
@echo "Creando release para Linux - Version: $(VERSION)"
|
@echo "Creando release para Linux - Version: $(VERSION)"
|
||||||
# Elimina carpetas previas
|
# Elimina carpetas previas
|
||||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
@@ -300,7 +329,7 @@ linux_release: resources.pack
|
|||||||
cp README.md "$(RELEASE_FOLDER)"
|
cp README.md "$(RELEASE_FOLDER)"
|
||||||
|
|
||||||
# Compila
|
# Compila
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE)"
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DRELEASE_BUILD $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE)"
|
||||||
strip -s -R .comment -R .gnu.version "$(RELEASE_FILE)" --strip-unneeded
|
strip -s -R .comment -R .gnu.version "$(RELEASE_FILE)" --strip-unneeded
|
||||||
|
|
||||||
# Empaqueta ficheros
|
# Empaqueta ficheros
|
||||||
@@ -311,7 +340,9 @@ linux_release: resources.pack
|
|||||||
# Elimina la carpeta temporal
|
# Elimina la carpeta temporal
|
||||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
|
|
||||||
linux_release_desktop: resources.pack
|
linux_release_desktop:
|
||||||
|
@$(MAKE) pack_tool
|
||||||
|
@$(MAKE) resources.pack
|
||||||
@echo "Creando release con integracion desktop para Linux - Version: $(VERSION)"
|
@echo "Creando release con integracion desktop para Linux - Version: $(VERSION)"
|
||||||
# Elimina carpetas previas
|
# Elimina carpetas previas
|
||||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
@@ -330,7 +361,7 @@ linux_release_desktop: resources.pack
|
|||||||
cp README.md "$(RELEASE_FOLDER)/$(TARGET_NAME)/"
|
cp README.md "$(RELEASE_FOLDER)/$(TARGET_NAME)/"
|
||||||
|
|
||||||
# Compila el ejecutable
|
# Compila el ejecutable
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(TARGET_NAME)/bin/$(TARGET_NAME)"
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DRELEASE_BUILD $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(TARGET_NAME)/bin/$(TARGET_NAME)"
|
||||||
strip -s -R .comment -R .gnu.version "$(RELEASE_FOLDER)/$(TARGET_NAME)/bin/$(TARGET_NAME)" --strip-unneeded
|
strip -s -R .comment -R .gnu.version "$(RELEASE_FOLDER)/$(TARGET_NAME)/bin/$(TARGET_NAME)" --strip-unneeded
|
||||||
|
|
||||||
# Crea el archivo .desktop
|
# Crea el archivo .desktop
|
||||||
@@ -416,7 +447,9 @@ raspi_debug:
|
|||||||
@echo "Compilando version debug para Raspberry Pi: $(TARGET_NAME)_debug"
|
@echo "Compilando version debug para Raspberry Pi: $(TARGET_NAME)_debug"
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) -DVERBOSE -DDEBUG $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug"
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DVERBOSE -DDEBUG $(CXXFLAGS_DEBUG) $(LDFLAGS) -o "$(TARGET_FILE)_debug"
|
||||||
|
|
||||||
raspi_release: resources.pack
|
raspi_release:
|
||||||
|
@$(MAKE) pack_tool
|
||||||
|
@$(MAKE) resources.pack
|
||||||
@echo "Creando release para Raspberry Pi - Version: $(VERSION)"
|
@echo "Creando release para Raspberry Pi - Version: $(VERSION)"
|
||||||
# Elimina carpetas previas
|
# Elimina carpetas previas
|
||||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
@@ -431,7 +464,7 @@ raspi_release: resources.pack
|
|||||||
cp README.md "$(RELEASE_FOLDER)"
|
cp README.md "$(RELEASE_FOLDER)"
|
||||||
|
|
||||||
# Compila
|
# Compila
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE)"
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DRELEASE_BUILD -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE)"
|
||||||
strip -s -R .comment -R .gnu.version "$(RELEASE_FILE)" --strip-unneeded
|
strip -s -R .comment -R .gnu.version "$(RELEASE_FILE)" --strip-unneeded
|
||||||
|
|
||||||
# Empaqueta ficheros
|
# Empaqueta ficheros
|
||||||
@@ -442,7 +475,9 @@ raspi_release: resources.pack
|
|||||||
# Elimina la carpeta temporal
|
# Elimina la carpeta temporal
|
||||||
$(RMDIR) "$(RELEASE_FOLDER)"
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
|
|
||||||
anbernic: resources.pack
|
anbernic:
|
||||||
|
@$(MAKE) pack_tool
|
||||||
|
@$(MAKE) resources.pack
|
||||||
@echo "Compilando para Anbernic: $(TARGET_NAME)"
|
@echo "Compilando para Anbernic: $(TARGET_NAME)"
|
||||||
# Elimina carpetas previas
|
# Elimina carpetas previas
|
||||||
$(RMDIR) "$(RELEASE_FOLDER)"_anbernic
|
$(RMDIR) "$(RELEASE_FOLDER)"_anbernic
|
||||||
@@ -455,7 +490,7 @@ anbernic: resources.pack
|
|||||||
cp resources.pack "$(RELEASE_FOLDER)"_anbernic
|
cp resources.pack "$(RELEASE_FOLDER)"_anbernic
|
||||||
|
|
||||||
# Compila
|
# Compila
|
||||||
$(CXX) $(APP_SOURCES) $(INCLUDES) -DANBERNIC -DNO_SHADERS -DARCADE -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o $(RELEASE_FOLDER)_anbernic/$(TARGET_NAME)
|
$(CXX) $(APP_SOURCES) $(INCLUDES) -DRELEASE_BUILD -DANBERNIC -DNO_SHADERS -DARCADE -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o $(RELEASE_FOLDER)_anbernic/$(TARGET_NAME)
|
||||||
|
|
||||||
# Opción para deshabilitar audio (equivalente a la opción DISABLE_AUDIO de CMake)
|
# Opción para deshabilitar audio (equivalente a la opción DISABLE_AUDIO de CMake)
|
||||||
no_audio:
|
no_audio:
|
||||||
@@ -489,4 +524,6 @@ help:
|
|||||||
@echo " show_version - Mostrar version actual ($(VERSION))"
|
@echo " show_version - Mostrar version actual ($(VERSION))"
|
||||||
@echo " help - Mostrar esta ayuda"
|
@echo " help - Mostrar esta ayuda"
|
||||||
|
|
||||||
.PHONY: windows windows_rec windows_debug windows_release macos macos_debug macos_release linux linux_debug linux_release linux_release_desktop raspi raspi_debug raspi_release anbernic no_audio show_version help pack_tool
|
.PHONY: windows windows_rec windows_debug windows_release macos macos_debug macos_release linux linux_debug linux_release linux_release_desktop raspi raspi_debug raspi_release anbernic no_audio show_version help pack_tool resources.pack
|
||||||
|
|
||||||
|
FORCE:
|
||||||
@@ -18,191 +18,191 @@ DATA|${PREFIX}/config/pools.txt
|
|||||||
DATA|${PREFIX}/config/stages.txt
|
DATA|${PREFIX}/config/stages.txt
|
||||||
|
|
||||||
# Archivos con los datos de la demo
|
# Archivos con los datos de la demo
|
||||||
DEMODATA|${PREFIX}/data/demo/demo1.bin
|
DEMODATA|/data/demo/demo1.bin
|
||||||
DEMODATA|${PREFIX}/data/demo/demo2.bin
|
DEMODATA|/data/demo/demo2.bin
|
||||||
DEMODATA|${PREFIX}/data/demo/demo3.bin
|
DEMODATA|/data/demo/demo3.bin
|
||||||
|
|
||||||
# Música
|
# Música
|
||||||
MUSIC|${PREFIX}/data/music/congratulations.ogg
|
MUSIC|/data/music/congratulations.ogg
|
||||||
MUSIC|${PREFIX}/data/music/credits.ogg
|
MUSIC|/data/music/credits.ogg
|
||||||
MUSIC|${PREFIX}/data/music/intro.ogg
|
MUSIC|/data/music/intro.ogg
|
||||||
MUSIC|${PREFIX}/data/music/playing.ogg
|
MUSIC|/data/music/playing.ogg
|
||||||
MUSIC|${PREFIX}/data/music/title.ogg
|
MUSIC|/data/music/title.ogg
|
||||||
|
|
||||||
# Sonidos
|
# Sonidos
|
||||||
SOUND|${PREFIX}/data/sound/balloon_bounce0.wav
|
SOUND|/data/sound/balloon_bounce0.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_bounce1.wav
|
SOUND|/data/sound/balloon_bounce1.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_bounce2.wav
|
SOUND|/data/sound/balloon_bounce2.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_bounce3.wav
|
SOUND|/data/sound/balloon_bounce3.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_pop0.wav
|
SOUND|/data/sound/balloon_pop0.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_pop1.wav
|
SOUND|/data/sound/balloon_pop1.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_pop2.wav
|
SOUND|/data/sound/balloon_pop2.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_pop3.wav
|
SOUND|/data/sound/balloon_pop3.wav
|
||||||
SOUND|${PREFIX}/data/sound/bullet1p.wav
|
SOUND|/data/sound/bullet1p.wav
|
||||||
SOUND|${PREFIX}/data/sound/bullet2p.wav
|
SOUND|/data/sound/bullet2p.wav
|
||||||
SOUND|${PREFIX}/data/sound/clock.wav
|
SOUND|/data/sound/clock.wav
|
||||||
SOUND|${PREFIX}/data/sound/coffee_out.wav
|
SOUND|/data/sound/coffee_out.wav
|
||||||
SOUND|${PREFIX}/data/sound/continue_clock.wav
|
SOUND|/data/sound/continue_clock.wav
|
||||||
SOUND|${PREFIX}/data/sound/credit.wav
|
SOUND|/data/sound/credit.wav
|
||||||
SOUND|${PREFIX}/data/sound/debian_drop.wav
|
SOUND|/data/sound/debian_drop.wav
|
||||||
SOUND|${PREFIX}/data/sound/debian_pickup.wav
|
SOUND|/data/sound/debian_pickup.wav
|
||||||
SOUND|${PREFIX}/data/sound/hi_score_achieved.wav
|
SOUND|/data/sound/hi_score_achieved.wav
|
||||||
SOUND|${PREFIX}/data/sound/item_drop.wav
|
SOUND|/data/sound/item_drop.wav
|
||||||
SOUND|${PREFIX}/data/sound/item_pickup.wav
|
SOUND|/data/sound/item_pickup.wav
|
||||||
SOUND|${PREFIX}/data/sound/jump.wav
|
SOUND|/data/sound/jump.wav
|
||||||
SOUND|${PREFIX}/data/sound/logo.wav
|
SOUND|/data/sound/logo.wav
|
||||||
SOUND|${PREFIX}/data/sound/name_input_accept.wav
|
SOUND|/data/sound/name_input_accept.wav
|
||||||
SOUND|${PREFIX}/data/sound/notify.wav
|
SOUND|/data/sound/notify.wav
|
||||||
SOUND|${PREFIX}/data/sound/player_collision.wav
|
SOUND|/data/sound/player_collision.wav
|
||||||
SOUND|${PREFIX}/data/sound/power_ball_explosion.wav
|
SOUND|/data/sound/power_ball_explosion.wav
|
||||||
SOUND|${PREFIX}/data/sound/service_menu_adjust.wav
|
SOUND|/data/sound/service_menu_adjust.wav
|
||||||
SOUND|${PREFIX}/data/sound/service_menu_back.wav
|
SOUND|/data/sound/service_menu_back.wav
|
||||||
SOUND|${PREFIX}/data/sound/service_menu_move.wav
|
SOUND|/data/sound/service_menu_move.wav
|
||||||
SOUND|${PREFIX}/data/sound/service_menu_select.wav
|
SOUND|/data/sound/service_menu_select.wav
|
||||||
SOUND|${PREFIX}/data/sound/stage_change.wav
|
SOUND|/data/sound/stage_change.wav
|
||||||
SOUND|${PREFIX}/data/sound/tabe_hit.wav
|
SOUND|/data/sound/tabe_hit.wav
|
||||||
SOUND|${PREFIX}/data/sound/tabe.wav
|
SOUND|/data/sound/tabe.wav
|
||||||
SOUND|${PREFIX}/data/sound/title.wav
|
SOUND|/data/sound/title.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_aw_aw_aw.wav
|
SOUND|/data/sound/voice_aw_aw_aw.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_coffee.wav
|
SOUND|/data/sound/voice_coffee.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_credit_thankyou.wav
|
SOUND|/data/sound/voice_credit_thankyou.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_game_over.wav
|
SOUND|/data/sound/voice_game_over.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_get_ready.wav
|
SOUND|/data/sound/voice_get_ready.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_no.wav
|
SOUND|/data/sound/voice_no.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_power_up.wav
|
SOUND|/data/sound/voice_power_up.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_recover.wav
|
SOUND|/data/sound/voice_recover.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_thankyou.wav
|
SOUND|/data/sound/voice_thankyou.wav
|
||||||
SOUND|${PREFIX}/data/sound/walk.wav
|
SOUND|/data/sound/walk.wav
|
||||||
|
|
||||||
# Shaders OpenGL Desktop 3.3 (Windows/Linux)
|
# Shaders OpenGL Desktop 3.3 (Windows/Linux)
|
||||||
DATA|${PREFIX}/data/shaders/crtpi_vertex.glsl
|
DATA|/data/shaders/crtpi_vertex.glsl
|
||||||
DATA|${PREFIX}/data/shaders/crtpi_fragment.glsl
|
DATA|/data/shaders/crtpi_fragment.glsl
|
||||||
|
|
||||||
# Shaders OpenGL ES 3.0 (Raspberry Pi) - opcionales
|
# Shaders OpenGL ES 3.0 (Raspberry Pi) - opcionales
|
||||||
DATA|${PREFIX}/data/shaders/crtpi_vertex_es.glsl|optional
|
DATA|/data/shaders/crtpi_vertex_es.glsl|optional
|
||||||
DATA|${PREFIX}/data/shaders/crtpi_fragment_es.glsl|optional
|
DATA|/data/shaders/crtpi_fragment_es.glsl|optional
|
||||||
|
|
||||||
# Texturas - Balloons
|
# Texturas - Balloons
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/balloon0.ani
|
ANIMATION|/data/gfx/balloon/balloon0.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/balloon1.ani
|
ANIMATION|/data/gfx/balloon/balloon1.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/balloon2.ani
|
ANIMATION|/data/gfx/balloon/balloon2.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/balloon3.ani
|
ANIMATION|/data/gfx/balloon/balloon3.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/balloon0.png
|
BITMAP|/data/gfx/balloon/balloon0.png
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/balloon1.png
|
BITMAP|/data/gfx/balloon/balloon1.png
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/balloon2.png
|
BITMAP|/data/gfx/balloon/balloon2.png
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/balloon3.png
|
BITMAP|/data/gfx/balloon/balloon3.png
|
||||||
|
|
||||||
# Texturas - Explosiones
|
# Texturas - Explosiones
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/explosion0.ani
|
ANIMATION|/data/gfx/balloon/explosion0.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/explosion1.ani
|
ANIMATION|/data/gfx/balloon/explosion1.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/explosion2.ani
|
ANIMATION|/data/gfx/balloon/explosion2.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/explosion3.ani
|
ANIMATION|/data/gfx/balloon/explosion3.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/explosion0.png
|
BITMAP|/data/gfx/balloon/explosion0.png
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/explosion1.png
|
BITMAP|/data/gfx/balloon/explosion1.png
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/explosion2.png
|
BITMAP|/data/gfx/balloon/explosion2.png
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/explosion3.png
|
BITMAP|/data/gfx/balloon/explosion3.png
|
||||||
|
|
||||||
# Texturas - Power Ball
|
# Texturas - Power Ball
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/powerball.ani
|
ANIMATION|/data/gfx/balloon/powerball.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/powerball.png
|
BITMAP|/data/gfx/balloon/powerball.png
|
||||||
|
|
||||||
# Texturas - Bala
|
# Texturas - Bala
|
||||||
ANIMATION|${PREFIX}/data/gfx/bullet/bullet.ani
|
ANIMATION|/data/gfx/bullet/bullet.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/bullet/bullet.png
|
BITMAP|/data/gfx/bullet/bullet.png
|
||||||
|
|
||||||
# Texturas - Tabe
|
# Texturas - Tabe
|
||||||
ANIMATION|${PREFIX}/data/gfx/tabe/tabe.ani
|
ANIMATION|/data/gfx/tabe/tabe.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/tabe/tabe.png
|
BITMAP|/data/gfx/tabe/tabe.png
|
||||||
|
|
||||||
# Texturas - Juego
|
# Texturas - Juego
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_buildings.png
|
BITMAP|/data/gfx/game/game_buildings.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_clouds1.png
|
BITMAP|/data/gfx/game/game_clouds1.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_clouds2.png
|
BITMAP|/data/gfx/game/game_clouds2.png
|
||||||
ANIMATION|${PREFIX}/data/gfx/game/game_grass.ani
|
ANIMATION|/data/gfx/game/game_grass.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_grass.png
|
BITMAP|/data/gfx/game/game_grass.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_moon.png
|
BITMAP|/data/gfx/game/game_moon.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_power_meter.png
|
BITMAP|/data/gfx/game/game_power_meter.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_sky_colors.png
|
BITMAP|/data/gfx/game/game_sky_colors.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_sun.png
|
BITMAP|/data/gfx/game/game_sun.png
|
||||||
|
|
||||||
# Texturas - Intro
|
# Texturas - Intro
|
||||||
BITMAP|${PREFIX}/data/gfx/intro/intro1.png
|
BITMAP|/data/gfx/intro/intro1.png
|
||||||
BITMAP|${PREFIX}/data/gfx/intro/intro2.png
|
BITMAP|/data/gfx/intro/intro2.png
|
||||||
BITMAP|${PREFIX}/data/gfx/intro/intro3.png
|
BITMAP|/data/gfx/intro/intro3.png
|
||||||
BITMAP|${PREFIX}/data/gfx/intro/intro4.png
|
BITMAP|/data/gfx/intro/intro4.png
|
||||||
BITMAP|${PREFIX}/data/gfx/intro/intro5.png
|
BITMAP|/data/gfx/intro/intro5.png
|
||||||
BITMAP|${PREFIX}/data/gfx/intro/intro6.png
|
BITMAP|/data/gfx/intro/intro6.png
|
||||||
|
|
||||||
# Texturas - Logo
|
# Texturas - Logo
|
||||||
BITMAP|${PREFIX}/data/gfx/logo/logo_jailgames_mini.png
|
BITMAP|/data/gfx/logo/logo_jailgames_mini.png
|
||||||
BITMAP|${PREFIX}/data/gfx/logo/logo_jailgames.png
|
BITMAP|/data/gfx/logo/logo_jailgames.png
|
||||||
BITMAP|${PREFIX}/data/gfx/logo/logo_since_1998.png
|
BITMAP|/data/gfx/logo/logo_since_1998.png
|
||||||
|
|
||||||
# Texturas - Items
|
# Texturas - Items
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_clock.ani
|
ANIMATION|/data/gfx/item/item_clock.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_coffee_machine.ani
|
ANIMATION|/data/gfx/item/item_coffee_machine.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_coffee.ani
|
ANIMATION|/data/gfx/item/item_coffee.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_debian.ani
|
ANIMATION|/data/gfx/item/item_debian.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_points1_disk.ani
|
ANIMATION|/data/gfx/item/item_points1_disk.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_points2_gavina.ani
|
ANIMATION|/data/gfx/item/item_points2_gavina.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_points3_pacmar.ani
|
ANIMATION|/data/gfx/item/item_points3_pacmar.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_clock.png
|
BITMAP|/data/gfx/item/item_clock.png
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_coffee_machine.png
|
BITMAP|/data/gfx/item/item_coffee_machine.png
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_coffee.png
|
BITMAP|/data/gfx/item/item_coffee.png
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_debian.png
|
BITMAP|/data/gfx/item/item_debian.png
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_points1_disk.png
|
BITMAP|/data/gfx/item/item_points1_disk.png
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_points2_gavina.png
|
BITMAP|/data/gfx/item/item_points2_gavina.png
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_points3_pacmar.png
|
BITMAP|/data/gfx/item/item_points3_pacmar.png
|
||||||
|
|
||||||
# Texturas - Titulo
|
# Texturas - Titulo
|
||||||
ANIMATION|${PREFIX}/data/gfx/title/title_dust.ani
|
ANIMATION|/data/gfx/title/title_dust.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_arcade_edition.png
|
BITMAP|/data/gfx/title/title_arcade_edition.png
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_bg_tile.png
|
BITMAP|/data/gfx/title/title_bg_tile.png
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_coffee.png
|
BITMAP|/data/gfx/title/title_coffee.png
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_crisis.png
|
BITMAP|/data/gfx/title/title_crisis.png
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_dust.png
|
BITMAP|/data/gfx/title/title_dust.png
|
||||||
|
|
||||||
# Texturas - Jugador 1
|
# Texturas - Jugador 1
|
||||||
BITMAP|${PREFIX}/data/gfx/player/player1_power.png
|
BITMAP|/data/gfx/player/player1_power.png
|
||||||
BITMAP|${PREFIX}/data/gfx/player/player1.gif
|
BITMAP|/data/gfx/player/player1.gif
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player1_coffee1.pal
|
PALETTE|/data/gfx/player/player1_coffee1.pal
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player1_coffee2.pal
|
PALETTE|/data/gfx/player/player1_coffee2.pal
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player1_invencible.pal
|
PALETTE|/data/gfx/player/player1_invencible.pal
|
||||||
|
|
||||||
# Texturas - Jugador 2
|
# Texturas - Jugador 2
|
||||||
BITMAP|${PREFIX}/data/gfx/player/player2_power.png
|
BITMAP|/data/gfx/player/player2_power.png
|
||||||
BITMAP|${PREFIX}/data/gfx/player/player2.gif
|
BITMAP|/data/gfx/player/player2.gif
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player2_coffee1.pal
|
PALETTE|/data/gfx/player/player2_coffee1.pal
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player2_coffee2.pal
|
PALETTE|/data/gfx/player/player2_coffee2.pal
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player2_invencible.pal
|
PALETTE|/data/gfx/player/player2_invencible.pal
|
||||||
|
|
||||||
# Animaciones del jugador
|
# Animaciones del jugador
|
||||||
ANIMATION|${PREFIX}/data/gfx/player/player_power.ani
|
ANIMATION|/data/gfx/player/player_power.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/player/player1.ani
|
ANIMATION|/data/gfx/player/player1.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/player/player2.ani
|
ANIMATION|/data/gfx/player/player2.ani
|
||||||
|
|
||||||
# Fuentes de texto
|
# Fuentes de texto
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_2x.png
|
BITMAP|/data/font/04b_25_2x.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_2x_white.png
|
BITMAP|/data/font/04b_25_2x_white.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_flat_2x.png
|
BITMAP|/data/font/04b_25_flat_2x.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_flat.png
|
BITMAP|/data/font/04b_25_flat.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_grey.png
|
BITMAP|/data/font/04b_25_grey.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_metal.png
|
BITMAP|/data/font/04b_25_metal.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_reversed_2x.png
|
BITMAP|/data/font/04b_25_reversed_2x.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_reversed.png
|
BITMAP|/data/font/04b_25_reversed.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_white.png
|
BITMAP|/data/font/04b_25_white.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25.png
|
BITMAP|/data/font/04b_25.png
|
||||||
BITMAP|${PREFIX}/data/font/8bithud.png
|
BITMAP|/data/font/8bithud.png
|
||||||
BITMAP|${PREFIX}/data/font/aseprite.png
|
BITMAP|/data/font/aseprite.png
|
||||||
BITMAP|${PREFIX}/data/font/smb2_grad.png
|
BITMAP|/data/font/smb2_grad.png
|
||||||
BITMAP|${PREFIX}/data/font/smb2.png
|
BITMAP|/data/font/smb2.png
|
||||||
FONT|${PREFIX}/data/font/04b_25_2x.txt
|
FONT|/data/font/04b_25_2x.txt
|
||||||
FONT|${PREFIX}/data/font/04b_25.txt
|
FONT|/data/font/04b_25.txt
|
||||||
FONT|${PREFIX}/data/font/8bithud.txt
|
FONT|/data/font/8bithud.txt
|
||||||
FONT|${PREFIX}/data/font/aseprite.txt
|
FONT|/data/font/aseprite.txt
|
||||||
FONT|${PREFIX}/data/font/smb2.txt
|
FONT|/data/font/smb2.txt
|
||||||
|
|
||||||
# Idiomas
|
# Idiomas
|
||||||
LANG|${PREFIX}/data/lang/ba_BA.json
|
LANG|/data/lang/ba_BA.json
|
||||||
LANG|${PREFIX}/data/lang/en_UK.json
|
LANG|/data/lang/en_UK.json
|
||||||
LANG|${PREFIX}/data/lang/es_ES.json
|
LANG|/data/lang/es_ES.json
|
||||||
Binary file not shown.
Binary file not shown.
BIN
release/icon.ico
BIN
release/icon.ico
Binary file not shown.
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 134 KiB |
BIN
release/icon.png
BIN
release/icon.png
Binary file not shown.
|
Before Width: | Height: | Size: 438 KiB After Width: | Height: | Size: 504 KiB |
@@ -197,8 +197,12 @@ auto Asset::check() const -> bool {
|
|||||||
|
|
||||||
// Comprueba que existe un fichero
|
// Comprueba que existe un fichero
|
||||||
auto Asset::checkFile(const std::string& path) const -> bool {
|
auto Asset::checkFile(const std::string& path) const -> bool {
|
||||||
// Construir ruta del pack usando executable_path_
|
// Construir ruta del pack usando executable_path_ (misma lógica que Director::init)
|
||||||
|
#ifdef MACOS_BUNDLE
|
||||||
|
std::string pack_path = executable_path_ + "../Resources/resources.pack";
|
||||||
|
#else
|
||||||
std::string pack_path = executable_path_ + "resources.pack";
|
std::string pack_path = executable_path_ + "resources.pack";
|
||||||
|
#endif
|
||||||
bool pack_exists = std::filesystem::exists(pack_path);
|
bool pack_exists = std::filesystem::exists(pack_path);
|
||||||
|
|
||||||
if (pack_exists) {
|
if (pack_exists) {
|
||||||
|
|||||||
@@ -81,11 +81,22 @@ void Director::init() {
|
|||||||
// Configuración inicial de parametros
|
// Configuración inicial de parametros
|
||||||
Asset::init(executable_path_); // Inicializa el sistema de gestión de archivos
|
Asset::init(executable_path_); // Inicializa el sistema de gestión de archivos
|
||||||
|
|
||||||
|
// Determinar ruta del pack según la plataforma
|
||||||
#ifdef MACOS_BUNDLE
|
#ifdef MACOS_BUNDLE
|
||||||
ResourceHelper::initializeResourceSystem(executable_path_ + "../Resources/resources.pack");
|
std::string pack_path = executable_path_ + "../Resources/resources.pack";
|
||||||
#else
|
#else
|
||||||
ResourceHelper::initializeResourceSystem(executable_path_ + "resources.pack");
|
std::string pack_path = executable_path_ + "resources.pack";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Inicializar sistema de recursos con o sin fallback según el tipo de build
|
||||||
|
#ifdef RELEASE_BUILD
|
||||||
|
// Release: Sin fallback - Solo resources.pack (estricto)
|
||||||
|
ResourceHelper::initializeResourceSystem(pack_path, false);
|
||||||
|
#else
|
||||||
|
// Desarrollo: Con fallback - Puede usar data/ si falta el pack (flexible)
|
||||||
|
ResourceHelper::initializeResourceSystem(pack_path, true);
|
||||||
|
#endif
|
||||||
|
|
||||||
loadAssets(); // Crea el índice de archivos
|
loadAssets(); // Crea el índice de archivos
|
||||||
|
|
||||||
Logger::section("INIT INPUT");
|
Logger::section("INIT INPUT");
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <SDL3/SDL.h>
|
#include <SDL3/SDL.h>
|
||||||
|
|
||||||
|
#include <array>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
@@ -202,7 +203,7 @@ void OpenGLShader::createQuadGeometry() {
|
|||||||
checkGLError("glVertexAttribPointer(position)");
|
checkGLError("glVertexAttribPointer(position)");
|
||||||
|
|
||||||
// Atributo 1: Coordenadas de textura (2 floats)
|
// Atributo 1: Coordenadas de textura (2 floats)
|
||||||
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), reinterpret_cast<void*>(2 * sizeof(float)));
|
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), static_cast<const void*>(static_cast<const char*>(nullptr) + 2 * sizeof(float)));
|
||||||
glEnableVertexAttribArray(1);
|
glEnableVertexAttribArray(1);
|
||||||
checkGLError("glVertexAttribPointer(texcoord)");
|
checkGLError("glVertexAttribPointer(texcoord)");
|
||||||
|
|
||||||
@@ -463,7 +464,7 @@ void OpenGLShader::render() {
|
|||||||
// Restaurar estados OpenGL
|
// Restaurar estados OpenGL
|
||||||
glUseProgram(old_program);
|
glUseProgram(old_program);
|
||||||
glBindTexture(GL_TEXTURE_2D, old_texture);
|
glBindTexture(GL_TEXTURE_2D, old_texture);
|
||||||
if (was_texture_enabled == 0u) {
|
if (was_texture_enabled == 0U) {
|
||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
}
|
}
|
||||||
glBindVertexArray(old_vao);
|
glBindVertexArray(old_vao);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class OpenGLShader : public ShaderBackend {
|
|||||||
|
|
||||||
void render() override;
|
void render() override;
|
||||||
void setTextureSize(float width, float height) override;
|
void setTextureSize(float width, float height) override;
|
||||||
void cleanup() override final;
|
void cleanup() final;
|
||||||
[[nodiscard]] auto isHardwareAccelerated() const -> bool override { return is_initialized_; }
|
[[nodiscard]] auto isHardwareAccelerated() const -> bool override { return is_initialized_; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
namespace ResourceHelper {
|
namespace ResourceHelper {
|
||||||
static bool resource_system_initialized = false;
|
static bool resource_system_initialized = false;
|
||||||
|
|
||||||
auto initializeResourceSystem(const std::string& pack_file) -> bool {
|
auto initializeResourceSystem(const std::string& pack_file, bool enable_fallback) -> bool {
|
||||||
auto& loader = ResourceLoader::getInstance();
|
auto& loader = ResourceLoader::getInstance();
|
||||||
resource_system_initialized = loader.initialize(pack_file, true);
|
resource_system_initialized = loader.initialize(pack_file, enable_fallback);
|
||||||
|
|
||||||
if (resource_system_initialized) {
|
if (resource_system_initialized) {
|
||||||
std::cout << "Resource system initialized with pack: " << pack_file << '\n';
|
std::cout << "Resource system initialized with pack: " << pack_file << '\n';
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
// Helper functions para integrar ResourceLoader con el sistema existente
|
// Helper functions para integrar ResourceLoader con el sistema existente
|
||||||
namespace ResourceHelper {
|
namespace ResourceHelper {
|
||||||
// Inicializa ResourceLoader (llamar al inicio del programa)
|
// Inicializa ResourceLoader (llamar al inicio del programa)
|
||||||
auto initializeResourceSystem(const std::string& pack_file = "resources.pack") -> bool;
|
auto initializeResourceSystem(const std::string& pack_file = "resources.pack", bool enable_fallback = true) -> bool;
|
||||||
|
|
||||||
// Cierra ResourceLoader
|
// Cierra ResourceLoader
|
||||||
void shutdownResourceSystem();
|
void shutdownResourceSystem();
|
||||||
|
|||||||
@@ -340,8 +340,8 @@ class Game {
|
|||||||
static void updatePlayerDrawList(const Players& elements, Players& draw_list); // Actualiza draw_list tras cambios en los z_order
|
static void updatePlayerDrawList(const Players& elements, Players& draw_list); // Actualiza draw_list tras cambios en los z_order
|
||||||
static void renderPlayerDrawList(const Players& draw_list); // Dibuja en el orden definido
|
static void renderPlayerDrawList(const Players& draw_list); // Dibuja en el orden definido
|
||||||
static auto findPlayerIndex(const Players& elems, const std::shared_ptr<Player>& who) -> size_t;
|
static auto findPlayerIndex(const Players& elems, const std::shared_ptr<Player>& who) -> size_t;
|
||||||
void sendPlayerToBack(Players& elements, const std::shared_ptr<Player>& who, Players& draw_list); // Envia al jugador al fondo de la pantalla
|
static void sendPlayerToBack(Players& elements, const std::shared_ptr<Player>& who, Players& draw_list); // Envia al jugador al fondo de la pantalla
|
||||||
void bringPlayerToFront(Players& elements, const std::shared_ptr<Player>& who, Players& draw_list); // Envia al jugador al frente de la pantalla
|
static void bringPlayerToFront(Players& elements, const std::shared_ptr<Player>& who, Players& draw_list); // Envia al jugador al frente de la pantalla
|
||||||
|
|
||||||
// --- Varios ---
|
// --- Varios ---
|
||||||
void onPauseStateChanged(bool is_paused);
|
void onPauseStateChanged(bool is_paused);
|
||||||
|
|||||||
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
#include "../source/resource_pack.h"
|
#include "../source/resource_pack.hpp"
|
||||||
#include "../build/version.h" // Para Version::APP_NAME
|
#include "../build/version.h" // Para Version::APP_NAME
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
|
|||||||
Reference in New Issue
Block a user