aboutsummaryrefslogtreecommitdiff
path: root/assets/interlocking.html.LyXconv/interlocking.4ct
diff options
context:
space:
mode:
authororwell96 <orwell@bleipb.de>2019-02-21 08:53:41 +0100
committerorwell96 <orwell@bleipb.de>2019-02-21 08:53:41 +0100
commit2ba75784c22ef914c2fbf427ef9c3b96473fe629 (patch)
tree1289a9abcaf9a3dab5ace0e1048cae2b0b8b78dd /assets/interlocking.html.LyXconv/interlocking.4ct
parentf2c2aad32940311914cc0d8d9b6b216d02d34d55 (diff)
downloadadvtrains-2ba75784c22ef914c2fbf427ef9c3b96473fe629.tar.gz
advtrains-2ba75784c22ef914c2fbf427ef9c3b96473fe629.tar.bz2
advtrains-2ba75784c22ef914c2fbf427ef9c3b96473fe629.zip
Fix moving Signal IPs (no duplicate IPs)
Diffstat (limited to 'assets/interlocking.html.LyXconv/interlocking.4ct')
0 files changed, 0 insertions, 0 deletions
pan class="hl pps">"rollback_interface.h" #include <list> #include <vector> #include "sqlite3.h" class IGameDef; struct ActionRow; struct Entity; class RollbackManager: public IRollbackManager { public: RollbackManager(const std::string & world_path, IGameDef * gamedef); ~RollbackManager(); void reportAction(const RollbackAction & action_); std::string getActor(); bool isActorGuess(); void setActor(const std::string & actor, bool is_guess); std::string getSuspect(v3s16 p, float nearness_shortcut, float min_nearness); void flush(); void addAction(const RollbackAction & action); std::list<RollbackAction> getEntriesSince(time_t first_time); std::list<RollbackAction> getNodeActors(v3s16 pos, int range, time_t seconds, int limit); std::list<RollbackAction> getRevertActions( const std::string & actor_filter, time_t seconds); private: void registerNewActor(const int id, const std::string & name); void registerNewNode(const int id, const std::string & name); int getActorId(const std::string & name); int getNodeId(const std::string & name); const char * getActorName(const int id); const char * getNodeName(const int id); bool createTables(); bool initDatabase(); bool registerRow(const ActionRow & row); const std::list<ActionRow> actionRowsFromSelect(sqlite3_stmt * stmt); ActionRow actionRowFromRollbackAction(const RollbackAction & action); const std::list<RollbackAction> rollbackActionsFromActionRows( const std::list<ActionRow> & rows); const std::list<ActionRow> getRowsSince(time_t firstTime, const std::string & actor); const std::list<ActionRow> getRowsSince_range(time_t firstTime, v3s16 p, int range, int limit); const std::list<RollbackAction> getActionsSince_range(time_t firstTime, v3s16 p, int range, int limit); const std::list<RollbackAction> getActionsSince(time_t firstTime, const std::string & actor = ""); void migrate(const std::string & filepath); static float getSuspectNearness(bool is_guess, v3s16 suspect_p, time_t suspect_t, v3s16 action_p, time_t action_t); IGameDef *gamedef = nullptr; std::string current_actor; bool current_actor_is_guess = false; std::list<RollbackAction> action_todisk_buffer; std::list<RollbackAction> action_latest_buffer; std::string database_path; sqlite3 * db; sqlite3_stmt * stmt_insert; sqlite3_stmt * stmt_replace; sqlite3_stmt * stmt_select; sqlite3_stmt * stmt_select_range; sqlite3_stmt * stmt_select_withActor; sqlite3_stmt * stmt_knownActor_select; sqlite3_stmt * stmt_knownActor_insert; sqlite3_stmt * stmt_knownNode_select; sqlite3_stmt * stmt_knownNode_insert; std::vector<Entity> knownActors; std::vector<Entity> knownNodes; };