Unfortunately, I've seen both cases occur although the width of the advisor isn't fully utilized.
That's exactly what I'll do. One bummer is that there is no master list of languages in Civ4 like you can get the list of all terrain types. Thus I will have to hard-code language 0 as English and 2 as German. No big deal, as I don't expect Firaxis to change the list or order any time soon.
The file is loaded when the screen is opened for the first time, btw.
I got 820. Do I hear 840? Going once. Going twice. Sold for 820 to the gentleman in the white coat!
Edit: OMG I just clicked on your NOOOOO link.Nice!
(does a little dance) Now all we need is Cam to reappear and do the Italian translations, and for a Spanish speaker to come along, and we are 100% translated.... I don't mind 50% though.![]()
But the language can't be read directly from the CivilizationIV.ini, where it is alrerady linked to a number?
CyGame().getCurrentLanguage()
for i in range(CvGameText().getNumLanguages()):
szKey = "TXT_KEY_LANGUAGE_%d" % i
aszDropdownElements = aszDropdownElements + (localText.getText(szKey, ()),)
DAMAGE_PER_HIT:
0x0A ; 10 points per hit
HEALTH:
0x64 ; start with 100 health
GOT_HIT:
...
PHA ; # of hits
JSR DO_DAMAGE
PLA ; clear parameter
...
DO_DAMAGE:
PLA ; ooh, parameter passing
BEQ DONE ; no hits
TAX
LDA HEALTH
CALC_DAMAGE:
SEC
SBC DAMAGE_PER_HIT ; that's right, no multiply operation!
BEQ DIED ; died if == 0
BCC DIED ; or < 0
DEX ; loop
BNE CALC_DAMAGE
STA HEALTH
DONE:
RTS
DIED:
...
health -= numHits * DAMAGE_PER_HIT
if health <= 0:
print "You died"
DAMAGE_PER_HIT = 10
actualHealth = 100
...
doDamage(numHits)
...
def doDamage(numHits):
if numHits != 0:
health = actualHealth
while numHits != 0:
health -= DAMAGE_PER_HIT
if health == 0:
died()
if health < 0:
died()
numHits -= 1
actualHealth = health
x = x + 1