Should I call CWvsContext::SetScreenResolution to re-adjust client's resolution?
That function doesn't exist in older versions (since old versions don't have multiple resolutions lol) but yeah that's what the higher version clients use to change resolutions. As Eric said, you'd need to mess with the Gr2D methods and do all the necessary resolution changes (relocating UI, map rendering stuff, etc) while the game is running - in other words, you need to write your own version of CWvsContext::SetScreenResolution compatible with your version (along with all the functions called inside it). Definitely more complicated than the current resolution edits that were released, but I did it for v83 and Eric did it for a couple other versions so it's definitely possible.
IIRC all cash shop stuff was createwnd, createlayer, etc... the same sort of stuff you'd use to edit other parts of the game for res. I don't have it documented since I use 800x600 for cash shop but it definitely wasn't "CWvsPhysicalSpace2D::Load" since that's used for loading normal maps as well (it loads footholds mainly).Thanks! and how can I adjust position of the cashshop preview window?
I think it should be at CWvsPhysicalSpace2D::Load
Why not start with the two most important ones? Unless you have figured out how to backport adjustable resolutions from DX9, you need to initialize the Gr2D interface to your new resolution so that the backbuffer is properly updated.
Code:// CWvsApp::InitializeGr2D 0x009F7B1D + 1 = screenHeight 0x009F7B23 + 1 = screenWidth
I still wish to keep these things private, so I will only note one last thing -- this is missing a memory allocation fix for generating application screenshots. This one I noticed was also missing in MapleMS as well (probably others too), so when you try to generate a screenshot it does nothing.
Code:// CScreenShot::SaveFullScreenToJpg 0x00744DA6 + 1 = 4 * screenWidth * screenHeight
Update the two addresses I posted above to your new screen dimensions and your client will then open in those dimensions. Feel free to also use the additional address to fix a screenshot saving memory allocation problem.
I meke I did everything and changed all addresses except these :
0x008D1790 + 2 = 1u
0x0089B636 + 2 = 1u
0x00592A06 + 1 = 1u
0x0062121E + 1 = 1u
0x0089B636 + 2 = 1u
0x00A5FC2B = 5u
What would "U" be?
My client stayed like this:
You must be registered to see links
You must be registered to see links
the window was the same size. Attributes have moved but window has not increased
Sorry for the bump guys I have the same issue can anyone dumb this down for me? I'm very new to address changing also have no idea how to write a dll, I just simply edited the addresses from ollydbg
However the whole 1u 2u 5u doesn't make sense to me as well so I skipped those addresses, I'm guessing that's why?
What do you mean with the bar under the server message bar?any luck with boss HP bars at all? and maybe a way to lower the bar under the server MSG bar?
What do you mean with the bar under the server message bar?
00533B03 - B8 00050000 - mov eax,00000500 { 1280 } //Boss HP Bar "CWnd",E
00534370 - B9 F9040000 - mov ecx,000004F9 { 1273 } //Boss HP Bar Length
Code-cave a push 16 at address 00533B0E
Additionally, change these:
Code:00533B03 - B8 00050000 - mov eax,00000500 { 1280 } //Boss HP Bar "CWnd",E 00534370 - B9 F9040000 - mov ecx,000004F9 { 1273 } //Boss HP Bar Length
heres more for everyone else lol
008c4ab3 - 0fa - extend sub stat window - numbers
008c510a - 0fa - extend sub stat window
You need to code-cave, otherwise you'll just crash if you spawn a boss with the HP bar at the topFor some reason changing it to push 16 breaks the whole client...lol
I've honestly just named enough functions to the point that searching for the desired 800 and 600 AoB's has become easierAlso, how do you even manage to get these addresses anyways?
Why not start with the two most important ones? Unless you have figured out how to backport adjustable resolutions from DX9, you need to initialize the Gr2D interface to your new resolution so that the backbuffer is properly updated.
Code:// CWvsApp::InitializeGr2D 0x009F7B1D + 1 = screenHeight 0x009F7B23 + 1 = screenWidth
I still wish to keep these things private, so I will only note one last thing -- this is missing a memory allocation fix for generating application screenshots. This one I noticed was also missing in MapleMS as well (probably others too), so when you try to generate a screenshot it does nothing.
Code:// CScreenShot::SaveFullScreenToJpg 0x00744DA6 + 1 = 4 * screenWidth * screenHeight
Update the two addresses I posted above to your new screen dimensions and your client will then open in those dimensions. Feel free to also use the additional address to fix a screenshot saving memory allocation problem.