v2.4.0
About a year of changes in this release - it fills in some of the missing data such as camera/sinks, floordata and adds lighting mode and TR1 PlayStation levels. The Rooms and Route window have also been reworked.
There has been a lot of work on the plugins system - it can be used, but documentation and the system is still being worked on so that will come in the next version - hopefully not as far away.
Thanks to @jw-dev for the initial version of the PlayStation TR1 loading and RetroRaiderJohn for explaining how PlayStation textures worked.
Features:
#174 TR1 PlayStation support
#718 Add support for Camera/Sinks
#1085 Minor camera/sinks improvement
#1086 Docs and shortcut for Camera/Sink, drop portal inferred room if possible
#1144 Lighting mode
#1157 Allow triggers to have a custom colour
UI:
#128 Add floordata view to Rooms Window
#513 Minimap missing some information
#1037 Entering waypoint coordinates in the route window
#1052 Add no space filter to rooms
#1067 Recreate the textures window
#1068 Add "starts with" and "ends with" filters
#1088 Add missing items to windows, improve tracking system
#1090 Show lights and camera/sinks in the rooms window
#1098 Show room lighting properties in Room window
#1103 Console improvements
#1140 Show item Y rotation
#1155 Rework route window
Bug Fixes:
#1050 Crashes with various custom levels
#1071 Room navigator does not update maximum on reload
#1079 Special walls are hiding no-space sectors
#1089 Viewer minimap is picked even when windows are over it
#1110 Sort weak in various windows doesn't deal with expired pointers
#1136 Crash with converted TUB file
#1142 Toggling flipmap is not recalculating neighbours
#1164 Waypoint room number resets to zero on edit
#1176 Light types are wrong for TR3
#1179 Render target tries to resize to 0 when trview is minimised
Refactoring:
#1042 Fix all warnings, turn on warnings as errors
#1095 Merge Item and Entity classes
#1113 Update to latest Lua
#1120 Move old trview Lua bindings to new
#1125 Move level assignment closer to construction
#1148 Room property for entities
Rando:
#1156 Enable route line for rando routes
Scripting:
#1082 Lua: Items
#1083 Lua: Level
#1099 Lua: Triggers
#1100 Lua: Lights
#1101 Lua: Camera/Sinks
#1104 Lua: Room
#1107 Add the Clear Body and Invisible flags to Lua Items
#1109 Remove/replace old integration
#1115 Lua: Load levels (Lua only)
#1116 Lua: Floordata
#1117 Lua: Sectors
#1123 Lua: Route
#1127 Lua: Static Meshes
#1130 Lua: Plugins System
#1133 Lua: Reload plugin
#1149 Lua: File IO review
#1158 Lua is missing room position
#1159 Add sector to the list of possible arguments of Waypoint.new()
#1161 Add selected_trigger to Level properties
#1168 Store pointer directly in userdata for Lua
#1169 Add tilt_x, z properties for Sector
Documentation:
#1183 Create version 2.4.0
What's Changed
- Fix all warnings, turn on warnings as errors by @chreden in #1062
- Make Go To Lara select the last Lara by @chreden in #1063
- Use 0x7fff for texture mask for all versions by @chreden in #1065
- Add extra checks for invalid portals by @chreden in #1066
- Recreate the Textures window by @chreden in #1067
- Only apply transparency in transparent object rendering by @chreden in #1064
- Add "starts with" and "ends with" filters by @makotocchi in #1069
- Fix invalid sectors, break sector loops and change wall detection by @chreden in #1070
- Add floordata view to Rooms Window by @chreden in #1072
- Add no space filter to rooms by @chreden in #1075
- Refresh extra UI properties after level reload by @chreden in #1076
- Allow user to move waypoints from the route window by @chreden in #1077
- Add special walls and walls on portals to minimap by @chreden in #1078
- Add special case to map renderer for no-space tiles by @chreden in #1080
- Add support for Camera/Sinks by @chreden in #1081
- Docs and shortcut for Camera/Sink, drop portal inferred room if possible by @chreden in #1086
- Show lights and camera/sinks in the rooms window by @chreden in #1090
- Stop minimap from taking mouse input when obscured by @chreden in #1092
- Add Lua bindings for Level by @chreden in #1093
- Merge Item and Entity class by @chreden in #1096
- Add Lua bindings for Item by @chreden in #1097
- Add Lua bindings for Trigger by @chreden in #1102
- Alternate group and room for rooms by @chreden in #1105
- Add Clear Body and Invisible flags to Lua Items by @makotocchi in #1108
- Console improvements by @chreden in #1106
- Add Lua bindings for Lights by @chreden in #1112
- Add Lua bindings for Camera/Sink by @chreden in #1111
- Update to Lua 5.4.4, build as C++ by @chreden in #1114
- Remove expired weak pointers on sort by @chreden in #1119
- Lua: Load levels in Lua by @chreden in #1118
- Show room light properties in the rooms window by @chreden in #1122
- Move old trview Lua bindings to new by @chreden in #1120
- Move Level assignment closer to construction by @chreden in #1126
- Lua binding for Sector by @chreden in #1128
- Plugins system by @chreden in #1132
- Add a reload button to the plugins window by @chreden in #1134
- Use blank texture on invalid sprite texture by @chreden in #1137
- Lua: Initial UI bindings and plugin system by @chreden in #1138
- Lua: Static Meshes by @chreden in #1139
- Show angle in the items window by @chreden in #1141
- Add Room Lighting mode by @chreden in #1146
- Lua: Route by @chreden in #1147
- Replace room index property on IItem by @chreden in #1150
- Replace room index on ITrigger by @chreden in #1151
- Replace room index on ILight by @chreden in #1152
- Replace room index on ICameraSink by @chreden in #1153
- Rework Route I/O and Route Window for Randomizer by @chreden in #1154
- Add position property to Room by @chreden in #1163
- Add selected trigger property to Level (Lua) by @chreden in #1162
- Add colour property for triggers by @chreden in #1160
- Don't reset Room when setting waypoint position by @chreden in #1165
- Add option to toggle route line rendering in route window by @chreden in #1166
- Allow Sector to be used to create Waypoint by @chreden in #1167
- Add tilt_x and tilt_z properties to Sector by @chreden in #1170
- Remove pointer lists from Lua integration by @chreden in #1171
- Add room property to waypoints by @chreden in #1172
- Add floordata bindings to Sector and Level by @chreden in #1173
- TR1 PlayStation support by @chreden in #1175
- Add specific light type enum for TR3 lights by @chreden in #1177
- Add zero size check for window size by @chreden in #1180
- Add static mesh list to Rooms window by @chreden in #1178
- Show waypoint notes in the viewer by @chreden in #1181
- Add ImGui input controls for plugins by @chreden in #1182
- Update version to 2.4.0 by @chreden in #1184
Full Changelog: v2.3.1...v2.4.0