PDA

View Full Version : |Source| Efects wings level + maininfo



Goten
28/04/2020, 06:59 PM
[Only registered and activated users can see links]

[Only registered and activated users can see links]

GETMAIN

CustomEffectRemake.h

#pragma once

#define MAX_REMAKE_EFFECT 20

struct REMAKE_EFFECT
{
int Index;
int ItemIndex;
int RemakeEffect;
};

class cCustomRemake
{
public:
cCustomRemake();
virtual ~cCustomRemake();
void Init();
void Load(char* path);
void SetInfo(REMAKE_EFFECT info);
public:
REMAKE_EFFECT m_CustomRemake[MAX_REMAKE_EFFECT];
}; extern cCustomRemake gCustomRemake;

CustomEffectRemake.cpp

#include "stdafx.h"
#include "CustomEffectRemake.h"
#include "MemScript.h"

cCustomRemake gCustomRemake;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

cCustomRemake::cCustomRemake() // OK
{
this->Init();
}

cCustomRemake::~cCustomRemake() // OK
{

}

void cCustomRemake::Init() // OK
{
for(int n=0;n < MAX_REMAKE_EFFECT;n++)
{
this->m_CustomRemake[n].Index = -1;
}
}

void cCustomRemake::Load(char* path) // OK
{
CMemScript* lpMemScript = new CMemScript;

if(lpMemScript == 0)
{
printf(MEM_SCRIPT_ALLOC_ERROR,path);
return;
}

if(lpMemScript->SetBuffer(path) == 0)
{
printf(lpMemScript->GetLastError());
delete lpMemScript;
return;
}

this->Init();

try
{
while(true)
{
if(lpMemScript->GetToken() == TOKEN_END)
{
break;
}

if(strcmp("end",lpMemScript->GetString()) == 0)
{
break;
}

REMAKE_EFFECT info;

memset(&info,0,sizeof(info));

static int CustomItemIndexCount = 0;

info.Index = CustomItemIndexCount++;

info.ItemIndex = lpMemScript->GetNumber();

info.RemakeEffect = lpMemScript->GetAsNumber();

this->SetInfo(info);
}
}
catch(...)
{
printf(lpMemScript->GetLastError());
}

delete lpMemScript;
}

void cCustomRemake::SetInfo(REMAKE_EFFECT info) // OK
{
if(info.Index < 0 || info.Index >= MAX_REMAKE_EFFECT)
{
return;
}

this->m_CustomRemake[info.Index] = info;
}

GetMainInfo.cpp

struct MAIN_FILE_INFO
{
REMAKE_EFFECT CustomRemake[MAX_REMAKE_EFFECT];
}

gCustomRemake.Load("CustomEffectRemake.txt");
memcpy(info.CustomRemake, gCustomRemake.m_CustomRemake, sizeof(info.CustomRemake));


MAIN.DLL

CustomEffectRemake.h

#pragma once

#define MAX_REMAKE_EFFECT 20

struct REMAKE_EFFECT
{
int Index;
int ItemIndex;
int RemakeEffect;

};

class cCustomRemake
{
public:
cCustomRemake();
virtual ~cCustomRemake();
void Init();
void Load(REMAKE_EFFECT* info);
void SetInfo(REMAKE_EFFECT info);
REMAKE_EFFECT* GetInfo(int index);
REMAKE_EFFECT* GetInfoByItem(int ItemIndex);
bool CheckEffectRemake(int ItemIndex);
public:
REMAKE_EFFECT m_CustomRemake[MAX_REMAKE_EFFECT];
}; extern cCustomRemake gCustomRemake;

CustomEffectRemake.cpp

#include "stdafx.h"
#include "CustomEffectRemake.h"
#include "Defines.h"


cCustomRemake gCustomRemake;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

cCustomRemake::cCustomRemake() // OK
{
this->Init();
}

cCustomRemake::~cCustomRemake() // OK
{

}

void cCustomRemake::Init() // OK
{
for(int n=0;n < MAX_REMAKE_EFFECT;n++)
{
this->m_CustomRemake[n].Index = -1;
}
}

void cCustomRemake::Load(REMAKE_EFFECT* info) // OK
{
for(int n=0;n < MAX_REMAKE_EFFECT;n++)
{
this->SetInfo(info[n]);
}

}

void cCustomRemake::SetInfo(REMAKE_EFFECT info) // OK
{
if(info.Index < 0 || info.Index >= MAX_REMAKE_EFFECT)
{
return;
}

this->m_CustomRemake[info.Index] = info;
}

