aboutsummaryrefslogtreecommitdiff
path: root/src/pathfinder.cpp
Commit message (Expand)AuthorAge
* Reserve vectors before pushing and other code quality changes (#11161)sfan52021-04-05
* Remove dead code (#10845)rubenwardy2021-01-22
* Reduce ServerEnvironment propagation (#9642)Loïc Blot2020-04-11
* Fix pathfinder bugs: returning nil frequently, broken A*, jump through solid ...Wuzzy2020-03-05
* Merge pull request #8776 from osjc/FixGetNodeJozef Behran2019-08-10
* Optimize path finalization in pathfinder (#8100)Jozef Behran2019-01-12
* Node definition manager refactor (#7016)Dániel Juhász2018-02-10
* Code modernization: src/n*, src/o* (#6280)Loïc Blot2017-08-19
* Fix various copy instead of const ref reported by cppcheck (part 3) (#5616)Loïc Blot2017-04-20
* Pathfinder: Send errors to `warningstream`.Diego Martínez2017-03-27
* Environment & IGameDef code refactoring (#4985)Ner'zhul2017-01-09
* Move ServerEnvironment to dedicated cpp/header filesLoic Blot2017-01-08
* Move PP() and PP2() macros to basic_macros.hRogier2016-12-24
* find_path: consider walkable instead of CONTENT_AIRAuke Kok2016-05-01
* Pathfinder: improve GridNode storageest312016-05-01
* Pathfinder: use core::aabbox3d instead of own typeest312016-05-01
* Pathfinder: Fix styleest312016-05-01
* Move pathfinder classes to cpp fileest312016-05-01
* Change i++ to ++iDavid Jones2015-08-25
* Fix pathfinder to produce more useful pathsobneq2015-05-03
* Remove noisy error messages, prepend "pathfinder: " to pathfinder messagessapier2014-02-03
* Fix bug in pathfinder causing endless loop in some situationssapier2013-08-31
* Use errorstream instead of std::cout in pathfinder.cppPilzAdam2013-08-16
* Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl2013-08-14
* Math mapgen fix, ip show on connect, pathfinder segfault fixproller2013-06-23
* fix bug in scriptapi line_of_sightsapier2013-04-10
* Add Dijkstra A* and A* without prefetching pathfind algorithmssapier2013-04-06
class="hl kwb">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; };