This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Buddiman

Pages: [1]
1
Miscellaneous / [QUESTION] GlueXML / FrameXML Documentation
« on: June 19, 2013, 04:45:41 pm »
Hey guys,

do you know a place where to find the GlueXML and FrameXML functions used in LUA-files for Interface Creation?

wowwikis list is not complete.
Maybe there is already a list of functions and the parameters used out there.

Otherwise I see no other chance than having fun with IDA Pro :/

2
Miscellaneous / [QUESTION] obj0 structure 4.X
« on: February 17, 2011, 09:32:08 pm »
Hey,

I'm atm working on an obj0 Editor for 4.X Files and I have some Problems with the MDDF-Chunk.

As struct use ich atm:
uint32 Signature;
uint32 Size;

Then for every M2-Entry.
Code: [Select]
uint32 mmidEntry;
uint32 uniqueId;
float position[3];
float rotation[3];
uint16 scale;
uint16 flags;

With this information an M2-Block has 36 Bytes, but if you look in a file you can see that this is not enough. If my calculation is right, an M2-Block has to be 340 Bytes long which would mean much more Data. Maybe here someone has the right structure and give it to me or can me give a tip how to find it trough disassembling.

Greetz
Buddi

3
Tutorials / [TUTORIAL] Remove GlueXML-Check from WoW.exe
« on: August 12, 2010, 02:08:59 am »
Hey,

with this tutorial i try to explain to you, how you can remove the GlueXML-check of the WoW executable, which checks wether the Interface-Files are damaged (or Edited :P) or not. After Following this tutorial you should be able to edit your Interface Files without problems and you can realize many new things, such as new races/classes or simply editing the thing you see on the following screen:



Things we need:
A WoW Executable; The Program OllyDBG; This Tutorial.

WARNING!! ALWAYS backup your executable. I'm not responsible for any damage at your WoW-Files!!!!!

Now let us begin... Open the WoW-executable in OllyDBG and press F9. It should look like this:



Let us take a closer look at the picture: This black edged window shows the WoW code in assembler-language (Assembler), to open the blue window we make a Rightclick in the black one and chose > Search For -> All referenced Text Strings. We scroll in the blue window that appeared up to the beginning! Then we make right click > Search for text (select Case sensitive should be active) in the blue window and type "GlueXML" (take care of small initial letters) in! We make in the blue window now as long as we have found "ASCII "GlueXML missing signature"" right click > Search Next, mark it and press Enter! Now we can close the blue window, because from now on we are only interested in the black one! It should look approximately that way:



Therefore for our theory:

(We ignore the addresses in front in the black window, thay are only correct at 3.2.2a) We start WoW with a changed LUA file. Now WoW checks whether a LUA file of WoW is changed or not. This happens in the green edged place ,WoW declares a switch here, if with a file something is not correct, Case 0-2 is called (marked in the picture with 1,2,3) and WoW closes. Only if the file is not changed, he jumps to Case 3 and WoW starts (marked in the picture with 4.) We fortunately see because of the comments when which case of the switch begins. We must find the address of Case 3 now to which the program shall jump. The addresses are in the first column in our window and at Case 3 the adress would be at 3.2.2 a 0047D2AA (also called offset), with you it will differ at another wow version therefore you must look it itself up. If we have the address, Case 3 gets completely unimportant for the next time. Now we have to divert the Case 0-2 so that they do not end wow but jump to Case 3. The jump command for assemblers is JMP, here JMP SHORT which is only a variation of JMP.

Now we look at Case 0: We see Case 0 is executed, it pushes, makes other things and he shall execute a JMP and jump to the error message and then close WoW. Here we must change this JMP so that it jumps to Case 3. So we mark the JMP SHORT instruction and push the space bar to change it. There should be following to see: "JMP SHORT error address", you must now replace the "error adress" with the adress of Case 3 and push Assemble.

Do it the same way with Case 1.

At the End Case 2:

At Case 2 it is so that it we didn't discover any JMP, because there is another function instead of "JMP", it's "CALL". But we didn't want to WoW to reach this "CALL". We prevent this, when we press Space in the first line of Case 2 and change the command that stands there to "JMP SHORT Adress of Case 3" and press Assemble.

Every JMP you have to change is red framed, also the adress with the destination for the JMP's.


These were already all modifications. To save this into your WoW executable you have to do right click > Copy to Executable > All Modifcations, chose Copy All and make right click > Save file and save it...

Now your Game Client should load modificated LUA/XML Files properly without any error.

Additional Info:
I have mentioned if you start WoW with the Removed GlueXML-Check you get an Error in one of Blizzards LUA-Files (VideoOptionsPanels.lua) In the file (interface/GlueXML/VideoOptionsPanels.lua) you have to ccroll to the line which is given you in the error-message. Now change the following:

Code: [Select]
VideoOptionsEffectsPanelQualityLabel:SetFormattedText(VIDEO_QUALITY_S, _G["VIDEO_QUALITY_LABEL" .. quality]);  to
Code: [Select]
VideoOptionsEffectsPanelQualityLabel:SetFormattedText("VIDEO_QUALITY_S", _G["VIDEO_QUALITY_LABEL" .. quality]);  and the error should be removed.

Have fun with this Tutorial!

For suggestions, praise and criticism I'm always open. Also for Questions regarding this tutorial.

Please spread this tutorial only with mention of my name. It mustn't be changed.

Pages: [1]