Skip to content

Maniacs Patch - Partial Implementation of game option commands#3487

Open
jetrotal wants to merge 1 commit into
EasyRPG:masterfrom
EasyRPG-NewFeatures:maniacs-gameOptions
Open

Maniacs Patch - Partial Implementation of game option commands#3487
jetrotal wants to merge 1 commit into
EasyRPG:masterfrom
EasyRPG-NewFeatures:maniacs-gameOptions

Conversation

@jetrotal

Copy link
Copy Markdown
Contributor

Added support for various Maniac Patch runtime engine settings via a new command handler in Game_Interpreter. Introduced new Game_System methods for pause screen when focus lost, fatal mix settings, fast-forward text, frame skip mode and message mouse disabling. Updated Player and Window_Message to respect these options, including frame skipping and fast-forwarding message text.

missing features are: battle origin, and message face size.

@jetrotal

jetrotal commented Oct 30, 2025

Copy link
Copy Markdown
Contributor Author

this pr requires an update in liblcf, to include:

		bool maniac_fast_forward_text = false;
		int32_t maniac_frame_skip_mode = 0;
		int32_t maniac_battle_origin = 0;
		int32_t message_face_width = 48;
		int32_t message_face_height = 48;
		
		
		
		&& l.maniac_fast_forward_text == r.maniac_fast_forward_text
		&& l.maniac_frame_skip_mode == r.maniac_frame_skip_mode
		&& l.maniac_battle_origin == r.maniac_battle_origin
		&& l.message_face_width == r.message_face_width
		&& l.message_face_height == r.message_face_height
image

@Ghabry

Ghabry commented Dec 15, 2025

Copy link
Copy Markdown
Member

Can you try to figure out which chunk IDs Maniacs uses to save this?

E.g. create a save before and after applying the options, then compare the XML savefile.

This won't help for unknown chunks. The Player will dump unknown chunks into the logfile which should be in %AppData%\EasyRPG\Player (or shown on the terminal in case of the debug build)

@jetrotal

jetrotal commented Jan 2, 2026

Copy link
Copy Markdown
Contributor Author

couldn't find any relevant diff between save files.

here's a unknown chunk report:

Debug: Loaded Map Map0001.lmu
Debug: Tree: MAP0001
Debug: lcf (Debug): Skipped Chunk 86 (1 byte) in lcf at DB (SaveSystem)
Debug: lcf (Debug): 01
Debug: lcf (Debug): Skipped Chunk 40 (1 byte) in lcf at 5E (SaveSystem)
Debug: lcf (Debug): 0a
Debug: lcf (Debug): Skipped Chunk 41 (1 byte) in lcf at 61 (SaveSystem)
Debug: lcf (Debug): 14
Debug: lcf (Debug): Skipped Chunk 85 (1 byte) in lcf at E5 (SaveSystem)
Debug: lcf (Debug): 03
Debug: lcf (Debug): Skipped Chunk 86 (1 byte) in lcf at E9 (SaveSystem)
Debug: lcf (Debug): 01
Debug: Loading Save Save02.lsd
Debug: lcf (Debug): Skipped Chunk 40 (1 byte) in lcf at 5E (SaveSystem)
Debug: lcf (Debug): 0a
Debug: lcf (Debug): Skipped Chunk 41 (1 byte) in lcf at 61 (SaveSystem)
Debug: lcf (Debug): 14
Debug: lcf (Debug): Skipped Chunk 85 (1 byte) in lcf at E5 (SaveSystem)
Debug: lcf (Debug): 03
Debug: lcf (Debug): Skipped Chunk 86 (1 byte) in lcf at E9 (SaveSystem)
Debug: lcf (Debug): 01
Debug: Savegame version 0 (RPG_RT or EasyRPG Player Pre-0.6.0)
Debug: Loaded Map Map0001.lmu
Debug: Tree: MAP0001

saves and map files:
Map0001.zip

@Ghabry

Ghabry commented May 14, 2026

Copy link
Copy Markdown
Member

Can confirm that this doesn't persist in the savedata. It isn't even reset when returning to the Title (imo this should be changed).

@Ghabry

Ghabry commented May 14, 2026

Copy link
Copy Markdown
Member

Correction. Only persisted are "Size of Face" and "Position of Battle Screen".

SaveSystem:

  • 0x40: Face Width
  • 0x41: Face Height
  • 0x85: Battle Screen Position

Added support for various Maniac Patch runtime engine settings via a new command handler in Game_Interpreter. Introduced new Game_System methods for pause screen when focus lost, fatal mix settings, fast-forward text, frame skip mode and message mouse disabling. Updated Player and Window_Message to respect these options, including frame skipping and fast-forwarding message text.

missing features are: battle origin, and message face size.
@Ghabry Ghabry force-pushed the maniacs-gameOptions branch from e89f80d to e6fcffb Compare May 14, 2026 12:01
mgambrell added a commit to mgambrell/Player that referenced this pull request Jun 10, 2026
The event-command reference (3001-3033 + undocumented 3022/3023/3024 + modified
baseline commands) at per-index parameter level, with sub-op tables, the
RE-verified battle trigger 6/7 firing model, and an EasyRPG status rollup
(10 FULL / 9 PARTIAL / 2 STUB / 1 WONTFIX / 10 MISSING vs the 220325 surface).

The 3018 SetGameOption op-map conflict is RESOLVED by consumption-site
adjudication across both the 220325 (Beloved Rapture) and 211010 reference
binaries: the official-docs / PR EasyRPG#3487 reading is correct (op0 run-when-inactive,
op1 FatalMix FPS/TestPlay/RShift-skip, op2 pic-max, op3 frameskip, op4 mouse-msg
gate, op5 3x3 battle-UI anchor, op6 pic rebuild, op7 FaceSet cell = 220325-only).
Critic pass fixed 12 sourcing errors.

Co-Authored-By: Claude Fable 5 <[email protected]>
mgambrell added a commit to mgambrell/Player that referenced this pull request Jun 10, 2026
… PR EasyRPG#3487

Records two divergences between the applied PR EasyRPG#3487 and the binary RE:
op 6 (animLimit per TPC/changelog vs picture-array rebuild per first-pass RE;
animLimit favored) and op-1 bit-4 (binary gates fast-forward on right-Shift
held; PR sets it unconditionally).

Co-Authored-By: Claude Fable 5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants