Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Modify UI?

Junior Spellweaver
Joined
Feb 18, 2011
Messages
108
Reaction score
41
Hi,

I need to create some new buttons in the UI of the game and I first thought of implementing a directx hook, but it could be done easier using the native game UI system.

My question is simple: has the community already cracked (and published it) how the native UI system of the game works? I mean, which files are responsible for doing what and its structures.

If yes, send me a link of a topic explaining the basics please, I couldn't find any using the forum's search engine.

Thanks in advance.
 
Junior Spellweaver
Joined
Feb 18, 2011
Messages
108
Reaction score
41
All interface work like the custom interface check if mouse position is over the interface. The most hard to modify is the inventory all other is easy.

Do you know which files stores the UI informations like texture names, X/Y positions, etc?
 
Junior Spellweaver
Joined
Sep 3, 2008
Messages
146
Reaction score
75
Theres no file, at less on < season 6 versiones.

All X/Y/Z Positions were hardcoded inside main.exe. Im totally agreed with pinkof about Interface position; webzen coded interface like layers. When User make some move on screen, there are some thread that are checking interface stares to print alpha or simple images every f*uking seconds.

About Texture names and textures ID(at less based on webzen system) check Data\Interface on Mu Client Folder & Search those names on ollydbg to get ID and see some of calls to get positions. A lot of work, but simple to do.

To much work for and old game...
 
Newbie Spellweaver
Joined
Mar 9, 2010
Messages
46
Reaction score
73
Guys, use IDA. Ollydbg and pure ASM is overkill when trying to understand the overall picture. Like Pinkof said the Inventory and the items are hard, it's easy to draw panels, buttons and so on, but the items are harder. Trying to decompile the item drawing in S3EP1 at the moment.
 
Junior Spellweaver
Joined
Feb 18, 2011
Messages
108
Reaction score
41
Theres no file, at less on < season 6 versiones.

All X/Y/Z Positions were hardcoded inside main.exe. Im totally agreed with pinkof about Interface position; webzen coded interface like layers. When User make some move on screen, there are some thread that are checking interface stares to print alpha or simple images every f*uking seconds.

About Texture names and textures ID(at less based on webzen system) check Data\Interface on Mu Client Folder & Search those names on ollydbg to get ID and see some of calls to get positions. A lot of work, but simple to do.

To much work for and old game...

I see, will check that out. Thanks.



Guys, use IDA. Ollydbg and pure ASM is overkill when trying to understand the overall picture. Like Pinkof said the Inventory and the items are hard, it's easy to draw panels, buttons and so on, but the items are harder. Trying to decompile the item drawing in S3EP1 at the moment.

Firstly IDA is a very expensive software (if you are going to use a cracked IDA good luck with worms and bugs). Secondly a lot of reversers do not (like me) do not like to use the IDA as a debugger. A nice general-purpose dbg for IA-32 and IA-64 is the x64dbg.

I agree with you if you say people still using ollydbg are in a bad spot, but what you said about "pure ASM" and IDA doesn't make much sense.
 
Newbie Spellweaver
Joined
Mar 9, 2010
Messages
46
Reaction score
73
Actually I found cracked IDA 7.0 + Hex Rays without worms and never had issues. Saw it to crash only once with S12 GS .pdb as it's huge and the problem probably was my disk space. Pumped it up with some cool plugins and it's easy to recover structs and simpler classes. With that setup took me just 1-2 days to reverse the inventories and item drawing functionalities. I don't need to bump my head with so much ASM, IDA saves 50% of the research time, with some plugins maybe 60-70%. Once you recover most of the important structures it's in times easier to understand the whole picture and also to learn how WZ did some stuff. Now working on new in-game market interface, also already fixed regular stuff like the hp,mana,sd,bp bars, the damage, the zen limits of inventory & wh, added monster HP bars, items glow, custom jewels & wings and also resolution support up to 4K. All this for around 1 month. Still need to figure out something for the game interfaces low image quality. On 4K these images are too stretched and ugly, not a problem to fix the aspect ratio but their quality is too low. Doing this from scratch without IDA would take much more time. Also in that 1mo dev time I downgraded MUEMU from S4 to S3EP1 as there is no leaked S3EP1 server from WebZen and I don't like the projects like Exillium and Krono based on the old S2 emulator from DeathWay. Pushing all G->C packets into IDA and fixing the types helped a lot in recovering the character and viewport structs variable names. Once you replace the globally defined types, name properly the drawing related functions you have them everywhere and it's so easy to read the pseudo code. So once you invest a week into recovering structures, drawing logic and packets you can easily debug with IDA over the pseudo code so close to the Visual Studio C++ debugger. Yes it's still just a interpretation and you cannot escape from using ASM but it's easy as hell to add whatever you want in the game.
 
Back
Top