130 Commits

Author SHA1 Message Date
854a5f04b2 les tecles de funcio ja tornena a funcionar amb la consola oberta 2026-03-28 14:03:41 +01:00
ed21a47f92 augmentat el limit de caracters en la consola 2026-03-28 13:53:07 +01:00
637df23bc7 mes comandos en Console 2026-03-28 13:37:46 +01:00
ea421b4e17 fix: en TITLE, la consola no bloquejava la pulsacio del 1 al 4 i entrava a les opcions 2026-03-28 13:31:20 +01:00
3a5ff06dab - afegits comandos de GameControl per activar trucos o canviar de habitacio
- modificat el comando debug, ja no activa el overlay sino el mode debug
- nou alias show info i hide info
2026-03-28 13:27:33 +01:00
dfb0d2134f ajustat "al gust" el hud (consola, render info i notifier) 2026-03-28 13:04:03 +01:00
b459e2106f clang format 2026-03-28 12:50:00 +01:00
065f66d40e nova clase renderInfo
afegit control de offset a les notificacions
2026-03-28 12:49:38 +01:00
f15658a767 afegit soport per a configurar el audio (en config i en console) 2026-03-28 11:08:01 +01:00
21c8d1e8ca eliminat renderInfo de ResourceCache::init 2026-03-28 10:49:39 +01:00
a06eb8c8e9 fix: #include <iomanip> en Screen per a std::setprecision() 2026-03-28 10:08:08 +01:00
6b73a76d31 canvis en renderInfo
acabant de pulir el calcul actual del zoom en non integer scale
2026-03-28 02:01:51 +01:00
348a76090b permet escollir driver de gpu o no escollir-ne cap 2026-03-28 01:14:41 +01:00
02c1bf647e modificats defaults per a kiosk mode 2026-03-28 00:42:27 +01:00
a7f0a18e6d canvis de upscale i downscale en consola 2026-03-28 00:37:52 +01:00
8355c266a6 afegits comandos y restriccions en la consola per al modo kiosko 2026-03-28 00:26:29 +01:00
7bad27d686 canvi i reinici d'escene en la consola 2026-03-28 00:02:14 +01:00
d39622c7e2 afegits els comandos de les tecles de funció 2026-03-27 23:32:44 +01:00
4910d201f9 primer comando implementat en la consola 2026-03-27 23:19:47 +01:00
e85800c5ed ja es pot escriure en la consola 2026-03-27 22:54:47 +01:00
f25ee18329 treballant en la consola 2026-03-27 22:24:55 +01:00
3712f0c8d9 implementat lanzcos en el supersampling 2026-03-27 21:59:14 +01:00
c063488e8e optimitzat textureToRenderer() 2026-03-27 20:34:45 +01:00
deb0a8677f mostra el render device en info_debug 2026-03-27 10:18:41 +01:00
c5a7c9e70d optimitzant textureToRenderer() 2026-03-27 09:46:25 +01:00
92453a6104 llevats colorins del debug 2026-03-26 08:49:49 +01:00
7aff3e2109 afegit overlay de debug 2026-03-26 08:47:24 +01:00
8d213e7b3e afinant els shaders 2026-03-26 07:46:11 +01:00
c6d409c303 corregides scanlines per a treballar amb subpixels per proporció 2026-03-25 22:31:34 +01:00
6914f7df93 supersampling ara aplica al tamany de la finestra, no a la textura base 2026-03-25 22:00:10 +01:00
1dbfff2c17 fix: el supersampling es feia per cpu en lloc de per gpu 2026-03-25 21:33:06 +01:00
3493636954 correccions en les traduccions 2026-03-25 20:51:52 +01:00
8ff1073e4a corregides les scanlines per a paletes amb fondo blanc 2026-03-25 18:31:36 +01:00
6497e26202 reordenades i renombrades les classes sprite 2026-03-25 18:01:33 +01:00
e0e37204d7 eliminada la classe Texture 2026-03-25 17:54:23 +01:00
6595b28790 clang-format
clang-tidy (macos)
2026-03-23 07:26:21 +01:00
0ddb6c85e1 afegit un poc de chroma al preset crt 2026-03-22 23:00:39 +01:00
f84007902e afegit flicker a postfx 2026-03-22 22:38:18 +01:00
49ae2ae41f per defecte el joc eixirà ara en valencià 2026-03-22 22:07:12 +01:00
c701421a8f corregits offsets en smb2.fnt 2026-03-22 22:04:23 +01:00
1ecb427106 supersampling implementat 2026-03-22 21:55:18 +01:00
c87779cc09 imlementant supersampling 2026-03-22 21:24:20 +01:00
24594fa89a deixant postfx al gust 2026-03-22 20:54:02 +01:00
030779794e F12 toggle de showFPS en mode debug 2026-03-22 19:59:48 +01:00
495c23a3d2 fix: en la migracio de la marquesina a la nova versio de Text s'havia posat per error un kerning superior al que havia
opt: millores en la getió de la marquesina per optimitzar rendiment
2026-03-22 19:43:35 +01:00
911ee7a13e modificada la paleta d'aseprite.gif per consistencia 2026-03-22 19:22:56 +01:00
b876ccbb09 afegit fallback a la font_gen
afegida deteccio de caracters no definits a font_gen
2026-03-22 19:19:00 +01:00
94684e8758 ferramenta de text pot importar gifs
ferramenta de text accepta separació entre quadricules de lletres
2026-03-22 19:06:01 +01:00
0c116665bc treballant en el generador de .fnt 2026-03-22 18:40:51 +01:00
d0ed49d192 revisada i actualitzada la classe Text per a donar suport a utf-8 2026-03-22 12:47:32 +01:00
5e013a8414 revisió de metodes de debug 2026-03-22 10:16:09 +01:00
0cdbeb768d revisió de la traducció al valencià 2026-03-22 09:57:25 +01:00
cd0477cc4c fix: nom de variable en Locale 2026-03-22 09:21:45 +01:00
c6e2779429 afegit suport multiidioma
afegida traducció al valencià
2026-03-22 09:00:51 +01:00
9b7abc7725 afegit metodo a Surface per a restaurar la subpaleta
fix: les surfaces de loading screen ja no es queden negres per a sempre
2026-03-22 08:10:49 +01:00
c87d682508 sombra als fps 2026-03-22 07:54:54 +01:00
366c00fd22 clang-format 2026-03-21 23:19:15 +01:00
55b58ded70 clang-tidy 2026-03-21 23:08:07 +01:00
d946ab7943 arreglos en make y cmake 2026-03-21 22:17:30 +01:00
167797a7b2 corregit build de release de windows 2026-03-21 19:05:16 +01:00
7ec869a6d4 afegit BUILDING.md 2026-03-21 18:51:53 +01:00
82603c1e41 afegida compilació de shaders y detecció en data/ per a reconstruir resources.pack 2026-03-21 18:41:59 +01:00
3a2015256a fix: pantalla completa, integer scale i vsync 2026-03-21 18:10:48 +01:00
9df3f1b929 corregit postfx en windows 2026-03-21 17:55:18 +01:00
43a6cc2d7a llevant el soport de opengl 2026-03-21 17:11:26 +01:00
aa292dcd92 nous postfx 2026-03-21 15:14:31 +01:00
06457654f4 postfx subpixel 2026-03-21 14:41:51 +01:00
e9fc2e8fa0 normalitzat el caption de la finestra 2026-03-21 14:15:40 +01:00
23863c02a6 millores en els presets 2026-03-21 14:12:11 +01:00
6996b3a82a presets en postfx 2026-03-21 13:57:18 +01:00
2b2eb31c67 treballant en postfx 2026-03-21 13:31:42 +01:00
8aad52f33f treballant en makefile 2026-03-21 12:32:05 +01:00
4e2393f4d5 fix: al acabar el segon ending, la transicio es a logo_to_title, no a logo_to_loading_screen 2026-03-19 11:21:38 +01:00
d9ada12ee0 afegit surface_dissolve_sprite
ending2 amb els fades correctes
2026-03-19 11:19:38 +01:00
a7d04d2bbc treballant en ending2 2026-03-19 09:53:42 +01:00
c80dffe957 afegit pixel_reveal a credits i a ending 2026-03-19 09:01:23 +01:00
31bbaf997f treballant en PixelReveal 2026-03-19 08:20:03 +01:00
c4d4a3b930 gitignore: afegir *.res, dist/ i .claude/settings.local.json
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 07:26:30 +01:00
d027216dc6 reestructuració de la carpeta release 2026-03-19 07:20:47 +01:00
483fe7251d control+alt+shift+q per a eixir del modo quiosc 2026-03-13 20:46:26 +01:00
852cda1984 en el mode quiosc s'ignora la pulsació d'F1, F2 i F3 i a mes comença en mode de pantalla completa 2026-03-08 22:43:47 +01:00
8d9c838be2 fix: makefile i cmakes
fix: initSDLVideo en opengl de linux
2026-03-08 15:18:48 +01:00
9ebf259525 fix: hack per a poder entrar en huecos de dos tiles d'altura al saltar
fix: calcul incorrecte del offset dels tiles que maten
2026-03-08 14:46:00 +01:00
f2e45940d5 afegit a defaults la habitació i posició inicials (normal i debug) 2026-03-08 10:09:30 +01:00
2ae8fc7440 fix: isValidPalette fallava al comparar 2026-03-08 09:49:33 +01:00
e7860c697e implementada la opció del mode quiosco 2026-03-08 09:42:00 +01:00
a8240a5d82 afegida estructura per al modo quiosco 2026-03-08 08:57:04 +01:00
723ab3d800 toggle FPS mentres jugues 2025-11-22 11:38:28 +01:00
fda8ff3f65 es poden activar els trucos en calent 2025-11-22 10:27:14 +01:00
9ef7f4274d corregida logica de atravesar el fondo de la pantalla a velocitat terminal 2025-11-22 09:29:20 +01:00
bd011a0ebb retocada aceleració de drag'n drop 2025-11-21 23:21:29 +01:00
6052be0c38 corregit bug en el modo invulnerable si caies de molt alt, es quedava marcat com mort i al llevar la invulnerabilitat, moria 2025-11-21 23:14:40 +01:00
ec3cc49710 si el jugador arriba al borde inferior de la habitació i no hi ha conexió, mor 2025-11-21 22:07:53 +01:00
2e1738c20c corregit el offset del ratoli 2025-11-21 21:23:07 +01:00
7479231110 ara pots recolocar al jugador en debug amb el ratoli 2025-11-21 21:16:03 +01:00
4fc5947ba7 corregits 2 pixels en ending3.gif 2025-11-21 21:00:19 +01:00
a21e6f8bb5 corregits missatges de log en opengl_shader.cpp que no deurien d'eixir en versions release 2025-11-21 20:15:35 +01:00
d27f978c62 afegit fade de audio al final de Ending 2025-11-21 20:06:30 +01:00
2fd101674e afegits MES estats a la classe Game 2025-11-21 18:52:20 +01:00
e36fa95762 afegits estats a la clase Game 2025-11-21 18:35:41 +01:00
88ce6cd570 clang-format 2025-11-21 18:02:53 +01:00
d011a41d5a mini-merdes 2025-11-21 17:35:33 +01:00
039eb20c06 millorat el log del principi antes de que jaildoc remugue 2025-11-21 14:03:11 +01:00
959a513651 modificat cmake per a definir RELEASE_BUILD en el BUILD_TYPE=release 2025-11-21 13:49:53 +01:00
1fed8f63bd eliminat el checkFiles inicial que a jaildoc li molestava 2025-11-21 13:34:20 +01:00
b475c4d818 jo arreglant lo de claude 2025-11-21 12:43:49 +01:00
972d23f178 claude arreglant el ending 2025-11-21 10:48:15 +01:00
83d4d0b954 afegit versió a la pantalla de carrega de recursos 2025-11-21 10:06:43 +01:00
ea43880d59 unificat el numero de versió 2025-11-21 09:44:48 +01:00
6bf26f7470 posat orden en defaults i defines 2025-11-21 09:30:33 +01:00
0fb986d7c4 linter 2025-11-21 08:07:32 +01:00
9aa86cd531 linter 2025-11-20 09:19:43 +01:00
34840a64cf linter 2025-11-20 09:19:24 +01:00
7d962ae752 fix: al canviar de pantalla lateralment, es resetejava la altura de salt i el jugador caia 2025-11-19 22:52:31 +01:00
28f11a42b7 corregides les conveyor belt d'algunes habitacions, de none a right 2025-11-19 22:33:01 +01:00
5337e3b4e5 linter 2025-11-19 20:43:20 +01:00
35ef99cf7c linter 2025-11-19 20:21:45 +01:00
cbe71b5af4 classe Player refactoritzada per chanclot 2025-11-19 19:56:35 +01:00
e73f573e9a arreglos en options.hpp/cpp 2025-11-19 19:06:06 +01:00
fa9723dafc fitxers room amb tile buit = -1 2025-11-19 13:31:24 +01:00
ceb2b71331 fitxers room convertits 2025-11-19 08:09:19 +01:00
0a5594b9a8 format de fitxers room 2025-11-19 07:59:33 +01:00
932de53609 creada resource_types 2025-11-18 13:52:41 +01:00
b7db34cdf7 arreglos d'estil en source/core/resources 2025-11-18 12:41:30 +01:00
4477cc4bbc eliminada tota la funcionalitat de gamepad_config_manager i la dependencia de json 2025-11-18 09:44:42 +01:00
435358ef1e arreglos estetics en credits 2025-11-18 09:22:07 +01:00
fff77e47cf corregides les tecles en la escena de credits 2025-11-18 09:14:50 +01:00
3550f26c45 actualitzat readme amb els controls 2025-11-18 09:11:31 +01:00
c0905adc62 migrada la configuracio de txt a yaml 2025-11-18 09:01:42 +01:00
f9b8edc23c migrat assets.txt a assets.yaml 2025-11-18 08:23:49 +01:00
669 changed files with 33150 additions and 38906 deletions

View File

@@ -1,6 +1,7 @@
BasedOnStyle: Google
IndentWidth: 4
IndentAccessModifiers: true
NamespaceIndentation: All
IndentAccessModifiers: false
ColumnLimit: 0 # Sin límite de longitud de línea
BreakBeforeBraces: Attach # Llaves en la misma línea
AllowShortIfStatementsOnASingleLine: true

View File

@@ -19,8 +19,9 @@ Checks:
- -modernize-avoid-c-arrays,-warnings-as-errors
WarningsAsErrors: '*'
# Solo incluir archivos de tu código fuente
HeaderFilterRegex: '^source/(sections|ui)/.*'
# Solo incluir archivos de tu código fuente (external tiene su propio .clang-tidy)
# Excluye jail_audio.hpp del análisis
HeaderFilterRegex: '^source/(?!core/audio/jail_audio\.hpp).*'
FormatStyle: file
CheckOptions:

View File

@@ -1,30 +0,0 @@
{
"permissions": {
"allow": [
"Bash(cmake --build:*)",
"Bash(test:*)",
"Bash(tools/linter/run_clang-tidy.sh:*)",
"Bash(make resources.pack:*)",
"Bash(tools/linter/run_cppcheck.sh:*)",
"Bash(cat:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git checkout:*)",
"Bash(sort:*)",
"Bash(cmake:*)",
"Bash(chmod:*)",
"Bash(python3:*)",
"Bash(make:*)",
"Bash(ldd:*)",
"WebSearch",
"Bash(find:*)",
"WebFetch(domain:github.com)",
"WebFetch(domain:raw.githubusercontent.com)",
"Bash(curl:*)",
"WebFetch(domain:fktn-k.github.io)",
"Bash(./jaildoctors_dilemma)"
],
"deny": [],
"ask": []
}
}

10
.gitignore vendored
View File

@@ -1,5 +1,6 @@
.cache/
.vscode/
*data/config/config.txt
*data/config/config.yaml
*stats.txt
*.DS_Store
thumbs.db
@@ -19,4 +20,9 @@ source/version.h
resources.pack
jdd_release/
tools/pack_resources/pack_resources
tools/pack_resources/pack_resources.exe
tools/pack_resources/pack_resources.exe
tools/pack_resources/pack_tool
tools/pack_resources/pack_tool.exe
*.res
dist/
.claude/settings.local.json

78
BUILDING.md Normal file
View File