REMAKE_EFFECT* cCustomRemake::GetInfo(int index) // OK
{
if(index < 0 || index >= MAX_REMAKE_EFFECT)
{
return 0;
}

if(this->m_CustomRemake[index].Index != index)
{
return 0;
}

return &this->m_CustomRemake[index];
}

REMAKE_EFFECT* cCustomRemake::GetInfoByItem(int ItemIndex) // OK
{
for(int n=0;n < MAX_REMAKE_EFFECT;n++)
{
REMAKE_EFFECT* lpInfo = this->GetInfo(n);

if(lpInfo == 0)
{
continue;
}

if(ItemIndex == lpInfo->ItemIndex)
{
return lpInfo;
}
}

return 0;
}

bool cCustomRemake::CheckEffectRemake(int ItemIndex){

for (int i=0;i<20; i++)
{

if (ItemIndex == m_CustomRemake[i].ItemIndex)
{
return true;
}
}
return false;
}

Protect.h

#include "CustomEffectRemake.h"
//dentro de
struct MAIN_FILE_INFO
{
//... al final
REMAKE_EFFECT CustomRemake[MAX_REMAKE_EFFECT];
}


Main.cpp

gCustomRemake.Load(gProtect.m_MainInfo.CustomRemak e);

EFFECTOS
WingBright.h

#pragma once
// ---------------------------------------------------------------------------------------------
#define sub_5468A0 ((int(__thiscall*)(int This, signed int a2, signed int a3, float a4, int a5, float a6, float a7, float a8, int a9)) 0x005468A0)
// ---------------------------------------------------------------------------------------------

class Wings
{
public:
void Load();
static bool IsCustomWings(WORD ItemID, bool Preview);
static bool IsCustomItem(WORD ItemID, bool Preview);
// ----
}; extern Wings gWings;
// ---------------------------------------------------------------------------------------------

WingBright.cpp

#include "stdafx.h"
#include "WingBright.h"
#include "Offset.h"
#include "Util.h"
#include "TMemory.h"
#include "ToolKit.h"
#include "Import.h"
#include "Defines.h"
#include "CustomEffectRemake.h"
// ---------------------------------------------------------------------------------------------
Wings gWings;
// ---------------------------------------------------------------------------------------------
float magicianwing4da_render;
float dknightwing4db_render;
float elfwing4da;
float elfwing4da_render01;
float elfwing4da_render02;
float alicewing4db_render;
float sworblessdRender;
// ----
DWORD dwItemId;
DWORD dwWingThis;
DWORD dwWingStyle;
DWORD dwWingEff;
// ----
DWORD mdTmpEax;
DWORD mdTmpEsi;
DWORD mdTmpEdi;
DWORD mdTmpEcx;
DWORD mdTmpEdx;
DWORD mdTmpEbx;
DWORD mdTmpEbp;
DWORD mdTmpEsp;
// ----
DWORD dwCustomItemGlowJmp00 = 0x005FAA3F;
DWORD dwCustomItemGlowJmp01 = 0x005FAA33;
// ---------------------------------------------------------------------------------------------
float Render(float a1, float a2) //Main S13; Not here
{
float v5;
float v2 = a2 * 0.01745f;
float v6 = (float)((int)(v2 * 1000.0f / a1 + timeGetTime()) % (int)(6283.185546875f / a1))* 0.001f * a1;

if (v6 >= 3.14f)
v5 = cosf(v6);
else
v5 = -cosf(v6);
return (float)((v5 + 1.0f) * 0.5f);
}
// ---------------------------------------------------------------------------------------------


