+
Skip to content

Tags: jgabaut/helapordo

Tags

1.4.13

Toggle 1.4.13's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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

1.4.12

Toggle 1.4.12's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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.11

Toggle 1.4.11's commit message
chore: format

1.4.10

Toggle 1.4.10's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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

1.4.9

Toggle 1.4.9's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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

1.4.8

Toggle 1.4.8's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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

1.4.7

Toggle 1.4.7's commit message
fix: 1.4.7 update broken anvil tag for 1.4.6

1.4.6

Toggle 1.4.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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`

1.4.5

Toggle 1.4.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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`

1.4.4

Toggle 1.4.4's commit message
chore: update docs vers

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载