97 Commits

Author SHA1 Message Date
0388adfed8 migrat Logo a time based 2025-10-26 18:01:02 +01:00
342177a751 renombrades les clases SSprite a SurfaceSprite 2025-10-26 14:56:56 +01:00
fdea094e26 corregit el logo de jailgames 2025-10-26 14:56:24 +01:00
2eadd7d8df mes reestructuracio de fitxers de codi 2025-10-26 14:46:19 +01:00
51330db998 mogut options.section a SceneManager 2025-10-26 14:18:45 +01:00
df4965a84b canviat Options de struct a namespace 2025-10-26 14:01:08 +01:00
8f49e442de redistribuida la carpeta source 2025-10-26 13:02:45 +01:00
9676e5bc2f creada carpeta source2 2025-10-26 12:31:49 +01:00
545d471654 fix: arreglades les colisions "the static cast menner" 2025-10-16 14:14:33 +02:00
9db902c024 netejat codi mort en screen.cpp 2025-10-16 13:29:25 +02:00
7fe2523221 fix: ja funcionen els shaders 2025-10-16 12:46:02 +02:00
d5ff840445 fix: faltava fer SDL_INIT_AUDIO 2025-10-16 11:51:17 +02:00
fb5fee02e9 Ja es por jugar
Estat actual: no van els shaders. Jail_audio dona errors
2025-10-16 10:22:12 +02:00
9a4b3b04a5 Corregits mil warnings de int a float
Corregit getDisplayInfo per al calcul del zoomMax
2025-10-16 10:12:03 +02:00
e811cf0a1d apegat de mala manera els shaders del CCAE i fets uns apanyets per a vore si compila 2025-10-15 12:59:17 +02:00
e4a08d2ec7 corregides cridades a SDL3 i migrat casi tot de int a float. Falta jail_shader 2025-10-15 12:16:50 +02:00
7c102e42cc corregits mes includes
llevats els errors en texture
2025-10-15 09:14:30 +02:00
78c5333144 Redistribuits els .cpp en carpetes
Actualitzat cmake
Modificats els include de SDL2 a SDL3
2025-10-15 08:28:57 +02:00
c3415fd106 Actualizar README.md 2025-06-25 21:53:41 +02:00
428fe664bd arreglada la logica d'estats en Ending2 2025-03-21 13:24:32 +01:00
0f8de0d8b5 arreglos d'estil 2025-03-21 08:42:54 +01:00
2ee2d5c45d millorat el renderitzat amb el borde activat 2025-03-21 08:27:24 +01:00
b8cde79107 fix: en windows no es calculaven be les colisions 2025-03-20 18:45:49 +01:00
0667e2105b passat el codi de pintar el mode debug de textura a surface 2025-03-20 18:02:31 +01:00
f438e8946b style: canviar border_ a enum class 2025-03-20 14:06:58 +01:00
68c97610fb style: canvis en Game 2025-03-20 13:46:31 +01:00
7746b679b4 style: canvis en Player 2025-03-20 13:44:37 +01:00
73008992e0 fix: no actualitzava correctament la caixa de colisions del jugador al canviar d'habitació 2025-03-20 13:37:17 +01:00
d4acb38c05 Merge branch 'master' of https://gitea.sustancia.synology.me/jaildesigner/jaildoctors_dilemma 2025-03-20 08:22:39 +01:00
7aae9fb5e6 arreglos d'estil en Screen 2025-03-20 08:22:25 +01:00
a63066bd68 arreglada la paleta taronja 2025-03-19 18:07:46 +01:00
0de6117ca0 afegit comptador de frames per segon 2025-03-17 14:10:07 +01:00
a43967c279 incrementat el nivell de detall en updateLoadingProgress() 2025-03-17 13:46:38 +01:00
15ecc10d8b fix: si arrancava en pantalla completa amb shaders, no reescalava be la imatge 2025-03-16 18:55:00 +01:00
0a5996f220 afegit soport per a axis del mando 2025-03-16 17:45:07 +01:00
64ee2d1e45 actualitzat gamecontrollerdb.txt a la ultima versió 2025-03-16 17:14:01 +01:00
40dcbabfe8 afegit gif.cpp i jail_shader.cpp desde coffee_crisis_arcade_edition 2025-03-16 15:44:38 +01:00
a14f6fcf6f Mil arreglos de paletes, gifs i colors transparents
El gif del jugador de game over estava mal
2025-03-08 20:04:43 +01:00
7b3f82aa34 Establit en Cheevos el temps de les notificacions 2025-03-08 11:40:22 +01:00
3a36bf6530 Optimitzats alguns bucles en les notificacions 2025-03-08 11:38:17 +01:00
195d812d2a Les notificacions ara van per milisegons.
posibilitat d'establir el tems de una notificacio (util per a allargar les dels logros)
2025-03-08 11:29:25 +01:00
fdb85ac393 Afegida tecla per a canviar el escalat sencer 2025-03-08 10:54:44 +01:00
d4e3995d71 Millorades les paletes verda i taronja
Retocada la paleta sweetie-16
Afegida política al fitxer CMakeLists.txt
2025-03-08 10:17:22 +01:00
b885aa8c9e fix: el cursor del mouse no està amagat per defecte 2025-03-07 22:44:53 +01:00
9cf0891a04 fix: la musica del mode DEMO no era la correcta 2025-03-07 22:29:17 +01:00
09ac952404 Afegit efecte de fundit a negre per a la paleta principal i per a la secundaria. Implementat en Title 2025-03-07 14:32:35 +01:00
529bfb5e3a Eliminada paleta.cpp i mig adaptada la surface que la gastava 2025-03-07 14:12:24 +01:00
ce88596d35 No se pq el ultim commit ha deixat 4 fitxers per commitar 2025-03-07 12:21:21 +01:00
6c3e231d51 Arreglats alguns colorets que havia per ahi rebolicats
fix: Credits no estava ben portat a surfaces
2025-03-07 12:20:30 +01:00
ae5c511988 fix: tamany incorrecte per a la textura de shaders quan es desactiva el borde 2025-03-06 23:20:07 +01:00
9eaf3bc134 Retocat un poc el disseny de Title
Retocades les notificacions
2025-03-06 23:12:53 +01:00
ff309168ef Ja torna a pintar de negre la pantalla al morir 2025-03-06 22:44:44 +01:00
c5c312fc51 Ja torna a funcionar el fade del logo 2025-03-06 22:36:53 +01:00
34d34a5d91 canvi de pc 2025-03-06 22:13:13 +01:00
d339fb13b0 Canviades les paletes dels .gif
Ara es poden carregar paletes desde fitxers .pal
Reajustada la pleta general
fix: la pantalla de càrrega deixava un pixel per pintar, desde sempre
Ajustat el color del borde en el Logo i el Title per a ser igual al fondo amb les paletes de 16 colors (la del Spectrum es de 15)
2025-03-06 20:04:53 +01:00
d0e06e30c9 Ja tornen a funcionar els shaders 2025-03-06 14:24:31 +01:00
982db7f75b Ja carrega la ultima paleta seleccionada 2025-03-06 14:07:47 +01:00
68e03ac1b0 La barra de progres ja torna a estar com abans 2025-03-06 13:42:52 +01:00
537150365b Retocat el render path d'Screen 2025-03-06 13:29:39 +01:00
12e27a1062 Ja torna a funcionar el borde 2025-03-06 13:14:57 +01:00
72efa0dc46 Afegides guardes en Surface::render() per a no pintar fora del destí (no estava implementat en totes les versions de render) 2025-03-06 12:27:10 +01:00
f2bfc970bc Quan canvia de RendererSurface, torna a deixar la que havia, no la de per defecte 2025-03-06 12:09:59 +01:00
60c926a9c9 Ja funciona la roda de paletes 2025-03-06 11:45:06 +01:00
10debde847 Treballant en la caché de les paletes 2025-03-05 22:58:26 +01:00
5cc163dd14 Arreglats els endings 2025-03-05 21:57:10 +01:00
241732752a i per fi ja comença a tornar tot a la normalitat 2025-03-05 20:52:34 +01:00
5a8747cc4b val! ja pinta coses en altres surfaces 2025-03-05 19:41:55 +01:00
70a50f5117 Imposible canviar la rendererSurface 2025-03-05 18:51:36 +01:00
d41b0cb31c He posat punteros dobles i tampoc va res 2025-03-05 12:31:54 +01:00
33038e8509 canvi de pc 2025-03-05 07:44:12 +01:00
57481a1e97 Ja pinta cosetes per pantalla 2025-03-04 14:24:30 +01:00
05f91b2a94 Transició a surface acabada. Ja compila 2025-03-04 12:30:19 +01:00
c4033e3663 Transició a surface: barallantme amb tots els Color que hi ha pel codi 2025-03-03 22:58:12 +01:00
b940d627d6 Transició a surface: crec que falta room.cpp 2025-03-03 21:33:59 +01:00
b320030547 Transició a surface: ending.cpp fet 2025-03-03 20:48:31 +01:00
d7e0178602 Transició a surface: game.cpp fet 2025-03-03 19:15:24 +01:00
c9e75ad5c8 bfff, a casa a meitat enfangà.. be..
Estic acabant de convertir Title
2025-03-03 14:26:07 +01:00
8f1d1df5d6 Transició a surface: vaig per title.cpp 2025-03-02 21:56:19 +01:00
db3a0d7263 Afegides classes SSprite, SMovingSprite i SAnimatedSprite 2025-03-02 19:29:48 +01:00
636b91ae6f Afegides noves funciones a Surface 2025-03-02 18:38:17 +01:00
4b820ad6b7 Modificada la llista de fitxers 2025-03-02 18:17:37 +01:00
a4db80e116 Canviats els .png per .gif 2025-03-02 18:10:58 +01:00
2ebb285a27 fix: el brillet del cor dels credits pillava mal la posició 2025-03-02 16:51:08 +01:00
d05f18ce2d fix: amb shaders no canviava be el mode de vdeo 2025-03-02 14:56:57 +01:00
0d74a8a29f fix: s'havien fotut els dos finals, pero ja estan corregits 2025-03-02 13:43:23 +01:00
cdf0b0a694 demo.cpp a fer la mar 2025-03-02 10:41:38 +01:00
82f0992116 Llevats un parell de warnings en pLoadSurface i pLoadPal 2025-03-02 09:39:48 +01:00
b1ba5e67dc Arreglos en la estructura i format del codi 2025-03-02 09:32:25 +01:00
193dac708f canvi de pc 2025-03-02 08:09:15 +01:00
cd96be80f9 Afegit Cheevos::clearUnobtainableState(); 2025-03-01 22:49:03 +01:00
aca2be98af Arreglos en la estructura i format del codi 2025-03-01 22:36:22 +01:00
360ebfd2e6 Arreglos en la estructura i format del codi 2025-03-01 20:39:44 +01:00
5c371e7517 Arreglos en la estructura i format del codi 2025-03-01 19:33:40 +01:00
31cded15cc Arreglos en la estructura i format del codi 2025-03-01 17:01:50 +01:00
3562b139c3 Arreglos en la estructura i format del codi 2025-03-01 11:02:08 +01:00
c2040d3ded Actualitzat Makefile per al release de macos amb target x86_64-apple-macos10.15
Actualitzat el numero de versió a 1.10
2025-03-01 10:20:45 +01:00
b34f4dda42 fix: llevar el text de REDEFINE KEYS 2025-03-01 09:28:17 +01:00
420 changed files with 17622 additions and 18266 deletions

