• Welcome to Freedom Reborn Archive.
 

FFX 3.2 Bug Reporting Thread, take II

Started by stumpy, January 31, 2007, 02:58:27 PM

Previous topic - Next topic
|

HumanTon

A documentation omission--the Guardian attributes aren't mentioned in the table of attributes or the sidebar. (There's a guardian.htm page, but nothing links to it.)

stumpy

I think that the guardian attributes were considered obsolete when FFvT3R came out because it had remote active defenses built into the game engine. But, they don't consistently work right. We probably ought to uncomment out that part of the attribute list in the docs.

Meanwhile, the power swaps are still there in the FFX Control Centre (e.g. swap to shield).

Previsionary

Quote from: stumpy on January 01, 2008, 05:54:52 PM
I think that the guardian attributes were considered obsolete when FFvT3R came out because it had remote active defenses built into the game engine. But, they don't consistently work right. We probably ought to uncomment out that part of the attribute list in the docs.

Meanwhile, the power swaps are still there in the FFX Control Centre (e.g. swap to shield).

Yes, Dr. Mike removed the attribute from ffx 2.X and reinstated it in ffx 2.4 for that reason, iirc; but, he always left the code active JIC (just-in-case) a character had the attribute.

Epimethee

For the record, the attribute was made obsolete by some FFX 2.0's swaps doing the same job in a more elegant way. I guess these indeed got removed (they did, right?) since FFvsTTR was supposed to have a betterversion, if it had worked correctly.

