Fixing errors found by FL Error Checker
-
**Actually this feature has been requested by several users. In my opinion I don’t believe it matters since I have some that reach 30 and higher for the encounters and 50+ on the faction stuff. And they still work.
I use the NoCD exe so maybe that is why it works fine, who knows. Even the vanilla files have stuff that doesn’t add up to 1.0. I have also heard that they work better if they are set up to use 1.0 as the final value. I really don’t know so if someone can show me proof that this is the true way it works I will leave it as an error, as it stands now I am switching it to be simply a notice.
I will also be releasing a fixed version of FLEC later today, it turned out to be a single missing letter that was causing it not to work. I was using the string that was being knocked to lowercase rather than the string that was saved right before that was done.**
-
I got this error while running FLEC:
C:\Program Files\Microsoft Games\Freelancer\DATA\SHIPS\shiparch.ini
Line #5775 ==> “type = engine”
[> * Nickname not found * ‘engine’
Line #6418 ==> “type = bottom_engine”
[> * Nickname not found * ‘bottom_engine’All well and good, but this is wrong. These two particular nicknames aren’t used anywhere in-game, but they are valid. A full list of valid ‘type =’ can be found in common.dll (don’t know the offset, but just search for ‘bottom’ and you’ll find it easily). All of the unused ones relate to engines, I think. At any rate, I use this to bypass the fact that part names are hardcoded. These particular ones allow me to show ‘Lower Wing’ and ‘Lower Arm,’ respectively.
I noted two other errors. The first was the aforementioned encounter error, in which my encounter adds up to 1 but FLEC says it doesn’t (actually, it says it does but it comes up as an error anyway). I’m using the now latest, v1.011, so you’ve missed something.
The other error dealt with ALE CRCs. The CRC I had worked (it came from your more advanced CRC calculator), but it gave me another CRC to put in instead. Both CRCs work, so I don’t know what’s going on…
@Lancer:
I’ve already done a CRC decompile on the fl exe
It might not relate to FL Error Checker, but this could be very useful. What exactly do you mean by this? Does this mean that you can tell which part of the EXE loads a certain part of a code at a given time? If so, I have a particular request…
-
**Looks like I forgot to include all of the engine types, added.
Could you post the encounters that didn’t add up?
Also could you post the nickname you got the CRC from?
Both will work, but to follow the format that DA set up, it should match the CRC of the name of the root fx in the .ael file. It isn’t a requirement to do so.**
-
I found two such encounter errors:
System ‘C:\Program Files\Microsoft Games\Freelancer\DATA\UNIVERSE\SYSTEMS\KU03\ku03.ini’
…
Line 1409 : Encounter - area_trade_transport : Total 1.000and
System ‘C:\Program Files\Microsoft Games\Freelancer\DATA\UNIVERSE\SYSTEMS\RH04\rh04.ini’
…
Line 1103 : Encounter - area_trade_transport : Total 1.000Note that these come from my mod, though the encounters in question I hadn’t touched… Still, the offset may be different in Vanilla files.
As for the CRCs, well, as you said, either one works. Still, here are the pertinent files (note that this came from v1.009; I’d ‘fixed’ it when I ran 1.011):
C:\Program Files\Microsoft Games\Freelancer\DATA\FX\ENGINES\engines_ale.ini
Line #767 ==> “effect_crc = 3767204598”
[> Effect CRC incorrect * ‘3767204598’ should be ‘-527762698’ for ‘gf_hi_smallengine01’.
Line #774 ==> “effect_crc = -4174435795”
[> Effect CRC incorrect * ‘-4174435795’ should be ‘120531501’ for ‘gf_hi_smallengine01_fire’.
Line #780 ==> “effect_crc = 4233519957”
[> Effect CRC incorrect * ‘4233519957’ should be ‘-61447339’ for ‘gf_hi_smallengine01_trail’.
Line #788 ==> “effect_crc = -3801310230”
[> Effect CRC incorrect * ‘-3801310230’ should be ‘493657066’ for ‘gf_hi_smallengine01_playtrail’.C:\Program Files\Microsoft Games\Freelancer\DATA\FX\MISC\misc_ale.ini
Line #2599 ==> “effect_crc = -3773449273”
[*> Effect CRC incorrect * ‘-3773449273’ should be ‘521518023’ for ‘rtc_li06_sun’.C:\Program Files\Microsoft Games\Freelancer\DATA\FX\SPACE\space_ale.ini
Line #258 ==> “effect_crc = -497059510”
[*> Effect CRC incorrect * ‘-497059510’ should be ‘89811715’ for ‘gf_wormhole_blue’.C:\Program Files\Microsoft Games\Freelancer\DATA\FX\WEAPONS\weapons_ale.ini
Line #4947 ==> “effect_crc = -13814110”
[> Effect CRC incorrect * ‘-13814110’ should be ‘-490760753’ for ‘ha_gun01_flash’.
Line #4956 ==> “effect_crc = -316752254”
[> Effect CRC incorrect * ‘-316752254’ should be ‘426367732’ for ‘ha_gun01_proj’.
Line #4965 ==> “effect_crc = -297874727”
[*> Effect CRC incorrect * ‘-297874727’ should be ‘-350206561’ for ‘ha_gun01_impact’.By the way, this tool is a Godsend. It weeded out errors I would never have found. Great work!
MK
edit
What about the last part of my previous post?
-
**Ok for
‘gf_hi_smallengine01’ = -527762698
‘gf_hi_smallengine01_fire’ = 120531501
‘gf_hi_smallengine01_trail’ = -61447339Hehe, see the trend…I used my CRC calculator for those, not FLEC. I would assume the most likely culprit if the apostrophe ( ’ ). I found after switching to all HTML that when I tried to copy the name it would select the apostrophe at the start and/or end of the name. You may not have noticed but I have stopped adding those into later checks. I really like having them because it makes them stand out a little bit from the whole error. If I find a way around this problem I will start using them again. I will have to remove them soon though.
If you think this version is a godsend, wait till you see the number of hardpoint errors that will be showing up in the next version. With the recent spate of crashes it turned out to be because of the HPBayDoor hardpoints. If they are positioned in the same location, boom, server crash when jettisoning. If they are missing the cargo sometimes disappears or it will appear dead center in the middle of the ship, flipping me about wildly. I was unable to check for the positioning problem due to the way FLEC read UTF files (it only yanks out the HP names), but I was able to check for missing hardpoints. I just got through adding almost 400 hardpoints to my ships and fixing alot more for the duplicate positioning crash. BTW, thanks F!R for pointing out that crash!
Oh, could you post the complete encounters, I need to duplicate your error.**
-
Ah, well, here they are (they may be in Vanilla FL); I’ll bold the particular offender
[zone]
nickname = zone_ku03_pop_tsuchima
pos = -28582, 0, -40007
shape = SPHERE
size = 4000
comment = Tsuchima
sort = 4
toughness = 8
density = 9
repop_time = 10
max_battle_size = 6
pop_type = co_shi_grp, single_base_law
relief_time = 20
faction_weight = co_be_grp, 10
faction_weight = co_kt_grp, 10
faction_weight = co_nws_grp, 10
faction_weight = co_shi_grp, 5
faction_weight = co_gs_grp, 5
density_restriction = 4, unlawfuls
encounter = area_defend, 8, 0.1
faction = co_shi_grp, 1
encounter = area_trade_freighter, 8, 0.1
faction = co_shi_grp, 0.4
faction = co_kt_grp, 0.4
faction = co_gs_grp, 0.2
encounter = area_trade_transport, 8, 0.1
faction = co_kt_grp, 0.26
faction = co_shi_grp, 0.26
faction = co_nws_grp, 0.16
faction = co_be_grp, 0.16
faction = co_gs_grp, 0.16
encounter = area_lifter, 8, 0.1
faction = co_shi_grp, 1
encounter = area_repair, 8, 0.1
faction = co_shi_grp, 1[zone]
nickname = zone_rh04_pop_holdstein
pos = -8230, 0, -29569
shape = SPHERE
size = 4000
comment = Holdstein
sort = 6
toughness = 10
density = 9
repop_time = 10
max_battle_size = 6
pop_type = co_khc_grp, single_base_law
relief_time = 20
faction_weight = co_alg_grp, 10
faction_weight = co_khc_grp, 7
faction_weight = co_kt_grp, 10
faction_weight = co_rs_grp, 10
faction_weight = co_shi_grp, 10
density_restriction = 4, unlawfuls
encounter = area_defend, 10, 0.05
faction = co_khc_grp, 1
encounter = area_trade_freighter, 10, 0.15
faction = co_alg_grp, 0.37
faction = co_khc_grp, 0.26
faction = co_rs_grp, 0.37
encounter = area_trade_transport, 10, 0.13
faction = co_alg_grp, 0.21
faction = co_khc_grp, 0.16
faction = co_kt_grp, 0.21
faction = co_rs_grp, 0.21
faction = co_shi_grp, 0.21
encounter = area_trade_armored, 10, 0.02
faction = co_khc_grp, 1While we’re on the subject of errors, however, I’ve just remembered one I encountered in 06-07 that held up my second mod. It occured when I had two destroy_vignette zones with the exact same position. Whenever I did that (I think there were other conditions, but I’ll need to dig through emails to find out), a base that used the zones to generate missions would freeze whenever I tried to load it. I’ve not heard of the error since, but I thought it might be something to point out.
MK
-
**I see, that does add up to exactly 1.0. Dealing with floats can be a little finiky with the round-off errors getting in the way. I will reduce it to a 3 digit decimal check (.000) to avoid that non-error being flagged.
Thanks for the tip on the zone, I also found out yesterday that the Y axis is ignored in vignette zones. I have been contemplating adding in a system scruber sort-of routine. This routine would go in and check every last detail in a system to make sure it was right. My favorite is the missing enocounter crashing the server when entering a system.**
-
**Here is that hash list you were asking about, it is just list of hashes from the fl.exe used to get the audio hashes.
-
@Lancer:
**Here is that hash list you were asking about, it is just list of hashes from the fl.exe used to get the audio hashes.
Thanks LS, your are the one !
-
C:\Program Files\Microsoft Games\Freelancer\DATA\SHIPS\shiparch.ini
Line #5775 ==> “type = engine”
[> * Nickname not found * ‘engine’
Line #6418 ==> “type = bottom_engine”
[> * Nickname not found * ‘bottom_engine’[/quote]
Those should be Engine & Bottom_Engine, either your ini entry is in lower case or FLEC is still not recognising all case shifts. -
**It didn’t have any of the engines in the check. It’s already been added and will be in the next release.
FLEC does not check for case unless it is absolutely required, otherwise everything is read in lowercase. Is that setting case sensitive? If so I will add a check for it…**
-
I can’t think it’s case sensitive, as it works with lowercase.
MK
edit
Maybe I should actually check things before I post. Turns out that I have the type names capitilized in my .ini; I just assumed they were lowercase, as they showed up in FLEC. You know what they say: When you assume, you make an a** out of u and me.
-
Hehe, you actually had it correct the first time, 1.011 does not have the engines in it. That is a fairly old routine and back then I didn’t have a clue where that stuff was. So I just added the ones I found in the stock INI files. As time goes on I’m sure there will be other stuff I’ve missed.
-
Hey there,
first I need to say: GREAT WORK Lancer Solorus.
The error checker gave me lots of errors and I’ve fixed almost 80% of them.But there is one think in the Error_Log_Shiparch.
Many of my ships have no HpPilot, i must say i did never care much about it because only 30-40% of our have a empty cockpit, the others are BS’s, frighters or ships with a pilot in the model.
My question is: Is it rly necessary to fix those error…
-> Missing ‘hppilot’ on ‘x_302’ *** C:\Programme\Microsoft Games\Freelancer\DATA\ships\stargate\x-302\f302.cmpGreetings
Mind -
it wont lead to crashes if you dont have a pilot inside
FL checks for that entry but i doubt that it does lead to additional serverload (big dunno here)the best answer i can give you is that if you want a 100% clean code you place such a hardpoint in the middle of your ship (it cant hurt)
-
OP is right ^^, if it does have it in anyway, im guessing it would but loadtimes down (not by alot) it would just be more optimized.
-
**No it’s not necessary to have a pilot on it. It is necessary though to have other hardpoints such as the HpTactor_source if the ship has a tractor mounted on it.
After talking with Op about this, I may remake the hardpoint checker to seperate out the required hardpoints and the non-required hardpoints.**
-
Ty for the replys guys.
I will not add the HpPilot to the ships, because some models (like the xwing) dont have place for a pilot.
Plus i’m to lazy to add add 60HpPilots to 60 different models. ::) -
The pilot is easy to deal with, if you don’t want to add a HpPilot to the CMP, then just remove the “pilot_mesh = generic_pilot” line from each of the affected ships shiparch entry.
HpCockpit is where all ship cameras are anchored (including cockpit cameras), without one FL will attach the cameras to the models centre (0,0,0), but this will still cause a syntax error for each camera (4 per ship).
A missing HpTractor_Source, HpBayDoor01 or HpBayDoor02 and FL will use 0,0,0 for it and then throw a syntax error for each one.
These syntax errors cannot be seen in any of FL’s error logs, which is why most don’t realise they are there. What do they do? they block the dataflow in the CPU, to many in there at once and it’s CTD time, it all depends on what syntax error limit your PC has, a high limit and you’ll probably never notice anything, but a low limit and you’ll probably hit a random CTD or two on a mod that’s meant to be clean.
-
I have found that a missing HPTractor_Source will actually crash the client and server when the user uses their tractor. It doesn’t happen every time but it will happen.