21
.clang-format Normal file
View File

@@ -0,0 +1,21 @@
BasedOnStyle: Google
IndentWidth: 4
IndentAccessModifiers: true
ColumnLimit: 0 # Sin límite de longitud de línea
BreakBeforeBraces: Attach # Llaves en la misma línea
AllowShortIfStatementsOnASingleLine: true
AllowShortBlocksOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AlignOperands: DontAlign
AlignAfterOpenBracket: DontAlign
BinPackArguments: false
BinPackParameters: false
ContinuationIndentWidth: 4
ConstructorInitializerIndentWidth: 4
IndentWrappedFunctionNames: false
Cpp11BracedListStyle: true
BreakConstructorInitializers: BeforeColon
AllowAllConstructorInitializersOnNextLine: false
PackConstructorInitializers: Never
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false

83
.clang-tidy Normal file
View File

@@ -0,0 +1,83 @@
Checks: >
readability-*,
modernize-*,
performance-*,
bugprone-unchecked-optional-access,
bugprone-sizeof-expression,
bugprone-suspicious-missing-comma,
bugprone-suspicious-index,
bugprone-undefined-memory-manipulation,
bugprone-use-after-move,
bugprone-out-of-bound-access,
-readability-identifier-length,
-readability-magic-numbers,
-bugprone-narrowing-conversions,
-performance-enum-size,
-performance-inefficient-string-concatenation,
-bugprone-integer-division,
-bugprone-easily-swappable-parameters,
WarningsAsErrors: '*'
# Solo incluir archivos de tu código fuente
HeaderFilterRegex: '^source/(sections|ui)/.*'
FormatStyle: file
CheckOptions:
# Variables locales en snake_case
- { key: readability-identifier-naming.VariableCase, value: lower_case }
# Miembros privados en snake_case con sufijo _
- { key: readability-identifier-naming.PrivateMemberCase, value: lower_case }
- { key: readability-identifier-naming.PrivateMemberSuffix, value: _ }
# Miembros protegidos en snake_case con sufijo _
- { key: readability-identifier-naming.ProtectedMemberCase, value: lower_case }
- { key: readability-identifier-naming.ProtectedMemberSuffix, value: _ }
# Miembros públicos en snake_case (sin sufijo)
- { key: readability-identifier-naming.PublicMemberCase, value: lower_case }
# Namespaces en CamelCase
- { key: readability-identifier-naming.NamespaceCase, value: CamelCase }
# Variables estáticas privadas como miembros privados
- { key: readability-identifier-naming.StaticVariableCase, value: lower_case }
- { key: readability-identifier-naming.StaticVariableSuffix, value: _ }
# Constantes estáticas sin sufijo
- { key: readability-identifier-naming.StaticConstantCase, value: UPPER_CASE }
# Constantes globales en UPPER_CASE
- { key: readability-identifier-naming.GlobalConstantCase, value: UPPER_CASE }
# Variables constexpr globales en UPPER_CASE
- { key: readability-identifier-naming.ConstexprVariableCase, value: UPPER_CASE }
# Constantes locales en UPPER_CASE
- { key: readability-identifier-naming.LocalConstantCase, value: UPPER_CASE }
# Constexpr miembros en UPPER_CASE (sin sufijo)
- { key: readability-identifier-naming.ConstexprMemberCase, value: UPPER_CASE }
# Constexpr miembros privados/protegidos con sufijo _
- { key: readability-identifier-naming.ConstexprMethodCase, value: UPPER_CASE }
# Clases, structs y enums en CamelCase
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
- { key: readability-identifier-naming.StructCase, value: CamelCase }
- { key: readability-identifier-naming.EnumCase, value: CamelCase }
# Valores de enums en UPPER_CASE
- { key: readability-identifier-naming.EnumConstantCase, value: UPPER_CASE }
# Métodos en camelBack (sin sufijos)
- { key: readability-identifier-naming.MethodCase, value: camelBack }
- { key: readability-identifier-naming.PrivateMethodCase, value: camelBack }
- { key: readability-identifier-naming.ProtectedMethodCase, value: camelBack }
- { key: readability-identifier-naming.PublicMethodCase, value: camelBack }
# Funciones en camelBack
- { key: readability-identifier-naming.FunctionCase, value: camelBack }
# Parámetros en lower_case
- { key: readability-identifier-naming.ParameterCase, value: lower_case }

