[2.8.6] Demo Recording/Playback#337
Merged
stonedDiscord merged 35 commits intomasterfrom Jan 13, 2021
Merged
Conversation
Set up elapsedtimer to generate wait# stuff between packets recorded TODO: playback
8 tasks
Contributor
|
last commit makes it do the thing it needs to work. there are just some details that need implementation:
|
Pop up file dialog box *before* establishing the connection, not after. TODO: * Fix having to load the same file *twice* to be able to connect to the demo server for some reason * Fix the segfault caused by calling the playback() function when there's no remaining data, it's almost like demo_data.isEmpty() is ignored for whatever reason???
…ser fails to obtain a good demo file
…happens in the Demo playback local server
Use file_exists() to be more consistent in append_to_file
…e such as SC, SM, CI etc. (TODO: parity???) Remove useless debug stuff
…wait in milliseconds between wait packets Add /pause or | shorthand to pause playback Re-add /play and keep > as a shorthand Remove clientside restrictions from sending empty OOC messages and sending OOC messages without a name - these should be serverside.
Default the character to Spectator char no matter the selection in CSS
…l Character Select Screen list to still be parsed corectly, using the character folder in the MS packet as reference. Allow servers with no selectable characters to still be properly loaded Bypass the Character Select Screen when joining a server with no character select screen and automatically become a spectator
…xist Add a /load command letting you load a demo file without rejoining the demo server (the CS packet will not be properly handled but I cannot think of a single tangible problem this causes lol) Make sure all DEMO CT messages are colored properly
…ed a demo server after leaving another
…disable auto logging when running the game
oldmud0
reviewed
Nov 16, 2020
src/courtroom.cpp
Outdated
| chatlogpiece log_entry(p_name, p_showname, p_message, p_action, p_color); | ||
| ic_chatlog_history.append(log_entry); | ||
| if (ao_app->get_auto_logging_enabled()) | ||
| if (ao_app->get_auto_logging_enabled() && !ao_app->log_filename.contains("/Demo playback/")) |
Member
There was a problem hiding this comment.
I didn't realize this copypasting BS existed with get_auto_logging_enabled. Let's try not to make it worse.
… prioritized with MS (IC chat) packets being used as the anchor.
# Conflicts: # src/courtroom.cpp # src/packet_distribution.cpp
mposs00
previously requested changes
Jan 8, 2021
…mo file, resulting in characters having something like "#1" in their message breaking that specific message
Contributor
Author
|
@oldmud0 @scatterflower |
# Conflicts: # src/courtroom.cpp # src/packet_distribution.cpp
… bugged the code Fix aopacket being busted up as well
Contributor
Author
|
I don't have the energy to continue polishing this branch, everything I need to work works and there have not been any crashes or bad stuff happening with it even if the charlist packet is missing. If you want to polish it you can do so on this branch, though I'd prefer we merged this in as-is and created separate polish branches after the fact once we get 2.9 released and we have minor versions for inevitable bugfixing down the line |
Crystalwarrior
commented
Jan 12, 2021
oldmud0
reviewed
Jan 13, 2021
oldmud0
reviewed
Jan 13, 2021
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This implements support for a demo system by recording networking packets for anything that is relevant to this system.
Evidence might be recorded in the future, but it can potentially overload the filesize of .demo files due to how fucking cursed evidence packets are.
TODO:
Demo playback system with:
Features that would be nice but are kind of extra:
implements #317
Remake of #329 to allow contributions from the whole team