{"action":"created","issue":{"url":"https://api.github.com/repos/EasyRPG/Player/issues/1706","repository_url":"https://api.github.com/repos/EasyRPG/Player","labels_url":"https://api.github.com/repos/EasyRPG/Player/issues/1706/labels{/name}","comments_url":"https://api.github.com/repos/EasyRPG/Player/issues/1706/comments","events_url":"https://api.github.com/repos/EasyRPG/Player/issues/1706/events","html_url":"https://github.com/EasyRPG/Player/issues/1706","id":421873476,"node_id":"MDU6SXNzdWU0MjE4NzM0NzY=","number":1706,"title":"Messages need to be refactored.","user":{"login":"fmatthew5876","id":1198466,"node_id":"MDQ6VXNlcjExOTg0NjY=","avatar_url":"https://avatars1.githubusercontent.com/u/1198466?v=4","gravatar_id":"","url":"https://api.github.com/users/fmatthew5876","html_url":"https://github.com/fmatthew5876","followers_url":"https://api.github.com/users/fmatthew5876/followers","following_url":"https://api.github.com/users/fmatthew5876/following{/other_user}","gists_url":"https://api.github.com/users/fmatthew5876/gists{/gist_id}","starred_url":"https://api.github.com/users/fmatthew5876/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fmatthew5876/subscriptions","organizations_url":"https://api.github.com/users/fmatthew5876/orgs","repos_url":"https://api.github.com/users/fmatthew5876/repos","events_url":"https://api.github.com/users/fmatthew5876/events{/privacy}","received_events_url":"https://api.github.com/users/fmatthew5876/received_events","type":"User","site_admin":false},"labels":[{"id":5373249,"node_id":"MDU6TGFiZWw1MzczMjQ5","url":"https://api.github.com/repos/EasyRPG/Player/labels/Event/Interpreter","name":"Event/Interpreter","color":"e03639","default":false,"description":null},{"id":585448515,"node_id":"MDU6TGFiZWw1ODU0NDg1MTU=","url":"https://api.github.com/repos/EasyRPG/Player/labels/Refactor","name":"Refactor","color":"fbca04","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/EasyRPG/Player/milestones/21","html_url":"https://github.com/EasyRPG/Player/milestone/21","labels_url":"https://api.github.com/repos/EasyRPG/Player/milestones/21/labels","id":4285456,"node_id":"MDk6TWlsZXN0b25lNDI4NTQ1Ng==","number":21,"title":"0.6.2","description":"","creator":{"login":"Ghabry","id":1331889,"node_id":"MDQ6VXNlcjEzMzE4ODk=","avatar_url":"https://avatars0.githubusercontent.com/u/1331889?v=4","gravatar_id":"","url":"https://api.github.com/users/Ghabry","html_url":"https://github.com/Ghabry","followers_url":"https://api.github.com/users/Ghabry/followers","following_url":"https://api.github.com/users/Ghabry/following{/other_user}","gists_url":"https://api.github.com/users/Ghabry/gists{/gist_id}","starred_url":"https://api.github.com/users/Ghabry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ghabry/subscriptions","organizations_url":"https://api.github.com/users/Ghabry/orgs","repos_url":"https://api.github.com/users/Ghabry/repos","events_url":"https://api.github.com/users/Ghabry/events{/privacy}","received_events_url":"https://api.github.com/users/Ghabry/received_events","type":"User","site_admin":false},"open_issues":71,"closed_issues":145,"state":"open","created_at":"2019-05-05T12:50:43Z","updated_at":"2019-12-29T18:46:34Z","due_on":null,"closed_at":null},"comments":47,"created_at":"2019-03-17T02:13:06Z","updated_at":"2020-01-01T01:59:18Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Our messaging system needs a refactor. We need to determine frame accuracy for messages and what is / is not prohibited when they are up.\r\n\r\nTiming from Cherry:\r\n```\r\nMain update methods for common events run (they just check if they are parallel process and the condition is met and then invoke the parallel process worker for them)\r\nMain update methods for map events run (they do a bunch of things, described in my previous post - but actually even more, because after the check for whether there is any active event page, they will run their parallel process worker and then check once more for active)\r\nMessage window updates\r\nTimer updates\r\nScreen effects update\r\nPictures update\r\nForeground worker runs\r\nPanorama updates\r\n```\r\n\r\nThings to verify from RPG_RT:\r\n\r\n- [x] Move show choice continuation into message class and handle `subcommand_path` properly.\r\n- [x] EV01: Save, EV02: Choices -> Save and load the game message window dissapears RPG_RT bug :exclamation:\r\n- [x] #1707 Test case 6, save game runs an extra frame while message box is closing, before the continuation triggers.\r\n- [x] How is foreground interpreter execution blocked by active message?\r\n    * Only when message is pending, not when closing\r\n- [x] How is parallel interpreter execution blocked by active message?\r\n    * Only when its own message is pending and visible\r\n- [x] Behavior of \"Allow other events to move\"\r\n- [x] What event commands blocked by an active message?\r\n    * See Test 19\r\n- [x] What active event commands / conditions block a message from starting?\r\n    * Only other messages, with specific rules for FG and Parallel\r\n- [x] How does RPG_RT handle message ownership and `show_message` chunk\r\n    * Caller of message sets this chunk\r\n    * Appears to be cleared when message ends?\r\n- [x] When is face reset\r\n    * On foreground event finish\r\n- [x] How many frames to open and close message box\r\n    * 8 frames\r\n- [x] How does open and closing behave with foreground events?\r\n    * New messages can appear instantly if created on last frame, otherwise wait for close\r\n- [x] How does open and closing behave with parallel events?\r\n    * New messages blocked until close finishes\r\n- [x] Do messages have any wierd effects when triggered during pre-update?\r\n    * No, they just wait until the first frame to start animating\r\n    * message update not run during preupdate\r\n- [x] How to messages behave when called when screen is erased?\r\n- [x] When msg is updated in the main loop?\r\n    * After all events, before timers\r\n- [x] Frame timing of different message speed settings?\r\n- [x] Can we cleanup and refactor the code to improve code quality?\r\n- [x] When you substitute an actor name with `\\n[]` and it has an escape character like `\\^`?\r\n- [x] Level up message timing\r\n- [x] Class change message timing\r\n- [x] Does the inn use show message chunk?\r\n- [x] Message conditions blocking ShowMessage\r\n- [x] Message conditions blocking ShowChoices\r\n- [x] Message conditions blocking ShowNumberInput\r\n- [x] Message conditions blocking ShowInn\r\n- [x] Change EXP / Level spawning a box while other box active?\r\n- [x] ChangeHP kills party while message is up?\r\n- [x] Check all scenes, what about gameover?\r\n- [x] Race conditions with parallel change system graphic\r\n- [x] Inn cancels pending message\r\n- [x] GetOnOffVehicle behavior with message up?\r\n- [x] VehicleTeleport while message up?\r\n- [x] Interaction with Wait For Key\r\n- [x] Interaction with KeyInputProc\r\n- [x] ChangeClass Message with message\r\n- [x] Can FG run other commands while msg box closing?\r\n    * yes\r\n- [x] Message behavior blocking timers?\r\n- [x] Test delay of full width japanese characters\r\n- [x] Figure out skip frame logic for speed 1 w.r.t. wide chars vs half chars"},"comment":{"url":"https://api.github.com/repos/EasyRPG/Player/issues/comments/570013886","html_url":"https://github.com/EasyRPG/Player/issues/1706#issuecomment-570013886","issue_url":"https://api.github.com/repos/EasyRPG/Player/issues/1706","id":570013886,"node_id":"MDEyOklzc3VlQ29tbWVudDU3MDAxMzg4Ng==","user":{"login":"fmatthew5876","id":1198466,"node_id":"MDQ6VXNlcjExOTg0NjY=","avatar_url":"https://avatars1.githubusercontent.com/u/1198466?v=4","gravatar_id":"","url":"https://api.github.com/users/fmatthew5876","html_url":"https://github.com/fmatthew5876","followers_url":"https://api.github.com/users/fmatthew5876/followers","following_url":"https://api.github.com/users/fmatthew5876/following{/other_user}","gists_url":"https://api.github.com/users/fmatthew5876/gists{/gist_id}","starred_url":"https://api.github.com/users/fmatthew5876/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fmatthew5876/subscriptions","organizations_url":"https://api.github.com/users/fmatthew5876/orgs","repos_url":"https://api.github.com/users/fmatthew5876/repos","events_url":"https://api.github.com/users/fmatthew5876/events{/privacy}","received_events_url":"https://api.github.com/users/fmatthew5876/received_events","type":"User","site_admin":false},"created_at":"2020-01-01T01:59:18Z","updated_at":"2020-01-01T01:59:18Z","author_association":"CONTRIBUTOR","body":"Test Cases 44 - Level up chunk analysis\r\n-------------------------\r\n\r\nUse the actors and skills from previous test\r\n\r\nEV01 parallel\r\n```\r\nWait 0.0s\r\nChangeLevel: first actor + 20\r\nEraseEvent\r\n```\r\n\r\nEV02 parallel\r\n```\r\nWait 0.0s\r\nOpenSaveMenu\r\nEraseEvent\r\n```\r\n\r\nEV03 trigger\r\n```\r\nSw1 off\r\n```\r\n\r\nSave, Save again from menu, talk to EV03, save again\r\n\r\n| Save | EV01 current command | EV02 current command | Foreground Interpreter show message |\r\n| -- | -- | -- | -- |\r\n| 1 | 3 | 2 | 1 :question: |\r\n| 2 | 3 | 0 | 1 :exclamation: |\r\n| 3 | 3 | 0 | 0 |\r\n\r\nConclusion\r\n---------------\r\n\r\n* Any interpreter causing a level up message will set the `show_message` chunk on the foreground interpreter, as if the foreground interpreter caused the message.\r\n* The `show_message` chunk is not cleared until the foreground interpreter runs."}}
{"actor":{"display_login":"fmatthew5876"}}