mud/src/mudlib
Jared Miller 8a5ef7b1f6
Implement V5+ opcodes: aread, save_undo, shifts, scan_table, and more
Implements the opcode set needed for Lost Pig (V8):
- op_aread: V5+ input with text at byte 2, char count at byte 1,
  stores terminating character
- op_save_undo/op_restore_undo: stub returning -1/0 (undo not yet
  available, game continues without it)
- op_log_shift/op_art_shift: logical and arithmetic bit shifts
- op_scan_table: table search with configurable entry size and
  word/byte comparison
- op_tokenize: re-tokenize text buffer against dictionary
- op_copy_table: memory copy/zero with forward/backward support
- op_set_font: returns 1 for font 1, 0 for others
- op_print_unicode/op_check_unicode: basic Unicode output support

Lost Pig now runs to completion: 101K steps, 61 unique opcodes,
3 full input cycles with room descriptions rendering correctly.
2026-02-10 13:51:28 -05:00
..
combat Add spawn command and wire mobs into server 2026-02-09 11:54:29 -05:00
commands Move z-machine restore before interpreter thread start 2026-02-10 11:51:45 -05:00
render Wire client capabilities into Player & terrain 2026-02-07 22:44:45 -05:00
store Add PlayerData TypedDict to fix type errors 2026-02-07 22:13:27 -05:00
world Add world cache to speedup startup 2026-02-07 15:00:07 -05:00
zmachine Implement V5+ opcodes: aread, save_undo, shifts, scan_table, and more 2026-02-10 13:51:28 -05:00
__init__.py Add first generation 2026-02-07 09:45:48 -05:00
__main__.py Add debug logs to view negotiations 2026-02-07 10:32:11 -05:00
caps.py Add MTTS capability parsing module with client color detection 2026-02-07 22:44:23 -05:00
content.py Add TOML content loader for declarative command definitions 2026-02-07 20:27:29 -05:00
editor.py Fix editor search/replace parsing, dirty flag, and cursor tracking 2026-02-07 23:06:47 -05:00
effects.py Add fly command with cloud trail effects 2026-02-07 14:48:42 -05:00
embedded_if_session.py Process V3 save branch on restore to advance PC past branch data 2026-02-10 13:15:16 -05:00
entity.py Add mob templates, registry, and spawn/despawn/query 2026-02-09 11:54:29 -05:00
if_session.py Strip dfrotz prompt even without preceding newline 2026-02-09 17:55:14 -05:00
mob_ai.py Add mob AI for combat decisions 2026-02-09 11:54:29 -05:00
mobs.py Add mob templates, registry, and spawn/despawn/query 2026-02-09 11:54:29 -05:00
player.py Wire embedded z-machine interpreter into MUD mode stack 2026-02-10 11:18:16 -05:00
resting.py Add rest command for stamina recovery 2026-02-08 22:16:47 -05:00
server.py Add blank line before IF mode prompt to match dfrotz 2026-02-09 17:55:14 -05:00