Home » MODDING HQ 1.13 » v1.13 Coding Talk » Learning how the tactical AI works
Re: Learning how the AI works[message #274502] Fri, 25 February 2011 06:02 Go to previous messageGo to previous message
MorgluM is currently offline MorgluM

 
Messages:24
Registered:March 2004
Location: Qu
JMich
to get F5 (Start Debugging) to work in VS2010, right click on project ja2, click properties, and then select Configuration Properties->General. The first field is called "Output Directory", which is where the executable will be built. Set this to your JA2 testing directory, for example "C:\JA2\Debug build\".
Then go to Configuration Properties->Debugging and set the "Working Directory" to the directory you set before. These 2 directories mean that any time you build your solution, you will built it in the directory it should go (instead of copying it afterwards) and you can also use F5 (Start Debugging) to run your build, whether it's a debug build or not. Do this with a version you can compile (eg svn version without any changes) and it should work. It is possible that I forgot a change, if so I will look at it again tomorrow, after I have managed to sleep.

I am also trying to see what needs to be changed so the code can compile with Define Debugdecisions but it is quite a mess, will update if I manage to compile it.


Re: starting debbugging.
Thanks for the tip, here's how I was doing so far:
1) I copied the .PDB , the .ILK and the .EXE files that compiled to my JA2 folder
2) Run JA2 in windowed mode. To do that, edit JA2.INI and set windowed to =1
3) In VS2010, Debug-->Attach process, then look at the output from "Debug".


Re:Compiling with Define DebugDecisions, I found the following things:

1) Do I need to replace all the "STR16 tempstr;" lines by "STR tempstr;" lines in all the .cpp files?
2) I added the following 3 lines to AI.h:
void AIPopMessage ( STR str );
void AINumMessage(const STR	str, INT num);
void AINameMessage(SOLDIERTYPE * pSoldier,const STR8	str,INT32 num);

3) In AIUtils, I replaced the input of AIPopMessage, AINumMessage and AINameMessage from "STR16 str" to "STR str".
4) I forgot which CPP file, but one of the call has a type and asks for "sGridno" (type instead of "sGridNo")
5) In CreatureDecideAction, one of the "AINumMessage" wants to refer to "sClosestFriend" which doesnt exist...

Now I compile, but with warnings.
JA2 will crash when in the tactical screen, because tempstr isnt initialized...

Report message to a moderator

Private 1st Class
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Doubling image size
Next Topic: RII - Resolution Independent Interface [UPDATE :RII v4f]
Goto Forum:
  


Current Time: Tue Feb 11 12:37:29 GMT+2 2025

Total time taken to generate the page: 0.01764 seconds