@@ -0,0 +1,78 @@
# Compilar JailDoctor's Dilemma
## Linux (Debian/Ubuntu)
Instal·la les dependències:
```bash
sudo apt install cmake make g++ xxd glslang-tools glslc
```
Per a SDL3, instal·la el paquet de desenvolupament si està disponible al teu repositori:
```bash
sudo apt install libsdl3-dev
```
Si `libsdl3-dev` no està als repos (SDL3 és recent i pot no estar a Debian stable), compila'l des del codi font:
```bash
git clone https://github.com/libsdl-org/SDL.git --branch release-3.x --depth 1
cd SDL && cmake -B build && cmake --build build && sudo cmake --install build
```
Compila el joc:
```bash
cmake -B build
cmake --build build
```
---
## Windows (MinGW via WinLibs)
1. Instal·la [WinLibs](https://winlibs.com/) (MinGW-w64 amb GCC)
2. Instal·la [CMake](https://cmake.org/download/)
3. Descarrega les [biblioteques de desenvolupament de SDL3 per a MinGW](https://github.com/libsdl-org/SDL/releases) — copia les capçaleres a `include/` i els fitxers `.a` a `lib/` de MinGW
4. Instal·la el [Vulkan SDK](https://vulkan.lunarg.com/sdk/home) — proporciona `glslc` per a la compilació dels shaders
Compila el joc (des d'un terminal MinGW):
```bash
cmake -B build -G "MinGW Makefiles"
cmake --build build
```
---
## macOS
Instal·la les dependències amb [Homebrew](https://brew.sh):
```bash
brew install cmake sdl3 glslang
```
Compila el joc:
```bash
cmake -B build
cmake --build build
```
---
## Què fa la compilació
`cmake --build build` ho gestiona tot en ordre:
1. **Compila els shaders** — regenera `postfx_vert_spv.h` / `postfx_frag_spv.h` si els fitxers `.vert` o `.frag` han canviat (requereix `glslc`)
2. **Compila el joc** — només recompila els fitxers `.cpp` modificats
3. **Empaqueta els recursos** — regenera `resources.pack` des de `data/` si algun asset ha canviat
Si `glslc` no està instal·lat, s'utilitzen les capçaleres de shaders precompilades (incloses al repositori).
> **Nota:** El `file(GLOB_RECURSE)` sobre `data/` s'avalua en temps de configuració de CMake. Si **afegeixes un fitxer nou** a `data/`, executa `cmake -B build` de nou perquè CMake el detecte com a dependència.
L'executable es genera a l'arrel del projecte: `./jaildoctors_dilemma`

176
CLAUDE.md
View File

@@ -55,6 +55,46 @@ cmake --build build --clean-first
**Important:** The build directory is `/Users/sergio/Gitea/jaildoctors_dilemma/build` and the output executable is placed in the project root directory.
### Testing in Headless Environment (SSH/Remote Server)
**IMPORTANT:** When working on a remote server via SSH without a physical display, the game MUST be run using Xvfb (X Virtual Framebuffer) to avoid SDL3 display initialization errors.
#### Required Setup (One-time)
```bash
# Install Xvfb
sudo apt-get install xvfb
```
#### Running the Game in Headless Mode
**Option 1: Using the wrapper script (RECOMMENDED)**
```bash
./run_headless.sh
```
**Option 2: Using xvfb-run directly**
```bash
xvfb-run -a ./jaildoctors_dilemma
```
**Option 3: Custom display configuration**
```bash
xvfb-run -a -s "-screen 0 1280x720x24" ./jaildoctors_dilemma
```
#### Why This Is Critical
- **SDL3 requires a display:** The game uses SDL3 which requires X11/Wayland display
- **No code changes needed:** Xvfb simulates a virtual display without modifying the codebase
- **Full logging:** Console output and logs work normally, essential for debugging resource loading
- **Testing resource loading:** When modifying asset loading code, running with xvfb-run allows seeing all initialization logs
**ALWAYS use xvfb-run when testing on the remote server, especially when:**
- Modifying resource loading code
- Testing asset initialization
- Debugging startup issues
- Verifying configuration changes
### Static Analysis Tools (Linters)
This project uses two complementary static analysis tools for code quality:
@@ -261,7 +301,7 @@ source/
└── main.cpp # Application entry point
config/ # Configuration files
└── assets.txt # Asset registry (text-based configuration)
└── assets.yaml # Asset registry (text-based configuration)
data/ # Game assets
├── font/ # Bitmap fonts + descriptors
@@ -306,8 +346,8 @@ class Screen {
- `Screen` - Rendering, window management, palette/shader effects
- `Input` - Keyboard & gamepad input binding and checking
- `Audio` - Music and sound effect playback
- `Resource` - Asset loading, caching, streaming
- `Asset` - Asset path registry and verification
- `Resource::Cache` - Asset loading, caching, streaming (with error handling)
- `Resource::List` - Asset path registry from assets.yaml (O(1) lookups)
- `Director` - Main application controller
- `Cheevos` - Achievement state management
- `Debug` - Debug information overlay
@@ -413,12 +453,14 @@ struct AnimationData {
main()
Director::Director() [Initialization]
├─ Options::init() - Load game configuration
├─ Asset::init() - Register asset paths
├─ Screen::init() - Create window, SDL renderer
├─ Resource::List::init() - Initialize asset registry singleton
├─ Director::setFileList() - Load assets.yaml configuration (no verification)
├─ Options::loadFromFile() - Load game configuration
├─ Audio::init() - Initialize SDL audio
├─ Screen::init() - Create window, SDL renderer
├─ Input::init() - Bind keyboard/gamepad controls
├─ Resource::init() - Load all game resources
├─ Resource::Cache::init() - Load ALL game resources (with verification)
│ └─ Throws exception if any required asset is missing
└─ Cheevos::init() - Load achievement state
Director::run() [Main loop]
@@ -433,11 +475,11 @@ Director::run() [Main loop]
Director::~Director() [Cleanup]
├─ Options::saveToFile() - Save game settings
├─ Resource::destroy()
├─ Resource::Cache::destroy()
├─ Audio::destroy()
├─ Input::destroy()
├─ Screen::destroy()
└─ Asset::destroy()
└─ Resource::List::destroy()
```
### 4.2 Game Scene Flow (Core Gameplay Loop)
@@ -468,24 +510,27 @@ Game::run() {
```
Director::setFileList()
─ Asset::loadFromFile(config_path, PREFIX, system_folder_)
├─ Read config/assets.txt - Parse text configuration file
├─ Parse each line: TYPE|PATH|OPTIONS - Extract asset information
├─ Replace variables (${PREFIX}, ${SYSTEM_FOLDER})
└─ Store in unordered_map (O(1) lookup) - Fast asset path retrieval
└─ Asset::check() - Verify required files exist
─ Asset::loadFromFile(config_path, PREFIX, system_folder_)
├─ Read config/assets.yaml - Parse text configuration file
├─ Parse YAML structure: assets grouped by category
├─ Replace variables (${PREFIX}, ${SYSTEM_FOLDER})
└─ Store in unordered_map (O(1) lookup) - Fast asset path retrieval
Game Scene initialization
└─ Resource::init() - Loads all resources
├─ loadSounds() - WAV files
├─ loadMusics() - OGG files
├─ loadSurfaces() - GIF/PNG images
├─ loadAnimations() - .ani animation definitions
├─ loadTileMaps() - .room tilemap data
─ loadRooms() - Room metadata
└─ Resource::Cache::init() - Loads all resources
├─ loadSounds() - WAV files (with error handling)
├─ loadMusics() - OGG files (with error handling)
├─ loadSurfaces() - GIF/PNG images (with error handling)
├─ loadPalettes() - PAL palette files (with error handling)
├─ loadTextFiles() - Font definition files (with error handling)
─ loadAnimations() - YAML animation definitions (with error handling)
└─ loadRooms() - Room YAML files (with error handling)
Note: Asset verification happens during actual loading.
If a required file is missing, Cache::load() throws detailed exception.
During gameplay
└─ Resource::get*(name) - Return cached resource
└─ Resource::Cache::get*(name) - Return cached resource
```
### 4.4 Input Flow
@@ -587,7 +632,7 @@ namespace Options {
inline Stats stats{}; // Game statistics
}
Options::loadFromFile(path); // Load from config.txt
Options::loadFromFile(path); // Load from config.yaml
Options::saveToFile(path); // Save on exit
```
@@ -653,8 +698,8 @@ Achievements trigger notifications on unlock.
| `Screen` | Rendering, window, palette management | Singleton |
| `Input` | Keyboard & gamepad input | Singleton |
| `Audio` | Music and SFX playback | Singleton |
| `Resource` | Asset caching and loading | Singleton |
| `Asset` | Asset path registry from config/assets.txt, O(1) lookups, variable substitution | Singleton |
| `Resource::Cache` | Asset caching and loading (with detailed error messages) | Singleton |
| `Resource::List` | Asset path registry from config/assets.yaml, O(1) lookups, variable substitution | Singleton |
| `Debug` | Debug overlay information | Singleton |
| `globalEvents` | Global SDL event handling (quit, device reset, mouse) | Namespace |
@@ -717,16 +762,25 @@ Achievements trigger notifications on unlock.
### Adding Game Assets
1. Place file in `data/` directory
2. Add entry to `config/assets.txt`:
2. Add entry to `config/assets.yaml` under the appropriate category:
```yaml
assets:
category_name: # e.g., player, enemies, music, etc.
- type: BITMAP
path: ${PREFIX}/data/path/file.ext
```
TYPE|${PREFIX}/data/path/file.ext
Available types: `DATA`, `BITMAP`, `ANIMATION`, `MUSIC`, `SOUND`, `FONT`, `ROOM`, `PALETTE`
3. Optional flags can be added:
```yaml
- type: DATA
path: ${SYSTEM_FOLDER}/file.txt
required: false # Don't fail if missing
absolute: true # Path is absolute
```
Available types: `DATA`, `BITMAP`, `ANIMATION`, `MUSIC`, `SOUND`, `FONT`, `ROOM`, `TILEMAP`, `PALETTE`
3. Optional flags can be added: `TYPE|${PREFIX}/path/file.ext|optional,absolute`
4. Resource loads automatically during `Resource::init()`
5. Access via: `Resource::Cache::get()->getSurface("name")`
**Note:** No recompilation needed when adding/removing/modifying assets in `config/assets.txt`
**Note:** No recompilation needed when adding/removing/modifying assets in `config/assets.yaml`
### Modifying Collision Detection
@@ -782,36 +836,58 @@ In debug builds (`#ifdef DEBUG`), renders:
## 11. File Format Reference
### Asset Configuration File (config/assets.txt)
Text-based asset registry with pipe-delimited format:
```
# Format: TYPE|PATH [|OPTIONS]
# Comments start with # or ;
### Asset Configuration File (config/assets.yaml)
YAML-based asset registry with grouped structure:
```yaml
# JailDoctor's Dilemma - Asset Configuration
# Variables: ${PREFIX}, ${SYSTEM_FOLDER}
# Options: optional, absolute (comma-separated)
# Example entries:
BITMAP|${PREFIX}/data/player/player.gif
ANIMATION|${PREFIX}/data/player/player.ani
MUSIC|${PREFIX}/data/music/title.ogg
DATA|${SYSTEM_FOLDER}/config.txt|optional,absolute
assets:
# FONTS
fonts:
- type: BITMAP
path: ${PREFIX}/data/font/smb2.gif
- type: FONT
path: ${PREFIX}/data/font/smb2.txt
# PLAYER
player:
- type: BITMAP
path: ${PREFIX}/data/player/player.gif
- type: ANIMATION
path: ${PREFIX}/data/player/player.yaml
# MUSIC
music:
- type: MUSIC
path: ${PREFIX}/data/music/title.ogg
# SYSTEM FILES (optional, absolute paths)
system:
- type: DATA
path: ${SYSTEM_FOLDER}/config.yaml
required: false
absolute: true
```
**Asset Structure:**
- Assets are organized into categories (fonts, palettes, shaders, player, enemies, etc.)
- Each asset entry contains:
- `type` - Asset type (required)
- `path` - File path with variable substitution (required)
- `required` - Whether file must exist (optional, default: `true`)
- `absolute` - Whether path is absolute (optional, default: `false`)
**Available Asset Types:**
- `DATA` - General data files (text, JSON, etc.)
- `BITMAP` - Images (GIF, PNG)
- `ANIMATION` - Animation definition files (.ani)
- `ANIMATION` - Animation definition files (.yaml)
- `MUSIC` - Music files (OGG)
- `SOUND` - Sound effects (WAV)
- `FONT` - Font definition files
- `ROOM` - Room data files (.room)
- `TILEMAP` - Tilemap files (.tmx)
- `ROOM` - Room data files (.yaml)
- `PALETTE` - Color palette files (.pal)
**Options:**
- `optional` - File is not required (won't fail check if missing)
- `absolute` - Path is absolute (not relative to executable)
**Variables:**
- `${PREFIX}` - Replaced with `/../Resources` on macOS bundles, empty otherwise
- `${SYSTEM_FOLDER}` - Replaced with user's system config folder
@@ -865,7 +941,7 @@ Binary 256-color palette format (256 × 4 bytes RGBA).
- `Player::update()` - Physics and movement
### For Asset Management
- `config/assets.txt` - Asset configuration file (text-based, no recompilation needed)
- `config/assets.yaml` - Asset configuration file (text-based, no recompilation needed)
- `Asset::loadFromFile()` - Loads assets from config file
- `Resource::List::get()` - Retrieves asset path (O(1) lookup with unordered_map)
- `Resource::load()` - Asset loading

View File

@@ -10,13 +10,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
# Exportar comandos de compilación para herramientas de análisis
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# 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)
# --- GENERACIÓN DE VERSIÓN AUTOMÁTICA ---
find_package(Git QUIET)
if(GIT_FOUND)
@@ -47,13 +40,18 @@ set(APP_SOURCES
# Core - Rendering
source/core/rendering/gif.cpp
source/core/rendering/pixel_reveal.cpp
source/core/rendering/render_info.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/sprite/animated_sprite.cpp
source/core/rendering/sprite/dissolve_sprite.cpp
source/core/rendering/sprite/moving_sprite.cpp
source/core/rendering/sprite/sprite.cpp
source/core/rendering/text.cpp
source/core/rendering/texture.cpp
# Core - Locale
source/core/locale/locale.cpp
# Core - Resources
source/core/resources/resource_list.cpp
@@ -98,6 +96,7 @@ set(APP_SOURCES
source/game/scenes/title.cpp
# Game - UI
source/game/ui/console.cpp
source/game/ui/notifier.cpp
# Utils
@@ -108,9 +107,9 @@ set(APP_SOURCES
source/main.cpp
)
# Fuentes del sistema de renderizado
# Fuentes del sistema de renderizado (SDL3 GPU para todas las plataformas)
set(RENDERING_SOURCES
source/core/rendering/opengl/opengl_shader.cpp
source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp
)
# Fuentes de debug (solo en modo Debug)
@@ -122,9 +121,53 @@ set(DEBUG_SOURCES
find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3)
message(STATUS "SDL3 encontrado: ${SDL3_INCLUDE_DIRS}")
# --- SHADER COMPILATION (Linux/Windows only - macOS uses Metal) ---
if(NOT APPLE)
find_program(GLSLC_EXE NAMES glslc)
set(SHADER_VERT_SRC "${CMAKE_SOURCE_DIR}/data/shaders/postfx.vert")
set(SHADER_FRAG_SRC "${CMAKE_SOURCE_DIR}/data/shaders/postfx.frag")
set(SHADER_VERT_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/postfx_vert_spv.h")
set(SHADER_FRAG_H "${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu/postfx_frag_spv.h")
if(GLSLC_EXE)
add_custom_command(
OUTPUT "${SHADER_VERT_H}" "${SHADER_FRAG_H}"
COMMAND ${CMAKE_COMMAND}
-D GLSLC=${GLSLC_EXE}
-D SHADERS_DIR=${CMAKE_SOURCE_DIR}/data/shaders
-D HEADERS_DIR=${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu
-P ${CMAKE_SOURCE_DIR}/tools/shaders/compile_spirv.cmake
DEPENDS "${SHADER_VERT_SRC}" "${SHADER_FRAG_SRC}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
COMMENT "Compilando shaders SPIR-V..."
)
add_custom_target(shaders DEPENDS "${SHADER_VERT_H}" "${SHADER_FRAG_H}")
message(STATUS "glslc encontrado: shaders se compilarán automáticamente")
else()
if(NOT EXISTS "${SHADER_VERT_H}" OR NOT EXISTS "${SHADER_FRAG_H}")
message(FATAL_ERROR
"glslc no encontrado y headers SPIR-V no existen.\n"
" Instala glslc: sudo apt install glslang-tools (Linux)\n"
" choco install vulkan-sdk (Windows)\n"
" O genera los headers manualmente: tools/shaders/compile_spirv.sh"
)
else()
message(STATUS "glslc no encontrado - usando headers SPIR-V precompilados")
endif()
endif()
else()
message(STATUS "macOS: shaders SPIR-V omitidos (usa Metal)")
endif()
# --- 2. AÑADIR EJECUTABLE ---
add_executable(${PROJECT_NAME} ${APP_SOURCES} ${RENDERING_SOURCES})
# Shaders deben compilarse antes que el ejecutable (Linux/Windows con glslc)
if(NOT APPLE AND GLSLC_EXE)
add_dependencies(${PROJECT_NAME} shaders)
endif()
# Añadir fuentes de debug solo en modo Debug
target_sources(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>:${DEBUG_SOURCES}>)
@@ -143,13 +186,14 @@ target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3)
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
# Definir _DEBUG en modo Debug y RELEASE_BUILD en modo Release
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<CONFIG:DEBUG>:_DEBUG>)
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<CONFIG:RELEASE>:RELEASE_BUILD>)
# Configuración específica para cada plataforma
if(WIN32)
target_compile_definitions(${PROJECT_NAME} PRIVATE WINDOWS_BUILD)
target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32 mingw32 opengl32)
target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32 mingw32)
elseif(APPLE)
target_compile_definitions(${PROJECT_NAME} PRIVATE MACOS_BUILD)
target_compile_options(${PROJECT_NAME} PRIVATE -Wno-deprecated)
@@ -158,16 +202,97 @@ elseif(UNIX AND NOT APPLE)
target_compile_definitions(${PROJECT_NAME} PRIVATE LINUX_BUILD)
endif()
# 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} 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})
# --- 5. STATIC ANALYSIS TARGETS ---
# Buscar herramientas de análisis estático
find_program(CLANG_TIDY_EXE NAMES clang-tidy)
find_program(CLANG_FORMAT_EXE NAMES clang-format)
# Recopilar todos los archivos fuente para formateo
file(GLOB_RECURSE ALL_SOURCE_FILES
"${CMAKE_SOURCE_DIR}/source/*.cpp"
"${CMAKE_SOURCE_DIR}/source/*.hpp"
"${CMAKE_SOURCE_DIR}/source/*.h"
)
# Excluir directorio external del análisis
list(FILTER ALL_SOURCE_FILES EXCLUDE REGEX ".*/external/.*")
# Para clang-tidy, también excluir jail_audio.hpp
set(CLANG_TIDY_SOURCES ${ALL_SOURCE_FILES})
list(FILTER CLANG_TIDY_SOURCES EXCLUDE REGEX ".*jail_audio\\.hpp$")
list(FILTER CLANG_TIDY_SOURCES EXCLUDE REGEX ".*_spv\\.h$")
# Targets de clang-tidy
if(CLANG_TIDY_EXE)
add_custom_target(tidy
COMMAND ${CLANG_TIDY_EXE}
-p ${CMAKE_BINARY_DIR}
${CLANG_TIDY_SOURCES}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Running clang-tidy..."
)
add_custom_target(tidy-fix
COMMAND ${CLANG_TIDY_EXE}
-p ${CMAKE_BINARY_DIR}
--fix
${CLANG_TIDY_SOURCES}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Running clang-tidy with fixes..."
)
else()
message(STATUS "clang-tidy no encontrado - targets 'tidy' y 'tidy-fix' no disponibles")
endif()
# Targets de clang-format
if(CLANG_FORMAT_EXE)
add_custom_target(format
COMMAND ${CLANG_FORMAT_EXE}
-i
${ALL_SOURCE_FILES}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Running clang-format..."
)
add_custom_target(format-check
COMMAND ${CLANG_FORMAT_EXE}
--dry-run
--Werror
${ALL_SOURCE_FILES}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Checking clang-format..."
)
else()
message(STATUS "clang-format no encontrado - targets 'format' y 'format-check' no disponibles")
endif()
# --- 6. PACK RESOURCES TARGETS ---
set(PACK_TOOL_SOURCES
${CMAKE_SOURCE_DIR}/tools/pack_resources/pack_resources.cpp
${CMAKE_SOURCE_DIR}/source/core/resources/resource_pack.cpp
)
add_executable(pack_tool ${PACK_TOOL_SOURCES})
target_include_directories(pack_tool PRIVATE ${CMAKE_SOURCE_DIR}/source)
set_target_properties(pack_tool PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/tools/pack_resources
)
file(GLOB_RECURSE DATA_FILES "${CMAKE_SOURCE_DIR}/data/*")
add_custom_command(
OUTPUT "${CMAKE_SOURCE_DIR}/resources.pack"
COMMAND $<TARGET_FILE:pack_tool>
"${CMAKE_SOURCE_DIR}/data"
"${CMAKE_SOURCE_DIR}/resources.pack"
DEPENDS pack_tool ${DATA_FILES}
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
COMMENT "Generando resources.pack desde data/..."
)
add_custom_target(pack DEPENDS "${CMAKE_SOURCE_DIR}/resources.pack")
add_dependencies(${PROJECT_NAME} pack)

View File

@@ -1,6 +1,6 @@
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
Copyright (c) 2022 JailDoctor's Dilemma
Copyright (c) 2022 JailDoctor's Dilemma - JailDesigner
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

125
Makefile
View File

@@ -12,9 +12,10 @@ DIR_TOOLS := $(addsuffix /, $(DIR_ROOT)tools)
TARGET_NAME := jaildoctors_dilemma
TARGET_FILE := $(DIR_BIN)$(TARGET_NAME)
APP_NAME := JailDoctor's Dilemma
RELEASE_FOLDER := jdd_release
DIST_DIR := dist
RELEASE_FOLDER := dist/_tmp
RELEASE_FILE := $(RELEASE_FOLDER)/$(TARGET_NAME)
RESOURCE_FILE := release/jdd.res
RESOURCE_FILE := release/windows/jdd.res
# ==============================================================================
# PACKING TOOL
@@ -30,12 +31,20 @@ PACK_SOURCES := $(DIR_TOOLS)pack_resources/pack_resources.cpp source/core/reso
PACK_INCLUDES := -Isource
# ==============================================================================
# VERSION (automatic based on date)
# SHADERS
# ==============================================================================
SHADER_SCRIPT := $(DIR_ROOT)tools/shaders/compile_spirv.sh
SHADER_VERT_H := $(DIR_ROOT)source/core/rendering/sdl3gpu/postfx_vert_spv.h
SHADER_FRAG_H := $(DIR_ROOT)source/core/rendering/sdl3gpu/postfx_frag_spv.h
GLSLC := $(shell command -v glslc 2>/dev/null)
# ==============================================================================
# VERSION (extracted from defines.hpp)
# ==============================================================================
ifeq ($(OS),Windows_NT)
VERSION := $(shell powershell -Command "Get-Date -Format 'yyyy-MM-dd'")
VERSION := v$(shell powershell -Command "(Select-String -Path 'source/utils/defines.hpp' -Pattern 'constexpr const char\* VERSION = \"(.+?)\"').Matches.Groups[1].Value")
else
VERSION := $(shell date +%Y-%m-%d)
VERSION := v$(shell grep 'constexpr const char\* VERSION' source/utils/defines.hpp | sed -E 's/.*VERSION = "([^"]+)".*/\1/')
endif
# ==============================================================================
@@ -52,10 +61,10 @@ endif
# ==============================================================================
# RELEASE NAMES
# ==============================================================================
WINDOWS_RELEASE := $(TARGET_NAME)-$(VERSION)-win32-x64.zip
MACOS_INTEL_RELEASE := $(TARGET_NAME)-$(VERSION)-macos-intel.dmg
MACOS_APPLE_SILICON_RELEASE := $(TARGET_NAME)-$(VERSION)-macos-apple-silicon.dmg
LINUX_RELEASE := $(TARGET_NAME)-$(VERSION)-linux.tar.gz
WINDOWS_RELEASE := $(DIST_DIR)/$(TARGET_NAME)-$(VERSION)-win32-x64.zip
MACOS_INTEL_RELEASE := $(DIST_DIR)/$(TARGET_NAME)-$(VERSION)-macos-intel.dmg
MACOS_APPLE_SILICON_RELEASE := $(DIST_DIR)/$(TARGET_NAME)-$(VERSION)-macos-apple-silicon.dmg
LINUX_RELEASE := $(DIST_DIR)/$(TARGET_NAME)-$(VERSION)-linux.tar.gz
# ==============================================================================
# SOURCE FILES
@@ -75,7 +84,9 @@ APP_SOURCES := \
source/core/rendering/text.cpp \
source/core/rendering/texture.cpp \
source/core/rendering/gif.cpp \
source/core/rendering/opengl/opengl_shader.cpp \
source/core/rendering/pixel_reveal.cpp \
source/core/rendering/surface_dissolve_sprite.cpp \
source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp \
source/core/resources/resource_list.cpp \
source/core/resources/resource_cache.cpp \
source/core/resources/resource_helper.cpp \
@@ -130,7 +141,7 @@ ifeq ($(OS),Windows_NT)
-Wl,--gc-sections -static-libstdc++ -static-libgcc \
-Wl,-subsystem,windows -DWINDOWS_BUILD
CXXFLAGS_DEBUG := -std=$(CPP_STANDARD) -Wall -g -D_DEBUG -DWINDOWS_BUILD
LDFLAGS := -lmingw32 -lws2_32 -lSDL3 -lopengl32
LDFLAGS := -lmingw32 -lws2_32 -lSDL3
RM := del /Q
MKDIR := mkdir
else
@@ -144,18 +155,35 @@ else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
CXXFLAGS += -DLINUX_BUILD
LDFLAGS += -lGL
endif
ifeq ($(UNAME_S),Darwin)
CXXFLAGS += -Wno-deprecated -DMACOS_BUILD
CXXFLAGS_DEBUG += -Wno-deprecated -DMACOS_BUILD
LDFLAGS += -framework OpenGL
CXXFLAGS += -DMACOS_BUILD
CXXFLAGS_DEBUG += -DMACOS_BUILD
# Configurar arquitectura (por defecto arm64)
CXXFLAGS += -arch arm64
CXXFLAGS_DEBUG += -arch arm64
endif
endif
# ==============================================================================
# REGLAS PARA COMPILACIÓN DE SHADERS
# ==============================================================================
compile_shaders:
ifdef GLSLC
@echo "Compilando shaders SPIR-V..."
@$(SHADER_SCRIPT)
@echo "✓ Shaders compilados"
else
@if [ -f "$(SHADER_VERT_H)" ] && [ -f "$(SHADER_FRAG_H)" ]; then \
echo "⚠ glslc no encontrado - usando headers SPIR-V precompilados"; \
else \
echo "ERROR: glslc no encontrado y headers SPIR-V no existen."; \
echo " Instala glslc: sudo apt install glslang-tools"; \
echo " O ejecuta manualmente: tools/shaders/compile_spirv.sh"; \
exit 1; \
fi
endif
# ==============================================================================
# REGLAS PARA HERRAMIENTA DE EMPAQUETADO Y RESOURCES.PACK
# ==============================================================================
@@ -176,18 +204,15 @@ resources.pack: $(PACK_TOOL)
# ==============================================================================
windows:
@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 para Windows con nombre: "$(WIN_TARGET_FILE).exe"
windres release/jdd.rc -O coff -o $(RESOURCE_FILE)
windres release/windows/jdd.rc -O coff -o $(RESOURCE_FILE)
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 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) compile_shaders
@$(MAKE) resources.pack
@echo off
@echo Creando release para Windows - Version: $(VERSION)
@@ -196,7 +221,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}
@@ -207,10 +233,10 @@ windows_release:
powershell Copy-Item "LICENSE" -Destination "$(RELEASE_FOLDER)"
powershell Copy-Item "README.md" -Destination "$(RELEASE_FOLDER)"
powershell Copy-Item "gamecontrollerdb.txt" -Destination "$(RELEASE_FOLDER)"
powershell Copy-Item "release\*.dll" -Destination "$(RELEASE_FOLDER)"
powershell Copy-Item "release\windows\dll\*.dll" -Destination "$(RELEASE_FOLDER)"
# Compila (con icono)
windres release/jdd.rc -O coff -o $(RESOURCE_FILE)
windres release/windows/jdd.rc -O coff -o $(RESOURCE_FILE)
g++ $(ALL_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
@@ -226,15 +252,13 @@ windows_release:
# COMPILACIÓN PARA MACOS
# ==============================================================================
macos:
@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 para macOS: $(TARGET_NAME)"
clang++ $(ALL_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE)"
macos_debug:
@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) compile_shaders
@$(MAKE) resources.pack
@echo "Creando release para macOS - Version: $(VERSION)"
@@ -248,29 +272,31 @@ macos_release:
# Elimina datos de compilaciones anteriores
$(RMDIR) "$(RELEASE_FOLDER)"
$(RMDIR) Frameworks
$(RMFILE) tmp.dmg
$(RMFILE) "$(MACOS_INTEL_RELEASE)"
$(RMFILE) "$(MACOS_APPLE_SILICON_RELEASE)"
$(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/frameworks/SDL3.xcframework/macos-arm64_x86_64/SDL3.framework "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks"
cp -R release/frameworks/SDL3.xcframework/macos-arm64_x86_64/SDL3.framework Frameworks
cp release/*.icns "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources"
cp release/Info.plist "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents"
cp -R release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64/SDL3.framework "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/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)"
cp README.md "$(RELEASE_FOLDER)"
# Actualiza versión en Info.plist
@echo "Actualizando Info.plist con versión $(VERSION)..."
@RAW_VERSION=$$(echo "$(VERSION)" | sed 's/^v//'); \
sed -i '' '/<key>CFBundleShortVersionString<\/key>/{n;s|<string>.*</string>|<string>'"$$RAW_VERSION"'</string>|;}' "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Info.plist"; \
sed -i '' '/<key>CFBundleVersion<\/key>/{n;s|<string>.*</string>|<string>'"$$RAW_VERSION"'</string>|;}' "$(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 -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"
@@ -293,7 +319,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 -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"
@@ -316,23 +342,21 @@ 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
# ==============================================================================
linux:
@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 para Linux: $(TARGET_NAME)"
g++ $(ALL_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(TARGET_FILE)"
strip -s -R .comment -R .gnu.version "$(TARGET_FILE)" --strip-unneeded
linux_debug:
@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) compile_shaders
@$(MAKE) resources.pack
@echo "Creando release para Linux - Version: $(VERSION)"
@@ -341,10 +365,8 @@ linux_release:
@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
# Elimina carpetas previas
# Elimina carpeta temporal previa y la recrea (crea dist/ si no existe)
$(RMDIR) "$(RELEASE_FOLDER)"
# Crea la carpeta temporal para realizar el lanzamiento
$(MKDIR) "$(RELEASE_FOLDER)"
# Copia ficheros
@@ -377,13 +399,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/"
@@ -392,4 +411,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 compile_shaders pack_tool resources.pack show_version help

View File

@@ -30,21 +30,25 @@ Quan hages recuperat la major part de les peces, dirigeix-te a la Jail per mostr
El joc permet tant l'ús del teclat com d'un comandament. Les tecles per a jugar són les següents:
- **Cursors**: Per moure's a l'esquerra o dreta i per saltar. Es poden modificar les tecles en el fitxer de configuració, triant entre aquestes opcions:
- O, P per moure's i Q per saltar.
- A, D per moure's i W per saltar.
| Tecla | Acció |
|-------|-------|
| **←, →** | Moure's a l'esquerra o dreta |
| **↑** | Saltar |
| **Enter** | Eixir dels projectes |
| **ESC** | Cancelar / Eixir del joc |
| **F1** | Disminuir la mida de la finestra |
| **F2** | Augmentar la mida de la finestra |
| **F3** | Alternar pantalla completa |
| **F4** | Activar/desactivar els shaders |
| **F5** | Següent paleta de colors |
| **F6** | Paleta de colors anterior |
| **F7** | Activar/desactivar l'escalat exacte |
| **F8** | Activar/desactivar la música |
| **F9** | Activar/desactivar el marge de colors |
| **F10** | Activar/desactivar VSync |
| **F11** | Pausar el joc |
- **Tecla M**: Activa o desactiva la música.
- **Tecla P**: Pausa el joc.
- **Tecla ESC**: Ix del joc si estàs jugant. Tanca el programa en qualsevol altra circumstància.
- **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**: 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.
**Nota:** Les tecles de moviment (←, →, ↑) es poden redefinir des del menú del joc.
![JailDoctor's Dilemma - Gameplay](https://php.sustancia.synology.me/images/jdd/jdd_game2.png)
@@ -56,9 +60,9 @@ El programa guarda automàticament la configuració del mode de vídeo i les est
- **Windows**: `C:\Users\<nom_d'usuari>\AppData\Roaming\jailgames\jaildoctors_dilemma`
- **MacOS**: `~/Library/Application Support/jailgames/jaildoctors_dilemma`
- **Linux**: `~/.jailgames/jaildoctors_dilemma`
- **Linux**: `~/.config/jailgames/jaildoctors_dilemma`
Dins de la carpeta es troba el fitxer de configuració `config.txt`, on es pot modificar la configuració per connectar-se al servei en línia, i els fitxers `stats.csv` i `stats_buffer.csv`, que contenen informació sobre les estadístiques del joc.
Dins de la carpeta es troba el fitxer de configuració `config.yaml`, on es pot modificar la configuració per connectar-se al servei en línia, i els fitxers `stats.csv` i `stats_buffer.csv`, que contenen informació sobre les estadístiques del joc.
---

View File

@@ -1,339 +0,0 @@
# JailDoctor's Dilemma - Asset Configuration
# Format: TYPE|PATH [|OPTIONS]
# Options: optional, absolute (comma-separated)
# Variables: ${PREFIX}, ${SYSTEM_FOLDER}
# ===================================================================
# FONTS
# ===================================================================
BITMAP|${PREFIX}/data/font/smb2.gif
FONT|${PREFIX}/data/font/smb2.txt
BITMAP|${PREFIX}/data/font/aseprite.gif
FONT|${PREFIX}/data/font/aseprite.txt
BITMAP|${PREFIX}/data/font/gauntlet.gif
FONT|${PREFIX}/data/font/gauntlet.txt
BITMAP|${PREFIX}/data/font/subatomic.gif
FONT|${PREFIX}/data/font/subatomic.txt
BITMAP|${PREFIX}/data/font/8bithud.gif
FONT|${PREFIX}/data/font/8bithud.txt
# ===================================================================
# PALETTES
# ===================================================================
PALETTE|${PREFIX}/data/palette/zx-spectrum.pal
PALETTE|${PREFIX}/data/palette/zx-spectrum-adjusted.pal
PALETTE|${PREFIX}/data/palette/zxarne-5-2.pal
PALETTE|${PREFIX}/data/palette/black-and-white.pal
PALETTE|${PREFIX}/data/palette/green-phosphor.pal
PALETTE|${PREFIX}/data/palette/orange-screen.pal
PALETTE|${PREFIX}/data/palette/ruzx-spectrum.pal
PALETTE|${PREFIX}/data/palette/ruzx-spectrum-revision-2.pal
PALETTE|${PREFIX}/data/palette/pico-8.pal
PALETTE|${PREFIX}/data/palette/sweetie-16.pal
PALETTE|${PREFIX}/data/palette/island-joy-16.pal
PALETTE|${PREFIX}/data/palette/lost-century.pal
PALETTE|${PREFIX}/data/palette/na16.pal
PALETTE|${PREFIX}/data/palette/steam-lords.pal
# ===================================================================
# SHADERS
# ===================================================================
DATA|${PREFIX}/data/shaders/crtpi_vertex.glsl
DATA|${PREFIX}/data/shaders/crtpi_fragment.glsl
DATA|${PREFIX}/data/shaders/crtpi_vertex_es.glsl
DATA|${PREFIX}/data/shaders/crtpi_fragment_es.glsl
# ===================================================================
# INPUT DATA (in root, not packed - SDL needs filesystem access)
# ===================================================================
DATA|${PREFIX}/gamecontrollerdb.txt
# ===================================================================
# SYSTEM FILES (optional, absolute paths)
# ===================================================================
DATA|${SYSTEM_FOLDER}/config.txt|optional,absolute
DATA|${SYSTEM_FOLDER}/stats_buffer.csv|optional,absolute
DATA|${SYSTEM_FOLDER}/stats.csv|optional,absolute
DATA|${SYSTEM_FOLDER}/cheevos.bin|optional,absolute
# ===================================================================
# ROOMS (60 rooms - formato YAML unificado con tilemap embebido)
# ===================================================================
ROOM|${PREFIX}/data/room/01.yaml
ROOM|${PREFIX}/data/room/02.yaml
ROOM|${PREFIX}/data/room/03.yaml
ROOM|${PREFIX}/data/room/04.yaml
ROOM|${PREFIX}/data/room/05.yaml
ROOM|${PREFIX}/data/room/06.yaml
ROOM|${PREFIX}/data/room/07.yaml
ROOM|${PREFIX}/data/room/08.yaml
ROOM|${PREFIX}/data/room/09.yaml
ROOM|${PREFIX}/data/room/10.yaml
ROOM|${PREFIX}/data/room/11.yaml
ROOM|${PREFIX}/data/room/12.yaml
ROOM|${PREFIX}/data/room/13.yaml
ROOM|${PREFIX}/data/room/14.yaml
ROOM|${PREFIX}/data/room/15.yaml
ROOM|${PREFIX}/data/room/16.yaml
ROOM|${PREFIX}/data/room/17.yaml
ROOM|${PREFIX}/data/room/18.yaml
ROOM|${PREFIX}/data/room/19.yaml
ROOM|${PREFIX}/data/room/20.yaml
ROOM|${PREFIX}/data/room/21.yaml
ROOM|${PREFIX}/data/room/22.yaml
ROOM|${PREFIX}/data/room/23.yaml
ROOM|${PREFIX}/data/room/24.yaml
ROOM|${PREFIX}/data/room/25.yaml
ROOM|${PREFIX}/data/room/26.yaml
ROOM|${PREFIX}/data/room/27.yaml
ROOM|${PREFIX}/data/room/28.yaml
ROOM|${PREFIX}/data/room/29.yaml
ROOM|${PREFIX}/data/room/30.yaml
ROOM|${PREFIX}/data/room/31.yaml
ROOM|${PREFIX}/data/room/32.yaml
ROOM|${PREFIX}/data/room/33.yaml
ROOM|${PREFIX}/data/room/34.yaml
ROOM|${PREFIX}/data/room/35.yaml
ROOM|${PREFIX}/data/room/36.yaml
ROOM|${PREFIX}/data/room/37.yaml
ROOM|${PREFIX}/data/room/38.yaml
ROOM|${PREFIX}/data/room/39.yaml
ROOM|${PREFIX}/data/room/40.yaml
ROOM|${PREFIX}/data/room/41.yaml
ROOM|${PREFIX}/data/room/42.yaml
ROOM|${PREFIX}/data/room/43.yaml
ROOM|${PREFIX}/data/room/44.yaml
ROOM|${PREFIX}/data/room/45.yaml
ROOM|${PREFIX}/data/room/46.yaml
ROOM|${PREFIX}/data/room/47.yaml
ROOM|${PREFIX}/data/room/48.yaml
ROOM|${PREFIX}/data/room/49.yaml
ROOM|${PREFIX}/data/room/50.yaml
ROOM|${PREFIX}/data/room/51.yaml
ROOM|${PREFIX}/data/room/52.yaml
ROOM|${PREFIX}/data/room/53.yaml
ROOM|${PREFIX}/data/room/54.yaml
ROOM|${PREFIX}/data/room/55.yaml
ROOM|${PREFIX}/data/room/56.yaml
ROOM|${PREFIX}/data/room/57.yaml
ROOM|${PREFIX}/data/room/58.yaml
ROOM|${PREFIX}/data/room/59.yaml
ROOM|${PREFIX}/data/room/60.yaml
# ===================================================================
# TILESETS
# ===================================================================
BITMAP|${PREFIX}/data/tilesets/standard.gif
# ===================================================================
# ENEMIES
# ===================================================================
ANIMATION|${PREFIX}/data/enemies/abad_bell.yaml
BITMAP|${PREFIX}/data/enemies/abad_bell.gif
ANIMATION|${PREFIX}/data/enemies/abad.yaml
BITMAP|${PREFIX}/data/enemies/abad.gif
ANIMATION|${PREFIX}/data/enemies/amstrad_cs.yaml
BITMAP|${PREFIX}/data/enemies/amstrad_cs.gif
ANIMATION|${PREFIX}/data/enemies/flying_arounder.yaml
BITMAP|${PREFIX}/data/enemies/flying_arounder.gif
ANIMATION|${PREFIX}/data/enemies/stopped_arounder.yaml
BITMAP|${PREFIX}/data/enemies/stopped_arounder.gif
ANIMATION|${PREFIX}/data/enemies/walking_arounder.yaml
BITMAP|${PREFIX}/data/enemies/walking_arounder.gif
ANIMATION|${PREFIX}/data/enemies/arounders_door.yaml
BITMAP|${PREFIX}/data/enemies/arounders_door.gif
ANIMATION|${PREFIX}/data/enemies/arounders_machine.yaml
BITMAP|${PREFIX}/data/enemies/arounders_machine.gif
ANIMATION|${PREFIX}/data/enemies/bat.yaml
BITMAP|${PREFIX}/data/enemies/bat.gif
ANIMATION|${PREFIX}/data/enemies/batman_bell.yaml
BITMAP|${PREFIX}/data/enemies/batman_bell.gif
ANIMATION|${PREFIX}/data/enemies/batman_fire.yaml
BITMAP|${PREFIX}/data/enemies/batman_fire.gif
ANIMATION|${PREFIX}/data/enemies/batman.yaml
BITMAP|${PREFIX}/data/enemies/batman.gif
ANIMATION|${PREFIX}/data/enemies/bell.yaml
BITMAP|${PREFIX}/data/enemies/bell.gif
ANIMATION|${PREFIX}/data/enemies/bin.yaml
BITMAP|${PREFIX}/data/enemies/bin.gif
ANIMATION|${PREFIX}/data/enemies/bird.yaml
BITMAP|${PREFIX}/data/enemies/bird.gif
ANIMATION|${PREFIX}/data/enemies/breakout.yaml
BITMAP|${PREFIX}/data/enemies/breakout.gif
ANIMATION|${PREFIX}/data/enemies/bry.yaml
BITMAP|${PREFIX}/data/enemies/bry.gif
ANIMATION|${PREFIX}/data/enemies/chip.yaml
BITMAP|${PREFIX}/data/enemies/chip.gif
ANIMATION|${PREFIX}/data/enemies/code.yaml
BITMAP|${PREFIX}/data/enemies/code.gif
ANIMATION|${PREFIX}/data/enemies/congo.yaml
BITMAP|${PREFIX}/data/enemies/congo.gif
ANIMATION|${PREFIX}/data/enemies/crosshair.yaml
BITMAP|${PREFIX}/data/enemies/crosshair.gif
ANIMATION|${PREFIX}/data/enemies/demon.yaml
BITMAP|${PREFIX}/data/enemies/demon.gif
ANIMATION|${PREFIX}/data/enemies/dimallas.yaml
BITMAP|${PREFIX}/data/enemies/dimallas.gif
ANIMATION|${PREFIX}/data/enemies/floppy.yaml
BITMAP|${PREFIX}/data/enemies/floppy.gif
ANIMATION|${PREFIX}/data/enemies/dong.yaml
BITMAP|${PREFIX}/data/enemies/dong.gif
ANIMATION|${PREFIX}/data/enemies/guitar.yaml
BITMAP|${PREFIX}/data/enemies/guitar.gif
ANIMATION|${PREFIX}/data/enemies/heavy.yaml
BITMAP|${PREFIX}/data/enemies/heavy.gif
ANIMATION|${PREFIX}/data/enemies/jailer_#1.yaml
BITMAP|${PREFIX}/data/enemies/jailer_#1.gif
ANIMATION|${PREFIX}/data/enemies/jailer_#2.yaml
BITMAP|${PREFIX}/data/enemies/jailer_#2.gif
ANIMATION|${PREFIX}/data/enemies/jailer_#3.yaml
BITMAP|${PREFIX}/data/enemies/jailer_#3.gif
ANIMATION|${PREFIX}/data/enemies/jailbattle_alien.yaml
BITMAP|${PREFIX}/data/enemies/jailbattle_alien.gif
ANIMATION|${PREFIX}/data/enemies/jailbattle_human.yaml
BITMAP|${PREFIX}/data/enemies/jailbattle_human.gif
ANIMATION|${PREFIX}/data/enemies/jeannine.yaml
BITMAP|${PREFIX}/data/enemies/jeannine.gif
ANIMATION|${PREFIX}/data/enemies/lamp.yaml
BITMAP|${PREFIX}/data/enemies/lamp.gif
ANIMATION|${PREFIX}/data/enemies/lord_abad.yaml
BITMAP|${PREFIX}/data/enemies/lord_abad.gif
ANIMATION|${PREFIX}/data/enemies/matatunos.yaml
BITMAP|${PREFIX}/data/enemies/matatunos.gif
ANIMATION|${PREFIX}/data/enemies/mummy.yaml
BITMAP|${PREFIX}/data/enemies/mummy.gif
ANIMATION|${PREFIX}/data/enemies/paco.yaml
BITMAP|${PREFIX}/data/enemies/paco.gif
ANIMATION|${PREFIX}/data/enemies/elsa.yaml
BITMAP|${PREFIX}/data/enemies/elsa.gif
ANIMATION|${PREFIX}/data/enemies/qvoid.yaml
BITMAP|${PREFIX}/data/enemies/qvoid.gif
ANIMATION|${PREFIX}/data/enemies/robot.yaml
BITMAP|${PREFIX}/data/enemies/robot.gif
ANIMATION|${PREFIX}/data/enemies/sam.yaml
BITMAP|${PREFIX}/data/enemies/sam.gif
ANIMATION|${PREFIX}/data/enemies/shock.yaml
BITMAP|${PREFIX}/data/enemies/shock.gif
ANIMATION|${PREFIX}/data/enemies/sigmasua.yaml
BITMAP|${PREFIX}/data/enemies/sigmasua.gif
ANIMATION|${PREFIX}/data/enemies/spark.yaml
BITMAP|${PREFIX}/data/enemies/spark.gif
ANIMATION|${PREFIX}/data/enemies/special/aerojailer.yaml
BITMAP|${PREFIX}/data/enemies/special/aerojailer.gif
ANIMATION|${PREFIX}/data/enemies/special/arounder.yaml
BITMAP|${PREFIX}/data/enemies/special/arounder.gif
ANIMATION|${PREFIX}/data/enemies/special/pepe_rosita_job.yaml
BITMAP|${PREFIX}/data/enemies/special/pepe_rosita_job.gif
ANIMATION|${PREFIX}/data/enemies/special/shooting_star.yaml
BITMAP|${PREFIX}/data/enemies/special/shooting_star.gif
ANIMATION|${PREFIX}/data/enemies/spider.yaml
BITMAP|${PREFIX}/data/enemies/spider.gif
ANIMATION|${PREFIX}/data/enemies/tree_thing.yaml
BITMAP|${PREFIX}/data/enemies/tree_thing.gif
ANIMATION|${PREFIX}/data/enemies/tuno.yaml
BITMAP|${PREFIX}/data/enemies/tuno.gif
ANIMATION|${PREFIX}/data/enemies/tv_panel.yaml
BITMAP|${PREFIX}/data/enemies/tv_panel.gif
ANIMATION|${PREFIX}/data/enemies/tv.yaml
BITMAP|${PREFIX}/data/enemies/tv.gif
ANIMATION|${PREFIX}/data/enemies/upv_student.yaml
BITMAP|${PREFIX}/data/enemies/upv_student.gif
ANIMATION|${PREFIX}/data/enemies/wave.yaml
BITMAP|${PREFIX}/data/enemies/wave.gif
ANIMATION|${PREFIX}/data/enemies/z80.yaml
BITMAP|${PREFIX}/data/enemies/z80.gif
# ===================================================================
# PLAYER
# ===================================================================
BITMAP|${PREFIX}/data/player/player.gif
ANIMATION|${PREFIX}/data/player/player.yaml
BITMAP|${PREFIX}/data/player/player2.gif
ANIMATION|${PREFIX}/data/player/player2.yaml
BITMAP|${PREFIX}/data/player/player_game_over.gif
ANIMATION|${PREFIX}/data/player/player_game_over.yaml
# ===================================================================
# ITEMS
# ===================================================================
BITMAP|${PREFIX}/data/items/items.gif
# ===================================================================
# MUSIC
# ===================================================================
MUSIC|${PREFIX}/data/music/title.ogg
MUSIC|${PREFIX}/data/music/game.ogg
MUSIC|${PREFIX}/data/music/loading_data1.ogg
MUSIC|${PREFIX}/data/music/loading_data2.ogg
MUSIC|${PREFIX}/data/music/loading_header.ogg
MUSIC|${PREFIX}/data/music/loading_screen_color.ogg
MUSIC|${PREFIX}/data/music/loading_screen_data.ogg
MUSIC|${PREFIX}/data/music/ending1.ogg
MUSIC|${PREFIX}/data/music/ending2.ogg
MUSIC|${PREFIX}/data/music/game_over.ogg
# ===================================================================
# SOUND EFFECTS
# ===================================================================
SOUND|${PREFIX}/data/sound/item.wav
SOUND|${PREFIX}/data/sound/death.wav
SOUND|${PREFIX}/data/sound/notify.wav
# Jump sounds (1-24)
SOUND|${PREFIX}/data/sound/jump1.wav
SOUND|${PREFIX}/data/sound/jump2.wav
SOUND|${PREFIX}/data/sound/jump3.wav
SOUND|${PREFIX}/data/sound/jump4.wav
SOUND|${PREFIX}/data/sound/jump5.wav
SOUND|${PREFIX}/data/sound/jump6.wav
SOUND|${PREFIX}/data/sound/jump7.wav
SOUND|${PREFIX}/data/sound/jump8.wav
SOUND|${PREFIX}/data/sound/jump9.wav
SOUND|${PREFIX}/data/sound/jump10.wav
SOUND|${PREFIX}/data/sound/jump11.wav
SOUND|${PREFIX}/data/sound/jump12.wav
SOUND|${PREFIX}/data/sound/jump13.wav
SOUND|${PREFIX}/data/sound/jump14.wav
SOUND|${PREFIX}/data/sound/jump15.wav
SOUND|${PREFIX}/data/sound/jump16.wav
SOUND|${PREFIX}/data/sound/jump17.wav
SOUND|${PREFIX}/data/sound/jump18.wav
SOUND|${PREFIX}/data/sound/jump19.wav
SOUND|${PREFIX}/data/sound/jump20.wav
SOUND|${PREFIX}/data/sound/jump21.wav
SOUND|${PREFIX}/data/sound/jump22.wav
SOUND|${PREFIX}/data/sound/jump23.wav
SOUND|${PREFIX}/data/sound/jump24.wav
# ===================================================================
# LOGO
# ===================================================================
BITMAP|${PREFIX}/data/logo/jailgames.gif
BITMAP|${PREFIX}/data/logo/since_1998.gif
# ===================================================================
# LOADING SCREEN
# ===================================================================
BITMAP|${PREFIX}/data/loading/loading_screen_bn.gif
BITMAP|${PREFIX}/data/loading/loading_screen_color.gif
BITMAP|${PREFIX}/data/loading/program_jaildoc.gif
# ===================================================================
# TITLE SCREEN
# ===================================================================
BITMAP|${PREFIX}/data/title/title_logo.gif
# ===================================================================
# ENDING SCREENS
# ===================================================================
BITMAP|${PREFIX}/data/ending/ending1.gif
BITMAP|${PREFIX}/data/ending/ending2.gif
BITMAP|${PREFIX}/data/ending/ending3.gif
BITMAP|${PREFIX}/data/ending/ending4.gif
BITMAP|${PREFIX}/data/ending/ending5.gif
# ===================================================================
# CREDITS
# ===================================================================
BITMAP|${PREFIX}/data/credits/shine.gif
ANIMATION|${PREFIX}/data/credits/shine.yaml

592
config/assets.yaml Normal file
View File

@@ -0,0 +1,592 @@
# JailDoctor's Dilemma - Asset Configuration
# Variables: ${PREFIX}, ${SYSTEM_FOLDER}
assets:
# FONTS
fonts:
- type: BITMAP
path: ${PREFIX}/data/font/smb2.gif
- type: FONT
path: ${PREFIX}/data/font/smb2.fnt
- type: BITMAP
path: ${PREFIX}/data/font/aseprite.gif
- type: FONT
path: ${PREFIX}/data/font/aseprite.fnt
- type: BITMAP
path: ${PREFIX}/data/font/gauntlet.gif
- type: FONT
path: ${PREFIX}/data/font/gauntlet.fnt
- type: BITMAP
path: ${PREFIX}/data/font/subatomic.gif
- type: FONT
path: ${PREFIX}/data/font/subatomic.fnt
- type: BITMAP
path: ${PREFIX}/data/font/8bithud.gif
- type: FONT
path: ${PREFIX}/data/font/8bithud.fnt
# PALETTES
palettes:
- type: PALETTE
path: ${PREFIX}/data/palette/zx-spectrum.pal
- type: PALETTE
path: ${PREFIX}/data/palette/zx-spectrum-adjusted.pal
- type: PALETTE
path: ${PREFIX}/data/palette/zxarne-5-2.pal
- type: PALETTE
path: ${PREFIX}/data/palette/black-and-white.pal
- type: PALETTE
path: ${PREFIX}/data/palette/green-phosphor.pal
- type: PALETTE
path: ${PREFIX}/data/palette/orange-screen.pal
- type: PALETTE
path: ${PREFIX}/data/palette/ruzx-spectrum.pal
- type: PALETTE
path: ${PREFIX}/data/palette/ruzx-spectrum-revision-2.pal
- type: PALETTE
path: ${PREFIX}/data/palette/pico-8.pal
- type: PALETTE
path: ${PREFIX}/data/palette/sweetie-16.pal
- type: PALETTE
path: ${PREFIX}/data/palette/island-joy-16.pal
- type: PALETTE
path: ${PREFIX}/data/palette/lost-century.pal
- type: PALETTE
path: ${PREFIX}/data/palette/na16.pal
- type: PALETTE
path: ${PREFIX}/data/palette/steam-lords.pal
# LOCALE
locale:
- type: DATA
path: ${PREFIX}/data/locale/en.yaml
- type: DATA
path: ${PREFIX}/data/locale/ca.yaml
# INPUT
input:
- type: DATA
path: ${PREFIX}/gamecontrollerdb.txt
# SYSTEM
system:
- type: DATA
path: ${SYSTEM_FOLDER}/config.yaml
required: false
absolute: true
- type: DATA
path: ${SYSTEM_FOLDER}/stats_buffer.csv
required: false
absolute: true
- type: DATA
path: ${SYSTEM_FOLDER}/stats.csv
required: false
absolute: true
- type: DATA
path: ${SYSTEM_FOLDER}/cheevos.bin
required: false
absolute: true
- type: DATA
path: ${SYSTEM_FOLDER}/postfx.yaml
required: false
absolute: true
# ROOMS
rooms:
- type: ROOM
path: ${PREFIX}/data/room/01.yaml
- type: ROOM
path: ${PREFIX}/data/room/02.yaml
- type: ROOM
path: ${PREFIX}/data/room/03.yaml
- type: ROOM
path: ${PREFIX}/data/room/04.yaml
- type: ROOM
path: ${PREFIX}/data/room/05.yaml
- type: ROOM
path: ${PREFIX}/data/room/06.yaml
- type: ROOM
path: ${PREFIX}/data/room/07.yaml
- type: ROOM
path: ${PREFIX}/data/room/08.yaml
- type: ROOM
path: ${PREFIX}/data/room/09.yaml
- type: ROOM
path: ${PREFIX}/data/room/10.yaml
- type: ROOM
path: ${PREFIX}/data/room/11.yaml
- type: ROOM
path: ${PREFIX}/data/room/12.yaml
- type: ROOM
path: ${PREFIX}/data/room/13.yaml
- type: ROOM
path: ${PREFIX}/data/room/14.yaml
- type: ROOM
path: ${PREFIX}/data/room/15.yaml
- type: ROOM
path: ${PREFIX}/data/room/16.yaml
- type: ROOM
path: ${PREFIX}/data/room/17.yaml
- type: ROOM
path: ${PREFIX}/data/room/18.yaml
- type: ROOM
path: ${PREFIX}/data/room/19.yaml
- type: ROOM
path: ${PREFIX}/data/room/20.yaml
- type: ROOM
path: ${PREFIX}/data/room/21.yaml
- type: ROOM
path: ${PREFIX}/data/room/22.yaml
- type: ROOM
path: ${PREFIX}/data/room/23.yaml
- type: ROOM
path: ${PREFIX}/data/room/24.yaml
- type: ROOM
path: ${PREFIX}/data/room/25.yaml
- type: ROOM
path: ${PREFIX}/data/room/26.yaml
- type: ROOM
path: ${PREFIX}/data/room/27.yaml
- type: ROOM
path: ${PREFIX}/data/room/28.yaml
- type: ROOM
path: ${PREFIX}/data/room/29.yaml
- type: ROOM
path: ${PREFIX}/data/room/30.yaml
- type: ROOM
path: ${PREFIX}/data/room/31.yaml
- type: ROOM
path: ${PREFIX}/data/room/32.yaml
- type: ROOM
path: ${PREFIX}/data/room/33.yaml
- type: ROOM
path: ${PREFIX}/data/room/34.yaml
- type: ROOM
path: ${PREFIX}/data/room/35.yaml
- type: ROOM
path: ${PREFIX}/data/room/36.yaml
- type: ROOM
path: ${PREFIX}/data/room/37.yaml
- type: ROOM
path: ${PREFIX}/data/room/38.yaml
- type: ROOM
path: ${PREFIX}/data/room/39.yaml
- type: ROOM
path: ${PREFIX}/data/room/40.yaml
- type: ROOM
path: ${PREFIX}/data/room/41.yaml
- type: ROOM
path: ${PREFIX}/data/room/42.yaml
- type: ROOM
path: ${PREFIX}/data/room/43.yaml
- type: ROOM
path: ${PREFIX}/data/room/44.yaml
- type: ROOM
path: ${PREFIX}/data/room/45.yaml
- type: ROOM
path: ${PREFIX}/data/room/46.yaml
- type: ROOM
path: ${PREFIX}/data/room/47.yaml
- type: ROOM
path: ${PREFIX}/data/room/48.yaml
- type: ROOM
path: ${PREFIX}/data/room/49.yaml
- type: ROOM
path: ${PREFIX}/data/room/50.yaml
- type: ROOM
path: ${PREFIX}/data/room/51.yaml
- type: ROOM
path: ${PREFIX}/data/room/52.yaml
- type: ROOM
path: ${PREFIX}/data/room/53.yaml
- type: ROOM
path: ${PREFIX}/data/room/54.yaml
- type: ROOM
path: ${PREFIX}/data/room/55.yaml
- type: ROOM
path: ${PREFIX}/data/room/56.yaml
- type: ROOM
path: ${PREFIX}/data/room/57.yaml
- type: ROOM
path: ${PREFIX}/data/room/58.yaml
- type: ROOM
path: ${PREFIX}/data/room/59.yaml
- type: ROOM
path: ${PREFIX}/data/room/60.yaml
# TILESETS
tilesets:
- type: BITMAP
path: ${PREFIX}/data/tilesets/standard.gif
# ENEMIES
enemies:
- type: ANIMATION
path: ${PREFIX}/data/enemies/abad_bell.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/abad_bell.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/abad.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/abad.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/amstrad_cs.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/amstrad_cs.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/flying_arounder.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/flying_arounder.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/stopped_arounder.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/stopped_arounder.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/walking_arounder.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/walking_arounder.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/arounders_door.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/arounders_door.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/arounders_machine.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/arounders_machine.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/bat.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/bat.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/batman_bell.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/batman_bell.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/batman_fire.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/batman_fire.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/batman.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/batman.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/bell.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/bell.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/bin.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/bin.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/bird.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/bird.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/breakout.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/breakout.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/bry.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/bry.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/chip.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/chip.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/code.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/code.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/congo.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/congo.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/crosshair.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/crosshair.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/demon.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/demon.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/dimallas.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/dimallas.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/floppy.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/floppy.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/dong.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/dong.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/guitar.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/guitar.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/heavy.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/heavy.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/jailer1.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/jailer1.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/jailer2.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/jailer2.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/jailer3.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/jailer3.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/jailbattle_alien.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/jailbattle_alien.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/jailbattle_human.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/jailbattle_human.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/jeannine.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/jeannine.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/lamp.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/lamp.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/lord_abad.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/lord_abad.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/matatunos.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/matatunos.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/mummy.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/mummy.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/paco.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/paco.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/elsa.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/elsa.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/qvoid.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/qvoid.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/robot.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/robot.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/sam.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/sam.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/shock.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/shock.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/sigmasua.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/sigmasua.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/spark.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/spark.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/special/aerojailer.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/special/aerojailer.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/special/arounder.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/special/arounder.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/special/pepe_rosita_job.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/special/pepe_rosita_job.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/special/shooting_star.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/special/shooting_star.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/spider.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/spider.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/tree_thing.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/tree_thing.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/tuno.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/tuno.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/tv_panel.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/tv_panel.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/tv.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/tv.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/upv_student.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/upv_student.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/wave.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/wave.gif
- type: ANIMATION
path: ${PREFIX}/data/enemies/z80.yaml
- type: BITMAP
path: ${PREFIX}/data/enemies/z80.gif
# PLAYER
player:
- type: BITMAP
path: ${PREFIX}/data/player/player.gif
- type: ANIMATION
path: ${PREFIX}/data/player/player.yaml
- type: BITMAP
path: ${PREFIX}/data/player/player2.gif
- type: ANIMATION
path: ${PREFIX}/data/player/player2.yaml
- type: BITMAP
path: ${PREFIX}/data/player/player_game_over.gif
- type: ANIMATION
path: ${PREFIX}/data/player/player_game_over.yaml
# ITEMS
items:
- type: BITMAP
path: ${PREFIX}/data/items/items.gif
# MUSIC
music:
- type: MUSIC
path: ${PREFIX}/data/music/title.ogg
- type: MUSIC
path: ${PREFIX}/data/music/game.ogg
- type: MUSIC
path: ${PREFIX}/data/music/loading_data1.ogg
- type: MUSIC
path: ${PREFIX}/data/music/loading_data2.ogg
- type: MUSIC
path: ${PREFIX}/data/music/loading_header.ogg
- type: MUSIC
path: ${PREFIX}/data/music/loading_screen_color.ogg
- type: MUSIC
path: ${PREFIX}/data/music/loading_screen_data.ogg
- type: MUSIC
path: ${PREFIX}/data/music/ending1.ogg
- type: MUSIC
path: ${PREFIX}/data/music/ending2.ogg
- type: MUSIC
path: ${PREFIX}/data/music/game_over.ogg
# SOUNDS
sounds:
- type: SOUND
path: ${PREFIX}/data/sound/item.wav
- type: SOUND
path: ${PREFIX}/data/sound/death.wav
- type: SOUND
path: ${PREFIX}/data/sound/notify.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump1.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump2.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump3.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump4.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump5.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump6.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump7.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump8.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump9.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump10.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump11.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump12.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump13.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump14.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump15.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump16.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump17.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump18.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump19.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump20.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump21.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump22.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump23.wav
- type: SOUND
path: ${PREFIX}/data/sound/jump24.wav
# LOGO
logo:
- type: BITMAP
path: ${PREFIX}/data/logo/jailgames.gif
- type: BITMAP
path: ${PREFIX}/data/logo/since_1998.gif
# LOADING
loading:
- type: BITMAP
path: ${PREFIX}/data/loading/loading_screen_bn.gif
- type: BITMAP
path: ${PREFIX}/data/loading/loading_screen_color.gif
- type: BITMAP
path: ${PREFIX}/data/loading/program_jaildoc.gif
# TITLE
title:
- type: BITMAP
path: ${PREFIX}/data/title/title_logo.gif
# ENDING
ending:
- type: BITMAP
path: ${PREFIX}/data/ending/ending1.gif
- type: BITMAP
path: ${PREFIX}/data/ending/ending2.gif
- type: BITMAP
path: ${PREFIX}/data/ending/ending3.gif
- type: BITMAP
path: ${PREFIX}/data/ending/ending4.gif
- type: BITMAP
path: ${PREFIX}/data/ending/ending5.gif
# CREDITS
credits:
- type: BITMAP
path: ${PREFIX}/data/credits/shine.gif
- type: ANIMATION
path: ${PREFIX}/data/credits/shine.yaml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 224 B

After

Width:  |  Height:  |  Size: 224 B

View File

@@ -1,5 +1,5 @@
# jailer_#3 animation
tileSetFile: jailer_#3.gif
# jailer1 animation
tileSetFile: jailer1.gif
frameWidth: 16
frameHeight: 16

View File

Before

Width:  |  Height:  |  Size: 280 B

After

Width:  |  Height:  |  Size: 280 B

View File

@@ -1,5 +1,5 @@
# jailer_#2 animation
tileSetFile: jailer_#2.gif
# jailer2 animation
tileSetFile: jailer2.gif
frameWidth: 16
frameHeight: 16

View File

Before

Width:  |  Height:  |  Size: 226 B

After

Width:  |  Height:  |  Size: 226 B

View File

@@ -1,5 +1,5 @@
# jailer_#1 animation
tileSetFile: jailer_#1.gif
# jailer3 animation
tileSetFile: jailer3.gif
frameWidth: 16
frameHeight: 16

132
data/font/8bithud.fnt Normal file
View File

@@ -0,0 +1,132 @@
# Font: 8bithud — generado desde 8-bit-hud.ttf size 5
# Generado con tools/font_gen/font_gen.py
box_width 8
box_height 8
columns 15
# codepoint_decimal ancho_visual
32 3 # U+0020
33 2 # !
34 5 # "
35 6 # #
36 6 # $
37 6 # %
38 6 # &
39 2 # '
40 3 # (
41 3 # )
42 4 # *
43 3 # +
44 2 # ,
45 3 # -
46 2 # .
47 4 # /
48 6 # 0
49 3 # 1
50 6 # 2
51 6 # 3
52 6 # 4
53 6 # 5
54 6 # 6
55 6 # 7
56 6 # 8
57 6 # 9
58 2 # :
59 2 # ;
60 4 # <
61 3 # =
62 4 # >
63 6 # ?
64 8 # @
65 6 # A
66 6 # B
67 6 # C
68 6 # D
69 6 # E
70 6 # F
71 6 # G
72 6 # H
73 6 # I
74 6 # J
75 6 # K
76 6 # L
77 6 # M
78 6 # N
79 6 # O
80 6 # P
81 6 # Q
82 6 # R
83 6 # S
84 6 # T
85 6 # U
86 5 # V
87 6 # W
88 6 # X
89 6 # Y
90 6 # Z
91 3 # [
92 4 # \
93 3 # ]
94 4 # ^
95 6 # _
96 2 # `
97 5 # a
98 5 # b
99 5 # c
100 5 # d
101 5 # e
102 5 # f
103 5 # g
104 5 # h
105 4 # i
106 5 # j
107 5 # k
108 5 # l
109 6 # m
110 5 # n
111 5 # o
112 5 # p
113 5 # q
114 5 # r
115 5 # s
116 4 # t
117 5 # u
118 5 # v
119 6 # w
120 4 # x
121 4 # y
122 5 # z
123 4 # {
124 1 # |
125 4 # }
126 4 # ~
192 6 # À
193 6 # Á
200 6 # È
201 6 # É
205 6 # Í
207 6 # Ï
210 6 # Ò
211 6 # Ó
218 6 # Ú
220 6 # Ü
209 6 # Ñ
199 6 # Ç
224 5 # à
225 5 # á
232 5 # è
233 5 # é
237 4 # í
239 4 # ï
242 5 # ò
243 5 # ó
250 5 # ú
252 5 # ü
241 5 # ñ
231 5 # ç
161 2 # ¡
191 6 # ¿
171 4 # «
187 4 # »
183 2 # ·

Binary file not shown.

Before

Width:  |  Height:  |  Size: 680 B

After

Width:  |  Height:  |  Size: 837 B

View File

@@ -1,194 +0,0 @@
# box width
8
# box height
8
# 32 espacio ( )
2
# 33 !
2
# 34 "
5
# 35 #
6
# 36 $
6
# 37 %
6
# 38 &
6
# 39 '
2
# 40 (
3
# 41 )
3
# 42 *
4
# 43 +
3
# 44 ,
2
# 45 -
3
# 46 .
2
# 47 /
4
# 48 0
6
# 49 1
6
# 50 2
6
# 51 3
6
# 52 4
6
# 53 5
6
# 54 6
6
# 55 7
6
# 56 8
6
# 57 9
6
# 58 :
2
# 59 ;
2
# 60 <
4
# 61 =
3
# 62 >
4
# 63 ?
6
# 64 @
8
# 65 A
6
# 66 B
6
# 67 C
6
# 68 D
6
# 69 E
6
# 70 F
6
# 71 G
6
# 72 H
6
# 73 I
6
# 74 J
6
# 75 K
6
# 76 L
6
# 77 M
6
# 78 N
6
# 79 O
6
# 80 P
6
# 81 Q
6
# 82 R
6
# 83 S
6
# 84 T
6
# 85 U
6
# 86 V
5
# 87 W
6
# 88 X
6
# 89 Y
6
# 90 Z
6
# 91 [
3
# 92 \
5
# 93 ]
3
# 94 ^
4
# 95 _
6
# 96 `
2
# 97 a
5
# 98 b
5
# 99 c
5
# 100 d
5
# 101 e
5
# 102 f
5
# 103 g
5
# 104 h
5
# 105 i
4
# 106 j
5
# 107 k
5
# 108 l
5
# 109 m
6
# 110 n
5
# 111 o
5
# 112 p
5
# 113 q
5
# 114 r
5
# 115 s
5
# 116 t
4
# 117 u
5
# 118 v
5
# 119 w
6
# 120 x
4
# 121 y
4
# 122 z
5
# 123 {
3
# 124 |
2
# 125 }
3
# 126 ~
3

134
data/font/aseprite.fnt Normal file
View File

@@ -0,0 +1,134 @@
# Font: aseprite — generado desde aseprite_font.gif
# Generado con tools/font_gen/font_gen.py
box_width 10
box_height 7
columns 16
cell_spacing 1
row_spacing 4
# codepoint_decimal ancho_visual
32 3 # U+0020
33 1 # !
34 3 # "
35 5 # #
36 4 # $
37 5 # %
38 5 # &
39 2 # '
40 2 # (
41 2 # )
42 5 # *
43 5 # +
44 2 # ,
45 3 # -
46 1 # .
47 3 # /
48 4 # 0
49 2 # 1
50 4 # 2
51 4 # 3
52 4 # 4
53 4 # 5
54 4 # 6
55 4 # 7
56 4 # 8
57 4 # 9
58 1 # :
59 2 # ;
60 3 # <
61 4 # =
62 3 # >
63 4 # ?
64 8 # @
65 4 # A
66 4 # B
67 4 # C
68 4 # D
69 4 # E
70 4 # F
71 4 # G
72 4 # H
73 1 # I
74 2 # J
75 4 # K
76 4 # L
77 5 # M
78 4 # N
79 5 # O
80 4 # P
81 5 # Q
82 4 # R
83 4 # S
84 5 # T
85 4 # U
86 5 # V
87 7 # W
88 5 # X
89 5 # Y
90 4 # Z
91 2 # [
92 3 # \
93 2 # ]
94 5 # ^
95 5 # _
96 3 # `
97 4 # a
98 4 # b
99 4 # c
100 4 # d
101 4 # e
102 2 # f
103 4 # g
104 4 # h
105 1 # i
106 2 # j
107 4 # k
108 1 # l
109 7 # m
110 4 # n
111 4 # o
112 4 # p
113 4 # q
114 3 # r
115 3 # s
116 2 # t
117 4 # u
118 4 # v
119 5 # w
120 5 # x
121 4 # y
122 4 # z
123 3 # {
124 1 # |
125 3 # }
126 4 # ~
192 5 # À
193 5 # Á
200 5 # È
201 5 # É
205 5 # Í
207 5 # Ï
210 5 # Ò
211 5 # Ó
218 5 # Ú
220 5 # Ü
209 5 # Ñ
199 5 # Ç
224 5 # à
225 5 # á
232 5 # è
233 5 # é
237 5 # í
239 5 # ï
242 5 # ò
243 5 # ó
250 5 # ú
252 5 # ü
241 5 # ñ
231 5 # ç
161 5 # ¡
191 5 # ¿
171 5 # «
187 5 # »
183 5 # ·

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 B

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,194 +0,0 @@
# box width
8
# box height
8
# 32 espacio ( )
3
# 33 !
1
# 34 "
3
# 35 #
3
# 36 $
4
# 37 %
5
# 38 &
5
# 39 '
2
# 40 (
2
# 41 )
2
# 42 *
5
# 43 +
5
# 44 ,
3
# 45 -
3
# 46 .
1
# 47 /
4
# 48 0
4
# 49 1
2
# 50 2
4
# 51 3
4
# 52 4
4
# 53 5
4
# 54 6
4
# 55 7
4
# 56 8
4
# 57 9
4
# 58 :
1
# 59 ;
1
# 60 <
3
# 61 =
4
# 62 >
4
# 63 ?
4
# 64 @
7
# 65 A
4
# 66 B
4
# 67 C
4
# 68 D
4
# 69 E
4
# 70 F
4
# 71 G
4
# 72 H
4
# 73 I
2
# 74 J
2
# 75 K
4
# 76 L
4
# 77 M
5
# 78 N
4
# 79 O
5
# 80 P
4
# 81 Q
5
# 82 R
4
# 83 S
4
# 84 T
5
# 85 U
4
# 86 V
5
# 87 W
7
# 88 X
5
# 89 Y
5
# 90 Z
4
# 91 [
2
# 92 \
3
# 93 ]
2
# 94 ^
5
# 95 _
5
# 96 `
3
# 97 a
4
# 98 b
4
# 99 c
4
# 100 d
4
# 101 e
4
# 102 f
2
# 103 g
4
# 104 h
4
# 105 i
1
# 106 j
2
# 107 k
4
# 108 l
1
# 109 m
7
# 110 n
4
# 111 o
4
# 112 p
4
# 113 q
4
# 114 r
3
# 115 s
3
# 116 t
2
# 117 u
4
# 118 v
4
# 119 w
5
# 120 x
5
# 121 y
4
# 122 z
4
# 123 {
3
# 124 |
3
# 125 }
3
# 126 ~
5

128
data/font/gauntlet.fnt Normal file
View File

@@ -0,0 +1,128 @@
# Font: gauntlet — generado desde Gauntlet.ttf size 7
# Generado con tools/font_gen/font_gen.py
box_width 8
box_height 8
columns 15
# codepoint_decimal ancho_visual
32 3 # U+0020
33 2 # !
34 5 # "
35 6 # #
36 6 # $
37 7 # %
38 7 # &
39 2 # '
40 4 # (
41 4 # )
42 6 # *
43 8 # +
44 2 # ,
45 7 # -
46 2 # .
47 7 # /
48 7 # 0
49 6 # 1
50 6 # 2
51 6 # 3
52 7 # 4
53 6 # 5
54 6 # 6
55 6 # 7
56 6 # 8
57 6 # 9
58 2 # :
59 3 # ;
60 5 # <
61 6 # =
62 5 # >
63 6 # ?
64 6 # @
65 6 # A
66 7 # B
67 7 # C
68 7 # D
69 7 # E
70 7 # F
71 7 # G
72 6 # H
73 6 # I
74 7 # J
75 7 # K
76 7 # L
77 7 # M
78 7 # N
79 7 # O
80 7 # P
81 7 # Q
82 7 # R
83 6 # S
84 6 # T
85 6 # U
86 6 # V
87 7 # W
88 7 # X
89 6 # Y
90 7 # Z
91 8 # [
92 3 # \
93 7 # ]
94 7 # ^
95 8 # _
97 6 # a
98 7 # b
99 7 # c
100 7 # d
101 7 # e
102 7 # f
103 7 # g
104 6 # h
105 6 # i
106 7 # j
107 7 # k
108 7 # l
109 7 # m
110 7 # n
111 7 # o
112 7 # p
113 7 # q
114 7 # r
115 6 # s
116 6 # t
117 6 # u
118 6 # v
119 7 # w
120 7 # x
121 6 # y
122 7 # z
126 6 # ~
192 6 # À
193 6 # Á
200 7 # È
201 7 # É
205 6 # Í
207 6 # Ï
210 7 # Ò
211 7 # Ó
218 6 # Ú
220 6 # Ü
209 7 # Ñ
199 7 # Ç
224 6 # à
225 6 # á
232 7 # è
233 7 # é
237 6 # í
239 6 # ï
242 7 # ò
243 7 # ó
250 6 # ú
252 6 # ü
241 7 # ñ
231 7 # ç
161 2 # ¡
191 6 # ¿
171 5 # «
187 5 # »
183 2 # ·

Binary file not shown.

Before

Width:  |  Height:  |  Size: 810 B

After

Width:  |  Height:  |  Size: 959 B

View File

@@ -1,194 +0,0 @@
# box width
8
# box height
8
# 32 espacio ( )
6
# 33 !
2
# 34 "
5
# 35 #
6
# 36 $
6
# 37 %
7
# 38 &
7
# 39 '
2
# 40 (
4
# 41 )
4
# 42 *
6
# 43 +
8
# 44 ,
2
# 45 -
7
# 46 .
2
# 47 /
7
# 48 0
7
# 49 1
6
# 50 2
6
# 51 3
6
# 52 4
7
# 53 5
6
# 54 6
6
# 55 7
6
# 56 8
6
# 57 9
6
# 58 :
2
# 59 ;
2
# 60 <
5
# 61 =
6
# 62 >
5
# 63 ?
6
# 64 @
6
# 65 A
6
# 66 B
7
# 67 C
7
# 68 D
7
# 69 E
7
# 70 F
7
# 71 G
7
# 72 H
6
# 73 I
6
# 74 J
7
# 75 K
7
# 76 L
7
# 77 M
7
# 78 N
7
# 79 O
7
# 80 P
7
# 81 Q
7
# 82 R
7
# 83 S
6
# 84 T
6
# 85 U
6
# 86 V
6
# 87 W
7
# 88 X
7
# 89 Y
6
# 90 Z
7
# 91 [
8
# 92 \
3
# 93 ]
7
# 94 ^
7
# 95 _
8
# 96 `
0
# 97 a
6
# 98 b
7
# 99 c
7
# 100 d
7
# 101 e
7
# 102 f
7
# 103 g
7
# 104 h
6
# 105 i
6
# 106 j
7
# 107 k
7
# 108 l
7
# 109 m
7
# 110 n
7
# 111 o
7
# 112 p
7
# 113 q
7
# 114 r
7
# 115 s
6
# 116 t
6
# 117 u
6
# 118 v
6
# 119 w
7
# 120 x
7
# 121 y
6
# 122 z
7
# 123 {
0
# 124 |
0
# 125 }
0
# 126 ~
0

132
data/font/smb2.fnt Normal file
View File

@@ -0,0 +1,132 @@
# Font: smb2 — generado desde Super Mario Bros. 2.ttf size 8
# Generado con tools/font_gen/font_gen.py
box_width 8
box_height 8
columns 15
# codepoint_decimal ancho_visual
32 7 # U+0020
33 7 # !
34 7 # "
35 7 # #
36 7 # $
37 7 # %
38 7 # &
39 7 # '
40 7 # (
41 7 # )
42 7 # *
43 7 # +
44 7 # ,
45 7 # -
46 7 # .
47 7 # /
48 7 # 0
49 7 # 1
50 7 # 2
51 7 # 3
52 7 # 4
53 7 # 5
54 7 # 6
55 7 # 7
56 7 # 8
57 7 # 9
58 7 # :
59 7 # ;
60 7 # <
61 7 # =
62 7 # >
63 7 # ?
64 7 # @
65 7 # A
66 7 # B
67 7 # C
68 7 # D
69 7 # E
70 7 # F
71 7 # G
72 7 # H
73 7 # I
74 7 # J
75 7 # K
76 7 # L
77 7 # M
78 7 # N
79 7 # O
80 7 # P
81 7 # Q
82 7 # R
83 7 # S
84 7 # T
85 7 # U
86 7 # V
87 7 # W
88 7 # X
89 7 # Y
90 7 # Z
91 7 # [
92 7 # \
93 7 # ]
94 7 # ^
95 7 # _
96 7 # `
97 7 # a
98 7 # b
99 7 # c
100 7 # d
101 7 # e
102 7 # f
103 7 # g
104 7 # h
105 7 # i
106 7 # j
107 7 # k
108 7 # l
109 7 # m
110 7 # n
111 7 # o
112 7 # p
113 7 # q
114 7 # r
115 7 # s
116 7 # t
117 7 # u
118 7 # v
119 7 # w
120 7 # x
121 7 # y
122 7 # z
123 7 # {
124 7 # |
125 7 # }
126 7 # ~
192 7 # À
193 7 # Á
200 7 # È
201 7 # É
205 7 # Í
207 7 # Ï
210 7 # Ò
211 7 # Ó
218 7 # Ú
220 7 # Ü
209 7 # Ñ
199 7 # Ç
224 7 # à
225 7 # á
232 7 # è
233 7 # é
237 7 # í
239 7 # ï
242 7 # ò
243 7 # ó
250 7 # ú
252 7 # ü
241 7 # ñ
231 7 # ç
161 7 # ¡
191 7 # ¿
171 7 # «
187 7 # »
183 7 # ·

Binary file not shown.

Before

Width:  |  Height:  |  Size: 798 B

After

Width:  |  Height:  |  Size: 968 B

View File

@@ -1,194 +0,0 @@
# box width
8
# box height
8
# 32 espacio ( )
7
# 33 !
7
# 34 "
7
# 35 #
7
# 36 $
7
# 37 %
7
# 38 &
7
# 39 '
7
# 40 (
7
# 41 )
7
# 42 *
7
# 43 +
7
# 44 ,
7
# 45 -
7
# 46 .
7
# 47 /
7
# 48 0
7
# 49 1
7
# 50 2
7
# 51 3
7
# 52 4
7
# 53 5
7
# 54 6
7
# 55 7
7
# 56 8
7
# 57 9
7
# 58 :
7
# 59 ;
7
# 60 <
7
# 61 =
7
# 62 >
7
# 63 ?
7
# 64 @
7
# 65 A
7
# 66 B
7
# 67 C
7
# 68 D
7
# 69 E
7
# 70 F
7
# 71 G
7
# 72 H
7
# 73 I
7
# 74 J
7
# 75 K
7
# 76 L
7
# 77 M
7
# 78 N
7
# 79 O
7
# 80 P
7
# 81 Q
7
# 82 R
7
# 83 S
7
# 84 T
7
# 85 U
7
# 86 V
7
# 87 W
7
# 88 X
7
# 89 Y
7
# 90 Z
7
# 91 [
7
# 92 \
7
# 93 ]
7
# 94 ^
7
# 95 _
7
# 96 `
7
# 97 a
7
# 98 b
7
# 99 c
7
# 100 d
7
# 101 e
7
# 102 f
7
# 103 g
7
# 104 h
7
# 105 i
7
# 106 j
7
# 107 k
7
# 108 l
7
# 109 m
7
# 110 n
7
# 111 o
7
# 112 p
7
# 113 q
7
# 114 r
7
# 115 s
7
# 116 t
7
# 117 u
7
# 118 v
7
# 119 w
7
# 120 x
7
# 121 y
7
# 122 z
7
# 123 {
7
# 124 |
7
# 125 }
7
# 126 ~
7

132
data/font/subatomic.fnt Normal file
View File

@@ -0,0 +1,132 @@
# Font: subatomic — generado desde atomics.TTF size 6
# Generado con tools/font_gen/font_gen.py
box_width 7
box_height 7
columns 15
# codepoint_decimal ancho_visual
32 4 # U+0020
33 1 # !
34 3 # "
35 5 # #
36 5 # $
37 5 # %
38 6 # &
39 1 # '
40 2 # (
41 2 # )
42 5 # *
43 5 # +
44 1 # ,
45 5 # -
46 1 # .
47 5 # /
48 5 # 0
49 2 # 1
50 5 # 2
51 5 # 3
52 5 # 4
53 5 # 5
54 5 # 6
55 5 # 7
56 5 # 8
57 5 # 9
58 1 # :
59 1 # ;
60 3 # <
61 5 # =
62 3 # >
63 4 # ?
64 5 # @
65 5 # A
66 5 # B
67 5 # C
68 5 # D
69 4 # E
70 5 # F
71 5 # G
72 5 # H
73 1 # I
74 5 # J
75 5 # K
76 4 # L
77 5 # M
78 5 # N
79 5 # O
80 5 # P
81 5 # Q
82 5 # R
83 5 # S
84 5 # T
85 5 # U
86 5 # V
87 5 # W
88 5 # X
89 5 # Y
90 5 # Z
91 2 # [
92 5 # \
93 2 # ]
94 3 # ^
95 5 # _
96 2 # `
97 4 # a
98 4 # b
99 3 # c
100 4 # d
101 4 # e
102 3 # f
103 4 # g
104 4 # h
105 1 # i
106 2 # j
107 3 # k
108 1 # l
109 5 # m
110 4 # n
111 4 # o
112 4 # p
113 4 # q
114 3 # r
115 4 # s
116 2 # t
117 4 # u
118 4 # v
119 5 # w
120 3 # x
121 4 # y
122 4 # z
123 3 # {
124 1 # |
125 3 # }
126 4 # ~
192 5 # À
193 5 # Á
200 4 # È
201 4 # É
205 1 # Í
207 1 # Ï
210 5 # Ò
211 5 # Ó
218 5 # Ú
220 5 # Ü
209 5 # Ñ
199 5 # Ç
224 4 # à
225 4 # á
232 4 # è
233 4 # é
237 1 # í
239 1 # ï
242 4 # ò
243 4 # ó
250 4 # ú
252 4 # ü
241 4 # ñ
231 3 # ç
161 1 # ¡
191 4 # ¿
171 3 # «
187 3 # »
183 1 # ·

Binary file not shown.

Before

Width:  |  Height:  |  Size: 540 B

After

Width:  |  Height:  |  Size: 648 B

View File

@@ -1,194 +0,0 @@
# box width
7
# box height
7
# 32 espacio ( )
4
# 33 !
1
# 34 "
3
# 35 #
5
# 36 $
5
# 37 %
5
# 38 &
6
# 39 '
1
# 40 (
2
# 41 )
2
# 42 *
5
# 43 +
5
# 44 ,
1
# 45 -
5
# 46 .
1
# 47 /
5
# 48 0
5
# 49 1
2
# 50 2
5
# 51 3
5
# 52 4
5
# 53 5
5
# 54 6
5
# 55 7
5
# 56 8
5
# 57 9
5
# 58 :
1
# 59 ;
2
# 60 <
3
# 61 =
5
# 62 >
3
# 63 ?
4
# 64 @
5
# 65 A
5
# 66 B
5
# 67 C
5
# 68 D
5
# 69 E
4
# 70 F
5
# 71 G
5
# 72 H
5
# 73 I
1
# 74 J
5
# 75 K
5
# 76 L
2
# 77 M
5
# 78 N
5
# 79 O
5
# 80 P
5
# 81 Q
5
# 82 R
5
# 83 S
5
# 84 T
5
# 85 U
5
# 86 V
5
# 87 W
5
# 88 X
5
# 89 Y
5
# 90 Z
5
# 91 [
2
# 92 \
5
# 93 ]
2
# 94 ^
3
# 95 _
5
# 96 `
2
# 97 a
4
# 98 b
4
# 99 c
3
# 100 d
4
# 101 e
4
# 102 f
3
# 103 g
4
# 104 h
4
# 105 i
1
# 106 j
2
# 107 k
3
# 108 l
1
# 109 m
5
# 110 n
4
# 111 o
4
# 112 p
4
# 113 q
4
# 114 r
3
# 115 s
4
# 116 t
2
# 117 u
4
# 118 v
4
# 119 w
5
# 120 x
3
# 121 y
4
# 122 z
4
# 123 {
0
# 124 |
0
# 125 }
0
# 126 ~
0

138
data/locale/ca.yaml Normal file
View File

@@ -0,0 +1,138 @@
# JailDoctor's Dilemma - Catalan Locale
# lang: ca
title:
marquee: "EI JAILERS!! ESTEM EN 2022 I ENCARA HO PETEM COM EN 1998!! QUÉ, HO HEU SENTIT O NO? ELS JAILGAMES HAN TORNAT!! SÍ, COLLONS, HAN TORNAT!! MÉS DE 10 TÍTOLS QUE EL JAILDOC TÉ A FOC LENT!! AIXÒ ÉS UNA BARBARITAT, PERÒ... QUIN EIXIRÀ PRIMER? I ATENCIÓ, QUE HI HA UN APARELLET NOU QUE VOS FARÀ VOLAR EL CAP: EL P.A.C.O.! PERÒ UN MOMENT... QUÈ ÉS AQUELLA COSETA QUE VE PER ALLÀ? OOOH, AQUELLA MINIASCII ÉS AMOR DEL BO!! LI PEGARIA UNA LLEPAETA A CADA BYTE! OSTRES! I NO VOS OBLIDEU DE PUJAR AQUELLS JAILGAMES VELLS I PANXUTS DE MS-DOS A GITHUB, QUE SI NO ES PERDRAN!! QUIN SERÀ EL PRÒXIM PROJECTE DE JAILDOC? SERÀ UN PROJECTE DE MERDA? AI MARE... NI IDEA, PERÒ ACÍ PODEU SABER-HO SI RESOLEU EL DILEMA DEL JAILDOCTOR... VOS ATREVIU O QUÈ? VAAAAA!!!"
menu:
play: "1. JUGAR"
keyboard: "2. REDEFINIR TECLES"
joystick: "3. REDEFINIR MANDO"
projects: "4. PROJECTES"
keys:
prompt0: "PREM UNA TECLA PER A ESQUERRA"
prompt1: "PREM UNA TECLA PER A DRETA"
prompt2: "PREM UNA TECLA PER A SALTAR"
defined: "TECLES DEFINIDES"
label0: "ESQUERRA: "
label1: "DRETA: "
label2: "SALTAR: "
invalid: "TECLA INVÀLIDA! PROVA'N UNA ALTRA"
already_used: "TECLA JA USADA! PROVA'N UNA ALTRA"
buttons:
prompt0: "PREM UN BOTÓ PER A ESQUERRA"
prompt1: "PREM UN BOTÓ PER A DRETA"
prompt2: "PREM UN BOTÓ PER A SALTAR"
defined: "BOTONS DEFINITS"
already_used: "BOTÓ JA USAT! PROVA'N UN ALTRE"
projects: "PROJECTES"
game_over:
title: "G A M E O V E R"
items: "OBJECTES: "
rooms: "SALES: "
worst_nightmare: "EL TEU PITJOR MALSON ÉS"
ending:
t0: "FINALMENT HO VA ACONSEGUIR"
t1: "ARRIBAR A LA JAIL"
t2: "AMB TOTS ELS SEUS PROJECTES"
t3: "A PUNT D'ALLIBERAR-LOS"
t4: "ALLÍ ESTAVEN TOTS ELS JAILERS"
t5: "ESPERANT QUE ELS JAILGAMES"
t6: "FOREN ALLIBERATS"
t7: "HI HAVIA FINS I TOT BARRULLS"
t8: "I BEGGINERS ENTRE LA GENT"
t9: "BRY ESTAVA PLORANT..."
t10: "PERÒ DE SOBTE ALGUNA COSA"
t11: "LI VA CRIDAR L'ATENCIÓ"
t12: "UN MUNT DE FERRALLA!"
t13: "PLE DE TRASTOS QUE NI ANAVEN!!"
t14: "I ALESHORES,"
t15: "QUARANTA PROJECTES NOUS"
t16: "VAN NÀIXER..."
ending2:
starring: "PROTAGONISTES"
jaildoctor: "JAILDOCTOR"
thank_you: "GRÀCIES"
for_playing: "PER JUGAR!"
credits:
instructions: "INSTRUCCIONS:"
l0: "AJUDA A JAILDOC A RECUPERAR"
l1: "ELS SEUS PROJECTES I ARRIBAR"
l2: "A LA JAIL PER ACABAR-LOS"
keys: "TECLES:"
keys_move: "CURSORS PER A MOURE I SALTAR"
f8: "F8 ACTIVAR/DESACTIVAR MÚSICA"
f11: "F11 PAUSAR EL JOC"
f1f2: "F1-F2 MIDA DE LA FINESTRA"
f3: "F3 PANTALLA COMPLETA"
f9: "F9 VORA DE LA PANTALLA"
author: "UN JOC DE JAILDESIGNER"
date: "FET A L'ESTIU/TARDOR DEL 2022"
love: "I LOVE JAILGAMES!"
achievements:
header: "ASSOLIMENT DESBLOQUEJAT!"
c1: "COSES BRILLANTS"
d1: "Aconseguiu el 25% dels objectes"
c2: "A MITJAN CAMÍ"
d2: "Aconseguiu el 50% dels objectes"
c3: "QUASI HI SOM"
d3: "Aconseguiu el 75% dels objectes"
c4: "EL COL·LECCIONISTA"
d4: "Aconseguiu el 100% dels objectes"
c5: "PASSEJANT PER ACÍ"
d5: "Visiteu 20 sales"
c6: "M'HE PERDUT"
d6: "Visiteu 40 sales"
c7: "M'AGRADA EXPLORAR"
d7: "Visiteu totes les sales"
c8: "JA ESTÀ?"
d8: "Completeu el joc"
c9: "UN FORAT EM VA ENGOLIR"
d9: "Completeu el joc sense entrar a la presó"
c10: "ELS MEUS PROJECTES"
d10: "Completeu el joc amb tots els objectes"
c11: "M'AGRADEN ELS MEUS AMICS DE COLORS"
d11: "Completeu el joc sense morir"
c12: "PROJECTES A CORRE-CUITA"
d12: "Completeu el joc en menys de 30 minuts"
ui:
press_again_menu: "PREM DE NOU PER TORNAR AL MENÚ"
press_again_exit: "PREM DE NOU PER EIXIR"
border_enabled: "VORA ACTIVADA"
border_disabled: "VORA DESACTIVADA"
fullscreen_enabled: "PANTALLA COMPLETA ACTIVADA"
fullscreen_disabled: "PANTALLA COMPLETA DESACTIVADA"
window_zoom: "ZOOM FINESTRA x"
postfx_enabled: "POSTFX ACTIVAT"
postfx_disabled: "POSTFX DESACTIVAT"
postfx: "POSTFX"
supersampling_enabled: "SUPERMOSTREIG ACTIVAT"
supersampling_disabled: "SUPERMOSTREIG DESACTIVAT"
palette: "PALETA"
integer_scale_enabled: "ESCALAT SENCER ACTIVAT"
integer_scale_disabled: "ESCALAT SENCER DESACTIVAT"
vsync_enabled: "V-SYNC ACTIVAT"
vsync_disabled: "V-SYNC DESACTIVAT"
scoreboard:
items: "TRESORS PILLATS "
time: " HORA "
rooms: "SALES"
game:
music_enabled: "MÚSICA ACTIVADA"
music_disabled: "MÚSICA DESACTIVADA"
paused: "JOC EN PAUSA"
running: "JOC EN MARXA"
enabled: " ACTIVAT"
disabled: " DESACTIVAT"
cheat_infinite_lives: "VIDES INFINITES"
cheat_invincible: "INVENCIBLE"
cheat_jail_open: "JAIL OBERTA"
debug_enabled: "DEBUG ACTIVAT"
debug_disabled: "DEBUG DESACTIVAT"

138
data/locale/en.yaml Normal file
View File

@@ -0,0 +1,138 @@
# JailDoctor's Dilemma - English Locale
# lang: en
title:
marquee: "HEY JAILERS!! IT'S 2022 AND WE'RE STILL ROCKING LIKE IT'S 1998!!! HAVE YOU HEARD IT? JAILGAMES ARE BACK!! YEEESSS BACK!! MORE THAN 10 TITLES ON JAILDOC'S KITCHEN!! THATS A LOOOOOOT OF JAILGAMES, BUT WHICH ONE WILL STRIKE FIRST? THERE IS ALSO A NEW DEVICE TO COME THAT WILL BLOW YOUR MIND WITH JAILGAMES ON THE GO: P.A.C.O. BUT WAIT! WHAT'S THAT BEAUTY I'M SEEING RIGHT OVER THERE?? OOOH THAT TINY MINIASCII IS PURE LOVE!! I WANT TO LICK EVERY BYTE OF IT!! OH SHIT! AND DON'T FORGET TO BRING BACK THOSE OLD AND FAT MS-DOS JAILGAMES TO GITHUB TO KEEP THEM ALIVE!! WHAT WILL BE THE NEXT JAILDOC RELEASE? WHAT WILL BE THE NEXT PROJECT TO COME ALIVE?? OH BABY WE DON'T KNOW BUT HERE YOU CAN FIND THE ANSWER, YOU JUST HAVE TO COMPLETE JAILDOCTOR'S DILEMMA ... COULD YOU?"
menu:
play: "1. PLAY"
keyboard: "2. REDEFINE KEYBOARD"
joystick: "3. REDEFINE JOYSTICK"
projects: "4. PROJECTS"
keys:
prompt0: "PRESS KEY FOR LEFT"
prompt1: "PRESS KEY FOR RIGHT"
prompt2: "PRESS KEY FOR JUMP"
defined: "KEYS DEFINED"
label0: "LEFT: "
label1: "RIGHT: "
label2: "JUMP: "
invalid: "INVALID KEY! TRY ANOTHER"
already_used: "KEY ALREADY USED! TRY ANOTHER"
buttons:
prompt0: "PRESS BUTTON FOR LEFT"
prompt1: "PRESS BUTTON FOR RIGHT"
prompt2: "PRESS BUTTON FOR JUMP"
defined: "BUTTONS DEFINED"
already_used: "BUTTON ALREADY USED! TRY ANOTHER"
projects: "PROJECTS"
game_over:
title: "G A M E O V E R"
items: "ITEMS: "
rooms: "ROOMS: "
worst_nightmare: "YOUR WORST NIGHTMARE IS"
ending:
t0: "HE FINALLY MANAGED"
t1: "TO GET TO THE JAIL"
t2: "WITH ALL HIS PROJECTS"
t3: "READY TO BE FREED"
t4: "ALL THE JAILERS WERE THERE"
t5: "WAITING FOR THE JAILGAMES"
t6: "TO BE RELEASED"
t7: "THERE WERE EVEN BARRULLS AND"
t8: "BEGINNERS AMONG THE CROWD"
t9: "BRY WAS CRYING..."
t10: "BUT SUDDENLY SOMETHING"
t11: "CAUGHT HIS ATTENTION"
t12: "A PILE OF JUNK!"
t13: "FULL OF NON WORKING TRASH!!"
t14: "AND THEN,"
t15: "FOURTY NEW PROJECTS"
t16: "WERE BORN..."
ending2:
starring: "STARRING"
jaildoctor: "JAILDOCTOR"
thank_you: "THANK YOU"
for_playing: "FOR PLAYING!"
credits:
instructions: "INSTRUCTIONS:"
l0: "HELP JAILDOC TO GET BACK ALL"
l1: "HIS PROJECTS AND GO TO THE"
l2: "JAIL TO FINISH THEM"
keys: "KEYS:"
keys_move: "CURSORS TO MOVE AND JUMP"
f8: "F8 TOGGLE THE MUSIC"
f11: "F11 PAUSE THE GAME"
f1f2: "F1-F2 WINDOWS SIZE"
f3: "F3 TOGGLE FULLSCREEN"
f9: "F9 TOOGLE BORDER SCREEN"
author: "A GAME BY JAILDESIGNER"
date: "MADE ON SUMMER/FALL 2022"
love: "I LOVE JAILGAMES! "
achievements:
header: "ACHIEVEMENT UNLOCKED!"
c1: "SHINY THINGS"
d1: "Get 25% of the items"
c2: "HALF THE WORK"
d2: "Get 50% of the items"
c3: "GETTING THERE"
d3: "Get 75% of the items"
c4: "THE COLLECTOR"
d4: "Get 100% of the items"
c5: "WANDERING AROUND"
d5: "Visit 20 rooms"
c6: "I GOT LOST"
d6: "Visit 40 rooms"
c7: "I LIKE TO EXPLORE"
d7: "Visit all rooms"
c8: "FINISH THE GAME"
d8: "Complete the game"
c9: "I WAS SUCKED BY A HOLE"
d9: "Complete the game without entering the jail"
c10: "MY LITTLE PROJECTS"
d10: "Complete the game with all items"
c11: "I LIKE MY MULTICOLOURED FRIENDS"
d11: "Complete the game without dying"
c12: "SHIT PROJECTS DONE FAST"
d12: "Complete the game in under 30 minutes"
ui:
press_again_menu: "PRESS AGAIN TO RETURN TO MENU"
press_again_exit: "PRESS AGAIN TO EXIT"
border_enabled: "BORDER ENABLED"
border_disabled: "BORDER DISABLED"
fullscreen_enabled: "FULLSCREEN ENABLED"
fullscreen_disabled: "FULLSCREEN DISABLED"
window_zoom: "WINDOW ZOOM x"
postfx_enabled: "POSTFX ENABLED"
postfx_disabled: "POSTFX DISABLED"
postfx: "POSTFX"
supersampling_enabled: "SUPERSAMPLING ON"
supersampling_disabled: "SUPERSAMPLING OFF"
palette: "PALETTE"
integer_scale_enabled: "INTEGER SCALE ENABLED"
integer_scale_disabled: "INTEGER SCALE DISABLED"
vsync_enabled: "V-SYNC ENABLED"
vsync_disabled: "V-SYNC DISABLED"
scoreboard:
items: "ITEMS COLLECTED "
time: " TIME "
rooms: "ROOMS"
game:
music_enabled: "MUSIC ENABLED"
music_disabled: "MUSIC DISABLED"
paused: "GAME PAUSED"
running: "GAME RUNNING"
enabled: " ENABLED"
disabled: " DISABLED"
cheat_infinite_lives: "INFINITE LIVES"
cheat_invincible: "INVINCIBLE"
cheat_jail_open: "JAIL IS OPEN"
debug_enabled: "DEBUG ENABLED"
debug_disabled: "DEBUG DISABLED"

View File

@@ -1,27 +1,27 @@
# THE JAIL
room:
number: "01"
name: "THE JAIL"
name_en: "THE JAIL"
name_ca: "LA JAIL"
bgColor: bright_blue
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: null
right: "02"
right: 02.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191]
- [167, 165, 184, 166, 165, 184, 165, 165, 167, 165, 165, 166, 165, 165, 184, 165, 165, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 165]
@@ -40,96 +40,78 @@ tilemap:
- [33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: jailer_#1.yaml
- animation: jailer1.yaml
position: {x: 1, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 1
y1: 13
x2: 1
y2: 13
position1: {x: 1, y: 13}
position2: {x: 1, y: 13}
color: white
- animation: jailer_#3.yaml
- animation: jailer3.yaml
position: {x: 4, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 4
y1: 13
x2: 4
y2: 13
position1: {x: 4, y: 13}
position2: {x: 4, y: 13}
color: white
- animation: jailer_#1.yaml
- animation: jailer1.yaml
position: {x: 7, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 7
y1: 13
x2: 7
y2: 13
position1: {x: 7, y: 13}
position2: {x: 7, y: 13}
color: white
- animation: jailer_#2.yaml
- animation: jailer2.yaml
position: {x: 10, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 10
y1: 13
x2: 10
y2: 13
position1: {x: 10, y: 13}
position2: {x: 10, y: 13}
color: white
- animation: jailer_#1.yaml
- animation: jailer1.yaml
position: {x: 13, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 13
y1: 13
x2: 13
y2: 13
position1: {x: 13, y: 13}
position2: {x: 13, y: 13}
color: white
- animation: elsa.yaml
position: {x: 3, y: 9}
velocity: {x: 0, y: 0}
boundaries:
x1: 3
y1: 9
x2: 3
y2: 9
position1: {x: 3, y: 9}
position2: {x: 3, y: 9}
color: white
- animation: elsa.yaml
position: {x: 6, y: 9}
velocity: {x: 0, y: 0}
boundaries:
x1: 6
y1: 9
x2: 6
y2: 9
position1: {x: 6, y: 9}
position2: {x: 6, y: 9}
color: white
- animation: lamp.yaml
position: {x: 23, y: 6}
velocity: {x: 0, y: 0}
boundaries:
x1: 23
y1: 6
x2: 23
y2: 6
position1: {x: 23, y: 6}
position2: {x: 23, y: 6}
color: white
- animation: bry.yaml
position: {x: 17, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 17
y1: 13
x2: 17
y2: 13
position1: {x: 17, y: 13}
position2: {x: 17, y: 13}
color: white
# No items in this room

View File

@@ -1,27 +1,27 @@
# ROAD TO THE JAIL
room:
number: "02"
name: "ROAD TO THE JAIL"
name_en: "ROAD TO THE JAIL"
name_ca: "CAMÍ A LA JAIL"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "04"
left: "01"
right: "03"
down: 04.yaml
left: 01.yaml
right: 03.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: bright_yellow
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 42, 42, 42, 42, 42]
- [42, 165, 165, 166, 167, 165, 184, 166, 165, 184, 165, 165, 167, 165, 165, 166, 165, 165, 184, 165, 165, 165, 184, 166, 165, 165, 165, 184, 24, 24, 24, 24]
@@ -40,30 +40,26 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 523, 188, 190, 547, -1, -1, -1, -1]
- [33, 33, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 190, -1, -1, 188, 189, 188, 189, 188, 189, 188, 190, 24, 24]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: bin.yaml
position: {x: 4, y: 7}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 4
y1: 7
x2: 25
y2: 7
position1: {x: 4, y: 7}
position2: {x: 25, y: 7}
color: green
- animation: upv_student.yaml
position: {x: 4, y: 13}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 4
y1: 13
x2: 19
y2: 13
position1: {x: 4, y: 13}
position2: {x: 19, y: 13}
color: cyan
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 2

View File

@@ -1,27 +1,27 @@
# VOID MAIN
room:
number: "03"
name: "VOID MAIN"
name_en: "VOID MAIN"
name_ca: "VOID MAIN"
bgColor: black
border: magenta
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "02"
left: 02.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: bright_cyan
itemColor2: yellow
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: -1
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: left
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 24]
- [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 24]
@@ -40,19 +40,17 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 440, 440, 440, 440, -1, -1, -1, -1, -1, -1, -1, -1, 134, 24]
- [24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: code.yaml
position: {x: 3, y: 2}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 3
y1: 2
x2: 27
y2: 2
position1: {x: 3, y: 2}
position2: {x: 27, y: 2}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 42

View File

@@ -1,27 +1,27 @@
# JUMP THROUGH
room:
number: "04"
name: "JUMP THROUGH"
name_en: "JUMP THROUGH"
name_ca: "SALTA A TRAVÉS"
bgColor: black
border: cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "02"
up: 02.yaml
down: null
left: "07"
right: "05"
left: 07.yaml
right: 05.yaml
# Item display colors
# Colores de los objetos
itemColor1: white
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 190, -1, -1, -1, 527, 188, 189, 188, 189, 188, 189, 188, 189]
- [14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -1, -1, -1, -1, -1, 527, -1, 14, 14, 14, 14, 14, 14, 14, 14]
@@ -40,29 +40,25 @@ tilemap:
- [-1, -1, 518, 14, 62, 14, 62, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 551, -1, -1, -1, -1, 518, 14, 62, 14, 62, 14, 62, 14, 62]
- [62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: chip.yaml
position: {x: 24, y: 12}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 24
y1: 12
x2: 31
y2: 12
position1: {x: 24, y: 12}
position2: {x: 31, y: 12}
color: magenta
- animation: chip.yaml
position: {x: 4, y: 2}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 4
y1: 2
x2: 4
y2: 12
position1: {x: 4, y: 2}
position2: {x: 4, y: 12}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 51

View File

@@ -1,27 +1,27 @@
# BIG JUMP
room:
number: "05"
name: "BIG JUMP"
name_en: "BIG JUMP"
name_ca: "EL GRAN BOT"
bgColor: black
border: red
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "60"
left: "04"
right: "06"
down: 60.yaml
left: 04.yaml
right: 06.yaml
# Item display colors
# Colores de los objetos
itemColor1: bright_green
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [24, 24, 24, 24, 24, 24, -1, -1, 304, -1, -1, -1, 304, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 425, 426, 425, 426]
- [24, 24, 24, 24, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 425, 426, 92]
@@ -40,30 +40,26 @@ tilemap:
- [30, 30, 531, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 48, 48, 48, 48, 48, 48, 48, 48, 88, 89, 88, 89]
- [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 304, -1, -1, 304, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: floppy.yaml
position: {x: 15, y: 4}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 15
y1: 0
x2: 15
y2: 11
position1: {x: 15, y: 0}
position2: {x: 15, y: 11}
color: magenta
- animation: congo.yaml
position: {x: 21, y: 12}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 21
y1: 12
x2: 28
y2: 12
position1: {x: 21, y: 12}
position2: {x: 28, y: 12}
color: yellow
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 68

View File

@@ -1,27 +1,27 @@
# WELCOME TO MY ABBEY
room:
number: "06"
name: "WELCOME TO MY ABBEY"
name_en: "WELCOME TO MY ABBEY"
name_ca: "BENVINGUT A LA MEUA ABADIA"
bgColor: blue
border: yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "15"
up: 15.yaml
down: null
left: "05"
right: "25"
left: 05.yaml
right: 25.yaml
# Item display colors
# Colores de los objetos
itemColor1: green
itemColor2: bright_blue
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [425, 426, 425, 426, -1, -1, -1, -1, 425, 426, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67]
- [426, 425, 426, -1, -1, -1, -1, -1, -1, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91]
@@ -40,16 +40,14 @@ tilemap:
- [134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1]
- [88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: abad.yaml
position: {x: 1, y: 13}
velocity: {x: 48.0, y: 0}
boundaries:
x1: 1
y1: 13
x2: 23
y2: 13
position1: {x: 1, y: 13}
position2: {x: 23, y: 13}
color: yellow
flip: true
@@ -57,13 +55,11 @@ enemies:
position: {x: 24, y: 4}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 24
y1: 2
x2: 24
y2: 7
position1: {x: 24, y: 2}
position2: {x: 24, y: 7}
color: green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 49

View File

@@ -1,27 +1,27 @@
# SIGMASUA > TELEGRAM
room:
number: "07"
name: "SIGMASUA > TELEGRAM"
name_en: "SIGMASUA > TELEGRAM"
name_ca: "SIGMASUA > TELEGRAM"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "08"
right: "04"
left: 08.yaml
right: 04.yaml
# Item display colors
# Colores de los objetos
itemColor1: magenta
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,69 +40,57 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1]
- [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: sigmasua.yaml
position: {x: 15, y: 7}
velocity: {x: 48.0, y: 0}
boundaries:
x1: 7
y1: 7
x2: 23
y2: 7
position1: {x: 7, y: 7}
position2: {x: 23, y: 7}
color: cyan
- animation: sigmasua.yaml
position: {x: 15, y: 4}
velocity: {x: -30.0, y: 0}
boundaries:
x1: 7
y1: 4
x2: 23
y2: 4
position1: {x: 7, y: 4}
position2: {x: 23, y: 4}
color: blue
- animation: sigmasua.yaml
position: {x: 3, y: 8}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 3
y1: 5
x2: 3
y2: 13
position1: {x: 3, y: 5}
position2: {x: 3, y: 13}
color: bright_red
- animation: sigmasua.yaml
position: {x: 27, y: 8}
velocity: {x: 0, y: -24.0}
boundaries:
x1: 27
y1: 5
x2: 27
y2: 13
position1: {x: 27, y: 5}
position2: {x: 27, y: 13}
color: yellow
- animation: sigmasua.yaml
position: {x: 12, y: 10}
velocity: {x: 0, y: 18.0}
boundaries:
x1: 12
y1: 10
x2: 12
y2: 13
position1: {x: 12, y: 10}
position2: {x: 12, y: 13}
color: bright_magenta
- animation: sigmasua.yaml
position: {x: 17, y: 13}
velocity: {x: 0, y: -18.0}
boundaries:
x1: 17
y1: 10
x2: 17
y2: 13
position1: {x: 17, y: 10}
position2: {x: 17, y: 13}
color: bright_green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 67

View File

@@ -1,27 +1,27 @@
# THE GARDEN
room:
number: "08"
name: "THE GARDEN"
name_en: "THE GARDEN"
name_ca: "EL JARDÍ"
bgColor: black
border: cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "09"
up: 09.yaml
down: null
left: "16"
right: "07"
left: 16.yaml
right: 07.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, 81]
- [81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, 81]
@@ -40,20 +40,18 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, 81, 81, 81, 81, 81, 81, 81, 81, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: abad.yaml
position: {x: 4, y: 13}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 2
y1: 13
x2: 10
y2: 13
position1: {x: 2, y: 13}
position2: {x: 10, y: 13}
color: green
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 18

View File

@@ -1,27 +1,27 @@
# THE BIG TREE
room:
number: "09"
name: "THE BIG TREE"
name_en: "THE BIG TREE"
name_ca: "EL GRAN ARBRE"
bgColor: black
border: bright_blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "10"
down: "08"
up: 10.yaml
down: 08.yaml
left: null
right: null
# Item display colors
# Colores de los objetos
itemColor1: cyan
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 304, 40, 40, 40, 40, 304, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, 16, 16]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, 40, 40, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, 16, 16, 16]
@@ -40,16 +40,14 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 537, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
- [562, 562, 562, 562, 562, 562, 562, 562, 562, 562, -1, -1, -1, 40, 40, 40, 40, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, -1, -1, 348, 348, 348]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: congo.yaml
position: {x: 10, y: 12}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 10
y1: 12
x2: 20
y2: 12
position1: {x: 10, y: 12}
position2: {x: 20, y: 12}
color: yellow
flip: true
@@ -57,14 +55,12 @@ enemies:
position: {x: 12, y: 6}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 12
y1: 6
x2: 17
y2: 6
position1: {x: 12, y: 6}
position2: {x: 17, y: 6}
color: white
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 52

View File

@@ -1,27 +1,27 @@
# TREE TOP
room:
number: "10"
name: "TREE TOP"
name_en: "TREE TOP"
name_ca: "DALT DE L'ARBRE"
bgColor: bright_black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "09"
down: 09.yaml
left: null
right: "11"
right: 11.yaml
# Item display colors
# Colores de los objetos
itemColor1: green
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -43,7 +43,7 @@ tilemap:
# No enemies in this room
enemies: []
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 16

View File

@@ -1,27 +1,27 @@
# LAZY ROOM
room:
number: "11"
name: "LAZY ROOM"
name_en: "LAZY ROOM"
name_ca: "LA SALA GOSSA"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "10"
right: "12"
left: 10.yaml
right: 12.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27]
@@ -40,56 +40,46 @@ tilemap:
- [85, 85, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, 85, 85]
- [85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: lamp.yaml
position: {x: 7, y: 10}
velocity: {x: 0, y: 0}
boundaries:
x1: 7
y1: 10
x2: 7
y2: 10
position1: {x: 7, y: 10}
position2: {x: 7, y: 10}
color: magenta
- animation: lamp.yaml
position: {x: 21, y: 10}
velocity: {x: 0, y: 0}
boundaries:
x1: 21
y1: 10
x2: 21
y2: 10
position1: {x: 21, y: 10}
position2: {x: 21, y: 10}
color: magenta
- animation: bin.yaml
position: {x: 12, y: 14}
velocity: {x: 48.0, y: 0}
boundaries:
x1: 3
y1: 14
x2: 27
y2: 14
position1: {x: 3, y: 14}
position2: {x: 27, y: 14}
color: green
- animation: wave.yaml
position: {x: 7, y: 6}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 0
y1: 6
x2: 14
y2: 6
position1: {x: 0, y: 6}
position2: {x: 14, y: 6}
color: green
- animation: wave.yaml
position: {x: 23, y: 6}
velocity: {x: -30.0, y: 0}
boundaries:
x1: 16
y1: 6
x2: 31
y2: 6
position1: {x: 16, y: 6}
position2: {x: 31, y: 6}
color: green
# No items in this room

View File

@@ -1,27 +1,27 @@
# THE PASSAGE
room:
number: "12"
name: "THE PASSAGE"
name_en: "THE PASSAGE"
name_ca: "EL PASSATGE"
bgColor: black
border: green
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "11"
right: "13"
left: 11.yaml
right: 13.yaml
# Item display colors
# Colores de los objetos
itemColor1: red
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,29 +40,25 @@ tilemap:
- [24, 24, 550, -1, -1, -1, -1, -1, -1, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: floppy.yaml
position: {x: 9, y: 10}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 4
y1: 10
x2: 22
y2: 10
position1: {x: 4, y: 10}
position2: {x: 22, y: 10}
color: green
- animation: floppy.yaml
position: {x: 1, y: 0}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 1
y1: 0
x2: 1
y2: 7
position1: {x: 1, y: 0}
position2: {x: 1, y: 7}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 34

View File

@@ -1,27 +1,27 @@
# TUNO KILLER
room:
number: "13"
name: "TUNO KILLER"
name_en: "TUNO KILLER"
name_ca: "MATATUNOS"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "12"
right: "14"
left: 12.yaml
right: 14.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: cyan
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,49 +40,41 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: matatunos.yaml
position: {x: 5, y: 1}
velocity: {x: 0, y: 60.0}
boundaries:
x1: 5
y1: 1
x2: 5
y2: 13
position1: {x: 5, y: 1}
position2: {x: 5, y: 13}
color: bright_blue
- animation: tuno.yaml
position: {x: 12, y: 4}
velocity: {x: 0, y: 66.0}
boundaries:
x1: 12
y1: 1
x2: 12
y2: 13
position1: {x: 12, y: 1}
position2: {x: 12, y: 13}
color: red
- animation: tuno.yaml
position: {x: 19, y: 7}
velocity: {x: 0, y: 54.0}
boundaries:
x1: 19
y1: 1
x2: 19
y2: 13
position1: {x: 19, y: 1}
position2: {x: 19, y: 13}
color: yellow
- animation: tuno.yaml
position: {x: 26, y: 11}
velocity: {x: 0, y: 42.0}
boundaries:
x1: 26
y1: 1
x2: 26
y2: 13
position1: {x: 26, y: 1}
position2: {x: 26, y: 13}
color: magenta
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 53

View File

@@ -1,27 +1,27 @@
# KILLING SPREE
room:
number: "14"
name: "KILLING SPREE"
name_en: "KILLING SPREE"
name_ca: "MATANÇA INDISCRIMINADA"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "15"
left: "13"
right: "45"
down: 15.yaml
left: 13.yaml
right: 45.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: cyan
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29]
@@ -40,39 +40,33 @@ tilemap:
- [-1, -1, -1, -1, 336, -1, 336, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29]
- [15, 15, 15, 15, 15, -1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 325, -1, -1, 325, 325, 15, 15, 15, 15, 15, 15, 15]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: matatunos.yaml
position: {x: 6, y: 5}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 5
y1: 5
x2: 10
y2: 5
position1: {x: 5, y: 5}
position2: {x: 10, y: 5}
color: bright_green
- animation: tuno.yaml
position: {x: 21, y: 2}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 21
y1: 2
x2: 21
y2: 13
position1: {x: 21, y: 2}
position2: {x: 21, y: 13}
color: red
- animation: tuno.yaml
position: {x: 28, y: 6}
velocity: {x: 0, y: -24.0}
boundaries:
x1: 28
y1: 2
x2: 28
y2: 13
position1: {x: 28, y: 2}
position2: {x: 28, y: 13}
color: magenta
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 53

View File

@@ -1,27 +1,27 @@
# NOW THIS IS THE BATCAVE!
room:
number: "15"
name: "NOW THIS IS THE BATCAVE!"
name_en: "NOW THIS IS THE BATCAVE!"
name_ca: "ESTA SI QUE ES LA BATCOVA!"
bgColor: black
border: black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "14"
down: "06"
up: 14.yaml
down: 06.yaml
left: null
right: null
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [15, 15, 15, 15, 15, -1, 15, 15, 15, 15, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 301, -1, -1, 301, 301, 15, 15, 15, 15, 15, 15, 15]
- [15, 15, 301, -1, -1, -1, -1, 348, 15, 348, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 15, 15]
@@ -40,16 +40,14 @@ tilemap:
- [15, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, 288, -1, -1, 15, 15]
- [15, 348, 348, 348, 348, -1, -1, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 15]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: batman.yaml
position: {x: 17, y: 13}
velocity: {x: 48.0, y: 0}
boundaries:
x1: 7
y1: 13
x2: 29
y2: 13
position1: {x: 7, y: 13}
position2: {x: 29, y: 13}
color: white
flip: true
@@ -57,33 +55,27 @@ enemies:
position: {x: 14, y: 2}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 9
y1: 2
x2: 30
y2: 2
position1: {x: 9, y: 2}
position2: {x: 30, y: 2}
color: bright_blue
- animation: bat.yaml
position: {x: 10, y: 10}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 1
y1: 10
x2: 30
y2: 10
position1: {x: 1, y: 10}
position2: {x: 30, y: 10}
color: cyan
- animation: bat.yaml
position: {x: 15, y: 1}
velocity: {x: 0, y: 42.0}
boundaries:
x1: 15
y1: 1
x2: 15
y2: 11
position1: {x: 15, y: 1}
position2: {x: 15, y: 11}
color: red
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 0

View File

@@ -1,27 +1,27 @@
# THE FRIDGE
room:
number: "16"
name: "THE FRIDGE"
name_en: "THE FRIDGE"
name_ca: "EL FRIGO"
bgColor: blue
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "44"
up: 44.yaml
down: null
left: "17"
right: "08"
left: 17.yaml
right: 08.yaml
# Item display colors
# Colores de los objetos
itemColor1: bright_cyan
itemColor2: yellow
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [28, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 416, -1, -1, 416, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 28]
- [28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28]
@@ -40,39 +40,33 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 552, -1, -1, -1, -1, -1, -1, 552, -1, -1, -1, -1, -1, -1]
- [28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: chip.yaml
position: {x: 7, y: 3}
velocity: {x: 60.0, y: 0}
boundaries:
x1: 2
y1: 3
x2: 13
y2: 3
position1: {x: 2, y: 3}
position2: {x: 13, y: 3}
color: magenta
- animation: chip.yaml
position: {x: 30, y: 7}
velocity: {x: -48.0, y: 0}
boundaries:
x1: 10
y1: 7
x2: 30
y2: 7
position1: {x: 10, y: 7}
position2: {x: 30, y: 7}
color: bright_white
- animation: wave.yaml
position: {x: 15, y: 12}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 15
y1: 12
x2: 30
y2: 12
position1: {x: 15, y: 12}
position2: {x: 30, y: 12}
color: bright_magenta
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 6

View File

@@ -1,27 +1,27 @@
# I DID NOT COPY THIS ONE
room:
number: "17"
name: "I DID NOT COPY THIS ONE"
name_en: "I DID NOT COPY THIS ONE"
name_ca: "ESTA NO LA HE COPIADA"
bgColor: black
border: magenta
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "18"
left: "49"
right: "16"
down: 18.yaml
left: 49.yaml
right: 16.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87]
- [87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87]
@@ -40,39 +40,33 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, -1, -1, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: floppy.yaml
position: {x: 5, y: 6}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 5
y1: 4
x2: 5
y2: 10
position1: {x: 5, y: 4}
position2: {x: 5, y: 10}
color: green
- animation: floppy.yaml
position: {x: 12, y: 3}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 12
y1: 2
x2: 12
y2: 9
position1: {x: 12, y: 2}
position2: {x: 12, y: 9}
color: cyan
- animation: chip.yaml
position: {x: 8, y: 13}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 8
y1: 13
x2: 18
y2: 13
position1: {x: 8, y: 13}
position2: {x: 18, y: 13}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 21

View File

@@ -1,27 +1,27 @@
# MAKE MONEY
room:
number: "18"
name: "MAKE MONEY"
name_en: "MAKE MONEY"
name_ca: "INHERITEDS!"
bgColor: black
border: yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "17"
down: "54"
left: "19"
up: 17.yaml
down: 54.yaml
left: 19.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: bright_green
itemColor2: bright_yellow
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: -1
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: left
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [4, 4, 4, 4, 4, 4, 4, 4, -1, -1, -1, -1, -1, -1, 505, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
- [4, 4, 4, 4, 4, 4, 4, -1, -1, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 4]
@@ -40,36 +40,30 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, 4, 4]
- [61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, -1, -1, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: code.yaml
position: {x: 19, y: 6}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 18
y1: 6
x2: 29
y2: 6
position1: {x: 18, y: 6}
position2: {x: 29, y: 6}
color: magenta
- animation: spider.yaml
position: {x: 14, y: 10}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 14
y1: 10
x2: 28
y2: 10
position1: {x: 14, y: 10}
position2: {x: 28, y: 10}
color: yellow
- animation: spider.yaml
position: {x: 23, y: 12}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 23
y1: 12
x2: 28
y2: 12
position1: {x: 23, y: 12}
position2: {x: 28, y: 12}
color: magenta
mirror: true
@@ -77,23 +71,19 @@ enemies:
position: {x: 19, y: 1}
velocity: {x: 0, y: 0}
boundaries:
x1: 19
y1: 1
x2: 19
y2: 1
position1: {x: 19, y: 1}
position2: {x: 19, y: 1}
color: yellow
- animation: lamp.yaml
position: {x: 26, y: 1}
velocity: {x: 0, y: 0}
boundaries:
x1: 26
y1: 1
x2: 26
y2: 1
position1: {x: 26, y: 1}
position2: {x: 26, y: 1}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 14

View File

@@ -1,27 +1,27 @@
# THIS CAN'T BE THE BATCAVE
room:
number: "19"
name: "THIS CAN'T BE THE BATCAVE"
name_en: "THIS CAN'T BE THE BATCAVE"
name_ca: "ESTA NO POT SER LA BATCOVA"
bgColor: black
border: cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "20"
right: "18"
left: 20.yaml
right: 18.yaml
# Item display colors
# Colores de los objetos
itemColor1: cyan
itemColor2: blue
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 187]
@@ -40,16 +40,14 @@ tilemap:
- [-1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1]
- [37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: batman.yaml
position: {x: 10, y: 13}
velocity: {x: 48.0, y: 0}
boundaries:
x1: 5
y1: 13
x2: 26
y2: 13
position1: {x: 5, y: 13}
position2: {x: 26, y: 13}
color: bright_cyan
flip: true
@@ -57,14 +55,12 @@ enemies:
position: {x: 0, y: 1}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 1
y1: 1
x2: 31
y2: 1
position1: {x: 1, y: 1}
position2: {x: 31, y: 1}
color: cyan
mirror: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 34

View File

@@ -1,27 +1,27 @@
# ENTRANCE TO THE VALLEY
room:
number: "20"
name: "ENTRANCE TO THE VALLEY"
name_en: "ENTRANCE TO THE VALLEY"
name_ca: "ENTRADA A LA VALL"
bgColor: black
border: red
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "21"
right: "19"
left: 21.yaml
right: 19.yaml
# Item display colors
# Colores de los objetos
itemColor1: magenta
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [20, 20, 20, 20, 20, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [20, 20, 20, 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,29 +40,25 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1]
- [20, 20, 20, 20, 20, 20, 20, 20, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: bin.yaml
position: {x: 8, y: 12}
velocity: {x: 60.0, y: 0}
boundaries:
x1: 8
y1: 12
x2: 24
y2: 12
position1: {x: 8, y: 12}
position2: {x: 24, y: 12}
color: green
- animation: code.yaml
position: {x: 13, y: 2}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 13
y1: 2
x2: 13
y2: 9
position1: {x: 13, y: 2}
position2: {x: 13, y: 9}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 19

View File

@@ -1,27 +1,27 @@
# ENTER PAKU SIMBEL
room:
number: "21"
name: "ENTER PAKU SIMBEL"
name_en: "ENTER PAKU SIMBEL"
name_ca: "ACCEDINT A PAKU SIMBEL"
bgColor: bright_black
border: yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "23"
up: 23.yaml
down: null
left: "22"
right: "20"
left: 22.yaml
right: 20.yaml
# Item display colors
# Colores de los objetos
itemColor1: magenta
itemColor2: yellow
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 529, -1, -1, -1, -1, 20, 20, 20, 20, 20]
- [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, -1, -1, 529, -1, -1, -1, -1, -1, 306, 20, 20]
@@ -40,16 +40,14 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: mummy.yaml
position: {x: 13, y: 13}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 9
y1: 13
x2: 18
y2: 13
position1: {x: 9, y: 13}
position2: {x: 18, y: 13}
color: yellow
flip: true
@@ -57,14 +55,12 @@ enemies:
position: {x: 13, y: 9}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 4
y1: 9
x2: 21
y2: 9
position1: {x: 4, y: 9}
position2: {x: 21, y: 9}
color: bright_green
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 36

View File

@@ -1,27 +1,27 @@
# AEE REMAKE, PLEASE
room:
number: "22"
name: "AEE REMAKE, PLEASE"
name_en: "AEE REMAKE, PLEASE"
name_ca: "AEE REMAKE, PERFAPLIS"
bgColor: bright_black
border: yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: null
right: "21"
right: 21.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 22, 23, 20]
- [20, 20, 20, 20, 22, 23, 20, 22, 23, 20, 22, 23, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 46, 47, 20]
@@ -40,16 +40,14 @@ tilemap:
- [20, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: mummy.yaml
position: {x: 15, y: 13}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 12
y1: 13
x2: 21
y2: 13
position1: {x: 12, y: 13}
position2: {x: 21, y: 13}
color: yellow
flip: true
@@ -57,10 +55,8 @@ enemies:
position: {x: 13, y: 8}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 13
y1: 8
x2: 19
y2: 8
position1: {x: 13, y: 8}
position2: {x: 19, y: 8}
color: bright_yellow
flip: true
@@ -68,14 +64,12 @@ enemies:
position: {x: 22, y: 8}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 22
y1: 8
x2: 28
y2: 8
position1: {x: 22, y: 8}
position2: {x: 28, y: 8}
color: bright_yellow
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 37

View File

@@ -1,27 +1,27 @@
# INNER CHAMBER
room:
number: "23"
name: "INNER CHAMBER"
name_en: "INNER CHAMBER"
name_ca: "CAMBRA INTERIOR"
bgColor: black
border: bright_yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "21"
left: "24"
down: 21.yaml
left: 24.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [20, 20, 20, 20, 20, 22, 23, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
- [20, 20, 20, 20, 20, 46, 47, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
@@ -40,39 +40,33 @@ tilemap:
- [-1, -1, -1, -1, -1, 555, -1, -1, -1, 518, 20, 20, 20, 46, 47, 20, 20, 20, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 46, 47, 20]
- [21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, -1, -1, 21, 21, 21, 21, 21]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: shock.yaml
position: {x: 7, y: 7}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 7
y1: 3
x2: 7
y2: 14
position1: {x: 7, y: 3}
position2: {x: 7, y: 14}
color: magenta
- animation: shock.yaml
position: {x: 20, y: 10}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 20
y1: 3
x2: 20
y2: 14
position1: {x: 20, y: 3}
position2: {x: 20, y: 14}
color: magenta
- animation: shock.yaml
position: {x: 27, y: 10}
velocity: {x: 0, y: -48.0}
boundaries:
x1: 27
y1: 3
x2: 27
y2: 14
position1: {x: 27, y: 3}
position2: {x: 27, y: 14}
color: magenta
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 38

View File

@@ -1,27 +1,27 @@
# PLAY IT AGAIN, SAM
room:
number: "24"
name: "PLAY IT AGAIN, SAM"
name_en: "PLAY IT AGAIN, SAM"
name_ca: "TORNA-LA A TOCAR, SAM"
bgColor: black
border: bright_yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: null
right: "23"
right: 23.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21]
- [19, 19, 19, 19, 19, 19, 19, -1, -1, -1, -1, 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, -1, -1, -1, -1, 20, 20, 20, 20]
@@ -40,39 +40,33 @@ tilemap:
- [19, 19, -1, -1, -1, -1, -1, 518, 19, 19, 19, 19, 46, 47, 46, 47, 46, 47, 19, 19, 19, 19, 542, -1, -1, 555, -1, -1, -1, -1, -1, -1]
- [21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: sam.yaml
position: {x: 4, y: 2}
velocity: {x: 0, y: 0}
boundaries:
x1: 4
y1: 2
x2: 4
y2: 2
position1: {x: 4, y: 2}
position2: {x: 4, y: 2}
color: white
- animation: shock.yaml
position: {x: 5, y: 11}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 5
y1: 11
x2: 5
y2: 14
position1: {x: 5, y: 11}
position2: {x: 5, y: 14}
color: bright_green
- animation: spider.yaml
position: {x: 25, y: 1}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 25
y1: 1
x2: 25
y2: 10
position1: {x: 25, y: 1}
position2: {x: 25, y: 10}
color: bright_green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 31

View File

@@ -1,27 +1,27 @@
# THE CHAPPEL
room:
number: "25"
name: "THE CHAPPEL"
name_en: "THE CHAPPEL"
name_ca: "LA CAPELLA"
bgColor: blue
border: yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "06"
right: "26"
left: 06.yaml
right: 26.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: cyan
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67]
- [90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91]
@@ -40,69 +40,57 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, 88, 93, 140, 555, -1, -1, -1, -1, -1, -1, -1, -1, 88, 93, 134, -1, -1, 31, 88]
- [88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: batman_bell.yaml
position: {x: 28, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 28
y1: 13
x2: 28
y2: 13
position1: {x: 28, y: 13}
position2: {x: 28, y: 13}
color: cyan
- animation: bell.yaml
position: {x: 28, y: 10}
velocity: {x: 0, y: 0}
boundaries:
x1: 28
y1: 10
x2: 28
y2: 10
position1: {x: 28, y: 10}
position2: {x: 28, y: 10}
color: cyan
- animation: bell.yaml
position: {x: 6, y: 2}
velocity: {x: 0, y: 0}
boundaries:
x1: 6
y1: 2
x2: 6
y2: 2
position1: {x: 6, y: 2}
position2: {x: 6, y: 2}
color: cyan
- animation: dong.yaml
position: {x: 6, y: 4}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 6
y1: 4
x2: 6
y2: 13
position1: {x: 6, y: 4}
position2: {x: 6, y: 13}
color: cyan
- animation: bell.yaml
position: {x: 20, y: 2}
velocity: {x: 0, y: 0}
boundaries:
x1: 20
y1: 2
x2: 20
y2: 2
position1: {x: 20, y: 2}
position2: {x: 20, y: 2}
color: cyan
- animation: dong.yaml
position: {x: 20, y: 13}
velocity: {x: 0, y: -30.0}
boundaries:
x1: 20
y1: 4
x2: 20
y2: 13
position1: {x: 20, y: 4}
position2: {x: 20, y: 13}
color: cyan
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 48

View File

@@ -1,27 +1,27 @@
# JINGLE BELLS
room:
number: "26"
name: "JINGLE BELLS"
name_en: "JINGLE BELLS"
name_ca: "CAMPANETES"
bgColor: blue
border: yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "25"
right: "27"
left: 25.yaml
right: 27.yaml
# Item display colors
# Colores de los objetos
itemColor1: magenta
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67]
- [90, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 91]
@@ -40,89 +40,73 @@ tilemap:
- [140, -1, -1, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, 427, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 140, -1, -1, 140]
- [88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: batman_bell.yaml
position: {x: 1, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 1
y1: 13
x2: 1
y2: 13
position1: {x: 1, y: 13}
position2: {x: 1, y: 13}
color: cyan
- animation: abad_bell.yaml
position: {x: 29, y: 13}
velocity: {x: 0, y: 0}
boundaries:
x1: 29
y1: 13
x2: 29
y2: 13
position1: {x: 29, y: 13}
position2: {x: 29, y: 13}
color: cyan
- animation: bell.yaml
position: {x: 1, y: 4}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 1
y1: 4
x2: 29
y2: 4
position1: {x: 1, y: 4}
position2: {x: 29, y: 4}
color: yellow
- animation: dong.yaml
position: {x: 1, y: 2}
velocity: {x: 0, y: 0}
boundaries:
x1: 1
y1: 2
x2: 1
y2: 2
position1: {x: 1, y: 2}
position2: {x: 1, y: 2}
color: yellow
- animation: bell.yaml
position: {x: 26, y: 7}
velocity: {x: -36.0, y: 0}
boundaries:
x1: 1
y1: 7
x2: 29
y2: 7
position1: {x: 1, y: 7}
position2: {x: 29, y: 7}
color: yellow
- animation: dong.yaml
position: {x: 28, y: 2}
velocity: {x: -0, y: 0}
boundaries:
x1: 28
y1: 2
x2: 28
y2: 2
position1: {x: 28, y: 2}
position2: {x: 28, y: 2}
color: yellow
- animation: bell.yaml
position: {x: 1, y: 10}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 1
y1: 10
x2: 29
y2: 10
position1: {x: 1, y: 10}
position2: {x: 29, y: 10}
color: yellow
- animation: bell.yaml
position: {x: 26, y: 13}
velocity: {x: -36.0, y: 0}
boundaries:
x1: 4
y1: 13
x2: 26
y2: 13
position1: {x: 4, y: 13}
position2: {x: 26, y: 13}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 60

View File

@@ -1,27 +1,27 @@
# THE BACKYARD
room:
number: "27"
name: "THE BACKYARD"
name_en: "THE BACKYARD"
name_ca: "EL PATI DE DARRERE"
bgColor: blue
border: cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "28"
down: "29"
left: "26"
up: 28.yaml
down: 29.yaml
left: 26.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [66, 67, 66, 67, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
- [90, 91, 90, 91, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
@@ -43,7 +43,7 @@ tilemap:
# No enemies in this room
enemies: []
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 28

View File

@@ -1,27 +1,27 @@
# YOU SHALL NOT PASS
room:
number: "28"
name: "YOU SHALL NOT PASS"
name_en: "YOU SHALL NOT PASS"
name_ca: "NO PASSARÀS"
bgColor: bright_black
border: black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "32"
down: "27"
up: 32.yaml
down: 27.yaml
left: null
right: "31"
right: 31.yaml
# Item display colors
# Colores de los objetos
itemColor1: bright_magenta
itemColor2: bright_green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [89, 88, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, 93, 40, 234, 234, -1, -1, 234, 234, 40, 88, 89, 88]
- [88, 93, 214, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 213, 214, -1, -1, -1, -1, -1, -1, -1, -1, 213, 88, 89]
@@ -40,19 +40,17 @@ tilemap:
- [66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 88, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 66, 67, 88, 93, 428, 428, 428, 428, 428, 428, 428, 428, -1, 428, 428, 428, 428, 428, 428, 428]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: lord_abad.yaml
position: {x: 0, y: 5}
velocity: {x: 0, y: 0}
boundaries:
x1: 0
y1: 5
x2: 0
y2: 5
position1: {x: 0, y: 5}
position2: {x: 0, y: 5}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 58

View File

@@ -1,27 +1,27 @@
# QUO VOIDIS
room:
number: "29"
name: "QUO VOIDIS"
name_en: "QUO VOIDIS"
name_ca: "QUO VOIDIS"
bgColor: blue
border: bright_black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "27"
up: 27.yaml
down: null
left: "30"
left: 30.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: green
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, 132]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, 132]
@@ -40,49 +40,41 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 132]
- [132, 132, 132, 132, 132, 132, 132, 128, 128, 132, 132, 132, 129, 129, 132, 132, 132, 129, 129, 132, 132, 132, 128, 128, 132, 132, 132, 132, 132, 132, 132, 132]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: qvoid.yaml
position: {x: 7, y: 1}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 7
y1: 1
x2: 7
y2: 13
position1: {x: 7, y: 1}
position2: {x: 7, y: 13}
color: magenta
- animation: qvoid.yaml
position: {x: 12, y: 6}
velocity: {x: 0, y: 36.0}
boundaries:
x1: 12
y1: 1
x2: 12
y2: 13
position1: {x: 12, y: 1}
position2: {x: 12, y: 13}
color: green
- animation: qvoid.yaml
position: {x: 17, y: 8}
velocity: {x: 0, y: 54.0}
boundaries:
x1: 17
y1: 1
x2: 17
y2: 13
position1: {x: 17, y: 1}
position2: {x: 17, y: 13}
color: green
- animation: qvoid.yaml
position: {x: 22, y: 10}
velocity: {x: 0, y: 42.0}
boundaries:
x1: 22
y1: 1
x2: 22
y2: 13
position1: {x: 22, y: 1}
position2: {x: 22, y: 13}
color: magenta
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 20

View File

@@ -1,27 +1,27 @@
# QVOID IS A JAILGAME!
room:
number: "30"
name: "QVOID IS A JAILGAME!"
name_en: "QVOID IS A JAILGAME!"
name_ca: "QVOID ÉS UN JAILGAME!"
bgColor: blue
border: bright_black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: null
right: "29"
right: 29.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129]
- [131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, 127]
@@ -40,16 +40,14 @@ tilemap:
- [131, -1, -1, -1, -1, 547, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [132, 554, 554, 554, 554, 554, 126, 127, 128, 129, 130, 131, 484, 484, 484, 484, 484, 484, 484, 484, 484, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: qvoid.yaml
position: {x: 1, y: 1}
velocity: {x: 42.0, y: 0}
boundaries:
x1: 1
y1: 1
x2: 29
y2: 1
position1: {x: 1, y: 1}
position2: {x: 29, y: 1}
color: white
flip: true
@@ -57,10 +55,8 @@ enemies:
position: {x: 29, y: 1}
velocity: {x: -42.0, y: 0}
boundaries:
x1: 1
y1: 1
x2: 29
y2: 1
position1: {x: 1, y: 1}
position2: {x: 29, y: 1}
color: red
flip: true
@@ -68,14 +64,12 @@ enemies:
position: {x: 6, y: 7}
velocity: {x: -30.0, y: 0}
boundaries:
x1: 1
y1: 7
x2: 27
y2: 7
position1: {x: 1, y: 7}
position2: {x: 27, y: 7}
color: green
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 20

View File

@@ -1,27 +1,27 @@
# 256 COLORS
room:
number: "31"
name: "256 COLORS"
name_en: "256 COLORS"
name_ca: "256 COLORS"
bgColor: black
border: bright_magenta
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "28"
left: 28.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: bright_red
itemColor2: bright_cyan
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: -1
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: left
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [192, 197, 192, 193, 195, 201, 199, 194, 196, 200, 199, 193, 193, 195, 198, 193, 195, 193, 193, 201, 199, 196, 195, 193, 192, 201, 193, 202, 192, 196, 203, 195]
- [192, 200, 194, 203, 194, 196, 199, 193, 202, 197, 197, 195, 196, 201, 199, 194, 193, 198, 200, 194, 195, 193, 198, 194, 197, 200, 193, 194, 198, 193, 201, 193]
@@ -40,49 +40,41 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, 559, -1, -1, -1, 555, -1, -1, -1, -1, 559, -1, 513, 195, 203, 197, 200, 195, 197, 193, 194, 197]
- [192, 193, 194, 198, 197, 195, 203, 199, 197, 202, 198, 197, 194, 201, 201, 199, 200, 197, 199, 198, 192, 196, 194, 196, 198, 194, 195, 196, 193, 199, 194, 192]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: guitar.yaml
position: {x: 13, y: 5}
velocity: {x: 0, y: 36.0}
boundaries:
x1: 13
y1: 5
x2: 13
y2: 13
position1: {x: 13, y: 5}
position2: {x: 13, y: 13}
color: magenta
- animation: sigmasua.yaml
position: {x: 24, y: 2}
velocity: {x: 0, y: 36.0}
boundaries:
x1: 24
y1: 2
x2: 24
y2: 9
position1: {x: 24, y: 2}
position2: {x: 24, y: 9}
color: red
- animation: paco.yaml
position: {x: 6, y: 2}
velocity: {x: 0, y: 36.0}
boundaries:
x1: 6
y1: 2
x2: 6
y2: 8
position1: {x: 6, y: 2}
position2: {x: 6, y: 8}
color: yellow
- animation: chip.yaml
position: {x: 15, y: 9}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 15
y1: 9
x2: 23
y2: 9
position1: {x: 15, y: 9}
position2: {x: 23, y: 9}
color: green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 61

View File

@@ -1,27 +1,27 @@
# ...?
room:
number: "32"
name: "...?"
name_en: "...?"
name_ca: "...?"
bgColor: black
border: cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "34"
down: "28"
up: 34.yaml
down: 28.yaml
left: null
right: "33"
right: 33.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 234, 234, -1, -1, 234, 234, 40, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1]
@@ -40,26 +40,22 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 380, -1, 40, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, 234, 234, 40, 234, 234, -1, -1, 234, 234, 40, 234, 187, 187]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: tree_thing.yaml
position: {x: 23, y: 4}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 23
y1: 4
x2: 23
y2: 13
position1: {x: 23, y: 4}
position2: {x: 23, y: 13}
color: yellow
- animation: shooting_star.yaml
position: {x: 10, y: 2}
velocity: {x: 0, y: 0}
boundaries:
x1: 10
y1: 2
x2: 10
y2: 2
position1: {x: 10, y: 2}
position2: {x: 10, y: 2}
color: white
frame: 0

View File

@@ -1,27 +1,27 @@
# } WE ALL LOVE JAILGAMES }
room:
number: "33"
name: "} WE ALL LOVE JAILGAMES }"
name_en: "} WE ALL LOVE JAILGAMES }"
name_ca: "} AMOR PELS JAILGAMES }"
bgColor: black
border: bright_black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "32"
left: 32.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: bright_red
itemColor2: bright_yellow
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [-1, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, -1]
@@ -40,39 +40,33 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 164, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: pepe_rosita_job.yaml
position: {x: 2, y: 2}
velocity: {x: 0, y: 3.0}
boundaries:
x1: 2
y1: 2
x2: 2
y2: 3
position1: {x: 2, y: 2}
position2: {x: 2, y: 3}
color: white
- animation: aerojailer.yaml
position: {x: 14, y: 5}
velocity: {x: 0, y: -2.4}
boundaries:
x1: 14
y1: 4
x2: 14
y2: 6
position1: {x: 14, y: 4}
position2: {x: 14, y: 6}
color: white
- animation: arounder.yaml
position: {x: 22, y: 5}
velocity: {x: 0, y: 1.8}
boundaries:
x1: 22
y1: 5
x2: 22
y2: 6
position1: {x: 22, y: 5}
position2: {x: 22, y: 6}
color: white
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 62

View File

@@ -1,27 +1,27 @@
# ULA HOP!
room:
number: "34"
name: "ULA HOP!"
name_en: "ULA HOP!"
name_ca: "ULA HOP!"
bgColor: black
border: cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "32"
left: "35"
down: 32.yaml
left: 35.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: green
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114]
- [115, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, 115]
@@ -40,36 +40,30 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, 114, 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 139]
- [113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, -1, -1, 113, 114, 113, 114, 113, 114]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: floppy.yaml
position: {x: 20, y: 1}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 20
y1: 1
x2: 20
y2: 13
position1: {x: 20, y: 1}
position2: {x: 20, y: 13}
color: cyan
- animation: spark.yaml
position: {x: 11, y: 4}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 11
y1: 4
x2: 18
y2: 4
position1: {x: 11, y: 4}
position2: {x: 18, y: 4}
color: cyan
- animation: spark.yaml
position: {x: 1, y: 1}
velocity: {x: 60.0, y: 0}
boundaries:
x1: 1
y1: 1
x2: 29
y2: 1
position1: {x: 1, y: 1}
position2: {x: 29, y: 1}
color: yellow
mirror: true
@@ -77,23 +71,19 @@ enemies:
position: {x: 1, y: 6}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 1
y1: 6
x2: 10
y2: 6
position1: {x: 1, y: 6}
position2: {x: 10, y: 6}
color: yellow
- animation: wave.yaml
position: {x: 17, y: 8}
velocity: {x: 54.0, y: 0}
boundaries:
x1: 17
y1: 8
x2: 29
y2: 8
position1: {x: 17, y: 8}
position2: {x: 29, y: 8}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 66

View File

@@ -1,27 +1,27 @@
# SILICON BOOBS
room:
number: "35"
name: "SILICON BOOBS"
name_en: "SILICON BOOBS"
name_ca: "MAMELLES DE SILICI"
bgColor: black
border: bright_green
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "36"
right: "34"
left: 36.yaml
right: 34.yaml
# Item display colors
# Colores de los objetos
itemColor1: green
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: -1
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: left
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [117, 118, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114]
- [114, 117, 118, 113, 114, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 113, 114, 117, 118, 113, 114, 113]
@@ -40,16 +40,14 @@ tilemap:
- [114, 113, 114, 113, 540, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: jeannine.yaml
position: {x: 6, y: 13}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 6
y1: 13
x2: 14
y2: 13
position1: {x: 6, y: 13}
position2: {x: 14, y: 13}
color: yellow
flip: true
@@ -57,10 +55,8 @@ enemies:
position: {x: 16, y: 13}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 16
y1: 13
x2: 28
y2: 13
position1: {x: 16, y: 13}
position2: {x: 28, y: 13}
color: cyan
flip: true
@@ -68,10 +64,8 @@ enemies:
position: {x: 7, y: 9}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 7
y1: 9
x2: 15
y2: 9
position1: {x: 7, y: 9}
position2: {x: 15, y: 9}
color: red
flip: true
@@ -79,10 +73,8 @@ enemies:
position: {x: 16, y: 9}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 16
y1: 9
x2: 27
y2: 9
position1: {x: 16, y: 9}
position2: {x: 27, y: 9}
color: white
flip: true
@@ -90,10 +82,8 @@ enemies:
position: {x: 5, y: 5}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 5
y1: 5
x2: 12
y2: 5
position1: {x: 5, y: 5}
position2: {x: 12, y: 5}
color: green
flip: true
@@ -101,14 +91,12 @@ enemies:
position: {x: 16, y: 5}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 16
y1: 5
x2: 26
y2: 5
position1: {x: 16, y: 5}
position2: {x: 26, y: 5}
color: yellow
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 57

View File

@@ -1,27 +1,27 @@
# BE CAREFUL WITH THE FUSE
room:
number: "36"
name: "BE CAREFUL WITH THE FUSE"
name_en: "BE CAREFUL WITH THE FUSE"
name_ca: "COMPTE AMB EL FUSIBLE"
bgColor: black
border: bright_cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "37"
right: "35"
left: 37.yaml
right: 35.yaml
# Item display colors
# Colores de los objetos
itemColor1: green
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118]
- [118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117]
@@ -40,36 +40,30 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143]
- [117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: spark.yaml
position: {x: 6, y: 13}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 2
y1: 13
x2: 14
y2: 13
position1: {x: 2, y: 13}
position2: {x: 14, y: 13}
color: yellow
- animation: spark.yaml
position: {x: 21, y: 13}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 17
y1: 13
x2: 29
y2: 13
position1: {x: 17, y: 13}
position2: {x: 29, y: 13}
color: yellow
- animation: spark.yaml
position: {x: 2, y: 10}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 2
y1: 10
x2: 14
y2: 10
position1: {x: 2, y: 10}
position2: {x: 14, y: 10}
color: yellow
mirror: true
@@ -77,10 +71,8 @@ enemies:
position: {x: 17, y: 10}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 17
y1: 10
x2: 29
y2: 10
position1: {x: 17, y: 10}
position2: {x: 29, y: 10}
color: yellow
mirror: true
@@ -88,63 +80,51 @@ enemies:
position: {x: 13, y: 2}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 13
y1: 2
x2: 13
y2: 7
position1: {x: 13, y: 2}
position2: {x: 13, y: 7}
color: bright_yellow
- animation: shock.yaml
position: {x: 10, y: 4}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 10
y1: 2
x2: 10
y2: 7
position1: {x: 10, y: 2}
position2: {x: 10, y: 7}
color: bright_yellow
- animation: shock.yaml
position: {x: 7, y: 6}
velocity: {x: 0, y: 36.0}
boundaries:
x1: 7
y1: 2
x2: 7
y2: 7
position1: {x: 7, y: 2}
position2: {x: 7, y: 7}
color: bright_yellow
- animation: shock.yaml
position: {x: 24, y: 2}
velocity: {x: 0, y: 24.0}
boundaries:
x1: 24
y1: 2
x2: 24
y2: 7
position1: {x: 24, y: 2}
position2: {x: 24, y: 7}
color: bright_yellow
- animation: shock.yaml
position: {x: 21, y: 4}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 21
y1: 2
x2: 21
y2: 7
position1: {x: 21, y: 2}
position2: {x: 21, y: 7}
color: bright_yellow
- animation: shock.yaml
position: {x: 18, y: 6}
velocity: {x: 0, y: 36.0}
boundaries:
x1: 18
y1: 2
x2: 18
y2: 7
position1: {x: 18, y: 2}
position2: {x: 18, y: 7}
color: bright_yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 57

View File

@@ -1,27 +1,27 @@
# CHIP'N CHIP
room:
number: "37"
name: "CHIP'N CHIP"
name_en: "CHIP'N CHIP"
name_ca: "CHIP'N CHIP"
bgColor: black
border: bright_green
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "38"
right: "36"
left: 38.yaml
right: 36.yaml
# Item display colors
# Colores de los objetos
itemColor1: green
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,59 +40,49 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, 554, 554, 554, 554, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: z80.yaml
position: {x: 15, y: 1}
velocity: {x: 0, y: 18.0}
boundaries:
x1: 15
y1: 1
x2: 15
y2: 10
position1: {x: 15, y: 1}
position2: {x: 15, y: 10}
color: bright_green
- animation: chip.yaml
position: {x: 1, y: 8}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 1
y1: 8
x2: 6
y2: 8
position1: {x: 1, y: 8}
position2: {x: 6, y: 8}
color: bright_green
- animation: chip.yaml
position: {x: 28, y: 8}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 25
y1: 8
x2: 30
y2: 8
position1: {x: 25, y: 8}
position2: {x: 30, y: 8}
color: bright_green
- animation: shock.yaml
position: {x: 8, y: 1}
velocity: {x: 0, y: 60.0}
boundaries:
x1: 8
y1: 1
x2: 8
y2: 14
position1: {x: 8, y: 1}
position2: {x: 8, y: 14}
color: bright_green
- animation: shock.yaml
position: {x: 23, y: 7}
velocity: {x: 0, y: 60.0}
boundaries:
x1: 23
y1: 1
x2: 23
y2: 14
position1: {x: 23, y: 1}
position2: {x: 23, y: 14}
color: bright_green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 57

View File

@@ -1,27 +1,27 @@
# THE FINAL CROSSOVER
room:
number: "38"
name: "THE FINAL CROSSOVER"
name_en: "THE FINAL CROSSOVER"
name_ca: "EL CROSSOVER DEFINITIU"
bgColor: bright_black
border: yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "39"
right: "37"
left: 39.yaml
right: 37.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [20, 20, 20, 20, 20, 20, 20, 22, 23, -1, -1, 20, 20, 20, 20, 20, 20, 22, 23, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
- [20, 20, -1, -1, -1, 20, 20, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, 46, 47, 20, 20, 20, -1, -1, -1, 20, 20, 20, 20, 20, -1, -1]
@@ -40,36 +40,30 @@ tilemap:
- [-1, -1, -1, -1, -1, 555, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 311, -1, 555, -1, -1, -1, -1, -1, 310, -1, -1, -1]
- [217, 217, 217, 218, 20, 20, 20, 20, 20, 20, 556, 556, 556, 556, 556, 556, 556, 556, 20, 20, 20, 20, 20, 20, 20, 219, 220, 220, 220, 220, 220, 221]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: stopped_arounder.yaml
position: {x: 9, y: 11}
velocity: {x: 0, y: 0}
boundaries:
x1: 9
y1: 11
x2: 9
y2: 11
position1: {x: 9, y: 11}
position2: {x: 9, y: 11}
color: white
- animation: stopped_arounder.yaml
position: {x: 18, y: 11}
velocity: {x: 0, y: 0}
boundaries:
x1: 18
y1: 11
x2: 18
y2: 11
position1: {x: 18, y: 11}
position2: {x: 18, y: 11}
color: white
- animation: walking_arounder.yaml
position: {x: 12, y: 1}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 11
y1: 1
x2: 16
y2: 1
position1: {x: 11, y: 1}
position2: {x: 16, y: 1}
color: white
flip: true
@@ -77,10 +71,8 @@ enemies:
position: {x: 9, y: 0}
velocity: {x: 0, y: 0}
boundaries:
x1: 9
y1: 0
x2: 9
y2: 0
position1: {x: 9, y: 0}
position2: {x: 9, y: 0}
color: yellow
flip: true
@@ -88,10 +80,8 @@ enemies:
position: {x: 3, y: 1}
velocity: {x: 0, y: 42.0}
boundaries:
x1: 3
y1: 1
x2: 3
y2: 9
position1: {x: 3, y: 1}
position2: {x: 3, y: 9}
color: white
flip: true
@@ -99,14 +89,12 @@ enemies:
position: {x: 12, y: 10}
velocity: {x: 12.0, y: 0}
boundaries:
x1: 10
y1: 10
x2: 17
y2: 10
position1: {x: 10, y: 10}
position2: {x: 17, y: 10}
color: bright_yellow
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 37

View File

@@ -1,27 +1,27 @@
# YOU'LL BELIEVE AROUNDER CAN FLY
room:
number: "39"
name: "YOU'LL BELIEVE AROUNDER CAN FLY"
name_en: "YOU'LL BELIEVE AROUNDER CAN FLY"
name_ca: "CREURÀS QUE ELS AROUNDERS VOLEN"
bgColor: black
border: cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "40"
right: "38"
left: 40.yaml
right: 38.yaml
# Item display colors
# Colores de los objetos
itemColor1: magenta
itemColor2: cyan
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,26 +40,22 @@ tilemap:
- [-1, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, 311, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [556, 556, 216, 217, 217, 217, 217, 218, 556, 556, 556, 556, 216, 217, 217, 217, 217, 217, 218, 556, 556, 556, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: arounders_door.yaml
position: {x: 3, y: 1}
velocity: {x: 0, y: 0}
boundaries:
x1: 3
y1: 1
x2: 3
y2: 1
position1: {x: 3, y: 1}
position2: {x: 3, y: 1}
color: white
- animation: flying_arounder.yaml
position: {x: 9, y: 1}
velocity: {x: 0, y: 42.0}
boundaries:
x1: 9
y1: 1
x2: 9
y2: 10
position1: {x: 9, y: 1}
position2: {x: 9, y: 10}
color: white
flip: true
@@ -67,10 +63,8 @@ enemies:
position: {x: 15, y: 0}
velocity: {x: 0, y: 42.0}
boundaries:
x1: 15
y1: 0
x2: 15
y2: 14
position1: {x: 15, y: 0}
position2: {x: 15, y: 14}
color: white
flip: true
@@ -78,10 +72,8 @@ enemies:
position: {x: 22, y: 10}
velocity: {x: 0, y: 42.0}
boundaries:
x1: 22
y1: 0
x2: 22
y2: 14
position1: {x: 22, y: 0}
position2: {x: 22, y: 14}
color: white
flip: true
@@ -89,14 +81,12 @@ enemies:
position: {x: 16, y: 5}
velocity: {x: 0, y: 42.0}
boundaries:
x1: 16
y1: 0
x2: 16
y2: 10
position1: {x: 16, y: 0}
position2: {x: 16, y: 10}
color: white
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 47

View File

@@ -1,27 +1,27 @@
# PREVENT THE CRISIS
room:
number: "40"
name: "PREVENT THE CRISIS"
name_en: "PREVENT THE CRISIS"
name_ca: "PREVÉ LA CRISI"
bgColor: black
border: bright_magenta
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "41"
right: "39"
left: 41.yaml
right: 39.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,26 +40,22 @@ tilemap:
- [-1, -1, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, -1]
- [556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: arounders_machine.yaml
position: {x: 7, y: 1}
velocity: {x: 0, y: 0}
boundaries:
x1: 7
y1: 1
x2: 7
y2: 1
position1: {x: 7, y: 1}
position2: {x: 7, y: 1}
color: red
- animation: walking_arounder.yaml
position: {x: 10, y: 12}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 7
y1: 12
x2: 26
y2: 12
position1: {x: 7, y: 12}
position2: {x: 26, y: 12}
color: white
flip: true
@@ -67,10 +63,8 @@ enemies:
position: {x: 15, y: 12}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 7
y1: 12
x2: 26
y2: 12
position1: {x: 7, y: 12}
position2: {x: 26, y: 12}
color: green
flip: true
@@ -78,10 +72,8 @@ enemies:
position: {x: 20, y: 12}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 7
y1: 12
x2: 26
y2: 12
position1: {x: 7, y: 12}
position2: {x: 26, y: 12}
color: yellow
flip: true
@@ -89,14 +81,12 @@ enemies:
position: {x: 14, y: 2}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 11
y1: 2
x2: 18
y2: 2
position1: {x: 11, y: 2}
position2: {x: 18, y: 2}
color: cyan
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 5

View File

@@ -1,27 +1,27 @@
# AROUND WITH ME
room:
number: "41"
name: "AROUND WITH ME"
name_en: "AROUND WITH ME"
name_ca: "AROUNDA AMB MI"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "42"
right: "40"
left: 42.yaml
right: 40.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [187, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,56 +40,46 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1]
- [43, 43, 43, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: arounders_door.yaml
position: {x: 6, y: 2}
velocity: {x: 0, y: 0}
boundaries:
x1: 6
y1: 2
x2: 6
y2: 2
position1: {x: 6, y: 2}
position2: {x: 6, y: 2}
color: bright_cyan
- animation: stopped_arounder.yaml
position: {x: 8, y: 12}
velocity: {x: 0, y: 0}
boundaries:
x1: 8
y1: 12
x2: 8
y2: 12
position1: {x: 8, y: 12}
position2: {x: 8, y: 12}
color: bright_cyan
- animation: stopped_arounder.yaml
position: {x: 11, y: 3}
velocity: {x: 0, y: 0}
boundaries:
x1: 11
y1: 3
x2: 11
y2: 3
position1: {x: 11, y: 3}
position2: {x: 11, y: 3}
color: bright_cyan
- animation: stopped_arounder.yaml
position: {x: 24, y: 12}
velocity: {x: 0, y: 0}
boundaries:
x1: 24
y1: 12
x2: 24
y2: 12
position1: {x: 24, y: 12}
position2: {x: 24, y: 12}
color: bright_cyan
- animation: walking_arounder.yaml
position: {x: 12, y: 12}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 9
y1: 12
x2: 23
y2: 12
position1: {x: 9, y: 12}
position2: {x: 23, y: 12}
color: bright_cyan
flip: true
@@ -97,10 +87,8 @@ enemies:
position: {x: 14, y: 12}
velocity: {x: -24.0, y: 0}
boundaries:
x1: 9
y1: 12
x2: 23
y2: 12
position1: {x: 9, y: 12}
position2: {x: 23, y: 12}
color: bright_cyan
flip: true
@@ -108,14 +96,12 @@ enemies:
position: {x: 14, y: 6}
velocity: {x: -24.0, y: 0}
boundaries:
x1: 12
y1: 6
x2: 20
y2: 6
position1: {x: 12, y: 6}
position2: {x: 20, y: 6}
color: bright_cyan
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 46

View File

@@ -1,27 +1,27 @@
# P.A.C.O. ON THE GO
room:
number: "42"
name: "P.A.C.O. ON THE GO"
name_en: "P.A.C.O. ON THE GO"
name_ca: "P.A.C.O. EN MARXA"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "43"
left: "53"
right: "41"
down: 43.yaml
left: 53.yaml
right: 41.yaml
# Item display colors
# Colores de los objetos
itemColor1: magenta
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [35, 35, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61]
- [35, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61]
@@ -40,30 +40,26 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 506, -1, -1, -1, -1, 530, -1, -1, -1, -1, -1, -1]
- [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, 422, 384, -1, -1, 25, 43, 43, 43, 43, 43]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: paco.yaml
position: {x: 10, y: 2}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 10
y1: 2
x2: 10
y2: 11
position1: {x: 10, y: 2}
position2: {x: 10, y: 11}
color: magenta
- animation: abad.yaml
position: {x: 15, y: 13}
velocity: {x: 48.0, y: 0}
boundaries:
x1: 4
y1: 13
x2: 19
y2: 13
position1: {x: 4, y: 13}
position2: {x: 19, y: 13}
color: bright_cyan
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 41

View File

@@ -1,27 +1,27 @@
# THE TUBE
room:
number: "43"
name: "THE TUBE"
name_en: "THE TUBE"
name_ca: "EL TUB"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "42"
down: "44"
up: 42.yaml
down: 44.yaml
left: null
right: null
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
- [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
@@ -40,29 +40,25 @@ tilemap:
- [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, 384, 384, 25, 43, 43, 43, 43, 43]
- [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, 422, 384, 422, 384, -1, -1, 25, 43, 43, 43, 43, 43]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: spider.yaml
position: {x: 20, y: 5}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 20
y1: 5
x2: 23
y2: 5
position1: {x: 20, y: 5}
position2: {x: 23, y: 5}
color: cyan
- animation: spider.yaml
position: {x: 22, y: 11}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 20
y1: 11
x2: 23
y2: 11
position1: {x: 20, y: 11}
position2: {x: 23, y: 11}
color: green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 8

View File

@@ -1,27 +1,27 @@
# SANDWITCH AND COUNTER
room:
number: "44"
name: "SANDWITCH AND COUNTER"
name_en: "SANDWITCH AND COUNTER"
name_ca: "SANDVITX I COUNTER S."
bgColor: black
border: cyan
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "43"
down: "16"
up: 43.yaml
down: 16.yaml
left: null
right: null
# Item display colors
# Colores de los objetos
itemColor1: white
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: right
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
- [36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, 36, 36, 36, 36]
@@ -40,16 +40,14 @@ tilemap:
- [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, 36, 36, 36, 36]
- [37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 416, -1, -1, 416, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: congo.yaml
position: {x: 2, y: 4}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 2
y1: 4
x2: 14
y2: 4
position1: {x: 2, y: 4}
position2: {x: 14, y: 4}
color: green
flip: true
@@ -57,13 +55,11 @@ enemies:
position: {x: 23, y: 4}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 23
y1: 4
x2: 23
y2: 13
position1: {x: 23, y: 4}
position2: {x: 23, y: 13}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 8

View File

@@ -1,27 +1,27 @@
# FEEL THE PRESSURE
room:
number: "45"
name: "FEEL THE PRESSURE"
name_en: "FEEL THE PRESSURE"
name_ca: "NOTA LA PRESS"
bgColor: bright_black
border: bright_yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "14"
right: "46"
left: 14.yaml
right: 46.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [29, 29, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [29, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,39 +40,33 @@ tilemap:
- [29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 394, 394, -1, -1, -1, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [29, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: chip.yaml
position: {x: 4, y: 5}
velocity: {x: 0, y: 60.0}
boundaries:
x1: 4
y1: 2
x2: 4
y2: 13
position1: {x: 4, y: 2}
position2: {x: 4, y: 13}
color: green
- animation: chip.yaml
position: {x: 10, y: 4}
velocity: {x: 0, y: 60.0}
boundaries:
x1: 10
y1: 2
x2: 10
y2: 13
position1: {x: 10, y: 2}
position2: {x: 10, y: 13}
color: bright_blue
- animation: chip.yaml
position: {x: 16, y: 3}
velocity: {x: 0, y: 60.0}
boundaries:
x1: 16
y1: 2
x2: 16
y2: 13
position1: {x: 16, y: 2}
position2: {x: 16, y: 13}
color: magenta
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 54

View File

@@ -1,27 +1,27 @@
# FEEL THE HEAT
room:
number: "46"
name: "FEEL THE HEAT"
name_en: "FEEL THE HEAT"
name_ca: "NOTA EL CALORET"
bgColor: bright_black
border: bright_yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "45"
left: 45.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: red
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: -1
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: left
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,16 +40,14 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134]
- [480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 134]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: batman_fire.yaml
position: {x: 10, y: 13}
velocity: {x: 78.0, y: 0}
boundaries:
x1: 0
y1: 13
x2: 29
y2: 13
position1: {x: 0, y: 13}
position2: {x: 29, y: 13}
color: cyan
flip: true
@@ -57,23 +55,19 @@ enemies:
position: {x: 11, y: 7}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 11
y1: 1
x2: 11
y2: 12
position1: {x: 11, y: 1}
position2: {x: 11, y: 12}
color: green
- animation: heavy.yaml
position: {x: 18, y: 2}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 18
y1: 1
x2: 18
y2: 12
position1: {x: 18, y: 1}
position2: {x: 18, y: 12}
color: green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 28

View File

@@ -1,27 +1,27 @@
# THE BATTLE NEVER ENDS
room:
number: "47"
name: "THE BATTLE NEVER ENDS"
name_en: "THE BATTLE NEVER ENDS"
name_ca: "LA BATALLA MAI ACABA"
bgColor: black
border: white
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "51"
up: 51.yaml
down: null
left: "48"
left: 48.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: red
itemColor2: yellow
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -1, -1, -1, -1, -1, 504, 27, 27, 27, 85, 85]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, 85, 85]
@@ -40,16 +40,14 @@ tilemap:
- [27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 85]
- [27, 27, 27, 27, 27, 388, 388, 388, 27, 27, 27, 27, 27, 388, 388, 388, 27, 27, 27, 27, 27, 388, 388, 27, 388, 27, 27, 27, 27, 27, 85, 85]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: jailbattle_alien.yaml
position: {x: 10, y: 3}
velocity: {x: 48.0, y: 0}
boundaries:
x1: 3
y1: 3
x2: 27
y2: 3
position1: {x: 3, y: 3}
position2: {x: 27, y: 3}
color: green
flip: true
@@ -57,10 +55,8 @@ enemies:
position: {x: 25, y: 4}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 25
y1: 4
x2: 25
y2: 10
position1: {x: 25, y: 4}
position2: {x: 25, y: 10}
color: yellow
flip: true
@@ -68,10 +64,8 @@ enemies:
position: {x: 7, y: 6}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 7
y1: 6
x2: 7
y2: 13
position1: {x: 7, y: 6}
position2: {x: 7, y: 13}
color: red
flip: true
@@ -79,14 +73,12 @@ enemies:
position: {x: 18, y: 13}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 15
y1: 13
x2: 27
y2: 13
position1: {x: 15, y: 13}
position2: {x: 27, y: 13}
color: cyan
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 19

View File

@@ -1,27 +1,27 @@
# WELCOME TO THE JAILBATTLE
room:
number: "48"
name: "WELCOME TO THE JAILBATTLE"
name_en: "WELCOME TO THE JAILBATTLE"
name_ca: "BENVINGUTS A JAILBATTLE"
bgColor: green
border: bright_green
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "49"
down: 49.yaml
left: null
right: "47"
right: 47.yaml
# Item display colors
# Colores de los objetos
itemColor1: white
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32]
- [32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,16 +40,14 @@ tilemap:
- [32, -1, -1, 504, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32]
- [32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -1, -1, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: jailbattle_human.yaml
position: {x: 17, y: 6}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 12
y1: 6
x2: 27
y2: 6
position1: {x: 12, y: 6}
position2: {x: 27, y: 6}
color: white
flip: true
@@ -57,10 +55,8 @@ enemies:
position: {x: 2, y: 13}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 2
y1: 13
x2: 16
y2: 13
position1: {x: 2, y: 13}
position2: {x: 16, y: 13}
color: white
flip: true
@@ -68,14 +64,12 @@ enemies:
position: {x: 24, y: 10}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 24
y1: 9
x2: 24
y2: 13
position1: {x: 24, y: 9}
position2: {x: 24, y: 13}
color: white
flip: true
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 19

View File

@@ -1,27 +1,27 @@
# WE NEED A ROBOT
room:
number: "49"
name: "WE NEED A ROBOT"
name_en: "WE NEED A JAILROBOT"
name_ca: "NECESSITEM UN JAILROBOT"
bgColor: black
border: red
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "48"
up: 48.yaml
down: null
left: "50"
right: "17"
left: 50.yaml
right: 17.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, -1, -1, -1, -1, 522, 38, 38, 38, 38, 38, 38, 38, 38]
- [38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, 38]
@@ -40,16 +40,14 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: robot.yaml
position: {x: 10, y: 8}
velocity: {x: 42.0, y: 0}
boundaries:
x1: 1
y1: 8
x2: 29
y2: 8
position1: {x: 1, y: 8}
position2: {x: 29, y: 8}
color: yellow
flip: true

View File

@@ -1,27 +1,27 @@
# STORED JAILGAMES
room:
number: "50"
name: "STORED JAILGAMES"
name_en: "STORED JAILGAMES"
name_ca: "EL MAGATZEM DE JAILGAMES"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: null
right: "49"
right: 49.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: right
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41]
- [41, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, 41]
@@ -40,29 +40,25 @@ tilemap:
- [41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: floppy.yaml
position: {x: 7, y: 2}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 7
y1: 2
x2: 7
y2: 12
position1: {x: 7, y: 2}
position2: {x: 7, y: 12}
color: magenta
- animation: floppy.yaml
position: {x: 20, y: 6}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 20
y1: 2
x2: 20
y2: 12
position1: {x: 20, y: 2}
position2: {x: 20, y: 12}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 1

View File

@@ -1,27 +1,27 @@
# MINI ASCII
room:
number: "51"
name: "MINI ASCII"
name_en: "MINI ASCII"
name_ca: "MINI ASCII"
bgColor: black
border: black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "53"
down: "47"
left: "52"
up: 53.yaml
down: 47.yaml
left: 52.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: bright_white
itemColor2: black
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [186, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 294, -1, -1, 183, 183, 183, 183, 183, 182]
- [186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 182]
@@ -40,39 +40,33 @@ tilemap:
- [-1, -1, -1, 181, 181, 181, 181, 181, 290, 181, 181, 181, 181, 181, 181, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 182]
- [184, 184, 184, 184, 184, 296, 296, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 180, 180, -1, -1, 180, 180, 180, 180, 180, 180, 180, 182]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: amstrad_cs.yaml
position: {x: 1, y: 6}
velocity: {x: 72.0, y: 0}
boundaries:
x1: 1
y1: 6
x2: 30
y2: 6
position1: {x: 1, y: 6}
position2: {x: 30, y: 6}
color: white
- animation: amstrad_cs.yaml
position: {x: 19, y: 1}
velocity: {x: 0, y: 72.0}
boundaries:
x1: 19
y1: 1
x2: 19
y2: 14
position1: {x: 19, y: 1}
position2: {x: 19, y: 14}
color: yellow
- animation: amstrad_cs.yaml
position: {x: 5, y: 6}
velocity: {x: 0, y: 72.0}
boundaries:
x1: 5
y1: 1
x2: 5
y2: 12
position1: {x: 5, y: 1}
position2: {x: 5, y: 12}
color: green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 39

View File

@@ -1,27 +1,27 @@
# BREAKOUT.LUA
room:
number: "52"
name: "BREAKOUT.LUA"
name_en: "BREAKOUT.LUA"
name_ca: "BREAKOUT.LUA"
bgColor: black
border: black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: null
right: "51"
right: 51.yaml
# Item display colors
# Colores de los objetos
itemColor1: bright_white
itemColor2: black
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [183, 181, 181, 181, 181, 181, 181, 181, 290, 290, 181, 181, 186, 186, 186, 186, 186, 186, 309, 186, 186, 186, 186, 186, 186, 186, 184, 184, 184, 184, 296, 296]
- [183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288]
@@ -40,19 +40,17 @@ tilemap:
- [185, 181, 181, 290, 181, 181, 181, 181, 183, 183, 183, 183, 294, 183, 183, 183, 183, 185, 185, 298, 185, 185, 185, 185, 185, 185, -1, -1, -1, -1, -1, -1]
- [182, 182, 182, 182, 182, 292, 288, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: breakout.yaml
position: {x: 1, y: 6}
velocity: {x: 132.0, y: 0}
boundaries:
x1: 1
y1: 6
x2: 22
y2: 6
position1: {x: 1, y: 6}
position2: {x: 22, y: 6}
color: white
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 39

View File

@@ -1,27 +1,27 @@
# P.A.C.O. WORKSHOP
room:
number: "53"
name: "P.A.C.O. WORKSHOP"
name_en: "P.A.C.O. WORKSHOP"
name_ca: "TALLER DE P.A.C.O."
bgColor: black
border: yellow
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: "51"
down: 51.yaml
left: null
right: "42"
right: 42.yaml
# Item display colors
# Colores de los objetos
itemColor1: magenta
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: right
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35]
- [35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35]
@@ -40,49 +40,41 @@ tilemap:
- [134, -1, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, -1, -1, 35, 35, 35, 35, 35, 35]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: paco.yaml
position: {x: 6, y: 6}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 6
y1: 6
x2: 13
y2: 6
position1: {x: 6, y: 6}
position2: {x: 13, y: 6}
color: yellow
- animation: paco.yaml
position: {x: 16, y: 2}
velocity: {x: 0, y: 48.0}
boundaries:
x1: 16
y1: 2
x2: 16
y2: 13
position1: {x: 16, y: 2}
position2: {x: 16, y: 13}
color: bright_red
- animation: wave.yaml
position: {x: 1, y: 10}
velocity: {x: 24.0, y: 0}
boundaries:
x1: 1
y1: 10
x2: 14
y2: 10
position1: {x: 1, y: 10}
position2: {x: 14, y: 10}
color: bright_yellow
- animation: lamp.yaml
position: {x: 22, y: 2}
velocity: {x: 0, y: 0}
boundaries:
x1: 22
y1: 2
x2: 22
y2: 2
position1: {x: 22, y: 2}
position2: {x: 22, y: 2}
color: bright_yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 40

View File

@@ -1,27 +1,27 @@
# THE BASEMENT
room:
number: "54"
name: "THE BASEMENT"
name_en: "THE BASEMENT"
name_ca: "EL SOTAN"
bgColor: black
border: blue
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "18"
up: 18.yaml
down: null
left: null
right: "55"
right: 55.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: blue
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [15, 15, 15, 15, 15, 15, 15, 15, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, -1, -1, -1, -1, 518, 348, 348, 348, 15, 15, 15, 15, 15, 15]
- [15, 15, 15, 15, 15, 301, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, -1, -1, -1, -1, -1, -1, 301, 15, 15, 15]
@@ -40,39 +40,33 @@ tilemap:
- [31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 31, 31, 15, 133, 15, 133, 15, 15, 15, 15]
- [31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: spider.yaml
position: {x: 2, y: 14}
velocity: {x: 30.0, y: 0}
boundaries:
x1: 2
y1: 14
x2: 18
y2: 14
position1: {x: 2, y: 14}
position2: {x: 18, y: 14}
color: magenta
- animation: spider.yaml
position: {x: 10, y: 1}
velocity: {x: 0, y: 60.0}
boundaries:
x1: 10
y1: 1
x2: 10
y2: 6
position1: {x: 10, y: 1}
position2: {x: 10, y: 6}
color: yellow
- animation: spider.yaml
position: {x: 7, y: 11}
velocity: {x: 18.0, y: 0}
boundaries:
x1: 7
y1: 11
x2: 14
y2: 11
position1: {x: 7, y: 11}
position2: {x: 14, y: 11}
color: cyan
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 35

View File

@@ -1,27 +1,27 @@
# THAT'S A GUITAR
room:
number: "55"
name: "THAT'S A GUITAR"
name_en: "THAT'S A GUITAR"
name_ca: "AIXÒ ÉS UNA GUITARRA"
bgColor: black
border: black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "54"
right: "56"
left: 54.yaml
right: 56.yaml
# Item display colors
# Colores de los objetos
itemColor1: magenta
itemColor2: red
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: -1
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: left
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [15, 15, 15, -1, -1, -1, -1, 301, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]
- [15, 301, -1, -1, -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 15, 15, 15, 15, 15, 15, 15]
@@ -40,29 +40,25 @@ tilemap:
- [15, 15, 15, 15, 15, 15, 537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: dimallas.yaml
position: {x: 15, y: 13}
velocity: {x: 36.0, y: 0}
boundaries:
x1: 9
y1: 13
x2: 25
y2: 13
position1: {x: 9, y: 13}
position2: {x: 25, y: 13}
color: cyan
- animation: guitar.yaml
position: {x: 16, y: 4}
velocity: {x: 0, y: 18.0}
boundaries:
x1: 16
y1: 4
x2: 16
y2: 10
position1: {x: 16, y: 4}
position2: {x: 16, y: 10}
color: red
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 25

View File

@@ -1,27 +1,27 @@
# HEAVY DEMONS ON LEGGINS
room:
number: "56"
name: "HEAVY DEMONS ON LEGGINS"
name_en: "HEAVY DEMONS ON LEGGINS"
name_ca: "DIMONIS HEAVIES AMB MALLES"
bgColor: black
border: black
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "55"
right: "57"
left: 55.yaml
right: 57.yaml
# Item display colors
# Colores de los objetos
itemColor1: bright_red
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: -1
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: left
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, 302, 302, 302, 302, -1, 302, 302, 302, 302, 302, -1, 302, 302, 302, 302, 302, 302, 302, 302, 302, -1, -1, 302, 302, 302, 302, -1, -1, -1]
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -40,29 +40,25 @@ tilemap:
- [-1, -1, -1, -1, -1, 519, -1, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, -1, 543, -1, -1, -1, 514, 17]
- [17, 17, 17, 17, 17, 17, 17, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 17, 17, 17, 17, 17, 17, 17]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: demon.yaml
position: {x: 12, y: 3}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 12
y1: 3
x2: 12
y2: 12
position1: {x: 12, y: 3}
position2: {x: 12, y: 12}
color: red
- animation: demon.yaml
position: {x: 18, y: 5}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 18
y1: 3
x2: 18
y2: 12
position1: {x: 18, y: 3}
position2: {x: 18, y: 12}
color: red
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 28

View File

@@ -1,27 +1,27 @@
# JAILGAMES GO TO HELL
room:
number: "57"
name: "JAILGAMES GO TO HELL"
name_en: "JAILGAMES GO TO HELL"
name_ca: "JAILGAMES A L'INFERN"
bgColor: red
border: bright_red
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "56"
right: "58"
left: 56.yaml
right: 58.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: -1
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: left
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18]
@@ -40,39 +40,33 @@ tilemap:
- [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18]
- [492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: dimallas.yaml
position: {x: 13, y: 12}
velocity: {x: 54.0, y: 0}
boundaries:
x1: 4
y1: 12
x2: 21
y2: 12
position1: {x: 4, y: 12}
position2: {x: 21, y: 12}
color: green
- animation: heavy.yaml
position: {x: 17, y: 5}
velocity: {x: 0, y: 36.0}
boundaries:
x1: 17
y1: 2
x2: 17
y2: 10
position1: {x: 17, y: 2}
position2: {x: 17, y: 10}
color: white
- animation: heavy.yaml
position: {x: 10, y: 8}
velocity: {x: 0, y: 36.0}
boundaries:
x1: 10
y1: 2
x2: 10
y2: 10
position1: {x: 10, y: 2}
position2: {x: 10, y: 10}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 32

View File

@@ -1,27 +1,27 @@
# CHIRPING
room:
number: "58"
name: "CHIRPING"
name_en: "CHIRPING"
name_ca: "CHIRPING"
bgColor: black
border: magenta
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: null
down: null
left: "57"
right: "59"
left: 57.yaml
right: 59.yaml
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36]
- [36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36]
@@ -40,39 +40,33 @@ tilemap:
- [36, 536, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 544, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- [36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: bird.yaml
position: {x: 4, y: 2}
velocity: {x: 0, y: 30.0}
boundaries:
x1: 4
y1: 2
x2: 4
y2: 12
position1: {x: 4, y: 2}
position2: {x: 4, y: 12}
color: yellow
- animation: bird.yaml
position: {x: 9, y: 11}
velocity: {x: 0, y: -30.0}
boundaries:
x1: 9
y1: 0
x2: 9
y2: 10
position1: {x: 9, y: 0}
position2: {x: 9, y: 10}
color: green
- animation: bird.yaml
position: {x: 26, y: 5}
velocity: {x: 0, y: -30.0}
boundaries:
x1: 26
y1: 2
x2: 26
y2: 12
position1: {x: 26, y: 2}
position2: {x: 26, y: 12}
color: white
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 10

View File

@@ -1,27 +1,27 @@
# STATIC
room:
number: "59"
name: "STATIC"
name_en: "STATIC"
name_ca: "ESTÀTICA"
bgColor: black
border: bright_magenta
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "60"
up: 60.yaml
down: null
left: "58"
left: 58.yaml
right: null
# Item display colors
# Colores de los objetos
itemColor1: yellow
itemColor2: magenta
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, 63]
- [63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, -1, 63]
@@ -40,39 +40,33 @@ tilemap:
- [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, 63]
- [63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: wave.yaml
position: {x: 1, y: 10}
velocity: {x: 48.0, y: 0}
boundaries:
x1: 1
y1: 10
x2: 30
y2: 10
position1: {x: 1, y: 10}
position2: {x: 30, y: 10}
color: magenta
- animation: wave.yaml
position: {x: 30, y: 4}
velocity: {x: -48.0, y: 0}
boundaries:
x1: 1
y1: 4
x2: 30
y2: 4
position1: {x: 1, y: 4}
position2: {x: 30, y: 4}
color: cyan
- animation: wave.yaml
position: {x: 15, y: 14}
velocity: {x: -24.0, y: 0}
boundaries:
x1: 3
y1: 14
x2: 30
y2: 14
position1: {x: 3, y: 14}
position2: {x: 30, y: 14}
color: green
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 24

View File

@@ -1,27 +1,27 @@
# MAGNETIC FIELDS
room:
number: "60"
name: "MAGNETIC FIELDS"
name_en: "MAGNETIC FIELDS"
name_ca: "CAMPS MAGNÈTICS"
bgColor: black
border: bright_red
tileSetFile: standard.gif
# Room connections (null for no connection)
# Conexiones de la habitación (null = sin conexión)
connections:
up: "05"
down: "59"
up: 05.yaml
down: 59.yaml
left: null
right: null
# Item display colors
# Colores de los objetos
itemColor1: red
itemColor2: green
# Conveyor belt direction: left (-1), none (0), right (1)
autoSurface: 0
# Dirección de la cinta transportadora: left, none, right
conveyorBelt: none
# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
# Values are 0-based tile indices (0 = empty)
# Tilemap: 16 filas × 32 columnas (256×192 píxeles @ 8px/tile)
# Índices de tiles (-1 = vacío)
tilemap:
- [168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 410, -1, -1, 410, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168]
- [168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168]
@@ -40,29 +40,25 @@ tilemap:
- [168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168]
- [168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, -1, -1, 168, 168, 168, 168]
# Enemies in this room
# Enemigos en esta habitación
enemies:
- animation: shock.yaml
position: {x: 7, y: 2}
velocity: {x: 0, y: 90.0}
boundaries:
x1: 7
y1: 1
x2: 7
y2: 14
position1: {x: 7, y: 1}
position2: {x: 7, y: 14}
color: yellow
- animation: shock.yaml
position: {x: 24, y: 6}
velocity: {x: 0, y: -90.0}
boundaries:
x1: 24
y1: 1
x2: 24
y2: 14
position1: {x: 24, y: 1}
position2: {x: 24, y: 14}
color: yellow
# Items in this room
# Objetos en esta habitación
items:
- tileSetFile: items.gif
tile: 1

View File

@@ -1,157 +0,0 @@
#version 330 core
// Configuración
#define SCANLINES
#define MULTISAMPLE
#define GAMMA
//#define FAKE_GAMMA
//#define CURVATURE
//#define SHARPER
#define MASK_TYPE 2
#define CURVATURE_X 0.05
#define CURVATURE_Y 0.1
#define MASK_BRIGHTNESS 0.80
#define SCANLINE_WEIGHT 6.0
#define SCANLINE_GAP_BRIGHTNESS 0.12
#define BLOOM_FACTOR 3.5
#define INPUT_GAMMA 2.4
#define OUTPUT_GAMMA 2.2
// Inputs desde vertex shader
in vec2 vTexCoord;
in float vFilterWidth;
#if defined(CURVATURE)
in vec2 vScreenScale;
#endif
// Output
out vec4 FragColor;
// Uniforms
uniform sampler2D Texture;
uniform vec2 TextureSize;
#if defined(CURVATURE)
vec2 Distort(vec2 coord)
{
vec2 CURVATURE_DISTORTION = vec2(CURVATURE_X, CURVATURE_Y);
vec2 barrelScale = 1.0 - (0.23 * CURVATURE_DISTORTION);
coord *= vScreenScale;
coord -= vec2(0.5);
float rsq = coord.x * coord.x + coord.y * coord.y;
coord += coord * (CURVATURE_DISTORTION * rsq);
coord *= barrelScale;
if (abs(coord.x) >= 0.5 || abs(coord.y) >= 0.5)
coord = vec2(-1.0);
else
{
coord += vec2(0.5);
coord /= vScreenScale;
}
return coord;
}
#endif
float CalcScanLineWeight(float dist)
{
return max(1.0 - dist * dist * SCANLINE_WEIGHT, SCANLINE_GAP_BRIGHTNESS);
}
float CalcScanLine(float dy)
{
float scanLineWeight = CalcScanLineWeight(dy);
#if defined(MULTISAMPLE)
scanLineWeight += CalcScanLineWeight(dy - vFilterWidth);
scanLineWeight += CalcScanLineWeight(dy + vFilterWidth);
scanLineWeight *= 0.3333333;
#endif
return scanLineWeight;
}
void main()
{
#if defined(CURVATURE)
vec2 texcoord = Distort(vTexCoord);
if (texcoord.x < 0.0) {
FragColor = vec4(0.0);
return;
}
#else
vec2 texcoord = vTexCoord;
#endif
vec2 texcoordInPixels = texcoord * TextureSize;
#if defined(SHARPER)
vec2 tempCoord = floor(texcoordInPixels) + 0.5;
vec2 coord = tempCoord / TextureSize;
vec2 deltas = texcoordInPixels - tempCoord;
float scanLineWeight = CalcScanLine(deltas.y);
vec2 signs = sign(deltas);
deltas.x *= 2.0;
deltas = deltas * deltas;
deltas.y = deltas.y * deltas.y;
deltas.x *= 0.5;
deltas.y *= 8.0;
deltas /= TextureSize;
deltas *= signs;
vec2 tc = coord + deltas;
#else
float tempY = floor(texcoordInPixels.y) + 0.5;
float yCoord = tempY / TextureSize.y;
float dy = texcoordInPixels.y - tempY;
float scanLineWeight = CalcScanLine(dy);
float signY = sign(dy);
dy = dy * dy;
dy = dy * dy;
dy *= 8.0;
dy /= TextureSize.y;
dy *= signY;
vec2 tc = vec2(texcoord.x, yCoord + dy);
#endif
vec3 colour = texture(Texture, tc).rgb;
#if defined(SCANLINES)
#if defined(GAMMA)
#if defined(FAKE_GAMMA)
colour = colour * colour;
#else
colour = pow(colour, vec3(INPUT_GAMMA));
#endif
#endif
scanLineWeight *= BLOOM_FACTOR;
colour *= scanLineWeight;
#if defined(GAMMA)
#if defined(FAKE_GAMMA)
colour = sqrt(colour);
#else
colour = pow(colour, vec3(1.0 / OUTPUT_GAMMA));
#endif
#endif
#endif
#if MASK_TYPE == 0
FragColor = vec4(colour, 1.0);
#elif MASK_TYPE == 1
float whichMask = fract(gl_FragCoord.x * 0.5);
vec3 mask;
if (whichMask < 0.5)
mask = vec3(MASK_BRIGHTNESS, 1.0, MASK_BRIGHTNESS);
else
mask = vec3(1.0, MASK_BRIGHTNESS, 1.0);
FragColor = vec4(colour * mask, 1.0);
#elif MASK_TYPE == 2
float whichMask = fract(gl_FragCoord.x * 0.3333333);
vec3 mask = vec3(MASK_BRIGHTNESS, MASK_BRIGHTNESS, MASK_BRIGHTNESS);
if (whichMask < 0.3333333)
mask.x = 1.0;
else if (whichMask < 0.6666666)
mask.y = 1.0;
else
mask.z = 1.0;
FragColor = vec4(colour * mask, 1.0);
#endif
}

View File

@@ -1,160 +0,0 @@
#version 300 es
// OpenGL ES 3.0 - Compatible con Raspberry Pi 5
precision highp float;
// Configuración
#define SCANLINES
#define MULTISAMPLE
#define GAMMA
//#define FAKE_GAMMA
//#define CURVATURE
//#define SHARPER
#define MASK_TYPE 2
#define CURVATURE_X 0.05
#define CURVATURE_Y 0.1
#define MASK_BRIGHTNESS 0.80
#define SCANLINE_WEIGHT 6.0
#define SCANLINE_GAP_BRIGHTNESS 0.12
#define BLOOM_FACTOR 3.5
#define INPUT_GAMMA 2.4
#define OUTPUT_GAMMA 2.2
// Inputs desde vertex shader
in vec2 vTexCoord;
in float vFilterWidth;
#if defined(CURVATURE)
in vec2 vScreenScale;
#endif
// Output
out vec4 FragColor;
// Uniforms
uniform sampler2D Texture;
uniform vec2 TextureSize;
#if defined(CURVATURE)
vec2 Distort(vec2 coord)
{
vec2 CURVATURE_DISTORTION = vec2(CURVATURE_X, CURVATURE_Y);
vec2 barrelScale = vec2(1.0) - (0.23 * CURVATURE_DISTORTION);
coord *= vScreenScale;
coord -= vec2(0.5);
float rsq = coord.x * coord.x + coord.y * coord.y;
coord += coord * (CURVATURE_DISTORTION * rsq);
coord *= barrelScale;
if (abs(coord.x) >= 0.5 || abs(coord.y) >= 0.5)
coord = vec2(-1.0);
else
{
coord += vec2(0.5);
coord /= vScreenScale;
}
return coord;
}
#endif
float CalcScanLineWeight(float dist)
{
return max(1.0 - dist * dist * SCANLINE_WEIGHT, SCANLINE_GAP_BRIGHTNESS);
}
float CalcScanLine(float dy)
{
float scanLineWeight = CalcScanLineWeight(dy);
#if defined(MULTISAMPLE)
scanLineWeight += CalcScanLineWeight(dy - vFilterWidth);
scanLineWeight += CalcScanLineWeight(dy + vFilterWidth);
scanLineWeight *= 0.3333333;
#endif
return scanLineWeight;
}
void main()
{
#if defined(CURVATURE)
vec2 texcoord = Distort(vTexCoord);
if (texcoord.x < 0.0) {
FragColor = vec4(0.0);
return;
}
#else
vec2 texcoord = vTexCoord;
#endif
vec2 texcoordInPixels = texcoord * TextureSize;
#if defined(SHARPER)
vec2 tempCoord = floor(texcoordInPixels) + vec2(0.5);
vec2 coord = tempCoord / TextureSize;
vec2 deltas = texcoordInPixels - tempCoord;
float scanLineWeight = CalcScanLine(deltas.y);
vec2 signs = sign(deltas);
deltas.x *= 2.0;
deltas = deltas * deltas;
deltas.y = deltas.y * deltas.y;
deltas.x *= 0.5;
deltas.y *= 8.0;
deltas /= TextureSize;
deltas *= signs;
vec2 tc = coord + deltas;
#else
float tempY = floor(texcoordInPixels.y) + 0.5;
float yCoord = tempY / TextureSize.y;
float dy = texcoordInPixels.y - tempY;
float scanLineWeight = CalcScanLine(dy);
float signY = sign(dy);
dy = dy * dy;
dy = dy * dy;
dy *= 8.0;
dy /= TextureSize.y;
dy *= signY;
vec2 tc = vec2(texcoord.x, yCoord + dy);
#endif
vec3 colour = texture(Texture, tc).rgb;
#if defined(SCANLINES)
#if defined(GAMMA)
#if defined(FAKE_GAMMA)
colour = colour * colour;
#else
colour = pow(colour, vec3(INPUT_GAMMA));
#endif
#endif
scanLineWeight *= BLOOM_FACTOR;
colour *= scanLineWeight;
#if defined(GAMMA)
#if defined(FAKE_GAMMA)
colour = sqrt(colour);
#else
colour = pow(colour, vec3(1.0 / OUTPUT_GAMMA));
#endif
#endif
#endif
#if MASK_TYPE == 0
FragColor = vec4(colour, 1.0);
#elif MASK_TYPE == 1
float whichMask = fract(gl_FragCoord.x * 0.5);
vec3 mask;
if (whichMask < 0.5)
mask = vec3(MASK_BRIGHTNESS, 1.0, MASK_BRIGHTNESS);
else
mask = vec3(1.0, MASK_BRIGHTNESS, 1.0);
FragColor = vec4(colour * mask, 1.0);
#elif MASK_TYPE == 2
float whichMask = fract(gl_FragCoord.x * 0.3333333);
vec3 mask = vec3(MASK_BRIGHTNESS, MASK_BRIGHTNESS, MASK_BRIGHTNESS);
if (whichMask < 0.3333333)
mask.x = 1.0;
else if (whichMask < 0.6666666)
mask.y = 1.0;
else
mask.z = 1.0;
FragColor = vec4(colour * mask, 1.0);
#endif
}

View File

@@ -1,48 +0,0 @@
#version 330 core
// Configuración
#define SCANLINES
#define MULTISAMPLE
#define GAMMA
//#define FAKE_GAMMA
//#define CURVATURE
//#define SHARPER
#define MASK_TYPE 2
#define CURVATURE_X 0.05
#define CURVATURE_Y 0.1
#define MASK_BRIGHTNESS 0.80
#define SCANLINE_WEIGHT 6.0
#define SCANLINE_GAP_BRIGHTNESS 0.12
#define BLOOM_FACTOR 3.5
#define INPUT_GAMMA 2.4
#define OUTPUT_GAMMA 2.2
// Inputs (desde VAO)
layout(location = 0) in vec2 aPosition;
layout(location = 1) in vec2 aTexCoord;
// Outputs al fragment shader
out vec2 vTexCoord;
out float vFilterWidth;
#if defined(CURVATURE)
out vec2 vScreenScale;
#endif
// Uniforms
uniform vec2 TextureSize;
void main()
{
#if defined(CURVATURE)
vScreenScale = vec2(1.0, 1.0);
#endif
// Calcula filterWidth dinámicamente basándose en la altura de la textura
vFilterWidth = (768.0 / TextureSize.y) / 3.0;
// Pasar coordenadas de textura (invertir Y para SDL)
vTexCoord = vec2(aTexCoord.x, 1.0 - aTexCoord.y) * 1.0001;
// Posición del vértice (ya en espacio de clip [-1, 1])
gl_Position = vec4(aPosition, 0.0, 1.0);
}

View File

@@ -1,51 +0,0 @@
#version 300 es
// OpenGL ES 3.0 - Compatible con Raspberry Pi 5
precision highp float;
// Configuración
#define SCANLINES
#define MULTISAMPLE
#define GAMMA
//#define FAKE_GAMMA
//#define CURVATURE
//#define SHARPER
#define MASK_TYPE 2
#define CURVATURE_X 0.05
#define CURVATURE_Y 0.1
#define MASK_BRIGHTNESS 0.80
#define SCANLINE_WEIGHT 6.0
#define SCANLINE_GAP_BRIGHTNESS 0.12
#define BLOOM_FACTOR 3.5
#define INPUT_GAMMA 2.4
#define OUTPUT_GAMMA 2.2
// Inputs (desde VAO)
layout(location = 0) in vec2 aPosition;
layout(location = 1) in vec2 aTexCoord;
// Outputs al fragment shader
out vec2 vTexCoord;
out float vFilterWidth;
#if defined(CURVATURE)
out vec2 vScreenScale;
#endif
// Uniforms
uniform vec2 TextureSize;
void main()
{
#if defined(CURVATURE)
vScreenScale = vec2(1.0, 1.0);
#endif
// Calcula filterWidth dinámicamente basándose en la altura de la textura
vFilterWidth = (768.0 / TextureSize.y) / 3.0;
// Pasar coordenadas de textura (invertir Y para SDL)
vTexCoord = vec2(aTexCoord.x, 1.0 - aTexCoord.y) * 1.0001;
// Posición del vértice (ya en espacio de clip [-1, 1])
gl_Position = vec4(aPosition, 0.0, 1.0);
}

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