Dev's Limit Breaking 101 Techniques
-
Yawn… Mornin folks (looks for his coffee)
Thanks for the replies guys… But seems you misunderstand me a bit!
– 0x0F85->0x90E9 in freelancer.exe, 0xD5936, 0xD5936 = remove cruise speed display limit of 300 (in other words, change 0x0F85 to 0x90E9) ~Unknown
That’s the one I’m talking about… But instead of breaking the limit I want it to say “Warp” when it reaches 300 (or 500 or 999 for that matter). Just as long as I get that word in the HUD when ships are in cruise
In my mod the cruise speed has been set to 1000 and there are no lanes so searching for “2500” wouldn’t help…
-
Yawn… Mornin folks (looks for his coffee)
Thanks for the replies guys… But seems you misunderstand me a bit!
– 0x0F85->0x90E9 in freelancer.exe, 0xD5936, 0xD5936 = remove cruise speed display limit of 300 (in other words, change 0x0F85 to 0x90E9) ~Unknown
That’s the one I’m talking about… But instead of breaking the limit I want it to say “Warp” when it reaches 300 (or 500 or 999 for that matter). Just as long as I get that word in the HUD when ships are in cruise
In my mod the cruise speed has been set to 1000 and there are no lanes so searching for “2500” wouldn’t help…
If you want to change what appears on the screen you should look around the strings in .dll’s, this offset changes only the maximum speed when in cruise.
EDIT: Sorry didn’t read the previous post XD. This offset changes the maximum value displayed in the speed box. (But you already knew that)
-
Goddammit…
Allright problem solved… Don’t mod at 3am in the morning!
Here’s what I did:
Changed the “—” entries in resource.dll (there’s two)
Changed “999i in freelancer.exe, 0xD597A, 0xD597A = speed over which “—” is displayed” to 250. For some reason my hexeditor, or probably my tirred head, changed 299 to 300 and that’s why it didn’t work, so I set it a bit lower this time as well…So problem solved and it looks like I want now… Thanks for the pointers everyone!
-
07/06/09:
– Indexed seconds between updates of displays in weapons list, 'cause I could06/03/09:
– Correctly indexed my patrol_path NPC min spawn distance checkOf note is the 06/03/09 addition. When used in tandem with Vital’s “distance from the patrol zone that patrol_path encounters begin to spawn” find, this effectively solves the patrol_path spawning issues. No more 2.5k patrol_path spawns!
-
Of note is the 06/03/09 addition. When used in tandem with Vital’s “distance from the patrol zone that patrol_path encounters begin to spawn” find, this effectively solves the patrol_path spawning issues. No more 2.5k patrol_path spawns!
a bit more on this fox, please. Could you give somr example maybe??
-
– 6250000f in server.dll, 0x84ADC, 0x86AEC = square of distance from the center of the system over which bases no longer wish you well when un-docking (note: this is the same number as NPC disappear distance - as long as you have a good NPC persistance range, and good loot_unseen_radius = (radius) & loot_unseen_life_time = (time outside radius) in constants.ini, increasing this is safe) ~fox
Could someone explain this? %)
edit: specifically, what is npc persistance and what about these loot parameters.
-
what is npc persistance
distance away from you that npcs will persist. No matter what is your scanner range. For example, if you have 5k scanner and 10k npc persistence range, npcs will exist 1-2-3-4-5-6 -7 8-9-10k away from you, even though you won’t be able to see them over 5k(scanner range), and will disappear completely over 10k.
About loot - well, afaik the same. didn’t test myself. 5k default here, over 5k - loot disappears.
sorry for English - Cyrillic is not supported.
-
3750f c5d53 Content.dll v1.1 - distance from the tradelane ring(except the nearest one) at which npcs with arrival = tradelane encounters are created.
there are some more 3750f offsets in content.dll, they may be relevant to determine those rings and distances to them.
-
I can’t remember if this has been mentioned before but i don’t see this in the overall list of hacks. I’m talking about the tradelane speed indicator which normally maxes out at 999 irrespective of what the tradelane speed is set to.
This hack was originally by StoneD. He’d obviously been watching Holy Grail while writing this
HUD Speed display limiter - Cruise
.004D592B: D815807E5D00 fcom d,[005D7E80 << Checking against 300.0, real(4) float
.004D5931: DFE0 fstsw ax
.004D5933: F6C441 test ah,041 ;“A”004D5936: 0F8575FFFFFF jne .0004D58B1 –—? (2)
.004D593C: DDD8 fstp st(0)
.004D593E: D905807E5D00 fld d,[005D7E80
.004D5944: DC15787E5D00 fcom q,[005D7E78Where the > is, the HEX offset is 0xD5936. Change “0F85” to “90E9”. This changes the JNE (Jump if Not Equal) to simply JuMP.
This code seems to be some kind of half-hearted attempt to prevent the CPU from doing something constantly when
it doesn’t need to. Previous lines involved in the loop do traverse several DLLs (common.dll, msvcrt.dll, server.dll)
so it may impact low spec comps if you do this. I doubt it though.HUD Speed display limiter - Trade Lanes
.004D5979: 3DE7030000 cmp eax,0000003E7 ;" _" !! 999 !!
.004D597E: 898644030000 mov [esi[000000344,eax004D5984: 7E19 jle .0004D599F -------- (3)
.004D5986: 8B8E3C030000 mov ecx,[esi[00000033C
.004D598C: 8B11 mov edx,[ecxWhere the > is, the HEX offset is 0xD5984. Change “7E” to “EB”. This changes the JLE (Jump if Less or Equal) to simply JuMP.
FYI, the actual tradelane speed is 2,500.
Now, I know from past experience that people will ask, so to summarize, do thusly :
I. Fetch thyself an Editor of Hex. Tis not an issue whither it be share, free or pay-ware. An goodly one is HIEW.
II. Readst thou thine manual for thine Editor of Hex.
III. Makest thyself an copy of Freelancer.exe. Test.exe t’would be good.
IV. Open Test.exe in thine Editor of Hex.
V. Shouldst thou desire to remove yonder Cruise limit, instruct thine Editor of Hex to go to this Offset : D5936
VI. At this location, thou wilst find two bytes, 0F and 85. Change to 90 and E9.
VII. Shouldst thou desire to remove yonder Trade Lane limit, instruct thine Editor of Hex to go to this Offset : D5984
VIII. At this location, thou wilst find but a single byte, and it shalt be 7E. Change this to EB.
IX. Savest thine changes.
X. Quiteth thou from thine Editor of Hex.
XI. Clicketh doubly so upon yonder Test.exe.
XII. Play.I’ve tried the last one and it works and now displays the correct speed while travelling through the tradelane. Not tried the first one
-
That’s because FL can make cruise go slightly faster when you form up… I’m much more annoyed by how it continuously switches back and forth between 299 and 300.
As for limit cruise display, I guess it’d just be a matter of finding where the value to show is stored, change the comparison value too and you’d have it.
-
Gibbon, is it possible to limit cruise display limit to 600?
"Cos when you are grouping with npcs speed reaches 700+ sometimes? looks weired.@Gibbon:
HUD Speed display limiter - Cruise
.004D592B: D815807E5D00 fcom d,[005D7E80 << Checking against 300.0, real(4) float
You just need to change the 300f to 600f (the same value is used for the check and display). The above disassembly shows the float in question is at 0x5D7E80. Subtract 0x400000 from that to get the file offset and you have 0x1D7E80. So change the 300f at 0x1D7E80 in freelancer.exe to 600f.
-
Thanks for the heads up there Motah. As i mentioned earlier this wasn’t my find, just a tutorial i had lying around which i didn’t see on the overall list. I knew the last part of what i posted worked as i now have tradelanes that show the correct speed, just not got round to testing the other bit yet lol