Commit Graph

291 Commits

Author SHA1 Message Date
Mark Vejvoda 8d36c07a61 make AI smarter when needing more resources, prefer units that 'give back' resources over producers 2013-06-20 20:04:19 +00:00
Mark Vejvoda 54a28b6fb5 see if this makes the AI produce more food quickly when needed 2013-06-15 07:29:59 +00:00
Mark Vejvoda 0ead6a36dc full support for translated techtrees 2013-06-13 08:55:48 +00:00
Mark Vejvoda 8066502f9b fix a few areas that vc++ 2012 pointed to as potential bugs 2013-06-08 03:40:04 +00:00
Mark Vejvoda 4499308888 fix a few areas that vc++ 2012 pointed to as potential bugs 2013-06-07 23:17:27 +00:00
Mark Vejvoda 56774bc087 make server slots continuously read data on sockets during game 2013-06-04 00:31:41 +00:00
Mark Vejvoda 2c1b181bc7 a bunch more code cleanup from cppcheck 2013-05-26 06:03:32 +00:00
Mark Vejvoda de68fc759d comment out some world synch logging 2013-05-25 18:22:36 +00:00
Mark Vejvoda 5b664fb1a2 - bugfix for transifex tutorial download files now loaded into UI
- updated each thread to provide its name
2013-05-21 20:28:42 +00:00
Mark Vejvoda 5cfc4d07a0 added logging of threaded unit actions 2013-05-21 05:43:57 +00:00
Mark Vejvoda 418d4bed0b more logs to track out of synch 2013-05-20 22:54:07 +00:00
Mark Vejvoda 2f3433688f more logs to track out of synch 2013-05-20 21:52:36 +00:00
Mark Vejvoda 08e0b0baca add more world synch logging and added more mutex thread protection in pathfinder 2013-05-20 02:51:26 +00:00
Mark Vejvoda 8fd82a4f7d add more world synch logging and disabled potentially dangerous ini properties that were still referenced in the pathfinder to see if this was the cause of out of synchs (due to old settings that affected the pathfinder) 2013-05-19 05:16:21 +00:00
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