Skip to content

Dialoguepage trifurcation#435

Open
PringlesGang wants to merge 36 commits into
masterfrom
dialoguepage-trifurcation
Open

Dialoguepage trifurcation#435
PringlesGang wants to merge 36 commits into
masterfrom
dialoguepage-trifurcation

Conversation

@PringlesGang

@PringlesGang PringlesGang commented Mar 24, 2026

Copy link
Copy Markdown
Member

Trifurcates the DialoguePage class into separate instances for dialogue, backlog entries, and tip entries

Moves text parsing to a separate class, with separate directive functions for dialogue, backlog, and tips, handling what is parsed and how

  • Fixes [DialoguePage Refactor Step 3] Duplicate string parsing for the backlogs so that they don't keep the "styling" from the main DialoguePage #249
  • Only pushes a new backlog entry at the end of InstMesMain, instead of at the start of InstMes
  • Fixes Fix JP word-wrapping #283
  • Give dialogue boxes and nametags more freedom in how they can be rendered
  • Implement placing the dialogue box through ScrWork
  • Fine-tune nametag visibility and positioning
  • Allow for text to be transformed during rendering
  • Perfect nametag and ruby positioning during parsing
  • Fix up chlcc/cclcc backlog entry rendering and formatting
  • Implement InstSetMesModeFormat and make the parser use these values
  • Fix DialoguePage clearing semantics
  • Allow for text centering for backlog entries
  • Add support for EN wordwrapping for added glyphs
  • Clean up profile
  • Add profile endpoints for InstSetMesModeFormat values
  • Implement Erin textbox fading
  • Disable cursor requests when hovering a scrollwheel area

Test English wordwrapping with https://github.com/CommitteeOfZero/impacto-patch/pull/1

English TextModesInfo config is very negotiable

@PringlesGang PringlesGang added this to the 0.9.X Polishing milestone Mar 24, 2026
@PringlesGang PringlesGang self-assigned this Mar 24, 2026
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch 2 times, most recently from 763e9c8 to 4843a2e Compare March 30, 2026 20:54
protected:
DialoguePage* BacklogPage;
int TextLength = 0;
std::unique_ptr<BacklogPage> Page;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of having a backlogpage pointer per backlog entry (which adds a lot of indirection and fragmentation), could we instead maybe store a vector of backlogpages inside backlog menu (since it's not polymorphic), and then access that in backlogentry with an index and maybe a pointer to the backlogmenu?
If backlog max count should be a bounded value, we should store it in a static array as well.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah that's definitely a good idea. I'm already working on a commit to fix this, which would also simultaneously add a cap on the number of backlog entries (because right now it'll just keep appending indefinitely), but it's growing kinda large and out of scope for this PR. Mind if I fix this in a later PR?

Comment thread src/text/textparser.h Outdated
@Enorovan Enorovan removed this from the 0.9.X Polishing milestone Apr 8, 2026
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch 3 times, most recently from e8bb1ba to 2408cc4 Compare April 11, 2026 20:58
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch 2 times, most recently from e4be9ae to db44171 Compare April 19, 2026 22:52
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch 5 times, most recently from aca992f to 3ec1942 Compare April 29, 2026 19:13
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch 4 times, most recently from 35adafa to 86fe838 Compare May 16, 2026 21:15
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch from 86fe838 to ea69eae Compare May 21, 2026 01:50
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch from 7036042 to 145f1d5 Compare June 2, 2026 01:50
Comment thread src/profile/dialogue.cpp Outdated
Comment thread src/profile/dialogue.h Outdated
Comment thread src/vm/inst_dialogue.cpp Outdated
Comment thread src/vm/inst_dialogue.cpp Outdated
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch from 4f4c958 to 33ed785 Compare June 3, 2026 01:03
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch from ea4463d to 2286ced Compare June 9, 2026 22:04
@PringlesGang PringlesGang force-pushed the dialoguepage-trifurcation branch from 2286ced to d9fe446 Compare June 9, 2026 22:36
@PringlesGang PringlesGang marked this pull request as ready for review June 9, 2026 22:52

@Enorovan Enorovan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review feedbacks, some may be addressed elsewhere :

  • You can still open empty backlog in C;HLCC.
  • Double linebreaks aren't parsed in Tips Menus.
  • Weird case when skipping on "looped" lines in Map Trigger.
  • Weird Cursor Pointer in C;CLCC Tips Menu.
  • Erin Box is supposed to fade-in/fade-out.

@PringlesGang

Copy link
Copy Markdown
Member Author

Review feedbacks, some may be addressed elsewhere :

  • You can still open empty backlog in C;HLCC.
  • Double linebreaks aren't parsed in Tips Menus.
  • Weird case when skipping on "looped" lines in Map Trigger.
  • Weird Cursor Pointer in C;CLCC Tips Menu.
  • Erin Box is supposed to fade-in/fade-out.

All should be fixed now, except for being able to open an empty backlog in C;HLCC. On PS3 this is also possible though, so I don't think that was an issue in the first place

@PringlesGang PringlesGang requested a review from Enorovan June 11, 2026 00:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants