void wrote:It's
far from perfect, but it's beautiful. Thank you.
This is what I've been dreaming of for a long time.
Some skills seem to work better than others. I've forgotten which exactly, but Ice Lance can proc in huge numbers without lag.
The no-shadow tweak is cool IMO, the only problem I have with it is that it makes Slain Souls in Dunc hard to see.
Indeed that's why it's (experimental) removing the shadows help alot, there can be a maximum of 3000 elements displayed on-screen, i did nearly reverse the entire Function where the "lower_walls" and some tile work, it's still very long, you see i spent 4-5h reversing at the following, and it's seriously much much harder than we were thinking, good thing is that Whist help as well so we are 2 making the thing
Blizzard simply sux, it's obviously lame that these guys never patched this "sprite overflow" they just need to set the array higher than the default to Array[30000] I mean now in 2016 we can display 30K elements or more on screen without lag...
You see just using a few brimstones this display up to more than 3000 elements, here is a little snippet of my IDA 6.8 pseudocode
ArrayIndex = *(_DWORD *)(Memory_LowerWall_ArrayStorage + 60004);
*(_DWORD *)(Memory_LowerWall_ArrayStorage + 60004) = ArrayIndex + 1;
if ( ArrayIndex < 0xBB8 )
{
ReadtGraphics_LowerWall = Memory_LowerWall_ArrayStorage + 20 * ArrayIndex + 4;
So it is a structure (i have no idea what is the real look, i didn't really spent time RE the structure) i spent nearly all my time test/renaming, so what it does here, if the Current Index is lower than 0xBB8 (3000) which is the size of the array, then this render the element which is added in the array, if it's higher than 0xBB8 (3000) then this cannot render anymore and you all get bug.
Note that this isn't a "general" array, there is array for every layers, including shadows (from entity), shadows (tile), Floor layer1, Floor layer2, Lower wall, Normal wall, Higher wall, Roof, and Dead Corpse ! Usually it's the exact same structure while in different function, and to find out what everything does ...