Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "StdAfx.h"
- cToolTip gToolTip;
- static DWORD dwGetItemLevel_Target = (0x00590D12+3);
- void cToolTip::Init()
- {
- for(int i=0;i<MAX_CUSTOM_ITEMS;i++)
- {
- this->m_ToolTip[i].Type=NULL;
- this->m_ToolTip[i].Index=NULL;
- this->m_ToolTip[i].TitleColor=NULL;
- }
- }
- #pragma optimize("t",on)
- void MASM cToolTip::AddColor()
- {
- static DWORD dwColorPointer;
- static DWORD dwColorCall=0x00587AF6;
- static DWORD dwReturnLoad=0x00587A4F;
- // ----
- _asm
- {
- MOV EAX,DWORD PTR DS:[EBP*0x04+0x7B7EFDC]
- MOV dwColorPointer,EAX
- }
- // ----
- if(dwColorPointer >= White && dwColorPointer <= DarkViolet)
- {
- _asm
- {
- JMP dwReturnLoad
- }
- }
- else if(dwColorPointer==Orange)
- {
- _asm
- {
- PUSH 0x00000000 // B
- PUSH 0x3F044674 // G
- PUSH 0x3F800000 // R
- JMP dwColorCall
- }
- }
- else if(dwColorPointer==LightBlue)
- {
- _asm
- {
- PUSH 0x3F70A3D7 // B
- PUSH 0x3F800000 // G
- PUSH 0x3ECCCCCD // R
- JMP dwColorCall
- }
- }
- else if(dwColorPointer==LightPink)
- {
- _asm
- {
- PUSH 0x3F5FBE77 // B
- PUSH 0x3F35460B // G
- PUSH 0x3F7851EC // R
- JMP dwColorCall
- }
- }
- else if(dwColorPointer==Pink)
- {
- _asm
- {
- PUSH 0x3F478034 // B
- PUSH 0x3EF81062 // G
- PUSH 0x3F733333 // R
- JMP dwColorCall
- }
- }
- else if(dwColorPointer==DarkBlue)
- {
- _asm
- {
- PUSH 0x3F451EB8 // B
- PUSH 0x3D6ECBFB // G
- PUSH 0x3D3D3C36 // R
- JMP dwColorCall
- }
- }
- else if(dwColorPointer==Lime)
- {
- _asm
- {
- PUSH 0x3DCCCCCD // B
- PUSH 0x3F800000 // G
- PUSH 0x3F333333 // R
- JMP dwColorCall
- }
- }
- else if(dwColorPointer==Magenta)
- {
- _asm
- {
- PUSH 0x3E9EB852 // B
- PUSH 0x3DCCCCCD // G
- PUSH 0x3F800000 // R
- JMP dwColorCall
- }
- }
- }
- #pragma optimize("t",off)
- static DWORD dwNameItemColorSet;
- static DWORD dwNameColorNext=0x0058B617;
- static DWORD dwNameItemColorStack=0x0058B750;
- static BOOL bNameItemSwitcher;
- int cToolTip::GetItemNameColor(DWORD ItemID,BOOL Preview)
- {
- if(Preview)
- {
- ItemID -= ITEM_OFFSET_IN_ARRAY;
- }
- // ----
- for(int i=0;i<MAX_CUSTOM_ITEMS;i++)
- {
- if(ItemID == GET_ITEM_INDEX(this->m_ToolTip[i].Type,this->m_ToolTip[i].Index))
- {
- if(this->m_ToolTip[i].TitleColor!=NONE)
- {
- return this->m_ToolTip[i].TitleColor;
- }
- }
- }
- // ----
- return NONE;
- }
- int cToolTip::GetItemTextDescs(DWORD ItemID)
- {
- for(int i=0;i<MAX_CUSTOM_ITEMS;i++)
- {
- if(gToolTip.m_Text[i].ItemId >= GET_ITEM_INDEX(12,7)
- && gToolTip.m_Text[i].ItemId < GET_ITEM_INDEX(15,MAX_CUSTOM_ITEMS)
- && gToolTip.m_Text[i].ItemId != GET_ITEM_INDEX(12,36)
- && gToolTip.m_Text[i].ItemId != GET_ITEM_INDEX(12,37)
- && gToolTip.m_Text[i].ItemId != GET_ITEM_INDEX(12,38)
- && gToolTip.m_Text[i].ItemId != GET_ITEM_INDEX(12,39)
- && gToolTip.m_Text[i].ItemId != GET_ITEM_INDEX(12,40)
- && gToolTip.m_Text[i].ItemId != GET_ITEM_INDEX(12,41)
- && gToolTip.m_Text[i].ItemId != GET_ITEM_INDEX(12,42)
- && gToolTip.m_Text[i].ItemId != GET_ITEM_INDEX(12,43)
- && gToolTip.m_Text[i].ItemId != CUSTOM_WINGS_INX(gToolTip.m_Text[i].ItemId))
- {
- return MISCEL_ITEM;
- }
- }
- // ----
- return NULL;
- }
- void cToolTip::SetText(DWORD ItemID,INT iLevel)
- {
- for(int i=0;i<=gToolTip.Count;i++)
- {
- if(gToolTip.m_Text[i].ItemId == ItemID
- && gToolTip.m_Text[i].ItemLvl == iLevel)
- {
- if(gToolTip.m_Text[i].Text[0])
- {
- for(int j=0;j<MAX_TEXT_LINES;j++)
- {
- if(gToolTip.m_Text[i].Line == j)
- {
- gItem.AddText(gToolTip.m_Text[i].Text,gToolTip.m_Text[i].Color,gToolTip.m_Text[i].Weight);
- }
- }
- }
- }
- else if(gToolTip.m_Text[i].ItemId == ItemID
- && gToolTip.m_Text[i].ItemLvl == NONE)
- {
- gToolTip.m_Text[i].ItemLvl = (INT)(dwGetItemLevel_Target);
- // ----
- if(gToolTip.m_Text[i].Text[0])
- {
- for(int j=0;j<MAX_TEXT_LINES;j++)
- {
- if(gToolTip.m_Text[i].Line == j)
- {
- gItem.AddText(gToolTip.m_Text[i].Text,gToolTip.m_Text[i].Color,gToolTip.m_Text[i].Weight);
- }
- }
- }
- }
- }
- }
- void cToolTip::SetDesc(DWORD ItemID,INT iLevel)
- {
- for(int i=0;i<=gToolTip.Count;i++)
- {
- if(gToolTip.GetItemTextDescs(ItemID)==MISCEL_ITEM)
- {
- if(gToolTip.m_Text[i].ItemId == ItemID
- && gToolTip.m_Text[i].ItemLvl == iLevel)
- {
- if(gToolTip.m_Text[i].Text[0])
- {
- for(int j=0;j<MAX_TEXT_LINES;j++)
- {
- if(gToolTip.m_Text[i].Line == j)
- {
- gItem.AddText(gToolTip.m_Text[i].Text,gToolTip.m_Text[i].Color,gToolTip.m_Text[i].Weight);
- }
- }
- }
- }
- else if(gToolTip.m_Text[i].ItemId == ItemID
- && gToolTip.m_Text[i].ItemLvl == NONE)
- {
- gToolTip.m_Text[i].ItemLvl = (INT)(dwGetItemLevel_Target);
- // ----
- if(gToolTip.m_Text[i].Text[0])
- {
- for(int j=0;j<MAX_TEXT_LINES;j++)
- {
- if(gToolTip.m_Text[i].Line == j)
- {
- gItem.AddText(gToolTip.m_Text[i].Text,gToolTip.m_Text[i].Color,gToolTip.m_Text[i].Weight);
- }
- }
- }
- }
- }
- }
- }
- #pragma optimize("t",on)
- void MASM cToolTip::Name()
- {
- static WORD wIsNameItem;
- static DWORD dwNameItemBuff;
- // ----
- bNameItemSwitcher=FALSE;
- dwNameItemColorSet=White;
- // ----
- _asm
- {
- MOV wIsNameItem,AX
- }
- // ----
- if(wIsNameItem == GET_ITEM_INDEX(12,15))
- {
- bNameItemSwitcher=TRUE;
- dwNameItemColorSet=Yellow;
- }
- // ----
- if(bNameItemSwitcher==FALSE)
- {
- dwNameItemColorSet=gToolTip.GetItemNameColor(wIsNameItem,FALSE);
- // ----
- if(dwNameItemColorSet!=NONE)
- {
- bNameItemSwitcher=TRUE;
- }
- }
- // ----
- if(bNameItemSwitcher==TRUE)
- {
- _asm
- {
- JE ColorSet
- JMP dwNameColorNext
- // ----
- ColorSet:
- // ----
- MOV EDI,dwNameItemColorSet
- MOV DWORD PTR SS:[ESP+0x18],EDI
- // ----
- JMP dwNameItemColorStack
- }
- }
- else if(bNameItemSwitcher==FALSE)
- {
- _asm
- {
- JMP dwNameColorNext
- }
- }
- }
- #pragma optimize("t",off)
- int cToolTip::ItemCanHaveOptions(DWORD ItemID)
- {
- for(int i=0;i<MAX_CUSTOM_ITEMS;i++)
- {
- if(ItemID == gToolTip.m_Text[i].ItemId)
- {
- if(ItemID >= GET_ITEM_INDEX(0,0) && ItemID < GET_ITEM_INDEX(6,MAX_CUSTOM_ITEMS))
- {
- return WEAPON_ITEM;
- }
- else if(ItemID >= GET_ITEM_INDEX(7,0) && ItemID < GET_ITEM_INDEX(11,MAX_CUSTOM_ITEMS)
- || ItemID == GET_ITEM_INDEX(13,37)) // -> Fix Fenrir
- {
- return ARMORS_ITEM;
- }
- else if(ItemID >= GET_ITEM_INDEX(12,7) && ItemID < GET_ITEM_INDEX(15,MAX_CUSTOM_ITEMS)
- && ItemID != GET_ITEM_INDEX(12,36) && ItemID != GET_ITEM_INDEX(12,37)
- && ItemID != GET_ITEM_INDEX(12,38) && ItemID != GET_ITEM_INDEX(12,39)
- && ItemID != GET_ITEM_INDEX(12,40) && ItemID != GET_ITEM_INDEX(12,41)
- && ItemID != GET_ITEM_INDEX(12,42) && ItemID != GET_ITEM_INDEX(12,43)
- && ItemID != CUSTOM_WINGS_INX(ItemID) // -> Fix Custom Wings ?
- && ItemID != GET_ITEM_INDEX(13,37)) // -> Fix Fenrir
- {
- return MISCEL_ITEM;
- }
- else if(ItemID >= GET_ITEM_INDEX(12,0) && ItemID <= GET_ITEM_INDEX(12,6)
- && ItemID >= GET_ITEM_INDEX(12,36) && ItemID <= GET_ITEM_INDEX(12,43)
- || ItemID == CUSTOM_WINGS_INX(ItemID)) // -> Fix Custom Wings ?
- {
- return WINGS_ITEM;
- }
- // ----
- return NORMAL_ITEM;
- }
- }
- // ----
- return NORMAL_ITEM;
- }
- #pragma optimize("t",on)
- void MASM cToolTip::Option()
- {
- static WORD wIsOptionItem;
- static DWORD dwBuffer;
- // ----
- _asm
- {
- MOV wIsOptionItem,CX
- MOV dwGetItemLevel_Target,EBP
- }
- // ----
- if(wIsOptionItem >= GET_ITEM_INDEX(0,0) && wIsOptionItem <= GET_ITEM_INDEX(15,511))
- {
- if(wIsOptionItem == GET_ITEM_INDEX(13,36) && dwGetItemLevel_Target >= 0) // -> Static Fix
- {
- gItem.AddText("Fenrir's horn can be made through item combination.",TextListColor::Yellow,TextBold::Normal);
- gItem.AddText("\n",TextListColor::White,TextBold::Normal);
- }
- else if(wIsOptionItem == GET_ITEM_INDEX(13,37) && gItem.bIsRedFenrir == TRUE)
- {
- gItem.AddText("Plasma Storm Skill (Mana:50)",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("\n",TextListColor::White,TextBold::Normal);
- gItem.AddText("Can be used to Summon Fenrir",TextListColor::Yellow,TextBold::Normal);
- }
- else if(wIsOptionItem == GET_ITEM_INDEX(13,37) && gItem.bIsBlackFenrir == TRUE)
- {
- gItem.AddText("Plasma Storm Skill (Mana:50)",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("\n",TextListColor::White,TextBold::Normal);
- gItem.AddText("Increase +10%% of Final Damage",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("Increase Moving Speed",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("Can be used to Summon Fenrir",TextListColor::Yellow,TextBold::Normal);
- }
- else if(wIsOptionItem == GET_ITEM_INDEX(13,37) && gItem.bIsBlueFenrir == TRUE)
- {
- gItem.AddText("Plasma Storm Skill (Mana:50)",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("\n",TextListColor::White,TextBold::Normal);
- gItem.AddText("Absorbs +10%% of Final Damage",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("Increase Moving Speed",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("Can be used to Summon Fenrir",TextListColor::Yellow,TextBold::Normal);
- }
- else if(wIsOptionItem == GET_ITEM_INDEX(13,37) && gItem.bIsGoldenFenrir == TRUE)
- {
- gItem.AddText("Plasma Storm Skill (Mana:50)",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("\n",TextListColor::White,TextBold::Normal);
- gItem.AddText("200 HP Increased",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("200 Mana Increased",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("33 Attack Power Increased",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("16 Wizardry Increased",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("This is specially designed for the Heroes of MU",TextListColor::Green,TextBold::Normal);
- gItem.AddText("who have Success on the Illusion Temple Event",TextListColor::Green,TextBold::Normal);
- gItem.AddText("Can be used to Summon Fenrir",TextListColor::Yellow,TextBold::Normal);
- }
- else if(wIsOptionItem == GET_ITEM_INDEX(13,37) && gItem.bIsOrangeFenrir == TRUE)
- {
- gItem.AddText("Plasma Storm Skill (Mana:50)",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("\n",TextListColor::White,TextBold::Normal);
- gItem.AddText("300 HP Increased",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("300 Mana Increased",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("66 Attack Power Increased",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("32 Wizardry Increased",TextListColor::Blue,TextBold::Normal);
- gItem.AddText("This is a Special Edition maded for VIP's",TextListColor::Orange,TextBold::Normal);
- gItem.AddText("Legendary Fenrir of the Destiny Protector of Cities.",TextListColor::Orange,TextBold::Normal);
- gItem.AddText("Can be used to Summon Fenrir",TextListColor::Yellow,TextBold::Normal);
- }
- else
- {
- if((gToolTip.ItemCanHaveOptions(wIsOptionItem)==WEAPON_ITEM)
- || (gToolTip.ItemCanHaveOptions(wIsOptionItem)==ARMORS_ITEM)
- || (gToolTip.ItemCanHaveOptions(wIsOptionItem)==WINGS_ITEM))
- {
- gToolTip.SetText(wIsOptionItem,dwGetItemLevel_Target);
- }
- }
- // ----
- _asm
- {
- MOV dwBuffer,0x00592250
- JMP dwBuffer
- }
- }
- }
- #pragma optimize("t",off)
- #pragma optimize("t",on)
- void MASM cToolTip::AddDesc()
- {
- static WORD wItemAddDescPointer;
- static DWORD dwItemAddDescBuffer=0x00590D51;
- // ----
- _asm
- {
- MOV wItemAddDescPointer,CX
- MOV dwGetItemLevel_Target,EBP
- }
- // ----
- if(wItemAddDescPointer == GET_ITEM_INDEX(14,21) && dwGetItemLevel_Target == 0)
- {
- gItem.AddText("It is used to exchange with Golden Archer",TextListColor::White,TextBold::Normal);
- }
- else if(wItemAddDescPointer == GET_ITEM_INDEX(14,21) && dwGetItemLevel_Target == 1)
- {
- gItem.AddText("Event stone",TextListColor::White,TextBold::Normal);
- }
- else if(wItemAddDescPointer == GET_ITEM_INDEX(14,21) && dwGetItemLevel_Target == 2)
- {
- gItem.AddText("Event item",TextListColor::White,TextBold::Normal);
- }
- else if(wItemAddDescPointer == GET_ITEM_INDEX(14,21) && dwGetItemLevel_Target >= 3)
- {
- gItem.AddText("Use in siege registration",TextListColor::White,TextBold::Normal);
- }
- else if(wItemAddDescPointer == GET_ITEM_INDEX(14,29) && dwGetItemLevel_Target >=0)
- {
- gItem.AddText("Merged according to the Count:",TextListColor::Yellow,TextBold::Normal);
- }
- else
- {
- if((gToolTip.ItemCanHaveOptions(wItemAddDescPointer)==MISCEL_ITEM)
- || (gToolTip.ItemCanHaveOptions(wItemAddDescPointer)==EVENTS_ITEM))
- {
- gToolTip.SetDesc(wItemAddDescPointer,dwGetItemLevel_Target);
- }
- }
- // ----
- _asm
- {
- JMP dwItemAddDescBuffer
- }
- }
- #pragma optimize("t",off)
- int cToolTip::GetItemNameColorFloor(DWORD ItemID)
- {
- for(int i=0;i<MAX_CUSTOM_ITEMS;i++)
- {
- if(ItemID == GET_OBJECT_INDEX(this->m_ToolTip[i].Type,this->m_ToolTip[i].Index))
- {
- if(this->m_ToolTip[i].TitleFloorColor!=NONE)
- {
- return this->m_ToolTip[i].TitleFloorColor;
- }
- }
- }
- // ----
- return NONE;
- }
- void cToolTip::ItemNameColorDrop(INT ColorID)
- {
- if(ColorID == eFloorWhite)
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x00);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x00);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x00);
- }
- if(ColorID == eFloorBlue) // -> Blue Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x00);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x33);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x33);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x33);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x00);
- }
- if(ColorID == eFloorRed) // -> Red Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x00);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x4C);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0xCD);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0xCD);
- }
- if(ColorID == eFloorYellow) // -> Yellow Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x00);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x4C);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0xCD);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0xCD);
- }
- if(ColorID == eFloorGreen) // -> Green Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0xCD);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x00);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x00);
- }
- if(ColorID == eFloorPurple) // -> Purple Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x00);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0xCD);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x00);
- }
- if(ColorID == eFloorGray) // -> Gray Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0xCD);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0xCD);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0xCD);
- }
- if(ColorID == eFloorGray) // -> Gray Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0xCD);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0xCD);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0xCD);
- }
- if(ColorID == eFloorViolet) // -> Violet Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x4C);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0xCD);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x00);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x4C);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0xCD);
- }
- if(ColorID == eFloorDarkViolet) // -> Dark Violet Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x33);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x33);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x33);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0xCD);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x00);
- }
- if(ColorID == eFloorOrange) // -> Orange Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x00);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x04);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x46);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x74);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x00);
- }
- if(ColorID == eFloorLightBlue) // -> Light Blue Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0xCD);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x00);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x70);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xA3);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0xD7);
- }
- if(ColorID == eFloorLightPink) // -> Light Pink Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x58);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x71);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0xEC);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x35);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x46);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x0B);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x5F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xBE);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x77);
- }
- if(ColorID == eFloorPink) // -> Pink Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x73);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x33);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x33);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0xF8);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x10);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x62);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x47);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x34);
- }
- if(ColorID == eFloorDarkBlue) // -> Dark Blue Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x3C);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x36);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x6E);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0xCB);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0xFB);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x45);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x1E);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0xB8);
- }
- if(ColorID == eFloorLime) // -> Lime Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x33);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x33);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x33);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x00);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0xCD);
- }
- if(ColorID == eFloorMagenta) // -> Magenta Item Name
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x00);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3D);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0xCC);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0xCD);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3E);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x9E);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0xB8);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x52);
- }
- // ----
- if(ColorID == eFloorWhiteRed||ColorID == eFloorWhiteBlue
- ||ColorID == eFloorWhiteBeige||ColorID == eFloorGreenBlue
- ||ColorID == eFloorLastColor)
- {
- // Red
- gToolKit.SetByte((PVOID)(oItemNameColorR+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorR+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorR+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorR+1),0x00);
- // Green
- gToolKit.SetByte((PVOID)(oItemNameColorG+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorG+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorG+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorG+1),0x00);
- // Blue
- gToolKit.SetByte((PVOID)(oItemNameColorB+4),0x3F);
- gToolKit.SetByte((PVOID)(oItemNameColorB+3),0x80);
- gToolKit.SetByte((PVOID)(oItemNameColorB+2),0x00);
- gToolKit.SetByte((PVOID)(oItemNameColorB+1),0x00);
- }
- }
- INT iNameFloorSelected;
- BOOL bNameFloorSwitcher;
- #pragma optimize("t",on)
- void MASM cToolTip::NameFloor()
- {
- static DWORD dwItemNameFloorPointer;
- static DWORD dwItemNameFloorBuffer;
- // ----
- iNameFloorSelected=NONE;
- bNameFloorSwitcher=FALSE;
- // ----
- _asm
- {
- MOV dwItemNameFloorPointer,EAX
- }
- // ----
- if(dwItemNameFloorPointer == ObjectDivineArchangelSword)
- {
- iNameFloorSelected=eFloorPurple;
- bNameFloorSwitcher=TRUE;
- }
- else if(gToolTip.GetItemNameColorFloor(dwItemNameFloorPointer))
- {
- iNameFloorSelected=gToolTip.GetItemNameColorFloor(dwItemNameFloorPointer);
- bNameFloorSwitcher=TRUE;
- }
- // ----
- if(iNameFloorSelected == NONE)
- {
- bNameFloorSwitcher=FALSE;
- }
- // ----
- if(bNameFloorSwitcher==TRUE)
- {
- gToolTip.ItemNameColorDrop(iNameFloorSelected);
- // ----
- _asm
- {
- MOV dwItemNameFloorBuffer,oItemDivineNameOnFloor_Allowed
- JMP dwItemNameFloorBuffer
- }
- }
- else
- {
- _asm
- {
- MOV dwItemNameFloorBuffer,oItemDivineNameOnFloor_Return
- JMP dwItemNameFloorBuffer
- }
- }
- }
- #pragma optimize("t",off)
- void cToolTip::InitOption()
- {
- gToolKit.SetRange((LPVOID)0x00590D0B,70,ASM::NOP);
- gToolKit.SetJmp((LPVOID)0x00590D0B,this->AddDesc);
- // ----
- gToolKit.SetRange((LPVOID)0x00592249,7,ASM::NOP);
- gToolKit.SetJmp((LPVOID)0x00592249,this->Option);
- // ----
- gToolKit.SetRange((LPVOID)0x0058B60D,10,ASM::NOP);
- gToolKit.SetJmp((LPVOID)0x0058B60D,this->Name);
- // ----
- gToolKit.SetRange((LPVOID)0x00587A45,10,ASM::NOP);
- gToolKit.SetJmp((LPVOID)0x00587A45,this->AddColor);
- // ----
- gToolKit.SetRange((LPVOID)oItemDivineNameOnFloor_Hook,11,ASM::NOP);
- gToolKit.SetJmp((LPVOID)oItemDivineNameOnFloor_Hook,this->NameFloor);
- }
- void cToolTip::Load()
- {
- if(gEncode.Load(XVT_TOOLTIP_FILE))
- {
- WZSMDToken Token = gEncode.GetToken();
- // ----
- if((Token==END)||(gEncode.GetInt()!=NULL))
- {
- MessageBox(NULL,XVT_MSG_ITEM_TOOLTIP_BAD,MSG_HEAD_ERROR,MB_OK);
- ExitProcess(NULL);
- }
- // ----
- this->Init();
- // ----
- for(int i=0;i<MAX_CUSTOM_ITEMS;i++)
- {
- Token = gEncode.GetToken();
- // ----
- if(Token==END||lstrcmpi(gEncode.GetString(),"end")==NULL)
- {
- break;
- }
- // ----
- this->m_ToolTip[i].Type = gEncode.GetInt();
- // ----
- Token = gEncode.GetToken();
- this->m_ToolTip[i].Index = gEncode.GetInt();
- // ----
- Token = gEncode.GetToken();
- this->m_ToolTip[i].TitleColor = gEncode.GetInt();
- // ----
- Token = gEncode.GetToken();
- this->m_ToolTip[i].TitleFloorColor = gEncode.GetInt();
- }
- // ----
- Token = gEncode.GetToken();
- // ----
- if((Token==END)||(gEncode.GetInt()!=1))
- {
- MessageBox(NULL,XVT_MSG_ITEM_TOOLTIP_BAD2,MSG_HEAD_ERROR,MB_OK);
- ExitProcess(NULL);
- }
- // ----
- this->Count = NULL;
- memset(this->m_Text,0,sizeof(this->m_Text));
- // ----
- int Type = NULL;
- int Index = NULL;
- // ----
- while(TRUE)
- {
- Token = gEncode.GetToken();
- // ----
- if((Token == END)) break;
- // ----
- Type = gEncode.GetInt();
- // ----
- Token = gEncode.GetToken();
- Index = gEncode.GetInt();
- // ----
- this->m_Text[this->Count].ItemId = GET_ITEM_INDEX(Type,Index);
- // ----
- Token = gEncode.GetToken();
- this->m_Text[this->Count].ItemLvl = gEncode.GetInt();
- // ----
- Token = gEncode.GetToken();
- this->m_Text[this->Count].Line = gEncode.GetInt();
- // ----
- Token = gEncode.GetToken();
- memcpy(this->m_Text[this->Count].Text,gEncode.GetString(),sizeof(this->m_Text[this->Count].Text));
- // ----
- Token = gEncode.GetToken();
- this->m_Text[this->Count].Weight = gEncode.GetInt();
- // ----
- Token = gEncode.GetToken();
- this->m_Text[this->Count].Color = gEncode.GetInt();
- // ----
- this->Count++;
- }
- // ----
- gEncode.Close();
- // ----
- if(this->Count>NULL)
- {
- this->InitOption();
- }
- }
- else
- {
- MessageBox(NULL,XVT_MSG_ITEM_TOOLTIP_NOT_FOUND,MSG_HEAD_ERROR,MB_OK);
- ExitProcess(NULL);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement