Author Topic: 2018/03/16 - Blockland r1988  (Read 86769 times)

blockland 1988 edition
WOO

good thing nearly all of my keys are amazon ones

i was wondering what that steam update was


will we be getting support for BOFA

This was fun, see y'all in another two years.


fUUUUCk I was hyped for new content :,(

another step closer to r2018

DLLs will still work so long as the authors used basic update-proofing measures like sigscanning. The only thing that can break them is changing the functions they use so the scan fails, or modifying hooked functions such that the arguments are different or new control flow breaks them, which is unlikely with these changes.

DLL loaders will break if they use something like modifying the imports table to load a bootstrap DLL. This is easily fixable with a tool that can change the PE header, though.

It might be time to reevaluate where DLL modifications are going before the existing problems keep multiplying. Many are made naively and should follow some rules, i.e proper function hooking to maintain compatibility, linking against Blockland's runtime instead of having a billion different ones because authors use whatever visual studio they have (also breaking wine support), more control over when loading and unloading happens, etc.

man, just as i thought i understood the bl_id system, it's gone and changed again

genuinely amazed to see the game still getting attention, though. it's nearly been ten years since i first played, and it's still amazing to see how long ago that was.

i'm very amazed.

Logged in just to see the patch notes when I saw Blockland update on Steam

The random steam update surprised me. I thought it was a random tf2 patch or something.

man, just as i thought i understood the bl_id system, it's gone and changed again

genuinely amazed to see the game still getting attention, though. it's nearly been ten years since i first played, and it's still amazing to see how long ago that was.

i'm very amazed.
this'll probably just change what valid characters are allowed in the key ID, before the second character could only be A-C (maxing out at 131k, which was reserved for steam users iirc), and now it'll probably allow a much wider range of second characters. I'm willing to bet it was a single line of code changed. (Still glad it's getting a nice QoL improvement every now and again)
« Last Edit: March 17, 2018, 02:25:48 AM by Ipquarx »

DLLs will still work so long as the authors used basic update-proofing measures like sigscanning. The only thing that can break them is changing the functions they use so the scan fails, or modifying hooked functions such that the arguments are different or new control flow breaks them, which is unlikely with these changes.

DLL loaders will break if they use something like modifying the imports table to load a bootstrap DLL. This is easily fixable with a tool that can change the PE header, though.

It might be time to reevaluate where DLL modifications are going before the existing problems keep multiplying. Many are made naively and should follow some rules, i.e proper function hooking to maintain compatibility, linking against Blockland's runtime instead of having a billion different ones because authors use whatever visual studio they have (also breaking wine support), more control over when loading and unloading happens, etc.
well of course changing the function will modify the signature you silly goose..
also there is about no way in hell that i'm going to link against the runtime libraries that are as old as i am. the mixing and matching isnt good but i'm not on board with linking against libraries that are from the literal stone age (i'm fairly certain c++1x features aren't going to work)

the rest of your concerns are going to be addressed soon, though.. keep your eyes peeled :o

i made alot of odd design choices that were based around the blockland executable never being recompiled or having any changes done to that. it'll take maybe 5-10 minutes to fix, and another 10-20 to find the signature for Con::tabComplete (self-explanatory.. tab complete support :P)
blocklandjs update soon (tm)

other then that no the majority of dlls should be fine because the major dll base that's been going around has the majority of functions being found through sigscanning-- sooo