Commit Graph

156 Commits

Author SHA1 Message Date
Mark Vejvoda
871b6c4a6e - removed deprecated 'fast' pathfinder that wasn't fast enough and is not going to be used 2012-09-22 21:05:06 +00:00
Mark Vejvoda
e0bf4df646 - cppcheck round #2 cleanup 2012-09-22 20:37:42 +00:00
Mark Vejvoda
b1cc8592fd - deprecated the ini setting: EnableFastPathFinder 2012-09-22 17:51:42 +00:00
Mark Vejvoda
5458f7abb4 - units now use a random # from 10-20 cells to determine how often they refresh their path 2012-05-12 01:06:55 +00:00
Mark Vejvoda
2d6cda1f6f - more pathfinder tweaks to try improve performance 2012-05-09 23:56:14 +00:00
Mark Vejvoda
f79222defa - more pathfinder in progress changes, nothing to test yet 2012-05-05 04:38:49 +00:00
Mark Vejvoda
3ff0796bec - some in progress pathfinder work 2012-05-04 21:03:52 +00:00
Mark Vejvoda
85f98e8f55 - added ini setting to enable new pathfinder (its off by defualt now).
EnableFastPathFinder=true
2012-05-04 16:48:14 +00:00
Mark Vejvoda
771ff91c1c - added a new pathfinder to test to see if it performs better than the old one 2012-05-04 14:57:59 +00:00
Mark Vejvoda
2c8b1739e5 - removed printf's as they slowed down pathfinding 2012-05-01 05:12:38 +00:00
Mark Vejvoda
624237ed47 - attempt to tweak the pathfinder a bit for performance when units are consistently having a hard time pathfinding we scale back their max cell count used in pathfinding until they have better success in pathfinding 2012-04-29 04:45:51 +00:00
Mark Vejvoda
b8fb60b325 - speed up the pathfinder a bit 2012-04-21 03:42:25 +00:00
Mark Vejvoda
6e7d4aeec5 - speed up some heavily used functions 2012-04-17 07:51:45 +00:00
Mark Vejvoda
c8fdc9269f - fix win32 build
- cleanup a lot of win32 compiler warnings
2012-04-16 20:15:57 +00:00
Mark Vejvoda
8c0bf75bf5 - got built in memory leak working. Just edit leak_dumper.h and uncomment:
//#define SL_LEAK_DUMP
- got better / more accurate stack dumps when we detect errors in game.
- Both of these need to be worked on in windows next, win32 may not compile for now until i fix it on that platform.
- BE VERY CAREFUL when working in leak_dumper.* it may cause GCC and your system to crash if you don't know what you are doing!
2012-04-14 21:21:09 +00:00
Mark Vejvoda
7f0b439d5d - some initial work for pathfinder changes (nothing enabled yet)
- added savegame info for network games to start thinking about how to allow players to reconnect to a network game.
2012-04-13 20:20:40 +00:00
Mark Vejvoda
c1f617481e - bug fixes for load saved game (now fixes loading on windows) and corrects memory bug for loading saved games on all platforms. 2012-04-04 15:36:09 +00:00
Mark Vejvoda
2f885406e0 - added logic to delay AI player from path finding more than 10 units per frame (we make him think he is blocked and he will retry another frame) 2012-03-31 19:50:45 +00:00
Mark Vejvoda
9286130138 - bugfixes and code cleanup found using cppcheck 2012-03-28 06:25:57 +00:00
Mark Vejvoda
5f95b08c17 - a ton more load game state now working (including commands) 2012-03-13 15:21:25 +00:00
Mark Vejvoda
c5331b7e8a - initial work to save game state to XML. Current only saves when out of synch or game end occurs and saves to same folder as log files and file is called: megaglest-saved.xml
(Currently we store way too much info but this is a starting point)
2012-03-10 03:27:25 +00:00
Mark Vejvoda
9852325da6 - fixed Martiño Figueroa's name in all copyrights in source code
- added copyrights to files that were missing it
2011-12-14 07:40:48 +00:00
Mark Vejvoda
66f44ff7c4 - more cleanup from cppcheck (using eclipse plugin now) 2011-12-02 17:46:02 +00:00
Mark Vejvoda
d33e1174a5 - bugfixes related to cppcheck report
- bugfixes found using valgrind (memory leaks)
2011-12-02 16:07:59 +00:00
Mark Vejvoda
6aa079390d - try to avoid a hang when multiple runtime errors occur at the same time.
- attempt at small speed boost in pathfinder
2011-10-05 21:46:41 +00:00
Mark Vejvoda
77a2fa7d48 - getting fanatical about memory cleanup so that valgrind output is more useful 2011-09-30 23:55:07 +00:00
Mark Vejvoda
21005cc1e7 - in headless mode skip call to set window icon 2011-09-27 17:15:56 +00:00
Mark Vejvoda
fdd04d10c1 - disabled jps for now and fixed ai multiplier for headless mode 2011-09-27 01:11:11 +00:00
Mark Vejvoda
d3eda7d0f2 - bugfix on older gcc compiler 2011-09-27 00:17:15 +00:00
Mark Vejvoda
048f97e698 - initial attempt to add jump point symetry to astar pathfinding (please test) 2011-09-26 23:55:18 +00:00
Titus Tscharntke
5dd3b4ba80 same settings like 3.5.2 so we can better compare performance 2011-09-24 20:30:41 +00:00
Titus Tscharntke
6fdc8db138 switching off random pathfinding intervals becasue it causes unit "warping" while walking ( more see forum ) 2011-06-26 23:51:37 +00:00
Mark Vejvoda
1700cbba2d - working implementation of particles for new attack-boost xml tag 2011-06-25 20:44:46 +00:00
Titus Tscharntke
105e639bd8 Mega also scouts to random ressource places .Only first tech type ressource is used to navigate now (which is typically gold) more improvement needed regarding this aspect ;pathfinder back to 900 2011-06-25 18:14:20 +00:00
Mark Vejvoda
d0d31e4bfe - updated pathfinder to randomize better the pathfinder refresh rate in an attempt to have better performance when we have lots of units 2011-06-24 19:40:47 +00:00
Titus Tscharntke
f5418efa8a deeper pathfinding ( lets see how much it effects performance ) 2011-06-20 23:48:59 +00:00
Mark Vejvoda
95755ad832 - update new version # 3.5.3 (possible bugfix release)
- updated some pathfinder settings to see if performance and reaction to attacking is better
2011-06-02 07:09:19 +00:00
Mark Vejvoda
47ef05ceed - attempt to improve pathfinder performance and lengthen max nodes to 900 2011-04-26 21:51:18 +00:00
Mark Vejvoda
016771ed81 - adjust camera angle for more properly unit visibility calc
- more accurate unit titles when debugging
2011-04-18 16:51:30 +00:00
Mark Vejvoda
3617603fde - try to lower max pathfinder nodes to see if it makes smoother game play 2011-04-18 04:07:39 +00:00
Mark Vejvoda
a04557ee7f - set pathfinder values back to be compatible with beta2 2011-04-14 03:27:34 +00:00
Mark Vejvoda
06fb3decda - added some code for possible future use to improve pathfinder (not for this release) so disabled right now 2011-04-14 02:51:13 +00:00
Mark Vejvoda
a48406a592 - attempt to fix bailout pathfinding logic to have better performance 2011-04-04 04:32:01 +00:00
Mark Vejvoda
cd952fcda0 - updated world synch debug calls to only log outside of faction pre-calculated pathfinding 2011-04-03 02:42:45 +00:00
Mark Vejvoda
623dfe7aa5 - updated pathfinder max to 400 2011-03-31 19:08:52 +00:00
Mark Vejvoda
0e9cf65e70 - more code cleanup (removal of dead code that is no longer used)
- fix the icon for wartime mechanic's heal command
2011-03-29 16:27:01 +00:00
Mark Vejvoda
c58f338d1b - clear pathfinder precache for units when they die to free memory sooner 2011-03-29 10:01:01 +00:00
Mark Vejvoda
d21eeeae07 - lessen pathfinder max nodes to see if this gives better performance 2011-03-19 01:31:49 +00:00
Mark Vejvoda
505abbd1ec - observers now hear sounds from units of all team units in visible quad 2011-03-18 21:23:34 +00:00
Mark Vejvoda
07f56669b7 - attempt to see if threaded pathfinding will work and if it improves performance 2011-03-18 03:53:06 +00:00
Mark Vejvoda
dcecb1ba8d - carving pathfinder to 500 and disabling pathfinder cache to see if it performs better. 2011-03-05 08:01:48 +00:00
Mark Vejvoda
4975882ea2 - cleanup some useless warnings (thanks johndh) 2011-02-28 23:33:11 +00:00
Mark Vejvoda
45a646ffef - carved back max nodes in pathfinder to 600 2011-02-28 16:45:15 +00:00
Mark Vejvoda
c679c4bfe0 - set pathfinder max to 800 (From 1200) 2011-02-26 00:47:41 +00:00
Mark Vejvoda
bced200dd1 - bugfix when bad values are in map file, game would freeze at game start due to endless loop 2011-02-25 22:13:11 +00:00
Mark Vejvoda
9de151d975 - added more things to try to improve pathfinding (especially for the AI)
AI players should now detect when units are blocked (surrounded by other units from same faction) and tell the other units to move out of the way
2011-02-25 16:32:27 +00:00
Mark Vejvoda
16c7316887 - initial attempt to enable pathfinder caching (think it might work now). Please test 2011-02-23 07:03:38 +00:00
Mark Vejvoda
69a7f8f1d6 - hopefully stabilized pathfinder for network play so we won't get out of synch 2011-02-16 19:44:12 +00:00
Mark Vejvoda
7a5de218b7 - chasing down out of synch 2011-02-16 04:43:27 +00:00
Mark Vejvoda
14c5b87da4 - debugging out of synch (make bailout logic optional) 2011-02-16 03:48:13 +00:00
Mark Vejvoda
31e722287f - bugfixes for when players disconnect, do not switch observers to AI and only show message once.
- Attempts to debug/improve network performance
2011-02-15 03:32:14 +00:00
Mark Vejvoda
737f95e5dd - for testing made max pathfinder nodecount configurable 2011-02-13 03:31:05 +00:00
Mark Vejvoda
4488a4d388 - make pathfinder caching an ini setting tso its easy to test (disabled by default)
- some code cleanup related to threads and sockets
2011-02-13 03:06:12 +00:00
Mark Vejvoda
d056486ec4 - disable a cache that i think causes out of synch 2011-02-12 01:13:52 +00:00
Mark Vejvoda
0533ce2c63 - a simple attempt to improve pathfinder performance (this needs to be tested well and can easily be disabled by setting: const bool tryLastPathCache = false;) 2011-02-11 23:32:24 +00:00
Mark Vejvoda
cab252c220 - more expansion of the maximum distance the pathfinder will calculate, this is required for proper play with cliffs 2011-02-11 16:43:57 +00:00
Mark Vejvoda
41907b7728 - increase pathfinders range for better results with cliffs 2011-02-11 07:51:29 +00:00
Mark Vejvoda
6ec92f2127 - attempt to add more randomness to pathfinding and faster AI decsions 2011-02-04 06:34:32 +00:00
Mark Vejvoda
bbab778738 - attempt for improved harvesting when congested 2011-01-28 08:58:16 +00:00
Mark Vejvoda
177531c376 - commented out some debug statements and corrected stuck harvesting a bit 2011-01-28 08:37:48 +00:00
Mark Vejvoda
23135b5bab - when units get congested now we try to randomly pick different approaches to find resources 2011-01-28 07:17:32 +00:00
Mark Vejvoda
15aab7a581 - some intial changes to support cross-compilation under mingw 2010-12-04 23:19:43 +00:00
Mark Vejvoda
8deec8d518 - changed debug world synch formatting so on xplatform we don't have issues with filename and other header tag items 2010-12-01 23:38:03 +00:00
Mark Vejvoda
b02da7d1e0 - finally found and fixed out of synch related to AI.
- added ability to log all unit activity to world synch logfiles so we can diff game info from different network clients
2010-11-30 23:32:39 +00:00
Mark Vejvoda
ca2408073e - disabled more caching to determine if any of these caches cause out of synch 2010-11-28 03:35:44 +00:00
Mark Vejvoda
edbc14a176 - disabled another cache in pathfinder trying to hunt down xplatform out of synch 2010-11-28 02:36:06 +00:00
Mark Vejvoda
664b2b1b7d - disabled another cache in pathfinder trying to hunt down xplatform out of synch 2010-11-28 00:07:08 +00:00
Mark Vejvoda
d89953ee96 - improved performance and bug fixes. 2010-11-09 09:06:52 +00:00
Mark Vejvoda
9e55d8e46b - added a small cache to improve pathfinding a bit
- added logic to IGNORE the following characters when doing CRC checks in XML files
 (space,tab,CR,LF)
