Commit Graph

277 Commits

Author SHA1 Message Date
Mark Vejvoda
24f3a1d6de add more synch logging to pathfinder 2013-05-18 03:11:26 +00:00
Mark Vejvoda
3c05195436 add more synch logging to pathfinder 2013-05-17 22:51:40 +00:00
Mark Vejvoda
748763f0f1 code cleanup based on cppcheck results 2013-05-17 05:21:14 +00:00
Mark Vejvoda
c55b9c3ffe code cleanup based on cppcheck results 2013-05-17 05:01:23 +00:00
Mark Vejvoda
8408526b12 code cleanup based on cppcheck results 2013-05-17 03:59:34 +00:00
Mark Vejvoda
c63da54bbd - attempt to improve performance when units are blocked badly (this is not backwards compatible with other builds, will create out of synch) 2013-02-22 06:52:51 +00:00
Mark Vejvoda
8916a86b8c - bugfixes for load / save game for in progress joining 2013-02-19 06:41:56 +00:00
Mark Vejvoda
69925fb887 - bugfixes for joining network games 2013-02-19 04:53:24 +00:00
Mark Vejvoda
b38f6b20a1 - updates to join in progress game, and now allow for switching slots 2013-02-16 10:07:36 +00:00
Titus Tscharntke
4e6e96b125 AI scouting switched back to something we had before "THE BUG" 2013-02-12 21:17:21 +00:00
Mark Vejvoda
9bc6d33f1d - bug fixes to stabilize the windows build 2013-02-09 06:57:05 +00:00
Mark Vejvoda
cfb9b61168 - rollback AI so nig can test anarchy bug 2013-02-06 23:58:49 +00:00
Titus Tscharntke
3ea6a02d95 no return in void methods 2013-02-05 22:00:50 +00:00
Mark Vejvoda
b2be14ca33 - updated the AI's scouting logic
- updated from transifex
2013-02-05 06:56:59 +00:00
Mark Vejvoda
f87b8b6ee2 - updated code to protect against null pointers and uninitialized values and threading issues 2013-02-04 08:30:43 +00:00
Mark Vejvoda
d02f91d2e0 - bugfix for AI not using correct build spacing 2013-02-03 23:29:16 +00:00
Mark Vejvoda
d9fac85d21 - added more debug logging 2013-01-27 07:26:35 +00:00
Mark Vejvoda
7ecc7325ac - trying to trace nig's crash (more debug info and safer code) 2013-01-23 14:51:28 +00:00
Mark Vejvoda
1a49588a45 - added smarts to the AI so it takes note of very active battle locations and scouts there. 2013-01-12 01:55:13 +00:00
Mark Vejvoda
de1f7c53d9 - improve AI performance a bit and ALSO update the AI so they harvest sooner when running low on consumables 2013-01-12 01:11:53 +00:00
Mark Vejvoda
5d2066fdbb - added a new thread manager to try to see if it takes less CPU cycles while the thread controller waits for slaves to do their work. To enable the experimental thread manager set: EnableNewThreadManager=true 2013-01-10 21:16:28 +00:00
Mark Vejvoda
1f49886755 - re-enabled fog of war cache to improve performance
- improve xml file loading speed
2013-01-03 17:30:59 +00:00
Mark Vejvoda
ee2ad95164 - attempt to improve ai decision performance by having each ai player updates done in a thread 2013-01-01 18:55:26 +00:00
Mark Vejvoda
1dbcabf12c - minor feature request added from sourceforge, when command given cannot be executed, sometimes we show the requirements of the command so the user knows why it failed 2012-11-10 19:39:55 +00:00
Mark Vejvoda
ff58a868b3 - attempt to bugfix windows using proper printf syntax for data types 2012-11-10 06:37:23 +00:00
Mark Vejvoda
5c15a0e9f4 - cast to unsigned int for all calls to srand 2012-10-30 17:12:04 +00:00
Mark Vejvoda
28d65e8d55 - cleanup from last checkin (corrections) 2012-10-26 03:08:40 +00:00
Mark Vejvoda
3419127632 - proper way to handle size_t objects (cleanup warning on other platforms) 2012-10-26 02:42:10 +00:00
Mark Vejvoda
011e0263b0 - lots more code cleanup, using safe buffer size code to avoid buffer overflows 2012-10-19 01:31:20 +00:00
Mark Vejvoda
c5ac0cc8e3 - fix min player for headless game message 2012-10-06 17:50:27 +00:00
Mark Vejvoda
5e42c6dc03 - loads of code cleanup based on verbose output from the latest git version of cppcheck 2012-10-06 07:06:40 +00:00
Mark Vejvoda
2a80dd7c3c - more cppcheck code cleanup 2012-10-06 03:42:31 +00:00
Mark Vejvoda
c39da4cd69 - code cleanup from cppcheck 2012-10-06 02:10:23 +00:00
Mark Vejvoda
4e195e10af - updated random seed generation to be more random 2012-09-27 06:42:57 +00:00
Mark Vejvoda
8e88b36723 - removed pathfinder from GAE and all references 2012-09-22 21:39:13 +00:00
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
1c211e4ce6 - lots of code cleanup from the cppcheck 2012-09-22 20:13:57 +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
dc270fbbaa - rollback the last pathfinder change its no good 2012-05-12 00:50:15 +00:00
Mark Vejvoda
ef39f93457 - try to speed up water rendering a bit, but especially pathfinder 2012-05-12 00:01:05 +00:00
Mark Vejvoda
2d6cda1f6f - more pathfinder tweaks to try improve performance 2012-05-09 23:56:14 +00:00
Mark Vejvoda
ee6eed20a2 - fixed the build on windows 2012-05-07 01:37:43 +00:00
Mark Vejvoda
1b2b1f9821 - improved the new pathfinder using hashmap 2012-05-05 06:23:09 +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
897346d1f5 - added the beginning work to support translatable techtrees 2012-05-02 20:46:47 +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
dbb116f250 - load of changes to get things compiling under VC++ 2010 (with updated deps seperate for vc2010) 2012-04-20 01:04:05 +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
a23a9396c2 - added new over-ridable minimum spacing between buildings for the AI player 2012-04-02 16:11:13 +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
030582c1ef - added a new EnumParser class to convert enum to string and vice versa
- factions can now customize some more of the AI behavior
2012-03-31 05:54:24 +00:00
Mark Vejvoda
bb44cfdb7b - cleaned up some constants in prep for allowing override of more things in the AI 2012-03-30 21:56:15 +00:00
Mark Vejvoda
9286130138 - bugfixes and code cleanup found using cppcheck 2012-03-28 06:25:57 +00:00
Mark Vejvoda
c0f3658faa - bugfix for network scenarios to NOT close unconnected network slots before loading, they will turn into AI players (this is required because the scenario code may require those factions)
- added ability to morph and indicate the morph command should ignore resource costs, add this to the command type:
<ignore-resource-requirements value="true" />
2012-03-27 03:23:03 +00:00
Mark Vejvoda
5d6b73517f - fixed crash in AI on close 2012-03-17 21:29:03 +00:00
Mark Vejvoda
e6028a0555 - allow logging of AI behavior to logfiles using: AiLog=10
(this produces a logfile for each AI player called aix.log where x is the ai player #)
- changed some AI behavior so that AI player can use overidable min static resource count from faction xml
- changed some AI behavior so that AI player is more smart about producing resource producers and resources.
2012-03-17 19:22:03 +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
a4798e6d72 - added upgrades to ai behavior xml tags 2011-10-04 17:15:08 +00:00
Mark Vejvoda
8729c32b68 - bugfix AI, no longer try to build a farm type unit if the faction does not have a unit that is able to build it yet
- new optional feature added to tell each faction some basic info regarding which units should take priority when building,producing and morphing
2011-10-04 06:49:44 +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
Titus Tscharntke
780cb81324 wherever you try to hide yourself, ultra cpu will find you too now after a while :-D ..... 2011-09-27 21:51:29 +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
Mark Vejvoda
7d53df698a - added new in-game popup menu and new ability to switch teams in game (turned off by default in advanced settings) 2011-09-21 06:51:28 +00:00
Mark Vejvoda
4a5a7f010d - final phase of cppcheck verbose fixes (outstanding items should be left alone) 2011-09-01 18:51:43 +00:00
Mark Vejvoda
bb68106912 - phase 3 of cppcheck verbose fixes 2011-09-01 18:08:56 +00:00
Mark Vejvoda
d44959d69c - phase 1 of cppcheck verbose fixes 2011-08-31 23:10:43 +00:00
Mark Vejvoda
c4cbdd86e3 - disabled will's visible quad code as i cannot get it to work when rotating around with the camera. Bugfix for normal camera visible quad so we don't get black spots when moving camera around. Bugfix for menu keyboard entry if we get a bad utf8 conversion character 2011-08-30 18:28:30 +00:00
Mark Vejvoda
2c80543889 - attempt to group command execution so units given the same command at the same time will work more smartly (closer units go first and so on) 2011-07-05 04:37:35 +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
7344250c5c well formatted change from 2367 again 2011-06-24 16:18:10 +00:00
Titus Tscharntke
1de2d5340d revert to 2366 2011-06-24 16:14:39 +00:00
Titus Tscharntke
e58ddd35b4 fixes build bug reported in forum/ adds some better mega-cpu behaviour / fixed some bugs ( I hopefully did not added new ones :-D ) 2011-06-20 23:51:13 +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
e221011af2 - bugfixes so that the mingw compile builds 2011-05-24 22:51:45 +00:00
Mark Vejvoda
60b8093f5b - attempt to get non ascii file paths working in megaglest (Japanese etc...) 2011-05-18 21:49:11 +00:00
Mark Vejvoda
070b8b76e6 - more AI enhancements to better handle repair and build positions 2011-05-01 07:24:37 +00:00