There's been lots of talk of SLIC Docs so I started to compile everything I could dig out of the ctp executables about this.
civctp.map is a good start. It looks like a jump table for every object in the game. Trouble is only SlicFunc.obj calls can be used in a .slc file.
However there are some of interest.
Now since 1.2 docs are not out there I am guessing about functionality, return types and parameters. I base my guesses on prior documented slic functions:
Take for example:
(1.0) INT CityHasBuilding(city, building) Return true if the city has a building of the given type. building is a quoted string corresponding to the name in improve.txt.
from this and other examples I make a series of generalizations to:
(1.2) INT IsUnitInBuildList(city,unit) True if city has unit anywhere in the city build queue (unit is a quoted string corresponding to the name in unit.txt).
and also
(1.2) VOID KillUnitFromBuildList(city,unit) Removes unit from the city build queue (unit is a quoted string corresponding to the name in unit.txt).
Now what if these actions were part of an if block that triggered whenever a certain player added anything to the city queue.
Whatever "unit" was could never be built.
Now granted it would be better if it never showed up as a choice... I'm working on that.
civctp.map is a good start. It looks like a jump table for every object in the game. Trouble is only SlicFunc.obj calls can be used in a .slc file.
However there are some of interest.
Now since 1.2 docs are not out there I am guessing about functionality, return types and parameters. I base my guesses on prior documented slic functions:
Take for example:
(1.0) INT CityHasBuilding(city, building) Return true if the city has a building of the given type. building is a quoted string corresponding to the name in improve.txt.
from this and other examples I make a series of generalizations to:
(1.2) INT IsUnitInBuildList(city,unit) True if city has unit anywhere in the city build queue (unit is a quoted string corresponding to the name in unit.txt).
and also
(1.2) VOID KillUnitFromBuildList(city,unit) Removes unit from the city build queue (unit is a quoted string corresponding to the name in unit.txt).
Now what if these actions were part of an if block that triggered whenever a certain player added anything to the city queue.
Whatever "unit" was could never be built.
Now granted it would be better if it never showed up as a choice... I'm working on that.
Comment