2010-11-07 01:06:14 +00:00
Mark Vejvoda
cb52b4895d - performance fix in both pathfinder and debug output when pressing the debug key 2010-11-02 19:52:20 +00:00
Mark Vejvoda
9978cbeff5 - added some initial work to support FBO (frame buffer objects)
- added many NULL check guards throughout the code
- added a safe mutex around ptr access of background thread on custom menu
2010-11-01 16:44:05 +00:00
Mark Vejvoda
1e104f0496 - attempt to further improve pathfinder performance when MANY units are on the map 2010-10-26 06:53:04 +00:00
Mark Vejvoda
c47b6c676c - attempt to further improve pathfinder performance when MANY units are on the map 2010-10-26 06:43:42 +00:00
Mark Vejvoda
8bbbe403ad - more performance improvements for resource cache logic (try to avoid repetitive caching logic when it was already done once) 2010-10-25 22:02:36 +00:00
Mark Vejvoda
117521a8d4 - disabled the recently introduced pathfinding cache as its too slow and not sure that it really does any good. This should help performance to be better. 2010-10-24 06:53:30 +00:00
Mark Vejvoda
bbc8f96327 - better masterserver thread management during game play (do not start the thread for non published games) 2010-10-24 05:52:21 +00:00
Mark Vejvoda
79318735ab - cleanup of last compiler warnings in Linux (hurray!) 2010-10-21 18:24:54 +00:00
Mark Vejvoda
bc7ba297fd - more tweaking for units harvesting, this hopefully cleans up segfaults and makes things more stable. 2010-10-20 20:40:29 +00:00
Mark Vejvoda
913df7ec3b - added more cached information to help deal with units getting stuck while harvesting. Trying to keep them busy instead of standing around. 2010-10-19 22:26:49 +00:00
Mark Vejvoda
dda594cf33 - a slight change in dealing with units getting stuck while harvesting. Trying to keep them busy instead of standing around. 2010-10-19 16:54:48 +00:00
Mark Vejvoda
182f2cd20d - bugfixes to AI where workers harvesting think they have arrived but really did not. 2010-10-19 04:38:55 +00:00
Mark Vejvoda
3d4ccb460c - added a little extra logic for units when pathfinding. We keep temporary lists of bad cells of harvest resources where a unit simply cannot get to. This is kept for small periods of time and then the bad cell list is purged when data gets old. This tremendously helps units to be more active when getting stuck in challenging places on maps. 2010-10-17 08:50:27 +00:00
Mark Vejvoda
55b4f0bd2b - Incremented version to next major release # so new work can begin.
- some initial work to assist units from getting stuck when given commands. This is for both AI and human players and deals with the pathfinder and units getting constantly blocked from their destination.
2010-10-17 06:34:42 +00:00
Mark Vejvoda
d806e7f9ff - a few more performance optimizations and logging changes 2010-09-09 05:42:19 +00:00
Mark Vejvoda
958184e018 - more memory cleanup 2010-09-07 21:01:22 +00:00
Mark Vejvoda
855443d98f - added a lookup cache for unit updater's frequently called unitOnRange logic 2010-08-25 07:29:35 +00:00
Mark Vejvoda
65cf1bfdac - attempt to lessen memory footprint of particles and speed up rendering 2010-08-24 01:21:34 +00:00
Mark Vejvoda
acd2359096 - added performance logging to regular pathfinder 2010-08-22 20:13:30 +00:00
Mark Vejvoda
ed8c08de2f - fixed a bad memory leak in the pathfinder 2010-07-30 01:05:52 +00:00
Mark Vejvoda
ff586afd0d - some final updates to get the new pathfinder working after adding multi-pathing support 2010-07-21 22:05:50 +00:00