chore(rename): aee_2026 -> aee_arcade
This commit is contained in:
1 parent
ea5762265e
commit
9949096fba
20 files changed
+41
-41
No files matched your search
+2
-2
@@ -8,8 +8,8 @@ dist/
|
||||
*.dylib
|
||||
*.dll
|
||||
*.exe
|
||||
aee_2026
|
||||
_aee_2026
|
||||
aee_arcade
|
||||
_aee_arcade
|
||||
.vscode/
|
||||
.idea/
|
||||
.cache/
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(aee_2026 VERSION 0.1.0 LANGUAGES CXX)
|
||||
project(aee_arcade VERSION 0.1.0 LANGUAGES CXX)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
set(CMAKE_BUILD_TYPE Debug CACHE STRING "" FORCE)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
PROJECT := aee_2026
|
||||
PROJECT := aee_arcade
|
||||
BUILDDIR := build
|
||||
|
||||
# Detecció de plataforma. En Windows CMake defaulteja a "NMake Makefiles"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# AEE 2026 — Tecles d'UI (Global Inputs)
|
||||
# AEE ARCADE — Tecles d'UI (Global Inputs)
|
||||
#
|
||||
# Mapeig id → codi SDL (el que reconeix SDL_GetScancodeFromName). Les tecles
|
||||
# de moviment del jugador viuen a part (Defaults::KeysGame); ací només hi ha
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# AEE 2026 — Català
|
||||
# AEE ARCADE — Català
|
||||
# lang: ca
|
||||
|
||||
notification:
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# AEE 2026 — English
|
||||
# AEE ARCADE — English
|
||||
# lang: en
|
||||
|
||||
notification:
|
||||
|
||||
+2
-2
@@ -22,8 +22,8 @@ real (logo animat, menú de títol, cutscene).
|
||||
Fitxer personal de desenvolupament, **fora del repo**. Viu a la mateixa carpeta
|
||||
de sistema que `config.yaml`:
|
||||
|
||||
- Linux (XDG): `$XDG_CONFIG_HOME/jailgames/aee_2026/debug.yaml`
|
||||
- Per defecte: `~/.config/jailgames/aee_2026/debug.yaml`
|
||||
- Linux (XDG): `$XDG_CONFIG_HOME/jailgames/aee_arcade/debug.yaml`
|
||||
- Per defecte: `~/.config/jailgames/aee_arcade/debug.yaml`
|
||||
|
||||
### Comportament segons build
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Sistema d'entitats
|
||||
|
||||
Registre del disseny, els treballs fets i els pendents per al sistema d'entitats (sarcòfags, porta, momia, antorxa, trampes, roca) d'aee_2026. Material de referència per a decisions futures — no és documentació d'API.
|
||||
Registre del disseny, els treballs fets i els pendents per al sistema d'entitats (sarcòfags, porta, momia, antorxa, trampes, roca) d'aee_arcade. Material de referència per a decisions futures — no és documentació d'API.
|
||||
|
||||
Estats possibles: `DONE`, `WIP`, `DEFERRED`, `WONTFIX`.
|
||||
|
||||
@@ -24,7 +24,7 @@ Estats possibles: `DONE`, `WIP`, `DEFERRED`, `WONTFIX`.
|
||||
|
||||
## 1. Context i objectiu inicial
|
||||
|
||||
aee_2026 és un clon tipus Oh Mummy! amb estètica Amidar. Els sarcòfags eren fins ara rectangles purament geomètrics calculats a [Map::getSarcRect](../source/game/map/map.cpp#L67); no hi havia entitats de joc (momies, antorxes, trampes, portes).
|
||||
aee_arcade és un clon tipus Oh Mummy! amb estètica Amidar. Els sarcòfags eren fins ara rectangles purament geomètrics calculats a [Map::getSarcRect](../source/game/map/map.cpp#L67); no hi havia entitats de joc (momies, antorxes, trampes, portes).
|
||||
|
||||
**Objectiu inicial** (prompt de partida):
|
||||
|
||||
@@ -158,7 +158,7 @@ Al CMakeLists: `ENTITY_SOURCES` conté els fitxers core; `APP_SOURCES` afegeix `
|
||||
- `make build`: OK, 0 warnings nous.
|
||||
- `./build/test_entities_smoke`: **9/9 OK**.
|
||||
- `ctest --output-on-failure`: 1/1 suite passed.
|
||||
- `timeout 5 xvfb-run ./build/aee_2026`: 5s sense crash, stdout inclou:
|
||||
- `timeout 5 xvfb-run ./build/aee_arcade`: 5s sense crash, stdout inclou:
|
||||
```
|
||||
Surface : torch.gif ... LOADED
|
||||
Surface : sarcophagus.gif ... LOADED (×2)
|
||||
@@ -323,7 +323,7 @@ Dos events encadenats perquè el *pintat* no és la *presència*: es filtra per
|
||||
|
||||
- `make debug` net, sense warnings ni de clang-tidy ni de cppcheck als fitxers nous.
|
||||
- `./build/test_entities_smoke`: **ALL OK** (14/14). T9 adaptat (publica `tile_painted` en lloc d'`on_tile_entered`); la resta de tests del sistema d'entitats passen sense tocar.
|
||||
- `timeout 5 xvfb-run ./build/aee_2026`: arrenca, log `PaintLayer: 21x15 tiles (336x240 px), tileset data/tilesets/tomb.gif` després de `EntityManager: 27 entitats carregades`, surt amb `Bye!` sense crash.
|
||||
- `timeout 5 xvfb-run ./build/aee_arcade`: arrenca, log `PaintLayer: 21x15 tiles (336x240 px), tileset data/tilesets/tomb.gif` després de `EntityManager: 27 entitats carregades`, surt amb `Bye!` sense crash.
|
||||
|
||||
### Pendent derivat
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Pla d'implementació — Menú de servei
|
||||
|
||||
Pla per a portar el menú de servei de `../aee` (`source/core/rendering/menu.cpp`)
|
||||
a `aee_2026`, adaptat a l'arquitectura actual (Scenes + Director instanciat +
|
||||
a `aee_arcade`, adaptat a l'arquitectura actual (Scenes + Director instanciat +
|
||||
`Options` amb setters persistents + `Screen` ARGB + `Text` bitmap). Document de
|
||||
referència per a implementar-ho en una sessió futura; no s'ha escrit cap codi
|
||||
encara.
|
||||
@@ -33,7 +33,7 @@ Tot el que segueix és la base; la còpia mental serveix per a no reinventar res
|
||||
|
||||
## 2. Diferències d'arquitectura rellevants
|
||||
|
||||
| Punt | `../aee` | `aee_2026` |
|
||||
| Punt | `../aee` | `aee_arcade` |
|
||||
| ----------------- | ---------------------------------------------------- | -------------------------------------------------------------------------- |
|
||||
| Overlay | `Overlay::render()` dibuixa Menú + Notifier al buffer | No hi ha Overlay. Cada Scene crida `Notifier::render()` i `RenderInfo::render()` |
|
||||
| Director | Singleton `Director::get()` amb `requestQuit/requestRestart` | Classe instanciada; sortida via `SDL_EVENT_QUIT` a `EventBuffer` |
|
||||
@@ -223,7 +223,7 @@ es necessita.
|
||||
### Limitació: pàgina Controls diferida
|
||||
|
||||
El menú de `../aee` té una pàgina Controls (`buildControls`) que permet
|
||||
remappar `up/down/left/right` i la tecla de menú. A `aee_2026`:
|
||||
remappar `up/down/left/right` i la tecla de menú. A `aee_arcade`:
|
||||
|
||||
- Les tecles de joc són `Defaults::KeysGame::{UP,DOWN,LEFT,RIGHT}` — constants
|
||||
`constexpr`, no mutables.
|
||||
@@ -273,7 +273,7 @@ y, w, h, argb, alpha)` que opere sobre `canvas_.data()`. El canvas és
|
||||
fons del menú pot ser `alpha=220` i es veu el joc apagat per darrere.
|
||||
|
||||
Mida fixa recomanada per al MVP: `BOX_W = 220`, altura dinàmica (igual que
|
||||
`../aee`). Canvas lògic d'`aee_2026` és `GameCanvas::WIDTH`/`HEIGHT` —
|
||||
`../aee`). Canvas lògic d'`aee_arcade` és `GameCanvas::WIDTH`/`HEIGHT` —
|
||||
confirmar mida real (mateixos 320×200?) a `utils/defines.hpp` abans de
|
||||
hardcoded.
|
||||
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Aventures en Egipte ARCADE</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>aee_2026</string>
|
||||
<string>aee_arcade</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>icon</string>
|
||||
<key>CFBundleIconName</key>
|
||||
<string>icon</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.jailgames.aee_2026</string>
|
||||
<string>org.jailgames.aee_arcade</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>aee_2026</string>
|
||||
<string>aee_arcade</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// aee_2026.rc
|
||||
// aee_arcade.rc
|
||||
IDI_ICON1 ICON "release/icons/icon.ico"
|
||||
@@ -90,7 +90,7 @@ auto GamepadBindings::get() -> GamepadBindings& {
|
||||
}
|
||||
|
||||
auto GamepadBindings::defaultButton(Action action) -> int {
|
||||
// Defaults històrics de l'aee_2026 (vegeu Player::accumulateGamepadMovement
|
||||
// Defaults històrics de l'aee_arcade (vegeu Player::accumulateGamepadMovement
|
||||
// i les consultes del Director per al menú).
|
||||
switch (action) {
|
||||
case Action::JUMP:
|
||||
@@ -200,7 +200,7 @@ auto GamepadBindings::save() -> bool {
|
||||
if (file_path_.empty()) { return false; }
|
||||
|
||||
std::ostringstream out;
|
||||
out << "# AEE 2026 - Vinculacions de mando per dispositiu.\n";
|
||||
out << "# AEE ARCADE - Vinculacions de mando per dispositiu.\n";
|
||||
out << "# Auto-generat des del menú de servei. Editable a mà.\n";
|
||||
out << "gamepads:\n";
|
||||
for (const auto& cfg : configs_) {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
namespace Resource {
|
||||
|
||||
const std::string Pack::DEFAULT_ENCRYPT_KEY = "AEE_2026_PACK_KEY";
|
||||
const std::string Pack::DEFAULT_ENCRYPT_KEY = "AEE_ARCADE_PACK_KEY";
|
||||
|
||||
namespace {
|
||||
constexpr const char* MAGIC = "AE26";
|
||||
|
||||
@@ -70,7 +70,7 @@ Director::Director() {
|
||||
std::exit(1);
|
||||
}
|
||||
|
||||
// Prepara la carpeta de sistema (~/.config/jailgames/aee_2026/) i carrega
|
||||
// Prepara la carpeta de sistema (~/.config/jailgames/aee_arcade/) i carrega
|
||||
// les opcions; si no existeix config.yaml el crea amb els defaults.
|
||||
createSystemFolder();
|
||||
|
||||
@@ -326,8 +326,8 @@ Director::~Director() {
|
||||
}
|
||||
|
||||
void Director::createSystemFolder() {
|
||||
// Volem la config a $XDG_CONFIG_HOME/jailgames/aee_2026/ (defecte
|
||||
// ~/.config/jailgames/aee_2026/). SDL_GetPrefPath apunta a XDG_DATA_HOME
|
||||
// Volem la config a $XDG_CONFIG_HOME/jailgames/aee_arcade/ (defecte
|
||||
// ~/.config/jailgames/aee_arcade/). SDL_GetPrefPath apunta a XDG_DATA_HOME
|
||||
// (.local/share), que és el lloc per a dades, no per a configuració.
|
||||
const char* xdg = std::getenv("XDG_CONFIG_HOME");
|
||||
std::string base;
|
||||
@@ -337,7 +337,7 @@ void Director::createSystemFolder() {
|
||||
const char* home = std::getenv("HOME");
|
||||
base = (home != nullptr) ? std::string(home) + "/.config" : ".";
|
||||
}
|
||||
system_folder_ = base + "/jailgames/aee_2026/";
|
||||
system_folder_ = base + "/jailgames/aee_arcade/";
|
||||
|
||||
std::error_code error;
|
||||
std::filesystem::create_directories(system_folder_, error);
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <string>
|
||||
|
||||
// Configuració personal de desenvolupament, carregada de `debug.yaml` dins la
|
||||
// carpeta de sistema (`$XDG_CONFIG_HOME/jailgames/aee_2026/debug.yaml`). No es
|
||||
// carpeta de sistema (`$XDG_CONFIG_HOME/jailgames/aee_arcade/debug.yaml`). No es
|
||||
// versiona: cada dev el crea a la seua màquina. Si no existeix, s'aplica el
|
||||
// valor per defecte (GAME) sense warning de nivell error.
|
||||
namespace DebugConfig {
|
||||
|
||||
@@ -692,7 +692,7 @@ namespace Options {
|
||||
g_config_version = Texts::VERSION;
|
||||
|
||||
std::ostringstream out;
|
||||
out << "# Configuració d'AEE 2026. Generat automàticament; editable a mà.\n";
|
||||
out << "# Configuració d'AEE ARCADE. Generat automàticament; editable a mà.\n";
|
||||
out << "version: \"" << g_config_version << "\"\n";
|
||||
out << "locale: \"" << g_locale << "\"\n\n";
|
||||
|
||||
@@ -780,7 +780,7 @@ namespace Options {
|
||||
g_postfx_file_path,
|
||||
g_postfx_presets,
|
||||
&writePostFXPreset,
|
||||
"Presets PostFX per a AEE 2026. Editable a mà.",
|
||||
"Presets PostFX per a AEE ARCADE. Editable a mà.",
|
||||
"Els noms han de coincidir amb config.yaml > video.shader.current_postfx_preset.");
|
||||
}
|
||||
|
||||
@@ -803,7 +803,7 @@ namespace Options {
|
||||
g_crtpi_file_path,
|
||||
g_crtpi_presets,
|
||||
&writeCrtPiPreset,
|
||||
"Presets CRT-Pi per a AEE 2026. Editable a mà.",
|
||||
"Presets CRT-Pi per a AEE ARCADE. Editable a mà.",
|
||||
"Els noms han de coincidir amb config.yaml > video.shader.current_crtpi_preset.");
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -2,5 +2,5 @@
|
||||
|
||||
namespace Version {
|
||||
constexpr const char* GIT_HASH = "@GIT_HASH@";
|
||||
constexpr const char* APP_NAME = "Aventures en Egipte";
|
||||
constexpr const char* APP_NAME = "Aventures en Egipte ARCADE";
|
||||
} // namespace Version
|
||||
@@ -87,7 +87,7 @@ namespace {
|
||||
|
||||
void testLoadConfigMissing() {
|
||||
std::cout << "T2 loadConfig — fitxer absent (fallbacks)\n";
|
||||
const auto CFG = RoomFsm::loadConfig("/tmp/aee_2026_does_not_exist.yaml");
|
||||
const auto CFG = RoomFsm::loadConfig("/tmp/aee_arcade_does_not_exist.yaml");
|
||||
CHECK(CFG.intro_fade_in_ms == 500);
|
||||
CHECK(CFG.intro_text_delay_ms == 500);
|
||||
CHECK(CFG.intro_text_enter_ms == 500);
|
||||
|
||||
@@ -77,12 +77,12 @@ namespace {
|
||||
|
||||
void testResolveStartSceneMissing() {
|
||||
std::cout << "T4 resolveStartScene fitxer inexistent\n";
|
||||
CHECK(DebugConfig::resolveStartScene("/tmp/aee_2026_nonexistent_XYZ.yaml") == DebugConfig::StartScene::GAME);
|
||||
CHECK(DebugConfig::resolveStartScene("/tmp/aee_arcade_nonexistent_XYZ.yaml") == DebugConfig::StartScene::GAME);
|
||||
}
|
||||
|
||||
void testResolveStartSceneValid() {
|
||||
std::cout << "T5 resolveStartScene fitxer vàlid\n";
|
||||
const auto PATH = std::filesystem::temp_directory_path() / "aee_2026_test_debug_valid.yaml";
|
||||
const auto PATH = std::filesystem::temp_directory_path() / "aee_arcade_test_debug_valid.yaml";
|
||||
writeTemp(PATH.string(), "start_scene: TITLE\n");
|
||||
CHECK(DebugConfig::resolveStartScene(PATH.string()) == DebugConfig::StartScene::TITLE);
|
||||
std::filesystem::remove(PATH);
|
||||
@@ -90,7 +90,7 @@ namespace {
|
||||
|
||||
void testResolveStartSceneInvalid() {
|
||||
std::cout << "T6 resolveStartScene valor invàlid\n";
|
||||
const auto PATH = std::filesystem::temp_directory_path() / "aee_2026_test_debug_invalid.yaml";
|
||||
const auto PATH = std::filesystem::temp_directory_path() / "aee_arcade_test_debug_invalid.yaml";
|
||||
writeTemp(PATH.string(), "start_scene: WUT\n");
|
||||
CHECK(DebugConfig::resolveStartScene(PATH.string()) == DebugConfig::StartScene::GAME);
|
||||
std::filesystem::remove(PATH);
|
||||
@@ -98,7 +98,7 @@ namespace {
|
||||
|
||||
void testCreateDefaultIfMissing() {
|
||||
std::cout << "T7 createDefaultIfMissing\n";
|
||||
const auto PATH = std::filesystem::temp_directory_path() / "aee_2026_test_debug_create.yaml";
|
||||
const auto PATH = std::filesystem::temp_directory_path() / "aee_arcade_test_debug_create.yaml";
|
||||
std::filesystem::remove(PATH);
|
||||
CHECK(!std::filesystem::exists(PATH));
|
||||
DebugConfig::createDefaultIfMissing(PATH.string());
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
namespace {
|
||||
|
||||
void showHelp() {
|
||||
std::cout << "aee_2026 - Resource Packer\n";
|
||||
std::cout << "==========================\n";
|
||||
std::cout << "aee_arcade - Resource Packer\n";
|
||||
std::cout << "============================\n";
|
||||
std::cout << "Usage: pack_resources [options] [input_dir] [output_file]\n\n";
|
||||
std::cout << "Options:\n";
|
||||
std::cout << " --help Show this help message\n";
|
||||
@@ -68,7 +68,7 @@ int main(int argc, char* argv[]) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::cout << "aee_2026 - Resource Packer\n==========================\n";
|
||||
std::cout << "aee_arcade - Resource Packer\n============================\n";
|
||||
std::cout << "Input directory: " << data_dir << '\n';
|
||||
std::cout << "Output file: " << output_file << '\n';
|
||||
|
||||
|
||||
Reference in new issue
Block a user