All notable changes to this project will be documented in this file.
- Add content-addressed storage deduplication + better metadata tracking for dumped builds
- Another stab at fixing memory consumption
- Bump pickled dep to reduce RAM usage when converting GameParams
- Persist armor thickness legend position/collapse state
- Windows would change size actively
- Add 15.3 to
game_versions.toml(#34)
- Minimap renderer now respects chat/kill feed enable/disable options
- Add
max_duration,played_duration, andextra_durationfields to exported match metadata - Add MSI installer to releases
- Add batch replay export
- Add --recreate-game-params arg to minimap renderer CLI to recreate the cache if the internal format changes
- Add application setting to enable persisting data required for old replay compatibility
- (wowsunpack) Update to pickled 2.0-alpha4 to fix bugs surfaced in WoWs v15.3 + delete flaky tests
- Window sizes would shrink/grow after restarting the app when a non-1.0 scaling factor was applied
- Wows-data-mgr now exports the
gui/ships_silhouettesdirectory so that CLI renderers can render the HP bar silhouette - Rendered videos did not appropriately display CJK text
- Updating the application language will update any parsed replays' text
- Protocol tests were failing
- Update dependencies
- (minimap-renderer) Added option to dump all frames
- Allow test ships to be seen in armor viewer
- App defaults for updates/log files were incorrect
- I think I FINALLY fixed settings not saving for some people
- File > Check for Updates now does not respect the main app setting for checking for updates on startup
- Some settings weren't being properly persisted (#30)
- Get wt-translations ready for publish
- Add 15.2 to
game_versions.toml
- UI scaling was not being persisted
- Use strict version matching and warn on mismatch for extracted data
- Filter out removed captain skills
- Make extracted dir behavior match minimap-renderer-cli
- Main app window position was not being restored on startup
- Completely remove logic involving bundled constants data, except for using it as a fallback
- Settings were not properly persisted on change
- Constants fallback sometimes was unreliable, which might break constants data updates
- Update to main egui branch to fix crash plaguing people
- Fix incorrect consumable packet decoding, showing wrong consumable icon
- Distribute flatpak instead of appimage
- Refactor to use SQLite database for app storage
- Add player/ship name
- Add support for setting ship annotations as a particular ship
- Fix duplicate players + players being added to wrong team in games with ships that spawn in/respawn (like operations)
- Add spotting/potential damage breakdowns in inspector/renderer
- Fix broken consumable packets
- Fix annotations not working and default name
- Multi-language support
- Possibly fix background thread crashing, failing to ipck up new replays
- Reduce some inefficient checks in the hot path
- Fix operation building icons + improper ship icon states + crash for unsupported plane icons
- Add stat panel and translate common messages
- Fix zoom clipping canvas under stats panel
- Fix some lingering issues with the stat panel in the renderer
- Fix players missing from received damage (#27)
- Fix self observed damage stats
- Fix slightly improper Polish translation for spotting damage
- Add replay sessions for group replay reviews
- Add tactics board
- Add tactics web page
- Ensure native windows do not depend on each other for repainting
- Fix armor checkboxes not working when in a partial state + fix splash zone labels
- Change token format
- Fix annotation syncing
- Add cursor click effect + refactor channels
- Ensure that annotation movements, clearing, etc. are properly synchronized
- Improvements to session popover/joining
- Add unit tests
- Show IP address warning when a user starts a session
- Add heartbeats to the protocol
- Use name-derived color instead of fixed color palette
- Ensure that pre-session annotations are synced properly
- Improvements to freehand line smoothing / arrow heads
- Fix pre-existing cap points not syncing
- Rework forced window sharing/multiple tactics boards
- Fix state synchronization issues
- Refactor into separate crate
- Add arrow + measurement tools, add keyboard shortcuts and multiselect
- Ensure arrow head scales with zoom
- Fix rustls conflict
- Fix twitch timestamps showing 0 minutes
- Show centerpoint of shapes when moving them
- Fix file listing not being resizable to smaller than default
- Add context menu action to add replay to session stats
- Fix depth charge damage not properly surfacing
- Add networking info
- Update color palette
- Fix dialog showing up on replay inspector tab
- De-dupe names
- Add option to use extracted game assets
- Fix issue with popover immediately closing when trying to change chart stat
- Add utility function for parsing game version from its data + update tests
- Use master instead of nightly
- Add option to simulate past ricochets
- Fix shell origin / ship rotation
- Fix building on darwin?
- Update targets
- Don't limit tracking to only ranked/randoms
- File listing should auto-size + move game chat to separate window
- Allow multiple replays to be loaded in different tabs
- Fix issue when parsing some operation replays
- Add a bunch of tests
- Massively improve UX/UI
- Support viewing binary files from assets.bin as JSON
- Perf improvements
- Change UI a bit
- Include asterisk for linux/macos
- Add session stats
- Stats are no longer in a floating window and are instead a new tab
- Allow multiple charts tabs
- Add support for combined stat charts
- Fix crash when no replays directory exists in game dir
- Fix packet 0x26 parsing
- Refactoring from wows-replays
- Ribbon icons were not properly loading
- Fix hover target when ship has roll applied
- Ensure PDB is updated with app updates
- Rudimentary realtime armor viewer
- Add hull upgrades to armor viewer
- Refactor child window repainting for perf / accuracy
- Come very close to real turret positions -- TODO rework
- Make sure errors about replays failing to parse and invalid WoWs dirs are more visible
- Implement shader, MSAA, and double-sided panel edge for better quality
- Basic implementation of penetration checks
- Begin to implement ballistics checking/arcs/etc
- Show simulated shells and where they explode
- Ensure trajectory viewer uses correct camera path when clicking model
- QoL updates to trajectory UI
- Improve trajectory analysis for multiple simultaneous ships
- Fix label for where shell exploded; ensure that we use multiple arcs for different ships
- Implement splash box mechanics and refactor armor analysis window
- Make checkboxes highlight bits of ship model they belong to + fix lighting
- Refactor lighting / hull viewing and add intersection lines to all plates
- Improvements to hull/splash box rendering + show salvo timeline in live renderer
- Support extracting/viewing with turret/hull upgrades
- Increase brightness of mesh
- Lighting improvements + fix perf when trajectories are enabled
- Splash boxes will carry override to new windows
- Exported data now has damage relationships, player relationships, ribbons, etc.
- Add replay server ballistics comparison + fix waterline
- Refactor to pre-populate salvos and show a timeline
- Use strongly typed clock types + parse ahead to collect salvos
- Add option to prefer CPU decoder
- Fix capture point icons for standard battle
- Add division filters, game count limit appy per-ship (instead of globally), and persist sessions
- Revamp per-ship display and add options to copy/delete ship info
- Fix hidden panel display state
- Show proper plate thickness according to the game + better describe multiple plates
- Big improvements to armor viewer UX / accuracy
- Turret rotation + opacity slider + reworked toggles
- Classify hidden plates
- Add 3d model export
- Sign the toolkit binary
- Make it so searching doesn't make all nodes expanded when not searching
- Fix right-clicking to disable a zone/part name
- Add waterline
- Slow camera movement down
- Fix searching for ship names with special characters
- Adjust score timer position in live renderer
- Armor viewer nation list was not scrollable + broke armor viewer
- Armor viewer
- (armor) Fix turret transform + sync options across panes
- (armor) Allow clicking to select armor regions, right-click to disable
- (armor) Show stacked plates
- Refactor to use Vfs
- Operations now load
- Game params are not reloaded when loading ShipAssets
- Remove test / NDA ships
- Load nation flags
- Use egui_ltreeview
- Refactor to use egui_dock
- Add buttons for opening replays in game
- Holding ALT on with expanded replay details will show inverse damage dealt details (fixes #24)
- Show confirmation dialogs for destructive or annoying actions
- (renderer) Use fonts from game and fix scaling + show torpedo ranegs
- Improve error message visibility in UI
- Refactor updating WoWs game dir to ensure state is properly cleaned up
- Ensure that unsupported game versions surface errors
- (renderer) Make overlapping ship config labels rotate around their circle to avoid collisions
- Ensure builds are listed consistently and can load on-demand
- Add progress callback for video export + ensure we can set prefer_cpu
- (renderer) Refactor how ship range filters applied
- Refactor networking logic to occur in background thread and re-enable logging
- (renderer) Add disable ship ranges button
- (renderer) Add chat overlay + enhance window title
- Show warning when GPU renderer cannot be used and fallback to CPU renderer
- (renderer) Fix smooth scrolling
- (renderer) Fix ghost trails
- Attempt to handle constants data updates better + surface errors better
- Update bundled constants data
- Mitigate against GPU mem leak when app is minimized
- Add advantage text, score timer, and improve event timeline
- (renderer) Add speed trails, improved score bar, and kill feed
- (renderer) Add keyboard shortcuts and make the UI a bit prettier
- (renderer) Add options for disabling end-of-battle text + buff counters
- Performance improvements + hopefully fix deadlock causing app to crash
- Check for constants file updates when loading replays
- (renderer) Add event timeline
- Add cap capture events
- Support multiple versions of the game, so long as they are installed
- Players that were never spotted now show on the replay results
- Use egui_notify instead of my own timed message system
- Clean up UiReport mapping code
- (renderer) Add right-click option + options for showing/hiding dead ship info
- If the app state cannot be deserialized, reset it
- Add achievement icons
- Add option to limit session stats
- Support zooming/panning
- Support overlay controls
- Add basic annotation support
- Show ship aim direction
- Show player ribbons when row is expanded
- Cumulative -> average
- Maybe fix icon not working in CI builds?
- Add charts to session stats
- Allow taking screenshots of charts
- Switch graphics renderer from glow to wgpu
- Add manual secondaries
- Restore the stream sniper tech
- Remove plain bomb from damage to prevent double-counting
- Refactoring to fix clippy lints
- Auto-updater should write the new exe in same directory as old exe
- Incomplete match results warning was broken
- Some session stats weren't been shown. hopefully finally fixed?
- Add ability to update session stats from multiple selected items in replay list
- Show players who disconnect early from battle
- Show warning when replay has incomplete results
- Add error text when the toolkit fails to check for updates
- Tomato.gg no longer supports WoWs
- Newly parsed replays did not correctly sort by PR
- Bump wows_replays version to hopefully fix never-spotted players not being listed in score
- Re-parse replay on modification
- PR colors match WoWs-Numbers (thanks janatan)
- Update screenshot of the replay tab
- Add ship name to interaction player name hover text
- Add PR calculation (thanks WoWs Numbers)
- Reverse the damage interaction details to show ship name normally and player name on hover
- Auto-updater had a bug in how it renamed files
- Replay details no longer cause crash in matches with bots
- Only show achievements header when player has achievements
- Rudimentary session stats
- Restore replay view's context menus for grouped items
- Remove air support bomb to prevent damage double-counting
- Add replay grouping by ship/date + show win/loss
- Rework error propagation for better error info and app resiliance during updates
- Add damage breakdowns by player
- Add damage dealt/received breakdowns to tooltip and expanded info
- Add damage interactions to exported data
- Update embedded contants file
- Update egui to v0.33.3
- Fix GameParams unpacking/conversion to JSON
- Update changelog
- Bump wowsunpack + wowsreplay versions to fix replays in 14.9.0
- Fix slow conversion of GameParams
- Fix base params unpacking
- Add button for dumping base GameParams
- Fix crash when using filter larger than hours
- Fix regression with detecting replays stored in versioned folders
- Increase zoom factor to 1.1 by default and fix UI issues when changing zoom factor
- Only set zoom factor if no settings have been saved
- Add panic handler and detect crashes
- Ensure that the new update filename matches the old one
- Format replay file listing with newlines for easier reading
- Expose hit information (CV data is not currently exported)
- Application icon is now embedded in binary/shows when pinned to taskbar
- Add Discord server link
- Update builtin constants.json file for latest game version
- (replays) Allow exporting as CSV
- (replays) Test ship players can see their own stats
- (replays) Replay export filename replaces all characters which may bug filename
- (replays) Add data export
- (replays) Add data auto-export in settings tab
- (replays) Data export provides module and skill names
- (replays) Show build info when player details are expanded
- (replays) Only make one attempt to parse historical replays
- (replays) Fix inconsistencies between auto data export and manual export
- Remove dead code
- Only write results if server-provided data is available
- (replays) Constants data was not being loaded from disk
- (replays) Add fires/floods/cits/crits
- (replays) Add icons for IFA/Dazzle builds
- (replays) Add damage received and distance traveled
- (replays) Move column filters to replay tab
- (replays) Support file drag and drop
- Refactor tables
- (replays) Allow double clicking a table row to expand it
- (replays) Improvements to the player listing table
- (replays) Add skill info hover text to expanded row
- Show data collection consent window
- (replays) Decode HTML entities in chat messages
- (replays) Fix broken potential damage breakdown
- (replays) Refactor background replay parsing logic to prevent possible panics
- (replays) Fix hover labels for received damage
- (replays) Fixed long damage hover text
- (replays) Get rid of hardcoded stats indices
- Update dependencies
- Refactor UI code into its own module
- (replays) Download constants file on app launch
- Mod manager
- Update prompt window renders markdown
- (replays) Implement sortable columns in replay viewer
- Expose player on GameMessage
- (replays) Player clan is now shown with chat message
- Map.bin was being written to disk by the replay parser lib by accident
- Adjustments to stream sniper detection
- (player_tracker) Fix filtering by player name
- (replays) Large refactoring of the replay viewer to clean up code + make future features easier to implement
- Expose clan color and make your own div gold
- (replays) Fix stream sniper detection in replay parser
- Default settings were not properly applied
- Use release tagged as latest for updates
- (player_tracker) Only consider ranked / random battles
- Add twitch integration to detect stream snipers
- (player_tracker) Ignore players in division
- (player_tracker) Add more time ranges for time filter
- (player_tracker) Add players from current match with stream sniper detection
- (settings) Allow customizing which twitch channel to watch for player tracker
- Bug with loading game data when no locale is set
- (player_tracker) Add editable player notes
- (player_tracker) Fix bug with sorting encounters in time range
- (player_tracker) Colors stopped for high numbers
- Dark mode did not work for system-wide light mode users
- Change default sort to be times encountered within the tim range
- (replays) Add base xp
- (replays) Add checkbox to auto-load most recent replay
- (replays) Colorize base XP and damage
- Add new player tracker tab
- (replays) Add hover text to break down damage by damage type
- (replays) Fixed total damage numbers reflecting incorrect teams
- (replays) Fix operation replays failing to load
- Update changelog
- Update gui
- Adjust some table column sizes
- Enable auto loading of latest replay by default
- (replays) Show which division a player was in (div letters probably don't match in-game)
- Default wows dir was previously broken, now should work
- Resolved application hang when first using the application
- (replays) Add total damage dealt in a match between the teams
- (replays) Selected replay will be highlighted in sidebar
- (replays) Add indicator for if a player disconnected from match
- (replays) Add action button to see raw player metadata
- Log file rotates hourly to reduce total log file size
- (replays) Airstrike and plane potential damage are the same
- Update replay screenshot
- Use better screenshot
- Add github discord workflow
- Bump version to v0.1.20
- Show actual damage numbers
- Add button for showing raw battle results
- Add potential and spotting damage + fixed some labels
- Add upgrade path for re-generating game params in v0.1.19
- Bump version to v0.1.19
- (replays) Add more statuses to indicate some action was done
- (replays) Fix bug where app would crash if it was focused at the end of a match
- (settings) Setting WoWs directory didn't work so well
- (replays) Chat is visually more appealing, easier to read (fixes #3)
- (app) Only show update window if there's a build to download
- (replays) Watch replays directory only
- (file_unpacker) Add support for serializing as JSON/CBOR, including for WoWs Toolkit's internal representation
- Game version updates are auto-detected and new files will be auto-loaded
- (replays) Add support for ranked and sending ranked builds back to ShipBuild
- (replays) Consolidate the manual replay loading into a single button
- (replays) Add button for exporting game chat
- (replays) Add support for sending replays that were created when app was closed
- (settings) Sending replay data was not enabled by default
- Log files were not cleared
- (replays) Fix ci compilation error
- (replays) Replays would not show any data when parsing
- (resource_unpacker) Add button for dumping GameParams.json
- Automatically send builds to ShipBuilds.com
- Use crates.io versions of wowsunpack and wows_replays
- Cargo fix
- Cargo fmt
- Update changelog
- Update changelog
- (replays) Fix incompatability with 13.2.0
- Oops updated changelog before tagging
- Bump version
- (replays) Replays in build-specific dirs should now work
- Add changelog
- Bump version
- Update changelog
- Add support for tomato.gg
- (replays) Double processing of replays
- Ensure replays dir is correctly reset if wows dir changes
- Improve perf for file listing filter + regression from egui update
- Ensure the found replays dir is used for loading replay files
- Tab_name -> title
- Update egui deps
- Cargo fix
- Bump version