Compare commits
248 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c25d4dc7e5 | |||
| 550a005ca6 | |||
| 8673736120 | |||
| 8f1aeadeee | |||
| 7e570e2814 | |||
| 1e73a3159f | |||
| cf19194e7a | |||
| 8a43e7cd65 | |||
| 370120345e | |||
| 134b679a75 | |||
| 788aec0dab | |||
| a08da3b983 | |||
| 62a61ecad4 | |||
| 2e6436cc4e | |||
| 7c50cc00fa | |||
| 8f5d56af7f | |||
| 424c243ffc | |||
| 78f858831f | |||
| d3e031e8b5 | |||
| 4792e4f91d | |||
| e1801a9255 | |||
| f0d9e39bb1 | |||
| eb94a17f26 | |||
| ea5c2c15d6 | |||
| ff7170934e | |||
| 1c1762f6b1 | |||
| ee8c075213 | |||
| 958e9f7f75 | |||
| 8fda06e232 | |||
| fb2ffd58ee | |||
| 3f183a5489 | |||
| b044fe1702 | |||
| 32f06ce754 | |||
| a59bfce0bf | |||
| 18c90a5f9c | |||
| b76e271fa7 | |||
| df987e33b2 | |||
| 00e25e1b51 | |||
| 5a03401424 | |||
| 3ac9157fbf | |||
| c1c88032de | |||
| bae3ce7028 | |||
| 744f5d5711 | |||
| 8fa40c802e | |||
| a6262bea4f | |||
| 8627c4c405 | |||
| e41aec37b0 | |||
| d7533c5504 | |||
| 45d02440f6 | |||
| 769e057a81 | |||
| 08f3e04600 | |||
| 3e7aeeedbf | |||
| 26f7cf2a37 | |||
| 58d3a75976 | |||
| 458be05547 | |||
| 6f1eee21b9 | |||
| 9513a6c57e | |||
| 337e6ed6cc | |||
| 2e5f52d836 | |||
| 3ece7f9ec5 | |||
| 9bb4696eb9 | |||
| b9b7aeb8f9 | |||
| 9f17ffdeb3 | |||
| 10e9abece9 | |||
| abe48d5995 | |||
| e7b1af237a | |||
| d58d990205 | |||
| 980f7c1e8e | |||
| 67b1c2cb4d | |||
| 69616fddb5 | |||
| 3fa7324569 | |||
| ec9572175f | |||
| 7dc8a88b8f | |||
| 8df2638905 | |||
| 3da900b102 | |||
| e11cabb9e2 | |||
| c4eaeefb13 | |||
| b8bb1b144f | |||
| 856415c8c4 | |||
| 64138c1017 | |||
| 50a2038ef9 | |||
| cbb5d54250 | |||
| ca99857b5b | |||
| dfed098ffb | |||
| d9b08cf13a | |||
| bbe82d329b | |||
| c87e1e68a9 | |||
| 7adb049b37 | |||
| 6aebb28f37 | |||
| cbdee55148 | |||
| 3cca4373d3 | |||
| 90785d2506 | |||
| fbeea9f424 | |||
| 5f263fa71d | |||
| a32582f1ec | |||
| 09a205a288 | |||
| cdb5040b9d | |||
| ded9b40922 | |||
| 1144fc3626 | |||
| ea994bcc2f | |||
| 74d5bbddaa | |||
| 8ec0914bb5 | |||
| 6d1bc066bd | |||
| 975078307f | |||
| 74d3066871 | |||
| 53c6da4a37 | |||
| 3e666689c5 | |||
| ef124cf309 | |||
| 09d2ef9891 | |||
| 8e609b2e3b | |||
| 09560a001c | |||
| 7b00dc0303 | |||
| 5380ea6bc5 | |||
| 1a20e85af4 | |||
| 94fdd77712 | |||
| 2d0b579425 | |||
| a0042b91cc | |||
| 3ac9c1afce | |||
| ce65a30699 | |||
| def2d16734 | |||
| 9708f4e7ff | |||
| 452ef4c91d | |||
| 860c35992b | |||
| b1c3e0d2af | |||
| 54cee20883 | |||
| 754671e695 | |||
| 7d62b3a339 | |||
| 845af2c93c | |||
| a2b04828f4 | |||
| 361b9250c8 | |||
| c5c1996865 | |||
| 26a696ff57 | |||
| 9321ab223a | |||
| 8c293a6b7f | |||
| a3599d2d3d | |||
| 7ab81eaf29 | |||
| 4f1a596e46 | |||
| b07baa4669 | |||
| cf357560b2 | |||
| 3d52c45f5c | |||
| 3276027044 | |||
| 8041595976 | |||
| fa53c1b01a | |||
| 20b362160e | |||
| 5cabbfc487 | |||
| 9f5e001c70 | |||
| 112c3afc76 | |||
| f4215384fe | |||
| 7796cee51a | |||
| f83154c062 | |||
| 9e73f7f97d | |||
| 742ca02573 | |||
| d77757853d | |||
| ca7ae7418e | |||
| f880bb7d74 | |||
| 9784b5517a | |||
| 88041eba23 | |||
| 698721ae03 | |||
| c7109a46cd | |||
| bb20522172 | |||
| bebc016f3c | |||
| 56c1a1d7f3 | |||
| 50d2a5d1c7 | |||
| 83103ddfea | |||
| f4f7bb52b3 | |||
| b861f33867 | |||
| 2576d62002 | |||
| 02312e1342 | |||
| 83a34d61bf | |||
| 8076d8a765 | |||
| 901757b9b2 | |||
| f5ba15a4af | |||
| 6eda55cdae | |||
| 18c36ad3fb | |||
| a5adf1ba01 | |||
| d5ab7cbe2a | |||
| adad58ccfa | |||
| 33b7c6082e | |||
| 5fd1ffa865 | |||
| 9f93de1d06 | |||
| c3fd348a61 | |||
| ddb70c8c85 | |||
| 95d6396dfa | |||
| 99b61c4b2d | |||
| 91b868572e | |||
| 9c35fadd55 | |||
| 80ca04fd64 | |||
| 4ac7496eff | |||
| b6225d2d2f | |||
| a148c38ef8 | |||
| 902d901698 | |||
| a1bdb6add3 | |||
| 0063a2ede5 | |||
| e46a346d20 | |||
| 15b73f1d2c | |||
| fd90a3c66c | |||
| 3d75fae393 | |||
| 6df5d484bc | |||
| e2298dc2b2 | |||
| c213124193 | |||
| 2209ed5f97 | |||
| 1552f6385c | |||
| 072a488de6 | |||
| 8b2459dc35 | |||
| 10882780e5 | |||
| 96ee1fdbe5 | |||
| 50e31a3db3 | |||
| 740e495ad0 | |||
| 2528969801 | |||
| 8d56912765 | |||
| c8bebfd2d9 | |||
| 35e7abcd3c | |||
| b092d3f86a | |||
| 837bcbd1da | |||
| 26bc47d9f6 | |||
| 9e089e9092 | |||
| 25616e1e6c | |||
| ed67e429d8 | |||
| 4ebd034b59 | |||
| 38f3e2e4d3 | |||
| 6493b73f4f | |||
| 6637ba9f10 | |||
| a74c8d5122 | |||
| 4df0db088f | |||
| 27cb772933 | |||
| 778b07cce1 | |||
| 1fa5c75466 | |||
| 0b00acf31b | |||
| 2979a6752c | |||
| f6494e69c8 | |||
| 5167a5857d | |||
| 28fe1130cf | |||
| e92b7eab4e | |||
| 14f7a79927 | |||
| 4f6a6a4918 | |||
| f5b35cee6b | |||
| 454791fe96 | |||
| 3f165be114 | |||
| 778672a6f5 | |||
| 8c919abc9d | |||
| 7e37da3999 | |||
| 842d5dd56b | |||
| ea3f16b8ac | |||
| 3fe0861e4f | |||
| b28d798545 | |||
| bdf092d46e | |||
| 09421a093d | |||
| a7d7cdd047 |
22
.clang-format
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
BasedOnStyle: Google
|
||||||
|
IndentWidth: 4
|
||||||
|
NamespaceIndentation: All
|
||||||
|
IndentAccessModifiers: false
|
||||||
|
ColumnLimit: 0 # Sin limite de longitud de linea
|
||||||
|
BreakBeforeBraces: Attach # Llaves en la misma linea
|
||||||
|
AllowShortIfStatementsOnASingleLine: true
|
||||||
|
AllowShortBlocksOnASingleLine: true
|
||||||
|
AllowShortFunctionsOnASingleLine: All
|
||||||
|
AlignOperands: DontAlign
|
||||||
|
AlignAfterOpenBracket: DontAlign
|
||||||
|
BinPackArguments: false
|
||||||
|
BinPackParameters: false
|
||||||
|
ContinuationIndentWidth: 4
|
||||||
|
ConstructorInitializerIndentWidth: 4
|
||||||
|
IndentWrappedFunctionNames: false
|
||||||
|
Cpp11BracedListStyle: true
|
||||||
|
BreakConstructorInitializers: BeforeColon
|
||||||
|
AllowAllConstructorInitializersOnNextLine: false
|
||||||
|
PackConstructorInitializers: Never
|
||||||
|
AllowAllArgumentsOnNextLine: false
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: false
|
||||||
84
.clang-tidy
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
Checks:
|
||||||
|
- readability-*
|
||||||
|
- modernize-*
|
||||||
|
- performance-*
|
||||||
|
- bugprone-unchecked-optional-access
|
||||||
|
- bugprone-sizeof-expression
|
||||||
|
- bugprone-suspicious-missing-comma
|
||||||
|
- bugprone-suspicious-index
|
||||||
|
- bugprone-undefined-memory-manipulation
|
||||||
|
- bugprone-use-after-move
|
||||||
|
- bugprone-out-of-bound-access
|
||||||
|
- -readability-identifier-length
|
||||||
|
- -readability-magic-numbers
|
||||||
|
- -bugprone-narrowing-conversions
|
||||||
|
- -performance-enum-size
|
||||||
|
- -performance-inefficient-string-concatenation
|
||||||
|
- -bugprone-integer-division
|
||||||
|
- -bugprone-easily-swappable-parameters
|
||||||
|
- -modernize-avoid-c-arrays,-warnings-as-errors
|
||||||
|
|
||||||
|
WarningsAsErrors: '*'
|
||||||
|
# Excluye jail_audio.hpp, stb_image.h y stb_vorbis.c del analisis
|
||||||
|
HeaderFilterRegex: 'source/(?!jail_audio\.hpp|stb_image\.h|stb_vorbis\.c).*'
|
||||||
|
FormatStyle: file
|
||||||
|
|
||||||
|
CheckOptions:
|
||||||
|
# Variables locales en snake_case
|
||||||
|
- { key: readability-identifier-naming.VariableCase, value: lower_case }
|
||||||
|
|
||||||
|
# Miembros privados en snake_case con sufijo _
|
||||||
|
- { key: readability-identifier-naming.PrivateMemberCase, value: lower_case }
|
||||||
|
- { key: readability-identifier-naming.PrivateMemberSuffix, value: _ }
|
||||||
|
|
||||||
|
# Miembros protegidos en snake_case con sufijo _
|
||||||
|
- { key: readability-identifier-naming.ProtectedMemberCase, value: lower_case }
|
||||||
|
- { key: readability-identifier-naming.ProtectedMemberSuffix, value: _ }
|
||||||
|
|
||||||
|
# Miembros publicos en snake_case (sin sufijo)
|
||||||
|
- { key: readability-identifier-naming.PublicMemberCase, value: lower_case }
|
||||||
|
|
||||||
|
# Namespaces en CamelCase
|
||||||
|
- { key: readability-identifier-naming.NamespaceCase, value: CamelCase }
|
||||||
|
|
||||||
|
# Variables estaticas privadas como miembros privados
|
||||||
|
- { key: readability-identifier-naming.StaticVariableCase, value: lower_case }
|
||||||
|
- { key: readability-identifier-naming.StaticVariableSuffix, value: _ }
|
||||||
|
|
||||||
|
# Constantes estaticas sin sufijo
|
||||||
|
- { key: readability-identifier-naming.StaticConstantCase, value: UPPER_CASE }
|
||||||
|
|
||||||
|
# Constantes globales en UPPER_CASE
|
||||||
|
- { key: readability-identifier-naming.GlobalConstantCase, value: UPPER_CASE }
|
||||||
|
|
||||||
|
# Variables constexpr globales en UPPER_CASE
|
||||||
|
- { key: readability-identifier-naming.ConstexprVariableCase, value: UPPER_CASE }
|
||||||
|
|
||||||
|
# Constantes locales en UPPER_CASE
|
||||||
|
- { key: readability-identifier-naming.LocalConstantCase, value: UPPER_CASE }
|
||||||
|
|
||||||
|
# Constexpr miembros en UPPER_CASE (sin sufijo)
|
||||||
|
- { key: readability-identifier-naming.ConstexprMemberCase, value: UPPER_CASE }
|
||||||
|
|
||||||
|
# Constexpr miembros privados/protegidos con sufijo _
|
||||||
|
- { key: readability-identifier-naming.ConstexprMethodCase, value: UPPER_CASE }
|
||||||
|
|
||||||
|
# Clases, structs y enums en CamelCase
|
||||||
|
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
|
||||||
|
- { key: readability-identifier-naming.StructCase, value: CamelCase }
|
||||||
|
- { key: readability-identifier-naming.EnumCase, value: CamelCase }
|
||||||
|
|
||||||
|
# Valores de enums en UPPER_CASE
|
||||||
|
- { key: readability-identifier-naming.EnumConstantCase, value: UPPER_CASE }
|
||||||
|
|
||||||
|
# Metodos en camelBack (sin sufijos)
|
||||||
|
- { key: readability-identifier-naming.MethodCase, value: camelBack }
|
||||||
|
- { key: readability-identifier-naming.PrivateMethodCase, value: camelBack }
|
||||||
|
- { key: readability-identifier-naming.ProtectedMethodCase, value: camelBack }
|
||||||
|
- { key: readability-identifier-naming.PublicMethodCase, value: camelBack }
|
||||||
|
|
||||||
|
# Funciones en camelBack
|
||||||
|
- { key: readability-identifier-naming.FunctionCase, value: camelBack }
|
||||||
|
|
||||||
|
# Parametros en lower_case
|
||||||
|
- { key: readability-identifier-naming.ParameterCase, value: lower_case }
|
||||||
26
.gitignore
vendored
@@ -1,12 +1,16 @@
|
|||||||
.vscode
|
.vscode
|
||||||
bin
|
build/
|
||||||
data/config.bin
|
dist/
|
||||||
data/score.bin
|
data/config/config.txt
|
||||||
dll
|
*.DS_Store
|
||||||
docs
|
thumbs.db
|
||||||
icon
|
*.exe
|
||||||
releases
|
*.dmg
|
||||||
resources
|
*.tar.gz
|
||||||
scripts
|
*.zip
|
||||||
*.opk
|
*.app
|
||||||
*.DS_Store
|
*config.bin
|
||||||
|
*score.bin
|
||||||
|
coffee_crisis
|
||||||
|
coffee_crisis_debug
|
||||||
|
release/windows/coffee.res
|
||||||
|
|||||||
80
CLAUDE.md
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# CLAUDE.md
|
||||||
|
|
||||||
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||||
|
|
||||||
|
## Project Overview
|
||||||
|
|
||||||
|
Coffee Crisis is a C++20 arcade game built with SDL2. The player controls a character defending the UPV (university) from bouncing coffee-ball enemies across 10 stages. Supports 1-2 players, keyboard and gamepad input, and multiple languages (Spanish, Basque, English).
|
||||||
|
|
||||||
|
## Build Commands
|
||||||
|
|
||||||
|
Dependencies: `libsdl2-dev` and `g++` (Linux) or `clang++` (macOS).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Linux
|
||||||
|
make linux # Release build → ./coffee_crisis
|
||||||
|
make linux_debug # Debug build (defines DEBUG and PAUSE) → ./coffee_crisis_debug
|
||||||
|
|
||||||
|
# macOS
|
||||||
|
make macos # Release build with clang++
|
||||||
|
make macos_debug # Debug build
|
||||||
|
|
||||||
|
# Windows (MinGW)
|
||||||
|
make windows # Release build → coffee_crisis.exe
|
||||||
|
make windows_debug # Debug build
|
||||||
|
|
||||||
|
# Release packaging
|
||||||
|
make linux_release # Builds and creates .tar.gz
|
||||||
|
make macos_release # Builds Intel + Apple Silicon .dmg files
|
||||||
|
make windows_release # Builds and creates .zip
|
||||||
|
```
|
||||||
|
|
||||||
|
There is also a CMakeLists.txt available as an alternative build system.
|
||||||
|
|
||||||
|
There are no tests or linter configured.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
All source code is in `source/`. The game uses a section-based architecture controlled by the **Director** class:
|
||||||
|
|
||||||
|
- **Director** (`director.h/cpp`): Top-level controller. Initializes SDL, manages the window/renderer, and runs sections in sequence: Logo → Intro → Title → Game → Quit. Owns all shared objects (Screen, Input, Lang, Asset).
|
||||||
|
- **Game** (`game.h/cpp`): Core gameplay logic. Manages players, balloons (enemies), bullets, items, stages, menace level, and collision detection. Contains its own update/render loop plus sub-loops for pause and game over screens.
|
||||||
|
- **Screen** (`screen.h/cpp`): Rendering abstraction. Manages a virtual canvas (256×192) that gets scaled to the actual window. Handles fullscreen/windowed modes, border rendering, and fade effects.
|
||||||
|
- **Input** (`input.h/cpp`): Abstracts keyboard and gamepad input.
|
||||||
|
- **Asset** (`asset.h/cpp`): Resource file index. Files are registered with `add()` and retrieved by name with `get()`. All paths are relative to the executable.
|
||||||
|
- **Lang** (`lang.h/cpp`): i18n system loading text strings from files in `data/lang/`.
|
||||||
|
|
||||||
|
### Sprite hierarchy
|
||||||
|
|
||||||
|
- **Sprite** → base class for drawing from a PNG spritesheet
|
||||||
|
- **AnimatedSprite** → extends Sprite with frame-based animation (loaded from `.ani` files)
|
||||||
|
- **MovingSprite** → sprite with movement
|
||||||
|
- **SmartSprite** → sprite with autonomous behavior (score popups, thrown items)
|
||||||
|
|
||||||
|
### Game entities
|
||||||
|
|
||||||
|
- **Player** (`player.h/cpp`): Player character state and rendering
|
||||||
|
- **Balloon** (`balloon.h/cpp`): Enemy entities with multiple types and split-on-pop behavior
|
||||||
|
- **Bullet** (`bullet.h/cpp`): Projectiles fired by the player (left/center/right)
|
||||||
|
- **Item** (`item.h/cpp`): Collectible items (points, clock, coffee, power-ups)
|
||||||
|
|
||||||
|
### Audio
|
||||||
|
|
||||||
|
**jail_audio** (`jail_audio.h/cpp`): Custom audio library wrapping SDL2 audio. Uses stb_vorbis for OGG decoding. Provides `JA_*` functions for music and sound effects with channel-based mixing.
|
||||||
|
|
||||||
|
### Key constants
|
||||||
|
|
||||||
|
Defined in `const.h`: block size (8px), virtual canvas (256×192), play area bounds, section/subsection IDs, and color definitions.
|
||||||
|
|
||||||
|
## Data Directory
|
||||||
|
|
||||||
|
- `data/gfx/` — PNG spritesheets and `.ani` animation definition files
|
||||||
|
- `data/font/` — bitmap font files
|
||||||
|
- `data/music/` and `data/sound/` — audio assets
|
||||||
|
- `data/lang/` — language files (es_ES, ba_BA, en_UK)
|
||||||
|
- `data/config/` — gamecontroller DB, demo recording data
|
||||||
|
- `data/menu/` — menu definition files
|
||||||
|
|
||||||
|
## Language
|
||||||
|
|
||||||
|
Code comments and variable names are primarily in Spanish/Catalan-Valencian. README is in Catalan-Valencian.
|
||||||
141
CMakeLists.txt
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
# CMakeLists.txt
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
project(coffee_crisis VERSION 1.00)
|
||||||
|
|
||||||
|
# Configuración de compilador para MinGW en Windows
|
||||||
|
if(WIN32 AND NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
|
set(CMAKE_CXX_COMPILER "g++")
|
||||||
|
set(CMAKE_C_COMPILER "gcc")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Establecer estándar de C++
|
||||||
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
|
# Configuración global de flags de compilación
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os -ffunction-sections -fdata-sections")
|
||||||
|
|
||||||
|
# Define el directorio de los archivos fuente
|
||||||
|
set(DIR_SOURCES "${CMAKE_SOURCE_DIR}/source")
|
||||||
|
|
||||||
|
# Cargar todos los archivos fuente en DIR_SOURCES
|
||||||
|
file(GLOB SOURCES "${DIR_SOURCES}/*.cpp")
|
||||||
|
|
||||||
|
# Verificar si se encontraron archivos fuente
|
||||||
|
if(NOT SOURCES)
|
||||||
|
message(FATAL_ERROR "No se encontraron archivos fuente en ${DIR_SOURCES}.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Configuración de SDL3
|
||||||
|
find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3)
|
||||||
|
message(STATUS "SDL3 encontrado: ${SDL3_INCLUDE_DIRS}")
|
||||||
|
|
||||||
|
# Configuración común de salida de ejecutables en el directorio raíz
|
||||||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||||
|
|
||||||
|
# Añadir ejecutable principal
|
||||||
|
add_executable(${PROJECT_NAME} ${SOURCES})
|
||||||
|
|
||||||
|
# Añadir definiciones de compilación dependiendo del tipo de build
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
||||||
|
$<$<CONFIG:DEBUG>:DEBUG PAUSE>
|
||||||
|
$<$<CONFIG:RELEASE>:RELEASE_BUILD>
|
||||||
|
)
|
||||||
|
|
||||||
|
# Enlazar bibliotecas
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3)
|
||||||
|
|
||||||
|
# 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 gdi32 winmm imm32 ole32 version)
|
||||||
|
elseif(APPLE)
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE MACOS_BUILD)
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE -Wno-deprecated)
|
||||||
|
if(NOT CMAKE_OSX_ARCHITECTURES)
|
||||||
|
set(CMAKE_OSX_ARCHITECTURES "arm64")
|
||||||
|
endif()
|
||||||
|
if(MACOS_BUNDLE)
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE MACOS_BUNDLE)
|
||||||
|
target_link_options(${PROJECT_NAME} PRIVATE
|
||||||
|
-framework SDL3
|
||||||
|
-F ${CMAKE_SOURCE_DIR}/release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64
|
||||||
|
-rpath @executable_path/../Frameworks/
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
elseif(UNIX AND NOT APPLE)
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE LINUX_BUILD)
|
||||||
|
target_link_options(${PROJECT_NAME} PRIVATE -Wl,--gc-sections)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# STATIC ANALYSIS TARGETS
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
find_program(CLANG_TIDY_EXE NAMES clang-tidy)
|
||||||
|
find_program(CLANG_FORMAT_EXE NAMES clang-format)
|
||||||
|
|
||||||
|
# Recopilar todos los archivos fuente para analisis
|
||||||
|
file(GLOB_RECURSE ALL_SOURCE_FILES
|
||||||
|
"${CMAKE_SOURCE_DIR}/source/*.cpp"
|
||||||
|
"${CMAKE_SOURCE_DIR}/source/*.h"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Excluir stb_image.h y stb_vorbis.c del analisis
|
||||||
|
set(CLANG_TIDY_SOURCES ${ALL_SOURCE_FILES})
|
||||||
|
list(FILTER CLANG_TIDY_SOURCES EXCLUDE REGEX ".*stb_image\\.h$")
|
||||||
|
list(FILTER CLANG_TIDY_SOURCES EXCLUDE REGEX ".*stb_vorbis\\.c$")
|
||||||
|
list(FILTER CLANG_TIDY_SOURCES EXCLUDE REGEX ".*jail_audio\\.hpp$")
|
||||||
|
|
||||||
|
# Excluir stb y jail_audio del formateo tambien
|
||||||
|
set(FORMAT_SOURCES ${ALL_SOURCE_FILES})
|
||||||
|
list(FILTER FORMAT_SOURCES EXCLUDE REGEX ".*stb_image\\.h$")
|
||||||
|
list(FILTER FORMAT_SOURCES EXCLUDE REGEX ".*stb_vorbis\\.c$")
|
||||||
|
list(FILTER FORMAT_SOURCES EXCLUDE REGEX ".*jail_audio\\.hpp$")
|
||||||
|
|
||||||
|
# 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
|
||||||
|
${FORMAT_SOURCES}
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
COMMENT "Running clang-format..."
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(format-check
|
||||||
|
COMMAND ${CLANG_FORMAT_EXE}
|
||||||
|
--dry-run
|
||||||
|
--Werror
|
||||||
|
${FORMAT_SOURCES}
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
COMMENT "Checking clang-format..."
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
message(STATUS "clang-format no encontrado - targets 'format' y 'format-check' no disponibles")
|
||||||
|
endif()
|
||||||
626
LICENSE
@@ -1,625 +1 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
GNU General Public License v3.0 only
|
||||||
|
|
||||||
Version 3, 29 June 2007
|
|
||||||
|
|
||||||
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
|
||||||
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies of this license
|
|
||||||
document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The GNU General Public License is a free, copyleft license for software and
|
|
||||||
other kinds of works.
|
|
||||||
|
|
||||||
The licenses for most software and other practical works are designed to take
|
|
||||||
away your freedom to share and change the works. By contrast, the GNU General
|
|
||||||
Public License is intended to guarantee your freedom to share and change all
|
|
||||||
versions of a program--to make sure it remains free software for all its users.
|
|
||||||
We, the Free Software Foundation, use the GNU General Public License for most
|
|
||||||
of our software; it applies also to any other work released this way by its
|
|
||||||
authors. You can apply it to your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not price. Our
|
|
||||||
General Public Licenses are designed to make sure that you have the freedom
|
|
||||||
to distribute copies of free software (and charge for them if you wish), that
|
|
||||||
you receive source code or can get it if you want it, that you can change
|
|
||||||
the software or use pieces of it in new free programs, and that you know you
|
|
||||||
can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to prevent others from denying you these rights
|
|
||||||
or asking you to surrender the rights. Therefore, you have certain responsibilities
|
|
||||||
if you distribute copies of the software, or if you modify it: responsibilities
|
|
||||||
to respect the freedom of others.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether gratis or
|
|
||||||
for a fee, you must pass on to the recipients the same freedoms that you received.
|
|
||||||
You must make sure that they, too, receive or can get the source code. And
|
|
||||||
you must show them these terms so they know their rights.
|
|
||||||
|
|
||||||
Developers that use the GNU GPL protect your rights with two steps: (1) assert
|
|
||||||
copyright on the software, and (2) offer you this License giving you legal
|
|
||||||
permission to copy, distribute and/or modify it.
|
|
||||||
|
|
||||||
For the developers' and authors' protection, the GPL clearly explains that
|
|
||||||
there is no warranty for this free software. For both users' and authors'
|
|
||||||
sake, the GPL requires that modified versions be marked as changed, so that
|
|
||||||
their problems will not be attributed erroneously to authors of previous versions.
|
|
||||||
|
|
||||||
Some devices are designed to deny users access to install or run modified
|
|
||||||
versions of the software inside them, although the manufacturer can do so.
|
|
||||||
This is fundamentally incompatible with the aim of protecting users' freedom
|
|
||||||
to change the software. The systematic pattern of such abuse occurs in the
|
|
||||||
area of products for individuals to use, which is precisely where it is most
|
|
||||||
unacceptable. Therefore, we have designed this version of the GPL to prohibit
|
|
||||||
the practice for those products. If such problems arise substantially in other
|
|
||||||
domains, we stand ready to extend this provision to those domains in future
|
|
||||||
versions of the GPL, as needed to protect the freedom of users.
|
|
||||||
|
|
||||||
Finally, every program is threatened constantly by software patents. States
|
|
||||||
should not allow patents to restrict development and use of software on general-purpose
|
|
||||||
computers, but in those that do, we wish to avoid the special danger that
|
|
||||||
patents applied to a free program could make it effectively proprietary. To
|
|
||||||
prevent this, the GPL assures that patents cannot be used to render the program
|
|
||||||
non-free.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and modification
|
|
||||||
follow.
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
0. Definitions.
|
|
||||||
|
|
||||||
"This License" refers to version 3 of the GNU General Public License.
|
|
||||||
|
|
||||||
"Copyright" also means copyright-like laws that apply to other kinds of works,
|
|
||||||
such as semiconductor masks.
|
|
||||||
|
|
||||||
"The Program" refers to any copyrightable work licensed under this License.
|
|
||||||
Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals
|
|
||||||
or organizations.
|
|
||||||
|
|
||||||
To "modify" a work means to copy from or adapt all or part of the work in
|
|
||||||
a fashion requiring copyright permission, other than the making of an exact
|
|
||||||
copy. The resulting work is called a "modified version" of the earlier work
|
|
||||||
or a work "based on" the earlier work.
|
|
||||||
|
|
||||||
A "covered work" means either the unmodified Program or a work based on the
|
|
||||||
Program.
|
|
||||||
|
|
||||||
To "propagate" a work means to do anything with it that, without permission,
|
|
||||||
would make you directly or secondarily liable for infringement under applicable
|
|
||||||
copyright law, except executing it on a computer or modifying a private copy.
|
|
||||||
Propagation includes copying, distribution (with or without modification),
|
|
||||||
making available to the public, and in some countries other activities as
|
|
||||||
well.
|
|
||||||
|
|
||||||
To "convey" a work means any kind of propagation that enables other parties
|
|
||||||
to make or receive copies. Mere interaction with a user through a computer
|
|
||||||
network, with no transfer of a copy, is not conveying.
|
|
||||||
|
|
||||||
An interactive user interface displays "Appropriate Legal Notices" to the
|
|
||||||
extent that it includes a convenient and prominently visible feature that
|
|
||||||
(1) displays an appropriate copyright notice, and (2) tells the user that
|
|
||||||
there is no warranty for the work (except to the extent that warranties are
|
|
||||||
provided), that licensees may convey the work under this License, and how
|
|
||||||
to view a copy of this License. If the interface presents a list of user commands
|
|
||||||
or options, such as a menu, a prominent item in the list meets this criterion.
|
|
||||||
|
|
||||||
1. Source Code.
|
|
||||||
|
|
||||||
The "source code" for a work means the preferred form of the work for making
|
|
||||||
modifications to it. "Object code" means any non-source form of a work.
|
|
||||||
|
|
||||||
A "Standard Interface" means an interface that either is an official standard
|
|
||||||
defined by a recognized standards body, or, in the case of interfaces specified
|
|
||||||
for a particular programming language, one that is widely used among developers
|
|
||||||
working in that language.
|
|
||||||
|
|
||||||
The "System Libraries" of an executable work include anything, other than
|
|
||||||
the work as a whole, that (a) is included in the normal form of packaging
|
|
||||||
a Major Component, but which is not part of that Major Component, and (b)
|
|
||||||
serves only to enable use of the work with that Major Component, or to implement
|
|
||||||
a Standard Interface for which an implementation is available to the public
|
|
||||||
in source code form. A "Major Component", in this context, means a major essential
|
|
||||||
component (kernel, window system, and so on) of the specific operating system
|
|
||||||
(if any) on which the executable work runs, or a compiler used to produce
|
|
||||||
the work, or an object code interpreter used to run it.
|
|
||||||
|
|
||||||
The "Corresponding Source" for a work in object code form means all the source
|
|
||||||
code needed to generate, install, and (for an executable work) run the object
|
|
||||||
code and to modify the work, including scripts to control those activities.
|
|
||||||
However, it does not include the work's System Libraries, or general-purpose
|
|
||||||
tools or generally available free programs which are used unmodified in performing
|
|
||||||
those activities but which are not part of the work. For example, Corresponding
|
|
||||||
Source includes interface definition files associated with source files for
|
|
||||||
the work, and the source code for shared libraries and dynamically linked
|
|
||||||
subprograms that the work is specifically designed to require, such as by
|
|
||||||
intimate data communication or control flow between those subprograms and
|
|
||||||
other parts of the work.
|
|
||||||
|
|
||||||
The Corresponding Source need not include anything that users can regenerate
|
|
||||||
automatically from other parts of the Corresponding Source.
|
|
||||||
|
|
||||||
The Corresponding Source for a work in source code form is that same work.
|
|
||||||
|
|
||||||
2. Basic Permissions.
|
|
||||||
|
|
||||||
All rights granted under this License are granted for the term of copyright
|
|
||||||
on the Program, and are irrevocable provided the stated conditions are met.
|
|
||||||
This License explicitly affirms your unlimited permission to run the unmodified
|
|
||||||
Program. The output from running a covered work is covered by this License
|
|
||||||
only if the output, given its content, constitutes a covered work. This License
|
|
||||||
acknowledges your rights of fair use or other equivalent, as provided by copyright
|
|
||||||
law.
|
|
||||||
|
|
||||||
You may make, run and propagate covered works that you do not convey, without
|
|
||||||
conditions so long as your license otherwise remains in force. You may convey
|
|
||||||
covered works to others for the sole purpose of having them make modifications
|
|
||||||
exclusively for you, or provide you with facilities for running those works,
|
|
||||||
provided that you comply with the terms of this License in conveying all material
|
|
||||||
for which you do not control copyright. Those thus making or running the covered
|
|
||||||
works for you must do so exclusively on your behalf, under your direction
|
|
||||||
and control, on terms that prohibit them from making any copies of your copyrighted
|
|
||||||
material outside their relationship with you.
|
|
||||||
|
|
||||||
Conveying under any other circumstances is permitted solely under the conditions
|
|
||||||
stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
|
|
||||||
|
|
||||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
|
||||||
|
|
||||||
No covered work shall be deemed part of an effective technological measure
|
|
||||||
under any applicable law fulfilling obligations under article 11 of the WIPO
|
|
||||||
copyright treaty adopted on 20 December 1996, or similar laws prohibiting
|
|
||||||
or restricting circumvention of such measures.
|
|
||||||
|
|
||||||
When you convey a covered work, you waive any legal power to forbid circumvention
|
|
||||||
of technological measures to the extent such circumvention is effected by
|
|
||||||
exercising rights under this License with respect to the covered work, and
|
|
||||||
you disclaim any intention to limit operation or modification of the work
|
|
||||||
as a means of enforcing, against the work's users, your or third parties'
|
|
||||||
legal rights to forbid circumvention of technological measures.
|
|
||||||
|
|
||||||
4. Conveying Verbatim Copies.
|
|
||||||
|
|
||||||
You may convey verbatim copies of the Program's source code as you receive
|
|
||||||
it, in any medium, provided that you conspicuously and appropriately publish
|
|
||||||
on each copy an appropriate copyright notice; keep intact all notices stating
|
|
||||||
that this License and any non-permissive terms added in accord with section
|
|
||||||
7 apply to the code; keep intact all notices of the absence of any warranty;
|
|
||||||
and give all recipients a copy of this License along with the Program.
|
|
||||||
|
|
||||||
You may charge any price or no price for each copy that you convey, and you
|
|
||||||
may offer support or warranty protection for a fee.
|
|
||||||
|
|
||||||
5. Conveying Modified Source Versions.
|
|
||||||
|
|
||||||
You may convey a work based on the Program, or the modifications to produce
|
|
||||||
it from the Program, in the form of source code under the terms of section
|
|
||||||
4, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) The work must carry prominent notices stating that you modified it, and
|
|
||||||
giving a relevant date.
|
|
||||||
|
|
||||||
b) The work must carry prominent notices stating that it is released under
|
|
||||||
this License and any conditions added under section 7. This requirement modifies
|
|
||||||
the requirement in section 4 to "keep intact all notices".
|
|
||||||
|
|
||||||
c) You must license the entire work, as a whole, under this License to anyone
|
|
||||||
who comes into possession of a copy. This License will therefore apply, along
|
|
||||||
with any applicable section 7 additional terms, to the whole of the work,
|
|
||||||
and all its parts, regardless of how they are packaged. This License gives
|
|
||||||
no permission to license the work in any other way, but it does not invalidate
|
|
||||||
such permission if you have separately received it.
|
|
||||||
|
|
||||||
d) If the work has interactive user interfaces, each must display Appropriate
|
|
||||||
Legal Notices; however, if the Program has interactive interfaces that do
|
|
||||||
not display Appropriate Legal Notices, your work need not make them do so.
|
|
||||||
|
|
||||||
A compilation of a covered work with other separate and independent works,
|
|
||||||
which are not by their nature extensions of the covered work, and which are
|
|
||||||
not combined with it such as to form a larger program, in or on a volume of
|
|
||||||
a storage or distribution medium, is called an "aggregate" if the compilation
|
|
||||||
and its resulting copyright are not used to limit the access or legal rights
|
|
||||||
of the compilation's users beyond what the individual works permit. Inclusion
|
|
||||||
of a covered work in an aggregate does not cause this License to apply to
|
|
||||||
the other parts of the aggregate.
|
|
||||||
|
|
||||||
6. Conveying Non-Source Forms.
|
|
||||||
|
|
||||||
You may convey a covered work in object code form under the terms of sections
|
|
||||||
4 and 5, provided that you also convey the machine-readable Corresponding
|
|
||||||
Source under the terms of this License, in one of these ways:
|
|
||||||
|
|
||||||
a) Convey the object code in, or embodied in, a physical product (including
|
|
||||||
a physical distribution medium), accompanied by the Corresponding Source fixed
|
|
||||||
on a durable physical medium customarily used for software interchange.
|
|
||||||
|
|
||||||
b) Convey the object code in, or embodied in, a physical product (including
|
|
||||||
a physical distribution medium), accompanied by a written offer, valid for
|
|
||||||
at least three years and valid for as long as you offer spare parts or customer
|
|
||||||
support for that product model, to give anyone who possesses the object code
|
|
||||||
either (1) a copy of the Corresponding Source for all the software in the
|
|
||||||
product that is covered by this License, on a durable physical medium customarily
|
|
||||||
used for software interchange, for a price no more than your reasonable cost
|
|
||||||
of physically performing this conveying of source, or (2) access to copy the
|
|
||||||
Corresponding Source from a network server at no charge.
|
|
||||||
|
|
||||||
c) Convey individual copies of the object code with a copy of the written
|
|
||||||
offer to provide the Corresponding Source. This alternative is allowed only
|
|
||||||
occasionally and noncommercially, and only if you received the object code
|
|
||||||
with such an offer, in accord with subsection 6b.
|
|
||||||
|
|
||||||
d) Convey the object code by offering access from a designated place (gratis
|
|
||||||
or for a charge), and offer equivalent access to the Corresponding Source
|
|
||||||
in the same way through the same place at no further charge. You need not
|
|
||||||
require recipients to copy the Corresponding Source along with the object
|
|
||||||
code. If the place to copy the object code is a network server, the Corresponding
|
|
||||||
Source may be on a different server (operated by you or a third party) that
|
|
||||||
supports equivalent copying facilities, provided you maintain clear directions
|
|
||||||
next to the object code saying where to find the Corresponding Source. Regardless
|
|
||||||
of what server hosts the Corresponding Source, you remain obligated to ensure
|
|
||||||
that it is available for as long as needed to satisfy these requirements.
|
|
||||||
|
|
||||||
e) Convey the object code using peer-to-peer transmission, provided you inform
|
|
||||||
other peers where the object code and Corresponding Source of the work are
|
|
||||||
being offered to the general public at no charge under subsection 6d.
|
|
||||||
|
|
||||||
A separable portion of the object code, whose source code is excluded from
|
|
||||||
the Corresponding Source as a System Library, need not be included in conveying
|
|
||||||
the object code work.
|
|
||||||
|
|
||||||
A "User Product" is either (1) a "consumer product", which means any tangible
|
|
||||||
personal property which is normally used for personal, family, or household
|
|
||||||
purposes, or (2) anything designed or sold for incorporation into a dwelling.
|
|
||||||
In determining whether a product is a consumer product, doubtful cases shall
|
|
||||||
be resolved in favor of coverage. For a particular product received by a particular
|
|
||||||
user, "normally used" refers to a typical or common use of that class of product,
|
|
||||||
regardless of the status of the particular user or of the way in which the
|
|
||||||
particular user actually uses, or expects or is expected to use, the product.
|
|
||||||
A product is a consumer product regardless of whether the product has substantial
|
|
||||||
commercial, industrial or non-consumer uses, unless such uses represent the
|
|
||||||
only significant mode of use of the product.
|
|
||||||
|
|
||||||
"Installation Information" for a User Product means any methods, procedures,
|
|
||||||
authorization keys, or other information required to install and execute modified
|
|
||||||
versions of a covered work in that User Product from a modified version of
|
|
||||||
its Corresponding Source. The information must suffice to ensure that the
|
|
||||||
continued functioning of the modified object code is in no case prevented
|
|
||||||
or interfered with solely because modification has been made.
|
|
||||||
|
|
||||||
If you convey an object code work under this section in, or with, or specifically
|
|
||||||
for use in, a User Product, and the conveying occurs as part of a transaction
|
|
||||||
in which the right of possession and use of the User Product is transferred
|
|
||||||
to the recipient in perpetuity or for a fixed term (regardless of how the
|
|
||||||
transaction is characterized), the Corresponding Source conveyed under this
|
|
||||||
section must be accompanied by the Installation Information. But this requirement
|
|
||||||
does not apply if neither you nor any third party retains the ability to install
|
|
||||||
modified object code on the User Product (for example, the work has been installed
|
|
||||||
in ROM).
|
|
||||||
|
|
||||||
The requirement to provide Installation Information does not include a requirement
|
|
||||||
to continue to provide support service, warranty, or updates for a work that
|
|
||||||
has been modified or installed by the recipient, or for the User Product in
|
|
||||||
which it has been modified or installed. Access to a network may be denied
|
|
||||||
when the modification itself materially and adversely affects the operation
|
|
||||||
of the network or violates the rules and protocols for communication across
|
|
||||||
the network.
|
|
||||||
|
|
||||||
Corresponding Source conveyed, and Installation Information provided, in accord
|
|
||||||
with this section must be in a format that is publicly documented (and with
|
|
||||||
an implementation available to the public in source code form), and must require
|
|
||||||
no special password or key for unpacking, reading or copying.
|
|
||||||
|
|
||||||
7. Additional Terms.
|
|
||||||
|
|
||||||
"Additional permissions" are terms that supplement the terms of this License
|
|
||||||
by making exceptions from one or more of its conditions. Additional permissions
|
|
||||||
that are applicable to the entire Program shall be treated as though they
|
|
||||||
were included in this License, to the extent that they are valid under applicable
|
|
||||||
law. If additional permissions apply only to part of the Program, that part
|
|
||||||
may be used separately under those permissions, but the entire Program remains
|
|
||||||
governed by this License without regard to the additional permissions.
|
|
||||||
|
|
||||||
When you convey a copy of a covered work, you may at your option remove any
|
|
||||||
additional permissions from that copy, or from any part of it. (Additional
|
|
||||||
permissions may be written to require their own removal in certain cases when
|
|
||||||
you modify the work.) You may place additional permissions on material, added
|
|
||||||
by you to a covered work, for which you have or can give appropriate copyright
|
|
||||||
permission.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, for material you add
|
|
||||||
to a covered work, you may (if authorized by the copyright holders of that
|
|
||||||
material) supplement the terms of this License with terms:
|
|
||||||
|
|
||||||
a) Disclaiming warranty or limiting liability differently from the terms of
|
|
||||||
sections 15 and 16 of this License; or
|
|
||||||
|
|
||||||
b) Requiring preservation of specified reasonable legal notices or author
|
|
||||||
attributions in that material or in the Appropriate Legal Notices displayed
|
|
||||||
by works containing it; or
|
|
||||||
|
|
||||||
c) Prohibiting misrepresentation of the origin of that material, or requiring
|
|
||||||
that modified versions of such material be marked in reasonable ways as different
|
|
||||||
from the original version; or
|
|
||||||
|
|
||||||
d) Limiting the use for publicity purposes of names of licensors or authors
|
|
||||||
of the material; or
|
|
||||||
|
|
||||||
e) Declining to grant rights under trademark law for use of some trade names,
|
|
||||||
trademarks, or service marks; or
|
|
||||||
|
|
||||||
f) Requiring indemnification of licensors and authors of that material by
|
|
||||||
anyone who conveys the material (or modified versions of it) with contractual
|
|
||||||
assumptions of liability to the recipient, for any liability that these contractual
|
|
||||||
assumptions directly impose on those licensors and authors.
|
|
||||||
|
|
||||||
All other non-permissive additional terms are considered "further restrictions"
|
|
||||||
within the meaning of section 10. If the Program as you received it, or any
|
|
||||||
part of it, contains a notice stating that it is governed by this License
|
|
||||||
along with a term that is a further restriction, you may remove that term.
|
|
||||||
If a license document contains a further restriction but permits relicensing
|
|
||||||
or conveying under this License, you may add to a covered work material governed
|
|
||||||
by the terms of that license document, provided that the further restriction
|
|
||||||
does not survive such relicensing or conveying.
|
|
||||||
|
|
||||||
If you add terms to a covered work in accord with this section, you must place,
|
|
||||||
in the relevant source files, a statement of the additional terms that apply
|
|
||||||
to those files, or a notice indicating where to find the applicable terms.
|
|
||||||
|
|
||||||
Additional terms, permissive or non-permissive, may be stated in the form
|
|
||||||
of a separately written license, or stated as exceptions; the above requirements
|
|
||||||
apply either way.
|
|
||||||
|
|
||||||
8. Termination.
|
|
||||||
|
|
||||||
You may not propagate or modify a covered work except as expressly provided
|
|
||||||
under this License. Any attempt otherwise to propagate or modify it is void,
|
|
||||||
and will automatically terminate your rights under this License (including
|
|
||||||
any patent licenses granted under the third paragraph of section 11).
|
|
||||||
|
|
||||||
However, if you cease all violation of this License, then your license from
|
|
||||||
a particular copyright holder is reinstated (a) provisionally, unless and
|
|
||||||
until the copyright holder explicitly and finally terminates your license,
|
|
||||||
and (b) permanently, if the copyright holder fails to notify you of the violation
|
|
||||||
by some reasonable means prior to 60 days after the cessation.
|
|
||||||
|
|
||||||
Moreover, your license from a particular copyright holder is reinstated permanently
|
|
||||||
if the copyright holder notifies you of the violation by some reasonable means,
|
|
||||||
this is the first time you have received notice of violation of this License
|
|
||||||
(for any work) from that copyright holder, and you cure the violation prior
|
|
||||||
to 30 days after your receipt of the notice.
|
|
||||||
|
|
||||||
Termination of your rights under this section does not terminate the licenses
|
|
||||||
of parties who have received copies or rights from you under this License.
|
|
||||||
If your rights have been terminated and not permanently reinstated, you do
|
|
||||||
not qualify to receive new licenses for the same material under section 10.
|
|
||||||
|
|
||||||
9. Acceptance Not Required for Having Copies.
|
|
||||||
|
|
||||||
You are not required to accept this License in order to receive or run a copy
|
|
||||||
of the Program. Ancillary propagation of a covered work occurring solely as
|
|
||||||
a consequence of using peer-to-peer transmission to receive a copy likewise
|
|
||||||
does not require acceptance. However, nothing other than this License grants
|
|
||||||
you permission to propagate or modify any covered work. These actions infringe
|
|
||||||
copyright if you do not accept this License. Therefore, by modifying or propagating
|
|
||||||
a covered work, you indicate your acceptance of this License to do so.
|
|
||||||
|
|
||||||
10. Automatic Licensing of Downstream Recipients.
|
|
||||||
|
|
||||||
Each time you convey a covered work, the recipient automatically receives
|
|
||||||
a license from the original licensors, to run, modify and propagate that work,
|
|
||||||
subject to this License. You are not responsible for enforcing compliance
|
|
||||||
by third parties with this License.
|
|
||||||
|
|
||||||
An "entity transaction" is a transaction transferring control of an organization,
|
|
||||||
or substantially all assets of one, or subdividing an organization, or merging
|
|
||||||
organizations. If propagation of a covered work results from an entity transaction,
|
|
||||||
each party to that transaction who receives a copy of the work also receives
|
|
||||||
whatever licenses to the work the party's predecessor in interest had or could
|
|
||||||
give under the previous paragraph, plus a right to possession of the Corresponding
|
|
||||||
Source of the work from the predecessor in interest, if the predecessor has
|
|
||||||
it or can get it with reasonable efforts.
|
|
||||||
|
|
||||||
You may not impose any further restrictions on the exercise of the rights
|
|
||||||
granted or affirmed under this License. For example, you may not impose a
|
|
||||||
license fee, royalty, or other charge for exercise of rights granted under
|
|
||||||
this License, and you may not initiate litigation (including a cross-claim
|
|
||||||
or counterclaim in a lawsuit) alleging that any patent claim is infringed
|
|
||||||
by making, using, selling, offering for sale, or importing the Program or
|
|
||||||
any portion of it.
|
|
||||||
|
|
||||||
11. Patents.
|
|
||||||
|
|
||||||
A "contributor" is a copyright holder who authorizes use under this License
|
|
||||||
of the Program or a work on which the Program is based. The work thus licensed
|
|
||||||
is called the contributor's "contributor version".
|
|
||||||
|
|
||||||
A contributor's "essential patent claims" are all patent claims owned or controlled
|
|
||||||
by the contributor, whether already acquired or hereafter acquired, that would
|
|
||||||
be infringed by some manner, permitted by this License, of making, using,
|
|
||||||
or selling its contributor version, but do not include claims that would be
|
|
||||||
infringed only as a consequence of further modification of the contributor
|
|
||||||
version. For purposes of this definition, "control" includes the right to
|
|
||||||
grant patent sublicenses in a manner consistent with the requirements of this
|
|
||||||
License.
|
|
||||||
|
|
||||||
Each contributor grants you a non-exclusive, worldwide, royalty-free patent
|
|
||||||
license under the contributor's essential patent claims, to make, use, sell,
|
|
||||||
offer for sale, import and otherwise run, modify and propagate the contents
|
|
||||||
of its contributor version.
|
|
||||||
|
|
||||||
In the following three paragraphs, a "patent license" is any express agreement
|
|
||||||
or commitment, however denominated, not to enforce a patent (such as an express
|
|
||||||
permission to practice a patent or covenant not to sue for patent infringement).
|
|
||||||
To "grant" such a patent license to a party means to make such an agreement
|
|
||||||
or commitment not to enforce a patent against the party.
|
|
||||||
|
|
||||||
If you convey a covered work, knowingly relying on a patent license, and the
|
|
||||||
Corresponding Source of the work is not available for anyone to copy, free
|
|
||||||
of charge and under the terms of this License, through a publicly available
|
|
||||||
network server or other readily accessible means, then you must either (1)
|
|
||||||
cause the Corresponding Source to be so available, or (2) arrange to deprive
|
|
||||||
yourself of the benefit of the patent license for this particular work, or
|
|
||||||
(3) arrange, in a manner consistent with the requirements of this License,
|
|
||||||
to extend the patent license to downstream recipients. "Knowingly relying"
|
|
||||||
means you have actual knowledge that, but for the patent license, your conveying
|
|
||||||
the covered work in a country, or your recipient's use of the covered work
|
|
||||||
in a country, would infringe one or more identifiable patents in that country
|
|
||||||
that you have reason to believe are valid.
|
|
||||||
|
|
||||||
If, pursuant to or in connection with a single transaction or arrangement,
|
|
||||||
you convey, or propagate by procuring conveyance of, a covered work, and grant
|
|
||||||
a patent license to some of the parties receiving the covered work authorizing
|
|
||||||
them to use, propagate, modify or convey a specific copy of the covered work,
|
|
||||||
then the patent license you grant is automatically extended to all recipients
|
|
||||||
of the covered work and works based on it.
|
|
||||||
|
|
||||||
A patent license is "discriminatory" if it does not include within the scope
|
|
||||||
of its coverage, prohibits the exercise of, or is conditioned on the non-exercise
|
|
||||||
of one or more of the rights that are specifically granted under this License.
|
|
||||||
You may not convey a covered work if you are a party to an arrangement with
|
|
||||||
a third party that is in the business of distributing software, under which
|
|
||||||
you make payment to the third party based on the extent of your activity of
|
|
||||||
conveying the work, and under which the third party grants, to any of the
|
|
||||||
parties who would receive the covered work from you, a discriminatory patent
|
|
||||||
license (a) in connection with copies of the covered work conveyed by you
|
|
||||||
(or copies made from those copies), or (b) primarily for and in connection
|
|
||||||
with specific products or compilations that contain the covered work, unless
|
|
||||||
you entered into that arrangement, or that patent license was granted, prior
|
|
||||||
to 28 March 2007.
|
|
||||||
|
|
||||||
Nothing in this License shall be construed as excluding or limiting any implied
|
|
||||||
license or other defenses to infringement that may otherwise be available
|
|
||||||
to you under applicable patent law.
|
|
||||||
|
|
||||||
12. No Surrender of Others' Freedom.
|
|
||||||
|
|
||||||
If conditions are imposed on you (whether by court order, agreement or otherwise)
|
|
||||||
that contradict the conditions of this License, they do not excuse you from
|
|
||||||
the conditions of this License. If you cannot convey a covered work so as
|
|
||||||
to satisfy simultaneously your obligations under this License and any other
|
|
||||||
pertinent obligations, then as a consequence you may not convey it at all.
|
|
||||||
For example, if you agree to terms that obligate you to collect a royalty
|
|
||||||
for further conveying from those to whom you convey the Program, the only
|
|
||||||
way you could satisfy both those terms and this License would be to refrain
|
|
||||||
entirely from conveying the Program.
|
|
||||||
|
|
||||||
13. Use with the GNU Affero General Public License.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, you have permission to
|
|
||||||
link or combine any covered work with a work licensed under version 3 of the
|
|
||||||
GNU Affero General Public License into a single combined work, and to convey
|
|
||||||
the resulting work. The terms of this License will continue to apply to the
|
|
||||||
part which is the covered work, but the special requirements of the GNU Affero
|
|
||||||
General Public License, section 13, concerning interaction through a network
|
|
||||||
will apply to the combination as such.
|
|
||||||
|
|
||||||
14. Revised Versions of this License.
|
|
||||||
|
|
||||||
The Free Software Foundation may publish revised and/or new versions of the
|
|
||||||
GNU General Public License from time to time. Such new versions will be similar
|
|
||||||
in spirit to the present version, but may differ in detail to address new
|
|
||||||
problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program specifies
|
|
||||||
that a certain numbered version of the GNU General Public License "or any
|
|
||||||
later version" applies to it, you have the option of following the terms and
|
|
||||||
conditions either of that numbered version or of any later version published
|
|
||||||
by the Free Software Foundation. If the Program does not specify a version
|
|
||||||
number of the GNU General Public License, you may choose any version ever
|
|
||||||
published by the Free Software Foundation.
|
|
||||||
|
|
||||||
If the Program specifies that a proxy can decide which future versions of
|
|
||||||
the GNU General Public License can be used, that proxy's public statement
|
|
||||||
of acceptance of a version permanently authorizes you to choose that version
|
|
||||||
for the Program.
|
|
||||||
|
|
||||||
Later license versions may give you additional or different permissions. However,
|
|
||||||
no additional obligations are imposed on any author or copyright holder as
|
|
||||||
a result of your choosing to follow a later version.
|
|
||||||
|
|
||||||
15. Disclaimer of Warranty.
|
|
||||||
|
|
||||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
|
|
||||||
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
|
||||||
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
|
|
||||||
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
||||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
|
|
||||||
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
|
|
||||||
CORRECTION.
|
|
||||||
|
|
||||||
16. Limitation of Liability.
|
|
||||||
|
|
||||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
|
||||||
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM
|
|
||||||
AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
|
|
||||||
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
|
|
||||||
USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
|
|
||||||
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
|
||||||
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
|
|
||||||
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
17. Interpretation of Sections 15 and 16.
|
|
||||||
|
|
||||||
If the disclaimer of warranty and limitation of liability provided above cannot
|
|
||||||
be given local legal effect according to their terms, reviewing courts shall
|
|
||||||
apply local law that most closely approximates an absolute waiver of all civil
|
|
||||||
liability in connection with the Program, unless a warranty or assumption
|
|
||||||
of liability accompanies a copy of the Program in return for a fee. END OF
|
|
||||||
TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest possible
|
|
||||||
use to the public, the best way to achieve this is to make it free software
|
|
||||||
which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest to attach
|
|
||||||
them to the start of each source file to most effectively state the exclusion
|
|
||||||
of warranty; and each file should have at least the "copyright" line and a
|
|
||||||
pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it under
|
|
||||||
the terms of the GNU General Public License as published by the Free Software
|
|
||||||
Foundation, either version 3 of the License, or (at your option) any later
|
|
||||||
version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License along with
|
|
||||||
this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program does terminal interaction, make it output a short notice like
|
|
||||||
this when it starts in an interactive mode:
|
|
||||||
|
|
||||||
<program> Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
|
|
||||||
This is free software, and you are welcome to redistribute it under certain
|
|
||||||
conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, your program's commands might
|
|
||||||
be different; for a GUI interface, you would use an "about box".
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or school,
|
|
||||||
if any, to sign a "copyright disclaimer" for the program, if necessary. For
|
|
||||||
more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
The GNU General Public License does not permit incorporating your program
|
|
||||||
into proprietary programs. If your program is a subroutine library, you may
|
|
||||||
consider it more useful to permit linking proprietary applications with the
|
|
||||||
library. If this is what you want to do, use the GNU Lesser General Public
|
|
||||||
License instead of this License. But first, please read <https://www.gnu.org/
|
|
||||||
licenses /why-not-lgpl.html>.
|
|
||||||
270
Makefile
@@ -1,9 +1,263 @@
|
|||||||
executable = coffee_crisis
|
# ==============================================================================
|
||||||
|
# DIRECTORIES
|
||||||
|
# ==============================================================================
|
||||||
|
DIR_ROOT := $(dir $(abspath $(MAKEFILE_LIST)))
|
||||||
|
DIR_BIN := $(addsuffix /, $(DIR_ROOT))
|
||||||
|
|
||||||
macos:
|
# ==============================================================================
|
||||||
mkdir -p bin
|
# TARGET NAMES
|
||||||
g++ -std=c++11 -Wall -O2 source/*.cpp -o bin/$(executable)_macos -lSDL2
|
# ==============================================================================
|
||||||
linux:
|
TARGET_NAME := coffee_crisis
|
||||||
mkdir -p bin
|
TARGET_FILE := $(DIR_BIN)$(TARGET_NAME)
|
||||||
g++ source/*.cpp -std=c++11 -Os -lSDL2 -ffunction-sections -fdata-sections -Wl,--gc-sections -o bin/$(executable)_linux
|
APP_NAME := Coffee Crisis
|
||||||
strip -s -R .comment -R .gnu.version bin/$(executable)_linux --strip-unneeded
|
VERSION := v2.3.3
|
||||||
|
DIST_DIR := dist
|
||||||
|
RELEASE_FOLDER := dist/_tmp
|
||||||
|
RELEASE_FILE := $(RELEASE_FOLDER)/$(TARGET_NAME)
|
||||||
|
RESOURCE_FILE := release/windows/coffee.res
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# RELEASE NAMES
|
||||||
|
# ==============================================================================
|
||||||
|
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
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# PLATAFORMA
|
||||||
|
# ==============================================================================
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
FixPath = $(subst /,\\,$1)
|
||||||
|
RM := del /Q
|
||||||
|
MKDIR := mkdir
|
||||||
|
else
|
||||||
|
FixPath = $1
|
||||||
|
RMFILE := rm -f
|
||||||
|
RMDIR := rm -rdf
|
||||||
|
MKDIR := mkdir -p
|
||||||
|
UNAME_S := $(shell uname -s)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# SHELL (Windows usa cmd.exe)
|
||||||
|
# ==============================================================================
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
SHELL := cmd.exe
|
||||||
|
endif
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# WINDOWS-SPECIFIC VARIABLES
|
||||||
|
# ==============================================================================
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
WIN_TARGET_FILE := $(DIR_BIN)$(APP_NAME)
|
||||||
|
WIN_RELEASE_FILE := $(RELEASE_FOLDER)/$(APP_NAME)
|
||||||
|
else
|
||||||
|
WIN_TARGET_FILE := $(TARGET_FILE)
|
||||||
|
WIN_RELEASE_FILE := $(RELEASE_FILE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# COMPILACIÓN CON CMAKE
|
||||||
|
# ==============================================================================
|
||||||
|
all:
|
||||||
|
@cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||||
|
@cmake --build build
|
||||||
|
|
||||||
|
debug:
|
||||||
|
@cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
|
||||||
|
@cmake --build build
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# RELEASE AUTOMÁTICO (detecta SO)
|
||||||
|
# ==============================================================================
|
||||||
|
release:
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
@"$(MAKE)" windows_release
|
||||||
|
else
|
||||||
|
ifeq ($(UNAME_S),Darwin)
|
||||||
|
@$(MAKE) macos_release
|
||||||
|
else
|
||||||
|
@$(MAKE) linux_release
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# COMPILACIÓN PARA WINDOWS (RELEASE)
|
||||||
|
# ==============================================================================
|
||||||
|
windows_release:
|
||||||
|
@echo off
|
||||||
|
@echo Creando release para Windows - Version: $(VERSION)
|
||||||
|
|
||||||
|
# Compila con cmake
|
||||||
|
@cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||||
|
@cmake --build build
|
||||||
|
|
||||||
|
# Crea carpeta de distribución y carpeta temporal
|
||||||
|
@powershell -Command "if (-not (Test-Path '$(DIST_DIR)')) {New-Item '$(DIST_DIR)' -ItemType Directory}"
|
||||||
|
@powershell -Command "if (Test-Path '$(RELEASE_FOLDER)') {Remove-Item '$(RELEASE_FOLDER)' -Recurse -Force}"
|
||||||
|
@powershell -Command "if (-not (Test-Path '$(RELEASE_FOLDER)')) {New-Item '$(RELEASE_FOLDER)' -ItemType Directory}"
|
||||||
|
|
||||||
|
# Copia ficheros
|
||||||
|
@powershell -Command "Copy-Item -Path 'data' -Destination '$(RELEASE_FOLDER)' -Recurse -Force"
|
||||||
|
@powershell -Command "Copy-Item 'LICENSE' -Destination '$(RELEASE_FOLDER)'"
|
||||||
|
@powershell -Command "Copy-Item 'README.md' -Destination '$(RELEASE_FOLDER)'"
|
||||||
|
@powershell -Command "Copy-Item 'release\windows\dll\*.dll' -Destination '$(RELEASE_FOLDER)'"
|
||||||
|
@powershell -Command "Copy-Item -Path '$(TARGET_FILE)' -Destination '\"$(WIN_RELEASE_FILE).exe\"'"
|
||||||
|
strip -s -R .comment -R .gnu.version "$(WIN_RELEASE_FILE).exe" --strip-unneeded
|
||||||
|
|
||||||
|
# Crea el fichero .zip
|
||||||
|
@powershell -Command "if (Test-Path '$(WINDOWS_RELEASE)') {Remove-Item '$(WINDOWS_RELEASE)'}"
|
||||||
|
@powershell -Command "Compress-Archive -Path '$(RELEASE_FOLDER)/*' -DestinationPath '$(WINDOWS_RELEASE)'"
|
||||||
|
@echo Release creado: $(WINDOWS_RELEASE)
|
||||||
|
|
||||||
|
# Elimina la carpeta temporal
|
||||||
|
@powershell -Command "if (Test-Path '$(RELEASE_FOLDER)') {Remove-Item '$(RELEASE_FOLDER)' -Recurse -Force}"
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# COMPILACIÓN PARA MACOS (RELEASE)
|
||||||
|
# ==============================================================================
|
||||||
|
macos_release:
|
||||||
|
@echo "Creando release para macOS - Version: $(VERSION)"
|
||||||
|
|
||||||
|
# Verificar e instalar create-dmg si es necesario
|
||||||
|
@which create-dmg > /dev/null || (echo "Instalando create-dmg..." && brew install create-dmg)
|
||||||
|
|
||||||
|
# Compila la versión para procesadores Intel con cmake
|
||||||
|
@cmake -S . -B build/intel -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DMACOS_BUNDLE=ON
|
||||||
|
@cmake --build build/intel
|
||||||
|
|
||||||
|
# Elimina datos de compilaciones anteriores
|
||||||
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
|
$(RMFILE) tmp.dmg
|
||||||
|
$(RMFILE) "$(DIST_DIR)"/rw.*
|
||||||
|
$(RMFILE) "$(MACOS_INTEL_RELEASE)"
|
||||||
|
$(RMFILE) "$(MACOS_APPLE_SILICON_RELEASE)"
|
||||||
|
|
||||||
|
# Crea la carpeta temporal y las carpetas del app bundle
|
||||||
|
$(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks"
|
||||||
|
$(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS"
|
||||||
|
$(MKDIR) "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources"
|
||||||
|
|
||||||
|
# Copia carpetas y ficheros
|
||||||
|
cp -R data "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources"
|
||||||
|
cp -R release/macos/frameworks/SDL3.xcframework/macos-arm64_x86_64/SDL3.framework "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks"
|
||||||
|
cp 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"
|
||||||
|
|
||||||
|
# Copia el ejecutable Intel al bundle
|
||||||
|
cp "$(TARGET_FILE)" "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)"
|
||||||
|
|
||||||
|
# Firma la aplicación
|
||||||
|
codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app"
|
||||||
|
|
||||||
|
# Empaqueta el .dmg de la versión Intel con create-dmg
|
||||||
|
@echo "Creando DMG Intel..."
|
||||||
|
create-dmg \
|
||||||
|
--volname "$(APP_NAME)" \
|
||||||
|
--window-pos 200 120 \
|
||||||
|
--window-size 720 300 \
|
||||||
|
--icon-size 96 \
|
||||||
|
--text-size 12 \
|
||||||
|
--icon "$(APP_NAME).app" 278 102 \
|
||||||
|
--icon "LICENSE" 441 102 \
|
||||||
|
--icon "README.md" 604 102 \
|
||||||
|
--app-drop-link 115 102 \
|
||||||
|
--hide-extension "$(APP_NAME).app" \
|
||||||
|
"$(MACOS_INTEL_RELEASE)" \
|
||||||
|
"$(RELEASE_FOLDER)" || true
|
||||||
|
@echo "Release Intel creado: $(MACOS_INTEL_RELEASE)"
|
||||||
|
|
||||||
|
# Compila la versión para procesadores Apple Silicon con cmake
|
||||||
|
@cmake -S . -B build/arm -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DMACOS_BUNDLE=ON
|
||||||
|
@cmake --build build/arm
|
||||||
|
cp "$(TARGET_FILE)" "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)"
|
||||||
|
|
||||||
|
# Firma la aplicación
|
||||||
|
codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app"
|
||||||
|
|
||||||
|
# Empaqueta el .dmg de la versión Apple Silicon con create-dmg
|
||||||
|
@echo "Creando DMG Apple Silicon..."
|
||||||
|
create-dmg \
|
||||||
|
--volname "$(APP_NAME)" \
|
||||||
|
--window-pos 200 120 \
|
||||||
|
--window-size 720 300 \
|
||||||
|
--icon-size 96 \
|
||||||
|
--text-size 12 \
|
||||||
|
--icon "$(APP_NAME).app" 278 102 \
|
||||||
|
--icon "LICENSE" 441 102 \
|
||||||
|
--icon "README.md" 604 102 \
|
||||||
|
--app-drop-link 115 102 \
|
||||||
|
--hide-extension "$(APP_NAME).app" \
|
||||||
|
"$(MACOS_APPLE_SILICON_RELEASE)" \
|
||||||
|
"$(RELEASE_FOLDER)" || true
|
||||||
|
@echo "Release Apple Silicon creado: $(MACOS_APPLE_SILICON_RELEASE)"
|
||||||
|
|
||||||
|
# Elimina las carpetas temporales
|
||||||
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
|
$(RMDIR) build/intel
|
||||||
|
$(RMDIR) build/arm
|
||||||
|
$(RMFILE) "$(DIST_DIR)"/rw.*
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# COMPILACIÓN PARA LINUX (RELEASE)
|
||||||
|
# ==============================================================================
|
||||||
|
linux_release:
|
||||||
|
@echo "Creando release para Linux - Version: $(VERSION)"
|
||||||
|
|
||||||
|
# Compila con cmake
|
||||||
|
@cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||||
|
@cmake --build build
|
||||||
|
|
||||||
|
# Elimina carpeta temporal previa y la recrea
|
||||||
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
|
$(MKDIR) "$(RELEASE_FOLDER)"
|
||||||
|
|
||||||
|
# Copia ficheros
|
||||||
|
cp -R data "$(RELEASE_FOLDER)"
|
||||||
|
cp LICENSE "$(RELEASE_FOLDER)"
|
||||||
|
cp README.md "$(RELEASE_FOLDER)"
|
||||||
|
cp "$(TARGET_FILE)" "$(RELEASE_FILE)"
|
||||||
|
strip -s -R .comment -R .gnu.version "$(RELEASE_FILE)" --strip-unneeded
|
||||||
|
|
||||||
|
# Empaqueta ficheros
|
||||||
|
$(RMFILE) "$(LINUX_RELEASE)"
|
||||||
|
tar -czvf "$(LINUX_RELEASE)" -C "$(RELEASE_FOLDER)" .
|
||||||
|
@echo "Release creado: $(LINUX_RELEASE)"
|
||||||
|
|
||||||
|
# Elimina la carpeta temporal
|
||||||
|
$(RMDIR) "$(RELEASE_FOLDER)"
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# REGLAS ESPECIALES
|
||||||
|
# ==============================================================================
|
||||||
|
show_version:
|
||||||
|
@echo "Version actual: $(VERSION)"
|
||||||
|
|
||||||
|
help:
|
||||||
|
@echo "Makefile para Coffee Crisis"
|
||||||
|
@echo "Comandos disponibles:"
|
||||||
|
@echo ""
|
||||||
|
@echo " Compilacion:"
|
||||||
|
@echo " make - Compilar con cmake (Release)"
|
||||||
|
@echo " make debug - Compilar con cmake (Debug)"
|
||||||
|
@echo ""
|
||||||
|
@echo " Release:"
|
||||||
|
@echo " make release - Crear release (detecta SO automaticamente)"
|
||||||
|
@echo " make windows_release - Crear release para Windows"
|
||||||
|
@echo " make linux_release - Crear release para Linux"
|
||||||
|
@echo " make macos_release - Crear release para macOS"
|
||||||
|
@echo ""
|
||||||
|
@echo " Otros:"
|
||||||
|
@echo " make show_version - Mostrar version actual ($(VERSION))"
|
||||||
|
@echo " make help - Mostrar esta ayuda"
|
||||||
|
|
||||||
|
.PHONY: all debug release windows_release macos_release linux_release show_version help
|
||||||
|
|||||||
43
README.md
@@ -1,22 +1,34 @@
|
|||||||
# Coffee Crisis
|
# Coffee Crisis
|
||||||
|
|
||||||
Coffe Crisis es un juego arcade que pondrá a prueba tus reflejos. Empezado el verano de 2020 y terminado el verano de 2021. Intenta conseguir todos los puntos que puedas con una sola vida y ayuda a Bal1 a defender la UPV ante la invasión de la cafeína durante 10 estresantes oleadas.
|
Coffee Crisis és un joc arcade que posarà a prova els teus reflexos. Començat durant l'estiu de 2020 i acabat un any després a l'estiu de 2021. Intenta aconseguir tots els punts que pugues amb una sola vida a través dels 10 nivells de joc i ajuda a Bal1 a defensar la UPV de la invasió de la cafeïna esfèrica i saltarina.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Teclat
|
||||||
|
|
||||||
|
El joc es maneja amb teclat, encara que també es pot connectar un comandament de control.
|
||||||
|
Les tecles són les següents:
|
||||||
|
* **Fletxes**: Moure el personatge, moure's pels menús
|
||||||
|
* **Q, W, E**: Disparar a l'esquerra, al centre i a la dreta respectivament
|
||||||
|
* **ESCAPE**: Posa en pausa el joc durant la partida. Surt dels menús. Tanca el joc
|
||||||
|
* **ENTER**: Accepta les opcions en els menús
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Compilar
|
## Compilar
|
||||||
|
|
||||||
Para compilar el código se necesitan tener las librerías SDL instaladas en el sistema y el compilador g++.
|
Per compilar el codi cal tindre les biblioteques SDL instal·lades al sistema i el compilador g++.
|
||||||
|
|
||||||
En Linux:
|
En Linux:
|
||||||
```bash
|
```bash
|
||||||
sudo apt install libsdl2-dev g++
|
sudo apt install libsdl2-dev g++
|
||||||
```
|
```
|
||||||
|
|
||||||
En macOS se pueden instalar fácilmente con [brew](https://brew.sh):
|
En macOS es poden instal·lar fàcilment amb [brew](https://brew.sh):
|
||||||
```bash
|
```bash
|
||||||
brew install sdl2 g++
|
brew install sdl2 g++
|
||||||
```
|
```
|
||||||
|
|
||||||
Una vez instaladas las librerías SDL, se puede compilar utilizando el fichero Makefile suministrado.
|
Un cop instal·lades les biblioteques SDL, es pot compilar utilitzant el fitxer Makefile subministrat.
|
||||||
|
|
||||||
En Linux:
|
En Linux:
|
||||||
```bash
|
```bash
|
||||||
@@ -27,27 +39,28 @@ En macOS:
|
|||||||
```bash
|
```bash
|
||||||
make macos
|
make macos
|
||||||
```
|
```
|
||||||
|

|
||||||
|
|
||||||
## Como ejecutar
|
## Com executar
|
||||||
|
|
||||||
Para ejecutar el juego hay que escribir en la terminal la orden que se muestra a continuación.
|
Per executar el joc cal escriure a la terminal l'ordre que es mostra a continuació.
|
||||||
|
|
||||||
En Linux:
|
En Linux:
|
||||||
```bash
|
```bash
|
||||||
bin/coffee_crisis_linux
|
./coffee_crisis_linux
|
||||||
```
|
```
|
||||||
|
|
||||||
En macOS:
|
En macOS:
|
||||||
```bash
|
```bash
|
||||||
bin/coffee_crisis_macos
|
./coffee_crisis_macos
|
||||||
```
|
```
|
||||||
|
|
||||||
En macOS tambien puedes hacer doble click sobre el archivo coffee_crisis_macos que hay en la carpeta bin
|
En macOS també pots fer doble clic sobre l'arxiu coffee_crisis_macos
|
||||||
|
|
||||||
## Agradecimientos
|
## Agraïments
|
||||||
A los jailers y a la jail. Y entre ellos, a JailDoctor por estar siempre ahí apoyándonos/obligándonos a sacar un Jailgame más.
|
Als jailers i a la jail. I entre ells, a JailDoctor per estar sempre donant-nos suport/obligant-nos a traure un Jailgame més.
|
||||||
|
|
||||||
Y por supuesto a ti por estar aquí.
|
I per descomptat a tu per estar aquí.
|
||||||
|
|
||||||
## Licencia
|
## Llicència
|
||||||
Usa el código para lo que quieras: aprender, reirte, curiosear... excepto para sacar beneficio económico. Si lo consigues, por favor avísame y vamos a medias.
|
Utilitza el codi per a el que vulgues: aprendre, riure't, tafanejar... excepte per treure'n benefici econòmic. Si ho aconsegueixes, si us plau avisa'm i anem a mitges.
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
BIN
data/font/nokia_big2.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
@@ -157,7 +157,7 @@
|
|||||||
# 108 l
|
# 108 l
|
||||||
8
|
8
|
||||||
# 109 m
|
# 109 m
|
||||||
10
|
20
|
||||||
# 110 n
|
# 110 n
|
||||||
14
|
14
|
||||||
# 111 o
|
# 111 o
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
37
data/gfx/balloon1.ani
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
frameWidth=8
|
||||||
|
frameHeight=8
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=orange
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3,4,5,6,7,8,9
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=blue
|
||||||
|
speed=20
|
||||||
|
loop=0
|
||||||
|
frames=12,13,14,15,16,17,18,19,20,21
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=green
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27,28,29,30,31,32,33
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=red
|
||||||
|
speed=20
|
||||||
|
loop=0
|
||||||
|
frames=36,37,38,39,40,41,42,43,44,45
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=pop
|
||||||
|
speed=5
|
||||||
|
loop=-1
|
||||||
|
frames=48,49,50,51,52,53,54,55,56,57,58,59
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/balloon1.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
37
data/gfx/balloon2.ani
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
frameWidth=13
|
||||||
|
frameHeight=13
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=orange
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3,4,5,6,7,8,9
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=blue
|
||||||
|
speed=20
|
||||||
|
loop=0
|
||||||
|
frames=12,13,14,15,16,17,18,19,20,21
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=green
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27,28,29,30,31,32,33
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=red
|
||||||
|
speed=20
|
||||||
|
loop=0
|
||||||
|
frames=36,37,38,39,40,41,42,43,44,45
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=pop
|
||||||
|
speed=5
|
||||||
|
loop=-1
|
||||||
|
frames=48,49,50,51,52,53,54,55,56,57,58,59
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/balloon2.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
37
data/gfx/balloon3.ani
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
frameWidth=21
|
||||||
|
frameHeight=21
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=orange
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3,4,5,6,7,8,9
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=blue
|
||||||
|
speed=20
|
||||||
|
loop=0
|
||||||
|
frames=12,13,14,15,16,17,18,19,20,21
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=green
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27,28,29,30,31,32,33
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=red
|
||||||
|
speed=20
|
||||||
|
loop=0
|
||||||
|
frames=36,37,38,39,40,41,42,43,44,45
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=pop
|
||||||
|
speed=5
|
||||||
|
loop=-1
|
||||||
|
frames=48,49,50,51,52,53,54,55,56,57,58,59
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/balloon3.png
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
44
data/gfx/balloon4.ani
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
frameWidth=37
|
||||||
|
frameHeight=37
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=orange
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3,4,5,6,7,8,9
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=blue
|
||||||
|
speed=20
|
||||||
|
loop=0
|
||||||
|
frames=12,13,14,15,16,17,18,19,20,21
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=green
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27,28,29,30,31,32,33
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=red
|
||||||
|
speed=20
|
||||||
|
loop=0
|
||||||
|
frames=36,37,38,39,40,41,42,43,44,45
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=powerball
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=10
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=pop
|
||||||
|
speed=5
|
||||||
|
loop=-1
|
||||||
|
frames=48,49,50,51,52,53,54,55,56,57,58,59
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/balloon4.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 644 B After Width: | Height: | Size: 644 B |
BIN
data/gfx/game_buildings.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
data/gfx/game_clouds.png
Normal file
|
After Width: | Height: | Size: 901 B |
BIN
data/gfx/game_grass.png
Normal file
|
After Width: | Height: | Size: 468 B |
BIN
data/gfx/game_power_meter.png
Normal file
|
After Width: | Height: | Size: 270 B |
BIN
data/gfx/game_sky_colors.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
data/gfx/game_text.png
Normal file
|
After Width: | Height: | Size: 438 B |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
9
data/gfx/item_clock.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=16
|
||||||
|
frameHeight=16
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/item_clock.png
Normal file
|
After Width: | Height: | Size: 334 B |
9
data/gfx/item_coffee.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=16
|
||||||
|
frameHeight=16
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/item_coffee.png
Normal file
|
After Width: | Height: | Size: 462 B |
9
data/gfx/item_coffee_machine.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=23
|
||||||
|
frameHeight=29
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/item_coffee_machine.png
Normal file
|
After Width: | Height: | Size: 553 B |
9
data/gfx/item_points1_disk.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=16
|
||||||
|
frameHeight=16
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/item_points1_disk.png
Normal file
|
After Width: | Height: | Size: 263 B |
9
data/gfx/item_points2_gavina.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=16
|
||||||
|
frameHeight=16
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/item_points2_gavina.png
Normal file
|
After Width: | Height: | Size: 422 B |
9
data/gfx/item_points3_pacmar.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=16
|
||||||
|
frameHeight=16
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=0,1
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/item_points3_pacmar.png
Normal file
|
After Width: | Height: | Size: 388 B |
BIN
data/gfx/logo.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
data/gfx/menu_game_over.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
data/gfx/menu_game_over_end.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
data/gfx/player_arounder_body.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
data/gfx/player_arounder_death.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
data/gfx/player_arounder_fire.png
Normal file
|
After Width: | Height: | Size: 887 B |
BIN
data/gfx/player_arounder_head.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
data/gfx/player_arounder_legs.png
Normal file
|
After Width: | Height: | Size: 443 B |
BIN
data/gfx/player_bal1_body.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
data/gfx/player_bal1_death.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
data/gfx/player_bal1_fire.png
Normal file
|
After Width: | Height: | Size: 835 B |
BIN
data/gfx/player_bal1_head.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
data/gfx/player_bal1_legs.png
Normal file
|
After Width: | Height: | Size: 529 B |
176
data/gfx/player_body.ani
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
frameWidth=24
|
||||||
|
frameHeight=24
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=4,5,6,7
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk_1C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=8,9,10,11
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand_1C
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=12,13,14,15
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk_2C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=16,17,18,19
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand_2C
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=20,21,22,23
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=28,29,30,31
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot_1C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=32,33,34,35
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot_1C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=36,37,38,39
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot_2C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=40,41,42,43
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot_2C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=44,45,46,47
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk_pwr
|
||||||
|
speed=3
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand_pwr
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=4,5,6,7
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk_1C_pwr
|
||||||
|
speed=3
|
||||||
|
loop=0
|
||||||
|
frames=8,9,10,11
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand_1C_pwr
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=12,13,14,15
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk_2C_pwr
|
||||||
|
speed=3
|
||||||
|
loop=0
|
||||||
|
frames=16,17,18,19
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand_2C_pwr
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=20,21,22,23
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=28,29,30,31
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot_1C_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=32,33,34,35
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot_1C_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=36,37,38,39
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot_2C_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=40,41,42,43
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot_2C_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=44,45,46,47
|
||||||
|
[/animation]
|
||||||
9
data/gfx/player_death.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=24
|
||||||
|
frameHeight=24
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3
|
||||||
|
[/animation]
|
||||||
9
data/gfx/player_fire.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=28
|
||||||
|
frameHeight=32
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3
|
||||||
|
[/animation]
|
||||||
114
data/gfx/player_head.ani
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
frameWidth=24
|
||||||
|
frameHeight=24
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=4,5,6,7
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk_1C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=8,9,10,11
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand_1C
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=12,13,14,15
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk_pwr
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=16,17,18,19
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand_pwr
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=20,21,22,23
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk_1C_pwr
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand_1C_pwr
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=28,29,30,31
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=16,17,18,19
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=20,21,22,23
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot_1C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot_1C
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=28,29,30,31
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=16,17,18,19
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=20,21,22,23
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=sideshoot_1C_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=24,25,26,27
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=centershoot_1C_pwr
|
||||||
|
speed=2
|
||||||
|
loop=0
|
||||||
|
frames=28,29,30,31
|
||||||
|
[/animation]
|
||||||
16
data/gfx/player_legs.ani
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
frameWidth=24
|
||||||
|
frameHeight=24
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=walk
|
||||||
|
speed=5
|
||||||
|
loop=0
|
||||||
|
frames=0,1,2,3
|
||||||
|
[/animation]
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=stand
|
||||||
|
speed=10
|
||||||
|
loop=0
|
||||||
|
frames=4,5,6,7
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/title_bg_tile.png
Normal file
|
After Width: | Height: | Size: 899 B |
BIN
data/gfx/title_coffee.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
data/gfx/title_crisis.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
9
data/gfx/title_dust.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=16
|
||||||
|
frameHeight=16
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=8
|
||||||
|
loop=-1
|
||||||
|
frames=0,1,2,3,4,5,6
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/title_dust.png
Normal file
|
After Width: | Height: | Size: 212 B |
BIN
data/gfx/title_gradient.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
@@ -1,158 +1,281 @@
|
|||||||
## 0 - MENU DEL TITULO
|
## 0 - MENU DEL TITULO
|
||||||
JUGAR
|
JUGAR
|
||||||
|
|
||||||
## 1 - MENU DEL TITULO
|
## 1 - MENU DEL TITULO
|
||||||
OPCIONS
|
OPCIONS
|
||||||
|
|
||||||
## 2 - MENU DEL TITULO
|
## 2 - MENU DEL TITULO
|
||||||
INSTRUCCIONS
|
INSTRUCCIONS
|
||||||
|
|
||||||
## 3 - MENU DEL TITULO
|
## 3 - MENU DEL TITULO
|
||||||
EIXIR
|
EIXIR
|
||||||
|
|
||||||
## 4 - MENU DE OPCIONES
|
## 4 - MENU DE OPCIONES
|
||||||
FINESTRA
|
FINESTRA
|
||||||
|
|
||||||
## 5 - MENU DE OPCIONES
|
## 5 - MENU DE OPCIONES
|
||||||
PANTALLA COMPLETA
|
PANTALLA COMPLETA
|
||||||
|
|
||||||
## 6 - MENU DE OPCIONES
|
## 6 - MENU DE OPCIONES
|
||||||
PANTALLA COMPLETA FALSA
|
PANTALLA COMPLETA FALSA
|
||||||
|
|
||||||
## 7 - MENU DE OPCIONES
|
## 7 - MENU DE OPCIONES
|
||||||
TAMANY DE FINESTRA
|
TAMANY DE FINESTRA
|
||||||
|
|
||||||
## 8 - MENU DE OPCIONES
|
## 8 - MENU DE OPCIONES
|
||||||
IDIOMA
|
IDIOMA
|
||||||
|
|
||||||
## 9 - MENU DE OPCIONES
|
## 9 - MENU DE OPCIONES
|
||||||
[ ACEPTAR ]
|
[ ACEPTAR ]
|
||||||
|
|
||||||
## 10 - MENU DE OPCIONES
|
## 10 - MENU DE OPCIONES
|
||||||
[ CANCELAR ]
|
[ CANCELAR ]
|
||||||
|
|
||||||
## 11 - INSTRUCCIONES
|
## 11 - INSTRUCCIONES
|
||||||
OBJECTIU
|
OBJECTIU
|
||||||
|
|
||||||
## 12 - INSTRUCCIONES
|
## 12 - INSTRUCCIONES
|
||||||
HAS D'EXPLOTAR
|
HAS D'EXPLOTAR
|
||||||
|
|
||||||
## 13 - INSTRUCCIONES
|
## 13 - INSTRUCCIONES
|
||||||
TANTS GLOBUS COM PUGUES
|
TANTS GLOBUS COM PUGUES
|
||||||
|
|
||||||
## 14 - INSTRUCCIONES
|
## 14 - INSTRUCCIONES
|
||||||
LA DIFICULTAT AUGMENTA
|
LA DIFICULTAT AUGMENTA
|
||||||
|
|
||||||
## 15 - INSTRUCCIONES
|
## 15 - INSTRUCCIONES
|
||||||
A MESURA QUE VAS PUNTUANT
|
A MESURA QUE VAS PUNTUANT
|
||||||
|
|
||||||
## 16 - INSTRUCCIONES
|
## 16 - INSTRUCCIONES
|
||||||
OBJECTES
|
OBJECTES
|
||||||
|
|
||||||
## 17 - INSTRUCCIONES
|
## 17 - INSTRUCCIONES
|
||||||
1.000 PUNTS
|
1.000 PUNTS
|
||||||
|
|
||||||
## 18 - INSTRUCCIONES
|
## 18 - INSTRUCCIONES
|
||||||
2.500 PUNTS
|
2.500 PUNTS
|
||||||
|
|
||||||
## 19 - INSTRUCCIONES
|
## 19 - INSTRUCCIONES
|
||||||
5.000 PUNTS
|
5.000 PUNTS
|
||||||
|
|
||||||
## 20 - INSTRUCCIONES
|
## 20 - INSTRUCCIONES
|
||||||
PARA EL TEMPS
|
PARA EL TEMPS
|
||||||
|
|
||||||
## 21 - INSTRUCCIONES
|
## 21 - INSTRUCCIONES
|
||||||
VIDA EXTRA
|
VIDA EXTRA
|
||||||
|
|
||||||
## 22 - INSTRUCCIONES
|
## 22 - INSTRUCCIONES
|
||||||
PREM UNA TECLA PER A TORNAR
|
PREM UNA TECLA PER A TORNAR
|
||||||
|
|
||||||
## 23 - TITULO
|
## 23 - TITULO
|
||||||
PREM QUALSEVOL TECLA
|
PREM QUALSEVOL TECLA
|
||||||
|
|
||||||
## 24 - MENU SELECCION DE IDIOMA
|
## 24 - MENU SELECCION DE IDIOMA
|
||||||
ESPA{OL (ESPANYOL)
|
ESPA{OL (ESPANYOL)
|
||||||
|
|
||||||
## 25 - MENU SELECCION DE IDIOMA
|
## 25 - MENU SELECCION DE IDIOMA
|
||||||
BALOONCIA
|
BALOONCIA
|
||||||
|
|
||||||
## 26 - MENU SELECCION DE IDIOMA
|
## 26 - MENU SELECCION DE IDIOMA
|
||||||
ENGLISH (ANGLES)
|
ENGLISH (ANGLES)
|
||||||
|
|
||||||
## 27 - INTRO
|
## 27 - INTRO
|
||||||
Un dia qualsevol de l'any 2000
|
Un dia qualsevol de l'any 2000
|
||||||
|
|
||||||
## 28 - INTRO
|
## 28 - INTRO
|
||||||
Tot esta tranquil a la UPV
|
Tot esta tranquil a la UPV
|
||||||
|
|
||||||
## 29 - INTRO
|
## 29 - INTRO
|
||||||
Fins que un desaprensiu...
|
Fins que un desaprensiu...
|
||||||
|
|
||||||
## 30 - INTRO
|
## 30 - INTRO
|
||||||
HEY! ME ANE A FERME UN CORTAET...
|
HEY! ME ANE A FERME UN CORTAET...
|
||||||
|
|
||||||
## 31 - INTRO
|
## 31 - INTRO
|
||||||
UAAAAAAAAAAAAA!!!
|
UAAAAAAAAAAAAA!!!
|
||||||
|
|
||||||
## 32 - INTRO
|
## 32 - INTRO
|
||||||
Espera un moment...
|
Espera un moment...
|
||||||
|
|
||||||
## 33 - INTRO
|
## 33 - INTRO
|
||||||
Si resulta que no tinc solt!
|
Si resulta que no tinc solt!
|
||||||
|
|
||||||
## 34 - INTRO
|
## 34 - INTRO
|
||||||
MERDA DE MAQUINA!
|
MERDA DE MAQUINA!
|
||||||
|
|
||||||
## 35 - INTRO
|
## 35 - INTRO
|
||||||
Blop... blop... blop...
|
Blop... blop... blop...
|
||||||
|
|
||||||
## 36 - TEXTOS DEL JUEGO
|
## 36 - TEXTOS DEL JUEGO
|
||||||
Temps detes:
|
Temps detes:
|
||||||
|
|
||||||
## 37 - TEXTOS DEL JUEGO
|
## 37 - TEXTOS DEL JUEGO
|
||||||
D E M O
|
D E M O
|
||||||
|
|
||||||
## 38 - TEXTOS DEL JUEGO
|
## 38 - TEXTOS DEL JUEGO
|
||||||
Pantalla
|
fases mes!
|
||||||
## 39 - MARCADOR
|
|
||||||
PUNTS
|
## 39 - MENU SELECCION DE JUGADOR
|
||||||
## 40 - MARCADOR
|
Selecciona personatge
|
||||||
MAX.PUNT.
|
|
||||||
## 41 - MARCADOR
|
## 40 - MENU SELECCION DE JUGADOR
|
||||||
MULT
|
Enrere
|
||||||
## 42 - MARCADOR
|
|
||||||
PANTALLA
|
## 41 - MENU DE PAUSA
|
||||||
|
Menu de pausa
|
||||||
|
|
||||||
|
## 42 - TABLA DE RECORDS
|
||||||
|
Millors puntuacions
|
||||||
|
|
||||||
## 43 - PANTALLA DE GAME OVER
|
## 43 - PANTALLA DE GAME OVER
|
||||||
FI DEL JOC
|
FI DEL JOC
|
||||||
|
|
||||||
## 44 - PANTALLA DE GAME OVER
|
## 44 - PANTALLA DE GAME OVER
|
||||||
ELS TEUS PUNTS:
|
ELS TEUS PUNTS:
|
||||||
|
|
||||||
## 45 - PANTALLA DE GAME OVER
|
## 45 - PANTALLA DE GAME OVER
|
||||||
REINTENTAR?
|
CONTINUAR?
|
||||||
|
|
||||||
## 46 - MENU DE PAUSA
|
## 46 - MENU DE PAUSA
|
||||||
CONTINUAR
|
CONTINUAR
|
||||||
|
|
||||||
## 47 - MENU DE PAUSA
|
## 47 - MENU DE PAUSA
|
||||||
EIXIR DEL JOC
|
EIXIR DEL JOC
|
||||||
|
|
||||||
## 48 - MENU GAME OVER
|
## 48 - MENU GAME OVER
|
||||||
SI
|
SI
|
||||||
|
|
||||||
## 49 - MENU GAME OVER
|
## 49 - MENU GAME OVER
|
||||||
NO
|
NO
|
||||||
|
|
||||||
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
||||||
Felicitats!!
|
Felicitats!!
|
||||||
|
|
||||||
## 51 - MENU DEL TITULO
|
## 51 - MENU DEL TITULO
|
||||||
1 JUGADOR
|
1 JUGADOR
|
||||||
|
|
||||||
## 52 - MENU DEL TITULO
|
## 52 - MENU DEL TITULO
|
||||||
2 JUGADORS
|
2 JUGADORS
|
||||||
|
|
||||||
## 53 MARCADOR
|
## 53 MARCADOR
|
||||||
jugador 1
|
jugador 1
|
||||||
|
|
||||||
## 54 MARCADOR
|
## 54 MARCADOR
|
||||||
jugador 2
|
jugador 2
|
||||||
|
|
||||||
## 55 MARCADOR
|
## 55 MARCADOR
|
||||||
mult
|
mult
|
||||||
|
|
||||||
## 56 MARCADOR
|
## 56 MARCADOR
|
||||||
max. puntuacio
|
max. puntuacio
|
||||||
|
|
||||||
## 57 MARCADOR
|
## 57 MARCADOR
|
||||||
pantalla
|
fase
|
||||||
|
|
||||||
## 58 - MENU DE OPCIONES
|
## 58 - MENU DE OPCIONES
|
||||||
MODE DE VISUALITZACIO
|
MODE DE VISUALITZACIO
|
||||||
|
|
||||||
## 59 - MENU DE OPCIONES
|
## 59 - MENU DE OPCIONES
|
||||||
DIFICULTAT
|
DIFICULTAT
|
||||||
|
|
||||||
## 60 - MENU DE OPCIONES
|
## 60 - MENU DE OPCIONES
|
||||||
FILTRE
|
FILTRE
|
||||||
|
|
||||||
## 61 - MENU DE OPCIONES
|
## 61 - MENU DE OPCIONES
|
||||||
SINC. VERTICAL
|
SINC. VERTICAL
|
||||||
|
|
||||||
## 62 - MENU DE OPCIONES
|
## 62 - MENU DE OPCIONES
|
||||||
CONTROLS DEL JUGADOR 1
|
CONTROLS DEL JUGADOR 1
|
||||||
|
|
||||||
## 63 - MENU DE OPCIONES
|
## 63 - MENU DE OPCIONES
|
||||||
CONTROLS DEL JUGADOR 2
|
CONTROLS DEL JUGADOR 2
|
||||||
|
|
||||||
## 64 - MENU DE OPCIONES
|
## 64 - MENU DE OPCIONES
|
||||||
TECLAT
|
(FORA DE LINEA)
|
||||||
## 65 - MENU DE OPCIONES
|
|
||||||
MANDO
|
## 65 -
|
||||||
|
-
|
||||||
|
|
||||||
## 66 - MENU DE OPCIONES
|
## 66 - MENU DE OPCIONES
|
||||||
FACIL
|
FACIL
|
||||||
|
|
||||||
## 67 - MENU DE OPCIONES
|
## 67 - MENU DE OPCIONES
|
||||||
NORMAL
|
NORMAL
|
||||||
|
|
||||||
## 68 - MENU DE OPCIONES
|
## 68 - MENU DE OPCIONES
|
||||||
DIFICIL
|
DIFICIL
|
||||||
|
|
||||||
## 69 - MENU DE OPCIONES
|
## 69 - MENU DE OPCIONES
|
||||||
TECLAT
|
TECLAT
|
||||||
|
|
||||||
## 70 - MENU DE OPCIONES
|
## 70 - MENU DE OPCIONES
|
||||||
MANDO
|
MANDO
|
||||||
|
|
||||||
## 71 - MENU DE OPCIONES
|
## 71 - MENU DE OPCIONES
|
||||||
LINEAL
|
LINEAL
|
||||||
|
|
||||||
## 72 - MENU DE OPCIONES
|
## 72 - MENU DE OPCIONES
|
||||||
NEAREST
|
NEAREST
|
||||||
|
|
||||||
## 73 - MENU DE OPCIONES
|
## 73 - MENU DE OPCIONES
|
||||||
ACTIVADA
|
ACTIVADA
|
||||||
|
|
||||||
## 74 - MENU DE OPCIONES
|
## 74 - MENU DE OPCIONES
|
||||||
DESACTIVADA
|
DESACTIVADA
|
||||||
|
|
||||||
## 75 - JUEGO
|
## 75 - JUEGO
|
||||||
Endavant!
|
Endavant!
|
||||||
|
|
||||||
## 76 - JUEGO
|
## 76 - JUEGO
|
||||||
1.000.000 de punts!
|
1.000.000 de punts!
|
||||||
|
|
||||||
## 77 - PANTALLA DE GAME OVER
|
## 77 - PANTALLA DE GAME OVER
|
||||||
PUNTS J1:
|
PUNTS J1:
|
||||||
|
|
||||||
## 78 - PANTALLA DE GAME OVER
|
## 78 - PANTALLA DE GAME OVER
|
||||||
PUNTS J2:
|
PUNTS J2:
|
||||||
|
|
||||||
|
## 79 - TEXTOS DEL JUEGO
|
||||||
|
Ultima fase!
|
||||||
|
|
||||||
|
## 80 - NOTIFICACIONES
|
||||||
|
Fallo al conectar a
|
||||||
|
|
||||||
|
## 81 - NOTIFICACIONES
|
||||||
|
No s'ha pogut obtenir
|
||||||
|
|
||||||
|
## 82 - NOTIFICACIONES
|
||||||
|
la puntuacio online
|
||||||
|
|
||||||
|
## 83 - NOTIFICACIONES
|
||||||
|
No ha especificat
|
||||||
|
|
||||||
|
## 84 - NOTIFICACIONES
|
||||||
|
cap jailerID
|
||||||
|
|
||||||
|
## 85 - NOTIFICACIONES
|
||||||
|
ha iniciat la sesio
|
||||||
|
|
||||||
|
## 86 - NOTIFICACIONES
|
||||||
|
Punts enviats:
|
||||||
|
|
||||||
|
## 87 - NOTIFICACIONES
|
||||||
|
No s'ha pogut
|
||||||
|
|
||||||
|
## 88 - NOTIFICACIONES
|
||||||
|
enviar la puntuacio
|
||||||
|
|
||||||
|
## 89 - ENTER ID
|
||||||
|
CONFIGURACIO EN LINEA
|
||||||
|
|
||||||
|
## 90 - ENTER ID
|
||||||
|
INTRODUEIX UN JAILER_ID
|
||||||
|
|
||||||
|
## 91 - ENTER ID
|
||||||
|
DEIXA BUIT PER A
|
||||||
|
|
||||||
|
## 92 - ENTER ID
|
||||||
|
MODE FORA DE LINEA
|
||||||
|
|
||||||
|
## 93 - MENU OPCIONES
|
||||||
|
TAULER DE PUNTS
|
||||||
@@ -1,158 +1,281 @@
|
|||||||
## 0 - MENU DEL TITULO
|
## 0 - MENU DEL TITULO
|
||||||
PLAY
|
PLAY
|
||||||
|
|
||||||
## 1 - MENU DEL TITULO
|
## 1 - MENU DEL TITULO
|
||||||
OPTIONS
|
OPTIONS
|
||||||
|
|
||||||
## 2 - MENU DEL TITULO
|
## 2 - MENU DEL TITULO
|
||||||
HOW TO PLAY
|
HOW TO PLAY
|
||||||
|
|
||||||
## 3 - MENU DEL TITULO
|
## 3 - MENU DEL TITULO
|
||||||
QUIT
|
QUIT
|
||||||
|
|
||||||
## 4 - MENU DE OPCIONES
|
## 4 - MENU DE OPCIONES
|
||||||
WINDOW
|
WINDOW
|
||||||
|
|
||||||
## 5 - MENU DE OPCIONES
|
## 5 - MENU DE OPCIONES
|
||||||
FULLSCREEN
|
FULLSCREEN
|
||||||
|
|
||||||
## 6 - MENU DE OPCIONES
|
## 6 - MENU DE OPCIONES
|
||||||
FAKE FULLSCREEN
|
FAKE FULLSCREEN
|
||||||
|
|
||||||
## 7 - MENU DE OPCIONES
|
## 7 - MENU DE OPCIONES
|
||||||
WINDOW SIZE
|
WINDOW SIZE
|
||||||
|
|
||||||
## 8 - MENU DE OPCIONES
|
## 8 - MENU DE OPCIONES
|
||||||
LANGUAGE
|
LANGUAGE
|
||||||
|
|
||||||
## 9 - MENU DE OPCIONES
|
## 9 - MENU DE OPCIONES
|
||||||
[ ACCEPT ]
|
[ ACCEPT ]
|
||||||
|
|
||||||
## 10 - MENU DE OPCIONES
|
## 10 - MENU DE OPCIONES
|
||||||
[ CANCEL ]
|
[ CANCEL ]
|
||||||
|
|
||||||
## 11 - INSTRUCCIONES
|
## 11 - INSTRUCCIONES
|
||||||
OBJECTIVE
|
OBJECTIVE
|
||||||
|
|
||||||
## 12 - INSTRUCCIONES
|
## 12 - INSTRUCCIONES
|
||||||
YOU HAVE TO POP AS MANY
|
YOU HAVE TO POP AS MANY
|
||||||
|
|
||||||
## 13 - INSTRUCCIONES
|
## 13 - INSTRUCCIONES
|
||||||
BALLOONS AS YOU CAN
|
BALLOONS AS YOU CAN
|
||||||
|
|
||||||
## 14 - INSTRUCCIONES
|
## 14 - INSTRUCCIONES
|
||||||
DIFFICULTY WILL BE INCREASED
|
DIFFICULTY WILL BE INCREASED
|
||||||
|
|
||||||
## 15 - INSTRUCCIONES
|
## 15 - INSTRUCCIONES
|
||||||
AS YOU SCORE POINTS
|
AS YOU SCORE POINTS
|
||||||
|
|
||||||
## 16 - INSTRUCCIONES
|
## 16 - INSTRUCCIONES
|
||||||
ITEMS
|
ITEMS
|
||||||
|
|
||||||
## 17 - INSTRUCCIONES
|
## 17 - INSTRUCCIONES
|
||||||
1.000 POINTS
|
1.000 POINTS
|
||||||
|
|
||||||
## 18 - INSTRUCCIONES
|
## 18 - INSTRUCCIONES
|
||||||
2.500 POINTS
|
2.500 POINTS
|
||||||
|
|
||||||
## 19 - INSTRUCCIONES
|
## 19 - INSTRUCCIONES
|
||||||
5.000 POINTS
|
5.000 POINTS
|
||||||
|
|
||||||
## 20 - INSTRUCCIONES
|
## 20 - INSTRUCCIONES
|
||||||
TIME STOPPER
|
TIME STOPPER
|
||||||
|
|
||||||
## 21 - INSTRUCCIONES
|
## 21 - INSTRUCCIONES
|
||||||
EXTRA HIT
|
EXTRA HIT
|
||||||
|
|
||||||
## 22 - INSTRUCCIONES
|
## 22 - INSTRUCCIONES
|
||||||
PRESS ANY KEY TO RETURN
|
PRESS ANY KEY TO RETURN
|
||||||
|
|
||||||
## 23 - TITULO
|
## 23 - TITULO
|
||||||
PRESS ANY KEY
|
PRESS ANY KEY
|
||||||
|
|
||||||
## 24 - MENU SELECCION DE IDIOMA
|
## 24 - MENU SELECCION DE IDIOMA
|
||||||
ESPA{OL (SPANISH)
|
ESPA{OL (SPANISH)
|
||||||
|
|
||||||
## 25 - MENU SELECCION DE IDIOMA
|
## 25 - MENU SELECCION DE IDIOMA
|
||||||
BALOONCIA (VALENCIAN)
|
BALOONCIA (VALENCIAN)
|
||||||
|
|
||||||
## 26 - MENU SELECCION DE IDIOMA
|
## 26 - MENU SELECCION DE IDIOMA
|
||||||
ENGLISH
|
ENGLISH
|
||||||
|
|
||||||
## 27 - INTRO
|
## 27 - INTRO
|
||||||
Any day of the year 2000
|
Any day of the year 2000
|
||||||
|
|
||||||
## 28 - INTRO
|
## 28 - INTRO
|
||||||
Everything is quiet at the UPV
|
Everything is quiet at the UPV
|
||||||
|
|
||||||
## 29 - INTRO
|
## 29 - INTRO
|
||||||
Until a bastard arrives...
|
Until a bastard arrives...
|
||||||
|
|
||||||
## 30 - INTRO
|
## 30 - INTRO
|
||||||
YO! GONNA TAKE A CAFELITO...
|
YO! GONNA TAKE A CAFELITO...
|
||||||
|
|
||||||
## 31 - INTRO
|
## 31 - INTRO
|
||||||
AAAAAAAARGHHHH!!!
|
AAAAAAAARGHHHH!!!
|
||||||
|
|
||||||
## 32 - INTRO
|
## 32 - INTRO
|
||||||
Wait a moment...
|
Wait a moment...
|
||||||
|
|
||||||
## 33 - INTRO
|
## 33 - INTRO
|
||||||
I don't have any loose!
|
I don't have any loose!
|
||||||
|
|
||||||
## 34 - INTRO
|
## 34 - INTRO
|
||||||
FUCKING MACHINE!
|
FUCKING MACHINE!
|
||||||
|
|
||||||
## 35 - INTRO
|
## 35 - INTRO
|
||||||
Blop... blop... blop...
|
Blop... blop... blop...
|
||||||
|
|
||||||
## 36 - TEXTOS DEL JUEGO
|
## 36 - TEXTOS DEL JUEGO
|
||||||
Time stopped:
|
Time stopped:
|
||||||
|
|
||||||
## 37 - TEXTOS DEL JUEGO
|
## 37 - TEXTOS DEL JUEGO
|
||||||
D E M O
|
D E M O
|
||||||
|
|
||||||
## 38 - TEXTOS DEL JUEGO
|
## 38 - TEXTOS DEL JUEGO
|
||||||
Stage
|
stages left!
|
||||||
## 39 - MARCADOR
|
|
||||||
SCORE
|
## 39 - MENU SELECCION DE JUGADOR
|
||||||
## 40 - MARCADOR
|
Select Player
|
||||||
HI-SCORE
|
|
||||||
## 41 - MARCADOR
|
## 40 - MENU SELECCION DE JUGADOR
|
||||||
MULT
|
Back
|
||||||
## 42 - MARCADOR
|
|
||||||
STAGE
|
## 41 - MENU DE PAUSA
|
||||||
|
Pause Menu
|
||||||
|
|
||||||
|
## 42 - TABLA DE RECORDS
|
||||||
|
Best scores
|
||||||
|
|
||||||
## 43 - PANTALLA DE GAME OVER
|
## 43 - PANTALLA DE GAME OVER
|
||||||
GAME OVER
|
GAME OVER
|
||||||
|
|
||||||
## 44 - PANTALLA DE GAME OVER
|
## 44 - PANTALLA DE GAME OVER
|
||||||
YOUR SCORE:
|
YOUR SCORE:
|
||||||
|
|
||||||
## 45 - PANTALLA DE GAME OVER
|
## 45 - PANTALLA DE GAME OVER
|
||||||
RETRY?
|
CONTINUE?
|
||||||
|
|
||||||
## 46 - MENU DE PAUSA
|
## 46 - MENU DE PAUSA
|
||||||
CONTINUE
|
CONTINUE
|
||||||
|
|
||||||
## 47 - MENU DE PAUSA
|
## 47 - MENU DE PAUSA
|
||||||
LEAVE GAME
|
LEAVE GAME
|
||||||
|
|
||||||
## 48 - MENU GAME OVER
|
## 48 - MENU GAME OVER
|
||||||
YES
|
YES
|
||||||
|
|
||||||
## 49 - MENU GAME OVER
|
## 49 - MENU GAME OVER
|
||||||
NO
|
NO
|
||||||
|
|
||||||
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
||||||
Congratulations!!
|
Congratulations!!
|
||||||
|
|
||||||
## 51 - MENU DEL TITULO
|
## 51 - MENU DEL TITULO
|
||||||
1 PLAYER
|
1 PLAYER
|
||||||
|
|
||||||
## 52 - MENU DEL TITULO
|
## 52 - MENU DEL TITULO
|
||||||
2 PLAYERS
|
2 PLAYERS
|
||||||
|
|
||||||
## 53 - MARCADOR
|
## 53 - MARCADOR
|
||||||
player 1
|
player 1
|
||||||
|
|
||||||
## 54 - MARCADOR
|
## 54 - MARCADOR
|
||||||
player 2
|
player 2
|
||||||
|
|
||||||
## 55 - MARCADOR
|
## 55 - MARCADOR
|
||||||
mult
|
mult
|
||||||
|
|
||||||
## 56 - MARCADOR
|
## 56 - MARCADOR
|
||||||
high score
|
high score
|
||||||
|
|
||||||
## 57 - MARCADOR
|
## 57 - MARCADOR
|
||||||
stage
|
stage
|
||||||
|
|
||||||
## 58 - MENU DE OPCIONES
|
## 58 - MENU DE OPCIONES
|
||||||
DISPLAY MODE
|
DISPLAY MODE
|
||||||
|
|
||||||
## 59 - MENU DE OPCIONES
|
## 59 - MENU DE OPCIONES
|
||||||
DIFFICULTY
|
DIFFICULTY
|
||||||
|
|
||||||
## 60 - MENU DE OPCIONES
|
## 60 - MENU DE OPCIONES
|
||||||
FILTER
|
FILTER
|
||||||
|
|
||||||
## 61 - MENU DE OPCIONES
|
## 61 - MENU DE OPCIONES
|
||||||
VSYNC
|
VSYNC
|
||||||
|
|
||||||
## 62 - MENU DE OPCIONES
|
## 62 - MENU DE OPCIONES
|
||||||
PLAYER 1 CONTROLS
|
PLAYER 1 CONTROLS
|
||||||
|
|
||||||
## 63 - MENU DE OPCIONES
|
## 63 - MENU DE OPCIONES
|
||||||
PLAYER 2 CONTROLS
|
PLAYER 2 CONTROLS
|
||||||
|
|
||||||
## 64 - MENU DE OPCIONES
|
## 64 - MENU DE OPCIONES
|
||||||
KEYBOARD
|
(OFFLINE MODE)
|
||||||
## 65 - MENU DE OPCIONES
|
|
||||||
GAME CONTROLLER
|
## 65 -
|
||||||
|
-
|
||||||
|
|
||||||
## 66 - MENU DE OPCIONES
|
## 66 - MENU DE OPCIONES
|
||||||
EASY
|
EASY
|
||||||
|
|
||||||
## 67 - MENU DE OPCIONES
|
## 67 - MENU DE OPCIONES
|
||||||
NORMAL
|
NORMAL
|
||||||
|
|
||||||
## 68 - MENU DE OPCIONES
|
## 68 - MENU DE OPCIONES
|
||||||
HARD
|
HARD
|
||||||
|
|
||||||
## 69 - MENU DE OPCIONES
|
## 69 - MENU DE OPCIONES
|
||||||
KEYBOARD
|
KEYBOARD
|
||||||
|
|
||||||
## 70 - MENU DE OPCIONES
|
## 70 - MENU DE OPCIONES
|
||||||
GAME CONTROLLER
|
GAME CONTROLLER
|
||||||
|
|
||||||
## 71 - MENU DE OPCIONES
|
## 71 - MENU DE OPCIONES
|
||||||
LINEAL
|
LINEAL
|
||||||
|
|
||||||
## 72 - MENU DE OPCIONES
|
## 72 - MENU DE OPCIONES
|
||||||
NEAREST
|
NEAREST
|
||||||
|
|
||||||
## 73 - MENU DE OPCIONES
|
## 73 - MENU DE OPCIONES
|
||||||
ON
|
ON
|
||||||
|
|
||||||
## 74 - MENU DE OPCIONES
|
## 74 - MENU DE OPCIONES
|
||||||
OFF
|
OFF
|
||||||
|
|
||||||
## 75 - JUEGO
|
## 75 - JUEGO
|
||||||
Get Ready!
|
Get Ready!
|
||||||
|
|
||||||
## 76 - JUEGO
|
## 76 - JUEGO
|
||||||
1.000.000 points!
|
1.000.000 points!
|
||||||
|
|
||||||
## 77 - PANTALLA DE GAME OVER
|
## 77 - PANTALLA DE GAME OVER
|
||||||
PLAYER1 SCORE:
|
PLAYER1 SCORE:
|
||||||
|
|
||||||
## 78 - PANTALLA DE GAME OVER
|
## 78 - PANTALLA DE GAME OVER
|
||||||
PLAYER2 SCORE:
|
PLAYER2 SCORE:
|
||||||
|
|
||||||
|
## 79 - TEXTOS DEL JUEGO
|
||||||
|
Last stage!
|
||||||
|
|
||||||
|
## 80 - NOTIFICACIONES
|
||||||
|
Failed connecting to
|
||||||
|
|
||||||
|
## 81 - NOTIFICACIONES
|
||||||
|
Can't get
|
||||||
|
|
||||||
|
## 82 - NOTIFICACIONES
|
||||||
|
online scores
|
||||||
|
|
||||||
|
## 83 - NOTIFICACIONES
|
||||||
|
No JailerID
|
||||||
|
|
||||||
|
## 84 - NOTIFICACIONES
|
||||||
|
name was set
|
||||||
|
|
||||||
|
## 85 - NOTIFICACIONES
|
||||||
|
is logged in
|
||||||
|
|
||||||
|
## 86 - NOTIFICACIONES
|
||||||
|
Score submitted
|
||||||
|
|
||||||
|
## 87 - NOTIFICACIONES
|
||||||
|
Failed to send
|
||||||
|
|
||||||
|
## 88 - NOTIFICACIONES
|
||||||
|
score to online server
|
||||||
|
|
||||||
|
## 89 - ENTER ID
|
||||||
|
ONLINE CONFIGURATION
|
||||||
|
|
||||||
|
## 90 - ENTER ID
|
||||||
|
PLEASE ENTER AN ID
|
||||||
|
|
||||||
|
## 91 - ENTER ID
|
||||||
|
LEAVE BLANK FOR
|
||||||
|
|
||||||
|
## 92 - ENTER ID
|
||||||
|
OFFLINE MODE
|
||||||
|
|
||||||
|
## 93 - MENU OPCIONES
|
||||||
|
HISCORE TABLE
|
||||||
@@ -1,158 +1,281 @@
|
|||||||
## 0 - MENU DEL TITULO
|
## 0 - MENU DEL TITULO
|
||||||
JUGAR
|
JUGAR
|
||||||
|
|
||||||
## 1 - MENU DEL TITULO
|
## 1 - MENU DEL TITULO
|
||||||
OPCIONES
|
OPCIONES
|
||||||
|
|
||||||
## 2 - MENU DEL TITULO
|
## 2 - MENU DEL TITULO
|
||||||
INSTRUCCIONES
|
INSTRUCCIONES
|
||||||
|
|
||||||
## 3 - MENU DEL TITULO
|
## 3 - MENU DEL TITULO
|
||||||
SALIR
|
SALIR
|
||||||
|
|
||||||
## 4 - MENU DE OPCIONES
|
## 4 - MENU DE OPCIONES
|
||||||
VENTANA
|
VENTANA
|
||||||
|
|
||||||
## 5 - MENU DE OPCIONES
|
## 5 - MENU DE OPCIONES
|
||||||
PANTALLA COMPLETA
|
PANTALLA COMPLETA
|
||||||
|
|
||||||
## 6 - MENU DE OPCIONES
|
## 6 - MENU DE OPCIONES
|
||||||
PANTALLA COMPLETA FALSA
|
PANTALLA COMPLETA FALSA
|
||||||
|
|
||||||
## 7 - MENU DE OPCIONES
|
## 7 - MENU DE OPCIONES
|
||||||
TAMA{O DE VENTANA
|
TAMA{O DE VENTANA
|
||||||
|
|
||||||
## 8 - MENU DE OPCIONES
|
## 8 - MENU DE OPCIONES
|
||||||
IDIOMA
|
IDIOMA
|
||||||
|
|
||||||
## 9 - MENU DE OPCIONES
|
## 9 - MENU DE OPCIONES
|
||||||
[ ACEPTAR ]
|
[ ACEPTAR ]
|
||||||
|
|
||||||
## 10 - MENU DE OPCIONES
|
## 10 - MENU DE OPCIONES
|
||||||
[ CANCELAR ]
|
[ CANCELAR ]
|
||||||
|
|
||||||
## 11 - INSTRUCCIONES
|
## 11 - INSTRUCCIONES
|
||||||
OBJETIVO
|
OBJETIVO
|
||||||
|
|
||||||
## 12 - INSTRUCCIONES
|
## 12 - INSTRUCCIONES
|
||||||
TIENES QUE EXPLOTAR
|
TIENES QUE EXPLOTAR
|
||||||
|
|
||||||
## 13 - INSTRUCCIONES
|
## 13 - INSTRUCCIONES
|
||||||
TANTOS GLOBOS COMO PUEDAS
|
TANTOS GLOBOS COMO PUEDAS
|
||||||
|
|
||||||
## 14 - INSTRUCCIONES
|
## 14 - INSTRUCCIONES
|
||||||
LA DIFICULTAD SE INCREMENTA
|
LA DIFICULTAD SE INCREMENTA
|
||||||
|
|
||||||
## 15 - INSTRUCCIONES
|
## 15 - INSTRUCCIONES
|
||||||
A MEDIDA QUE VAS PUNTUANDO
|
A MEDIDA QUE VAS PUNTUANDO
|
||||||
|
|
||||||
## 16 - INSTRUCCIONES
|
## 16 - INSTRUCCIONES
|
||||||
OBJETOS
|
OBJETOS
|
||||||
|
|
||||||
## 17 - INSTRUCCIONES
|
## 17 - INSTRUCCIONES
|
||||||
1.000 PUNTOS
|
1.000 PUNTOS
|
||||||
|
|
||||||
## 18 - INSTRUCCIONES
|
## 18 - INSTRUCCIONES
|
||||||
2.500 PUNTOS
|
2.500 PUNTOS
|
||||||
|
|
||||||
## 19 - INSTRUCCIONES
|
## 19 - INSTRUCCIONES
|
||||||
5.000 PUNTOS
|
5.000 PUNTOS
|
||||||
|
|
||||||
## 20 - INSTRUCCIONES
|
## 20 - INSTRUCCIONES
|
||||||
DETIENE EL TIEMPO
|
DETIENE EL TIEMPO
|
||||||
|
|
||||||
## 21 - INSTRUCCIONES
|
## 21 - INSTRUCCIONES
|
||||||
VIDA EXTRA
|
VIDA EXTRA
|
||||||
|
|
||||||
## 22 - INSTRUCCIONES
|
## 22 - INSTRUCCIONES
|
||||||
PULSA UNA TECLA PARA VOLVER
|
PULSA UNA TECLA PARA VOLVER
|
||||||
|
|
||||||
## 23 - TITULO
|
## 23 - TITULO
|
||||||
PULSA CUALQUIER TECLA
|
PULSA CUALQUIER TECLA
|
||||||
|
|
||||||
## 24 - MENU SELECCION DE IDIOMA
|
## 24 - MENU SELECCION DE IDIOMA
|
||||||
ESPA{OL
|
ESPA{OL
|
||||||
|
|
||||||
## 25 - MENU SELECCION DE IDIOMA
|
## 25 - MENU SELECCION DE IDIOMA
|
||||||
BALOONCIA (VALENCIANO)
|
BALOONCIA (VALENCIANO)
|
||||||
|
|
||||||
## 26 - MENU SELECCION DE IDIOMA
|
## 26 - MENU SELECCION DE IDIOMA
|
||||||
ENGLISH (INGLES)
|
ENGLISH (INGLES)
|
||||||
|
|
||||||
## 27 - INTRO
|
## 27 - INTRO
|
||||||
Un dia cualquiera del a{o 2000
|
Un dia cualquiera del a{o 2000
|
||||||
|
|
||||||
## 28 - INTRO
|
## 28 - INTRO
|
||||||
Todo esta tranquilo en la UPV
|
Todo esta tranquilo en la UPV
|
||||||
|
|
||||||
## 29 - INTRO
|
## 29 - INTRO
|
||||||
Hasta que un desaprensivo...
|
Hasta que un desaprensivo...
|
||||||
|
|
||||||
## 30 - INTRO
|
## 30 - INTRO
|
||||||
HEY! VOY A SACARME UN TALLADET...
|
HEY! VOY A SACARME UN TALLADET...
|
||||||
|
|
||||||
## 31 - INTRO
|
## 31 - INTRO
|
||||||
UAAAAAAAAAAAAA!!!
|
UAAAAAAAAAAAAA!!!
|
||||||
|
|
||||||
## 32 - INTRO
|
## 32 - INTRO
|
||||||
Espera un momento...
|
Espera un momento...
|
||||||
|
|
||||||
## 33 - INTRO
|
## 33 - INTRO
|
||||||
Si no llevo suelto encima!
|
Si no llevo suelto encima!
|
||||||
|
|
||||||
## 34 - INTRO
|
## 34 - INTRO
|
||||||
MIERDA DE MAQUINA!
|
MIERDA DE MAQUINA!
|
||||||
|
|
||||||
## 35 - INTRO
|
## 35 - INTRO
|
||||||
Blop... blop... blop...
|
Blop... blop... blop...
|
||||||
|
|
||||||
## 36 - TEXTOS DEL JUEGO
|
## 36 - TEXTOS DEL JUEGO
|
||||||
Tiempo:
|
Tiempo:
|
||||||
|
|
||||||
## 37 - TEXTOS DEL JUEGO
|
## 37 - TEXTOS DEL JUEGO
|
||||||
D E M O
|
D E M O
|
||||||
|
|
||||||
## 38 - TEXTOS DEL JUEGO
|
## 38 - TEXTOS DEL JUEGO
|
||||||
Fase
|
fases mas!
|
||||||
## 39 - MARCADOR
|
|
||||||
PUNTOS
|
## 39 - MENU SELECCION DE JUGADOR
|
||||||
## 40 - MARCADOR
|
Selecciona jugador
|
||||||
MAX.PUNT.
|
|
||||||
## 41 - MARCADOR
|
## 40 - MENU SELECCION DE JUGADOR
|
||||||
MULT
|
Volver
|
||||||
## 42 - MARCADOR
|
|
||||||
FASE
|
## 41 - MENU DE PAUSA
|
||||||
|
Menu de pausa
|
||||||
|
|
||||||
|
## 42 - TABLA DE RECORDS
|
||||||
|
Mejores puntuaciones
|
||||||
|
|
||||||
## 43 - PANTALLA DE GAME OVER
|
## 43 - PANTALLA DE GAME OVER
|
||||||
FIN DE JUEGO
|
FIN DE JUEGO
|
||||||
|
|
||||||
## 44 - PANTALLA DE GAME OVER
|
## 44 - PANTALLA DE GAME OVER
|
||||||
TU PUNTUACION:
|
TU PUNTUACION:
|
||||||
|
|
||||||
## 45 - PANTALLA DE GAME OVER
|
## 45 - PANTALLA DE GAME OVER
|
||||||
REINTENTAR?
|
CONTINUAR?
|
||||||
|
|
||||||
## 46 - MENU DE PAUSA
|
## 46 - MENU DE PAUSA
|
||||||
CONTINUAR
|
CONTINUAR
|
||||||
|
|
||||||
## 47 - MENU DE PAUSA
|
## 47 - MENU DE PAUSA
|
||||||
SALIR DEL JUEGO
|
SALIR DEL JUEGO
|
||||||
|
|
||||||
## 48 - MENU GAME OVER
|
## 48 - MENU GAME OVER
|
||||||
SI
|
SI
|
||||||
|
|
||||||
## 49 - MENU GAME OVER
|
## 49 - MENU GAME OVER
|
||||||
NO
|
NO
|
||||||
|
|
||||||
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
## 50 - TEXTO DE COMPLETAR EL JUEGO
|
||||||
Felicidades!!
|
Felicidades!!
|
||||||
|
|
||||||
## 51 - MENU DEL TITULO
|
## 51 - MENU DEL TITULO
|
||||||
1 JUGADOR
|
1 JUGADOR
|
||||||
|
|
||||||
## 52 - MENU DEL TITULO
|
## 52 - MENU DEL TITULO
|
||||||
2 JUGADORES
|
2 JUGADORES
|
||||||
|
|
||||||
## 53 - MARCADOR
|
## 53 - MARCADOR
|
||||||
jugador 1
|
jugador 1
|
||||||
|
|
||||||
## 54 - MARCADOR
|
## 54 - MARCADOR
|
||||||
jugador 2
|
jugador 2
|
||||||
|
|
||||||
## 55 - MARCADOR
|
## 55 - MARCADOR
|
||||||
mult
|
mult
|
||||||
|
|
||||||
## 56 - MARCADOR
|
## 56 - MARCADOR
|
||||||
max. puntuacion
|
max. puntuacion
|
||||||
|
|
||||||
## 57 - MARCADOR
|
## 57 - MARCADOR
|
||||||
fase
|
FASE
|
||||||
|
|
||||||
## 58 - MENU DE OPCIONES
|
## 58 - MENU DE OPCIONES
|
||||||
MODO DE VISUALIZACION
|
MODO DE VISUALIZACION
|
||||||
|
|
||||||
## 59 - MENU DE OPCIONES
|
## 59 - MENU DE OPCIONES
|
||||||
DIFICULTAD
|
DIFICULTAD
|
||||||
|
|
||||||
## 60 - MENU DE OPCIONES
|
## 60 - MENU DE OPCIONES
|
||||||
FILTRO
|
FILTRO
|
||||||
|
|
||||||
## 61 - MENU DE OPCIONES
|
## 61 - MENU DE OPCIONES
|
||||||
SINC. VERTICAL
|
SINC. VERTICAL
|
||||||
|
|
||||||
## 62 - MENU DE OPCIONES
|
## 62 - MENU DE OPCIONES
|
||||||
CONTROLES DEL JUGADOR 1
|
CONTROLES DEL JUGADOR 1
|
||||||
|
|
||||||
## 63 - MENU DE OPCIONES
|
## 63 - MENU DE OPCIONES
|
||||||
CONTROLES DEL JUGADOR 2
|
CONTROLES DEL JUGADOR 2
|
||||||
|
|
||||||
## 64 - MENU DE OPCIONES
|
## 64 - MENU DE OPCIONES
|
||||||
TECLADO
|
(MODO OFFLINE)
|
||||||
## 65 - MENU DE OPCIONES
|
|
||||||
MANDO
|
## 65 -
|
||||||
|
-
|
||||||
|
|
||||||
## 66 - MENU DE OPCIONES
|
## 66 - MENU DE OPCIONES
|
||||||
FACIL
|
FACIL
|
||||||
|
|
||||||
## 67 - MENU DE OPCIONES
|
## 67 - MENU DE OPCIONES
|
||||||
NORMAL
|
NORMAL
|
||||||
|
|
||||||
## 68 - MENU DE OPCIONES
|
## 68 - MENU DE OPCIONES
|
||||||
DIFICIL
|
DIFICIL
|
||||||
|
|
||||||
## 69 - MENU DE OPCIONES
|
## 69 - MENU DE OPCIONES
|
||||||
TECLADO
|
TECLADO
|
||||||
|
|
||||||
## 70 - MENU DE OPCIONES
|
## 70 - MENU DE OPCIONES
|
||||||
MANDO
|
MANDO
|
||||||
|
|
||||||
## 71 - MENU DE OPCIONES
|
## 71 - MENU DE OPCIONES
|
||||||
LINEAL
|
LINEAL
|
||||||
|
|
||||||
## 72 - MENU DE OPCIONES
|
## 72 - MENU DE OPCIONES
|
||||||
NEAREST
|
NEAREST
|
||||||
|
|
||||||
## 73 - MENU DE OPCIONES
|
## 73 - MENU DE OPCIONES
|
||||||
ACTIVADA
|
ACTIVADA
|
||||||
|
|
||||||
## 74 - MENU DE OPCIONES
|
## 74 - MENU DE OPCIONES
|
||||||
DESACTIVADA
|
DESACTIVADA
|
||||||
|
|
||||||
## 75 - JUEGO
|
## 75 - JUEGO
|
||||||
Adelante!
|
Adelante!
|
||||||
|
|
||||||
## 76 - JUEGO
|
## 76 - JUEGO
|
||||||
1.000.000 de puntos!
|
1.000.000 de puntos!
|
||||||
|
|
||||||
## 77 - PANTALLA DE GAME OVER
|
## 77 - PANTALLA DE GAME OVER
|
||||||
PUNTUACION J1:
|
PUNTUACION J1:
|
||||||
|
|
||||||
## 78 - PANTALLA DE GAME OVER
|
## 78 - PANTALLA DE GAME OVER
|
||||||
PUNTUACION J2:
|
PUNTUACION J2:
|
||||||
|
|
||||||
|
## 79 - TEXTOS DEL JUEGO
|
||||||
|
Ultima fase!
|
||||||
|
|
||||||
|
## 80 - NOTIFICACIONES
|
||||||
|
Fallo al conectar a
|
||||||
|
|
||||||
|
## 81 - NOTIFICACIONES
|
||||||
|
No se ha podido obtener
|
||||||
|
|
||||||
|
## 82 - NOTIFICACIONES
|
||||||
|
la puntuacion online
|
||||||
|
|
||||||
|
## 83 - NOTIFICACIONES
|
||||||
|
No se ha especificado
|
||||||
|
|
||||||
|
## 84 - NOTIFICACIONES
|
||||||
|
ningun jailerID
|
||||||
|
|
||||||
|
## 85 - NOTIFICACIONES
|
||||||
|
ha iniciado la sesion
|
||||||
|
|
||||||
|
## 86 - NOTIFICACIONES
|
||||||
|
Puntos enviados:
|
||||||
|
|
||||||
|
## 87 - NOTIFICACIONES
|
||||||
|
No se ha podido
|
||||||
|
|
||||||
|
## 88 - NOTIFICACIONES
|
||||||
|
enviar la puntuacion
|
||||||
|
|
||||||
|
## 89 - ENTER ID
|
||||||
|
CONFIGURACION ONLNE
|
||||||
|
|
||||||
|
## 90 - ENTER ID
|
||||||
|
INTRODUCE UN JAILER_ID
|
||||||
|
|
||||||
|
## 91 - ENTER ID
|
||||||
|
DEJA EN BLANCO PARA
|
||||||
|
|
||||||
|
## 92 - ENTER ID
|
||||||
|
MODO SIN CONEXION
|
||||||
|
|
||||||
|
## 93 - MENU OPCIONES
|
||||||
|
TABLA DE PUNTUACIONES
|
||||||
29
data/menu/gameover.men
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
|
||||||
|
name=GAME OVER
|
||||||
|
x=0
|
||||||
|
y=120
|
||||||
|
backgroundType=0
|
||||||
|
backgroundColor=128,64,0,0
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=199
|
||||||
|
|
||||||
|
selector_color=255,122,0,255
|
||||||
|
selector_text_color=255,255,235
|
||||||
|
|
||||||
|
defaultActionWhenCancel=1
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=SI
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=NO
|
||||||
|
[/item]
|
||||||
114
data/menu/options.men
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
|
||||||
|
name=OPTIONS
|
||||||
|
x=0
|
||||||
|
y=116
|
||||||
|
backgroundType=0
|
||||||
|
backgroundColor=48,48,64,192
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=128
|
||||||
|
|
||||||
|
isCenteredOnY=true
|
||||||
|
centerY=96
|
||||||
|
|
||||||
|
selector_color=255,122,0,255
|
||||||
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
|
defaultActionWhenCancel=15
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=DIFFICULTY
|
||||||
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=PLAYER 1 CONTROLS
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=true
|
||||||
|
greyed=false
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=KEYBOARD
|
||||||
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
|
selectable=false
|
||||||
|
greyed=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=PLAYER 2 CONTROLS
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=true
|
||||||
|
greyed=false
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=GAME CONTROLLER
|
||||||
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
|
selectable=false
|
||||||
|
greyed=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=LANGUAGE
|
||||||
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=DISPLAY MODE
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=true
|
||||||
|
greyed=false
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=WINDOW
|
||||||
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
|
selectable=false
|
||||||
|
greyed=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=WINDOW SIZE
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=FILTER
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=VSYNC
|
||||||
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=HOW TO PLAY
|
||||||
|
hPaddingDown=10
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=ACCEPT
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=CANCEL
|
||||||
|
[/item]
|
||||||
110
data/menu/options_gc.men
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
|
||||||
|
name=OPTIONS
|
||||||
|
x=0
|
||||||
|
y=116
|
||||||
|
backgroundType=0
|
||||||
|
backgroundColor=48,48,64,192
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=128
|
||||||
|
|
||||||
|
isCenteredOnY=true
|
||||||
|
centerY=96
|
||||||
|
|
||||||
|
selector_color=255,122,0,255
|
||||||
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
|
defaultActionWhenCancel=13
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=DIFFICULTY
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=PLAYER 1 CONTROLS
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=false
|
||||||
|
greyed=true
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=KEYBOARD
|
||||||
|
hPaddingDown=7
|
||||||
|
selectable=false
|
||||||
|
greyed=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=PLAYER 2 CONTROLS
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=false
|
||||||
|
greyed=true
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=GAME CONTROLLER
|
||||||
|
hPaddingDown=7
|
||||||
|
selectable=false
|
||||||
|
greyed=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=LANGUAGE
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=DISPLAY MODE
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=false
|
||||||
|
greyed=true
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=WINDOW
|
||||||
|
hPaddingDown=7
|
||||||
|
selectable=false
|
||||||
|
greyed=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=WINDOW SIZE
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=false
|
||||||
|
greyed=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=FILTER
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=VSYNC
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=HOW TO PLAY
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=ACCEPT
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=CANCEL
|
||||||
|
[/item]
|
||||||
35
data/menu/pause.men
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
|
||||||
|
name=PAUSE
|
||||||
|
x=0
|
||||||
|
y=80
|
||||||
|
backgroundType=1
|
||||||
|
backgroundColor=41,57,65,240
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=128
|
||||||
|
|
||||||
|
selector_color=255,122,0,255
|
||||||
|
selector_text_color=255,255,255
|
||||||
|
|
||||||
|
defaultActionWhenCancel=1
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=PAUSE MENU
|
||||||
|
hPaddingDown=7
|
||||||
|
selectable=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=CONTINUE
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=LEAVE GAME
|
||||||
|
[/item]
|
||||||
40
data/menu/player_select.men
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
|
||||||
|
name=PLAYER_SELECT
|
||||||
|
x=0
|
||||||
|
y=116
|
||||||
|
backgroundType=0
|
||||||
|
backgroundColor=48,48,64,192
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=128
|
||||||
|
|
||||||
|
selector_color=255,122,0,255
|
||||||
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
|
defaultActionWhenCancel=3
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=SELECT PLAYER
|
||||||
|
hPaddingDown=7
|
||||||
|
selectable=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=BAL1
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=AROUNDER
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=BACK
|
||||||
|
[/item]
|
||||||
39
data/menu/title.men
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
|
||||||
|
name=TITLE
|
||||||
|
x=0
|
||||||
|
y=116
|
||||||
|
backgroundType=0
|
||||||
|
backgroundColor=48,48,64,192
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=128
|
||||||
|
|
||||||
|
selector_color=255,122,0,255
|
||||||
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
|
defaultActionWhenCancel=3
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=1 PLAYER
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=2 PLAYERS
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=OPTIONS
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=QUIT
|
||||||
|
[/item]
|
||||||
41
data/menu/title_gc.men
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
|
||||||
|
name=TITLE
|
||||||
|
x=0
|
||||||
|
y=116
|
||||||
|
backgroundType=0
|
||||||
|
backgroundColor=48,48,64,192
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=128
|
||||||
|
|
||||||
|
selector_color=255,122,0,255
|
||||||
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
|
defaultActionWhenCancel=3
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=PLAY
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=2 PLAYERS
|
||||||
|
hPaddingDown=7
|
||||||
|
visible=false
|
||||||
|
selectable=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=OPTIONS
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=QUIT
|
||||||
|
[/item]
|
||||||