Commit Graph

14 Commits

Author SHA1 Message Date
45dba95678 Add ARCHITECTURE.md Part 2: Go OOP port design
Design for the Go port (module sneak.berlin/go/rogue):
- RogueGame instance type owns all former globals; no package globals
- THING union split into Creature (Player/Monster) and Object
- Slices replace THING linked lists; list.c is not ported
- Daemon function pointers become serializable DaemonID enum + dispatch
- tcell/v2 (sole third-party dep) replaces curses; Window cell buffers
  preserve the screen-as-data-structure idiom
- encoding/gob snapshot replaces the 2,134-line state.c serializer
- Exact-LCG RNG for seed-compatible dungeon generation, with golden tests
- Per-file porting map, naming conventions, porting order, drop list
2026-07-06 18:17:48 +02:00
91eeee09c5 Add ARCHITECTURE.md Part 1: complete map of the C program
Documents the entire Rogue 5.4.4 C codebase ahead of the Go port:
program flow, source file inventory, the full type system (THING
union, PLACE map, rooms, stats, obj_info, daemons), constants and
flag bits, the macro layer, a census of every global variable, and
a function-by-function catalog of all 36 source files.
2026-07-06 18:13:55 +02:00
David Silva
546829b745 Merge pull request #14 from ndrew222/modern-rogue
change CFLAGS to compile on Linux
2026-05-14 20:59:09 +01:00
ndrew222
3554e0192e change CFLAGS to compile on Linux 2026-01-26 11:46:29 +08:00
David Silva
4eb2e8ae8c Improve README installation instructions for newcomers
- Reorganize Prerequisites section with numbered items for clarity
- Emphasize that ncurses development package is required (not just runtime)
- Update package names: add libncurses-dev for modern Debian/Ubuntu
- Add Fedora-specific instructions using dnf
- Add 'Before you begin' note in Quick Start section
- Improve troubleshooting section with clearer explanations
- Enhance platform-specific notes for macOS Homebrew
2025-11-07 15:51:27 +00:00
David Silva
97aee89f9c Update date in second modernization iteration entry
- Change date from placeholder 2025-01-XX to 2025-11-07 for function prototype fixes
2025-11-07 15:37:05 +00:00
David Silva
f564a46c1c Update modernization log: add dates and cleanup whitespace
- Update date from placeholder to 2025-11-07 in MODERNIZATION_LOG.md
- Mark function prototype warnings as fixed in pending issues
- Remove trailing whitespace in daemon.c, rogue.h, state.c
- Clean up formatting in MODERNIZATION_LOG.md
2025-11-07 15:36:58 +00:00
David Silva
a0c66a6078 Fix function prototype warnings for C23 compatibility
- Add proper function prototypes: fatal(), my_exit(), set_order()
- Fix function pointer types to match call sites: void (*func)(int)
- Remove conflicting localtime() declaration in rip.c
- Fix incorrect new_item() call in state.c (remove unused argument)

Result: Zero compilation warnings, C23 compatible.

See MODERNIZATION_LOG.md for detailed analysis.
2025-11-07 15:33:46 +00:00
David Silva
b66c6659c9 Fix ncurses compatibility: remove internal structure access
- Remove direct access to curscr->_cury and curscr->_curx
- Replace with public API call move() for cursor positioning
- Fixes critical build failure on modern systems with ncurses 6.x
- Build now succeeds on macOS arm64

See MODERNIZATION_LOG.md for detailed reasoning and impact analysis.
2025-11-07 15:30:46 +00:00
David Silva
e13f5c948a Add references to BUILD_ISSUES.md in README
- Add note in Quick Start section about build issues
- Add reference at top of Troubleshooting section
- Add specific entry for ncurses compatibility error in Build Issues
2025-11-07 15:22:13 +00:00
David Silva
45c3e32976 Document build issues found during README testing
- Critical compilation error: direct access to internal ncurses structure members
- Code compatibility issue with modern ncurses (curscr->_cury, curscr->_curx)
- Affects both standard and manual build methods
- Documented on macOS (darwin 25.0.0, Apple Silicon)
2025-11-07 15:20:29 +00:00
David Silva
af5533b279 docs: Improve README with comprehensive tooling and build instructions
- Fix Project Structure section (remove incorrect directory structure)
- Add missing prerequisites (make, m4) with installation instructions
- Clarify when autoreconf is needed vs when configure exists
- Improve Windows build instructions with detailed PDCurses setup
- Add optional documentation tools section
- Enhance troubleshooting with additional common issues
- Add notes about documentation adaptation and executable name variations
- Improve macOS Homebrew instructions for both Intel and Apple Silicon
- Add platform-specific build notes and alternatives
2025-11-07 15:14:20 +00:00
David Silva
4737f1bb61 README.md 2025-11-07 15:09:01 +00:00
David Silva
cf9bd26d56 Rogue - version 5.4.4
I want to preserve the game.
2016-07-23 03:24:54 +01:00