6
.gitignore vendored
View File

@@ -1,4 +1,4 @@
.vscode
.vscode/
*data/config/config.txt
*stats.txt
*.DS_Store
@@ -11,8 +11,8 @@ thumbs.db
*.zip
*.app
*_debug*
sync_jail_engine.sh
jaildoctors_dilemma*
todo
build/
linux_utils/
linux_utils/
.claude/

View File

@@ -3,83 +3,154 @@
cmake_minimum_required(VERSION 3.10)
project(jaildoctors_dilemma VERSION 1.00)
# Configuración de compilador para MinGW en Windows, si es necesario
if(WIN32 AND NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_C_COMPILER "gcc")
endif()
# Establecer estándar de C++
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# Configuración global de flags de compilación
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os -ffunction-sections -fdata-sections")
# Establece la política CMP0072 para indicar cómo se debe seleccionar la implementación de OpenGL.
# En este caso, se elige la opción "GLVND", que utiliza bibliotecas modernas y modulares (libOpenGL, libGLX),
# en lugar de la biblioteca OpenGL clásica (libGL). Esto mejora la compatibilidad con drivers recientes
# y evita ambigüedades cuando se encuentran múltiples implementaciones de OpenGL en el sistema.
cmake_policy(SET CMP0072 NEW)
set(OpenGL_GL_PREFERENCE GLVND)
# Define el directorio de los archivos fuente
set(DIR_SOURCES "${CMAKE_SOURCE_DIR}/source")
# Cargar todos los archivos fuente en DIR_SOURCES
file(GLOB SOURCES "${DIR_SOURCES}/*.cpp")
# Verificar si se encontraron archivos fuente
if(NOT SOURCES)
message(FATAL_ERROR "No se encontraron archivos fuente en ${DIR_SOURCES}. Verifica que el directorio existe y contiene archivos .cpp.")
endif()
# Configuración de SDL2
find_package(SDL2 REQUIRED)
if(SDL2_FOUND)
message(STATUS "SDL2 encontrado: ${SDL2_INCLUDE_DIRS}")
include_directories(${SDL2_INCLUDE_DIRS})
link_directories(${SDL2_LIBDIR})
# --- GENERACIÓN DE VERSIÓN AUTOMÁTICA ---
find_package(Git QUIET)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short=7 HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
else()
message(FATAL_ERROR "SDL2 no encontrado")
set(GIT_HASH "unknown")
endif()
# Incluye rutas de SDL2 obtenidas con pkg-config
include_directories(/usr/local/include /usr/local/include/SDL2)
link_directories(/usr/local/lib)
# Configurar archivo de versión
configure_file(${CMAKE_SOURCE_DIR}/source/version.h.in ${CMAKE_BINARY_DIR}/version.h @ONLY)
# Definir las bibliotecas comunes
set(LIBS SDL2)
# --- 1. LISTA EXPLÍCITA DE FUENTES ---
set(APP_SOURCES
# Core - Input
source/core/input/global_inputs.cpp
source/core/input/input.cpp
source/core/input/mouse.cpp
# Configuración común de salida de ejecutables en el directorio raíz
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR})
# Core - Rendering
source/core/rendering/gif.cpp
source/core/rendering/screen.cpp
source/core/rendering/surface.cpp
source/core/rendering/surface_animated_sprite.cpp
source/core/rendering/surface_moving_sprite.cpp
source/core/rendering/surface_sprite.cpp
source/core/rendering/text.cpp
source/core/rendering/texture.cpp
# Añadir ejecutable principal
add_executable(${PROJECT_NAME} ${SOURCES})
# Core - Resources
source/core/resources/asset.cpp
source/core/resources/resource.cpp
# Añadir definiciones de compilación dependiendo del tipo de build
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<CONFIG:DEBUG>:DEBUG VERBOSE>)
# Core - System
source/core/system/debug.cpp
source/core/system/director.cpp
# Enlazar bibliotecas
target_link_libraries(${PROJECT_NAME} ${LIBS})
# Game - Entities
source/game/entities/enemy.cpp
source/game/entities/item.cpp
source/game/entities/player.cpp
# Game - Configuration
source/game/options.cpp
# Game - Gameplay
source/game/gameplay/cheevos.cpp
source/game/gameplay/item_tracker.cpp
source/game/gameplay/room.cpp
source/game/gameplay/room_tracker.cpp
source/game/gameplay/scoreboard.cpp
source/game/gameplay/stats.cpp
# Game - Scenes
source/game/scenes/credits.cpp
source/game/scenes/ending.cpp
source/game/scenes/ending2.cpp
source/game/scenes/game.cpp
source/game/scenes/game_over.cpp
source/game/scenes/loading_screen.cpp
source/game/scenes/logo.cpp
source/game/scenes/title.cpp
# Game - UI
source/game/ui/notifier.cpp
# Utils
source/utils/delta_timer.cpp
source/utils/global_events.cpp
source/utils/utils.cpp
# Main
source/main.cpp
)
# Fuentes de librerías de terceros
set(EXTERNAL_SOURCES
source/external/jail_audio.cpp
)
# Fuentes del sistema de renderizado
set(RENDERING_SOURCES
source/core/rendering/opengl/opengl_shader.cpp
)
# Configuración de SDL3
find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3)
message(STATUS "SDL3 encontrado: ${SDL3_INCLUDE_DIRS}")
# --- 2. AÑADIR EJECUTABLE ---
add_executable(${PROJECT_NAME} ${APP_SOURCES} ${EXTERNAL_SOURCES} ${RENDERING_SOURCES})
# --- 3. DIRECTORIOS DE INCLUSIÓN ---
target_include_directories(${PROJECT_NAME} PUBLIC
"${CMAKE_SOURCE_DIR}/source"
"${CMAKE_BINARY_DIR}"
)
# Enlazar la librería SDL3
target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3)
# --- 4. CONFIGURACIÓN PLATAFORMAS Y COMPILADOR ---
# Configuración de flags de compilación
target_compile_options(${PROJECT_NAME} PRIVATE -Wall)
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:RELEASE>:-Os -ffunction-sections -fdata-sections>)
# Definir _DEBUG en modo Debug
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<CONFIG:DEBUG>:_DEBUG>)
# Configuración específica para cada plataforma
if(WIN32)
target_compile_definitions(${PROJECT_NAME} PRIVATE WINDOWS_BUILD)
target_link_libraries(${PROJECT_NAME} mingw32 opengl32 gdi32 winmm imm32 ole32 version)
target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32 mingw32 opengl32)
elseif(APPLE)
set(LIBS ${LIBS} "-framework OpenGL")
target_compile_definitions(${PROJECT_NAME} PRIVATE MACOS_BUILD)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated")
# Configurar compilación para Apple Silicon
target_compile_options(${PROJECT_NAME} PRIVATE -Wno-deprecated)
set(CMAKE_OSX_ARCHITECTURES "arm64")
elseif(UNIX AND NOT APPLE)
set(LIBS ${LIBS} GL)
target_compile_definitions(${PROJECT_NAME} PRIVATE LINUX_BUILD)
target_link_libraries(${PROJECT_NAME} ${LIBS})
endif()
# Añadir OpenGL a las bibliotecas enlazadas
# Configuración común para OpenGL
if(NOT WIN32)
find_package(OpenGL REQUIRED)
if(OPENGL_FOUND)
message(STATUS "OpenGL encontrado: ${OPENGL_LIBRARIES}")
target_link_libraries(${PROJECT_NAME} ${OPENGL_LIBRARIES})
target_link_libraries(${PROJECT_NAME} PRIVATE ${OPENGL_LIBRARIES})
else()
message(FATAL_ERROR "OpenGL no encontrado")
endif()
endif()
# Especificar la ubicación del ejecutable
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR})

