Tags: jgabaut/helapordo
Tags
feat: 1.4.13 Drop s4c-scripts, bump deps, fixes (#112) ### Changed - Drop s4c-scripts to use the one provided by sprites4curses - Remember to run git submodule --init --recursive when trying to build - Update submodule URLs to use https - Add missing aclocal mention for build instructions in README - Fix: use int32_t for SerCountstats values - Fix: deser_Gamestate() uses proper current_roomtype - Fix: proper allocation size for status Turncounter desc field - Fix: don't update rooms done counter for HOME rooms - Regen archer_drop, srwarthog_square, werewolf_transform for transparency - Fix: correct draw_GameScreen_Texture() sprite index modulo, drops -DS4C_RL_QUIETER - Bump koliseo to 0.4.9 - Bump amboso to 2.0.11 - Bump invil to 0.2.23 - Bump sprites4curses to 0.4.9
feat: 1.4.12 Drop s4c-gui, bump deps (#106) ### Changed - Drop s4c-gui submodule since it's now included in sprites4curses - Change anvil header inclusion to be off by default - Use int32_t for coins balance in SerFighter - Bump HELAPORDO_BINSAVEFILE_VERSION to 0.0.6 - Bump sprites4curses to 0.4.8 - Bump koliseo to 0.4.6 - Bump invil to 0.2.19 - Bump amboso to 2.0.9 - Bump s4c-scripts to 0.1.3 - Update gif in README by @AliShahabzadeh
1.4.10 - Fix raylib mockup, bump savefile version (#100) ## Changed - The raylib build gets to see more of the lower APIs thanks to new notifications interface - Drop s4c-gui inclusion for raylib build - Trim gameloop_rl(), use hlpd_getopts() and hlpd_reset_logfile() - Use texture rendering to scale the whole texture - Changed some error messages for save loading ## Fixed - Add release_data.o to make clean - Refactor hlpd_default_keybinds and other places needed to build with raylib ## Notes - Add sizeof(SerGamestate), sizeof(SerSaveHeader) to const.c, const_rl.c anvil tests - Use int64_t for start_time in SerGamestate, instead of platform-specific-width clock_t - Use int32_t for a couple of SerChest values - Bump HELAPORDO_BINSAVEFILE_VERSION to 0.0.5
feat: 1.4.9 Notifications overhaul, add config option for default bac… …kground support, drop textfile saves legacy code (#97) ## Added - Embed info on previous releases for later use - Added format macros for more Ser structs, for hlpd-save2l - Add Notification to hold state for enqueue_notification() ## Changed - Move default terminal color support behind a feature flag - Now needs either - ./configure --enable-default-background to be used - or HELAPORDO_SUPPORT_DEFAULT_BACKGROUND to be defined before building - Binary file save/load does not require -X anymore. It's still prone to change, so future saves are not guaranteed to respect backwards compatibility. - Bsp floor generation does not require -X anymore. - getopt() is called only once per execution, rather than once per run when using retry() - Slim down gameloop() by collecting some preparation steps in new functions - d in debug_generic() prints release data (currently unreachable) - Refactor to drop notify_win argument in lower interfaces - Refactor display_notification() to enqueue_notification() - Increase size requirement for warning - Increase notification window size - Use s4c_display_sprite_at_coords() instead of s4c_animate_rangeof_sprites_at_coords() to handle SIGINT while on animation screen ## Fixed - Fix: load roomscompleted for roomsDone - Fix: load floorscompleted for `floors_done - Fix: use in32_t for status field in Ser structures ## Notes - Add ringabuf at 0.0.4 - Pass color to printStatusText() - WIP: Add plot_line_in_ncurses() - Drop Story, Standard from Gamemode - Drop -s to run with Story mode - Drop textfile save/load interfaces - Drop loreCounter from Path, SetPath - Drop HELAPORDO_SAVEPATH_1
feat: 1.4.8 - Keybind schemas, transparent mode, fixes (#93) ## Added - Experimental: improved TUI for pickClass(), pickName() using s4c-gui - Add GameOptions for runtime settings - Can be changed at any time from menu (open with m). - Experimental: add new binfile for storing the settings - Add HLPD_Key, hlpd_default_keybinds as base to support customizable keybinds - For now, just a rigid set of 3 schemas is available (mutually exclusive): ARROW_KEYS,VIM_KEYS, WASD_KEYS. - Run with -j to use VIM_KEYS at start, -w to use WASD_KEYS at start - Add optional usage of terminal's default colors (to support transparent background for the game). - Run with -b to use this option at start - Needs support from your ncurses library for reset_color_pairs(), which is an extension to ncurses. - Builds missing this support are unable to use this option. If your build is stuck with this option off, you may try to rebuild your ncurses library from source. - Collect BSP_Room tree for each bsp gen in gamestate_kls - Currently only used by dbg_BSP_Room() on the root - Add WIP draw_BSP_Room() ## Changed - Most curses menu wrap around - When going up from first item or down from last, wrap to the other side - Experimental: Use int32_t for enum types in ser.h - Renamed ctrl_c_handler() to hlpd_sigint_handler() ## Fixed - Fix: proper check for ncurses version for log - Fix: clear gamestate->current_room after finishing one - Fix typo in header - Fix: drop useless left/right pick for get_saveslot_index() - Fix: move anvil__helapordo.h inclusion to game_utils.h - Should make the starting info show anvil info instead of Built without anvil incorrectly - Fix: place player at home coords with -X after Boss kill ## Notes - Bump sprites4curses to 0.4.5 - Dropped .md extension from LICENSE - Adds s4c-gui at 0.0.7
feat: 1.4.6 Handle SIGINT, add bsp floor layout gen (#84) ## Added - Add `SIGINT` handler - Try to free the arenas when `Ctrl+C` is received - Add bsp implementation, based on [mtsdurica](https://github.com/mtsdurica/bsp-dungeon-generator)'s rendition of [the popular algorithm](https://en.wikipedia.org/wiki/Binary_space_partitioning) - With the author's permission, the code is relicensed under `GPL-3.0-only`, to have only one license for all the game sources. - Thanks to Matúš for its availability and politeness ## Changed - Add `from_bsp` field to `Floor` - Enlarge `seed` field in `Path` by 1 - Update experimental binary savefile version to `0.0.3` - Improves #80 - Chore: recompute floor area in `floor_set_room_types()` with `G_EXPERIMENTAL_ON == 1` - Floors generated with bsp will have a random position for `HOME` room - Use `enemy_area_ratio` to loop in enemy room placement for new floors - Floors generated with bsp will have relatively less enemies ## Fixes - Fix: drop repetitive done_loading log message - Fix: avoid leaving the terminal messed up on binary savefile load errors - Fix: free arenas in `initRoom()` for invalid classes BASIC, WALL - Fix: removed some UB ## Notes - Chore: use `-X` in `raylib` build to toggle floor layout render - Chore: fix wrong doxygen comments for `Path` and `SerPath` - Closes #83 - Bump `koliseo` to `0.4.3` - Bump `s4c-scripts` to `0.1.1` - Bump `invil` to `0.2.13`
feat: 1.4.5 Update logic to save/load RNG advancements, seeded runs, … …bump deps (#82) ### Added - Add logic to save/load the RNG state across runs - Updates #80 - Add `hlpd_rand()`, `G_RNG_ADVANCEMENTS`, `gen_random_seed()`, `hlpd_hash()` - Add `is_seeded` to `Gamestate` to handle seeded runs - Seeded runs are started with `-S <seed>` - Add `G_RNG_ADVANCEMENTS` value reset section to `prep_Gamestate()` - Add `-D` to use current dir for saves - Add proof-of-concept binary tool for savefile handling ### Changed - Randomly generated seeds are now strings between 8 and 19 chars long - Drop `src/utils/bin_saves.h` - Drop `is_localexe` from `Gamestate` - To use current directory for saves/files, run with `-D` - Bump `amboso` to `2.0.6` - Bump `invil` to `0.2.12` - Bump `koliseo` to `0.4.2` - Upgraded `helapordo.doxyfile` for `doxygen` `1.10` ### Fixed - Fix cases where loading/saving an `Equip` could fail because its `perksCount` was `== EQUIPPERKSMAX` - Closes #79 - May need further inspection... Seems good - Fix cases where loading a zero-initialised `Room` led to failed enemy index read - `ser_Room()` sets class as `BASIC` when passed Room is `NULL`, rather than letting `0` be used for the `class` field - Fix: move `enemyTotal` randomisation call in `initRoom()` into the `ENEMIES` class case - Fix: `updateSelectedSpecialW()` iteration index - Closes #81 - Fix: avoid restarting colors, window box in `draw_floor_view()` - Fix: partial fixes to errors for missing save directories - By default, the game will try to use the global directory. The goal is not to fail if any needed directory is missing, as long as we can create it ourselves. - Skip prep of `save.txt` with `G_EXPERIMENTAL_ON == 1`
PreviousNext