(Hopefully, I should finally install FFvsTTR on my Mac in the next couple of days... I won't feel quite as vague and clueless. :P )

hero1921


stumpy

After creating a new custom character, just quit the game and open the FFX Control Centre and make sure it's pointed to the mod you are using (e.g. ffx3, patcity, liberty_bay, etc.). The CC will brand all of the custom heroes and all of the built-in heroes in that mod. It's that simple and there are a couple notes about it in the second post of this thread.

garf

Quote from: M25 on February 03, 2007, 09:56:54 AM
Quote from: jmoser on February 03, 2007, 09:27:16 AM
QuoteIt's probably a corrupted powers.dat file.   If you look in the ffx3 directory, there should be a powers.dat.bak file.  Use that to replace the powers.dat file.

I already did that, to fix the dreaded "CFastHeap" problem.  Granted, it did seem to solve that problem, but now I'm not getting any kind of error message at all.

Quoteit wasn't until i dl'd taskmaster's fix on the yahoo group that things worked properly again.

Maybe I should try that.  What yahoo group is it on?

It looks like the game crashed on you while writing out the powers.dat file, so you now have a corrupted or incomplete version.  Restoring the backup should temporarily fix the problem.

The yahoo group is FreedomForceX




Man, I just got the "dreaded CFastHeap" problem today, more than a year after the above was posted, and a Google search that could have taken me anywhere took me right back to Freedom Reborn with the exact fix I needed. This game's fans are lucky it has such learned devotees. Thanks to all the wise folks of this site ... you know who you are, right?

yell0w_lantern

I got a message saying that quick learner could not be initiated.

stumpy

QUICK/SLOW LEARNER don't work. I think they were added as concept attributes, but they aren't fully coded, at least as of the FFX 3.2 release I am looking at (v3.2.0.11).

catwhowalksbyhimself

I'll have to look at them.  I thought they were working.   They were simple enough.

stumpy

They should look something like the code below, though my opportunities to test are limited right now.

########################### CATWHOWALKSBYHIMSELF'S ATTRIBUTES ETC. #########################################

### Some very simple attributes by catwhowalksbyhimself, intended for campaigns only
       
# stumpy 2008-03-22: we should prevent them being run more than once
# per character to prevent chaos with FFX re-spawns (via SHAPESHIFTER,
# etc.), cloning, etc.

def initquicklearner(char,update=0,remove=0):
    if update==1:
        return
    temp = Object_GetTemplate(char)
    if remove:
        CPBonus = FFX_ObjectGetAttr(temp,'CPBonus',0)
        Campaign_AddCP(temp,-CPBonus)
    else:
        if FFX_ObjectGetAttr(temp,'CPBonus',0) == 0:
            Campaign_AddCP(temp,75)       
            FFX_ObjectSetAttr(temp,'CPBonus',75)
           
def initslowlearner(char,update=0,remove=0):
    if update==1:
        return
    temp = Object_GetTemplate(char)
    if remove:
        CPPenalty = FFX_ObjectGetAttr(temp,'CPPenalty',0)
        Campaign_AddCP(temp,-CPPenalty)
    else:
        if FFX_ObjectGetAttr(temp,'CPPenalty',0) == 0:
            Campaign_AddCP(temp,-50)       
            FFX_ObjectSetAttr(temp,'CPPenalty',-50)

def initpopular(char,update=0,remove=0):
    if update==1:
        return
    temp = Object_GetTemplate(char)
    if remove:
        PPBonus = FFX_ObjectGetAttr(temp,'PPBonus',0)
        Campaign_AddPrestige(-PPBonus)
    else:
        if FFX_ObjectGetAttr(temp,'PPBonus',0) == 0:
            Campaign_AddPrestige(300)       
            FFX_ObjectSetAttr(temp,'PPBonus',300)

def initfamous(char,update=0,remove=0):
    if update==1:
        return
    temp = Object_GetTemplate(char)
    if remove:
        CPPenalty = FFX_ObjectGetAttr(temp,'PPPenalty',0)
        Campaign_AddPrestige(-PPPenalty)
    else:
        if FFX_ObjectGetAttr(temp,'PPPenalty',0) == 0:
            Campaign_AddPrestige(-200)       
            FFX_ObjectSetAttr(temp,'PPPenalty',-200)


BTW, I suspect that the ability to lower XP (and maybe PP) (either as a primary function or as part of the remove functionality) is not going to work. I just don't think that Campaign_AddCP() (and possibly Campaign_AddPP()) will reliably remove CP (or PP).

BTW, is INFAMOUS already taken? I know that is corrected in the string table, but I was just curious.

Talavar

I just made the upgrade to FFX 3.2 after quite awhile away from actually playing FF, and I've run into a bit of a snag.  Whenever I try to go into the Rumble Room, the loading progress bar will seem to complete, but the level will never actually load, and I end up having to forcibly end Freedom Force to get back to windows.  I added a bunch of my own modifications back in before actually trying to play, so I've probably screwed something up and done this to myself, but I can't tell what.  Here's my script.log, hopefully someone wiser than myself can shed some light on this.


>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
Starting ffx.py v. 3.2.0 build 11; branch = Gold / Release
Loading m25ai.py v. 3.2.0 build 10; branch = beta 2: m25 branch 2
importing missionobjvar.py v1.18
loading datfiles version 0.251000
importing MLOG Reader 1.0.18 release
Starting General Utilities 1.0
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
CustomHeadCurrentTime 1206381138.562000
Starting Height Check module 1.4
Starting System Utilities 1.4
OBJECTS_HEIGHT: 604 entries
NIF_OBJECTS: 482 entries
BUILDINGS_IN_OBJECTS_DAT: 30 entries
BUILDING_DIMENSIONS: 30 entries
Starting skXMapInfo.py  v 0.79 beta
skXMapInfo: m25ai available
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
FFX Mission Plugin 'freeroam_keepbuildingdamage' imported
FFX Mission Plugin 'm25ai_lowjumper' imported
FFX Mission Plugin 'm25ai_realitymanipulation' imported
FFX Mission Plugin 'cutscene_power' imported
Loading     m25enc_OPENDOOR.py v.1.0.0 build 0; branch = main
FFX Mission Plugin 'm25enc_opendoor' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
FFX Mission Plugin 'm25enc_simplechoice' imported
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
>>> C:\Documents and Settings\Jeff  Woodman\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> C:\Documents and Settings\Jeff  Woodman\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
>>> C:\Documents and Settings\Jeff  Woodman\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> OnReceiveSelectedEnemies(('custom_vil_0', ))
try to spawn custom_vil_0
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'BROADWAY'
initialising FFX: skirmish=1
numberStr=46
storing hero_0: id_1,-46
ReadHeroIndexData: trouble reading or evaluating data from <c:\ffvt3r\ffx3\HeroIndexData.txt>
Campaign_MakeHeroIndex: Making index <c:\ffvt3r\ffx3\HeroIndexData.txt>
Campaign_MakeHeroIndex: Complex not set for kid. Run datfiles.Campaign_SetMissingComplexAttribs()
Campaign_MakeHeroIndex: Complex not set for nick_craft_civ. Run datfiles.Campaign_SetMissingComplexAttribs()
Campaign_MakeHeroIndex warning: <ffx_hedge_ant> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <jffxtester> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex: Complex not set for kid2. Run datfiles.Campaign_SetMissingComplexAttribs()
Campaign_MakeHeroIndex warning: <sky2> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <piotr> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex: Complex not set for clint_coltrane_civ. Run datfiles.Campaign_SetMissingComplexAttribs()

Epimethee

Talavar, did you run the FFX Control Centre? This might be the first problem, althrough that shouldn't cause the game to hang. Otherwise, it could be caused by a corrupt .dat file, maybe. You should try to post the last few lines of your ff.log too.

Does a clean install of FFX 3.2 works correctly? (Just rename your existing folder or select a different install folder name; beware of loading the correct mod though, using the right "-modname" in the shortcut.)

Talavar

I ran the Control Centre before hand, and since a clean install of 3.2 works fine, all signs point to me screwing something up by merging in the .dat files for my custom FX, sounds, etc.

Before I attempt that again, is there a way to limit my chances of simply causing the same problem over again?

Epimethee

Not much of a tip, but for new entries, it's better to merge from the FFX DATs than to them; otherwise if your custom dat has content from older versions, the fixes done in FFX 3.2 will be overwritten by the older invalid values. Of course, if your customizations modify existing entries, it's a no go. FWIW, DATs to be merged should ideally be pruned of any unnecessary entry (I suggest every modder to distribute their mergeable files like this); doing otherwise usually adds junk (such as the "kid2" entry you've got).

Still curious to see your ff.log – with a bit of luck, we might be able to guess which .dat file is the culprit, if any.

TaskMasterX

Some others have had similar issues in this thread:
Quote from: M25 on March 06, 2007, 02:15:17 PM
Quote from: JKCarrier on March 05, 2007, 10:36:08 AM
I'm getting a crash-to-desktop every time I try to run a Rumble Room session. It's quite likely I've messed something up myself, since I did a lot of tinkering and DAT-merging to get all my old customizations transferred over. But if someone can figure out the specific cause, I'd be grateful. Here's my script.log:



You can try
- running the control centre again
- running datfiles.Campaign_SetMissingComplexAttribs() from the console
- running the 'power id' rumble room mission (whose name escapes me at the moment)

Unfortunately, it is likely a problem with the dat file merging you did, and you'll have to start again.  Do them one at a time if necessary and keep backups.

Since you've already done the first suggestion from M25, try running the other suggestions and see what happens.

Talavar

I got FFX 3.2 running (I reinstalled it, pruned my .dat files down to just my customizations, merged to my .dats from the FFX 3.2 ones, then copied the merged ones over to the correct directory) but I've run into another snag: the characters aren't using their m25 ai files.  I've run the Control Centre a number of times, I've done some trials with the Rumble Room Power & AI generators, none of which has done any good.  Should I still post my script.log?  FFX is working otherwise properly, the characters are just using the default behaviour instead.

M25

I seem to have missed this.  Go ahead and post your script.log.

yell0w_lantern

Fast Learner does not seem to work. I haven't tried slow learner.

stumpy

Quote from: yell0w_lantern on May 30, 2008, 04:50:11 PM
Fast Learner does not seem to work. I haven't tried slow learner.

Did you make the edits posted a few posts above? If so, post your script.log from 5 or 10 seconds after a mission has started and maybe we can see if there is an error or what else is happening.

BTW, It may be helpful to you (and us) to use the ShowXP() command at the console at the start of a campaign mission, and then at the base of the next mission, to see where the characters are, as regard XP.

BTBTW, as mentioned earlier, I expect that SLOW LEARNER will not work. The game engine doesn't really accommodate removing XP.

yell0w_lantern

I had added it but looking again, it's gone. I'll paste it back in and see if it works.

Previsionary

this is an ffx control centre question:

Does it have a problem with capital letters with built in characters? I was looking at one of my older mods and I realized that certain state swaps stopped working or the powers wouldn't even show up in the power list if the power started with a number or a capital letter.

TaskMasterX

I think it is case-sensitive. I remember some of my custom characters weren't working until I editted the ffxcustom.py and/or ffxcustom2.py to match the name of my hero file exactly with capital letters.


EDIT: I discovered this when I had to put my custom swaps in the ffxcustom.py for the grapple swaps. Because you can't use FFXCC to setup the grapple swaps for a character, I had to enter them manually and I didn't use the exact capitalization and they failed to work. So if anyone is having problems using the grapple swaps for some characters, this may be the reason.

yell0w_lantern

No, it's all areas.
I find that swaps usually breakdown for a couple of reasons:
1) the customization doesn't carry over into ffxcustom.py - the special swaps seem to have this problem a lot; you'll have to fix it manually possibly every time you run the character through the control center.
2) a character has the same damage type swapped for different stuff - even the built-in characters can have this problem

