Dev's Limit Breaking 101 Techniques
-
Hello everyone…
Well thought I had an account here, but turns out I’ve just been a lurker… Shame on me! Hehe…
I’m not really that good with hex… Atleast not good enough to achieve this:
Instead of breaking the HUD’s limit of showing speed over 300 in cruise I would like to change that 300 to Warp…
Could anyone here give a pointer to this or maybe even find the value I need to change?
Thanks in advance
-
I know… It’s in resource.dll
However this only affects other speeds than cruise ie if you hit engine kill while in cruise, travelling in lanes and so on… Already changed that but now I’m looking to change the HUD displaying “Warp” instead of “300” while I’m IN cruise…
-
there’s a link to editing tutorial in the middle of the first post if you didn’t notice
actually i did see… I had a little trouble with exactly these types of fixes myself… just thought a slightly different wording might help…'scuse me…
-
Your best bet would be to look for “2500” (probably an integer, but could also be a float) in the files and ignore the tradelane speed hex address (the one listed in this thread). You’ll find one or more which likely will be the point at which “–-” is displayed. You can then lower that to, say, 250, and whenever you’ll reach that speed, “—” will be displayed. All that’s left is changing the resource to “Warp” and you should be in business!
For reference, the hex adresses to be ignored are these:
– 2500f in common.dll, 0x13F3CC, 0x13F39C = trade lane travel speed ~Lord of Lunacy
Depending on whether you have 1.0 or 1.1 DLLs.Of course, this requires a bit of technical knowledge, so be sure to ask if you’re having difficulties with the process
-
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.