ObjectEditor 3.9.0
What's Changed
- Fixed a couple of issues with async tasks making the UI unusable/incorrect, by @LeftofZen in 793c456
- Added a
Delete
button to local object views, allowing them to be deleted from disk. Note: there is no confirmation dialogue box for this! I'll add one in future, but you've been warned! Requested by Discord user EmperorDarthSidious. By @LeftofZen in 70e81c5 - Allow saving objects as
Vanilla
. This technically shouldn't be allowed but it works around an annoying DAT requirement where dependent objects need checksums if linking to a custom object, which proliferates duplicate objects like the TRACKST.dat issue. You'll need to toggle this on in the settings first though. I'm sorry in advance @duncanspumpkin. By @LeftofZen in #142 - Fix multiple issues with vehicle sounds not saving correctly. This was only possible by Discord user BigSauce reporting these and debugging with me - thanks!
Viewmodels
As mentioned in https://github.com/OpenLoco/ObjectEditor/releases/tag/3.8.0, Viewmodels are how the UI interacts with the actual data for DAT objects. Long story short - I've implemented the last of the necessary ones! This means all object types should be able to have all fields edited! In this release the specific viewmodels added were:
- Track and TrainStation: 97860ca
- Region: 758a43e
- StreetLight, TrainSignal: 65e2798
- Climate: 1effec1
- Steam, Road, RoadStation: d722ffc
Full Changelog: 3.8.1...3..9.0
Future
I figured a "what's in the pipeline" section could be interesting to a few people, so here are the things that have all been worked on recently but are not yet complete - may or may not make it into the next release:
Better dependent object support:
- Copying lists of dependent objects between regions/scenarios/saves, and populating them from a folder of objects (#145, #146)
- Show better info for them in UI (#140)
- Better search/edit/find (#146
Object service
- Full scenario support (upload/download) (#111)
- Allow editing of data in the service (so people can start updating tags, adding metadata, etc)
- To facilitate this, adding 'user accounts' so people can 'register' as authors/editors. We don't want any old person to be able to edit this data
Misc
- Object encoding - currently the editor only saves objects in "no encoding" format, which makes them bigger in filesize and also not binary-equal with the original object, so it is very hard to write unit tests to check if the load/save works correctly. Adding in the encoding methods and g1 encoding will mean the editor can save objects as binary-equal to vanilla ones, making testing easier and file size smaller.