v2.0.0
This release replaces the homemade UI system with Dear ImGui. This should mean new features can be made more quickly as there will be less work on making new UI elements. It also has far more features than the old UI.
Also added is the new filter system. This is available on all list windows. Details can be found here.
Lights are now visible and have their own window.
As usual there are several bug fixes and a few QoL changes.
Features:
#402 Migrate UI to a real UI framework
#176 Minimap - colour picker
#849 Show lights
#275 Advanced item filters
Bug Fixes:
#620 Room geometry not showing for this level
#661 trview doesn't open TombEditor levels properly
#908 OCB is appearing as a boolean instead of a number
#898 Camera rotation after using context menu requires a click
#911 Scrolling up a list using keyboard nav is too fast
#917 Get fonts folder using known folder path
#919 Intermittent error removing event tokens
#928 Camera angle entry incorrectly updates one angle when degrees used
#926 Timer property on triggers should be signed in TR4+
#927 Selected waypoint doesn't changed when rearranged
Quality of Life:
#635 Allow route list to be rearranged
#327 Clarify language around 'trigger triggerers'
#902 Move ImGui setings file next to trview settings file
Performance:
#607 Add frustum culling for orthographic mode
#918 Use ImGui clipper for list windows
Build:
#892 Remove NuGet step from the build
Testing:
#887 Convert all the mocks to NiceMock
#895 Restore missing settings window slider tests
Refactoring:
#800 Use C++20
#922 Remove boost::ext::di
Documentation:
#914 Update readme for new UI
#916 Create version 2.0.0
What's Changed
- Add Dear ImGui to external folder by @chreden in #882
- Update projects to VS 2022 and retarget SDK by @chreden in #885
- Convert UI to Dear ImGui by @chreden in #883
- Convert all mocks to NiceMock by @chreden in #893
- Remove nuget steps from build by @chreden in #894
- Fix ImGui windows being stretched on window move by @chreden in #896
- Allow user to rearrange route using drag and drop by @chreden in #899
- Use C++ 20 by @chreden in #900
- Add a tooltip to explain trigger triggerers by @chreden in #906
- Add culling for orthographic mode by @chreden in #905
- Interpret object textures differently in customs by @chreden in #904
- Store ImGui ini file next to trview settings by @chreden in #903
- Customise minimap colours in settings window by @chreden in #901
- Remove bool formatting for OCB by @chreden in #910
- Restore Settings Window slider tests by @chreden in #913
- Improve interaction between camera rotation and context menu by @chreden in #907
- Lights and Lights Window by @chreden in #897
- Add advanced filters system by @chreden in #915
- Add a workaround for ImGui scrolling bug by @chreden in #921
- Get fonts folder using known folder path by @chreden in #920
- Remove boost-ext/di by @chreden in #923
- Fix event handler unregistering ownership loop by @chreden in #925
- Use ImGuiListClipper in the Triggers Window by @chreden in #924
- Always convert camera rotation from deg to rad by @chreden in #929
- Update readme.md for recent changes by @chreden in #930
- Make timer on Trigger signed on TR4+ by @chreden in #931
- Track drag and dropped waypoint if selected by @chreden in #932
- Fix Items, Rooms, Triggers window not storing closing window by @chreden in #933
- Create version 2.0.0 by @chreden in #934
- Update about box for v2.0.0 by @chreden in #936
Full Changelog: v1.8.0...v2.0.0