Commit Graph

109 Commits

Author SHA1 Message Date
ficedula
5798d5cf37 Add DataOnly plugin to support non-code plugins that just override files 2023-08-05 13:44:39 +01:00
ficedula
a6ecf60fb3 Move dialog boxes to render using a layout for easier customisation 2023-08-05 12:39:02 +01:00
ficedula
282a908c6c Add position info to focus tracking
Set pan of Tolk focus sound based on positions
2023-07-29 13:48:48 +01:00
ficedula
de48c53992 Added tag v0.1.6 for changeset 84df53a4a56f 2023-07-28 21:50:52 +01:00
ficedula
dd176b4120 Add movie plugins
Support movie AD playback
Workaround blank backgrounds for now
Implement fade type 12
Work around SPECIAL subop 0xF8
Description on character name screen
2023-07-28 21:31:37 +01:00
ficedula
ad3da7ea1c Add always-present game overlay, use to present warnings
Warn once on unrecognised characters
2023-07-28 14:24:52 +01:00
ficedula
449c1b837e Expand dialog plugins to provide more info on each individual line
Support voiced dialog in FFNx compat plugin
Support TryLoad on audio streams
Fix MENU opcode returning too quickly
Implement SPECIAL 0xFD sub-op
Make unrecognised text characters a warning in renderer rather than an error
Add a few more characters to font
Recognise avatar tag characters in text decoder (don't do anything with them yet)
More 7H support - map folders properly
2023-07-28 13:12:44 +01:00
ficedula
e1a43931e8 Improve ogg music looping
More logging!
Make config utility use consistent data formats with main engine
Tolk focus sounds are more frequent, higher pitched
2023-07-27 21:36:17 +01:00
ficedula
ad35142e51 Added tag v0.1.5 for changeset 5d49159550ef 2023-07-23 21:48:50 +01:00
ficedula
9babe91b73 Add sfx replacement plugins, add support to FFNx compat plugin
Fix config utility failing to save boolean options properly
Accessibility support in battle skip debug screen
2023-07-23 21:48:37 +01:00
ficedula
7d6611e04a Alter music to read via normal data sources so plugins/mods can override it
Config utility copes with name/description attributes, nested/category options
.IRO support for 7H plugin
Slightly more concise Tolk output
2023-07-23 15:51:40 +01:00
ficedula
9bb83d967d Add initial 7H and FFNx compatibility plugins
More improvements and fixes on audio items
Deal better with missing music loop data
2023-07-08 14:17:21 +01:00
ficedula
1efeb6d1f8 Rework plugin system to be a bit more manageable 2023-07-07 12:59:04 +01:00
ficedula
d56de35575 Added tag v0.1.4 for changeset 94d5ff7d9f74 2023-07-05 21:09:17 +01:00
ficedula
f5c0b28de2 Add battle system UI events
Improve battle targetting - prefer non-dead enemy targets
Add suspended event on screens, pass through to field plugins
Fix footstep looping in Tolk plugin
Add BattleSpeed option
2023-07-05 21:08:59 +01:00
ficedula
dc2b6bea04 Start logging earlier
Cope with Steam data file paths
Set explicit culture, since FF7 files have text data in EN format that needs parsing
On crash report error visually as well as logging
More logging around music errors
2023-07-04 19:30:25 +01:00
ficedula
712543c180 Improve logging of errors
Separate music and ff7 exe paths out to allow setting up versions which have differently named exes etc.
Treat missing music as not an error
2023-07-03 21:17:58 +01:00
ficedula
8bbe90f29e Added tag v0.1.2 for changeset 1ff1d84af87d 2023-07-02 21:12:50 +01:00
ficedula
adb65618d7 Add pitch support for audio items
Add focus item to fields
Improve UISysten plugin to allow better tracking of initial load vs. change of selection
Make debug options more accessible, layout labels more accessible
Update Tolk plugin to support focus tracking
2023-07-02 21:11:22 +01:00
ficedula
02c7898023 Change debug options to game options
Add music volume option
Deal with volume and pan better in audio output
Don't default plugins to being enabled
Rework plugins so each plugin has its own folder and can load data based on plugin type
Add field location plugin interface
Add footstep sounds to Tolk plugin
2023-07-02 12:00:30 +01:00
ficedula
597b9bd61e Allow specifying fallback log files
Add debughost command line parameters to make it easier to launch multiple copies for network debugging
Add descriptions to screens
Add UI plugins and hook up to screen descriptions, layout components, field dialog
Add first go at Tolk plugin
Start adding very bare bones GUI config/launcher app
2023-06-30 17:40:01 +01:00
ficedula
b8f034178b Implement WCLS op, tweak talk distance 2023-06-26 22:46:43 +01:00
ficedula
716345aa64 Start implementing pause op in dialogs
Set default collide distance on models
Actually use talk vs. collide distance properly in fields
Improve line collision checks, hopefully
VM priority improvements
2023-05-08 13:01:27 +01:00
ficedula
748a48e949 Start adding battle animation debug screen to play around with animations/effects
Start implementing battle animation script decoder
First parts of battle animation executor/renderer
Implement charge effect
Fix bugs reading LGP files with paths in them (i.e. magic.lgp)
Fix indices of battle animations being incorrect
2023-03-27 21:20:41 +01:00
ficedula
cfe09c880f Add some more missing net messages
Add basic battle animation script decoder
Prepare to add proper battle debug options
2023-03-27 11:30:47 +01:00
ficedula
438d9c0f11 Rework line and gateway intersection
-Works when player starts or teleports to be within a line/gateway
        -Takes account of Z height for both
        -Proper priority of line scripts when multiple events trigger
Fix LADER opcode when it provides an invalid triangle ID (urgh!)
Fix restoring nonexistant previous animation on field model, probably
2023-03-22 23:15:51 +00:00
ficedula
509a7d095c Added tag v0.1.1 for changeset c16a42616c6e 2023-03-21 22:55:54 +00:00
ficedula
cca900c256 v0.1.1 release
Update setup program to set null plugin path by default
2023-03-21 22:55:40 +00:00
ficedula
d3e0b957fb Allow WAIT and ANIMW to run lower priority scripts - seems like Marlene's script in mds7_pb1 need this...?
Implement SPTYE, GTPYE
Implement MENU subops 0x12, 0x13
Stub out TUTOR for now
2023-03-21 21:52:34 +00:00
ficedula
c2306aaffd Field VM - more accurate script execution (some commands yield to lower priority scripts, only run ~8 ops per frame)
Implement ADPAL, MMBud, PLUS_, MPJPO, ANIMB, XYI, MOVA, TURNW, MHMMX, GOLDu
Implement SPECIAL subop 0xF5
Fix model coordinates being read back from memory as unsigned incorrectly; round them when storing
Fix ladders ignoring player input enabled flag
Fix dialogs with choices on pages other than the first
2023-03-20 22:26:53 +00:00
ficedula
69c39f4b3c Implement a hacky version of eye blinking, implement very basic support for KAWAI eye control op
Fix crash when walking exactly onto triangle edge
Make background model animation cancel any in progress animations on the same model
Record AnimPlaying state against entity, not fiber - e.g. tin_1 relies talk script seeing if another script is animating
Implement channel volume transitions
2023-03-19 19:44:20 +00:00
ficedula
782f96a75f Start reading in hundreds (renderstate) data against P files
Field
        Fix SPLIT including characters that aren't actually in the party
        Clamp BG scroll events that specifically track entities/player to the viewport
        (explicit scrolls clearly want to go beyond the viewport - but these ones shouldn't)
        Field models render using transparency / lighting based on render state - corrects save point appearance
2023-03-17 10:20:17 +00:00
ficedula
af21073419 Add basic background plugin
Add support for plugin configuration, priority, enable/disable
2023-03-15 20:14:14 +00:00
ficedula
8f7210b85f Start adding plugin infrastructure 2023-03-13 21:59:39 +00:00
ficedula
a41149c50b Added tag v0.1.0 for changeset 3a99d0355112 2023-03-13 16:26:46 +00:00
ficedula
f391f45670 v0.1.0 release
Fix setup not configuring path for packed Braver data
2023-03-13 16:23:33 +00:00
ficedula
f522093085 Make splash screen load option actually load, and implement load screen (oops!)
Support AVI movies as well as .mp4
2023-03-13 12:15:20 +00:00
ficedula
bcc8ec53fb Remove inventory item separation - run off single ID as per FF7 data
Implement independent and support materia
Remove Braver newgame.xml, read new game data from FF7 kernel
Allow not setting player destination on field load, use when starting a new game
Init MenuLocked properly - apparently the game script doesn't?
Upgrade Monogame, NVorbis; correct usings for new Monogame
2023-03-07 20:49:10 +00:00
ficedula
59b67c1f23 Remove Escape closing game without any prompt
Fix character naming screen
Set game icon
Field
        Increase walk speed, looks a bit more correct now...?!
        Tweak walk algorithm again to take disabled walkmesh tris into account properly
Fix worldmap avatar to work again, given all the fixes to HRC/field model rendering
2023-03-05 20:10:58 +00:00
ficedula
fb95f5657d Add support for reading data from pack files, having optional data sources in data.txt 2023-03-04 14:08:38 +00:00
ficedula
14c1158323 Don't use Debug Assert, too easy to have a change of behaviour in release builds
Field
        Rewrite walk code again. Closer to something reasonable now!
        Implement PLUS, MINUS opcodes
        Allow some opcodes to force fiber to continue next frame. LDPAL at least seems like that's how it must be intended to work.
        Fix MPPAL
2023-03-04 12:41:59 +00:00
ficedula
7991ff6df7 Better DPI handling
Rename Braver folder
2023-03-03 11:07:08 +00:00
ficedula
bd88b2b13f Add license 2023-02-28 19:52:28 +00:00
ficedula
f413946d3e Field
Implement shake effect / opcode
        Fix JUMP outside of walkmesh crashing
Implement more audio net messages
2023-02-27 17:08:27 +00:00
ficedula
ef2ed5ffc9 Setup utility
Start adding packed files, use for savegames
Use trace output and add trace logger
Basic gamepad input
2023-02-26 17:32:10 +00:00
ficedula
8d34c2cf15 Embed default data.txt into main executable - allow overriding with local file
Same for config variables - command line parameters take priority, but allow setting defaults in local file
2023-02-26 10:56:18 +00:00
ficedula
9476d3fe52 Add basic field VM disassembler
Add field debugger screen showing state of all entity fibers
Fix closing window via script not triggering callbacks
Fix field crash when initial player position is off walkmesh (e.g. cargoin)
2023-02-26 10:56:18 +00:00
ficedula
51bc1bc9b3 First implementation of palette opcodes - STPAL, LDPAL, CPPAL, MPPAL2
Implement field background blanking to explicitly hide things outside of background bounds
Remove background scrolling clamp to viewport option - no longer needed
Auto size/position dialog window when script doesn't specify values
2023-02-24 15:11:29 +00:00
ficedula
047e40c3bc Better configuration of data sources and debug options 2023-02-23 23:01:24 +00:00
ficedula
654faceef4 First implementation of shop basics
Revert layout focus to use IDs so it works after a reload
2023-02-22 21:16:06 +00:00