CRC or .aln problem?
-
Hi folks. I’m trying to get a new engine effect. To cut a long story short I have used the rheinland engine .ale files called gf_rh_smallengine02_fire.ale and gf_rh_smallengine02_trail.ale and have tweaked some values in the .aln output file using the ALE editor (courtesy of LS) to try and get some red/ yellow rheinland style flame colours and purple looking trail. I also modified some other values (but not hugely)…
So far I modified code from:
gf_rh_smallengine02_fire.aln file - mostly colour values and some small varations to values such as emitter frequecy and particles etc. The max particles I have set to 12500 in various places - is this too high?
I did similar changes to the trail effect … neither are visible in game …
I renamed the output .tale files to:
kav_engine01_fire.ale
kav_engine01_trail.aleand put them into the fx/engines/ dir
and here is the code from the .ini files:
engine_equip.ini
[Engine]
nickname = ge_kav_engine_01
ids_name = ??? ;new ids required
ids_info =???
volume = 0.000000
mass = 10
max_force = 48000
linear_drag = 599
power_usage = 0
reverse_fraction = 0.200000
flame_effect = kav_engine01_fire
trail_effect = kav_engine01_trail
trail_effect_player = kav_engine01_trail
cruise_charge_time = 5
cruise_power_usage = 20
character_start_sound = engine_rh_fighter_start
character_loop_sound = engine_rh_fighter_loop
character_pitch_range = -50, 25
rumble_sound = rumble_h_fighter
rumble_atten_range = -5, 0
rumble_pitch_range = -25, 25
engine_kill_sound = engine_rh_fighter_kill
cruise_start_sound = engine_rh_cruise_start
cruise_loop_sound = engine_rh_cruise_loop
cruise_stop_sound = engine_rh_cruise_stop
cruise_disrupt_sound = cruise_disrupt
cruise_backfire_sound = cruise_backfire
indestructible = false
outside_cone_attenuation = -3
inside_sound_cone = 60
outside_sound_cone = 180(IDS I did later on so that is ok)
added to goods.ini ship package
addon = ge_kav_engine_01, internal, 1
engines_ale.ini
[VisEffect]
nickname = kav_engine01_fire
alchemy = fx\engines\kav_engine01_fire.ale
effect_crc = -151364813
textures = fx\smoke.txm
textures = fx\planetflare.txm[VisEffect]
nickname = kav_engine01_trail
alchemy = fx\engines\kav_engine01_trail.ale
effect_crc = -3981931705
textures = fx\sarma.txm
textures = fx\planetflare.txm
textures = fx\beam.txmProblem is I’m getting nothing now, and I can’t work out whats incorrect … CRC ? or an error with the .ale files? If it’s the ale files surely I would get something visible in game or it would crash?
Please help!
-
First, go for renaming everything that refers to gf_rh_smallengine02_fire.
I would do that the following way: Find and replace all: gf_rh ==> my_own.
Do the same for the ael and the aln as well!Then use the DB_Hash_CRC_Calc (LS’s CRC Calculator app) to get Signed CRC values for the renamed nodes. The first two codes will need to be inserted into the file. I usually just copy-paste and then delete the <> sign and make sure there is only one space there.
Long story short, rename everything to unique and make sure the CRC values match for them! And make sure you do it in both the ael and aln files. Do not forget about the “original filename” entries at the top of both files, rename them as well!You have got the rest done correctly, except: EFFECTS.INI! Add it there as well.
-
Aha so rename the files and the nodes in the aln and ael files before creating .tale?
like here?
; ALE Scripter By DB Software
; Original filename is “gf_rh_smallengine02_fire.ale”
;******************************************************************************************************[ALE]
Version = 1.1
; Number of sections = 6; ****************************************************************************
[Section]
; ==> 1
FX_Type = FxConeEmitterNode_Name = gf_rh_smallengine02smoke_Cone.emt ; 0xF113E9EC 4044614124
rename there and include the CRC with the hex? Same for all the node names?
think I got it now ! will give it a shot later on… Cheers !
Also forgot about the effects.ini … woops!
edit: Hopefully I can get it working then ill show ya some screenies
-
Yeh, I’d wager leaving the effects.ini entry out is what is preventing it from showing up in-game. But as stated, you should go through and update all the old names, otherwise you can get crossover problems with the old effects if a ship using them approaches. Before LS’s ALE editor, you could actually get by with just renaming a couple items (making sure you stuck within the same character limit as the prior name). The emitter sections could keep their old name and still work, but yeah you run the risk of funky things when encountering the old effects (particularly with re-sized and recolored effects).
Note: anything with a semicolon acts the same as in an ini file, it’s only there to provide in code documentation for you.
Note2: if you’re combining / patching together effects, you have to remember to update the ael file’s Slot_order to reflect your changes
anl = alchemy node library
ael = alchemy effects library -
Yea I could see problems happening with conflicts in game without editing all the nodes, especially if I was around the rheinland area! I have encountered loads of problems with fl and this, mostly with model and texture conflicts before though (group name conflicts and such)…
as for the ; comments I assumed it was just that, didn’t mean to change that also… I could but it wouldn’t do anything!
;DHopefully the results are nothing too drastic… I’m just wanting some subtle colour and appearance changes…
-
I just like to stick to the stricter version all the time, that is if I modify the comment lines that doesn’t do much harm - but say, if by any chance they would not be ignored by the encoder, that could cause me a headache if I did not modify them as well:p
-
The ; is for comments only, you do not have to change or include them.
-
-
-
You don’t have to register to get the download, just click the download button at the top.
-
Why’s Guide to Duplicating Effects!
Duplicating effects is one of the most important things an effects modder needs to do. It took me a long while to figure out the full process, but I know it now, and here goes.
First off, pick your effect. For this tutorial I will use the ku_missile02_drive.
First things first, extract the ku_missile02.ale from FX. ALE files actually tend to contain multiple effects, so you will typically not find exactly the effect name you are looking for, but something very close.
With the ALE extracted, you now have two files. The ANL, and AEL. The AEL is your structure file. This defines what your components are, and their orders. I recommend you do not touch these numbers, as it is very easy to screw the entire effect up. What we are interested though is duplicating the effect though. You can mess around all you want later. For my example, I am going to make an effect called gf_supermissile02_drive.
Open up the AEL first. Simplest way, replace (Ctrl-H in Notepad) all references of ku_missile02 with gf_supermissile02_drive. Here’s an example of a couple lines.
Type = Layer0
[Section]
; ==> 1Effect_Name = ku_missile02_drive
ULParams = 0, 0, 1
; *** Param #1
ANL_Nickname = Main_Node ; 0xEE223B51 3995220817
Parent = NULL
FX_Slot = 1
Slot_Flag = 0
; *** Param #2
ANL_Nickname = ku_missile02_drivethrust#1 ; 0xFF03EA94 4278446740
Parent = NULL
FX_Slot = 3
Slot_Flag = 0And here is after.
Type = Layer0
[Section]
; ==> 1Effect_Name = gf_supermissile02_drive
ULParams = 0, 0, 1
; *** Param #1
ANL_Nickname = Main_Node ; 0xEE223B51 3995220817
Parent = NULL
FX_Slot = 1
Slot_Flag = 0
; *** Param #2
ANL_Nickname = gf_supermissile02_drivethrust#1 ; 0xFF03EA94 4278446740
Parent = NULL
FX_Slot = 3
Slot_Flag = 0Simple enough. Now do the same for the ANL. Simply replace all references to ku_missile02 with gf_supermissile02.
Pack up the files using hte ALE editor to create your TALE. Simply rename this to ALE and you are good to go. Plop your ALE into whatever relevant folder, in my case, this would be the DATA\FX\WEAPONS folder.
Not done yet! You have an ALE and effect, but the game does not know how to use it. So open up the relevant folder’s ini. In my case, this would be DATA\FX\WEAPONS\weapons_ale.ini. In this file is a list of all effects and their associated ALEs. Since I copied the ku_missile02_drive, I will find the entry for ku_missile02_drive, and duplicate it.
[VisEffect]
nickname = ku_missile02_drive
alchemy = fx\weapons\ku_missile02.ale
effect_crc = 81439903
textures = fx\smoke.txm
textures = fx\planetflare.txm
textures = fx\sarma.txmAnd this then becomes…
[VisEffect]
nickname = gf_supermissile02_drive
alchemy = fx\weapons\gf_supermissile02.ale
effect_crc = 3980468032
textures = fx\smoke.txm
textures = fx\planetflare.txm
textures = fx\sarma.txmDO NOT FORGET THE EFFECT CRC. This is extremely important and easy to miss. Using the CRC and Hash code generator that you can find on Digital Brilliance, you must generate a CRC value for your effect. Copy and paste the name of your effect, not ALE, into the CRC generator. Then copy and paste the second value that appears in either the Unsigned CRC or Signed CRC fields.
Ok, so now we have a visible effect. The game still doesn’t know how to use it yet though. Now we need to go the general effects.ini which is found in DATA\FX\effects.ini. As before, I find the entry of the effect I duplicated and then copy and paste it, then change the name to match my stuff.
[Effect]
nickname = ku_missile02_drive
effect_type = EFT_MISSILE_DRIVE
vis_effect = ku_missile02_drive
vis_generic = min_missile01_driveBecomes…
[Effect]
nickname = gf_supermissile02_drive
effect_type = EFT_MISSILE_DRIVE
vis_effect = gf_supermissile02_drive
vis_generic = min_missile01_driveAnd that should be all. From there, Freelancer should recognize your newly duplicated effect. Use the effect on whatever you need it to by calling it like you would any other effect.