-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Messages need to be refactored. #1706
Comments
Test Cases 1 - What can run while messages are up?EV01 parallel
Result:
Result: Var2 advances by 9 frames |
Test Cases 2 - Message box animations
Result: Open, "hello", Close, Open, "hello", etc..
Result: Open, "hello", Close, Open, "hello", etc..
Result: Open, "hello", "hello", "hello", etc..
Result: Open, "hello", "hello", "hello", etc..
Result: Open, "hello", Close, Open, "hello", ... Conclusion:
|
Test Cases 3 - Message box timings
Conclusion:
|
Test Cases 4 - Messages and Save Menu
EV02 parallel Page 1
EV02 page 2, activated by SW1
Result: Hello
Result: Save, Save, Hello Conclusion:Scene Change is blocked when messagebox is visible. |
Test Cases 5 - Message Loadgame BugEv01 parallel
EV02 parallel
Result: Save, "Hello"
Result: Hello message box does not appear ❗
Result: Conclusion:Edge cases allow us to save the game while a message box is pending. The message box will appear after the save scene exits, however there are no LSD chunks for the active message. So loading this save game will cause the message to not appear ❗ The |
Test Cases 6 - More timing testsEV01 parallel
Ev02 parallel
Result:
Result:
Result:
Result:
|
Test Cases 7 - Message speed timingsEV01 parallel
Ev02 parallel
Example This table shows the value of Var3, which is the number of frames taken to render the message
Hold the Shift key while performing any of these tests Result:
Test this message
Test this message
Conclusion
|
Test Cases 8 - Testing the message end character
Result: "XXXXXXX"
Result: Entire message displays instantly Conclusion
|
Test Cases 9 - Gold Window timingUse the same machinery from earlier
Conclusion
|
Test Cases 10 - Multiline instant text and shift tests
Result: Entire message displayed instantly.
Result: First part of message up to the 20 frames ❓
Result: First line prints immediately, second line renders slowly 152 Frames
Result: Entire message prints instantly 0 Frames
Result: Entire message prints instantly 0 Frames Conclusions
|
Also worth testing: Do full width characters (Japanese) render the same speed as half width. |
Various fixes for more frame accurate message rendering speed. See EasyRPG#1706 Test Cases 7 through 10.
Test Cases 11 - Autostart message timingsEV01 autostart
EV02 parallel page 1
EV02 page 2 - activated by SW1
Result: "2", "49 42 43", "166"
Conclusion
|
Test Cases 12 - Invalid Actor testsCreate at least 12 actors.
Result: "Alex"
Result: "Alex"
Result: Crash
Result: "Brian" - Trailing characters are discarded
Result: Crash
Result: "Brian"
Result: "Actor11"
Result: "Alex"
Result: Crash
Result: Crash
Result: "Alex"
Result: "Alex"
Result: "Alex"
Result: Crash
Result: Crash
Result: "Brian"
Result: Crash
Result: "Actor11"
Result: "Actor11"
Result: "Alex]"
Result: "Actor10"
Result: "Alex"
Result: "Alex"
Result: "Alex"
Result: "Alex"
Result: "Alex"
Result: "X[1]X"
Result: "Alex]" Conclusions
|
Test Cases 13 - Invalid escapes
Result: ""
Result: "[123]" ConclusionsUnsupported escape characters are ignored. |
Test Cases 13 - Multiple messages delay?
EV02 autostart
Result: Open, "Hello", "Goodbye", "Goodbye", ...
Result: Open, "Hello", Close, Open, "Goodbye", Close, Open, "Hello", Close, Open, "Hello", Close, Open, "Goodbye",...
Result: Open, "Hello", Close, Open, "Goodbye", Close, Open, "Goodbye", ... Conclusions:
|
Test Cases 14 - Parallel message timingsEV01 parallel
EV02 parallel page 1
EV02 page 2 - activated by SW1
EV03 autostart
Result: "0", "48 48 41", "172" |
Test Cases 15 - Parallel message timings (simple version)EV01 parallel
EV02 parallel page 1
EV03 autostart
Result: "0", "17 17 10" |
Test Cases 16 - Parallel message timings (simple version)EV01
EV02 parallel
EV03 autostart
Result: "0", "18 18 10" |
Test Cases 17 - Messages and ScenesMoved to #2079 |
Test Cases 18 - Messages and TeleportMoved to #2079 |
Test Cases 19 - General event commands vs messagesEV01 parallel
EV02 parallel
Result: If CMD is blocked by the message, Var1 will not increment and we'll see the value as 0. If CMD is not blocked, we'll see
|
Test Cases 20 - Event blocking timing
EV02 parallel
EV03 parallel Page1
EV03 parallel Page2 activated by SW1
Conclusion
|
Test Cases 41 - Non printables and new line glitchMake EV02 parallel
Make EV01 autostart
With this we can print the frame timings of the following messages:
Conclusions
|
Test Cases 42 - Teleport cancel glitchMoved to #2079 |
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Test Cases 43 - Level up msg timing testsCreate 3 actors with blank names. Change the level up text to EV01 trigger
EV02 parallel
Result:
Result:
Result:
Result:
Conclusion
|
Test Cases 44 - Level up chunk analysisUse the actors and skills from previous test EV01 parallel
EV02 parallel
EV03 trigger
EV04 trigger
Save, Save again from menu, talk to EV03, save, talk to EV04 save
Conclusion
|
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Test Cases 45 - Other teleport edge caseEV01 parallel
EV02 parallel
EV03 autostart - SW01
Result: Box pops open, teleport transitions, box closes, reopens, message says "10 2" |
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Emulates the RPG_RT behavior for EasyRPG#1706 Tests 17 & 18
Our messaging system needs a refactor. We need to determine frame accuracy for messages and what is / is not prohibited when they are up.
Timing from Cherry:
Test cases still broken:
TBD:
Things to verify from RPG_RT:
subcommand_path
properly.show_message
chunk\n[]
and it has an escape character like\^
?The text was updated successfully, but these errors were encountered: