- Joined
- Mar 3, 2013
- Messages
- 268
- Reaction score
- 25
please edited Quest + cw + survival in 1 server please help me!
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature currently requires accessing the site using the built-in Safari browser.
[11/26/13 15:54:14] Match Server Created (Port:6000)
Dueltournament Service Open(2013-11-26 Hour15, Min54)
Daily Survival Ranking Request [month11 day26 hour15 min54]
success to update CustomIP
[11/26/13 15:57:15] GARBAGE SESSION CLEANING : m_This(02), ClientCount=0, SessionCount=0, AgentCount=0, CommandPool=1, objHistoryCount=0
Crash ( 15:57:15 )
Build Nov 16 2012 13:23:12
could someone upload again the link Customer edited because the link is down.
questions the client has antilead edited?
got the same error please help !! @@I got this error:
Code:--------------------------- Microsoft Visual C++ Runtime Library --------------------------- Runtime Error! Program: ...r13n #2 (Clean)\Clean server\Matchserver\MatchServer.exe This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. --------------------------- OK ---------------------------
I have Net framework 4 installed do i need an earlier Version of Net framework to get it to work?
i tried everything and still not working with the same error and when i go to the locater and run it there is nothing popup :S if someone got skype can help me that would be great i know that this is helpful community for developers!Just a guess but try installing this.
For x64:
You must be registered to see links
For x86:
You must be registered to see links
If these don't work, search on google for "Visual Studio 2003 Redistributable" and download one correct to your computers specs.
#include "StdAfx.h"
#include "ZOptionInterface.h"
#include "MSlider.h"
#include "ZConfiguration.h"
#include "ZActionKey.h"
#include "FileInfo.h"
#include "ZCanvas.h"
#include "ZInput.h"
#include "ZRoomListBox.h"
#include "ZShopEquipListbox.h"
#include "ZShopEquipInterface.h"
#define DEFAULT_SLIDER_MAX 10000
#define DEFAULT_GAMMA_SLIDER_MIN 50
#define DEFAULT_GAMMA_SLIDER_MAX 800
#define LISTBOX_CELL_ARRANGE(pList, feldsize, flsize) { pList->GetField(1)->nTabSize += (int)( (float)feldsize * flsize) - (int)( (float)feldsize); } // ±×¸²Ä Å©±â´Â °íÁ¤, ±×ºÎºÐ¸¸Å 2¹ø¿¿¡ ´õÇÔ
static map< int, D3DDISPLAYMODE> gDisplayMode;
#define DEFAULT_REFRESHRATE 0
template< class F, class S>
class value_equals
{
private:
S second;
public:
value_equals(const S& s) : second(s) {}
bool operator() (pair<const F, S> elem)
{ return elem.second == second; }
};
bool operator == ( D3DDISPLAYMODE lhs, D3DDISPLAYMODE rhs )
{
return( lhs.Width == rhs.Width && lhs.Height == rhs.Height && lhs.Format == rhs.Format );
}
static int widths[]={ 640,800,1024,1280,1600,1280,1440, 1650, 1920, 2560};
static int heights[]={ 480,600,768,960,1200,800,900, 1050, 1200, 1600};
ZOptionInterface::ZOptionInterface(void)
{
mbTimer = false;
// mOldScreenWidth = 0;
// mOldScreenHeight = 0;
mnOldBpp = D3DFMT_A8R8G8B8;
mTimerTime = 0;
mOldScreenWidth = 800;
mOldScreenHeight = 600;
}
ZOptionInterface::~ZOptionInterface(void)
{
gDisplayMode.clear();
}
void ZOptionInterface::InitInterfaceOption(void)
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
mlog("start InitInterface option\n");
/*
// Mouse Sensitivity Min/Max (Z_MOUSE_SENSITIVITY_MIN ~ Z_MOUSE_SENSITIVITY_MAX)
BEGIN_WIDGETLIST("MouseSensitivitySlider", pResource, MSlider*, pWidget);
pWidget->SetMinMax(Z_MOUSE_SENSITIVITY_MIN, Z_MOUSE_SENSITIVITY_MAX);
pWidget->SetValue(Z_MOUSE_SENSITIVITY);
END_WIDGETLIST();
*/
MSlider* pWidget = (MSlider*)pResource->FindWidget("MouseSensitivitySlider");
if(pWidget)
{
pWidget->SetMinMax(MOUSE_SENSITIVITY_MIN, MOUSE_SENSITIVITY_MAX);
pWidget->SetValue( ZGetConfiguration()->GetMouseSensitivityInInt());
}
pWidget = (MSlider*)pResource->FindWidget("JoystickSensitivitySlider");
if(pWidget)
{
pWidget->SetMinMax(0, DEFAULT_SLIDER_MAX);
pWidget->SetValue(ZGetConfiguration()->GetJoystick()->fSensitivity * DEFAULT_SLIDER_MAX);
}
pWidget = (MSlider*)pResource->FindWidget("BGMVolumeSlider");
if(pWidget)
{
pWidget->SetMinMax(0, DEFAULT_SLIDER_MAX);
pWidget->SetValue(Z_AUDIO_BGM_VOLUME*DEFAULT_SLIDER_MAX);
}
pWidget = (MSlider*)pResource->FindWidget("EffectVolumeSlider");
if(pWidget)
{
pWidget->SetMinMax(0, DEFAULT_SLIDER_MAX);
pWidget->SetValue(Z_AUDIO_EFFECT_VOLUME*DEFAULT_SLIDER_MAX);
}
pWidget = (MSlider*)pResource->FindWidget("VideoGamma");
if(pWidget)
{
pWidget->SetMinMax(DEFAULT_GAMMA_SLIDER_MIN, DEFAULT_GAMMA_SLIDER_MAX);
pWidget->SetValue(Z_VIDEO_GAMMA_VALUE*DEFAULT_GAMMA_SLIDER_MAX);
pWidget->SetValue(Z_VIDEO_GAMMA_VALUE);
}
// Action Key
for(int i=0; i<ZACTION_COUNT; i++){
char szItemName[256];
sprintf(szItemName, "%sActionKey", ZGetConfiguration()->GetKeyboard()->ActionKeys[i].szName);
BEGIN_WIDGETLIST(szItemName, pResource, ZActionKey*, pWidget);
pWidget->SetActionKey(ZGetConfiguration()->GetKeyboard()->ActionKeys[i].nVirtualKey);
pWidget->SetActionKey(ZGetConfiguration()->GetKeyboard()->ActionKeys[i].nVirtualKeyAlt);
END_WIDGETLIST();
}
// ComboBox
{
MComboBox *pWidget = (MComboBox*)pResource->FindWidget("ScreenResolution");
if(pWidget)
{
pWidget->RemoveAll();
gDisplayMode.clear();
int dmIndex = 0;
char szBuf[256];
D3DDISPLAYMODE ddm;
D3DFORMAT format[2] = {
D3DFMT_X8R8G8B8,
D3DFMT_R5G6B5
};
for( int i=0;i<2;i++)
{
int nDM = RGetAdapterModeCount( format[i] );
mlog("Number of Display mode : %d\n", nDM );
for( int idm = 0 ; idm < nDM; ++idm )
{
if( REnumAdapterMode( D3DADAPTER_DEFAULT,format[i], idm, &ddm ))
{
if( ddm.Width < 640 || ddm.Height < 480 )
continue;
if( ((float)ddm.Height / (float)ddm.Width != 0.75f) &&
((float)ddm.Height / (float)ddm.Width != 0.625f) )
continue;
ddm.RefreshRate = DEFAULT_REFRESHRATE;
if( ddm.Format == D3DFMT_X8R8G8B8 || ddm.Format == D3DFMT_R5G6B5 )
{
map<int, D3DDISPLAYMODE>::iterator iter_ = find_if( gDisplayMode.begin(), gDisplayMode.end(), value_equals<int, D3DDISPLAYMODE>(ddm));
if( iter_ == gDisplayMode.end() )
{
gDisplayMode.insert( map<int, D3DDISPLAYMODE>::value_type( dmIndex++, ddm ) );
sprintf( szBuf, "%d x %d %dbpp", ddm.Width, ddm.Height, ddm.Format==D3DFMT_X8R8G8B8?32:16 );
pWidget->Add(szBuf);
}
}
}
}
}
// ¸¸¾à µî·ÏµÈ Çػ󵵰¡ Çϳªµµ ¾øÀ»°æ¿ì °Á¦·Î µî·Ï
if( gDisplayMode.size() == 0 )
{
for( int i = 0 ; i < 10; ++i )
{
ddm.Width = widths[i/2];
ddm.Height = heights[i/2];
ddm.RefreshRate = DEFAULT_REFRESHRATE;
ddm.Format = ( ( i%2 == 1) ? D3DFMT_X8R8G8B8 : D3DFMT_R5G6B5 );
int bpp = (i%2 == 1)? 32 : 16;
gDisplayMode.insert( map<int, D3DDISPLAYMODE>::value_type(i,ddm) );
sprintf( szBuf, "%dx%d %d bpp", ddm.Width, ddm.Height, bpp );
pWidget->Add( szBuf );
}
}
ddm.Width = RGetScreenWidth();
ddm.Height = RGetScreenHeight();
ddm.RefreshRate = DEFAULT_REFRESHRATE;
ddm.Format = RGetPixelFormat();
map< int, D3DDISPLAYMODE>::iterator iter = find_if( gDisplayMode.begin(), gDisplayMode.end(), value_equals<int, D3DDISPLAYMODE>(ddm));
pWidget->SetSelIndex( iter->first );
}
pWidget = (MComboBox*)pResource->FindWidget("CharTexLevel");
if(pWidget) {
pWidget->SetSelIndex(ZGetConfiguration()->GetVideo()->nCharTexLevel);
}
pWidget = (MComboBox*)pResource->FindWidget("MapTexLevel");
if(pWidget) {
pWidget->SetSelIndex(ZGetConfiguration()->GetVideo()->nMapTexLevel);
}
pWidget = (MComboBox*)pResource->FindWidget("EffectLevel");
if(pWidget) {
pWidget->SetSelIndex(ZGetConfiguration()->GetVideo()->nEffectLevel);
}
pWidget = (MComboBox*)pResource->FindWidget("TextureFormat");
if(pWidget) {
pWidget->SetSelIndex(ZGetConfiguration()->GetVideo()->nTextureFormat);
}
// µ¿¿µ»ó ĸÃÄ 20081017... by kam
pWidget = (MComboBox*)pResource->FindWidget("MovingPictureResolution");
if(pWidget) {
pWidget->SetSelIndex(ZGetConfiguration()->GetMovingPicture()->iResolution); // µ¿¿µ»ó ĸÃÄ ÇØ»óµµ ¼¼ÆÃ
}
// µ¿¿µ»ó ĸÃÄ 20081028... by kam
pWidget = (MComboBox*)pResource->FindWidget("MovingPictureFileSize");
if(pWidget) {
pWidget->SetSelIndex(ZGetConfiguration()->GetMovingPicture()->iFileSize); // µ¿¿µ»ó ĸÃÄ ÆÄÀÏÅ©±â(¿ë·®Á¦ÇÑ)
}
// ¾ð¾î ¼±ÅÃ
pWidget = (MComboBox*)pResource->FindWidget("LanguageSelectComboBox");
if(pWidget) {
pWidget->RemoveAll();
size_t size = ZGetConfiguration()->GetLocale()->vecSelectableLanguage.size();
for (unsigned int i=0; i<size; ++i) {
pWidget->Add( ZGetConfiguration()->GetLocale()->vecSelectableLanguage[i].strLanguageName.c_str());
}
pWidget->SetSelIndex( ZGetConfiguration()->GetSelectedLanguageIndex());
GunzState state = ZApplication::GetGameInterface()->GetState();
if (state == GUNZ_GAME || state == GUNZ_STAGE)
pWidget->Enable(false);
else
pWidget->Enable(true);
}
}
// Button
{
MButton* pWidget = (MButton*)pResource->FindWidget("Reflection");
if( pWidget )
{
pWidget->SetCheck(ZGetConfiguration()->GetVideo()->bReflection);
}
pWidget = (MButton*)pResource->FindWidget("LightMap");
if( pWidget )
{
//if(ZGetConfiguration()->GetVideo()->bTerrible && !RIsHardwareTNL() )
{
pWidget->SetCheck(ZGetConfiguration()->GetVideo()->bLightMap);
if(ZGetGame()) {
ZGetGame()->GetWorld()->GetBsp()->LightMapOnOff(ZGetConfiguration()->GetVideo()->bLightMap);
}
else {
RBspObject::SetDrawLightMap(ZGetConfiguration()->GetVideo()->bLightMap);
}
}
//else
//{
// pWidget->SetCheck( true );
// pWidget->Enable( false );
// MLabel* label = (MLabel*)pResource->FindWidget("Lightmap Label");
// if(label) label->SetTextColor( MCOLOR( 64, 64, 64 ));
//}
}
pWidget = (MButton*)pResource->FindWidget("DynamicLight");
if( pWidget )
{
pWidget->SetCheck(ZGetConfiguration()->GetVideo()->bDynamicLight);
}
pWidget = (MButton*)pResource->FindWidget("Shader");
if( pWidget )
{
//if( !RShaderMgr::shader_enabled )
if(!RIsSupportVS())
{
pWidget->SetCheck(false);
pWidget->Enable(false);
}
else
{
pWidget->SetCheck(ZGetConfiguration()->GetVideo()->bShader);
}
}
pWidget = (MButton*)pResource->FindWidget("BGMMute");
if(pWidget)
{
pWidget->SetCheck( !ZGetConfiguration()->GetAudio()->bBGMMute );
}
pWidget = (MButton*)pResource->FindWidget("EffectMute");
if(pWidget)
{
pWidget->SetCheck( !ZGetConfiguration()->GetAudio()->bEffectMute );
}
pWidget = (MButton*)pResource->FindWidget("Effect3D");
if(pWidget)
{
pWidget->SetCheck(ZGetConfiguration()->GetAudio()->b3DSound);
}
pWidget = (MButton*)pResource->FindWidget("8BitSound");
if(pWidget)
{
pWidget->SetCheck(Z_AUDIO_8BITSOUND);
pWidget = (MButton*)pResource->FindWidget("16BitSound");
if(pWidget) pWidget->SetCheck(!Z_AUDIO_8BITSOUND);
}
pWidget = (MButton*)pResource->FindWidget("InverseSound");
if(pWidget)
{
pWidget->SetCheck(Z_AUDIO_INVERSE);
}
pWidget = (MButton*)pResource->FindWidget("HWMixing");
if(pWidget)
{
pWidget->SetCheck(Z_AUDIO_HWMIXING);
}
pWidget = (MButton*)pResource->FindWidget("HitSound");
if(pWidget)
{
pWidget->SetCheck(Z_AUDIO_HITSOUND);
}
pWidget = (MButton*)pResource->FindWidget("NarrationSound");
if(pWidget)
{
pWidget->SetCheck(Z_AUDIO_NARRATIONSOUND);
}
pWidget = (MButton*)pResource->FindWidget("InvertMouse");
if(pWidget)
{
pWidget->SetCheck(Z_MOUSE_INVERT);
}
pWidget = (MButton*)pResource->FindWidget("InvertJoystick");
if(pWidget)
{
pWidget->SetCheck(Z_JOYSTICK_INVERT);
}
}
// Etc
{
MEdit* pEdit = (MEdit*)pResource->FindWidget("NetworkPort1");
if (pEdit)
{
char szBuf[64];
sprintf(szBuf, "%d", Z_ETC_NETWORKPORT1);
pEdit->SetText(szBuf);
}
pEdit = (MEdit*)pResource->FindWidget("NetworkPort2");
if (pEdit)
{
char szBuf[64];
sprintf(szBuf, "%d", Z_ETC_NETWORKPORT2);
pEdit->SetText(szBuf);
}
pEdit = (MEdit*)pResource->FindWidget("MouseSensitivityEdit");
if (pEdit)
{
char szBuf[1024];
sprintf(szBuf, "%d", ZGetConfiguration()->GetMouseSensitivityInInt());
pEdit->SetText(szBuf);
pEdit->SetMaxLength(16);
}
MButton* pBtnBoost = (MButton*)pResource->FindWidget("BoostOption");
if (pBtnBoost)
{
pBtnBoost->SetCheck(Z_ETC_BOOST);
}
MButton* pBtnNormalChat = (MButton*)pResource->FindWidget("NormalChatOption");
if (pBtnNormalChat)
{
pBtnNormalChat->SetCheck( Z_ETC_REJECT_NORMALCHAT);
}
MButton* pBtnTeamChat = (MButton*)pResource->FindWidget("TeamChatOption");
if (pBtnTeamChat)
{
pBtnTeamChat->SetCheck(Z_ETC_REJECT_TEAMCHAT);
}
MButton* pBtnClanChat = (MButton*)pResource->FindWidget("ClanChatOption");
if (pBtnClanChat)
{
pBtnClanChat->SetCheck(Z_ETC_REJECT_CLANCHAT);
}
MButton* pBtnWhisper = (MButton*)pResource->FindWidget("WhisperOption");
if (pBtnWhisper)
{
pBtnWhisper->SetCheck(Z_ETC_REJECT_WHISPER);
}
MButton* pBtnInvite = (MButton*)pResource->FindWidget("InviteOption");
if (pBtnInvite)
{
pBtnInvite->SetCheck(Z_ETC_REJECT_INVITE);
}
MComboBox *pComboBox = (MComboBox*)pResource->FindWidget("CrossHairComboBox");
if(pComboBox)
{
pComboBox->RemoveAll();
// ±âº» Å©·Î½º Çì¾î ÇϵåÄÚµùÀ¸·Î ÀÔ·Â
for (int i = 0; i < ZCSP_CUSTOM; i++)
{
char szText[256];
sprintf(szText, "%s %d", ZMsg(MSG_WORD_TYPE), i+1);
pComboBox->Add(szText);
}
char szCustomFile[256];
sprintf(szCustomFile, "%s%s%s", PATH_CUSTOM_CROSSHAIR, FN_CROSSHAIR_HEADER, FN_CROSSHAIR_TAILER);
if (IsExist(szCustomFile)) pComboBox->Add("Custom");
if (Z_ETC_CROSSHAIR >= pComboBox->GetCount()) // »ç¿ëÀÚÁöÁ¤ÀÌ¿´´Âµ¥ »ç¿ëÀÚÁöÁ¤ÀÌ ¾ø¾îÁ³À» °æ¿ì
{
Z_ETC_CROSSHAIR = 0;
}
pComboBox->SetSelIndex(Z_ETC_CROSSHAIR);
}
ZCanvas* pCrossHairPreview = (ZCanvas*)pResource->FindWidget("CrossHairPreviewCanvas");
if (pCrossHairPreview)
{
pCrossHairPreview->SetOnDrawCallback(ZCrossHair::OnDrawOptionCrossHairPreview);
}
// 1ÃÊ´ç ÇÁ·¹ÀÓ Á¦ÇÑ
pComboBox = (MComboBox*)pResource->FindWidget("FrameLimit_PerSecond");
if(pComboBox) {
if (Z_ETC_FRAMELIMIT_PERSECOND >= pComboBox->GetCount()) // »ç¿ëÀÚÁöÁ¤ÀÌ¿´´Âµ¥ »ç¿ëÀÚÁöÁ¤ÀÌ ¾ø¾îÁ³À» °æ¿ì
{
Z_ETC_FRAMELIMIT_PERSECOND = 0;
}
pComboBox->SetSelIndex(Z_ETC_FRAMELIMIT_PERSECOND); // 1ÃÊ´ç ÇÁ·¹ÀÓ Á¦ÇÑ
RSetFrameLimitPerSeceond(Z_ETC_FRAMELIMIT_PERSECOND);
}
}
//Macro
{
static char stemp_str[ZCONFIG_MACRO_MAX][80] = {
"MacroF1",
"MacroF2",
"MacroF3",
"MacroF4",
"MacroF5",
"MacroF6",
"MacroF7",
"MacroF8",
};
ZCONFIG_MACRO* pMacro = ZGetConfiguration()->GetMacro();
if(pMacro) {
MEdit* pEdit = NULL;
for(int i=0;i<ZCONFIG_MACRO_MAX;i++) {
pEdit = (MEdit*) pResource->FindWidget(stemp_str[i]);
if (pEdit) {
pEdit->SetText( pMacro->GetString(i) );
}
}
}
}
mlog("end of InitInterface option ok\n");
}
bool ZOptionInterface::SaveInterfaceOption(void)
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
{ // ½½¶óÀÌ´õ
MSlider* pWidget = (MSlider*)pResource->FindWidget("MouseSensitivitySlider");
Z_MOUSE_SENSITIVITY = (float) ((MSlider*)pWidget)->GetValue() / (float)MOUSE_SENSITIVITY_MAX;
pWidget = (MSlider*)pResource->FindWidget("JoystickSensitivitySlider");
Z_JOYSTICK_SENSITIVITY = (float) ((MSlider*)pWidget)->GetValue() / (float)DEFAULT_SLIDER_MAX;
pWidget = (MSlider*)pResource->FindWidget("BGMVolumeSlider");
if(pWidget)
{
Z_AUDIO_BGM_VOLUME = (float) ((MSlider*)pWidget)->GetValue() / (float)DEFAULT_SLIDER_MAX;
ZGetSoundEngine()->SetMusicVolume(Z_AUDIO_BGM_VOLUME) ;
}
pWidget = (MSlider*)pResource->FindWidget("EffectVolumeSlider");
if(pWidget)
{
Z_AUDIO_EFFECT_VOLUME = (float) ((MSlider*)pWidget)->GetValue() / (float)DEFAULT_SLIDER_MAX;
ZGetSoundEngine()->SetEffectVolume(Z_AUDIO_EFFECT_VOLUME);
}
}
int i=0;
//for(i=0; i<ZACTION_COUNT; i++) {
// ZGetInput()->UnregisterActionKey(i);
//}
// ¸ðµÎ Ŭ¸®¾îÈÄ Àçµî·Ï
ZGetInput()->ClearActionKey();
for(i=0; i<ZACTION_COUNT; i++){
char szItemName[256];
sprintf(szItemName, "%sActionKey", ZGetConfiguration()->GetKeyboard()->ActionKeys[i].szName);
ZActionKey* pWidget = (ZActionKey*)pResource->FindWidget(szItemName);
if(pWidget==NULL) continue;
int nKey = 0;
pWidget->GetActionKey(&nKey);
// Mint::GetInstance()->UnregisterActionKey(i);
// Mint::GetInstance()->RegisterActionKey(i, nKey); // Å° µî·Ï
// ZGetInput()->UnregisterActionKey(i);
ZGetInput()->RegisterActionKey(i,nKey);
ZVIRTUALKEY altKey;
pWidget->GetActionAltKey(&altKey);
if(altKey!=-1)
ZGetInput()->RegisterActionKey(i,altKey);
// ZConfigurationÀ¸·Î ¿É¼Ç ÀúÀå
ZGetConfiguration()->GetKeyboard()->ActionKeys[i].nVirtualKey = nKey;
ZGetConfiguration()->GetKeyboard()->ActionKeys[i].nVirtualKeyAlt = altKey;
}
// »õ Å°¸ÊÈÄ ¸ðµç Å°»óŸ¦ release·Î ¼ÂÆÃ
ZGetInput()->OffActionKeys();
/*
int nCnt[ZACTION_COUNT];
for(i=0; i<ZACTION_COUNT; i++)
{
nCnt[i] = ZGetConfiguration()->GetKeyboard()->ActionKeys[i].nVirtualKey;
}
*/
{
Z_VIDEO_WIDTH = RGetScreenWidth();
Z_VIDEO_HEIGHT = RGetScreenHeight();
Z_VIDEO_FULLSCREEN = RIsFullScreen();
Z_VIDEO_BPP = RGetPixelFormat()==D3DFMT_X8R8G8B8 ? 32:16 ;
MComboBox* pWidget = (MComboBox*)pResource->FindWidget("CharTexLevel");
int TexLevel = 0;
DWORD flag = 0;
int EffectLevel = 0;
int nTextureFormat = 0;
if(pWidget) {
TexLevel = pWidget->GetSelIndex();
if( ZGetConfiguration()->GetVideo()->bTerrible ){
ZGetConfiguration()->GetVideo()->nCharTexLevel = TexLevel;
if( TexLevel == 2 )
SetObjectTextureLevel(TexLevel+2);
else
SetObjectTextureLevel(TexLevel);
flag |= RTextureType_Object;
}
else if( ZGetConfiguration()->GetVideo()->nCharTexLevel != TexLevel ) {
ZGetConfiguration()->GetVideo()->nCharTexLevel = TexLevel;
SetObjectTextureLevel(TexLevel);
flag |= RTextureType_Object;
}
}
pWidget = (MComboBox*)pResource->FindWidget("MapTexLevel");
if(pWidget) {
TexLevel = pWidget->GetSelIndex();
if( ZGetConfiguration()->GetVideo()->bTerrible ){
ZGetConfiguration()->GetVideo()->nCharTexLevel = TexLevel;
if( TexLevel == 2 )
SetObjectTextureLevel(TexLevel+2);
else
SetObjectTextureLevel(TexLevel);
flag |= RTextureType_Object;
}
if( ZGetConfiguration()->GetVideo()->nMapTexLevel != TexLevel ) {
ZGetConfiguration()->GetVideo()->nMapTexLevel = TexLevel;
SetMapTextureLevel(TexLevel);
flag |= RTextureType_Map;
}
}
pWidget = (MComboBox*)pResource->FindWidget("EffectLevel");
if(pWidget) {
EffectLevel = pWidget->GetSelIndex();
if( ZGetConfiguration()->GetVideo()->nEffectLevel != EffectLevel ) {
ZGetConfiguration()->GetVideo()->nEffectLevel = EffectLevel;
SetEffectLevel(EffectLevel);
// flag |= RTextureType_Map;
}
}
pWidget = (MComboBox*)pResource->FindWidget("TextureFormat");
if(pWidget) {
nTextureFormat = pWidget->GetSelIndex();
if( ZGetConfiguration()->GetVideo()->nTextureFormat != nTextureFormat ) {
ZGetConfiguration()->GetVideo()->nTextureFormat = nTextureFormat;
SetTextureFormat(nTextureFormat);
flag = RTextureType_All;
}
}
if(flag) {
RChangeBaseTextureLevel(flag);
}
}
{ // µ¿¿µ»ó ĸÃÄ 20081017... by kam
MComboBox* pWidget = (MComboBox*)pResource->FindWidget("MovingPictureResolution");
int iResolution = 0;
if(pWidget) {
iResolution = pWidget->GetSelIndex();
ZGetConfiguration()->GetMovingPicture()->iResolution = iResolution; // configuration¿¡ ¼¼ÆÃÇÑ´Ù.
#ifndef _DEBUG
SetBandiCaptureConfig(iResolution); // ¹Ýµðĸó µ¿¿µ»ó Çػ󵵿¡ Àû¿ëÇÑ´Ù
#endif
}
pWidget = (MComboBox*)pResource->FindWidget("MovingPictureFileSize");
int iFileSize = 0;
if(pWidget) {
iFileSize = pWidget->GetSelIndex();
ZGetConfiguration()->GetMovingPicture()->iFileSize = iFileSize; // configuration¿¡ ¼¼ÆÃÇÑ´Ù.
#ifndef _DEBUG
SetBandiCaptureFileSize(iFileSize); // ¹Ýµðĸó µ¿¿µ»ó ÆÄÀÏÅ©±â ¼¼Æÿ¡ Àû¿ëÇÑ´Ù
#endif
}
}
{ // ¾ð¾î¼±ÅÃ
#ifdef _MULTILANGUAGE
MComboBox* pWidget = (MComboBox*)pResource->FindWidget("LanguageSelectComboBox");
if(pWidget) {
ZGetConfiguration()->SetSelectedLanguageIndex( pWidget->GetSelIndex());
}
#endif //_MULTILANGUAGE
}
{
MButton* pWidget = (MButton*)pResource->FindWidget("Reflection");
if(pWidget)
{
Z_VIDEO_REFLECTION = pWidget->GetCheck();
}
pWidget = (MButton*)pResource->FindWidget("LightMap");
if(pWidget)
{
Z_VIDEO_LIGHTMAP = pWidget->GetCheck();
if(ZGetGame()) {
ZGetGame()->GetWorld()->GetBsp()->LightMapOnOff(Z_VIDEO_LIGHTMAP);
}
else {
RBspObject::SetDrawLightMap(Z_VIDEO_LIGHTMAP);
}
}
pWidget = (MButton*)pResource->FindWidget("DynamicLight");
if(pWidget)
{
Z_VIDEO_DYNAMICLIGHT = pWidget->GetCheck();
}
pWidget = (MButton*)pResource->FindWidget("Shader");
if(pWidget)
{
Z_VIDEO_SHADER = pWidget->GetCheck();
if( Z_VIDEO_SHADER )
{
RGetShaderMgr()->SetEnable();
}
else
{
RGetShaderMgr()->SetDisable();
}
//*/
}
pWidget = (MButton*)pResource->FindWidget("BGMMute");
if( pWidget )
{
Z_AUDIO_BGM_MUTE = !(pWidget->GetCheck());
ZGetSoundEngine()->SetMusicMute( Z_AUDIO_BGM_MUTE );
}
pWidget = (MButton*)pResource->FindWidget("EffectMute");
if(pWidget)
{
Z_AUDIO_EFFECT_MUTE = !(pWidget->GetCheck());
ZGetSoundEngine()->SetEffectMute( Z_AUDIO_EFFECT_MUTE );
}
//pWidget = (MButton*)pResource->FindWidget("Effect3D");
//if(pWidget)
//{
// Z_AUDIO_3D_SOUND = pWidget->GetCheck();
// ZGetSoundEngine()->Set3DSound( Z_AUDIO_3D_SOUND );
//}
pWidget = (MButton*)pResource->FindWidget("8BitSound");
if(pWidget)
{
Z_AUDIO_8BITSOUND = pWidget->GetCheck();
#ifdef _BIRDSOUND
#else
ZGetSoundEngine()->SetSamplingBits(Z_AUDIO_8BITSOUND);
#endif
}
pWidget = (MButton*)pResource->FindWidget("InverseSound");
if(pWidget)
{
Z_AUDIO_INVERSE = pWidget->GetCheck();
#ifdef _BIRDSOUND
#else
ZGetSoundEngine()->SetInverseSound( Z_AUDIO_INVERSE );
#endif
}
pWidget = (MButton*)pResource->FindWidget("HWMixing");
if(pWidget)
{
Z_AUDIO_HWMIXING = pWidget->GetCheck();
#ifdef _BIRDSOUND
#else
ZGetSoundEngine()->Reset(g_hWnd, Z_AUDIO_HWMIXING);
#endif
}
pWidget = (MButton*)pResource->FindWidget("HitSound");
if(pWidget)
{
Z_AUDIO_HITSOUND = pWidget->GetCheck();
}
pWidget = (MButton*)pResource->FindWidget("NarrationSound");
if(pWidget)
{
Z_AUDIO_NARRATIONSOUND = pWidget->GetCheck();
}
pWidget = (MButton*)pResource->FindWidget("InvertMouse");
if(pWidget)
{
Z_MOUSE_INVERT = pWidget->GetCheck();
}
pWidget = (MButton*)pResource->FindWidget("InvertJoystick");
if(pWidget)
{
Z_JOYSTICK_INVERT = pWidget->GetCheck();
}
}
{ // Etc
MEdit* pEdit = (MEdit*)pResource->FindWidget("NetworkPort1");
if (pEdit)
{
int nPreviousPort = Z_ETC_NETWORKPORT1;
Z_ETC_NETWORKPORT1 = atoi(pEdit->GetText());
}
pEdit = (MEdit*)pResource->FindWidget("NetworkPort2");
if (pEdit)
{
int nPreviousPort = Z_ETC_NETWORKPORT2;
Z_ETC_NETWORKPORT2 = atoi(pEdit->GetText());
}
MButton* pBoost = (MButton*)pResource->FindWidget("BoostOption");
if(pBoost)
{
if (Z_ETC_BOOST != pBoost->GetCheck()) {
Z_ETC_BOOST = pBoost->GetCheck();
if (Z_ETC_BOOST)
ZGetGameClient()->PriorityBoost(true);
else
ZGetGameClient()->PriorityBoost(false);
}
}
MButton* pNormalChat = (MButton*)pResource->FindWidget("NormalChatOption");
if(pNormalChat)
{
if (Z_ETC_REJECT_NORMALCHAT != pNormalChat->GetCheck()) {
Z_ETC_REJECT_NORMALCHAT = pNormalChat->GetCheck();
if (Z_ETC_REJECT_NORMALCHAT)
ZGetGameClient()->SetRejectNormalChat(true);
else
ZGetGameClient()->SetRejectNormalChat(false);
}
}
MButton* pTeamChat = (MButton*)pResource->FindWidget("TeamChatOption");
if(pTeamChat)
{
if (Z_ETC_REJECT_TEAMCHAT != pTeamChat->GetCheck()) {
Z_ETC_REJECT_TEAMCHAT = pTeamChat->GetCheck();
if (Z_ETC_REJECT_TEAMCHAT)
ZGetGameClient()->SetRejectTeamChat(true);
else
ZGetGameClient()->SetRejectTeamChat(false);
}
}
MButton* pClanChat = (MButton*)pResource->FindWidget("ClanChatOption");
if(pClanChat)
{
if (Z_ETC_REJECT_CLANCHAT != pClanChat->GetCheck()) {
Z_ETC_REJECT_CLANCHAT = pClanChat->GetCheck();
if (Z_ETC_REJECT_CLANCHAT)
ZGetGameClient()->SetRejectClanChat(true);
else
ZGetGameClient()->SetRejectClanChat(false);
}
}
MButton* pWhisper = (MButton*)pResource->FindWidget("WhisperOption");
if(pWhisper)
{
if (Z_ETC_REJECT_WHISPER != pWhisper->GetCheck()) {
Z_ETC_REJECT_WHISPER = pWhisper->GetCheck();
if (Z_ETC_REJECT_WHISPER)
ZGetGameClient()->SetRejectWhisper(true);
else
ZGetGameClient()->SetRejectWhisper(false);
ZPostUserOption();
}
}
MButton* pInvite = (MButton*)pResource->FindWidget("InviteOption");
if(pInvite)
{
if (Z_ETC_REJECT_INVITE != pInvite->GetCheck()) {
Z_ETC_REJECT_INVITE = pInvite->GetCheck();
if (Z_ETC_REJECT_INVITE)
ZGetGameClient()->SetRejectInvite(true);
else
ZGetGameClient()->SetRejectInvite(false);
ZPostUserOption();
}
}
MComboBox* pComboBox = (MComboBox*)pResource->FindWidget("CrossHairComboBox");
if (pComboBox)
{
Z_ETC_CROSSHAIR = pComboBox->GetSelIndex();
}
pComboBox = (MComboBox*)pResource->FindWidget("FrameLimit_PerSecond");
if (pComboBox)
{
Z_ETC_FRAMELIMIT_PERSECOND = pComboBox->GetSelIndex();
RSetFrameLimitPerSeceond(Z_ETC_FRAMELIMIT_PERSECOND);
}
}
{
// Macro
static char stemp_str[ZCONFIG_MACRO_MAX][80] = {
"MacroF1",
"MacroF2",
"MacroF3",
"MacroF4",
"MacroF5",
"MacroF6",
"MacroF7",
"MacroF8",
};
ZCONFIG_MACRO* pMacro = ZGetConfiguration()->GetMacro();
if(pMacro) {
MEdit* pEdit = NULL;
for(int i=0;i<ZCONFIG_MACRO_MAX;i++) {
pEdit = (MEdit*) pResource->FindWidget(stemp_str[i]);
if (pEdit) {
pMacro->SetString(i, (char*)pEdit->GetText());
}
}
}
}
// °¨¸¶°ª ÀúÀå
MSlider* pSlider = (MSlider*)pResource->FindWidget("VideoGamma");
if (pSlider != NULL)
{
Z_VIDEO_GAMMA_VALUE = pSlider->GetValue();
}
ZGetConfiguration()->Save( Z_LOCALE_XML_HEADER);
return true;
}
void ZOptionInterface::ShowResizeConfirmDialog( bool Resized )
{
if( Resized )
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("ViewConfirm");
if(pWidget!= 0)
pWidget->Show( true, true );
}
else
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("ResizeConfirm");
if(pWidget!= 0)
pWidget->Show( true, true );
}
}
bool ZOptionInterface::SetTimer( bool b, float time /* = 0.f */ )
{
static DWORD DeadTime = 0;
if( !b )
{
mbTimer = b;
return false;
}
if( !mbTimer )
{
mTimerTime = timeGetTime();
mbTimer = true;
DeadTime = time*1000;
}
if(( timeGetTime() - mTimerTime ) > DeadTime )
{
DeadTime = 0;
mbTimer = false;
return true;
}
else
{
char szBuf[128];
sprintf(szBuf, "%d", min(max( (10 - (int)(( timeGetTime() - mTimerTime ) * 0.001)),0),10));
char szText[ 128];
ZTransMsg( szText, MSG_BACKTOTHEPREV, 1, szBuf);
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MLabel* Countdown = (MLabel*)pResource->FindWidget( "ViewConfirm_CountDown" );
if ( Countdown)
Countdown->SetText( szText);
}
return false;
}
void ZOptionInterface::ShowNetworkPortConfirmDialog()
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("NetworkPortConfirm");
if(pWidget!= 0) pWidget->Show( true, true );
}
bool ZOptionInterface::IsDiffNetworkPort()
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
int nCurrPort = ntohs( ZGetGameClient()->GetSafeUDP()->GetLocalPort() );
int nNewPort1, nNewPort2;
MEdit* pEdit1 = (MEdit*)pResource->FindWidget("NetworkPort1");
if ( pEdit1)
nNewPort1 = atoi( pEdit1->GetText());
else
return false;
MEdit* pEdit2 = (MEdit*)pResource->FindWidget("NetworkPort2");
if ( pEdit2)
nNewPort2 = atoi( pEdit2->GetText());
else
return false;
if ( nNewPort1 > nNewPort2)
{
char szStr[ 25];
itoa( Z_ETC_NETWORKPORT1, szStr, 10);
pEdit1->SetText( szStr);
itoa( Z_ETC_NETWORKPORT2, szStr, 10);
pEdit2->SetText( szStr);
return false;
}
if ( ( nNewPort1 != Z_ETC_NETWORKPORT1) || ( nNewPort2 != Z_ETC_NETWORKPORT2))
return true;
return false;
}
void ZOptionInterface::OptimizationVideoOption()
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MButton* pButton = 0;
MComboBox* pCombo = 0;
MLabel* pLabel = 0;
ZGetConfiguration()->SetForceOptimization( true );
if(!RIsHardwareTNL())
{
pCombo = (MComboBox*)pResource->FindWidget("CharTexLevel");
if(pCombo!=0) pCombo->SetSelIndex(2); // ³ª»Ý
pCombo = (MComboBox*)pResource->FindWidget("MapTexLevel");
if(pCombo!=0) pCombo->SetSelIndex(2); // ³ª»Ý
pCombo = (MComboBox*)pResource->FindWidget("EffectLevel");
if(pCombo!=0) pCombo->SetSelIndex(2); // ³ª»Ý
pCombo = (MComboBox*)pResource->FindWidget("TextureFormat");
if(pCombo!=0) pCombo->SetSelIndex(0); // 16 bit
pButton = (MButton*)pResource->FindWidget("Reflection");
if(pButton!=0) pButton->SetCheck(false);
pButton = (MButton*)pResource->FindWidget("LightMap");
if(pButton!=0) pButton->SetCheck(false);
pButton = (MButton*)pResource->FindWidget("DynamicLight");
if(pButton!=0) pButton->SetCheck(false);
pCombo = (MComboBox*)pResource->FindWidget("ScreenResolution");
if( pCombo != 0)
{
D3DDISPLAYMODE ddm;
ddm.Width = 640;
ddm.Height = 480;
ddm.Format = D3DFMT_R5G6B5;
ddm.RefreshRate = DEFAULT_REFRESHRATE;
map<int, D3DDISPLAYMODE>::iterator iter_ = find_if( gDisplayMode.begin(), gDisplayMode.end(), value_equals<int, D3DDISPLAYMODE>(ddm));
if( iter_ != gDisplayMode.end() )
{
int n = iter_->first;
pCombo->SetSelIndex( n );
}
}
ZGetConfiguration()->GetVideo()->bTerrible = true;
return;
}
ZGetConfiguration()->GetVideo()->bTerrible = false;
int nVMem = RGetApproxVMem() /1024 /1024;
if( nVMem < 32 )
{
pCombo = (MComboBox*)pResource->FindWidget("CharTexLevel");
if(pCombo!=0) pCombo->SetSelIndex(2); // ³ª»Ý
pCombo = (MComboBox*)pResource->FindWidget("MapTexLevel");
if(pCombo!=0) pCombo->SetSelIndex(2); // ³ª»Ý
pCombo = (MComboBox*)pResource->FindWidget("EffectLevel");
if(pCombo!=0) pCombo->SetSelIndex(2); // ³ª»Ý
pCombo = (MComboBox*)pResource->FindWidget("TextureFormat");
if(pCombo!=0) pCombo->SetSelIndex(0); // 16 bit
pButton = (MButton*)pResource->FindWidget("Reflection");
if(pButton!=0) pButton->SetCheck(false);
pButton = (MButton*)pResource->FindWidget("DynamicLight");
if(pButton!=0) pButton->SetCheck(false);
}
else if( nVMem < 64 )
{
pCombo = (MComboBox*)pResource->FindWidget("CharTexLevel");
if(pCombo!=0) pCombo->SetSelIndex(1); // º¸Åë
pCombo = (MComboBox*)pResource->FindWidget("MapTexLevel");
if(pCombo!=0) pCombo->SetSelIndex(2); // ³ª»Ý
pCombo = (MComboBox*)pResource->FindWidget("EffectLevel");
if(pCombo!=0) pCombo->SetSelIndex(1); // º¸Åë
pCombo = (MComboBox*)pResource->FindWidget("TextureFormat");
if(pCombo!=0) pCombo->SetSelIndex(0); // 16 bit
pButton = (MButton*)pResource->FindWidget("Reflection");
if(pButton!=0) pButton->SetCheck(false);
pButton = (MButton*)pResource->FindWidget("DynamicLight");
if(pButton!=0) pButton->SetCheck(true);
}
else // nVMem > 64
{
pCombo = (MComboBox*)pResource->FindWidget("CharTexLevel");
if(pCombo!=0) pCombo->SetSelIndex(1); // º¸Åë
pCombo = (MComboBox*)pResource->FindWidget("MapTexLevel");
if(pCombo!=0) pCombo->SetSelIndex(1); // º¸Åë
pCombo = (MComboBox*)pResource->FindWidget("EffectLevel");
if(pCombo!=0) pCombo->SetSelIndex(0); // ÁÁÀ½
pCombo = (MComboBox*)pResource->FindWidget("TextureFormat");
if(pCombo!=0) pCombo->SetSelIndex(1); // 32 bit
pButton = (MButton*)pResource->FindWidget("Reflection");
if(pButton!=0) pButton->SetCheck(true);
pButton = (MButton*)pResource->FindWidget("DynamicLight");
if(pButton!=0) pButton->SetCheck(true);
}
//pLabel = (MLabel*)pResource->FindWidget("Lightmap Label");
//if(pLabel!=0) pLabel->SetTextColor(MCOLOR(64,64,64));
pButton = (MButton*)pResource->FindWidget("LightMap");
if(pButton!=0) {
pButton->SetCheck(true);
//pButton->Enable(false);
}
if(RIsSupportVS())
{
pButton = (MButton*)pResource->FindWidget("Shader");
if(pButton!=0) pButton->SetCheck(true);
}
else
{
pButton = (MButton*)pResource->FindWidget("Shader");
if(pButton!=0) pButton->SetCheck(false);
}
}
bool ZOptionInterface::ResizeWidgetRecursive( MWidget* pWidget/*, int w, int h*/)
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
//MWidget* pWidget = pResource->FindWidget(szName);
if(pWidget==NULL) return false;
int n = pWidget->GetChildCount();
for( int i = 0; i < n; ++i)
{
MWidget* pChildWidget = pWidget->GetChild(i);
ResizeWidgetRecursive( pChildWidget/*, w, h */);
}
// idl¿¡¼ ÀÐ¾î¼ ÀûÀýÇÑ °ªÀ» °¡Áö°í ÀÖ´Â À§Á¬À̶ó¸é ±×°ªÀ¸·Î ¸®»çÀÌÁîÇÑ´Ù
if(pWidget->GetIDLRect().w>0 && pWidget->GetIDLRect().h>0)
{
// idl ¿¡¼´Â 800x600 ±âÁØÀ¸·Î ±â¼úµÇ¾îÀÖ´Ù
const float tempWidth = ((float)RGetScreenWidth()) / 800;
const float tempHeight = ((float)RGetScreenHeight()) / 600;
MRECT r=pWidget->GetIDLRect();
r.x*=tempWidth;
r.w*=tempWidth;
r.y*=tempHeight;
r.h*=tempHeight;
pWidget->SetBounds(r);
}
else
{
const float tempWidth = ((float)RGetScreenWidth()) / mOldScreenWidth;
const float tempHeight = ((float)RGetScreenHeight()) / mOldScreenHeight;
MPOINT p = pWidget->GetPosition();
p.Scale( tempWidth, tempHeight );
pWidget->SetPosition( p );
MRECT r=pWidget->GetRect();
pWidget->SetSize( r.w*tempWidth, r.h*tempHeight );
}
return true;
}
void ZOptionInterface::AdjustMultipliedWidgetsManually()
{
// ±âÁ¸ÇÔ¼ö -> bool ZOptionInterface::ResizeWidget(const char* szName, int w, int h) ¿¡¼ °¡Á®¿Â ÄÚµå´Ù
// ÇϵåÄÚµùµéÀÌ´Ù......
int w = RGetScreenWidth();
int h = RGetScreenHeight();
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget;
pWidget = pResource->FindWidget("Login");
if (pWidget) {
// Resize frame
pWidget->SetSize( w, h);
// Resize background image
pWidget = pResource->FindWidget( "Login_BackgrdImg");
if ( pWidget)
pWidget->SetSize( w, h);
// Reposition login frame
pWidget = pResource->FindWidget( "LoginFrame");
if ( pWidget)
{
MRECT rect;
rect = pWidget->GetRect();
//jintriple3 Çػ󵵿¡ µû¸¥ ¼¹ö ¼±Åà â À§Ä¡ Áß¾Ó¿¡¼ ¾à°£ ¾Æ·¡·Î...
/* rect.x = (w / 2) - (rect.w / 2) + 5;
rect.y = h - rect.h - 10;
*/
rect.x = (w / 2) - (rect.w / 2) + 5;
rect.y = (int)((float)h * 0.555f);
if( rect.h + rect.y > h )
rect.y = h - rect.h - 10;
pWidget->SetBounds( rect);
}
// REposition connecting message
pWidget = pResource->FindWidget( "Login_ConnectingMsg");
if ( pWidget)
{
MRECT rect;
rect = pWidget->GetRect();
rect.x = 0;
rect.y = (int)(h * 0.66f);
rect.w = w;
pWidget->SetBounds( rect);
}
}
/*pWidget = pResource->FindWidget("Shop");
if (pWidget) {
//_AdjustMultipliedItemListManually("AllEquipmentList", "Shop_ListLabel");
//_AdjustMultipliedItemListManually("MyAllEquipmentList", "Shop_ListLabel");
//_AdjustMultipliedItemListManually("CashEquipmentList", "Shop_ListLabel");
ZGetGameInterface()->GetShopEquipInterface()->SelectEquipmentFrameList( "Shop", false);
}
pWidget = pResource->FindWidget("Equipment");
if (pWidget) {
//_AdjustMultipliedItemListManually("EquipmentList", "Equip_ListLabel1");
//_AdjustMultipliedItemListManually("AccountItemList", "Equip_ListLabel2");
ZGetGameInterface()->GetShopEquipInterface()->SelectEquipmentFrameList( "Equip", true);
}*/
ZGetGameInterface()->GetShopEquipInterface()->SelectEquipmentFrameList( NULL, true);
/*
pWidget = pResource->FindWidget("Replay_FileList");
if (pWidget) {
enum { LF_FILENAME, LF_VERSION, LF_MAX };
MListBox* pReplayListBox = (MListBox*)pWidget;
MRECT rc = pReplayListBox->GetClientRect();
if (pReplayListBox->GetFieldCount() == LF_MAX) {
pReplayListBox->GetField(LF_FILENAME)->nTabSize = rc.0.75f *
} else {
ASSERT(0);
}
}*/
pWidget = pResource->FindWidget("Stage");
if (pWidget) {
ZApplication::GetStageInterface()->GetSacrificeItemBoxPos();
ZApplication::GetStageInterface()->SetRelayMapBoxPos(0);
}
pWidget = pResource->FindWidget("Lobby");
if (pWidget) {
ZRoomListBox* pRoomList;
pRoomList = (ZRoomListBox*)pResource->FindWidget( "Lobby_StageList" );
if( pRoomList != 0 )
{
const float tempWidth = ((float)RGetScreenWidth()) / mOldScreenWidth;
const float tempHeight = ((float)RGetScreenHeight()) / mOldScreenHeight;
pRoomList->Resize( tempWidth, tempHeight );
}
}
pWidget = pResource->FindWidget("CharCreation");
if (pWidget) {
MRECT rect;
rect = pWidget->GetRect();
rect.x = 50 * ( RGetScreenWidth() / 800.0f);
rect.y = (int)((RGetScreenHeight() - rect.h) / 2.0f);
pWidget->SetBounds( rect);
}
pWidget = pResource->FindWidget("CombatDTInfo");
if (pWidget) {
}
/*
else if(stricmp( szName, "CombatDTInfo")==0)
ResizeWidgetRecursive( pWidget, w, h );
else if(stricmp( szName, "CombatDT_CharacterInfo")==0)
ResizeWidgetRecursive( pWidget, w, h );
*/
pWidget = pResource->FindWidget("BuyItemDetailFrame_Thumbnail");
if (pWidget) { // ÀÌ ½æ³×ÀÏ À̹ÌÁö´Â ¿ÍÀ̵å Çػ󵵿¡¼µµ Á¤»ç°¢ÇüÀ¸·Î º¸À̵µ·Ï Á¶Á¤
MRECT rc = pWidget->GetRect();
rc.h = rc.w;
pWidget->SetBounds(rc);
}
}
extern MFontR2* g_pDefFont;
void ZOptionInterface::ResizeDefaultFont( int newScreenHeight )
{
// ÆùÆ®¸¦ ±âÁØ ÇØ»óµµ(800*600)¿¡¼ ¸î¹èÇÒ °ÍÀÎÁö °è»ê
float fontResizeRatio = newScreenHeight/600.f;
// µðÆúÆ® ÆùÆ® Å©±â º¯°æ
g_pDefFont->Destroy();
int newFontHeight = (int)(DEFAULT_FONT_HEIGHT * fontResizeRatio + 0.5f); //UIÀÛ¼º½Ã ±âÁØÇػ󵵰¡ 800*600À̹ǷΠ600¿¡ ´ëÇØ °è»ê
if (newFontHeight < FONT_MINIMUM_HEIGHT)
newFontHeight = FONT_MINIMUM_HEIGHT; // 640*480¿¡¼ ³Ê¹« ¹¶°³ÁöÁö ¾Ê°Ô
if (!g_pDefFont->Create("Default", Z_LOCALE_DEFAULT_FONT, newFontHeight, 1.0f))
{
mlog("Fail to Recreate default font : MFontR2 / screen resize\n" );
g_pDefFont->Destroy();
SAFE_DELETE( g_pDefFont );
}
// UI¿¡¼ ·ÎµùµÈ ÆùÆ®µé Å©±â º¯°æ
MFontManager::Resize( fontResizeRatio, FONT_MINIMUM_HEIGHT ); //¿ø·¡ Å©±â(800*600±âÁØUI)¿¡ ´ëÇؼ ¸î¹èÀ²·Î º¯ÈÇؾßÇÏ´ÂÁö¸¦ ¾Ë·ÁÁÜ
}
void ZOptionInterface::Resize(int w, int h)
{
ResizeDefaultFont(h);
// ÇØ»óµµ º¯°æ½Ã À§Á¬µéÀÇ Å©±â¸¦ ¹èÀ²ÇØÁØ´Ù
if (mOldScreenHeight == 0) mOldScreenHeight = 600;
if (mOldScreenWidth == 0) mOldScreenWidth = 800;
ZGetGameInterface()->MultiplySize(w/800.f, h/600.f, w/float(mOldScreenWidth), h/float(mOldScreenHeight));
AdjustMultipliedWidgetsManually(); // ¹èÀ²Àû¿ëÇÏ°í³ª¼ Á÷Á¢ ¸Å¸¸Á®Áà¾ß ÇÏ´Â ºÎºÐµé
ZGetGameInterface()->SetSize(w, h);
if (ZGetCombatInterface()) ZGetCombatInterface()->Resize(w, h);
/* ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("StageCreateFrame");
if (pWidget)
{
ResizeWidgetRecursive(pWidget);
int parentWidth=-1, parentHeight=-1;
MWidget* pParent = pWidget->GetParent();
if (pParent) {
parentWidth = pParent->GetRect().w;
parentHeight = pParent->GetRect().h;
}
pWidget->SetBoundsAlignment( pWidget->GetBoundsAlignment(), parentWidth, parentHeight);
}
ZGetGameInterface()->SetSize(w, h);
ResizeWidget("Login", w, h);
ResizeWidget("Shop", w, h);
ResizeWidget("Equipment", w, h);
ResizeWidget("Lobby", w, h);
ResizeWidget("Stage", w, h);
ResizeWidget("Game", w, h);
ResizeWidget("Greeter", w, h);
//ResizeWidget("Option", w, h);
ResizeWidget("CharSelection", w, h);
ResizeWidget("CharCreation", w, h);
ResizeWidget("GameResult", w, h);
ResizeWidget("MonsterBook", w, h);
ResizeWidget("CombatTDMInfo", w, h);
ResizeWidget("CombatDTInfo", w, h);
ResizeWidget("CombatDT_CharacterInfo", w, h);
if (ZGetCombatInterface()) ZGetCombatInterface()->Resize(w, h);*/
}
void ZOptionInterface::GetOldScreenResolution()
{
RMODEPARAMS ModeParams;
ModeParams.nWidth = mOldScreenWidth;
ModeParams.nHeight = mOldScreenHeight;
ModeParams.bFullScreen = RIsFullScreen();
ModeParams.PixelFormat = mnOldBpp;
//jintriple3 ÇØ»óµµ º¯°æ ÈÄ ÇÁ¸® ºä¿¡¼ ĵ½½ÇÏ¸é °ÔÀÓ ·ë ¸®½ºÆ®ÀÇ Å©±â°¡ ÀÌ»óÇØÁö´Â ¹ö±× ¼öÁ¤.
mOldScreenWidth = RGetScreenWidth();
mOldScreenHeight = RGetScreenHeight();
mnOldBpp = RGetPixelFormat();
RResetDevice( &ModeParams );
Mint::GetInstance()->SetWorkspaceSize(ModeParams.nWidth, ModeParams.nHeight);
Mint::GetInstance()->GetMainFrame()->SetSize(ModeParams.nWidth, ModeParams.nHeight);
Resize(ModeParams.nWidth, ModeParams.nHeight);
D3DDISPLAYMODE ddm;
ddm.Width = ModeParams.nWidth;
ddm.Height = ModeParams.nHeight;
ddm.Format = ModeParams.PixelFormat;
ddm.RefreshRate = DEFAULT_REFRESHRATE;
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MComboBox *pWidget = (MComboBox*)pResource->FindWidget( "ScreenResolution" );
map<int, D3DDISPLAYMODE>::iterator iter = find_if( gDisplayMode.begin(), gDisplayMode.end(), value_equals<int, D3DDISPLAYMODE>(ddm));
if( iter != gDisplayMode.end() )
pWidget->SetSelIndex( iter->first );
}
bool ZOptionInterface::IsDiffScreenResolution()
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MComboBox *pWidget = (MComboBox*)pResource->FindWidget("ScreenResolution");
if(pWidget)
{
int nSel = pWidget->GetSelIndex();
D3DDISPLAYMODE ddm = (gDisplayMode.find( nSel ))->second;
if( ddm.Width == RGetScreenWidth() && ddm.Height == RGetScreenHeight() && ddm.Format == RGetPixelFormat() )
return false;
#ifdef _DEBUG
mlog( "%d/%d , %d/%d, %d/%d\n", ddm.Width, RGetScreenWidth(), ddm.Height, RGetScreenHeight(), ddm.Format == D3DFMT_X8R8G8B8 ? 32 : 16, RGetPixelFormat() == D3DFMT_X8R8G8B8 ? 32 : 16 );
#endif
}
return true;
}
bool ZOptionInterface::TestScreenResolution()
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MComboBox *pWidget = (MComboBox*)pResource->FindWidget("ScreenResolution");
if(pWidget)
{
RMODEPARAMS ModeParams;
map<int, D3DDISPLAYMODE>::iterator iter = gDisplayMode.find( pWidget->GetSelIndex() );
if( iter == gDisplayMode.end() )
{
mlog("¼±ÅÃÇÑ Çػ󵵰¡ Á¸ÀçÇÏÁö ¾Ê¾Æ¼ ÇØ»óµµ º¯°æ¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù..\n" );
return false;
}
D3DDISPLAYMODE ddm = iter->second;
mOldScreenWidth = RGetScreenWidth();
mOldScreenHeight = RGetScreenHeight();
mnOldBpp = RGetPixelFormat();
ModeParams.nWidth = ddm.Width;
ModeParams.nHeight = ddm.Height;
ModeParams.bFullScreen = RIsFullScreen();
ModeParams.PixelFormat = ddm.Format;
RResetDevice(&ModeParams);
Mint::GetInstance()->SetWorkspaceSize(ModeParams.nWidth, ModeParams.nHeight);
Mint::GetInstance()->GetMainFrame()->SetSize(ModeParams.nWidth, ModeParams.nHeight);
Resize(ModeParams.nWidth, ModeParams.nHeight);
}
return true;
}
void ZOptionInterface::Update()
{
if( mbTimer )
{
if( SetTimer(true) )
{
GetOldScreenResolution();
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("ViewConfirm");
if(pWidget!= 0) pWidget->Show( false );
}
}
}
void ZOptionInterface::OnActionKeySet(ZActionKey* pActionKey, ZVIRTUALKEY key)
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
for(int i=0; i<ZACTION_COUNT; i++){
char szItemName[256];
sprintf(szItemName, "%sActionKey", ZGetConfiguration()->GetKeyboard()->ActionKeys[i].szName);
ZActionKey* pWidget = (ZActionKey*)pResource->FindWidget(szItemName);
if(pWidget==NULL) continue;
if(pWidget==pActionKey) continue;
if(pWidget->DeleteActionKey(key))
pWidget->UpdateText();
}
}
///////////////////// ÀÌÇÏ interface listener
BEGIN_IMPLEMENT_LISTENER(ZGetOptionFrameButtonListener, MBTN_CLK_MSG)
// ¿É¼Ç ÇÁ·¹ÀÓ º¸¿©ÁÖ±â
ZGetOptionInterface()->InitInterfaceOption();
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("Option");
pWidget->Show(true, true);
#ifdef LOCALE_NHNUSA
pWidget = pResource->FindWidget( "Option_Textarea01");
if ( pWidget) pWidget->Show( false);
MButton* pButton = (MButton*)pResource->FindWidget( "BoostOption");
if ( pButton)
{
pButton->SetCheck( false);
pButton->Show( false);
}
#endif
#ifndef _MULTILANGUAGE // ´ÙÁß¾ð¾îÁö¿ø µðÆÄÀÎÀ» ²°À»¶© ¾ð¾î¼±Åà ÄÞº¸¹Ú½º¸¦ ¼û°Ü¹ö¸°´Ù
pWidget = (MLabel*)pResource->FindWidget( "LanguageSelectLabel");
if ( pWidget) {
pWidget->Show( false);
}
MComboBox* pCBType = (MComboBox*)pResource->FindWidget( "LanguageSelectComboBox");
if ( pCBType) {
pCBType->Show( false);
}
#endif
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER(ZGetSaveOptionButtonListener, MBTN_CLK_MSG)
// Save & Close
/*
ZApplication::GetGameInterface()->SaveInterfaceOption();
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("Option");
if(pWidget!=NULL) pWidget->Show(false);
//*/
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
if( pWidget->m_bEventAcceleratorCall ) {
MTabCtrl* pTab = (MTabCtrl*)pResource->FindWidget("OptionTabControl");
if(pTab) {//Å°º¸µå ¿É¼ÇÀº Å°ÀÔ·ÂÀ» ¸·¾ÆÁØ´Ù.
if(pTab->GetSelIndex()==3)//À̸§À» ã¾Æ Á¶»ç
return true;
}
}
if( ZGetOptionInterface()->IsDiffNetworkPort() )
{
static bool bRestartAsk = false;
if (bRestartAsk == false) {
ZGetOptionInterface()->ShowNetworkPortConfirmDialog();
bRestartAsk = true;
return true;
}
}
if( ZGetOptionInterface()->IsDiffScreenResolution() )
{
ZGetOptionInterface()->ShowResizeConfirmDialog( false );
}
else
{
bool bLanguageChanged = false;
MComboBox* pLanguageComboBox = (MComboBox*)pResource->FindWidget("LanguageSelectComboBox");
if (pLanguageComboBox) {
if (ZGetConfiguration()->GetSelectedLanguageIndex() != pLanguageComboBox->GetSelIndex())
bLanguageChanged = true;
}
ZGetOptionInterface()->SaveInterfaceOption();
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("Option");
if(pWidget!=NULL) pWidget->Show(false);
if(bLanguageChanged) // Àç½ÃÀÛ È®ÀÎ ¸Þ¼¼Áö ¹Ú½º
{
ZApplication::GetGameInterface()->ShowConfirmMessage(
ZMsg(MSG_CONFIRM_RESTART_CHANGE_LANGUAGE), ZGetLanguageChangeConfirmListenter());
}
}
if (ZApplication::GetGameInterface()->GetState() == GUNZ_GAME)
{
if (ZGetCombatInterface())
{
ZGetCombatInterface()->GetCrossHair()->ChangeFromOption();
}
}
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER(ZGetCancelOptionButtonListener, MBTN_CLK_MSG)
// ZApplication::GetGameInterface()->SaveInterfaceOption();
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
// TODO: ÀÌ°Ô ÇÊ¿äÇÑ°¡ ? Å×½ºÆ® ¿ä¸Á
if( pWidget->m_bEventAcceleratorCall ) {
MTabCtrl* pTab = (MTabCtrl*)pResource->FindWidget("OptionTabControl");
if(pTab) {//Å°º¸µå ¿É¼ÇÀº Å°ÀÔ·ÂÀ» ¸·¾ÆÁØ´Ù.
if(pTab->GetSelIndex()==3)//À̸§À» ã¾Æ Á¶»ç
return true;
}
}
MWidget* pWidget = pResource->FindWidget("Option");
if(pWidget!=NULL) pWidget->Show(false);
// ¿ø·¡ °¨¸¶°ªÀ¸·Î µ¹¸®±â
MSlider* pSlider = (MSlider*)pResource->FindWidget("VideoGamma");
if (pSlider != NULL)
{
if (pSlider->GetValue() != Z_VIDEO_GAMMA_VALUE)
{
RSetGammaRamp(Z_VIDEO_GAMMA_VALUE);
}
}
// Close Only
// ZApplication::GetGameInterface()->SetState(GUNZ_PREVIOUS);
END_IMPLEMENT_LISTENER()
///////////////////////////////////////////////////
/// control
BEGIN_IMPLEMENT_LISTENER( ZGetLoadDefaultKeySettingListener, MBTN_CLK_MSG)
ZGetConfiguration()->LoadDefaultKeySetting( );
for(int i=0; i<ZACTION_COUNT; i++)
{
char szItemName[256];
sprintf(szItemName, "%sActionKey", ZGetConfiguration()->GetKeyboard()->ActionKeys[i].szName);
ZActionKey* pWidget = (ZActionKey*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget(szItemName);
if(pWidget==NULL) continue;
//unsigned int nKey = 0;
//pWidget->GetActionKey(&nKey);
//Mint::GetInstance()->UnregisterActionKey(i);
//Mint::GetInstance()->RegisterActionKey(i, nKey); // Å° µî·Ï
//m_Keyboard.ActionKeys[i].nScanCode = nKey; // ¿É¼Ç ÀúÀå
pWidget->ClearActionKey();
pWidget->SetActionKey(ZGetConfiguration()->GetKeyboard()->ActionKeys[i].nVirtualKey);
pWidget->SetActionKey(ZGetConfiguration()->GetKeyboard()->ActionKeys[i].nVirtualKeyAlt);
}
END_IMPLEMENT_LISTENER()
//////////////////////////////////////////////////
/// video
BEGIN_IMPLEMENT_LISTENER(ZGetOptionGammaSliderChangeListener, MLIST_VALUE_CHANGED)
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MSlider* pSlider = (MSlider*)pResource->FindWidget("VideoGamma");
if (pSlider != NULL)
{
unsigned short nGamma = (unsigned short)pSlider->GetValue();
if (nGamma < 50) nGamma = 50;
RSetGammaRamp(nGamma);
}
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER( ZGetRequestResizeListener, MBTN_CLK_MSG )
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("ResizeConfirm");
if(pWidget!= 0) pWidget->Show( false );
//ÇØ»óµµ º¯°æÈÄ
ZGetOptionInterface()->TestScreenResolution();
ZGetOptionInterface()->SetTimer( true, 10 );
ZGetOptionInterface()->ShowResizeConfirmDialog( true );
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER( ZGetViewConfirmCancelListener, MBTN_CLK_MSG )
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("ViewConfirm");
if(pWidget!= 0) pWidget->Show( false );
// ÇØ»óµµ ¿ø·¡´ë·Î º¯°æ
ZGetOptionInterface()->SetTimer( false );
ZGetOptionInterface()->GetOldScreenResolution();
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER( ZGetViewConfrimAcceptListener, MBTN_CLK_MSG )
ZGetOptionInterface()->SetTimer( false );
ZGetOptionInterface()->SaveInterfaceOption();
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("ViewConfirm");
if(pWidget!= 0) pWidget->Show( false );
pWidget = pResource->FindWidget("Option");
if(pWidget!=NULL) pWidget->Show(false);
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER(ZGetCancelResizeConfirmListener, MBTN_CLK_MSG)
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("ResizeConfirm");
if(pWidget!=NULL) pWidget->Show(false);
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER( ZSetOptimizationListener, MBTN_CLK_MSG )
ZGetOptionInterface()->OptimizationVideoOption();
END_IMPLEMENT_LISTENER()
//////////////////////////////////////////////////
/// sound
BEGIN_IMPLEMENT_LISTENER( ZGet8BitSoundListener, MBTN_CLK_MSG )
MButton* pWidget = (MButton*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget("8BitSound");
if(pWidget)
{
pWidget->SetCheck(true);
pWidget = (MButton*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget("16BitSound");
if(pWidget) pWidget->SetCheck(false);
}
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER( ZGet16BitSoundListener, MBTN_CLK_MSG )
MButton* pWidget = (MButton*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget("16BitSound");
if(pWidget)
{
pWidget->SetCheck(true);
pWidget = (MButton*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget("8BitSound");
if(pWidget) pWidget->SetCheck(false);
}
END_IMPLEMENT_LISTENER()
/////////////////////////////////////////////////
//// network
BEGIN_IMPLEMENT_LISTENER( ZGetNetworkPortChangeRestartListener, MBTN_CLK_MSG )
ZGetOptionInterface()->SaveInterfaceOption();
ZChangeGameState(GUNZ_SHUTDOWN);
ZApplication* pApp = ZApplication::GetInstance();
pApp->Exit();
END_IMPLEMENT_LISTENER()
BEGIN_IMPLEMENT_LISTENER( ZGetNetworkPortChangeCancelListener, MBTN_CLK_MSG )
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MWidget* pWidget = pResource->FindWidget("NetworkPortConfirm");
if(pWidget!= 0) pWidget->Show(false);
END_IMPLEMENT_LISTENER()
/////////////////////////////////////////////////
//// mouse
static void SetMouseSensitivitySlider(int i)
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MSlider* pSlider = (MSlider*)pResource->FindWidget("MouseSensitivitySlider");
if (pSlider)
{
pSlider->SetValue(i);
}
}
static void SetMouseSensitivityEdit(int i)
{
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MEdit* pEdit = (MEdit*)pResource->FindWidget("MouseSensitivityEdit");
if (pEdit)
{
char sz[1024] = "";
sprintf(sz, "%d", i);
pEdit->SetText(sz);
}
}
BEGIN_IMPLEMENT_LISTENER( ZGetMouseSensitivitySliderListener, MLIST_VALUE_CHANGED)
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MSlider* pSlider = (MSlider*)pResource->FindWidget("MouseSensitivitySlider");
if (pSlider != NULL)
{
int i = ZGetConfiguration()->ValidateMouseSensitivityInInt( pSlider->GetValue());
SetMouseSensitivityEdit(i);
}
END_IMPLEMENT_LISTENER()
// ÀÌ ¿¡µðÆ®¹Ú½º¿¡¼ ¸Þ½ÃÁö µÎ°³¸¦ ó¸®ÇؾßÇϱ⠶§¹®¿¡ BEGIN_IMPLEMENT_LISTENER/END_IMPLEMENT_LISTENER ¸ÅÅ©·Î¸¦ ¾È½èÀ½
MListener* ZGetMouseSensitivityEditListener(void){
class ListenerClass : public MListener
{
public:
virtual bool OnCommand(MWidget* pWidget, const char* szMessage){
ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
MEdit* pEdit= (MEdit*)pResource->FindWidget("MouseSensitivityEdit");
{
int i = atoi( pEdit->GetText());
int v = ZGetConfiguration()->ValidateMouseSensitivityInInt(i);
if(MWidget::IsMsg(szMessage, MEDIT_CHAR_MSG)==true)
{
SetMouseSensitivitySlider(v);
return true;
}
else if(MWidget::IsMsg(szMessage, MEDIT_KILL_FOCUS)==true)
{
SetMouseSensitivitySlider(v);
SetMouseSensitivityEdit(v);
return true;
}
}
return false;
}
};
static ListenerClass Listener;
return &Listener;
}
i did that before and tried it now still the same :
the problem is when i make a room and want to go to the market there is a bug that when i etner the market and want to get back to my room i must go to equipment and then exit or i will stuck at lobby!
note: when i do build gunz : this my cmd ! is it working?
i really need fix for that!
maybe @Chrisssgot a fix for that and i did what he said but he said to rebuild and i dont know how to rebuild maybe here is the problem! someone post a link for rebuild the source!
can i pm you?! plz