Okydo, I'll keep this in mind :) My main concern was porting code of which there already was a heavily bugfixed version :DKloot wrote:You'll encounter quite a few more WTFs while porting it. ;) Some are more deeply rooted than others though, and I haven't yet had the motivation to fix them all. Also, I usually work on KAIK in batches, so if things seem dead you've just caught me during a dry spell, like now (ie. periods where I do only as-needed maintenance updates in the absence of any major bugs). But any issues you find I'm always happy to hear about, even if I won't deal with them for weeks.
Mind, it's a fun and games project, with no saying how it'll end up, don't take it too serious ;) (I'm sure you dont XD).
Sofar I've only got BuildUp and UnitHandler and the dgun thing done, and I'm seeing like 10% cpu against 0.something for kaik in c++ :)
I'm really fearing the pathfinder ;)
I've seen the code up (too) close now, so yeah, I realize this XDKloot wrote: (Proper) naval support would take a rather large refactor, so I'm reserving that for my own AI project. ;)
Some questions if you don't mind :)
- The economy tracker, am I right that it doesn't actually do anything? It seems to track stuff, but I don't see it triggering any actions or so :) (What is it for? :D )
- Defenses seem to have been in there, but are now commented out, is there any specific reason for this? (refactoring, it broke, it never worked well, you didn't like it.. :) )
- I haven't been able to work out the builderTracker.idleStartFrame yet, it seems it's only set to -1 and -2, what does it mean? :)
Things I think may be issues:
- The upgrade task uses buildClosestSite, I've seen mexes been misplaced by a lot because of this :) (normal building sticks mexes on exactly the metal spot). Ofcourse just building it on the old mex spot may give issues when the terrain only allows for a small mex, which I've seen in some maps, so this isn't trivial :)
- bool CUNIT::Reclaim(int target) doesn't call ai->uh->BuilderReclaimOrder(...); like it's brethern CUNIT::Reclaim(float3 pos, float radius) which does, this results in error messages about idle units having reclaim orders or so after starting a upgrade (= reclaim >> build) order.
- IdleUnitUpdate in UnitHandler should check isBeingBuilt(), so that it doesn't call verifyorders on units that are still in progress of being built, I think this causes some error messages too :)
Cheers! :)