Dev's Limit Breaking 101 Techniques
-
Guys, i’m after increasing some visual FX on a black hole. I want to view the effects from 50k away. I’ve edited the server dll thinking the vis beam needs increasing, no joy. I’ve edited the effect type setting to 1mil and defined it to be used by the effect, no joy.
Only entries i can see without altering ale files are for smoke, explosion and large proj. Are there any specific to normal visual effects where i can change the viewable range and pbubble settings?
Before anyone says anything, this all works up to about 4 or 5k away from the blackhole, then the FX stop showing so its def a visibility setting or hack for standard fx view distances that i’m after. Cheers in advance
-
The EffecType’s radius and pbubble values are properly setup?
-
the values in effect type are radius set to 1mil, same for the pbubble settings. As per your entry in the list of hacks i even altered the vis beam in server dll, thinking that would increase the range, no joy. I haven’t altered anything in the exe file yet as those values listed seem to be for other FX types
-
No, but i can go and alter some values and see what happens
EDIT
Don’t see any changes.
Ok, here’s small video to show what’s happening. I’m 5.4k from the effect and all is fine. I move back to 5.5 and it disappears. I move forward and it comes back. Very odd.
-
How did you attach the effect on the solar?
-
That was the easy bit. Shoved an FX hardpoint onto the model, and made it so it uses one of the unused effects in FL. I’ve seen this used by a couple of people but maybe not on a black hole before. Partly the reason why i want to be able to see it from further away.
This topic was touched on a while back between LS and Sushi as the FW-TOW was suffering from the same issue. I know a couple of the values listed are in the wrong place at the start of this thread, i just need to know which ones so i can make this all happen.
-
@ Gibbon
You need to edit the values in the dacom.ini to increase the draw distance of the effects, aswell as the values in the effect_types.ini.
to somthing like this, now these could be wrong i can’t realy remember, it’s been a while.
dacom.ini
; (note: 1000 is default poolsize)
FxBasicAppearance.poolSize = 100000 ; each particle can generate: 4 verts 6, indices
FxRectAppearance.poolSize = 40000 ; each particle can generate: 4 verts 6, indices
FxPerpAppearance.poolSize = 25000 ; each particle can generate: 4 verts 6, indices
FxOrientedAppearance.poolSize = 0 ; each particle can generate: 4 verts 6, indices
FLBeamAppearance.poolSize = 68000 ; custom app from flalchemy.dll: each particle can generate: 5 verts 24 indices
FLDustAppearance.poolSize = 25000 ; custom app from flalchemy.dll: each particle can generate: 4 verts 6 indices
;–-------------------- total = 260000 -------;
;
FxMeshAppearance.poolSize = 50000 ; generates meshes not particles; need enough of these for all tradelane rings in a system.
FxParticleAppearance.poolSize = 10000 ; generates effects not particlesWhat i can remember is, if you set them wrong you will get a buffer overflow error inside flspew and somtimes if there is alot of action going on ingame with alot of effects involved, they go nuts and spread all over the screen.
Then what you need t do is look in he effects.ini ans see what type of effect your neutron star is using.
example
[Effect]
nickname = pi_neutron_03_proj
effect_type = EFT_WEAPON_PROJ <== this ((there may be mor than one))
vis_effect = pi_neutron_03_proj
vis_beam = pi_neutron_03_beamthen go to the effect_types.ini and look for EFT_WEAPON_PROJ or what ever it may be. Then change it to somthing like this.
effect_types.ini
[EffectType]
nickname = EFT_WEAPON_PROJ
priority = 0.500000
generic_priority = 1.000000
lod_type = EFT_LOD_WEAPON
radius = 10000.000000
visibility = EXIST_OFFSCREEN
update = CULL_UPDATE
run_time = -1
pbubble = 10000, 10000Now like i said, it’s been a while for me so if i’m wrong on anything then don’t feal bd about correcting me, but it’s the along these lines, you should be able to see the effect up till around 50k with these setting.
-
All I did was change the effect type of the blackhole effect to that of the effect_types that are hacked. So, using these
eft_damage_large_smoke (infinite duration):
– 20f in freelancer.exe, 0x212DE8, 0x212DE8 = on-screen radius of effects
– -1f in freelancer.exe, 0x212DF0, 0x212DF0 = max run time of effects
– 100f in freelancer.exe, 0x212DF8, 0x212DF8 = unknown, likely the first value of pbubble
– 500f in freelancer.exe, 0x212DFC, 0x212DFC = visual cutoff range of effects (second value of pbubble)I added the eft_damage_large_smoke type to the blackhole effect. With the hack, I increased the size of the on-screen radius, max run time of effects, pubble values to fairly large values. That’s all there is to it, that I know of. If it’s not working for you, I don’t really know why.
-
Thx, i’ll give that a go.
** EDIT **
The edits listed so far only make these fx editable
EFT_EXPLOSION_LARGE
EFT_WEAPON_LARGE_PROJ
EFT_DAMAGE_LARGE_SMOKENow i know for a fact ALL the other effect types are listed in the exe file. After a long drawn out chat with Lancer, he’s having a look through the exe file to locate these fx types. One he found for me has cured my visual fx problem already. When he’s done i’m sure an updated list will be forthcoming. Means we can ALL edit the correct files instead of using the wrong fx types to achieve workarounds. Stunning work indeed
-
**The insanely large fx PBubble max is at 0x00212FDC. I now have the entire list of them now and hopefully will create a list of them soon. If you need a specific one before then just ask.
The actual range of the effect appears to be on-screen radius +pbubble max, thats why it’s been so hard to find. This one was 5k + 500 = 5.5k**
-
Because modifying the entries in effect_types.ini seems to have no effect unless the right value in the exe is changed. It wasn’t until some of the other values that LS found i could edit the view distances on certain effect types from the ones i modified in the EXE file.
As an example LS found this in the 1.1 exe,
EFT_EQUIP_ATTACHED_INSANELY_LARGE
– 500f in freelancer.exe, 0x212FC8 = on-screen radius of effects
– 1000f in freelancer.exe, 0x212FD8 = unknown, likely the first value of pbubble
– 5000f in freelancer.exe, 0x212FDC = visual cutoff range of effects (second value of pbubble)If you don’t edit the values there, especially for the pbubble max setting, it doesn’t matter what you type into the effect_types.ini setting, nothing happens. It was only until i changed the setting in the exe that the effect was visible from 50k away
He’s compiling a list of all the effects addresses so for those that want specific effects to work, they will. Why choose from only 3 fx types to change when you can use all of them?
As an example, suppose i want to see engine fx made viewable from further away, without the corresponding exe address for the relevant engine trail fx, no amount of modifying the effect types file will change that unless i have the address for the that effect type
-
I set a breakpoint on the insane max value and it did indeed get updated from effect_types.ini. You do still have an entry for it in freelancer.ini?
The initial pbubble calculation looks to be:
r = distance? - radius scale = 1 - something // usually 0 or close to it d = min + (max - min) * scale // so it'll be max or close to it if (d >= r) ...
-
Are these EXE entries even used if the appropriate INI settings are changed and existing?
What I’d especially like to know is whether it’s possible to make entirely new effect types without any negative consequences.
-
@ adoxa
Yes, i do have an entry for it in freelancer.ini. Only sense i seem to get with regard to the view values was to edit the exe file at the address LS told me to go for that particular effect type. I modified the pbubble max setting to 50k, now it works. I’m as mystified as you are why it works for me this way but it does lol
@ FF
LS is your man to answer that, all i know is he has a complete list of the fx in the effect types file and one or two unused ones i believe, that he’s located in the exe file with relevant addresses and initial values