Dev's Limit Breaking 101 Techniques
-
w0dk4 wrote:
The problem with asteroids not being able to be rendered is due to how FL computes unique IDs.
Because after a certain size of the position vector the unique id computation function fails, asteroids will no longer be spawned.At Freeworlds, we simply made the function always return “some” id, no matter if its a broken ID.
Maybe adoxa can fix the code for larger vectors, the function responsible is:
unsigned long __cdecl CmnAsteroid::compute_cube_id(class Vector const &)
in common.dll (062A6010)
Hi! Had overlooked your post. Thanks for the info though (not that I can do anything with it, but Adoxa apparently does!)
Maybe I should just abandon the idea and simply use customized dynamic asteroids. I remember someone found out you can redefine the normal asteroid models as dynamic asteroids, and have up to nine fields overlap each other.
And then, IIRC, there is a value in constants ini that can modify collision damage.
(Which brings up another idea that might be a cool project for Adoxa: enable the game to have the constants in constants.ini redefined in per star system. Would that be possible?)
-
I’d argue that there is no good reason to be using 1.0 anymore. I urge anyone still working with it to move to 1.1, if only for the security features provided by 1.1’s cheating detection and most importantly FLHook. Having both client and server running 1.1 does not matter so long as the server does, but it’s a lot easier to develop a mod with only one version
-
adoxa wrote:
Sigh, just when I thought everyone was using 1.1… 0x463c9 & f.
:worship: Thx!!!
friendly fire wrote:
I urge anyone still working with it to move to 1.1,
I must confess I have no ideas how to that…
And I have some recollection it was disadvised against on the old (TRL) forum. Can’t remember what the reason was, but it was a good oen. Apparently, the issue has been overcome, but I’d like to know what & how.
Besides, although I have a legally purchased copy, I have a no-cd version that ‘fell off a truck’, and that’s a 1.0 . Is there a no-cd patch for 1.1?
-
adoxa wrote:
Sigh, just when I thought everyone was using 1.1… 0x463c9 & f.IT WORKS!
-
Syd wrote:
freelancer.exe wasnt change in 1.1, just patch your freelancer to 1.1 and everything is like beforeCool. Where and/or how?
(I’m stubborn and carry on with 1.0 for a while, but it can’t hurt to at least now where and how to patch. But - what was the good reason the old school modders advised against patching? Or did I just imagine that?)
-
Moonhead wrote:
Cool. Where and/or how?http://download.microsoft.com/download/5/4/2/542a372f-d540-468d-a653-2cdced8d1d0d/flpatch.exe
-
Crazy wrote:
Moonhead wrote:
Cool. Where and/or how?http://download.microsoft.com/download/5/4/2/542a372f-d540-468d-a653-2cdced8d1d0d/flpatch.exe
Thx!
I suppose I need to run this with every fresh-install (and also can get rid of it, by fresh-installing the game without patching?
I won’t patch now, coz I’m too lazy to find out what might have changed. I wanna simply add more Order NPCs to my little mod now
-
If you ever go multiplayer with your mod (IE get a server up), you’ll be cursing this decision over and over, trust me.
-
FriendlyFire wrote:
If you ever go multiplayer with your mod (IE get a server up), you’ll be cursing this decision over and over, trust me.Well ok maybe I should. But a few question, if I may:
1. What files are actually affected by the patch (you don’t have to go into details, but I wanna know what I might loose / have to again? I mean DLL wise mainly, but also other files I might not think off… Also, I need to know what existing files in my mods I need to update
2. I build all my mods over Xerx’s OpenSP and that includes:
- a common.dll file in \Exe,
- a contents.dll file in \DLLS\BIN
and both happen to be 1.0 files (in fact it’s version 1.0.1223.11). Is there a 1.1 version of Xerx’s OpenSP? (Or another OpenSP that works as well? OpenSP meaning: no storyline, sort of a solo emulation of MP)
3. Where should I expect conflicts if I accidently (e.g. becaus there is still some 1.0 stuf in one of my older mods) use a combination of files from both 1.1 and 1.0?
-
The Freelancer Update v1.1 is primarily a server update addressing server stability and cheating. There are some client side fixes, the most important being a multiplayer ID generation issue. There is really no need to install the update unless you are running a server or are unable to play multiplayer because you can’t get an ID. The update itself contains no localized text, therefore it is applicable for use for the English, French, and German versions of the game. An English, French, or German readme file will be installed depending on the language version of the target operating system.
Doesn’t seemt too bad, but what about the content.dll?
-
If you have WinRAR or 7-Zip, just download the EXE patch, right click on it and extract it as you would a standard archive. You’ll be able to see for yourself exactly what files are changed by the update.
As for OpenSP, I do not know about this, but I think there were newer versions than Xerx’s one. All I know is that most mods want, at one point or another, to go MP and that you want to be ready for this.
-
Moonhead wrote:
1. What files are actually affected by the patchThese are the files updated in flpatch.exe (the 1.1. patch made by Microsoft):
Freelancer\DLLS\BIN\Content.dll
Freelancer\EXE\CheatMessage.txt
Freelancer\EXE\ReadmePatch.htm
Freelancer\EXE\FLServer.exe
Freelancer\EXE\Common.dll
Freelancer\EXE\DALib.dll
Freelancer\EXE\RemoteClient.dll
Freelancer\EXE\Server.dll -
Regarding OpenSP, there’s also my SP from MP tool. This takes the new character data used by MP and turns it into restart.fl, used by New Game.
You should also be aware that 1.0 save games are not really compatible with 1.1. The internal mission number changed, so after Mission 2 (iirc) you will not be able to advance level. It can be fixed by getting FlCodec, decoding your save games, searching for and adding one to MissionNum, if it’s greater than 5 (1.0 is consecutive, but 1.1 jumps from 5 to 7). There’s no need to re-encode, so just save and that’s it. You don’t even need to exit Freelancer.
-
adoxa wrote:
Regarding OpenSP, there’s also my SP from MP tool. This takes the new character data used by MP and turns it into restart.fl, used by New Game.:worship: Adoxa, you should be the new UN ambassador and the world would truly become a better place.
adoxa wrote:
You should also be aware that 1.0 save games are not really compatible with 1.1. The internal mission number changed, so after Mission 2 (iirc) you will not be able to advance level. It can be fixed by getting FlCodec, decoding your save games, searching for and adding one to MissionNum, if it’s greater than 5 (1.0 is consecutive, but 1.1 jumps from 5 to 7). There’s no need to re-encode, so just save and that’s it. You don’t even need to exit Freelancer.Thx for the info! I don’t have any worhtwhile savegames (yet).
So, it seems safe to path up to 1.1. now…
- all the hacks in my common.dll can be redone with FLHack (and the starsystem’s asteroid limit manually woth the info provided earlier in this thread - I’ll write it down to not forget)
- OpenSP is provided
- The Planets Visibility Hack is in Freelancer.exe so it is left untouched (Btw I still have the text from Friendly Fire’s original post, saved from TLR, and I will post it, to express gratitude and pay honour. Like Adoxa’s hacks, it contributed to improve to kick-ass-ness of my time on earth. )
Wooee!
-
Here it is, a piece of text that moved me more than any poetry could have done. Copied-and-saved from The Lancer Reactors Modding Forum, preserved from ancient times, copied from harddisk to harddisk: the Holy Planets Visibility Limit Hack!
FriendlyFire
Flight Commander
Original posting
posted 10/4/2005 18:31 PST
–------------------------------------------------------------------------------
I was fiddling with a problem I had with scales and I was looking for the mythic 250k draw limit. I found it!Open up your Freelancer.exe with your favorite Hex Editor. I use Hex Workshop.
Search for a 32 bits Float value of “250000” ( Without “” ).
The first and only result is the good one. Change it to, say, 1000000 ( 1000k ) and save, then try to boot the game ( Singleplayer is better for this as it does not have the ship explosion bug when you are too far away from the center of the map ).It will work!
Hope this helps making even greater mods.
FriendlyFireEdited by - FriendlyFire on 10/4/2005 6:32:23 PM
Bring me my bow of burning gold!
Bring me my arrows of desire!
Bring me my spear! O clouds, unfold!
Bring me my chariot of fire!
:worship:Oh that reminds me: nebula’s also get weird when your too far from ’ em… But I can’t remember of the above-mentioned hack also covered that. or if that one even has been solved.
-
– 20000f in freelancer.exe, 0x1C8910, 0x1C8910 = same offset as above, poly flipping distance - raising this value stops graphical glitches on big CMPs, but raising it too high introduces flickering issues with SPH-based models (like planets) ~FriendlyFire
Try playing with that offset. There’s no “perfect” value for it; it depends a lot on what your mod is, how it is built, etc. The best way is to tinker
-
Some might have heard from Procyon’s dynamic lightning on muzzle flashes when firing a gun. I just wanted to implement this in Freeworlds and found out that the light_anim entries in weapon_equip.ini are actually disabled. They are read, but they are not used.
Here is a (messy) hack that will activate FL’s light_anim dynamic lightning:
Freelancer.exe:
0x12D132 replace 2 bytes with “EB 6D”
0x12D052 replace 6 bytes with “90”
0x12D0F6 replace 1 byte with “53”
0x12D0F9 replace 1 byte with “02”
0x12D100 replace 1 byte with “CA”