Naked(CustomItemGlow)
{
_asm
{
MOV mdTmpEax,EAX
MOV mdTmpEsi,ESI
MOV mdTmpEdi,EDI
MOV mdTmpEcx,ECX
MOV mdTmpEdx,EDX
MOV mdTmpEbx,EBX
// ----
MOV EAX, DWORD PTR SS:[EBP+0x10]
MOV dwItemId, EAX
// ----
MOV EDX,DWORD PTR SS:[EBP+0x8]
MOV dwWingThis, EDX
// ----
MOV EAX,DWORD PTR SS:[EBP+0xC]
MOV dwWingStyle, EAX
// ----
}
if(gCustomRemake.CheckEffectRemake(dwItemId-1171)){

REMAKE_EFFECT* lpInfo = gCustomRemake.GetInfoByItem(dwItemId-1171);

switch(lpInfo->RemakeEffect){
case 9: //Wing401.bmd
{
glColor3fv((GLfloat*)(dwWingThis+72));
// ----
magicianwing4da_render = Render(-2.0, 0.0) * 0.699999988079071 + 0.2000000029802322;
// ----
sub_5468A0(dwWingThis,
0,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
1,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
1,
2,
*(float *)(dwWingStyle + 152),
1,
magicianwing4da_render,
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
32831);
*(float*)(dwWingThis+72) = 0.70980392156;
*(float*)(dwWingThis+76) = 0.51372549019;
*(float*)(dwWingThis+80) = 0.27058823529;
sub_5468A0(dwWingThis,
0,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);
*(float*)(dwWingThis+72) = 0.70980392156;
*(float*)(dwWingThis+76) = 0.51372549019;
*(float*)(dwWingThis+80) = 0.27058823529;
sub_5468A0(dwWingThis,
0,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);

_asm
{
MOV EAX,mdTmpEax
MOV ESI,mdTmpEsi
MOV EDI,mdTmpEdi
MOV ECX,mdTmpEcx
MOV EDX,mdTmpEdx
MOV EBX,mdTmpEbx
//---
JMP dwCustomItemGlowJmp01
}
}
break;
case 10: //Wing402.bmd
{
glColor3fv((GLfloat*)(dwWingThis+72));
// ----
dknightwing4db_render = Render(-1.75, 0.0);
// ----
sub_5468A0(dwWingThis,
0,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
1,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
2,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
3,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
int Avatar1 = (((int)(( *(float*)0x5EF5A1C) * 0.75f )) % 600 / 40);
double Avatar2 = (double)(Avatar1 % 4) * 0.25;
double Avatar3 = (double)(Avatar1 / 4) * 0.25;
sub_5468A0(dwWingThis,4, 66, *(float *)(dwWingStyle + 152), 4, *(float *)(dwWingStyle + 100), Avatar2, Avatar3, *(DWORD *)(dwWingStyle + 60));
sub_5468A0(dwWingThis,
2,
2,
*(float *)(dwWingStyle + 152),
2,
dknightwing4db_render,
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
32833);
*(float*)(dwWingThis+72) = 0.83137254902;
*(float*)(dwWingThis+76) = 0.78431372549;
*(float*)(dwWingThis+80) = 0.66666666666;
sub_5468A0(dwWingThis,
0,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);
*(float*)(dwWingThis+72) = 0.83137254902;
*(float*)(dwWingThis+76) = 0.78431372549;
*(float*)(dwWingThis+80) = 0.66666666666;
sub_5468A0(dwWingThis,
0,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);

_asm
{
MOV EAX,mdTmpEax
MOV ESI,mdTmpEsi
MOV EDI,mdTmpEdi
MOV ECX,mdTmpEcx
MOV EDX,mdTmpEdx
MOV EBX,mdTmpEbx
//---
JMP dwCustomItemGlowJmp01
}
}
break;
case 11: //Wing403.bmd
{
glColor3fv((GLfloat*)(dwWingThis+72));
// ----
elfwing4da = Render(-4.0, 0.0) * 0.5 + 0.5;
elfwing4da_render01 = Render(-4.0, 120.0);
elfwing4da_render02 = Render(-4.0, 240.0);
// ----
sub_5468A0(dwWingThis,
2,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
1,
66,
*(float *)(dwWingStyle + 152),
1,
elfwing4da,
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
1,
66,
*(float *)(dwWingStyle + 152),
1,
elfwing4da_render01,
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
32834);
sub_5468A0(dwWingThis,
1,
66,
*(float *)(dwWingStyle + 152),
1,
elfwing4da_render02,
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
32835);
sub_5468A0(dwWingThis,
0,
66,
*(float *)(dwWingStyle + 152),
0,
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
3,
66,
*(float *)(dwWingStyle + 152),
3,
elfwing4da,
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
*(float*)(dwWingThis+72) = 1.00;
*(float*)(dwWingThis+76) = 0.65098039215;
*(float*)(dwWingThis+80) = 0.4862745098;
sub_5468A0(dwWingThis,
2,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);
*(float*)(dwWingThis+72) = 1.00;
*(float*)(dwWingThis+76) = 0.65098039215;
*(float*)(dwWingThis+80) = 0.4862745098;
sub_5468A0(dwWingThis,
2,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);

_asm
{
MOV EAX,mdTmpEax
MOV ESI,mdTmpEsi
MOV EDI,mdTmpEdi
MOV ECX,mdTmpEcx
MOV EDX,mdTmpEdx
MOV EBX,mdTmpEbx
//---
JMP dwCustomItemGlowJmp01
}
}

break;
case 12: //Wing404.bmd
{
glColor3fv((GLfloat*)(dwWingThis+72));
// ----
sub_5468A0(dwWingThis,
1,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
2,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
3,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
4,
66,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
int fall1 = (int) *(float*)0x5EF5A1C % 600 / 40;
double fall2 = (double)(fall1 % 4) * 0.25;
double fall3 = (double)(fall1 / 4) * 0.25;
*(float*)(dwWingThis+72) = 0.50;
*(float*)(dwWingThis+76) = 0.50;
*(float*)(dwWingThis+80) = 0.50;
sub_5468A0(dwWingThis,0, 66, 1.0, 0, *(float *)(dwWingStyle + 100), fall2, fall3, *(DWORD *)(dwWingStyle + 60));
*(float*)(dwWingThis+72) = 0.8;
*(float*)(dwWingThis+76) = 0.74509803921;
*(float*)(dwWingThis+80) = 0.59215686274;
sub_5468A0(dwWingThis,
1,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);
sub_5468A0(dwWingThis,
2,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);
sub_5468A0(dwWingThis,
3,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);

_asm
{
MOV EAX,mdTmpEax
MOV ESI,mdTmpEsi
MOV EDI,mdTmpEdi
MOV ECX,mdTmpEcx
MOV EDX,mdTmpEdx
MOV EBX,mdTmpEbx
//---
JMP dwCustomItemGlowJmp01
}
}

break;
case 13: //Wing405.bmd
{
glColor3fv((GLfloat*)(dwWingThis+72));
// ----
sub_5468A0(dwWingThis,
0,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
1,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
2,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
3,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
4,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
5,
66,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
*(float*)(dwWingThis+72) = 1.00;
*(float*)(dwWingThis+76) = 1.00;
*(float*)(dwWingThis+80) = 1.00;
sub_5468A0(dwWingThis,
3,
70,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
*(float*)(dwWingThis+72) = 0.23921568627;
*(float*)(dwWingThis+76) = 0.43921568627;
*(float*)(dwWingThis+80) = 1.00;
sub_5468A0(dwWingThis,
4,
70,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
*(float*)(dwWingThis+72) = 0.23921568627;
*(float*)(dwWingThis+76) = 0.43921568627;
*(float*)(dwWingThis+80) = 1.00;
sub_5468A0(dwWingThis,
4,
70,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);

_asm
{
MOV EAX,mdTmpEax
MOV ESI,mdTmpEsi
MOV EDI,mdTmpEdi
MOV ECX,mdTmpEcx
MOV EDX,mdTmpEdx
MOV EBX,mdTmpEbx
//---
JMP dwCustomItemGlowJmp01
}
}
break;
case 14: //Wing406.bmd
{
glColor3fv((GLfloat*)(dwWingThis+72));
// ----
alicewing4db_render = Render(-4.0, 0.0) * 0.1000000014901161 + 0.3;
// ----
sub_5468A0(dwWingThis,
0,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
1,
66,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
2,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
2,
2,
*(float *)(dwWingStyle + 152),
2,
alicewing4db_render,
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
32836);
*(float*)(dwWingThis+72) = 1.00;
*(float*)(dwWingThis+76) = 0.07843137254;
*(float*)(dwWingThis+80) = 0.07843137254;
sub_5468A0(dwWingThis,
0,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);
*(float*)(dwWingThis+72) = 1.00;
*(float*)(dwWingThis+76) = 0.07843137254;
*(float*)(dwWingThis+80) = 0.07843137254;
sub_5468A0(dwWingThis,
0,
70,
*(float*)(dwWingStyle+152),
*(DWORD*)(dwWingStyle+68),
*(float*)(dwWingStyle+100),
*(float*)(dwWingStyle+104),
*(float*)(dwWingStyle+108),
-1);

_asm
{
MOV EAX,mdTmpEax
MOV ESI,mdTmpEsi
MOV EDI,mdTmpEdi
MOV ECX,mdTmpEcx
MOV EDX,mdTmpEdx
MOV EBX,mdTmpEbx
//---
JMP dwCustomItemGlowJmp01
}
}
break;
case 15: //Wing407.bmd
{
glColor3fv((GLfloat*)(dwWingThis+72));
// ----
sub_5468A0(dwWingThis,
0,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
1,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
2,
2,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
sub_5468A0(dwWingThis,
3,
66,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
*(float*)(dwWingThis+72) = 0.70980392156;
*(float*)(dwWingThis+76) = 0.53725490196;
*(float*)(dwWingThis+80) = 0.54509803921;
sub_5468A0(dwWingThis,
1,
70,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);
*(float*)(dwWingThis+72) = 0.70980392156;
*(float*)(dwWingThis+76) = 0.53725490196;
*(float*)(dwWingThis+80) = 0.54509803921;
sub_5468A0(dwWingThis,
1,
70,
*(float *)(dwWingStyle + 152),
*(DWORD *)(dwWingStyle + 68),
*(float *)(dwWingStyle + 100),
*(float *)(dwWingStyle + 104),
*(float *)(dwWingStyle + 108),
-1);

_asm
{
MOV EAX,mdTmpEax
MOV ESI,mdTmpEsi
MOV EDI,mdTmpEdi
MOV ECX,mdTmpEcx
MOV EDX,mdTmpEdx
MOV EBX,mdTmpEbx
//---
JMP dwCustomItemGlowJmp01
}
}
break;
//---------------------------------------------------------------------------------------------------------------------
}
}

// ----
_asm
{
MOV EAX,mdTmpEax
MOV ESI,mdTmpEsi
MOV EDI,mdTmpEdi
MOV ECX,mdTmpEcx
MOV EDX,mdTmpEdx
MOV EBX,mdTmpEbx
//---
CMP DWORD PTR SS:[EBP+0x10],0x1CB7
JMP dwCustomItemGlowJmp00
}


}

void Wings::Load()
{
SetRange((LPVOID)0x005FAA38 , 7, ASM::NOP);
SetOp((LPVOID)0x005FAA38, (LPVOID)CustomItemGlow, ASM::JMP);
}
// ---------------------------------------------------------------------------------------------

interface.cpp

pLoadImage("Custom\\Effect\\alicewing4db_render.jpg", 32836, GL_LINEAR, GL_REPEAT, 1, 0);
pLoadImage("Custom\\Effect\\elfwing4da_render01.jpg", 32834, GL_LINEAR, GL_REPEAT, 1, 0);
pLoadImage("Custom\\Effect\\elfwing4da_render02.jpg", 32835, GL_LINEAR, GL_REPEAT, 1, 0);
pLoadImage("Custom\\Effect\\magicianwing4da_render.jpg", 32831, GL_LINEAR, GL_REPEAT, 1, 0);
pLoadImage("Custom\\Effect\\dknightwing4db_render.jpg", 32833, GL_LINEAR, GL_REPEAT, 1, 0);

Baixar Wing404 REMAKE (Wings mg Level 4)
[Only registered and activated users can see links]


Estrutura do CustomEffectRemake.txt


// FILES PREMIUN SYSTEM EFECT RENDER [15 MAX]
//================================================== ================================================== ===========
// MasterCodec Season 6 - Mu Online
// Developer: MasterCodec [Takumi12]
// Last review: 02.20.2020
//================================================== ================================================== ===========
// Custom EffectRemake Config File
//================================================== ================================================== ===========
//EffectIndex Nombre ModelPreferente
//0 -> Blessed Divine Staff (absolute02_staff.bmd)
//1 -> Blessed Divine Sword (absolute02_sword.bmd)
//2 -> Blessed Divine CrossBow (absolute_gunbow.bmd)
//3 -> Blessed Divine Scepter (absolute_septer.bmd)
//4 -> Blessed Divine Stick (absolute_stick.bmd)
//5 -> Blessed Divine Claw (Sword42.bmd,Sword42_L.bmd,Sword42_R.bmd) <- no disponible
//6 -> Blessed Divine Lancer (blessedabsolute_lance.bmd) <- no disponible
//7 -> Blessed Divine Mace (Bless_Absolute_Mace.bmd) <- no disponible
//8 -> Blessed Divine ShortSword (BlessedAbsoluteShortSword.bmd) <- no disponible
//9 -> Heavenly Wings (Wing401.bmd)
//10 -> Avatar Wings (Wing402.bmd)
//11 -> Orb Wings (Wing403.bmd)
//12 -> Fall Wings (Wing404.bmd)
//13 -> Control Cloak (Wing405.bmd)
//14 -> The Wings (Wing406.bmd)
//15 -> Referre Cloak (Wing407.bmd)
//================================================== ================================================== ===========
//IndexItem EffectIndex
//---------------------------------------------------------------------------------------------------------------
2609 0
51 1
2078 2
1049 3
2610 4
6559 10
61 5
end

NOTA: Adicionar em main.cpp: gWings.Load();

Créditos:
Kapocha
takumi12