[DiscordArchive] What happened when you disabled calling it?
[DiscordArchive] What happened when you disabled calling it?
Archived author: Nix • Posted: 2023-05-27T18:54:30.139000+00:00
Original source
What happened when you disabled calling it?
Archived author: 4bhorrent • Posted: 2023-05-27T18:56:25.670000+00:00
Original source
all sorts of weird shit lol
like only displaying the current chunk (or wmo subgroup?) etc.
tried disabling at different steps of the call stack, but so far no luck... might be me being clumsy as well... was working on this all day, so i am a little bit lacking concentration already lol
my favorite effect was when the screen didn't properly update anymore and it just had this bleeding effect, where spots of the image became brighter and brighter, until they were white haha
Archived author: 4bhorrent • Posted: 2023-05-27T18:58:21.848000+00:00
Original source
i think there might be another function like in 4.1.0 (CWorldView::Cull) which does some additional cull work, before CullSortTable gets called.
we will see how it goes
Archived author: 4bhorrent • Posted: 2023-05-27T19:10:47.658000+00:00
Original source
at least already learnt tons about reversing and which approaches work better or worse.
have spun up a project in my head called "Janus" -> basically a database.
you feed it decompiled source of 2 versions of the same app.
it then iterates over those .C files and stores each function as it's own record in the DB.
each function row has columns for address, number of params, param types, function code, and most importantly scalar values (strings, floats, hex numbers etc) which got used in the code.
then some code iterates over those records and tries to find the best fit(s) between those functions versions, by looking at the scalar values for example.
those things can be tuned to have different weights, and in the end you have a lot of suggestions where a potential match is present.
for example: -0.01944444
this is a very specific value which isn't as common as 0f, 1f, -1f etc... giving it a high weight means that if i find the same scalar in a function from the other version, it is a good indicator that those are the same/related.
another example: "CGWorldFrame::FindClosestModel() returned a bogus value for objDist: %f"
very specific string, made it easy to find the match...
if you wanna make it more complex, you can do fuzzy matching as well
is ofc not perfect, but it is a very good help, most of all when you start from scratch.
and once you create hard links (confirming a match manually) it becomes faster/easier to find remaining links, as it makes the pool of unkowns smaller