Caph

Versione: 
1.1
Data rilascio: 
Sabato, 27 Febbraio, 2016

Licenza:

Interfaccia:

Caph è un gioco rompicapo basato sulla fisica.

Lo scopo è quello di far toccare un oggetto rosso con uno verde.

Si possono usare diversi oggetti (solidi, corde e oggetti curvabili) servendosi della forza di gravità.

Port di differenti autori.

Questo software è distribuito come pacchetto compresso, da scaricare e installare manualmente; se ci sono prerequisiti da soddisfare, andranno anch'essi scaricati e installati manualmente.

Installazione manuale

Il programma è distribuito come pacchetto ZIP: scaricare in una cartella temporanea e scompattare nella cartella di destinazione. Vedi sotto per il(i) link di download.

Qui di seguito trovi i link di download per l'installazione manuale del software:

Caph v. 1.1 (Release 3, 19/8/2026, Martin Iturbide) Readme/What's new
# Caph for ArcaOS / OS/2 Caph is a physics sandbox puzzle game. Guide the red object to touch the green object by drawing solid, wire (rope), or bendable shapes that interact with gravity. ## Version **0.1.0 – ArcaOS Release 1** ## License GNU GPL v3 — see `LICENSE` for the full text. ## Requirements - ArcaOS 5.x (or OS/2 Warp 4.5 with the appropriate runtime libraries) - SDL2 - libpng ## How to Build Use the provided OS/2 build script with GCC / EMX: ``` compile.cmd ``` The script sets the required `EMXOMFLD_*` linker environment variables and calls `make -f makefile.os2`. The build produces `caph.exe`. Game data must be in the `share/caph/` directory next to `bin/` (i.e. `../share/caph/` relative to the executable). ## How to Run ``` caph.exe ``` ## Configuration The configuration file is stored in the XDG Base Directory: - `%XDG_CONFIG_HOME%/caph/caph.conf` if `XDG_CONFIG_HOME` is set - `%HOME%/.config/caph/caph.conf` otherwise The directory is created automatically on first run. The file contains three integers: `<width> <height> <fullscreen>`. Example: ``` 1024 768 0 ``` The minimum resolution is 1024 × 768; lower values in the config are ignored. ## Keyboard Shortcuts | Key | Action | |-------------|-------------------------------------------| | Alt+Enter | Toggle fullscreen | | Ctrl+X | Quit immediately | | Q | Quit | | P | Toggle play / edit mode | | T | Pause / resume physics | | R | Reload current level | | N | Next level | | M | Previous level | | A | Select: default (soft) object type | | S | Select: soft | | B | Select: bend | | C | Select: const (edit mode) | | X | Select: phantom (edit mode) | | F | Select: fly (edit mode) | | D / Escape | Remove last object | | E | Erase all objects (edit mode) | | K | Save map (edit mode) | | U | Toggle brush rotation mode | | 1 / 2 / 3 | Toggle phantom colour flags R / G / B | | 4 / 5 | Toggle player / target flags | | G | Toggle background flag | | H | Toggle NOCROSS flag | | L | Toggle loop flag | ## ArcaOS Port — Change Log ### Release 1 — upstream 0.1.0 #### SDL1 → SDL2 Migration - Updated SDL header paths from `SDL/SDL.h` to `SDL2/SDL.h`. - Removed SDL1 `#undef main` (not needed in SDL2). - Replaced `SDL_SetVideoMode` with `SDL_CreateWindow`. - Replaced `SDL_WM_SetCaption` with `SDL_SetWindowTitle` (title set in `SDL_CreateWindow`). - `SDL_ShowCursor(0)` → `SDL_ShowCursor(SDL_DISABLE)`. - `SDL_SoftStretch` (removed in SDL2) → `SDL_BlitScaled`. - `SDL_SRCCOLORKEY` → `SDL_TRUE` in `SDL_SetColorKey`. - `SDL_GL_SwapBuffers()` → `SDL_GL_SwapWindow(window)` (OpenGL path). #### Fullscreen Scaling - Introduced a **virtual back buffer** (`screen`) created with `SDL_CreateRGBSurface` at the game's native resolution. All rendering targets this surface unchanged. - Added `caph_present()`: blits the virtual buffer to the real window surface with aspect-ratio-preserving `SDL_BlitScaled` when the window is larger than the native resolution (fullscreen), or a plain `SDL_BlitSurface` in windowed mode, then calls `SDL_UpdateWindowSurface`. - Alt+Enter fullscreen toggle uses `SDL_SetWindowFullscreen` without reassigning the virtual buffer pointer. #### New Keyboard Shortcuts - **Alt+Enter** — toggle fullscreen at runtime. - **Ctrl+X** — quit immediately from any mode. #### Minimum Resolution - Resolution is clamped to a minimum of 1024 × 768 regardless of the value stored in the configuration file. #### XDG Configuration Path - Configuration file moved from `$HOME/.caph.conf` to `$XDG_CONFIG_HOME/caph/caph.conf` (defaulting to `$HOME/.config/caph/caph.conf`). The directory is created automatically. #### OS/2-specific Additions - Added `src/caph.def` module definition file (`NAME CAPH WINDOWAPI`). - Added `makefile.os2` for building with GCC / EMX on ArcaOS. - Added `compile.cmd` build helper that sets `EMXOMFLD_*` linker variables. - `sys_get_data_dir()` falls back to `../share/caph/` directly on OS/2 (no `/proc/self/exe`). #### Compiler Warning Fixes (GCC 9.2 `-Wall`) - Renamed `static int time` → `t_run` to avoid conflict with `time_t time()` from `<time.h>` (pulled in by `<sys/stat.h>`). - Removed unused `ret` variables in `sys_chdir`, `main` (`caph.c`), `img_load_png` (`draw.c`), and `load_map` (`maps.c`); all unchecked return values wrapped with `(void)`. - Fixed `-Wformat-truncation`: enlarged `path` buffer in `sys_get_config`. ## Authors - Original game: Roman Belov ## Links - Upstream: https://sourceforge.net/projects/caphgame/
 hobbes.os-2.in/download/os2/games-6/educ-3/Caph_1-1r3.zip
Caph (28/2/2016, Andrey Vasilkin)
 os2.snc.ru/pub/games/SDL/caph-20160228.zip
Scheda aggiornata l'ultima volta il: 19/08/2026 - 05:36

Aggiungi un commento