Beispiel #1
0
int CColoredButton::OnToolHitTest( CPoint point, TOOLINFO* pTI ) const
{
  UBYTE ubR, ubG, ubB;
  UBYTE ubH, ubS, ubV, ubA;
  ubH = m_ubComponents[0][0];
  ubS = m_ubComponents[0][1];
  ubV = m_ubComponents[0][2];
  ubA = m_ubComponents[0][3];
  ubR = m_ubComponents[1][0];
  ubG = m_ubComponents[1][1];
  ubB = m_ubComponents[1][2];
  
  CTString strColor;
  if( m_bMixedColor)
  {
    strColor.PrintF( "Mixed color");
  }
  else
  {
    strColor.PrintF( "HSV=(%d,%d,%d),   RGB=(%d,%d,%d),    Alpha=%d", ubH, ubS, ubV, ubR, ubG, ubB, ubA);
  }
  pTI->lpszText = (char *)malloc( strlen(strColor)+1);
  strcpy( pTI->lpszText, strColor);
  RECT rectToolTip;
  rectToolTip.left = 50;
  rectToolTip.right = 60;
  rectToolTip.top = 50;
  rectToolTip.bottom = 60;
  pTI->hwnd = GetParent()->m_hWnd;
  pTI->uId = (UINT) m_hWnd;
  pTI->rect = rectToolTip;
  pTI->uFlags = TTF_IDISHWND;
  return 1;
}
Beispiel #2
0
void CUIPortal::Create_SiegeDungeon_HuntingCtr_MsgBox(int nCurFree)
{
	CUIManager* pUIManager = CUIManager::getSingleton();

	if( pUIManager->DoesMessageBoxExist(MSGCMD_SIEGE_DUNGEON_HUNTING_FEE_CONTROL) )
		pUIManager->CloseMessageBox(MSGCMD_SIEGE_DUNGEON_HUNTING_FEE_CONTROL);

	CTString strMessage;
	CUIMsgBox_Info	MsgBoxInfo;

	MsgBoxInfo.SetMsgBoxInfo( _S(3935, "던전 수렵세율 조정" ), UMBS_OKCANCEL | UMBS_SPINBUTTON , UI_PORTAL, MSGCMD_SIEGE_DUNGEON_HUNTING_FEE_CONTROL, 300 );
	
	MsgBoxInfo.AddString( _S(3936, "던전 내의 몬스터가 드롭하는 나스 중 수렵세율만큼의 나스가 성주길드의 세금으로 지급됩니다.") );
	MsgBoxInfo.AddString( _S(3937, "던전의 수렵세율을 설정해주세요.") );
	CTString strMsg;
	strMsg.PrintF(_S(3938, "현재 수렵세율은 %d%%입니다."), nCurFree);
	MsgBoxInfo.AddString(strMsg);
	++MsgBoxInfo.m_nMaxRow;

	MsgBoxInfo.SetSpinButton(MsgBoxInfo.m_nMaxRow, 1, -1, _S(3939, "수렵세율%") + _s("   "));

	pUIManager->CreateMessageBox( MsgBoxInfo );

	for(int i=0; i<5; ++i)
	{
		CTString strData;
		strData.PrintF("%d", i*5);
		pUIManager->GetMessageBox(MSGCMD_SIEGE_DUNGEON_HUNTING_FEE_CONTROL)->GetSpinButton().AddData(strData);
	}
}
Beispiel #3
0
void CUIPortal::Create_SiegeDungeon_AdmissionCtr_MsgBox(int nCurFree)
{
	CUIManager* pUIManager = CUIManager::getSingleton();

	if( pUIManager->DoesMessageBoxExist(MSGCMD_SIEGE_DUNGEON_ADMISSION_FEE_CONTROL) )
		pUIManager->CloseMessageBox(MSGCMD_SIEGE_DUNGEON_ADMISSION_FEE_CONTROL);

	CTString strMessage;
	CUIMsgBox_Info	MsgBoxInfo;

	MsgBoxInfo.SetMsgBoxInfo( _S(3931, "던전 입장료 조정" ), UMBS_OKCANCEL | UMBS_SPINBUTTON , UI_PORTAL, MSGCMD_SIEGE_DUNGEON_ADMISSION_FEE_CONTROL, 300 );
	
	MsgBoxInfo.AddString( _S(3932, "던전의 입장료 세율을 설정해주세요.") );

	CTString strMsg;
	strMsg.PrintF(_S(3933, "현재 입장료 세율은 %d%%입니다."), nCurFree);
	MsgBoxInfo.AddString(strMsg);
	++MsgBoxInfo.m_nMaxRow;

	MsgBoxInfo.SetSpinButton(MsgBoxInfo.m_nMaxRow, 1, -1, _S(3934, "입장료 세율%") + _s("   "));

	pUIManager->CreateMessageBox( MsgBoxInfo );

	for(int i=0; i<17; ++i)
	{
		CTString strData;
		strData.PrintF("%d", 70+i*5);
		pUIManager->GetMessageBox(MSGCMD_SIEGE_DUNGEON_ADMISSION_FEE_CONTROL)->GetSpinButton().AddData(strData);
	}

}
Beispiel #4
0
void CWorld::loadSetItemData()
{
	CTString fnTemp; 
	CTString strFullPath = _fnmApplicationPath.FileDir();
	static BOOL bSetItemLoad = TRUE;

	//[ttos_2009_5_22]: 세트 아이템 적용
	if (m_bLoad == FALSE && !_bWorldEditorApp && bSetItemLoad)
	{
		CallProgressHook_t(0.0f);

		CTString tSetItemDataLoc;
		switch( g_iCountry )
		{
		case THAILAND:
			tSetItemDataLoc.PrintF("data\\setItemALL_th.lod");
			break;
		default:
			tSetItemDataLoc.PrintF("data\\setItemALL.lod");
			break;		
		}
		fnTemp = strFullPath + tSetItemDataLoc;
		if(CSetItemData::loadSetItemEx(fnTemp) == false)
		{
			MessageBox(NULL, "SetItem file is not correct", "Error!", MB_OK);
			_pGameState->Running() = FALSE;
			_pGameState->QuitScreen() = FALSE;
		}
		CallProgressHook_t(1.0f);
		LoadStringItemSet();
		bSetItemLoad = FALSE;
	}
}
Beispiel #5
0
void CWorld::loadBigpet()
{
	CTString fnTemp; 
	CTString strFullPath = _fnmApplicationPath.FileDir();

	static BOOL bAPetdata = TRUE;

	if (m_bLoad == FALSE && !_bWorldEditorApp && bAPetdata)
	{
		CallProgressHook_t(0.0f);

		CTString tWildPetDataLoc;
		switch( g_iCountry )
		{
		case THAILAND:
			tWildPetDataLoc.PrintF("data\\bigpet_th.lod");
			break;	
		default:
			tWildPetDataLoc.PrintF("data\\bigpet.lod");
			break;
		}
		fnTemp = strFullPath + tWildPetDataLoc;
		if(CWildPetData::loadEx(fnTemp) == false)
		{
			MessageBox(NULL, "Apet file is not correct", "Error!", MB_OK);
			_pGameState->Running() = FALSE;
			_pGameState->QuitScreen() = FALSE;
		}
		bAPetdata = FALSE;
		CallProgressHook_t(1.0f);
	}
}
void CUIQuestBook::OpenTutorialWindow()
{
	CUIManager* pUIManager = CUIManager::getSingleton();

	// If this is alreay exist.
	if( pUIManager->DoesMessageBoxLExist( MSGLCMD_QUEST_TUTORIAL_OPEN ) )
		return;

	pUIManager->CloseMessageBox(MSGCMD_QUEST_TUTORIAL_START);
	pUIManager->CloseMessageBox(MSGCMD_QUEST_TUTORIAL_CANCEL);

	// Create refine message box.
	pUIManager->CreateMessageBoxL( _S( 928,"튜토리얼" ), UI_QUESTBOOK_LIST, MSGLCMD_QUEST_TUTORIAL_OPEN );

	pUIManager->AddMessageBoxLString( MSGLCMD_QUEST_TUTORIAL_OPEN, TRUE, _S( 928, "튜토리얼" ), -1, 0xE18600FF );
	pUIManager->AddMessageBoxLString( MSGLCMD_QUEST_TUTORIAL_OPEN, TRUE, _S( 5039, "라스트카오스에 오신것을 환영합니다.\n이곳은 처음 접속하시는 유저분들을 위해\n기본 조작 방법을 안내하는 곳입니다.\n\n앞에 있는 문을 열고 통로를 따라가시면 각종\n몬스터가 등장하고, 통로 끝에 존재하는 몬스터를\n사냥하면 쥬노 란돌 마을로 이동하실 수 있습니다." ), -1, 0xA3A1A3FF );

	CTString strMessage;

	// accept
	strMessage.PrintF( _S( 5040, "확인 (튜토리얼을 진행합니다.)" ) );
	pUIManager->AddMessageBoxLString( MSGLCMD_QUEST_TUTORIAL_OPEN, FALSE, strMessage, RESPONSE_OK );

	// cancel.
	strMessage.PrintF( _S( 5041, "나가기 (튜토리얼을 진행하지 않습니다.)") );
	pUIManager->AddMessageBoxLString( MSGLCMD_QUEST_TUTORIAL_OPEN, FALSE, strMessage, RESPONSE_CALCEL );
}
Beispiel #7
0
void CWorld::loadCombo()
{
	CTString fnTemp; 
	CTString strFullPath = _fnmApplicationPath.FileDir();

	static BOOL bComboData = TRUE;

	if (m_bLoad == FALSE && !_bWorldEditorApp && bComboData)
	{
		CallProgressHook_t(0.0f);

		CTString tMissionCaseLoc;
		switch( g_iCountry )
		{
		case THAILAND:
			tMissionCaseLoc.PrintF("data\\combo_th.lod");
			break;
		default:
			tMissionCaseLoc.PrintF("data\\combo.lod");
			break;
		}
		fnTemp = strFullPath + tMissionCaseLoc;
		if(CMissionCase::loadEx(fnTemp) == false)
		{
			MessageBox(NULL, "combo file is not correct", "Error!", MB_OK);
			_pGameState->Running() = FALSE;
			_pGameState->QuitScreen() = FALSE;
		}
		CallProgressHook_t(1.0f);
		LoadStringCombo();

		bComboData = FALSE;
	}
}
Beispiel #8
0
void CWorld::loadMob()
{
	CTString fnTemp; 
	CTString strFullPath = _fnmApplicationPath.FileDir();
	CTString fnZoneFlag		= strFullPath + "data\\ZoneFlag.lod";

	static BOOL		bLoadMobData = TRUE;
	const BOOL		bWETestGame	= (_bWorldEditorApp && _bInTestGame);

	if ((bLoadMobData && !_bWorldEditorApp) || bWETestGame)
	{
		CTString	fnMobData;

		if( ( _pGameState && _pGameState->GetGameMode() != CGameState::GM_NONE ) || bWETestGame )
		{			
			CallProgressHook_t(0.0f);

			switch( g_iCountry )
			{
			case THAILAND:
				fnMobData.PrintF("data\\mobAll_th.lod");
				break;
			default:
				fnMobData.PrintF("data\\mobAll.lod");
				break;
			}

			fnTemp = strFullPath + fnMobData;

			if(CMobData::loadEx(fnTemp) == false)
			{
				MessageBox(NULL, "Npc file is not correct", "Error!", MB_OK);
				_pGameState->Running() = FALSE;
				_pGameState->QuitScreen() = FALSE;
			}

			if(CMobData::LoadZoneData(fnZoneFlag) == false)
			{
				MessageBox(NULL, "zoneFlag file is not correct", "Error!", MB_OK);
				_pGameState->Running() = FALSE;
				_pGameState->QuitScreen() = FALSE;
			}

			fnTemp = strFullPath + "data\\npc_channel.bin";
			CMobData::LoadChannelData(fnTemp);

			CallProgressHook_t(1.0f);
			LoadStringNPCName();

			bLoadMobData = FALSE;
		}
	}
}
void CUIQuestBook::AddQuestListToMessageBoxL(const int& iMessageBoxType)
{
	CUIManager* pUIManager = CUIManager::getSingleton();
	Quest* pQuest = GAMEDATAMGR()->GetQuest();

	if (pQuest == NULL)
		return;

	int iQuestIndex = -1;
	CTString strQuestTitle;
	int count;

	count = pQuest->GetCompleteQuestCount();

	for( int iComplete = 0; iComplete < count; ++iComplete )
	{
		iQuestIndex = pQuest->GetCompleteQuestIndex(iComplete);

		CQuestDynamicData qdd(CQuestSystem::Instance().GetStaticData(iQuestIndex));				
		strQuestTitle = qdd.GetName();

		if( 0 == strQuestTitle.Length() )
		{
			if (_pNetwork->m_ubGMLevel > 1)
				strQuestTitle.PrintF("Index : %d", iQuestIndex);
			else
				continue;
		}

		pUIManager->AddMessageBoxLString( iMessageBoxType, FALSE, strQuestTitle, ciQuestClassifier + iQuestIndex, 0xF2F200FF, CTString("A") );
	}

	count = pQuest->GetProceedQuestCount();

	for( int iNew = 0; iNew < count; ++iNew )
	{
		iQuestIndex = pQuest->GetProceedQuestIndex(iNew);

		CQuestDynamicData qdd(CQuestSystem::Instance().GetStaticData(iQuestIndex));				
		strQuestTitle = qdd.GetName();

		if( 0 == strQuestTitle.Length() )
		{
			if (_pNetwork->m_ubGMLevel > 1)
				strQuestTitle.PrintF("Index : %d", iQuestIndex);
			else
				continue;
		}

		pUIManager->AddMessageBoxLString( iMessageBoxType, FALSE, strQuestTitle, ciQuestClassifier + iQuestIndex, 0xF2F200FF, CTString("Q") );
	}
}
// make description for a given resolution
static CTString GetResolutionDescription(CDisplayMode &dm)
{
  CTString str;
  // if dual head
  if (dm.IsDualHead()) {
    str.PrintF(TRANS("%dx%d double"), dm.dm_pixSizeI / 2, dm.dm_pixSizeJ);
    // if widescreen
  } else if (dm.IsWideScreen()) {
    str.PrintF(TRANS("%dx%d wide"), dm.dm_pixSizeI, dm.dm_pixSizeJ);
    // otherwise it is normal
  } else {
    str.PrintF("%dx%d", dm.dm_pixSizeI, dm.dm_pixSizeJ);
  }
  return str;
}
CDlgSelectMode::CDlgSelectMode( CDisplayMode &dm, enum GfxAPIType &gfxAPI, 
                                CWnd* pParent /*=NULL*/) : CDialog( CDlgSelectMode::IDD, pParent)
{
  // obtain all available modes
  m_pdmAvailableModes = _pGfx->EnumDisplayModes(m_ctAvailableDisplayModes);

  // remember initial mode reference
  m_pdm = &dm;
  m_pGfxAPI = &gfxAPI;

  //{{AFX_DATA_INIT(CDlgSelectMode)
	m_strCurrentMode = _T("");
	m_strCurrentDriver = _T("");
	m_iColor = -1;
	//}}AFX_DATA_INIT

  // set current mode and driver strings
  CTString str;
  str.PrintF( "%d x %d x %s", dm.dm_pixSizeI, dm.dm_pixSizeJ, dm.DepthString());
  m_strCurrentMode = str;

  switch(gfxAPI) {
  case GAT_OGL:
    m_strCurrentDriver = "OpenGL";
    break;
#ifdef SE1_D3D
  case GAT_D3D:
    m_strCurrentDriver = "Direct3D";
    break;
#endif // SE1_D3D
  default:
    m_strCurrentDriver = "none";
    break;
  }
}
WMSG_RESULT CUISpinControl::OnCharMessage( MSG* pMsg )
{
	extern UBYTE	_abKeysPressed[256];

	// If editbox is not focused
	if( !IsFocused() || m_InValidEditBox )
		return WMSG_FAIL;

	if(m_bOnlyInteger && (pMsg->wParam < 48 || pMsg->wParam > 57))
	{
		return WMSG_SUCCESS;
	}

	InsertChar(m_nCursorIndex, pMsg->wParam);

	if (_atoi64(GetString()) > m_llMax)
	{
		CTString strTmp;
		strTmp.PrintF("%I64d", m_llMax);

		SetString(strTmp.str_String);
	}

	return WMSG_SUCCESS;
}
void CDlgCreateSpecularTexture::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);

  if( !pDX->m_bSaveAndValidate)
  {
    INDEX iExponent = DEFAULT_EXPONENT_POS;
    if( IsWindow( m_sliderSpecularExponent.m_hWnd))
    {
      iExponent = m_sliderSpecularExponent.GetPos();
    }
    CTString strNumericalExponent;
    strNumericalExponent.PrintF( "Value: %.1f", GetFactorForPercentage(iExponent));
    m_strNumericalExponent = strNumericalExponent;
  }
	
  //{{AFX_DATA_MAP(CDlgCreateSpecularTexture)
	DDX_Control(pDX, IDC_SPECULAR_EXPONENT, m_sliderSpecularExponent);
	DDX_Control(pDX, IDC_SPECULAR_COLOR, m_colorSpecular);
	DDX_Control(pDX, IDC_SIZE_IN_PIXELS, m_comboSizeInPixels);
	DDX_Control(pDX, IDC_LIGHT_COLOR, m_colorLight);
	DDX_Control(pDX, IDC_AMBIENT_COLOR, m_colorAmbient);
	DDX_Text(pDX, IDC_NUMERIC_EXPONENT_T, m_strNumericalExponent);
	DDX_Check(pDX, IDC_AUTO_ROTATE, m_bAutoRotate);
	//}}AFX_DATA_MAP
  
  if( (pDX->m_bSaveAndValidate) && IsWindow( m_sliderSpecularExponent.m_hWnd) )
  {                    
    INDEX iSlider = m_sliderSpecularExponent.GetPos();
    CreateTexture( CTString("temp\\SpecularTemp.tex"), GetFactorForPercentage( iSlider));
    CTextureData *pTD = (CTextureData *) m_moModel.mo_toSpecular.GetData();
    if( pTD != NULL) pTD->Reload();
    Invalidate( FALSE);
  }
}
void ExecScript(const CTString &str)
{
  CPrintF("Executing: '%s'\n", str);
  CTString strCmd;
  strCmd.PrintF("include \"%s\"", str);
  _pShell->Execute(strCmd);
}
//------------------------------------------------------------------------------
// CUISiegeWarfareDoc::SetTimeRep
// Explain:  
// Date : 2005-07-07,Author: Lee Ki-hwan
//------------------------------------------------------------------------------
void CUISiegeWarfareDoc::SetTimeRep( int nMonth, int nDay, int nHour, int nMin )
{
	CTString strMessage;
	strMessage.PrintF(_S(2147 ,  "공성 시간이 %d월 %d일 %d시로 설정되었습니다." ), nMonth, nDay, nHour );  
	CUIManager::getSingleton()->GetSiegeWarfare()->Message( MSGCMD_SIEGE_WARFARE_INFO, strMessage, UMBS_OK  );
	
}
// get generic socket error info string about last error
CTString CCommunicationInterface::GetSocketError(INDEX iError)
{
  CTString strError;
  strError.PrintF(TRANSV("Socket %d, Error %d (%s)"),
    cci_hSocket, iError, ErrorDescription(&SocketErrors, iError));
  return strError;
};
void CUICharacterCreateNew::SetArrayList(CUIArray* pArray)
{
	CUIArrayItem* pArrayItem = NULL;

	if (pArray == NULL)
		return;

	int count = pArray->GetArrayChildCount();

	CUIText* pText;

	for (int i = 0; i < count; i++)
	{
		pArrayItem = pArray->GetArrayItem(i);

		if ( pArrayItem == NULL )
			continue;

		pText = (CUIText*)pArrayItem->findUI("str_number");

		if (pText != NULL)
		{
			CTString strNum = "";
			strNum.PrintF( "%d", i+1 );
			pText->SetText(strNum);
		}
	}
}
void JoinNetworkGame(void)
{
  //  _pGame->gm_MenuSplitScreenCfg = (enum CGame::SplitScreenCfg) mgSplitScreenCfg.mg_iSelected;
  _pGame->gm_StartSplitScreenCfg = _pGame->gm_MenuSplitScreenCfg;

  _pGame->gm_aiStartLocalPlayers[0] = _pGame->gm_aiMenuLocalPlayers[0];
  _pGame->gm_aiStartLocalPlayers[1] = _pGame->gm_aiMenuLocalPlayers[1];
  _pGame->gm_aiStartLocalPlayers[2] = _pGame->gm_aiMenuLocalPlayers[2];
  _pGame->gm_aiStartLocalPlayers[3] = _pGame->gm_aiMenuLocalPlayers[3];

  _pGame->gm_strNetworkProvider = "TCP/IP Client";
  if (_pGame->JoinGame(CNetworkSession(_pGame->gam_strJoinAddress)))
  {
    StopMenus();
    _gmRunningGameMode = GM_NETWORK;
  } else {
    if (_pNetwork->ga_strRequiredMod != "") {
      extern CTFileName _fnmModToLoad;
      extern CTString _strModServerJoin;
      char strModName[256] = { 0 };
      char strModURL[256] = { 0 };
      _pNetwork->ga_strRequiredMod.ScanF("%250[^\\]\\%s", &strModName, &strModURL);
      _fnmModSelected = CTString(strModName);
      _strModURLSelected = strModURL;
      if (_strModURLSelected = "") {
        _strModURLSelected = "http://www.croteam.com/mods/Old";
      }
      _strModServerSelected.PrintF("%s:%s", _pGame->gam_strJoinAddress, _pShell->GetValue("net_iPort"));
      extern void ModConnectConfirm(void);
      ModConnectConfirm();
    }
    _gmRunningGameMode = GM_NONE;
  }
}
Beispiel #19
0
void CStageGamePlay::Run()
{
    CUIManager* pUIManager = CUIManager::getSingleton();

    if (_pGameState->IsRestartGame() && m_bSendRestart == false)
    {
        DWORD	tmpTime			= _pTimer->GetHighPrecisionTimer().GetMilliseconds();
        DWORD	IntervalTime	= 0;
        int		iShowTime		= 0;
        CTString strtime;

        IntervalTime = tmpTime - pUIManager->GetSystemMenu()->GetRestartTime();
        iShowTime = m_dwRemainTime - (IntervalTime / 1000);

        strtime.PrintF(_S(4201,"%d 초 후에 접속종료됩니다."), iShowTime);

        if (m_dwRemainTime > 0)
            _UIAutoHelp->SetGMNotice(strtime);

        if (IntervalTime >= (m_dwRemainTime * 1000)) // 15초  15000 -> 10초로 수정
        {   // 재시작
            _UIAutoHelp->ClearGMNNotice();
            pUIManager->GetSystemMenu()->ResetRestartTime();
            pUIManager->GetSystemMenu()->ReStartNow();
            m_bSendRestart = true;
        }
    }
}
BOOL CDlgAutTexturize::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_ctrPretenderTextureSize.ResetContent();
  // add all available frictions
  for(INDEX iW=0; iW<10; iW++)
  {
    CTString strSize;
    strSize.PrintF("%dx%d pixels", 1<<iW, 1<<iW);
    m_ctrPretenderTextureSize.AddString( CString(strSize));
  }
  INDEX iSelected=6;
  iSelected=AfxGetApp()->GetProfileInt( L"World editor", L"Pretender resolution", iSelected);
  m_ctrPretenderTextureSize.SetCurSel(iSelected);

	m_ctrlPretenderTextureStyle.ResetContent();
  m_ctrlPretenderTextureStyle.AddString( L"Front view only");
  m_ctrlPretenderTextureStyle.AddString( L"Cylindrical view (FRBL)");
  m_ctrlPretenderTextureStyle.AddString( L"Boxed view (FRBLUD)");
  iSelected=1;
  iSelected=AfxGetApp()->GetProfileInt( L"World editor", L"Pretender style", iSelected);
  m_ctrlPretenderTextureStyle.SetCurSel(iSelected);
	return TRUE;
}
Beispiel #21
0
// print title
void PrintTitle(CDrawPort *pdp)
{
  SetFont2(pdp);
  CTString strTitle;
  strTitle.PrintF(TRANS("NETRICSA v2.01 - personal version for: %s"), 
    _ppenPlayer->GetPlayerName());
  pdp->PutText( strTitle, _pixMarginI*3, _pixMarginJ-2*_fScaling2+1, _colMedium);
}
Beispiel #22
0
CTString FillRateString(void)
{
  CTString str;
  str.PrintF( "%s, %s, %s ", 
    _bTexture ? (_bMultiTexture ? "multitexture" : "texture") : "no texture", 
    _bBlend ? "blending"  : "no blending", 
    _bDepth ? "z-buffer:" : "no z-buffer:");
  return str;
}
Beispiel #23
0
COLOR GetColorFromProfile( CTString strVarName, COLOR colDefault)
{
  CTString strDefault;
  strDefault.PrintF("0x%08x", colDefault);
  CTString strTemp = theApp.GetProfileString( "Modeler prefs", strVarName, strDefault);
  COLOR colValue;
  sscanf( strTemp, "0x%08x", &colValue);
  return colValue;
};
Beispiel #24
0
INDEX GetIndexFromProfile( CTString strVarName, INDEX iDefault)
{
  CTString strDefault;
  strDefault.PrintF("%d", iDefault);
  CTString strTemp = theApp.GetProfileString( "Modeler prefs", strVarName, strDefault);
  INDEX iValue;
  sscanf( strTemp, "%d", &iValue);
  return iValue;
};
// convert only one animation in animset 
BOOL CSeriousSkaStudioApp::ConvertAnimationInAnimSet(CAnimSet *pas,Animation *pan)
{
  DisableRendering();
  CTFileName fnTemp = (CTString)"Temp/animset";
  
  // try to save model instance
  CTString strAnimSet;
  CTString strCustomSpeed;
  CTString strCompresion = "FALSE";
  if(pan->an_bCompresed) strCompresion = "TRUE";
  if(pan->an_bCustomSpeed) strCustomSpeed.PrintF("  ANIMSPEED %g;",pan->an_fSecPerFrame);
  strAnimSet.PrintF("ANIMSETLIST\n{\n  TRESHOLD %g;\n  COMPRESION %s;\n%s\n  #INCLUDE \"%s\"\n}\n",
    pan->an_fTreshold,(const char*)strCompresion,(const char*)strCustomSpeed,(const char*)pan->an_fnSourceFile);

  try
  {
    strAnimSet.Save_t(fnTemp + ".aal");
    if(!ConvertAnimSet(fnTemp + ".aal")) {
      EnableRendering();
      return FALSE;
    }
    CAnimSet as;
    // load new animset
    as.Load_t(fnTemp + ".ba");
    if(as.as_Anims.Count()>0)
    {
      Animation &anNew = as.as_Anims[0];
      // overwrite old animation with new one
      *pan = anNew;
    }
    // clear new animset
    as.Clear();
  }
  catch(char *strErr)
  {
    ErrorMessage(strErr);
    EnableRendering();
    return FALSE;
  }
  EnableRendering();
  return TRUE;
}
//------------------------------------------------------------------------------
// CUISiegeWarfareDoc::RemainFiledTime
// Explain: 야전전투가 종료되기 5분전부터 1분 간격으로 공성에 참여한 유저에게 전체공지 
// Date : 2005-07-06,Author: Lee Ki-hwan
//------------------------------------------------------------------------------
void CUISiegeWarfareDoc::RemainFiledTime( int nZoneIndex, int nRemainSec )
{
	m_nZoneIndex	= nZoneIndex;
	SetLeftTime( nRemainSec );
	
	CTString strMessage;
	strMessage.PrintF(_S( 2016,  "[%s]지역 [야전전투]가 %d분 남았습니다." ), CZoneInfo::getSingleton()->GetZoneName( nZoneIndex ), (m_lLeftTime) / 60);	
	// [2012/06/04 : Sora] ITS 8986 공성시작전 공성시작 지점으로 이동 시 캐릭터 이동불가 상태 발생 수정
	// 공성 메시지 출력하면서 해당 UI를 활성화 시켜주어햐 한다. 공성 메시지 출력 방식 변경
	CUIManager::getSingleton()->GetSiegeWarfare()->SetNotice( strMessage );	
}
//------------------------------------------------------------------------------
// CUISiegeWarfareDoc::RemainStartTime
// Explain: 공성 시작 까지 남은 시간을 시작 10분전부터 1분간격으로 공지
// Date : 2005-07-06,Author: Lee Ki-hwan
//------------------------------------------------------------------------------
void CUISiegeWarfareDoc::RemainStartTime( int nZoneIndex, int nMin )
{
	m_nZoneIndex = nZoneIndex;
	
	CTString strMessage;
	
	strMessage.PrintF( _S( 2018, "[%s]지역 [%s]공성이 %d분 남았습니다." ), CZoneInfo::getSingleton()->GetZoneName( nZoneIndex ), GetCastleName( nZoneIndex ), nMin );	
	// [2012/06/04 : Sora] ITS 8986 공성시작전 공성시작 지점으로 이동 시 캐릭터 이동불가 상태 발생 수정
	// 공성 메시지 출력하면서 해당 UI를 활성화 시켜주어햐 한다. 공성 메시지 출력 방식 변경
	CUIManager::getSingleton()->GetSiegeWarfare()->SetNotice( strMessage );	
}
//------------------------------------------------------------------------------
// CUISiegeWarfareDoc::TimeConfirm
// Explain:  공성 시간 확정 알림(공지)
// Date : 2005-07-06,Author: Lee Ki-hwan
//------------------------------------------------------------------------------
void CUISiegeWarfareDoc::TimeConfirm( int nZoneIndex, int nMonth, int nDay, int nHour, int nMin )
{
	m_nZoneIndex = nZoneIndex;
	
	CTString strMessage;
	strMessage.PrintF( _S( 2017, "[%s]지역 [%s]공성이 %d월 %d일 %d시로 예정되었습니다." ),	
		CZoneInfo::getSingleton()->GetZoneName( nZoneIndex ), GetCastleName( nZoneIndex ), nMonth, nDay, nHour );	
	// [2012/06/04 : Sora] ITS 8986 공성시작전 공성시작 지점으로 이동 시 캐릭터 이동불가 상태 발생 수정
	// 공성 메시지 출력하면서 해당 UI를 활성화 시켜주어햐 한다. 공성 메시지 출력 방식 변경
	CUIManager::getSingleton()->GetSiegeWarfare()->SetNotice( strMessage );
}
Beispiel #29
0
void PetStash::_PetErrorSystemMessage( int nErrorCode )
{
	CTString strMessage;

	switch(nErrorCode)
	{
	case ERROR_PET_STASH_KEEP_FAIL_ALREADY_EQ_PET:		//펫을 착용중이다.
		{
			strMessage.PrintF( _S( 825, "장착하고 있는 아이템은 보관할 수 없습니다.") );
		}
		break;
	case ERROR_PET_STASH_KEEP_FAIL_PET_SEAL:			//펫이 봉인상태이다.
		{
			strMessage.PrintF( _S( 5952, "봉인 된 펫은 보관 하실 수 없습니다.") );
		}
		break;
	case ERROR_PET_STASH_FAIL_ETC:						//알수 없는 오류
		{
			strMessage.PrintF( _S( 16, "알수 없는 오류가 발생했습니다.") );
		}
		break;
	case ERROR_PET_STASH_KEEP_FAIL_NOT_EXIST_PET:		//펫이 존재하지 않음
		{
			strMessage.PrintF( _S( 6071, "펫이 존재 하지 않습니다.") );
		}
		break;
	case ERROR_PET_STASH_KEEP_FAIL_TERMINATION_ITEM:	//펫 등록 아이템 사용기간 만료	
		{
			strMessage.PrintF( _S( 6072, "펫 창고 이용권 사용기간이 만료 되었습니다.") );
		}
		break;
	case ERROR_PET_STASH_KEEP_FAIL_FULL:				//펫 창고가 가득 참.
		{
			strMessage.PrintF( _S( 6073, "펫 창고에 공간이 부족 합니다.") );
		}
		break;
	case ERROR_PET_STASH_TAKE_FAIL:						//펫 찾기 실패
		{
			strMessage.PrintF( _S( 2850, "인벤토리가 가득 찼습니다.") );
		}
		break;
	case ERROR_PET_STASH_ERROR_NOT_USE_SYSTEM:			//펫 창고 시스템을 사용할 수 없습니다.
		{
			strMessage.PrintF( _S( 6075, "펫 창고 시스템을 사용할 수 없습니다.") );
		}
		break;
	default:
		return;
	}
	_pNetwork->ClientSystemMessage(strMessage, SYSMSG_ERROR);
}
void CUIQuestBook::GiveUpPress()
{
	if (m_nSelectQuestIdx <= 0)
		return;

	CQuestStaticData* pQuestDD = CQuestStaticData::getData(m_nSelectQuestIdx);
	if (pQuestDD == NULL)
		return;

	CUIManager* pUIManager = CUIManager::getSingleton();
	pUIManager->CloseMessageBox(MSGCMD_QUEST_GIVEUP);
	CTString	strMessage;
	CUIMsgBox_Info	MsgBoxInfo;	
	MsgBoxInfo.SetMsgBoxInfo( _S( 99, "퀘스트" ), UMBS_OKCANCEL, UI_QUESTBOOK_LIST, MSGCMD_QUEST_GIVEUP);	
	strMessage.PrintF( "%s", pQuestDD->GetTitle() );
	MsgBoxInfo.AddString( strMessage );
	strMessage.PrintF( _S( 7002, "퀘스트를 포기 하시겠습니까?" ));
	MsgBoxInfo.AddString( strMessage );
	pUIManager->CreateMessageBox( MsgBoxInfo );
	m_bLockQuestList = TRUE;
}