Exercising The AI
The following files are potentially inconsistent between different end-of-turns, when no alien sights an X-COM unit or vice versa:
- SMOKREF.DAT (when there is smoke)
- ROUTES.DAT
- UNITPOS.DAT (cf. comments below)
- UNITREF.DAT (both XCOM and alien units)
LOC.DAT and IGLOB.DAT may be unstable at the start of a series of load-end turn-save tests, but this does not last.
Points of further investigation for patrol mode AI:
- Bit 4 at offset 19 in the ROUTES.DAT records: this influences the AI. In my current test suite, both "different nodes" from my reference save were to nodes that had their offset 19 bit 4 set during the AI turn. The reference save had offset 19 bit 4 set for the default node, but its being reset during the AI turn did not itself cause the AI to go to a different node.
- For each alien, the starting move at the start of the alien turn appears fully deterministic. Perhaps...UNITREF.DAT byte 70 indexes the immediate destination node? (Note: bytes 69 and 70 may be used differently in different AI modes.)
It will take a while to induct the transition probabilities for bit 4, offset 19 in the ROUTES.DAT records for nodes sourced from UFO reference data. Several are already clearly not 50% individually.
Also, is there a quick way to diagnose what AI mode is applicable (both locally and globally)?
-- Zaimoni, 16:58 AM CST Nov. 18 2006
Pedantry: X-COM CE with XComUtil 9.6, used an Interceptor with 6 crew. The power plant explosion killed all but 2 floaters.
The general procedure (in Battlescape):
- Save the game at the end of turn.
- End Turn.
- Save game at the beginning of turn.
copy *.dat *.bak
Then:
- Reload end-of-turn game.
- End Turn.
- Save game at the beginning of turn...in the same slot.
fc /B *.dat *.bak > diff1.txt
- repeat, until "enough difference files have been constructed".
-- Zaimoni, 11:20 AM CST Nov. 18 2006