Commit Graph

57 Commits

Author SHA1 Message Date
Mark Vejvoda
97b8979a6c added AI logging for resource unit type logic 2013-08-02 21:46:55 +00:00
Mark Vejvoda
1247f1e965 a little refactoring and try to fix some of the AI logic for food producers 2013-08-02 00:08:16 +00:00
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
f87b8b6ee2 - updated code to protect against null pointers and uninitialized values and threading issues 2013-02-04 08:30:43 +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
ff58a868b3 - attempt to bugfix windows using proper printf syntax for data types 2012-11-10 06:37:23 +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
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
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
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
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
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
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
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
d44959d69c - phase 1 of cppcheck verbose fixes 2011-08-31 23:10:43 +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
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
Mark Vejvoda
070b8b76e6 - more AI enhancements to better handle repair and build positions 2011-05-01 07:24:37 +00:00
Mark Vejvoda
efc6b7ee1d - ensure a good number of AI workers particpate in the repairing of castles 2011-05-01 06:02:49 +00:00
Mark Vejvoda
f71f83d2b8 - bugfix for AI repairing fixes a long standing legacy bug where the AI never repaired units with a cell map starting with a 0 at the first x,y in the cellmap (like magic faction). 2011-05-01 05:36:04 +00:00
Mark Vejvoda
ae9d20a6cf - bugfix for new AI repair logic to properly detect damaged castle type units 2011-05-01 03:23:15 +00:00
Mark Vejvoda
c979ea1254 - more AI enhancements, now units that harvest AND attack will be more wise when choosing to attack, (think persian) since they need to harvest more than they need to attack when harvester count is very low.
- AI Units now place higher priority on repairing 'castle' style units when looking for something to repair.
2011-04-29 23:42:16 +00:00
Mark Vejvoda
d297a68b36 - bugfix for AI players to ensure the unit they want to repair has another unit that is able to repair it before trying to repair a damaged unit so the AI doesn't waste time. 2011-04-29 05:37:35 +00:00
Mark Vejvoda
d8c337ae7b - bugfix for resource usage checking
- added new techtree validation in validation report to tell if a techtress has resources that are ununsed by the techtree
2011-04-06 17:50:20 +00:00
Mark Vejvoda
99f7038a86 - added logic for AI players to ignore resources that they cannot harvest and are not unit requirements. 2011-04-06 15:44:33 +00:00
Mark Vejvoda
3b56aa4475 - performance changes... (problem found by titi) most debug calls line are skipped when the debug flag is disabled even BEFORE getting into the handledebug method.
This improves performance VERY MUCH.
2011-03-28 03:54:23 +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
896b1c308c - added a backtrace for gcc compiled binary when we get a runtime error.
- added more out of synch checks and better error handling
2011-01-02 00:39:13 +00:00
Mark Vejvoda
e62f3ca64c - reverted AI's repair rule logic to hunt down an AI out of synch 2010-11-28 07:38:03 +00:00
Mark Vejvoda
cc4f268988 - some additional AI caching for improved performance 2010-11-11 08:02:50 +00:00
Mark Vejvoda
9d9fa0deeb - improved performance for when the AI decides which resource is closest. 2010-11-07 03:27:06 +00:00
Mark Vejvoda
02e0a1302f - more AI fixes.
#1: AI does not try to harvest resources that the unit cannot yet harvest (could be an upgrade required)

#2: AI no longer tries to expand near resources that they are not yet able to harvest. (found using RealtimeFreaks test mod and map). This makes for a more aggresive CPU in scenarios where there are additional resource types since they expand much more quickly.
2010-10-02 01:11:59 +00:00
Mark Vejvoda
f84a710d2c - initial logic to allow client side controlled AI 2010-09-14 19:10:37 +00:00
Mark Vejvoda
f8ada85017 - cleanup of some compiler warnings 2010-07-17 07:07:57 +00:00
Mark Vejvoda
e9e1a317e4 - cleanup of some compiler warnings 2010-07-17 06:54:04 +00:00
Mark Vejvoda
6e26641799 - a possible fix for the AI. this change will randomize all possible produce, morph and build operations instead of just using the last commandtype found for candidate units 2010-07-13 22:51:27 +00:00
Mark Vejvoda
8a3709defd bugfixes for AI command execution 2010-06-10 21:53:50 +00:00
Titus Tscharntke
54abe03d86 megacpu bug hunting 2010-06-10 21:33:50 +00:00