Hello everyone, I have a question with this code that I get from the source of Exillum:BMDRead.h
BMDRead.cpp:#pragma once//---------------------------------------------------------------------------
#define iLoadModel 0x005E10E0
#define iLoadTexture 0x005E0CA0
// ----
#define iLoadModel_Call 0x005F03EA
#define iLoadTexture_Call 0x005F03EF
// ----
#define iLoadModel_Void 0x005E3250
#define iLoadTexture_Void 0x005E4A20
//---------------------------------------------------------------------------
#define LoadModel ( ( void(*) () ) iLoadModel_Void)
#define LoadTexture ( ( void(*) () ) iLoadTexture_Void)
// ----
typedef void (* pLoadTexture) (int TextureID, char * Folder, int GLREPEAT, int GLNEAREST, int GLTRUE);
extern pLoadTexture Texture;
// ----
typedef void (* pLoadModel) (int ModelID, char * Folder, char * Name, int ModelType);
extern pLoadModel Model;
//---------------------------------------------------------------------------
void cBMDLoad();
void cTextureLoad();
void cModelLoad();
void cModelFloat();
//---------------------------------------------------------------------------
#include "stdafx.h"#include "BMDLoad.h"
#include "TMemory.h"
#include "TDebugLog.h"
//---------------------------------------------------------------------------
char * ModelsFolder = "Data\\Custom\\Models";
char * TexFolder = "Custom\\Models";
//---------------------------------------------------------------------------
pLoadModel Model = (pLoadModel) (iLoadModel);
pLoadTexture Texture = (pLoadTexture) (iLoadTexture);
// ----
DWORD dwModelFloat_Pointer;
float fModelFloat_Float;
DWORD dwModelFloat_Stack;
//---------------------------------------------------------------------------
void cBMDLoad()
{
//TDEBUG("[%s] %s", __FUNCTION__, "Enter");
// ----
SetHook((LPVOID)cTextureLoad, (LPVOID)iLoadTexture_Call, ASM::CALL);
SetHook((LPVOID)cModelLoad, (LPVOID)iLoadModel_Call, ASM::CALL);
// ----
//SetRange((LPVOID)0x0065095A, 12, ASM::NOP);
//SetJmp((LPVOID)0x0065095A, (LPVOID)cModelFloat);
// ----
//TDEBUG("[%s] %s", __FUNCTION__, "Exit");
}
//---------------------------------------------------------------------------
Naked (cModelFloat)
{
_asm
{
mov dwModelFloat_Pointer, esi
}
// ----
if ( dwModelFloat_Pointer == 0x1EB6 )
{
fModelFloat_Float = 0.06000000;
}
else if ( dwModelFloat_Pointer == ITEM2(14, 102) )
{
fModelFloat_Float = 0.06000000;
}
// ----
_asm
{
FADD DWORD PTR DS:[fModelFloat_Float]
MOV DWORD PTR DS:[0x7A2CBE4], 0x43870000
mov dwModelFloat_Stack, 0x0065019C
JMP dwModelFloat_Stack
}
}
//---------------------------------------------------------------------------
void cModelLoad()
{
LoadModel();
// ----
Model(ITEM(12, 25), ModelsFolder, "BlackJewel", -1);
Model(ITEM(12, 26), ModelsFolder, "BlueJewel", -1);
Model(ITEM(12, 27), ModelsFolder, "ExcelentJewel", -1);
Model(ITEM(12, 28), ModelsFolder, "GreenJewel", -1);
}
//---------------------------------------------------------------------------
void cTextureLoad()
{
LoadTexture();
// ----
Texture(ITEM(12, 25), TexFolder, GL_REPEAT, GL_NEAREST, GL_TRUE );
Texture(ITEM(12, 26), TexFolder, GL_REPEAT, GL_NEAREST, GL_TRUE );
Texture(ITEM(12, 27), TexFolder, GL_REPEAT, GL_NEAREST, GL_TRUE );
Texture(ITEM(12, 28), TexFolder, GL_REPEAT, GL_NEAREST, GL_TRUE );
}
//---------------------------------------------------------------------------
My question in the following Why not load the new textures? It is clear that in the client create the folder Data \\Custom\\Models\\ place the models of the items there but still does not show anything in the items (12,25) etc ... I was looking for the offset of The textures and everything else etc etc ... But still nothing that appearsPS: Hook the DLL well to main since I put a 3D and it works perfect, I do not know if it will be that the source code only grabs in more advanced versions, if anyone knows about the subject I would greatly appreciate a help
PD2: It is clear that it is the main 0.99.60T (1.0M) The offset that are in the source code are of that version





