i pm inbox for you, you can send for me
Printable View
just wait bro im bz in my work and take note my .cpp/.h for char window are not fully fix
bug of my .cpp/.h u need to fix
-skill cant drag to skill tray
-dual weapon not switch/swap when pressing tab (but u can switch/swap using button switch/swap in char window A and B button)
-dual weapon slot position is not in correct area/slot (but u can fix in gui also need some modification in sc)
And more i didnt explore yet :D
Hi, after compile neo source they are file in _bin i copy file and paste ran world client
it's error Connection of Sserver Please wait....
I add code tap vehicle and pet it's not show up
Attachment 143401
CharacterWindow.cpp
Code:#include "StdAfx.h"
#include "./CharacterWindow.h"
#include "DxGlobalStage.h"
#include "./GLCharClient.h"
#include "./GLFactEffect.h"
#include "./GLGaeaClient.h"
#include "./GLItemMan.h"
#include "./GLStrikeM.h"
#include "../EngineUILib/GUInterface/BasicTextBox.h"
#include "../EngineUILib/GUInterface/BasicProgressBar.h"
#include "../EngineUILib/GUInterface/BasicButton.h"
#include "../EngineLib/DxCommon/d3dfont.h"
#include "GLCharacter.h"
#include "GLChar.h"
#include "GLCharData.h"
#include "DxGameStage.h"
#include "../RanClientUILib/Interface/InnerInterface.h"
#include "../../EngineLib/DxCommon/DxShadowMap.h"
#include "../../EngineLib/DxEffect/Char/DxEffCharData.h"
#include "../../EngineLib/DxEffect/Single/DxEffGroupPlayer.h"
#include "../RanClientUILib/Interface/ItemShopIconMan.h"
#include "../Interface/BasicTextButton.h"
#include "../Interface/UITextControl.h"
#include "../Interface/GameTextControl.h"
#include "../RanClientLib/G-Logic/GLGaeaClient.h"
#include "BasicComboBox.h"
#include "BasicComboBoxRollOver.h"
#include "DxEffectMan.h"
#include "DxEnvironment.h"
#include "DxSurfaceTex.h"
#include "DxGlowMan.h"
#include "DxPostProcess.h"
#include "DxCubeMap.h"
#include "DxSkyMan.h"
#include "DxEffGroupPlayer.h"
#include "../EngineLib/DxCommon/DxViewPort.h"
#include "../EngineLib/DxCommon/DxFontMan.h"
#include "../EngineLib/DxCommon/DxInputDevice.h"
#include "../EngineLib/DxCommon/DxLightMan.h"
#include "DxSkinChar.h"
#include "DxClubMan.h"
#include "BasicLineBox.h"
#include "BasicTextBoxEx.h"
#include "InventoryPageWear.h"
#include "InventoryPageWearEx.h"
#include "VehicleWindow.h"
#include "PetWindow.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
CCharacterWindow::CCharacterWindow () :
m_pNameText ( NULL ),
m_pLevelText ( NULL ),
m_pButtonOk ( NULL ),
m_pButtonCancel ( NULL ),
m_pAButton ( NULL ),
m_pALHandSlot ( NULL ),
m_pARHandSlot ( NULL ),
m_pBButton ( NULL ),
m_pBLHandSlot ( NULL ),
m_pBRHandSlot ( NULL ),
m_pPageWear( NULL ),
m_pPageWearEx( NULL ),
m_pPetWindow( NULL ),
m_pPointText ( NULL ),
//Left
m_pPowText ( NULL ),
m_pDexText ( NULL ),
m_pSpiText ( NULL ),
//m_pIntText ( NULL ),
m_pStrText ( NULL ),
m_pStaText ( NULL ),
//Right
m_pPowTextUp ( NULL ),
m_pDexTextUp ( NULL ),
m_pSpiTextUp ( NULL ),
m_pIntTextUp ( NULL ),
m_pStrTextUp ( NULL ),
m_pStaTextUp ( NULL ),
m_pClubText ( NULL ), //by J.A Dev for guild name
m_pBadgeText ( NULL ),
m_pSchoolText ( NULL ),
m_pCopyRightText ( NULL ),
m_pPKStateText ( NULL ),
m_pNewPow ( 0 ),
m_pNewDex ( 0 ),
m_pNewSpi ( 0 ),
m_pNewStr ( 0 ),
m_pNewSta ( 0 ),
m_pNewPoint ( 0 ),
nIndex ( 0 ),
//Left
m_pDamageHighText ( NULL ), //ความแรงสูงสุด
m_pDamageLowText ( NULL ), //ความแรงต่ำสุด
m_pDefenseText ( NULL ), //ป้องกัน
m_pReqPaText ( NULL ), //ถนัด
m_pReqSaText ( NULL ), //เล็ง
m_pReqMaText ( NULL ), //พลังงาน
m_pHitRateText ( NULL ), //โจมตี
m_pAvoidRateText ( NULL ), //หลบหลีก
m_pHPText ( NULL ), //HP
m_pMPText ( NULL ), //MP
m_pSPText ( NULL ), //SP
//Right
m_pDamageHighTextUp ( NULL ), //ความแรงสูงสุด
m_pDamageLowTextUp ( NULL ), //ความแรงต่ำสุด
m_pDefenseTextUp ( NULL ), //ป้องกัน
m_pReqPaTextUp ( NULL ), //ถนัด
m_pReqSaTextUp ( NULL ), //เล็ง
m_pReqMaTextUp ( NULL ), //พลังงาน
m_pHitRateTextUp ( NULL ), //โจมตี
m_pAvoidRateTextUp ( NULL ), //หลบหลีก
m_pHPTextUp ( NULL ), //HP
m_pMPTextUp ( NULL ), //MP
m_pSPTextUp ( NULL ), //SP
m_pFireText ( NULL ), //ไฟ
m_pColdText ( NULL ), //น้ำแข็ง
m_pElectricText ( NULL ), //ไฟฟ้า
m_pPoisonText ( NULL ), //พิษ
m_pSpiritText ( NULL ), //เวทย์
m_pGradeText ( NULL ), //ชื่อเสียง
m_pGradeValue ( NULL ), //ชื่อเสียง
m_pBrightSlider ( NULL ), //ความดี
m_pActivityPointText ( NULL ), //ผลงาน
m_pActivityPointValue ( NULL ), //ผลงาน
m_pAcademy_Department ( NULL ), //สถาบัน //สายอาชชีพ
m_pd3dDevice ( NULL ),
m_pMobileText( NULL ),
m_pSkinChar(NULL),
m_vMax(6,20,6),
m_vMin(-6,0,-6),
m_fHeight(20.f)
{
memset ( m_pPageButton, 0, sizeof ( m_pPageButton ) );
memset ( m_pPageButton, 0, sizeof ( CBasicTextButton* ) * nMAXPAGENEW );
memset ( m_pButtonPlus, 0, sizeof ( m_pButtonPlus ) );
memset ( m_pButtonMinus, 0, sizeof ( m_pButtonMinus ) );
D3DXMatrixIdentity( &m_matTrans );
}
CCharacterWindow::~CCharacterWindow ()
{
}
CBasicTextBox* CCharacterWindow::CreateStaticControl ( char* szControlKeyword, CD3DFontPar* pFont, int nAlign, const UIGUID& cID )
{
CBasicTextBox* pStaticText = new CBasicTextBox;
pStaticText->CreateSub ( this, szControlKeyword, UI_FLAG_DEFAULT, cID );
pStaticText->SetFont ( pFont );
pStaticText->SetTextAlign ( nAlign );
RegisterControl ( pStaticText );
return pStaticText;
}
CBasicTextButton* CCharacterWindow::CreateTextButton23 ( const char* szButton, UIGUID ControlID, const char* szText )
{
const int nBUTTONSIZE = CBasicTextButton::SIZE23;
CBasicTextButton* pTextButton = new CBasicTextButton;
pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON23", UI_FLAG_XSIZE, ControlID );
pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::RADIO_FLIP, szText ,_DEFAULT_FONT_SHADOW_FLAG );
RegisterControl ( pTextButton );
return pTextButton;
}
CBasicTextButton* CCharacterWindow::CreateTextButton24 ( const char* szButton, UIGUID ControlID, const char* szText )
{
const int nBUTTONSIZE = CBasicTextButton::SIZE24;
CBasicTextButton* pTextButton = new CBasicTextButton;
pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON24", UI_FLAG_XSIZE, ControlID );
pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::CLICK_FLIP, szText , _DEFAULT_FONT_SHADOW_FLAG );
RegisterControl ( pTextButton );
return pTextButton;
}
CBasicTextButton* CCharacterWindow::CreateTextButton25 ( const char* szButton, UIGUID ControlID, const char* szText )
{
const int nBUTTONSIZE = CBasicTextButton::SIZE25;
CBasicTextButton* pTextButton = new CBasicTextButton;
pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON25", UI_FLAG_XSIZE, ControlID );
pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::CLICK_FLIP, szText , _DEFAULT_FONT_SHADOW_FLAG );
RegisterControl ( pTextButton );
return pTextButton;
}
void CCharacterWindow::CreateSubControl ()
{
CD3DFontPar* pFont6Shadow = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 7, _DEFAULT_FONT_SHADOW_FLAG );
CD3DFontPar* pFont8Shadow = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 8, _DEFAULT_FONT_SHADOW_FLAG );
CD3DFontPar* pFont = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 9, _DEFAULT_FONT_SHADOW_FLAG );
CD3DFontPar* pFont10 = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 10, _DEFAULT_FONT_SHADOW_FLAG );
const EMCHARCLASS emCharClass = DxGlobalStage::GetInstance().GetGameStage()->GetCharJoinData().m_CharData2.m_emClass;
const int nClassType = CharClassToIndex ( emCharClass );
const int nAlignLeft = TEXT_ALIGN_LEFT;
const int nAlignCenter = TEXT_ALIGN_CENTER_X;
const DWORD& dwSilver = NS_UITEXTCOLOR::SILVER;
const DWORD& dwWhite = NS_UITEXTCOLOR::WHITE;
const DWORD& dwSubTitle = NS_UITEXTCOLOR::PALEGOLDENROD;
//พื้นหลังสีขาว
{
m_bg_white = new CUIControl;
m_bg_white->CreateSub ( this, "RNCHARACTER_WINDOW_REGION", UI_FLAG_DEFAULT);
m_bg_white->SetVisibleSingle ( TRUE );
RegisterControl ( m_bg_white );
}
CString strPageKeyword[nMAXPAGENEW] =
{
"RNCHARACTER_WINDOW_CHAR_TAP",
"RNCHARACTER_WINDOW_VEHICLE_TAP",
"RNCHARACTER_WINDOW_PET_TAP",
};
CBasicComboBox* pComboBox = NULL;
CBasicComboBoxRollOver* pComboBoxRollOver = NULL;
pComboBox = new CBasicComboBox;
pComboBox->CreateSub ( this, "BASIC_COMBOBOX", UI_FLAG_XSIZE, NICKNAME_COMBO_OPEN );
pComboBox->CreateBaseComboBox ( "NICKNAME_COMBO_OPEN" );
RegisterControl ( pComboBox );
m_pComboBoxNickNameOpen = pComboBox;
pComboBoxRollOver = new CBasicComboBoxRollOver;
pComboBoxRollOver->CreateSub ( this, "BASIC_COMBOBOX_ROLLOVER", UI_FLAG_XSIZE | UI_FLAG_YSIZE, NICKNAME_COMBO_ROLLOVER );
pComboBoxRollOver->CreateBaseComboBoxRollOver ( "NICKNAME_COMBO_ROLLOVER" );
pComboBoxRollOver->SetVisibleSingle ( FALSE );
RegisterControl ( pComboBoxRollOver );
m_pComboBoxNickNameRollOver = pComboBoxRollOver;
for ( int i = 0; i < nMAXPAGENEW; i++ )
{
m_pPageButton[i] = CreateTextButton23 ( strPageKeyword[i].GetString (), RNCHARACTER_WINDOW_CHAR_TAP + i, (char*)ID2GAMEWORD ( "RNCHARACTER_WINDOW_CHAR_TAP", i ) );
}
{
// พื้นหลัง ตัวละคร
m_pBackLine1 = new CBasicLineBox;
m_pBackLine1->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pBackLine1->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_EQUIP_REGION" );
RegisterControl ( m_pBackLine1 );
//พื้นหลัง ข้อมูลส่วนล่าง
m_pBackLine2 = new CBasicLineBox;
m_pBackLine2->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pBackLine2->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_SCHOOL_REGION" );
RegisterControl ( m_pBackLine2 );
}
{
m_pStatusLine1 = new CBasicLineBox;
m_pStatusLine1->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine1->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT1_REGION" );
RegisterControl ( m_pStatusLine1 );
m_pStatusLine2 = new CBasicLineBox;
m_pStatusLine2->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine2->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT2_REGION" );
RegisterControl ( m_pStatusLine2 );
m_pStatusLine3 = new CBasicLineBox;
m_pStatusLine3->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine3->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT3_REGION" );
RegisterControl ( m_pStatusLine3 );
}
{
m_pStatusLine4 = new CBasicLineBox;
m_pStatusLine4->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine4->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT4_REGION" );
RegisterControl ( m_pStatusLine4 );
m_pStatusLine5 = new CBasicLineBox;
m_pStatusLine5->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine5->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT5_REGION" );
RegisterControl ( m_pStatusLine5 );
m_pStatusLine6 = new CBasicLineBox;
m_pStatusLine6->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine6->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT6_REGION" );
RegisterControl ( m_pStatusLine6 );
}
{
m_pStatusLine7 = new CBasicLineBox;
m_pStatusLine7->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine7->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT7_REGION" );
RegisterControl ( m_pStatusLine7 );
m_pStatusLine8 = new CBasicLineBox;
m_pStatusLine8->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine8->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT8_REGION" );
RegisterControl ( m_pStatusLine8 );
m_pStatusLine9 = new CBasicLineBox;
m_pStatusLine9->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
m_pStatusLine9->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT9_REGION" );
RegisterControl ( m_pStatusLine9 );
CreateControl ( "CHARACTER_REGIST_FIRE_ICON" );
CreateControl ( "CHARACTER_REGIST_ICE_ICON" );
CreateControl ( "CHARACTER_REGIST_ELECTRIC_ICON" );
CreateControl ( "CHARACTER_REGIST_POISON_ICON" );
CreateControl ( "CHARACTER_REGIST_SPIRIT_ICON" );
}
if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER )
{
m_pPageWearEx = new CInventoryPageWearEx;
m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
m_pPageWearEx->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWearEx );
}
else
{
m_pPageWear = new CInventoryPageWear;
m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
m_pPageWear->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWear );
}
}
else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN )
{
m_pPageWearEx = new CInventoryPageWearEx;
m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
m_pPageWearEx->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWearEx );
}
else
{
m_pPageWear = new CInventoryPageWear;
m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
m_pPageWear->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWear );
SetVisiblePage ( 0 );
}
}
else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER)
{
m_pPageWearEx = new CInventoryPageWearEx;
m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
m_pPageWearEx->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWearEx );
}
else
{
m_pPageWear = new CInventoryPageWear;
m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
m_pPageWear->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWear );
}
}
else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN )
{
m_pPageWearEx = new CInventoryPageWearEx;
m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
m_pPageWearEx->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWearEx );
}
else
{
m_pPageWear = new CInventoryPageWear;
m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
m_pPageWear->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWear );
}
}
else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME )
{
m_pPageWearEx = new CInventoryPageWearEx;
m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
m_pPageWearEx->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWearEx );
}
else
{
m_pPageWear = new CInventoryPageWear;
m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
m_pPageWear->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWear );
}
}
else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE )
{
m_pPageWearEx = new CInventoryPageWearEx;
m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
m_pPageWearEx->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWearEx );
}
else
{
m_pPageWear = new CInventoryPageWear;
m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
m_pPageWear->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWear );
}
}
else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN )
{
m_pPageWearEx = new CInventoryPageWearEx;
m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
m_pPageWearEx->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWearEx );
}
else
{
m_pPageWear = new CInventoryPageWear;
m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
m_pPageWear->CreateSubControl ( nClassType );
RegisterControl ( m_pPageWear );
}
}
m_pVehicleWindow = new CVehicleWindow;
m_pVehicleWindow->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_VEHICLEWINDOW );
m_pVehicleWindow->CreateSubControl ();
RegisterControl ( m_pVehicleWindow );
m_pPetWindow = new CPetWindow;
m_pPetWindow->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_PETWINDOW );
m_pPetWindow->CreateSubControl ();
RegisterControl ( m_pPetWindow );
{
m_pClubMark = CreateControl ( "CLUB_WINDOW_MARK_CHARACTERWINDOW" );
m_pClubMark->SetUseRender ( TRUE );
}
m_pAcademy_Department = CreateStaticControl ( "RNCHARACTER_WINDOW_ACADEMY_DEPARTMENT_TEXT", pFont, nAlignLeft );
m_pSchoolText = CreateStaticControl ( "CHARACTER_SCHOOL_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
m_pCopyRightText = CreateStaticControl ( "CHARACTER_COPYRIGHT_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
m_pPKStateText = CreateStaticControl ( "CHARACTER_PKSTATE_TEXT", pFont, nAlignLeft );
CBasicTextBox* pTextBox = CreateStaticControl ( "RNCHARACTER_WINDOW_BRIGHT_TEXT", pFont8Shadow, nAlignLeft );
pTextBox->AddText ( ID2GAMEWORD("CHARACTER_SOCIAL_STATIC", 5), dwWhite );
m_pGradeText = CreateStaticControl ( "RNCHARACTER_WINDOW_CONTRIBUTION_POINT_TEXT", pFont8Shadow, nAlignLeft );
m_pGradeValue = CreateStaticControl ( "RNCHARACTER_WINDOW_CONTRIBUTION_POINT_VALUE", pFont8Shadow, nAlignLeft );
m_pActivityPointText = CreateStaticControl ( "RNCHARACTER_WINDOW_ACTIVITY_POINT_TEXT", pFont8Shadow, nAlignLeft );
m_pActivityPointValue = CreateStaticControl ( "RNCHARACTER_WINDOW_ACTIVITY_POINT_VALUE", pFont8Shadow, nAlignLeft );
m_pBrightFrame = CreateControl ( "RNCHARACTER_WINDOW_BRIGHTBAR",CHARACTER_BIRGHTER );
m_pBrightSlider = CreateControl ( "RNCHARACTER_WINDOW_BRIGHTBAR_THUMB" );
m_pPointTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POINT_TEXT", pFont, nAlignLeft );
m_pPointText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POINT_VALUE", pFont, nAlignLeft );
m_pPointTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_POINT"), dwWhite );
m_pPowTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_TEXT", pFont6Shadow, nAlignLeft );
m_pDexTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_TEXT", pFont6Shadow, nAlignLeft );
m_pSpiTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_TEXT", pFont6Shadow, nAlignLeft );
m_pStrTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_TEXT", pFont6Shadow, nAlignLeft );
m_pStaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_TEXT", pFont6Shadow, nAlignLeft );
m_pPowTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 0), dwWhite );
m_pDexTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 1), dwWhite );
m_pSpiTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 2), dwWhite );
m_pStrTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 4), dwWhite );
m_pStaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 5), dwWhite );
m_pPowText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_VALUE", pFont6Shadow, nAlignCenter );
m_pDexText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_VALUE", pFont6Shadow, nAlignCenter );
m_pSpiText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_VALUE", pFont6Shadow, nAlignCenter );
m_pStrText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_VALUE", pFont6Shadow, nAlignCenter );
m_pStaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_VALUE", pFont6Shadow, nAlignCenter );
m_pPowTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_UP_VALUE", pFont6Shadow, nAlignCenter );
m_pDexTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_UP_VALUE", pFont6Shadow, nAlignCenter );
m_pSpiTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_UP_VALUE", pFont6Shadow, nAlignCenter );
m_pStrTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_UP_VALUE", pFont6Shadow, nAlignCenter );
m_pStaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_UP_VALUE", pFont6Shadow, nAlignCenter );
CString strButtonPlus[5] =
{
"RNCHARACTER_WINDOW_STAT_POW_PLUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_DEX_PLUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_SPI_PLUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_STR_PLUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_STA_PLUS_BUTTON"
};
CString strButtonMinus[5] =
{
"RNCHARACTER_WINDOW_STAT_POW_MINUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_DEX_MINUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_SPI_MINUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_STR_MINUS_BUTTON",
"RNCHARACTER_WINDOW_STAT_STA_MINUS_BUTTON"
};
for ( int i = 0; i < 5; i++ )
{
m_pButtonPlus[i] = CreateTextButton24 ( strButtonPlus[i].GetString (), CHARACTER_WINDOW_STAT_POW_PLUS_BUTTON + i, "+" );
m_pButtonMinus[i] = CreateTextButton24 ( strButtonMinus[i].GetString (), CHARACTER_WINDOW_STAT_POW_MINUS_BUTTON + i, "-" );
}
m_pButtonOk = CreateTextButton25 ( "RNCHARACTER_WINDOW_STAT_APPLY_BUTTON", CHARACTER_WINDOW_STAT_OK , ID2GAMEWORD("CHARACTER_STAT_APPLY") );
m_pButtonCancel = CreateTextButton25 ( "RNCHARACTER_WINDOW_STAT_INIT_BUTTON", CHARACTER_WINDOW_STAT_CANCEL , ID2GAMEWORD("CHARACTER_STAT_INIT") );
m_pDamageHighTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_TEXT", pFont6Shadow, nAlignLeft );
m_pDamageLowTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_TEXT", pFont6Shadow, nAlignLeft );
m_pDefenseTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_TEXT", pFont6Shadow, nAlignLeft );
m_pReqPaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_TEXT", pFont6Shadow, nAlignLeft );
m_pReqSaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_TEXT", pFont6Shadow, nAlignLeft );
m_pReqMaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_TEXT", pFont6Shadow, nAlignLeft );
m_pHitRateTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_TEXT", pFont6Shadow, nAlignLeft );
m_pAvoidRateTextv = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_TEXT", pFont6Shadow, nAlignLeft );
m_pHPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_TEXT", pFont6Shadow, nAlignLeft );
m_pMPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_TEXT", pFont6Shadow, nAlignLeft );
m_pSPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_TEXT", pFont6Shadow, nAlignLeft );
m_pDamageHighTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 14), dwWhite );
m_pDamageLowTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 15), dwWhite );
m_pDefenseTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 3), dwWhite );
m_pReqPaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 4), dwWhite );
m_pReqSaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 5), dwWhite );
m_pReqMaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 11), dwWhite );
m_pHitRateTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 9), dwWhite );
m_pAvoidRateTextv->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 10), dwWhite );
m_pHPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 16), dwWhite );
m_pMPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 17), dwWhite );
m_pSPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 18), dwWhite );
m_pDamageHighText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pDamageLowText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pDefenseText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pReqPaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pReqSaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pReqMaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pHitRateText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pAvoidRateText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pHPText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pMPText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
m_pSPText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
/*m_pDamageHighTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pDamageLowTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pDefenseTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pReqPaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pReqSaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pReqMaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pHitRateTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pAvoidRateTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pHPTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pMPTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
m_pSPTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );*/
m_pFireTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_FIRE_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pColdTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_COLD_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pElectricTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_ELECTRIC_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pPoisonTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_POISON_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pSpiritTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_SPIRIT_RESIST_TEXT", pFont6Shadow, nAlignLeft );
m_pFireTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 1), dwWhite );
m_pColdTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 2), dwWhite );
m_pElectricTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 3), dwWhite );
m_pPoisonTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 4), dwWhite );
m_pSpiritTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 5), dwWhite );
m_pFireText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_FIRE_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pColdText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_COLD_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pElectricText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_ELECTRIC_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pPoisonText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_POISON_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pSpiritText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_SPIRIT_RESIST_VALUE", pFont6Shadow, nAlignLeft );
m_pLevelText = CreateStaticControl ( "CHARACTER_LEVEL_AND_NAME_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
m_pClubText = CreateStaticControl ( "CHARACTER_CLUB_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
m_pBadgeText = CreateStaticControl ( "CHARACTER_BADGE_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
{
CUIControl TempControl;
TempControl.Create ( 1, "CHARACTER_SCHOOL_MARK" );
const UIRECT& rcLocalPos = TempControl.GetLocalPos ();
CString strSchoolMark[] =
{
"NAME_DISPLAY_SCHOOL1",
"NAME_DISPLAY_SCHOOL2",
"NAME_DISPLAY_SCHOOL3"
};
for ( int i = 0; i < nSCHOOL_MARK; ++i )
{
m_pSchoolMark[i] = CreateControl ( strSchoolMark[i].GetString() );
m_pSchoolMark[i]->SetLocalPos ( rcLocalPos );
m_pSchoolMark[i]->SetVisibleSingle ( FALSE );
}
}
}
CBasicTextButton* CCharacterWindow::CreateTextButton ( const char* szButton, UIGUID ControlID, const char* szText )
{
const int nBUTTONSIZE = CBasicTextButton::SIZE23;
CBasicTextButton* pTextButton = new CBasicTextButton;
pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON23", UI_FLAG_XSIZE, ControlID );
pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::RADIO_FLIP, szText );
RegisterControl ( pTextButton );
return pTextButton;
}
void CCharacterWindow::SetGlobalPos(const D3DXVECTOR2& vPos)
{
CUIGroup::SetGlobalPos( vPos );
const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic ();
SetBright( sCharData );
}
void CCharacterWindow::LoadComboData()
{
m_pComboBoxNickNameRollOver->ClearText ();
for ( int i = 0; i < EMPTYITEMOPT_SIZE; i++ )
{
m_pComboBoxNickNameRollOver->SetTextAlign( TEXT_ALIGN_CENTER_X );
m_pComboBoxNickNameRollOver->AddText( (char*)ID2GAMEWORD("PARTY_MODAL_ITEM_OPTION", i) );
}
}
void CCharacterWindow::LoadItem ()
{
m_pComboBoxNickNameOpen->SetTextAlign( TEXT_ALIGN_CENTER_X );
m_pComboBoxNickNameOpen->SetText ( (char*)ID2GAMEWORD("PARTY_MODAL_ITEM_OPTION", nIndex) );
}
void CCharacterWindow::SetVisibleSingle ( BOOL bVisible )
{
CUIWindow::SetVisibleSingle( bVisible );
if( bVisible )
{
const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic ();
if( m_pPageWearEx )
{
if( GLGaeaClient::GetInstance().GetCharacter()->IsUseArmSub() )
{
m_pPageWearEx->SetTabButton( FALSE );
}
else
{
m_pPageWearEx->SetTabButton( TRUE );
}
}
}
}
void CCharacterWindow::SetArmSwapTabButton( BOOL bArmSub )
{
if( m_pPageWearEx )
{
m_pPageWearEx->SetTabButton( bArmSub );
}
}
HRESULT CCharacterWindow::InitDeviceObjects ( LPDIRECT3DDEVICEQ pd3dDevice )
{
GASSERT( pd3dDevice );
m_pd3dDevice = pd3dDevice;
HRESULT hr = S_OK;
{
hr = CUIWindowEx::InitDeviceObjects( pd3dDevice );
//hr = m_pd3dDevice->GetDeviceCaps ( &m_d3dCaps );
if ( FAILED ( hr ) ) return hr;
}
m_CharacterNew = GLGaeaClient::GetInstance().GetCharacter();
D3DXVECTOR3 m_vPos = D3DXVECTOR3(12.0f,-135.0f,400.0f);
D3DXVECTOR3 m_vDir = m_CharacterNew->GetDirectionVector();
D3DXVECTOR3 m_vDirOrig = m_CharacterNew->GetOrig();
//D3DXMATRIX matTrans, matYRot;
//D3DXMatrixTranslation ( &matTrans, m_vPos.x, m_vPos.y, m_vPos.z );
//float fThetaY = DXGetThetaYFromDirection ( m_vDir, m_vDirOrig );
//D3DXMatrixRotationY ( &matYRot, fThetaY );
EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass );
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], m_pd3dDevice, TRUE );
if ( !pSkinChar ) return E_FAIL;
SAFE_DELETE( m_pSkinChar );
m_pSkinChar = new DxSkinChar;
m_pSkinChar->SetCharData ( pSkinChar, m_pd3dDevice, TRUE );
UpdateSuit ();
return S_OK;
}
BOOL CCharacterWindow::IsCurUseArm( EMSLOT emSlot )
{
if( IsUseArmSub() )
{
if( emSlot == SLOT_RHAND || emSlot == SLOT_LHAND ) return FALSE;
}
else
{
if( emSlot == SLOT_RHAND_S || emSlot == SLOT_LHAND_S ) return FALSE;
}
return TRUE;
}
//HRESULT CCharacterWindow::Create ();
//{
//}
// Note : Adding : GM Glenox | 11-16-2013 | Character Render
/*HRESULT CCharacterWindow::Create (DWORD dwGaeaID, LPDIRECT3DDEVICEQ pd3dDevice )
{
GASSERT(pd3dDevice);
HRESULT hr;
m_pd3dDevice = pd3dDevice;
m_dwGaeaID = dwGaeaID;
// Note : Adding : GM Glenox | 11-16-2013 | Character Render
//
EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass );
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], pd3dDevice, TRUE );
if ( !pSkinChar ) return E_FAIL;
SAFE_DELETE(m_pSkinChar);
m_pSkinChar = new DxSkinChar;
m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE );
UpdateSuit ();
// Note : Control Hieght
m_pSkinChar->GetAABBBox( m_vMaxOrg, m_vMinOrg );
m_fHeight = m_vMaxOrg.y - m_vMinOrg.y;
// Note : Adding : GM Glenox | 11-16-2013 | Character Render
//
/* if ( pCharData->dwFLAGS & SDROP_CHAR::CHAR_GEN )
{
// if ( !IsSTATE(EM_REQ_VISIBLENONE) && !IsSTATE(EM_REQ_VISIBLEOFF) )
{
D3DXMATRIX matEffect;
D3DXMatrixTranslation ( &matEffect, m_vPos.x, m_vPos.y, m_vPos.z );
// STARGETID sTargetID(CROW_PC,pCharData->dwGaeaID,m_vPos);
DxEffGroupPlayer::GetInstance().NewEffGroup
(
GLCONST_CHAR::strREBIRTH_EFFECT.c_str(),
matEffect,
&sTargetID
);
}
}
if ( !m_pSkinChar->GETCURANIMNODE() )
{
CDebugSet::ToLogFile ( "ERORR : current animation node null point error [ %s ] [ M %d S %d ]", m_pSkinChar->GetFileName(), m_pSkinChar->GETCURMTYPE(), m_pSkinChar->GETCURSTYPE() );
m_pSkinChar->DEFAULTANI ();
}
return S_OK;
}*/
HRESULT CCharacterWindow::SkinLoad ( LPDIRECT3DDEVICEQ pd3dDevice )
{
EMCHARINDEX emIndex = CharClassToIndex(m_CharacterNew->m_emClass);
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], pd3dDevice, TRUE );
if ( !pSkinChar ) return E_FAIL;
SAFE_DELETE(m_pSkinChar);
m_pSkinChar = new DxSkinChar;
m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE );
UpdateSuit();
return S_OK;
}
HRESULT CCharacterWindow::SkinLoadForTool( LPDIRECT3DDEVICEQ pd3dDevice, const char* szFile )
{
EMCHARINDEX emIndex = CharClassToIndex(m_CharacterNew->m_emClass);
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( szFile, pd3dDevice, TRUE );
if ( !pSkinChar ) return E_FAIL;
SAFE_DELETE(m_pSkinChar);
m_pSkinChar = new DxSkinChar;
m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE );
// UpdateSuit( TRUE );
// Note : 1.AABB Boxธฆ ฐกมฎฟยดู. 2.ณ๔ภฬธฆ ฐ่ปEุ ณ๕ดยดู.
m_pSkinChar->GetAABBBox( m_vMaxOrg, m_vMinOrg );
m_fHeight = m_vMaxOrg.y - m_vMinOrg.y;
// Note : ฟกดฯธภฬผว รสฑโศญ.
//
if ( m_pSkinChar )
{
// m_pSkinChar->SELECTANI ( AN_SHOCK, GLCHARLOGIC::m_emANISUBTYPE );
//Added by geger009 | 11-8-2012 | add VPS and VCF code
if ( m_pSkinChar->m_pSkinVehicle )
{
m_pSkinChar->m_pSkinVehicle->SELECTANI( AN_GUARD_N , AN_SUB_NONE );
}
if ( !m_pSkinChar->GETCURANIMNODE() )
{
// CDebugSet::ToLogFile ( "ERORR : current animation node null point error [ %s ] [ M %d S %d ]", m_pSkinChar->m_szFileName, AN_SHOCK, GLCHARLOGIC::m_emANISUBTYPE );
m_pSkinChar->DEFAULTANI ();
}
}
// Note : ฝบลณ น๖วม, ป๓ลยภฬปEศฟฐEปผบ.
// FACTEFF::ReNewEffect ( STARGETID(CROW_PC,m_dwGaeaID,m_vPos), m_pSkinChar, m_sSKILLFACT, m_sSTATEBLOWS, m_matTrans, m_vDir );
return S_OK;
}
HRESULT CCharacterWindow::UpdateSuit ()
{
GASSERT( m_pd3dDevice );
EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass );
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().FindData ( GLCONST_CHAR::szCharSkin[emIndex] );
if ( !pSkinChar ) return E_FAIL;
const GLCONST_CHARCLASS &sCONST = GLCONST_CHAR::cCONSTCLASS[emIndex];
if ( sCONST.dwHEADNUM > m_CharacterNew->m_wFace )
{
std::string strHEAD_CPS = sCONST.strHEAD_CPS[m_CharacterNew->m_wFace];
PDXCHARPART pCharPart = NULL;
pCharPart = m_pSkinChar->GetPiece(PIECE_HEAD); // ว๖มฆ ภๅย๘ ฝบลฒ.
if ( pCharPart && strcmp(strHEAD_CPS.c_str(),pCharPart->GetFileName()) )
{
m_pSkinChar->SetPiece ( strHEAD_CPS.c_str(), m_pd3dDevice, 0x0, 0, TRUE );
}
}
if ( sCONST.dwHAIRNUM > m_CharacterNew->m_wHair )
{
std::string strHAIR_CPS = sCONST.strHAIR_CPS[m_CharacterNew->m_wHair];
PDXCHARPART pCharPart = NULL;
pCharPart = m_pSkinChar->GetPiece(PIECE_HAIR); // ว๖มฆ ภๅย๘ ฝบลฒ.
if ( pCharPart && strcmp(strHAIR_CPS.c_str(),pCharPart->GetFileName()) )
{
m_pSkinChar->SetPiece ( strHAIR_CPS.c_str(), m_pd3dDevice, 0x0, 0, TRUE );
}
}
m_pSkinChar->SetHairColor( m_CharacterNew->m_wHairColor );
for ( int i=0; i<SLOT_NSIZE_S_2; i++ )
{
// ว๖ภ็ ภๅย๘ม฿ภฮ นซฑโฐก พฦดฯธ้ ณัพ๎ฐฃดู.
if( !IsCurUseArm( EMSLOT(i) ) ) continue;
SITEMCUSTOM &ItemClient = m_CharacterNew->m_PutOnItems[i];
SNATIVEID nidITEM = ItemClient.nidDISGUISE;
if ( nidITEM==SNATIVEID(false) ) nidITEM = ItemClient.sNativeID;
/*if ( !m_bVehicle && i == SLOT_VEHICLE ) nidITEM = SNATIVEID(false);
else if ( i == SLOT_VEHICLE )
{
nidITEM = m_sVehicle.GetSkinID();
if ( nidITEM == SNATIVEID(false) )
{
m_sVehicle.m_sVehicleID = ItemClient.sNativeID;
nidITEM = ItemClient.sNativeID;
}
}*/
if ( nidITEM == SNATIVEID(false) )
{
// Note : ฑโบป ฝบลฒฐ๚ ม๖ฑ ภๅย๘ตศ ฝบลฒภฬ ฦฒธฑ ฐๆฟ์.
// SLOT->PIECE.
PDXSKINPIECE pSkinPiece = NULL; // ฑโบป ฝบลฒ.
PDXCHARPART pCharPart = NULL; // ว๖มฆ ภๅย๘ ฝบลฒ.
EMPIECECHAR emPiece = SLOT_2_PIECE(EMSLOT(i));
if ( emPiece!=PIECE_SIZE )
{
pSkinPiece = pSkinChar->GetPiece(emPiece); // ฑโบป ฝบลฒ.
pCharPart = m_pSkinChar->GetPiece(emPiece); // ว๖มฆ ภๅย๘ ฝบลฒ.
}
if ( pSkinPiece )
{
if ( pCharPart && strcmp(pSkinPiece->m_szFileName,pCharPart->GetFileName()) )
m_pSkinChar->SetPiece ( pSkinPiece->m_szFileName, m_pd3dDevice, 0x0, 0, TRUE );
}
else
{
if ( pCharPart ) m_pSkinChar->ResetPiece(emPiece);
}
}
else
{
SITEM* pItem = GLItemMan::GetInstance().GetItem ( nidITEM );
if ( pItem )
{
m_pSkinChar->SetPiece ( pItem->GetWearingFile(emIndex), m_pd3dDevice, NULL, ItemClient.GETGRADE_EFFECT(), TRUE );
}
}
}
/*if( m_dwTransfromSkill != SNATIVEID::ID_NULL )
{
PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( m_sSKILLFACT[m_dwTransfromSkill].sNATIVEID.wMainID, m_sSKILLFACT[m_dwTransfromSkill].sNATIVEID.wSubID );
if( pSkill )
{
for( BYTE i = 0; i < SKILL::EMTRANSFORM_NSIZE; i++ )
{
if( m_CharData.wSex == 1 )
{
m_pSkinChar->SetPiece ( pSkill->m_sSPECIAL_SKILL.strTransform_Man[i].c_str(), m_pd3dDevice, 0X0, 0, TRUE );
}else{
m_pSkinChar->SetPiece ( pSkill->m_sSPECIAL_SKILL.strTransform_Woman[i].c_str(), m_pd3dDevice, 0X0, 0, TRUE );
}
}
}
}
// Note : ฝบลณ น๖วม, ป๓ลยภฬป๓ ศฟฐ๚ ปผบ.
FACTEFF::ReNewEffect ( STARGETID(CROW_PC,m_dwGaeaID,m_vPos), m_pSkinChar, m_sSKILLFACT, m_sSTATEBLOWS, m_matTrans, m_vDir );
if( GLCONST_CHAR::cCONSTCLASS[emIndex].strCLASS_EFFECT.size() != 0 )
{
DxEffcharDataMan::GetInstance().PutPassiveEffect ( m_pSkinChar, GLCONST_CHAR::cCONSTCLASS[emIndex].strCLASS_EFFECT.c_str(), &m_vDir );
}*/
return S_OK;
}
HRESULT CCharacterWindow::FrameMove ( float fTime, float fElapsedTime )
{
GASSERT( m_pd3dDevice );
D3DXVECTOR3 vFromPt = DxViewPort::GetInstance().GetFromPt();
D3DXVECTOR3 vLookatPt = DxViewPort::GetInstance().GetLookatPt();
D3DXVECTOR3 vUpVec = D3DXVECTOR3( 0.0f, 1.0f, 0.0f );
m_pSkinChar->FrameMove( fTime,fElapsedTime );
D3DXMATRIX matTrans , matYRot;
D3DXMatrixTranslation ( &matTrans, vLookatPt.x, vLookatPt.y, vLookatPt.z );
float fThetaY = DXGetThetaYFromDirection ( vUpVec, vFromPt );
D3DXMatrixRotationY ( &matYRot, fThetaY );
// Get D3DX to fill in the matrix values
D3DXMATRIX matView;
D3DXMatrixLookAtLH( &matView, &vFromPt, &vLookatPt, &vUpVec );
// Set our view matrix
//m_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
m_matTrans = matTrans ;
return S_OK;
}
HRESULT CCharacterWindow::Render ( LPDIRECT3DDEVICEQ pd3dDevice, CLIPVOLUME &cv, BOOL bRendAABB )
{
GASSERT( pd3dDevice );
CLIPVOLUME &CV = DxViewPort::GetInstance().GetClipVolume ();
//if ( m_bNeedData && !(m_dwRevData&RECEIVE_CHARDATA) ) return S_FALSE;
if ( !m_pSkinChar )
if ( bRendAABB ) EDITMESHS::RENDERAABB ( pd3dDevice, m_vMax, m_vMin ); // ลืฝบฦฎฟ๋.
if( !IsVisible() ) return S_OK;
HRESULT hr = S_OK;
hr = CUIWindowEx::Render ( pd3dDevice );
if ( FAILED ( hr ) ) return hr;
m_pClubMark->SetVisibleSingle ( FALSE );
{
hr = CUIWindowEx::Render ( pd3dDevice );
if( FAILED ( hr ) ) return hr;
}
m_pClubMark->SetVisibleSingle ( TRUE );
GLCLUB& sCLUB = GLGaeaClient::GetInstance().GetCharacter ()->m_sCLUB;
// ฑๆตๅฟ๘ภฬ พฦดั ฐๆฟ์
if ( sCLUB.m_dwID==CLUB_NULL ) return S_OK;
int nServer = static_cast<int>(GLGaeaClient::GetInstance().GetCharacter()->m_dwServerID);
int nID = static_cast<int>(sCLUB.m_dwID);
DWORD dwVer = sCLUB.m_dwMarkVER;
//if ( !DxClubMan::GetInstance().IsValidData ( nServer, nID, dwVer ) ) return S_OK;
const DxClubMan::DXDATA& sMarkData = DxClubMan::GetInstance().GetClubData ( pd3dDevice, nServer, nID, dwVer );
//const UIRECT& rcGlobalPos = m_pClubMark->GetGlobalPos ();
//m_pClubMark->SetGlobalPos ( UIRECT ( ceil(rcGlobalPos.left), ceil(rcGlobalPos.top),
// ceil(rcGlobalPos.sizeX), ceil(rcGlobalPos.sizeY) ) );
m_pClubMark->SetTexturePos ( 0, sMarkData.vTex_1_LU );
m_pClubMark->SetTexturePos ( 1, sMarkData.vTex_2_RU );
m_pClubMark->SetTexturePos ( 3, sMarkData.vTex_3_LD );
m_pClubMark->SetTexturePos ( 2, sMarkData.vTex_4_RD );
// ธธต้พ๎พ฿วิ
m_pClubMark->SetTexture ( sMarkData.pddsTexture );
{
hr = m_pClubMark->Render ( pd3dDevice );
if( FAILED ( hr ) ) return hr;
}
return S_OK;
}
void CCharacterWindow::SetVisiblePage ( int nPage )
{
const EMCHARCLASS emCharClass = DxGlobalStage::GetInstance().GetGameStage()->GetCharJoinData().m_CharData2.m_emClass;
const int nClassType = CharClassToIndex ( emCharClass );
for ( int i = 0; i < nMAXPAGENEW; i++ )
{
m_pPageButton[i]->SetFlip ( FALSE );
}
m_pPetWindow->SetVisibleSingle ( FALSE );
m_pVehicleWindow->SetVisibleSingle ( FALSE );
if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
if ( nPage == 0 )
{
m_pPageButton[0]->SetFlip ( TRUE );
if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
}
else if ( nPage == 2 )
{
m_pPageButton[2]->SetFlip ( TRUE );
m_pPetWindow->SetVisibleSingle ( TRUE );
}
else if ( nPage == 1 )
{
m_pPageButton[1]->SetFlip ( TRUE );
m_pVehicleWindow->SetVisibleSingle ( TRUE );
}
}
I cant download the patch, please provide another link =) thankyou!
Can anyone share the complete code of neo source in market page and trade inventory page?
anyone have a copy of a patch?
tp - please reupload or change the link. TIA
hope help anyone
http://www.mediafire.com/download/af...atch_raffy.rar
when i creat club and i cant open my character info
Bugtrap error Plese wait ....
pls help me :)
BUGTRAP BECAUSE YOU DONT HAVE A COMPATIBLE PARAM
WHEN YOU CREATE CLUB OPEN CHARACTER INFO YOU STILL NEED TO FIX IT ON CHARACTERWINDOWEX :) OR IN THE FIVE CHARACTERWINDOW THIS ONES FIX FOR NEO http://forum.ragezone.com/f528/share...window-981160/
is this EP8?
thanks :)
- - - Updated - - -
Sir upload Patch again thanks :D: