diff options
| author | JustSomePwner <crotchyalt@gmail.com> | 2018-08-30 14:01:54 +0200 |
|---|---|---|
| committer | JustSomePwner <crotchyalt@gmail.com> | 2018-08-30 14:01:54 +0200 |
| commit | 7ccb819f867493f8ec202ea3b39c94c198c64584 (patch) | |
| tree | 94622e61af0ff359e3d6689cf274d74f60b2492a /gmod/movement_recorder.hpp | |
| parent | 564d979b79e8a5aaa5014eba0ecd36c61575934f (diff) | |
first
Diffstat (limited to 'gmod/movement_recorder.hpp')
| -rw-r--r-- | gmod/movement_recorder.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gmod/movement_recorder.hpp b/gmod/movement_recorder.hpp new file mode 100644 index 0000000..dcfe511 --- /dev/null +++ b/gmod/movement_recorder.hpp @@ -0,0 +1,29 @@ +#pragma once
+#include "sdk.hpp"
+#include "vector.hpp"
+
+namespace features
+{
+ class c_move_recorder {
+ public:
+ void play_back( );
+ void stop_playback( );
+ void clear_recording( );
+
+ bool is_recording( ) const { return m_recording; }
+ bool is_playing( ) const { return m_playing; }
+ int get_record_count( ) const { return m_move_data.size( ); }
+ auto get_current_record( ) const { return m_record_index; }
+
+ void operator()( user_cmd_t* );
+ private:
+ void record_cmd( user_cmd_t* cmd );
+ void start_recording( );
+ void stop_recording( );
+
+ bool m_recording = false;
+ bool m_playing = false;
+ size_t m_record_index = 0;
+ std::vector< user_cmd_t > m_move_data;
+ };
+}
\ No newline at end of file |
