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)
@w0dk4: did you apply this patch?
common.dll 460B6 77 3B -> 90 90 = always render static asteroids PART 1 common.dll 460BE 77 33 -> 90 90 = always render static asteroids PART 2 common.dll 460C5 77 2C -> 90 90 = always render static asteroids PART 3 ```Or something similar? I'm asking because adoxa's patch on this subject has side-effects (see above post).
-
Gold_Sear wrote:
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)
@w0dk4: did you apply this patch?
common.dll 460B6 77 3B -> 90 90 = always render static asteroids PART 1 common.dll 460BE 77 33 -> 90 90 = always render static asteroids PART 2 common.dll 460C5 77 2C -> 90 90 = always render static asteroids PART 3 ```Or something similar? I'm asking because adoxa's patch on this subject has side-effects (see above post).
I just applied the above patch to my mod as i was having issues with asteroids not rendering after a certain distance. This has cured it with no side effects i can see, which isn’t saying much to be fair. That said, the rocks render now and stop when they should do at the edge of the field. Nice find.
-
Kuze wrote [many years ago]:
From all the fancy new stuff being made, I want to see just one: the ability to use the mouse wheel to scroll up and down in menus. Or it is hard coded and not possible to implement?This must have been when I was offline and missed it. I had an email a few years later that requested wheel scrolling in the equipment dealer, which I wrote (and put on my site, but never posted here, apparently). Just had another email that wanted it to work in space and pointed out a few places where it didn’t work. Somewhat belated, here’s Wheel Scroll.
-
Good work as always Adoxa!
-
common.dll 139964 905332->C0DE26 = using thruster hp_type for [Light] ~HeIIoween common.dll 139A40 905332->C0DE26 = using thruster hp_type for [AttachedFX] ~HeIIoween
-
common.dll 139A40 905332->C0DE26 = using thruster hp_type for [AttachedFX] ~HeIIoween
-
starworld wrote:
I use this hack
http://the-starport.net/freelancer/forum/viewtopic.php?post_id=58738#forumpost58738
and
http://the-starport.net/freelancer/forum/viewtopic.php?post_id=60591#forumpost60591But there is a problem when zoom in and move.
The player icon and the waypoint icon are outside of the map :
http://nsa37.casimages.com/img/2016/09/20/160920072300115764.jpgSomeone have a solution ?
Happy 20th birthday Freelancer!
So this is going to be a long post.
In honour of Freelancer’s 20th anniversary, I tried to fix the above problem. As you can read in my original reply, I thought it was easy to fix, but it turned out to be damn tricky to track down. No luck so far, but in my hunt I stumbled upon dozens of other related things, which I will sum up now and index to wiki:related to NavMap size:
Freelancer.exe 917CC 112000f = size of system map; beware, affects size of player ship icon aswell ~Gold_Sear Freelancer.exe 1D2EEC 33333f = size of sectors in F9 info screen; needs to keep ratio with variable above ~Gold_Sear Freelancer.exe 1D2EF0 -99999f = starting point of sector calculation in F9 info screen, needs to be -3*variable above ~Gold_Sear
In addition to WhiskasTM’s original post about the size of system diamonds:
Freelancer.exe 915C8 1.0f = bunch scale of all system diamonds on Universe Map (method 4) ~Gold_Sear ```This one really only scales the diamonds, not also move them. The following offsets can be used to clear the NavMap of names inside of the map (other than labels):
Freelancer.exe 8F007 -0.274f = NavMap system/universe name x-displacement ~Gold_Sear
Freelancer.exe 8F00F -0.252f = NavMap system/universe name y-displacement ~Gold_Sear
Freelancer.exe 90582,9FD83 -0.294f = NavMap letter alignment perpendicular to grid ~Gold_Sear
Freelancer.exe 90620,9FE33 -0.309f = NavMap number alignment perpendicular to grid PART 1 ~Gold_SearOf course, I also looked into zooming, and found the following:
Freelancer.exe 1D3F30 -0.257f = NavMap number lower limit when zoomed ~Gold_Sear
Freelancer.exe 1D3F34 0.274f = NavMap number upper limit when zoomed ~Gold_Sear
Freelancer.exe 1D3F38 0.31f = NavMap letter left limit when zoomed ~Gold_Sear
Freelancer.exe 1D3F3C -0.23f = NavMap letter right limit when zoomed ~Gold_Sear
Freelancer.exe 9FCF6,9FC9B 8.6f = NavMap letter/number zoom factor ~Gold_SearFreelancer.exe 9F2B4 DC 0D 28 3F 5D --> D8 35 F6 FC 49 = align NavMap zoom factor to letter/number zoom factor; redundants adoxa’s NavMap zoom factor, now controlled by the NavMap letter/number zoom factor ~Gold_Sear
For those of you (including me) who find this 'PHYSICAL MAP' label on the top of the NavMap annoying, the following might help:
Freelancer.exe 211C94 1360i = MAP LEGEND identifier ~Gold_Sear
Freelancer.exe 211CA0 968i = BASE LIST identifier ~Gold_Sear
Freelancer.exe 211C84 1338i = PHYSICAL MAP identifier ~Gold_Sear
Freelancer.exe 211C88 1339i = POLITICAL MAP identifier ~Gold_Sear
Freelancer.exe 211C8C 1340i = PATROL PATH identifier ~Gold_Sear
Freelancer.exe 211C98 1361i = MINEABLE ZONES MAP identifier ~Gold_SearWhen having cleared the NavMap of these texts inside of the map, the labels can be moved further from the center:
Freelancer.exe 1D3EF0 -0.198f = upper limit for labels on NavMap ~Gold_Sear
Freelancer.exe 1D3EF4 0.192f = lower limit for labels on NavMap ~Gold_SearEDIT: forgot to mention: I updated [this patch](https://the-starport.net/freelancer/forum/viewtopic.php?post_id=63559#forumpost63559):
common.dll 460B0 81 F9 --> EB 15 = always render static asteroids ~w0dk4,Gold_Sear
-
Update: FOUND IT! A solution to starworld’s original problem:
Freelancer.exe 95900 E0 75 5C --> 9C 63 49 = NavMap zoom move limit PART 1 ~Gold_Sear Freelancer.exe 95916 E0 75 5C --> 9C 63 49 = NavMap zoom move limit PART 2 ~Gold_Sear Freelancer.exe 9639C 90 90 90 90 -> 0.5f = NavMap zoom move limit PART 3 ~Gold_Sear ```To explain: at [c]95900[/c] and [c]95916[/c], the limiting variables are multiplied by a [c]0.5f[/c] located at [c]1C75E0[/c], but that offset is used by a _lot_ of other things, so I used unused padding bytes at [c]9639B[/c] (**EDIT**:[c]9639C[/c]) instead. @adoxa: when I set [c]9639B[/c] to [c]0.6f[/c], my disassembler shows altered code at the beginning of the next function. Is this a problem? EDIT: used [c]9639C[/c] now instead of [c]9639B[/c], this affects part 1 and 2 too.
-
Hi folks, with the TSP forum upgrade on the horizon, we’re shifting stuff from the wiki over to a new system, this includes Limit Breaking 101!
I’ve ported the tsp-wiki page over to the new format, and will be doing a pass of this thread to add any offsets that haven’t been included yet.
The new page can be found here: https://wiki.the-starport.net/FL Binaries/limit-breaking-101 It pulls from this repository: https://github.com/TheStarport/KnowledgeBase, and auto-updates when there’s a change.
If you’d like to contribute to the page, feel free to either make a PR or give someone on the Galactic community discord a shout for direct access. We’re still ironing out a few issues, and are in the process of porting the wiki content as a whole over.
-
Ruppetthemuppet wrote:
Hi folks, with the TSP forum upgrade imminent, we’re shifting stuff from the wiki over to a new system, this includes Limit Breaking 101!I’ve ported the tsp-wiki page over to the new format, and will be doing a pass of this thread to add any offsets that haven’t been included yet.
The new page can be found here: https://wiki.the-starport.net/FL Binaries/Limit Breaking 101/ It pulls from this repository: https://github.com/TheStarport/KnowledgeBase, and auto-updates when there’s a change.
If you’d like to contribute to the page, feel free to either make a PR or give someone on the Galactic community discord a shout for direct access. We’re still ironing out a few issues, and are in the process of porting the wiki content as a whole over.
Euhm… a few questions if I may:
(1) Will the 101 list from the wiki here disappear?
(2) I can’t seem to append my new offsets to the new 101 list, how do I do that? -
Gold_Sear wrote:
(1) Will the 101 list from the wiki here disappear?Eventually, yes, but we’re going to make sure everything is ported over and folks who want to contribute know how to contribute first. I’m not responsible for the forum changes, but have been assured that when they happen the old wiki will persist in an archived format until we’re happy we’ve reached parity. It’s going to be around for quite a while longer whatever happens.
Gold_Sear wrote:
(2) I can’t seem to append my new offsets to the new 101 list, how do I do that?If you head to https://github.com/TheStarport/KnowledgeBase, and clone it, you can make changes via pull request. If you don’t want to deal with the hassle of that and waiting for someone to authorize the PR, shoot me a DM with your email address/github account, and I can add you to the contributors list so you can make additions to main directly! Right now we’re using .md files that are built into the wiki pages automatically, so any changes made to the repository are reflected on the wiki almost immediately.
-
Ruppetthemuppet wrote:
Hi folks, with the TSP forum upgrade on the horizon, we’re shifting stuff from the wiki over to a new system, this includes Limit Breaking 101!I’ve ported the tsp-wiki page over to the new format, and will be doing a pass of this thread to add any offsets that haven’t been included yet.
The new page can be found here: https://wiki.the-starport.net/FL Binaries/Limit Breaking 101/ It pulls from this repository: https://github.com/TheStarport/KnowledgeBase, and auto-updates when there’s a change.
If you’d like to contribute to the page, feel free to either make a PR or give someone on the Galactic community discord a shout for direct access. We’re still ironing out a few issues, and are in the process of porting the wiki content as a whole over.
I was about to ask for a darker theme as the standard one was burning my eyeballs, then i saw the light button, looks much better with the dark theme imho
-
I’ve indexed all of the new offsets found by Gold_Sear on the new page, and combed this thread for any I might have missed before, sorry it took a while to to get to!
This has come up a few times in discussion on the Discord, but how do folks feel about splitting the page up by category and having a central index for these? The md file is so large VS code won’t auto format it at this point!
-
@Ruppetthemuppet: the issue about the offset for my NavMap zoom move limit has been resolved, so can you please add them to the list on KnowledgeBase (or just pull my request)?
This has come up a few times in discussion on the Discord, but how do folks feel about splitting the page up by category and having a central index for these? The md file is so large VS code won’t auto format it at this point!
I see now that there is no possibility to jump between sections, so this would probably be a good idea, to group the separate files in the folder e.g. ‘Limit Breaking 101’.
-
Sorry it took so long to accept the PR! I’ve fired you an invite to the contributors team so you can commit directly if need be in the future.
There is in fact a contents/directory tree down the right-hand side, but I think on certain screen resolutions it doesn’t show up. Will investigate the possibility of contents blocks (where relevant)