-
Notifications
You must be signed in to change notification settings - Fork 263
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
Cutscene (demo) support for Wind Waker #717
Merged
Merged
Changes from 84 commits
Commits
Show all changes
103 commits
Select commit
Hold shift + click to select a range
c153a82
Add STB as a loadable ResType
themikelester 999971e
Workable starting point for JStudio, STB parsing, and ZWW Demo handling
themikelester af5aa90
JStudio WIP updates
themikelester 58aa532
dDemo lifecycle improvements
themikelester 7a91c1d
FVB Parsing starting point
themikelester 568abdd
Finished implementing TCameraAdaptor. Values are being fed all the wa…
themikelester 51d52ed
Added transformations to TControl. Demos can now have an origin and r…
themikelester 281aeac
Small cleanup
themikelester b5494b6
Fix a bug in FunctionValue_ListParameter::getValue() that would produ…
themikelester 4e982a5
Demo timing changes. Now respects NoClip pause, and matches the origi…
themikelester d3c3b07
Hook up dDemo_manager_c in d_s_play
themikelester 3cbaba1
Hackily hook up cutscene loading in CreateScene. "Opening Cutscene" i…
themikelester 88fb002
Slightly less hacky way of loading cutscenes
themikelester a288138
Allow the FPSCamera to take control when a demo is paused
themikelester bbbfe34
Remove the demo camera when done. Only override camera params which h…
themikelester c775333
Move roomStatus into the new dStage_roomControl_c class
themikelester bad3ec0
Fetch a Stage's Demo archive when it is loaded
themikelester bb7eaf4
Add dRes_control_c.getObjectResByName()
themikelester a4839b9
DemoDesc now contains the filename property, which Demo Events use to…
themikelester 9f51dfd
Imported the list of all demo events (with all their parameters) in W…
themikelester 7442f4c
If a Stage has demos, add a new UI panel. Click on one in the list wi…
themikelester 443302e
Fix demo rotation. The imported data is in degrees, we expect radians
themikelester 76f8a68
Add "Title Screen" stage to the Outset Island section
themikelester 8f3cab6
Added correct room and layer information for all demos
themikelester f671292
Defer loading of Demo arcs until a cutscene is played
themikelester d808ae5
Tested counter.stb, the only demo expected to be a Stage resource
themikelester f8795fc
Fix starting a cutscene while another is playing
themikelester aa79c6f
Added support for STB control sequences, used suspend demos while wai…
themikelester fb1c7df
JStudio: Implement FunctionValue_Constant
themikelester 9424e85
JStudio: Implemented interpolateNone
themikelester 65feeb5
Implement (untested) FunctionValue_Composite
themikelester fe7f6d4
Implement EPrepareOp.ObjSetByIdx (tested) and ObjSetByName (untested)
themikelester 3e1a67e
Reorganized and named some cutscenes
themikelester b89f0aa
Reorganized FunctionValues to be grouped with their corresponding TOb…
themikelester ee823e9
Implemented FunctionValue_Hermite (untested)
themikelester 22649ff
Added shimmed Actor-related STB types
themikelester 161bf2b
Framework: Added fopAcM_searchFromName
themikelester 18654d0
Demo: Implemented JSGFindObject for Actors
themikelester f83ca2f
JStudio: Starting point for TActorAdaptor implementation
themikelester 40a70cb
Implemented most TActorAdaptor functions
themikelester dcf8641
Implemented dDemo_actor_c getter/setter functions
themikelester ab3ee10
Implement process_paragraph_reserved_() and do_data()
themikelester 524896a
Implemented (untested) TActorAdaptor::adaptor_do_update()
themikelester 908fd32
JStudio: Fix bug in linear interpolation data access
themikelester 65c9aaf
Add dRes_control_c::getObjectResByID()
themikelester 1e41295
Fix bug in setMorf that failed to support a morfFrames value of 0
themikelester 94b1d82
JStudio: Confirm that adaptor_do_ANIMATION is working as expected
themikelester 6f24e8d
d_demo: Added support for specifying a startFrame when playing demos
themikelester 17777ff
d_demo: Added checkEnable and getMorfParam
themikelester ab81cde
d_demo: Fix frame counts
themikelester 09c05f4
d_demo: Added dDemo_setDemoData
themikelester a7cd2d3
Add optional start frame to DemoDesc
themikelester 34d84bd
d_demo: Fix bug in dDemo_setDemoData() which cause played animations …
themikelester b0ea173
JStudio: Add toggleable logging for actor sequences
themikelester c6f7a6c
JStudio: Fix bug where Immediate and Time values were ints instead of…
themikelester 6f82a59
JStudio: Allow adaptor_do_*() functions to read data as an int or float
themikelester 904f6b0
JStudio: Improve logging output
themikelester 738bd32
JStudio: Fix camera roll and fov being swapped
themikelester 0fb528f
Move demo camera assignment and added support for FovY, Near, and Far
themikelester 42d7748
JStudio: Wire up Actor anim_frame, anim_transition, and texAnim_frame…
themikelester fcf862d
d_demo: Adjust animation frame step to account for non-1 dt
themikelester b5a2de1
JStudio: Renamed TEOperationData to EDataOp
themikelester 208c465
Demo actors now store their name, and report it via JSGGetName for lo…
themikelester 1453a61
JStudio: A more general approavh to logging. Adaptor now has a loggin…
themikelester 1e3a764
JStudio: Rename debug logging function
themikelester 8c5f9c2
JStudio: Unify formatting of all enums
themikelester 0a5d120
d_demo: Implement JSGGetViewTargetPosition()
themikelester 79193cb
JStudio: Remove some vestigial TODOs
themikelester 573f44f
d_demo: Convert STB rotations into short radians
themikelester 953f23c
New actor: d_a_npc_ls1 (Aryll, Little Sister). Moved out of LegacyActor
themikelester abac1fa
Aryll: Create and parent hand models
themikelester 45c19d1
Aryll: Added telescope and parented to hand
themikelester f9956b6
Aryll: Added some basic idle animation support
themikelester b7b98d8
d_demo: Fix issue with actors not clearing their demoActorID when dem…
themikelester 4dcaf0f
Aryll: Simplified the idle animation logic
themikelester 621498a
JStudio: Small cleanup
themikelester 83dc13c
JStudio: Fix demo asserting due to uninitialized animMode
themikelester ccb08a5
JStudio: Fix Hermite interpolation
themikelester d4c18c4
Remove frameStart offset from the Awaken demo
themikelester 98f3829
New icon for the "Cutscenes" UI element (a play button)
themikelester 8939ad8
d_demo: Added camera roll support
themikelester 83fb861
JStudio: disable logging by default
themikelester b0c82a5
Autoplay demo if it is added to the SceneDesc
themikelester 7beebc5
d_demo: Add exported ActorFlags enum
themikelester 56de067
JStudio: Remove all 'm' prefixes from member names
themikelester 552ae08
d_demo: Remove 'm' prefix from all member variables
themikelester fda16a9
d_demo: Remove 'm' from member of DemoActor
themikelester ee17e47
JStudio: `public` before all member variables
themikelester b308084
d_demo: `public` before all member variables
themikelester d2439d1
Use `| null` for optional members/params instead of `?`
themikelester 471fe65
JStudio: Use enum stringification rather than const enums and mapping…
themikelester b4759fc
Remove old comment regarding `removeTexMtxAnimator` usage
themikelester 2d9d5f3
Use `interface` instead of `class` for data-only types
themikelester 0ef39a0
Merged cM__Deg2Short into cM_deg2s (the game's original name)
themikelester 22edf01
Merge branch 'master' into stb
themikelester b5ee2b0
JStudio: Use type discriminators to simplify/improve paragraph data h…
themikelester bfeb6d9
Demos are now selected the same as Scenes.
themikelester 0e495ab
Remove demo UI panels
themikelester f504613
Small cleanup
themikelester 9adf369
Move most cutscenes to a separate demoDesc list
themikelester 42e74d6
Disable mouse input when cutscene is playing
themikelester 86326f5
d_demo cleanup
themikelester 29efd76
Small cleanup
themikelester File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This already exists as
cM__Deg2Short
. I need to fix the names on those.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I should have spotted that. OK I've renamed
cM__Deg2Short
tocM_deg2s
(so that it's easier to compare with the decomp). I only had to change one use case. I left the rest as they're named now. I hope that's what you had in mind.