View File

@@ -2,7 +2,7 @@ executable = jaildoctors_dilemma
source = source/*.cpp
appName = JailDoctor's Dilemma
releaseFolder = jdd_release
version = v1.09
version = v1.10
# Release names
windowsRelease = $(executable)-$(version)-win32-x64.zip
@@ -90,7 +90,7 @@ macos_release:
ln -s /Applications "$(releaseFolder)"/Applications
# Build INTEL
clang++ $(source) -D MACOS_BUNDLE -std=$(cpp_standard) -Wall -Os -framework SDL2 -F ./Frameworks -framework OpenGL -Wno-deprecated -ffunction-sections -fdata-sections -o "$(releaseFolder)/$(appName).app/Contents/MacOS/$(executable)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.12
clang++ $(source) -D MACOS_BUNDLE -std=$(cpp_standard) -Wall -Os -framework SDL2 -F ./Frameworks -framework OpenGL -Wno-deprecated -ffunction-sections -fdata-sections -o "$(releaseFolder)/$(appName).app/Contents/MacOS/$(executable)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.15
# Build INTEL DMG
hdiutil create tmp.dmg -ov -volname "$(appName)" -fs HFS+ -srcfolder "$(releaseFolder)"

View File

@@ -1,8 +1,8 @@
# JailDoctor's Dilemma
JailDoc és un Jailer. Als Jailers els agrada començar projectes. A ningú li agrada acabar-los. Els Jailers viuen a la Jail. A la Jail s'hi va a començar projectes. A la Jail s'hi va a ensenyar els projectes. A la Jail s'hi va a aprendre com començar nous projectes. A la Jail s'hi va a ajudar els companys a començar nous projectes.
<img src="https://php.sustancia.synology.me/images/jdd/jaildoctors_dilemma_cover_web.png" width="300" align="left" style="margin-right: 20px; margin-bottom: 10px;" alt="JailDoctor's Dilemma Cover">
![JailDoctor's Dilemma - Pantalla de títol](https://php.sustancia.synology.me/images/jdd/jdd_title.png)
JailDoc és un Jailer. Als Jailers els agrada començar projectes. A ningú li agrada acabar-los. Els Jailers viuen a la Jail. A la Jail s'hi va a començar projectes. A la Jail s'hi va a ensenyar els projectes. A la Jail s'hi va a aprendre com començar nous projectes. A la Jail s'hi va a ajudar els companys a començar nous projectes.
JailDoc és un Jailer destacat entre els Jailers. Té més projectes començats que ningú i és qui més ajuda als altres a iniciar els seus.
@@ -10,6 +10,8 @@ Però un dia, va passar una cosa inesperada. Algú va acabar un projecte. Algú
Això va fer que JailDoc prenguera una decisió: acabaria i lliuraria un dels seus projectes. Però, quin? *JailBattle*? *Sigmasuá*? *Calculín Doom*? Quin dilema! Finalment, es va arromangar i va decidir acabar i lliurar **tots** els seus projectes inacabats. Ho aconseguirà?
<br clear="left">
---
## Jugabilitat
@@ -36,9 +38,11 @@ El joc permet tant l'ús del teclat com d'un comandament. Les tecles per a jugar
- **Tecla F1**: Disminueix la mida de la finestra.
- **Tecla F2**: Augmenta la mida de la finestra.
- **Tecla F3**: Alterna entre el mode de pantalla completa i el mode finestra.
- **Tecla F4**: Activa o desactiva els shaders
- **Tecla F5**: Canvia la paleta de colors del joc.
- **Tecla B**: Activa o desactiva el marge de colors en mode finestra.
- **Tecla F4**: Activa o desactiva els shaders.
- **Tecla F5**: Estableix la següent paleta de colors.
- **Tecla F6**: Estableix la paleta de colors prèvia.
- **Tecla F7**: Activa o desactiva el escalat exacte.
- **Tecla B**: Activa o desactiva el marge de colors.
![JailDoctor's Dilemma - Gameplay](https://php.sustancia.synology.me/images/jdd/jdd_game2.png)

BIN
data/credits/shine.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

BIN
data/ending/ending1.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

BIN
data/ending/ending2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

BIN
data/ending/ending3.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

BIN
data/ending/ending4.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

BIN
data/ending/ending5.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

BIN
data/enemies/abad.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

BIN
data/enemies/abad_bell.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 555 B

BIN
data/enemies/amstrad_cs.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

BIN
data/enemies/bat.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 B

BIN
data/enemies/batman.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

BIN
data/enemies/bell.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 B

BIN
data/enemies/bin.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

BIN
data/enemies/bird.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

BIN
data/enemies/breakout.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 B

BIN
data/enemies/bry.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

BIN
data/enemies/chip.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

BIN
data/enemies/code.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 B

BIN
data/enemies/congo.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 B

BIN
data/enemies/crosshair.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

BIN
data/enemies/demon.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 329 B

BIN
data/enemies/dimallas.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

BIN
data/enemies/dong.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 630 B

BIN
data/enemies/elsa.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

BIN
data/enemies/floppy.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 B

BIN
data/enemies/guitar.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

BIN
data/enemies/heavy.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

BIN
data/enemies/jailer_#1.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 351 B

BIN
data/enemies/jailer_#2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

BIN
data/enemies/jailer_#3.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 B

BIN
data/enemies/jeannine.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 B

BIN
data/enemies/lamp.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 B

BIN
data/enemies/lord_abad.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 B

BIN
data/enemies/matatunos.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 B

BIN
data/enemies/mummy.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 B

BIN
data/enemies/paco.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

BIN
data/enemies/qvoid.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 441 B

BIN
data/enemies/robot.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Some files were not shown because too many files have changed in this diff Show More