Epimethee

> 2) a character has the same damage type swapped for different stuff - even the built-in characters can have this problem

Interesting, as this shouldn't be a problem for built-ins, as their individual powers can be differentiated – which is not the case for hero file-based characters.

stumpy

Quote from: Epimethee on July 10, 2008, 07:27:15 PM
> 2) a character has the same damage type swapped for different stuff - even the built-in characters can have this problem

Interesting, as this shouldn't be a problem for built-ins, as their individual powers can be differentiated – which is not the case for hero file-based characters.

Even built-ins suffer from this if they are on the enemies list in the Rumble Room. It IG's custom_template_# hack biting us again. In that situation, we have to treat built-ins just like customs, and they are limited to the same swap affecting all powers with the swapped state.  &lt;_&lt;

Try playing the character in a campaign mission or in the Rumble Room on the squad list and see if he behaves any differently.

yell0w_lantern

Yes it can happen in Campaign too.

IPS, are they hero files or built-in?

Sometimes with built-ins I have to run the Power ID generator a couple times after I add new built-ins.

stumpy

Quote from: yell0w_lantern on July 11, 2008, 07:56:25 AMYes it can happen in Campaign too.

It shouldn't be happening for built-ins in the campaign unless the power ID generation goes awry, which can happen. That latter should be fixable by re-running it. To me, the most obvious sign that the ID generation worked is that you here an odd audio effect of several FX playing at the same time. Without that, there has been a problem and I can check my ffxpowerids.py and there will be lots of zeros.

