Add rayman2 source files
This commit is contained in:
1487
Rayman_X/cpa/tempgrp/TBK/Src/TBKinter.cpp
Normal file
1487
Rayman_X/cpa/tempgrp/TBK/Src/TBKinter.cpp
Normal file
File diff suppressed because it is too large
Load Diff
280
Rayman_X/cpa/tempgrp/TBK/Src/TBKobj.cpp
Normal file
280
Rayman_X/cpa/tempgrp/TBK/Src/TBKobj.cpp
Normal file
@@ -0,0 +1,280 @@
|
||||
/*=========================================================================
|
||||
*
|
||||
* SECTobj.cpp : Implementation of Sector Object
|
||||
*
|
||||
*
|
||||
* Version 1.0
|
||||
* Creation date 10/06/99
|
||||
* Revision date
|
||||
*
|
||||
* Shaitan
|
||||
*=======================================================================*/
|
||||
#include "stdafx.h"
|
||||
#include "acp_base.h"
|
||||
|
||||
#include "TBKobj.hpp"
|
||||
|
||||
#include "DPT.h"
|
||||
#include "incGAM.h"
|
||||
|
||||
#include "_EditID.h"
|
||||
|
||||
/*=============================================================================
|
||||
Globals
|
||||
=============================================================================*/
|
||||
|
||||
|
||||
//#################################################################################
|
||||
// CONSTRUCTOR & DESTRUCTOR
|
||||
//#################################################################################
|
||||
|
||||
/*===========================================================================
|
||||
* Description: Constructor
|
||||
* Creation date: 10/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
TBK_BankObject::TBK_BankObject(TBK_BanksInterface *pInterface, TBK_tdeBankType eType, CString csName, BOOL bExistingBank)
|
||||
: CPA_SaveObject (pInterface, C_szBankTypeName, E_ss_Responsible, NULL, TRUE, fn_szGetLevelsDataPath(), TBK_BankObject::TBK_fn_eCallBackSaveBank)
|
||||
{
|
||||
char szSectionName[SCR_CV_ui_Cfg_MaxLenName];
|
||||
char szFileName[SCR_CV_ui_Cfg_MaxLenName];
|
||||
|
||||
// section object
|
||||
SetSectionData(this);
|
||||
// section name
|
||||
sprintf(szFileName, "%s\\%s.bnk", fn_p_szGetLevelName(), fn_p_szGetLevelName());
|
||||
SCR_fn_v_RdL0_ComputeSectionName(szSectionName, szFileName, (eType == TBK_E_bt_Common) ? C_CommonSectionName : C_BankSectionName, " ");
|
||||
SetReferencedSectionName(szSectionName);
|
||||
|
||||
// name
|
||||
if (fn_eRename(csName ) != E_mc_None)
|
||||
SetDefaultValidName();
|
||||
fn_vUpdateSectionName();
|
||||
|
||||
// existence
|
||||
SetExistingSection(bExistingBank);
|
||||
|
||||
// init parameters
|
||||
m_eBankType = eType;
|
||||
m_lBankIndex = (m_eBankType == TBK_E_bt_Common) ? 0 : pInterface->m_fn_lAddANewBank();
|
||||
|
||||
// save bank
|
||||
if (!bExistingBank && (m_eBankType != TBK_E_bt_Common))
|
||||
fn_vNotifySave();
|
||||
};
|
||||
|
||||
|
||||
/*===========================================================================
|
||||
* Description: Destructor
|
||||
* Creation date: 10/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
TBK_BankObject::~TBK_BankObject()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//#################################################################################
|
||||
// SECTORS
|
||||
//#################################################################################
|
||||
|
||||
/*===========================================================================
|
||||
* Description: check if a sector belong to the bank
|
||||
* Creation date: 11/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
BOOL TBK_BankObject::m_fn_bIsSectorInBank (CPA_SuperObject *pSector)
|
||||
{
|
||||
return (m_oListOfSector.Find(pSector) != NULL);
|
||||
}
|
||||
|
||||
/*===========================================================================
|
||||
* Description: add a sector to the bank
|
||||
* Creation date: 11/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
BOOL TBK_BankObject::m_fn_bAddSectorToBank (CPA_SuperObject *pSector)
|
||||
{
|
||||
// check if the sector is already in the list
|
||||
if (m_fn_bIsSectorInBank(pSector))
|
||||
return FALSE;
|
||||
|
||||
// add sector to the list
|
||||
m_oListOfSector.AddTail(pSector);
|
||||
// update sector color
|
||||
m_fn_pGetBanksInterface()->m_fn_vSetSectorColor(pSector, (tdeLocalColor) m_lBankIndex);
|
||||
|
||||
// notify bank for saving
|
||||
if (!m_fn_pGetBanksInterface()->GetInterface()->fn_bIsLoadingWorld())
|
||||
fn_vNotifySave();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*===========================================================================
|
||||
* Description: remove a sector from the bank
|
||||
* Creation date: 11/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
BOOL TBK_BankObject::m_fn_bRemoveSectorFromBank (CPA_SuperObject *pSector)
|
||||
{
|
||||
// check if the sector is really in the list
|
||||
POSITION pos = m_oListOfSector.Find(pSector);
|
||||
if (!pos)
|
||||
return FALSE;
|
||||
|
||||
// remove sector from the list
|
||||
m_oListOfSector.RemoveAt(pos);
|
||||
|
||||
// notify bank for saving
|
||||
fn_vNotifySave();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*===========================================================================
|
||||
* Description: remove a sector from the bank
|
||||
* Creation date: 11/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
BOOL TBK_BankObject::m_fn_bTransferAllSectors (TBK_BankObject *pNewBank)
|
||||
{
|
||||
// empty list ?
|
||||
if (!m_oListOfSector.GetCount())
|
||||
return FALSE;
|
||||
|
||||
// transfer all list
|
||||
while (m_oListOfSector.GetCount())
|
||||
{
|
||||
CPA_SuperObject *pSector = m_oListOfSector.RemoveTail();
|
||||
pNewBank->m_fn_bAddSectorToBank(pSector);
|
||||
}
|
||||
// notify bank for saving
|
||||
fn_vNotifySave();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*===========================================================================
|
||||
* Description: get the next sector (for tree)
|
||||
* Creation date: 11/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
CPA_SuperObject * TBK_BankObject::m_fn_pGetNextSector (CPA_SuperObject *pSector)
|
||||
{
|
||||
// empty list ?
|
||||
if (!m_oListOfSector.GetCount())
|
||||
return NULL;
|
||||
|
||||
// first sector ?
|
||||
if (!pSector)
|
||||
return m_oListOfSector.GetHead();
|
||||
|
||||
// next sector
|
||||
return m_oListOfSector.GetNextElement(pSector);
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================
|
||||
* Description: reinit the sector list
|
||||
* Creation date: 16/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
void TBK_BankObject::m_fn_vReinitSectorList (void)
|
||||
{
|
||||
m_oListOfSector.RemoveAll();
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================
|
||||
* Description: update colors for the sectors of the bank
|
||||
* Creation date: 16/06/99
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
void TBK_BankObject::m_fn_vReinitSectorColors (BOOL bColor)
|
||||
{
|
||||
POSITION pos = m_oListOfSector.GetHeadPosition();
|
||||
while (pos)
|
||||
{
|
||||
CPA_SuperObject *pSector = m_oListOfSector.GetNext(pos);
|
||||
m_fn_pGetBanksInterface()->m_fn_vSetSectorColor(pSector, bColor ? (tdeLocalColor) m_lBankIndex : E_lc_NoColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//#################################################################################
|
||||
// SAVES
|
||||
//#################################################################################
|
||||
|
||||
/*===========================================================================
|
||||
* Description: callback to save the bank
|
||||
* Creation date:
|
||||
* Author: Shaitan
|
||||
*---------------------------------------------------------------------------
|
||||
* Revision date: Author:
|
||||
*=========================================================================*/
|
||||
void TBK_BankObject::TBK_fn_eCallBackSaveBank (SCR_tdst_File_Description *p_stFile, char *szSectionName, void *p_vData, SCR_tde_Ntfy_Action eAction)
|
||||
{
|
||||
// get sector
|
||||
TBK_BankObject *pBankObject = (TBK_BankObject *) p_vData;
|
||||
CPA_SuperObject *pSector;
|
||||
POSITION pos;
|
||||
char szNewSectionName[SCR_CV_ui_Cfg_MaxLenName];
|
||||
|
||||
switch (eAction)
|
||||
{
|
||||
case SCR_EA_Ntfy_AddSection:
|
||||
// go to end of file
|
||||
SCR_fn_v_SvL1_ToEndSection(p_stFile);
|
||||
SCR_M_SvL0_SaveBlankLine (p_stFile);
|
||||
|
||||
case SCR_EA_Ntfy_RebuildSection:
|
||||
|
||||
// save section name
|
||||
SCR_fn_v_RdL0_ComputeSectionName(szNewSectionName, NULL, (pBankObject->m_fn_eGetBankType() == TBK_E_bt_Common) ? C_CommonSectionName : C_BankSectionName, (char *) (LPCSTR)pBankObject->GetName());
|
||||
SCR_M_SvL0_SaveBeginSection(p_stFile, szNewSectionName, SCR_CC_C_Cfg_EOL);
|
||||
|
||||
// save list of sectors
|
||||
pos = pBankObject->m_oListOfSector.GetHeadPosition();
|
||||
while (pos)
|
||||
{
|
||||
SCR_M_SvL0_SaveEntry(p_stFile, C_BankSectorEntry, SCR_CC_C_Cfg_NoChar);
|
||||
|
||||
pSector = pBankObject->m_oListOfSector.GetNext(pos);
|
||||
SCR_fn_v_SvL0_SaveParameters_MP(p_stFile, SCR_EF_SvL0_Normal, 1, pSector->GetReferencedSectionName());
|
||||
|
||||
}
|
||||
|
||||
// end section
|
||||
SCR_M_SvL0_SaveEndSection (p_stFile, SCR_CC_C_Cfg_EOL);
|
||||
if (eAction == SCR_EA_Ntfy_AddSection)
|
||||
SCR_M_SvL0_SaveBlankLine (p_stFile);
|
||||
|
||||
// reinit existence
|
||||
pBankObject->fn_vSectionSaved();
|
||||
break;
|
||||
|
||||
case SCR_EA_Ntfy_DeleteSection:
|
||||
// update existence
|
||||
pBankObject->fn_vSectionDeleted();
|
||||
break;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user