Releases: chreden/trview
v2.7.2
It seems custom levels have more ways of storing sounds, so this version will catch errors loading sounds for now so the level can be loaded. Fixes for sounds for NGLE levels will be worked on.
What's Changed
Full Changelog: v2.7.1...v2.7.2
v2.7.1
Small release after 2.7.0 to fix some issues with sounds.
Thanks @lahm86 for finding the issue with customs and working together on the fix.
What's Changed
- Add missing call to generate sounds for TR1 PC by @chreden in #1305
- Add handling for demo TR1 levels by @chreden in #1308
- Check SFX folder for MAIN.SFX on remastered levels by @chreden in #1310
- Update sound map reading to cope with customs by @chreden in #1314
- Update version to 2.7.1 by @chreden in #1316
Full Changelog: v2.7.0...v2.7.1
v2.7.0
Notice: The 32 bit build has been removed and only a 64 bit build is now available.
New Features
Some highlights from this release, see the changelog for full details.
NG+ Support
Added support for remastered level NG+ mode. Use the NG+ checkbox in view options when available to toggle NG+ mode. This will change pickups to how they appear in NG+ which is mostly swapping medipacks for weapons and ammunition. Detection of the level is based on the filename so they must be as they are in the game folder for this to work (ie. BOAT.TR2,EMPRTOMB.TR2). This will most likely change to checksum detection in the future.
Height differences on route
If the Notes view option is enable the difference in height between waypoints in a route will be displayed in the 3D view.
Background loading
Levels will now load in the background so the program doesn't hang when loading. This isn't normally noticeable on official levels but will help with loading custom levels that have large textures.
Lua Bindings
Several new Lua bindings for plugins have been added. See docs.
Sounds
Sounds now appear in the level when the Sounds view option is enabled. In the new sounds window you can play the sound if MAIN.SFX is in the same folder as the level. For remastered levels this will need you to copy the file - this will be addressed soon.
The sounds window also has a sound board that allows you to play any of the sounds in the level.
Hiding items
There is now a checkbox in windows that have a list that allows you to toggle visibility of all entries in the list.
Camera Position
The Camera Position window should stay in place relative to the bottom left more effectively now. It can now be closed. Once closed it can be re-opened from the Windows menu.
Thanks section
@lahm86 for help with mapping the NG+ pickups and PR reviews.
@makotocchi for PR reviews and general input, advice and feedback especially with anything plugin related.
What's Changed
- Show height difference on route by @chreden in #1250
- Persist toggle values to settings when toggled via hotkey by @chreden in #1252
- Remove 32 bit build by @chreden in #1253
- Reduce memory usage when loading levels by @chreden in #1256
- Add background loading by @chreden in #1257
- Add Lua binding for Room flags by @chreden in #1261
- First version of setting plugin directory by @chreden in #1259
- Set waypoint colour when added to route by @chreden in #1266
- Move windows to a window class by @chreden in #1271
- Initial scriptables implementation by @chreden in #1272
- Include Look At in triggered by, rename to references by @chreden in #1274
- Camera bindings for Lua by @chreden in #1275
- Load all default libs by @chreden in #1276
- Show sound sources by @chreden in #1277
- Switch back to default Lua library opening by @chreden in #1279
- Show extra camera commands in floordata by @chreden in #1281
- Rewrite level loading by @chreden in #1283
- Add header level hide checkbox for lists by @chreden in #1284
- Add 'commands' filter to triggers by @chreden in #1286
- Detect del.trc and use appropriate sound map by @chreden in #1289
- Add "Has Collision" attribute for static meshes by @chreden in #1291
- Allow user to close Camera Position window, anchor to bottom left by @chreden in #1293
- Correctly store sprite sequences by @chreden in #1296
- NG+ mode for remastered levels by @chreden in #1297
- Create version 2.7.0 by @chreden in #1299
- Load different Lua library set, limit some by @chreden in #1301
- Use updated action versions by @chreden in #1302
- Add missing references by @chreden in #1303
Full Changelog: v2.6.0...v2.7.0
v2.6.0
Several new features and bug fixes in this release. Here are some of the new features:
Record Counts
In windows with a filterable list the number of entries is shown at all times. When a filter is applied the current count and total count is displayed at the bottom of the list.
Fonts
You can now change font to any TrueType font you have installed on your system. Note there are issues using some fonts - if it fails it will remain as the default (Arial).
Statics Window
Static meshes can now be click on in the viewer and have their own window to show properties.
Features:
#1217 Generate black skidoos for skidoo enemies
#1220 Add record count to filterable lists in windows
#1224 Add floordata to rooms window filters
#1226 Change "is not" on multi value filters to be "none of"
#1232 Show floor and ceiling triangulation corner heights in rooms window
#1236 Allow user to change fonts
#1240 Add statics window and interaction with statics in 3D view
Bug Fixes:
#1222 Generate trigger geometry based on sector triangulation
#1228 Flip pickup sprites horizontally
#1230 Use command type values for trigger command type filtering
#1231 Improve triangulation handling in geometry mode
#1235 Always set level on UI on open or reload
#1238 Check whether alternate group exists before setting it
#1241 Change item 135 in TR4 from Flame Emitter to Chain
#1245 Clear scroll_to variable after room content tab rendered
Maintenance:
#1221 Update to latest ImGui, switch to ImGui test engine
#1233 Use room references instead of room numbers
Documentation:
#1246 Reorganise the readme
#1247 Create version 2.6.0
What's Changed
- Generate black skidoos for skidoo enemies by @chreden in #1217
- Add record count to filterable lists in windows by @chreden in #1220
- Update to latest ImGui, switch to ImGui test engine by @chreden in #1221
- Generate trigger geometry based on sector triangulation by @chreden in #1222
- Add floordata to rooms window filters by @chreden in #1224
- Change "is not" on multi value filters to be "none of" by @chreden in #1226
- Flip pickup sprites horizontally by @chreden in #1228
- Use command type values for trigger command type filtering by @chreden in #1230
- Improve triangulation handling in geometry mode by @chreden in #1231
- Show floor and ceiling triangulation corner heights in rooms window by @chreden in #1232
- Use room references instead of room numbers by @chreden in #1233
- Always set level on UI on open or reload by @chreden in #1235
- Check whether alternate group exists before setting it by @chreden in #1238
- Allow user to change fonts by @chreden in #1236
- Change item 135 in TR4 from Flame Emitter to Chain by @chreden in #1241
- Add Statics Window and interaction with statics in 3D view by @chreden in #1240
- Clear scroll_to variables after room content tab rendered by @chreden in #1245
- Reorganise the readme by @chreden in #1246
- Create version 2.6.0 by @chreden in #1247
Full Changelog: v2.5.0...v2.6.0
v2.5.0
New this release is the categories feature. All items have had categories added to them. You can see this in the items window. Entities can be in more than one category.
You can use filters to search based on Category
The remastered levels are all loading. The only change required was to exclude .TRG files from the level switcher.
Features:
#1199 1-3 Remastered support
#1200 Add IsPickup attribute and add to filters
Bug Fixes:
#1206 Opening VICT.TR2 doesn't clear the minimap
#1211 Add explicit filters for known level entries
#1204 Sector highlight not working
Documentation:
#1212 Create version 2.5.0
What's Changed
- Change picking to consider all room results first by @chreden in #1198
- Add Categories property to Items by @chreden in #1202
- Fix sector highlight not appearing on hover by @chreden in #1205
- Clear minimap on level load by @chreden in #1207
- Add explicit filters for known level entries by @chreden in #1211
- Create version 2.5.0 by @chreden in #1213
Full Changelog: v2.4.1...v2.5.0
v2.4.1
Two new big improvements in this release.
Most View Options
toggles will now save automatically and be remembered for the next time you open the program.
New 'Find' window - find items, triggers or rooms using Ctrl + F to open the find window. This replaces the previous 'Go To Item' and 'Go To Room' windows. You can search by number or by name.
trview-find.mp4
Features:
#1032 Add file positions to log
#1187 Improve the "Go To" window
#1189 Make a single search window
Quality of Life:
#1190 Auto persist view options preferences
Bug Fixes:
#1192 Fix issue with spaces in paths when opening directly from explorer
Documentation:
#1195 Create version 2.4.1
What's Changed
- Add file position to log by @chreden in #1185
- Improve the "Go To" window by @chreden in #1188
- Save view options when changed by @chreden in #1191
- Fix issue with spaces in paths on open with by @chreden in #1194
- Make a single search window by @chreden in #1193
- Create version 2.4.1 by @chreden in #1196
Full Changelog: v2.4.0...v2.4.1
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
2.3.1
This is a small release mainly to fix a bug reported by @lahm86 where trview wouldn't open again if closed when minimised.
Bug Fixes:
#1048 Existing filters/order are not applied after switching levels
#1051 Launching trview fails if last closed when minimized
#1057 Title.trc and richcut2.trc freeze trview when you try to open them
Documentation:
#1060 Create version 2.3.1
What's Changed
- Sort window lists on initialisation by @chreden in #1049
- Always use SW_SHOW when restoring window location by @chreden in #1054
- Add missing include files for latest VS by @chreden in #1055
- Update to latest version of DirectTK by @chreden in #1056
- Stop reading sound samples by @chreden in #1058
- Move interface destructors to implementation by @chreden in #1059
- Create version 2.3.1 by @chreden in #1061
Full Changelog: v2.3.0...v2.3.1
v2.3.0
This release has a lot of features, QOL and bug fixes. Some more notable ones:
- F6 and F7 to move through levels in the same directory
- Can open encrypted levels
is not present
added to filters- Adjustable camera FOV
- New context menu options (copy, triggered by)
- Window position restored on startup
The plan is for the next release to wrap up the remaining level data features (floordata, camera/sinks).
Features:
#993 Open encrypted levels
#998 Add 'is not present' to trview filters
#1014 Add setting for camera FOV
#1015 Add view option to toggle rendering of room geometry
#1022 Hotkeys to switch levels
Bug Fixes:
#982 Trigger window not scrolling to show selected trigger
#1000 Decryption only works in 32 bit mode
#1008 TR1: Missing scion piece name
#1012 At least one TR5 level can't be loaded due to sound sample count layout
#1026 Tooltips remain visible despite window losing focus
#1029 Rooms window is missing the Alternate and Alternate Group filters
#1034 Next file in directory hotkey crashes on last file
#1039 Levels with over 256 rooms have incorrect portals
#1038 Triggers list loses sort order when a trigger is selected
#1043 Log window takes up a lot of memory
Quality of Life:
#991 Add 'Triggered By' entries to context menu for items
#962 Extra customisation of the waypoint stick
#1001 TR1: Show mutant egg spawn types
#1003 Grab coordinates from cursor position
#1004 Add an "Open route window at startup" in the settings... and populate it?
#1010 Save Layout?
#1016 Show yaw angle only as positive number
#1024 Handle VICT.TR2
Documentation:
#1044 Create version 2.3.0
What's Changed
- Add and use functions to get specific entities by @chreden in #992
- Decrypt encrypted levels by @chreden in #994
- Scroll correctly to selected trigger by @chreden in #995
- Remove wide strings where possible and switch to format by @chreden in #996
- Add 'is not present' filter by @chreden in #999
- Allow custom colour for waypoint by @chreden in #997
- Add copy option to context menu by @chreden in #1006
- Fix errors with decryption by @chreden in #1002
- Add mutant type to mutant eggs by @chreden in #1005
- Add 'open route on startup' and remember last route for level by @chreden in #1007
- Add missing Scion Piece name for TR1 by @chreden in #1009
- Add 'Triggered By' to the context menu by @chreden in #1011
- Don't read sample indices for TR4+ by @chreden in #1013
- Only show positive yaw angles in camera display by @chreden in #1018
- Add FOV option to Camera settings by @chreden in #1021
- Add hotkeys to switch level by @chreden in #1023
- Allow VICT.TR2 to be loaded by @chreden in #1025
- Make tooltips disappear when no longer over the window by @chreden in #1027
- Add ability to turn off room geometry by @chreden in #1028
- Add Alternate and Alternate Group filters to room window by @chreden in #1030
- Save and restore window position by @chreden in #1031
- Check for end of directory files on next file by @chreden in #1035
- Correctly read portal number as uint16_t by @chreden in #1040
- Fix triggers window losing sort on selection by @chreden in #1041
- Clear the log before loading levels by @chreden in #1045
- Create version 2.3.0 by @chreden in #1047
Full Changelog: v2.2.0...v2.3.0
v2.2.0
This release has been brought forward to address two bugs that have appeared when loading some custom levels that caused trview to crash (#979, #985). There is still something unusual going on (see #983) but the program should stop crashing at least.
Also included in this release is the quick reload function which can be used by pressing F5 or selecting it from the menu, as well as the first version of the log viewer.
Features:
#976 Quick Refresh Support for a Level
Bug Fixes:
#985 Crash when loading custom - trying to pop empty transform stack
#979 Crash when invalid level data encountered
Quality of Life:
#240 Add logging for loading a level
#980 Add a tooltip for the enable/disable filters checkbox
Documentation:
#988 Create version 2.2.0
What's Changed
- Add log window and log level loading by @chreden in #977
- Add tooltip for toggle filters checkbox by @chreden in #981
- Add 'reload' function by @chreden in #978
- Use identity matrix if transform stack is empty by @chreden in #986
- Add handling for missing static mesh and items by @chreden in #984
- Create version 2.2.0 by @chreden in #989
Full Changelog: v2.1.0...v2.2.0