ips, unless I am mistaken, the power ID generation doesn't do anything for custom heroes, so I wouldn't expect that to fix anything. You probably want to post your script.log file for a short run where the swap didn't work. Take in the character as a solo in your squad and have him try the swap after a short while. It would be worth describing the power that was supposed to swap, or just enter the following at the console and it will show up in the log.
datfiles.ShowPower(GetCharacterData(getAllHeroes()[0])['powers']['swap power name'])
where swap power name is the name of the power you are testing (e.g. stamina of atlas). It needs to be exact (spelling, caps, spaces, etc.), just as it would be in your ffxcustom.py data.

stumpy

Oops. I didn't know the console wasn't available under bootcamp.

A quick 'n' dirty workaround is to add the following to the bottom of your cshelper.py
def HeroPrint(object, char):
    import chardata
    datfiles.ShowHero(chardata.GetCharacterData(char))
    Mission_StatusText('%s sent to log' % chardata.GetCharacterData(char).get('charName'))

def SetupHeroPrint(event):
    for hero in getAllHeroes():
        Mission_CustomAction('send to log', hero, hero, 'HeroPrint',100,1)

regTimer('SetupHeroPrint', 1.0)

Then choose the "SEND TO LOG" command that should be available when a hero clicks on himself. A message will pop up when the character data was sent to the log.

stumpy

Hmm. I just restarted the game and tested it again and it works here. Are you playing the FFX3 mod (3.2.x)? Is the cshelper you added the code to located at ..\ffx3\Missions\Scripts\cshelper.py? I'm not sure why it wouldn't be working and that character information would help, but it's worth posting your script.log anyway.

|