forked from LosaDev/ls-2019-source
LosaDev source snapshot 2019
This commit is contained in:
commit
c198676e97
20588 files changed
+8812878
No files matched your search
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BillingInfoList", "BillingInfoList\BillingInfoList.vcxproj", "{7E0D6193-D7F6-4BC5-AAFB-3E2361C24027}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7E0D6193-D7F6-4BC5-AAFB-3E2361C24027}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7E0D6193-D7F6-4BC5-AAFB-3E2361C24027}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7E0D6193-D7F6-4BC5-AAFB-3E2361C24027}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7E0D6193-D7F6-4BC5-AAFB-3E2361C24027}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,94 @@
|
||||
|
||||
// BillingInfoList.cpp : 응용 프로그램에 대한 클래스 동작을 정의합니다.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "BillingInfoList.h"
|
||||
#include "BillingInfoListDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
|
||||
// CBillingInfoListApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CBillingInfoListApp, CWinApp)
|
||||
ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CBillingInfoListApp 생성
|
||||
|
||||
CBillingInfoListApp::CBillingInfoListApp()
|
||||
{
|
||||
// 다시 시작 관리자 지원
|
||||
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;
|
||||
|
||||
// TODO: 여기에 생성 코드를 추가합니다.
|
||||
// InitInstance에 모든 중요한 초기화 작업을 배치합니다.
|
||||
}
|
||||
|
||||
|
||||
// 유일한 CBillingInfoListApp 개체입니다.
|
||||
|
||||
CBillingInfoListApp theApp;
|
||||
|
||||
|
||||
// CBillingInfoListApp 초기화
|
||||
|
||||
BOOL CBillingInfoListApp::InitInstance()
|
||||
{
|
||||
// 응용 프로그램 매니페스트가 ComCtl32.dll 버전 6 이상을 사용하여 비주얼 스타일을
|
||||
// 사용하도록 지정하는 경우, Windows XP 상에서 반드시 InitCommonControlsEx()가 필요합니다.
|
||||
// InitCommonControlsEx()를 사용하지 않으면 창을 만들 수 없습니다.
|
||||
INITCOMMONCONTROLSEX InitCtrls;
|
||||
InitCtrls.dwSize = sizeof(InitCtrls);
|
||||
// 응용 프로그램에서 사용할 모든 공용 컨트롤 클래스를 포함하도록
|
||||
// 이 항목을 설정하십시오.
|
||||
InitCtrls.dwICC = ICC_WIN95_CLASSES;
|
||||
InitCommonControlsEx(&InitCtrls);
|
||||
|
||||
CWinApp::InitInstance();
|
||||
|
||||
|
||||
AfxEnableControlContainer();
|
||||
|
||||
// 대화 상자에 셸 트리 뷰 또는
|
||||
// 셸 목록 뷰 컨트롤이 포함되어 있는 경우 셸 관리자를 만듭니다.
|
||||
CShellManager *pShellManager = new CShellManager;
|
||||
|
||||
// 표준 초기화
|
||||
// 이들 기능을 사용하지 않고 최종 실행 파일의 크기를 줄이려면
|
||||
// 아래에서 필요 없는 특정 초기화
|
||||
// 루틴을 제거해야 합니다.
|
||||
// 해당 설정이 저장된 레지스트리 키를 변경하십시오.
|
||||
// TODO: 이 문자열을 회사 또는 조직의 이름과 같은
|
||||
// 적절한 내용으로 수정해야 합니다.
|
||||
SetRegistryKey(_T("로컬 응용 프로그램 마법사에서 생성된 응용 프로그램"));
|
||||
|
||||
CBillingInfoListDlg dlg(m_lpCmdLine);
|
||||
m_pMainWnd = &dlg;
|
||||
INT_PTR nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: 여기에 [확인]을 클릭하여 대화 상자가 없어질 때 처리할
|
||||
// 코드를 배치합니다.
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: 여기에 [취소]를 클릭하여 대화 상자가 없어질 때 처리할
|
||||
// 코드를 배치합니다.
|
||||
}
|
||||
|
||||
// 위에서 만든 셸 관리자를 삭제합니다.
|
||||
if (pShellManager != NULL)
|
||||
{
|
||||
delete pShellManager;
|
||||
}
|
||||
|
||||
// 대화 상자가 닫혔으므로 응용 프로그램의 메시지 펌프를 시작하지 않고 응용 프로그램을 끝낼 수 있도록 FALSE를
|
||||
// 반환합니다.
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,32 @@
|
||||
|
||||
// BillingInfoList.h : PROJECT_NAME 응용 프로그램에 대한 주 헤더 파일입니다.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error "PCH에 대해 이 파일을 포함하기 전에 'stdafx.h'를 포함합니다."
|
||||
#endif
|
||||
|
||||
#include "resource.h" // 주 기호입니다.
|
||||
|
||||
|
||||
// CBillingInfoListApp:
|
||||
// 이 클래스의 구현에 대해서는 BillingInfoList.cpp을 참조하십시오.
|
||||
//
|
||||
|
||||
class CBillingInfoListApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CBillingInfoListApp();
|
||||
|
||||
// 재정의입니다.
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
|
||||
// 구현입니다.
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
extern CBillingInfoListApp theApp;
|
||||
Binary file not shown.
@@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7E0D6193-D7F6-4BC5-AAFB-3E2361C24027}</ProjectGuid>
|
||||
<RootNamespace>BillingInfoList</RootNamespace>
|
||||
<Keyword>MFCProj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<IntDir>./$(ProjectName)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>
|
||||
</AdditionalDependencies>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<ValidateAllParameters>true</ValidateAllParameters>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0412</Culture>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<ValidateAllParameters>true</ValidateAllParameters>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0412</Culture>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<None Include="ReadMe.txt" />
|
||||
<None Include="res\BillingInfoList.ico" />
|
||||
<None Include="res\BillingInfoList.rc2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="BillingInfoList.h" />
|
||||
<ClInclude Include="BillingInfoListDlg.h" />
|
||||
<ClInclude Include="cFile.h" />
|
||||
<ClInclude Include="define.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="BillingInfoList.cpp" />
|
||||
<ClCompile Include="BillingInfoListDlg.cpp" />
|
||||
<ClCompile Include="cFile.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="BillingInfoList.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties RESOURCE_FILE="BillingInfoList.rc" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="소스 파일">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="헤더 파일">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="리소스 파일">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Main">
|
||||
<UniqueIdentifier>{8b3e1285-3304-466e-ba71-07730c088d0d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="ReadMe.txt" />
|
||||
<None Include="res\BillingInfoList.rc2">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</None>
|
||||
<None Include="res\BillingInfoList.ico">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="BillingInfoList.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stdafx.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="targetver.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Resource.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="BillingInfoListDlg.h">
|
||||
<Filter>Main</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="cFile.h">
|
||||
<Filter>헤더 파일</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="define.h">
|
||||
<Filter>Main</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="BillingInfoList.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="BillingInfoListDlg.cpp">
|
||||
<Filter>Main</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="cFile.cpp">
|
||||
<Filter>소스 파일</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="BillingInfoList.rc">
|
||||
<Filter>리소스 파일</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,151 @@
|
||||
|
||||
// BillingInfoListDlg.h : 헤더 파일
|
||||
//
|
||||
|
||||
// CBillingInfoListDlg 대화 상자
|
||||
#include "afxwin.h"
|
||||
class CBillingInfoListDlg : public CDialogEx
|
||||
{
|
||||
// 생성입니다.
|
||||
public:
|
||||
|
||||
CBillingInfoListDlg(const TCHAR* strParameter, CWnd* pParent = NULL); // 표준 생성자입니다.
|
||||
|
||||
public:
|
||||
|
||||
float m_fChangeCash;
|
||||
int m_iEtcItemValue;
|
||||
int m_iDecoItem;
|
||||
int m_iHero_Normal;
|
||||
int m_iHero_Rare;
|
||||
int m_iHero_Premium;
|
||||
int m_iChange;
|
||||
|
||||
// 빌링
|
||||
std::map<int, CString> m_GoodsInfoMap;
|
||||
typedef std::vector< SoldierInfo > vSoldierInfo;
|
||||
vSoldierInfo m_vSoldierInfo;
|
||||
|
||||
int m_iMortmainCharGoodsNoValue;
|
||||
DWORDVec m_vPackageEtcItemShortTypeList;
|
||||
DWORDVec m_vPackageExtraItemMachineCodeList;
|
||||
|
||||
|
||||
// 아이템 이름리스트
|
||||
std::map<int, CString> m_mapItemName;
|
||||
|
||||
// 기타아이템
|
||||
float fMortmainCharMultiplyCash;
|
||||
float fMortmainPremiumCharMultiplyCash;
|
||||
float fMortmainRareCharMultiplyCash;
|
||||
|
||||
typedef std::vector< LimitData* > vLimitData; // vector을 다른것으로 대체할때 INI Reload 개선 필요
|
||||
vLimitData m_vPesoLimitDataList;
|
||||
vLimitData m_vCashLimitDataList;
|
||||
vLimitData m_vPremiumCashLimitDataList;
|
||||
vLimitData m_vRareCashLimitDataList;
|
||||
|
||||
std::map<int, CItemEtc*> MapItemEtc;
|
||||
|
||||
// 용병아이템
|
||||
vHeroClassRate m_vecHeroClassRate;
|
||||
std::map<int, PriceData*> m_MapItemClass;
|
||||
|
||||
// 치장아이템
|
||||
typedef std::vector< SexDecoList > vSexDecoList; // vector을 다른것으로 대체할때 INI Reload 개선 필요
|
||||
vSexDecoList m_vSexList;
|
||||
|
||||
//ExtraItem
|
||||
mExtraItem m_mapExtraItem;
|
||||
|
||||
// 팝업스토어상점
|
||||
vPopupItemInfo m_vPopupItemInfo;
|
||||
|
||||
// 세일관련
|
||||
vSaleInfoVector m_vSaleInfoVector;
|
||||
|
||||
// 대화 상자 데이터입니다.
|
||||
enum { IDD = IDD_BILLINGINFOLIST_DIALOG };
|
||||
|
||||
protected:
|
||||
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다.
|
||||
|
||||
protected:
|
||||
|
||||
// Init Info
|
||||
void LoadChangeItemInfo();
|
||||
|
||||
// INI Read
|
||||
int LoadIntSetting(CString lpAppName, CString lpKeyName, int iDefailt, CString strfullPath);
|
||||
float LoadFloatSetting(CString lpAppName, CString lpKeyName, float fDefailt, CString strfullPath);
|
||||
CString LoadStringSetting(CString lpAppName, CString lpKeyName, CString strDefault, CString strfullPath);
|
||||
|
||||
void ChangeIntSetting(CString lpAppName, CString lpKeyName, int ChangeValue, CString strfullPath);
|
||||
|
||||
// Load
|
||||
void LoadBillingGoods();
|
||||
void LoadBillingEtcItem(CString fullPath);
|
||||
void LoadBillingExtraItem(CString fullPath);
|
||||
|
||||
void LoadItemNameINI(const TCHAR* file);
|
||||
void LoadEtcItemINI(const TCHAR* file);
|
||||
void LoadDecoItemINI(const TCHAR* file);
|
||||
void LoadDecoInfoItemINI(const TCHAR* path);
|
||||
void LoadSoldierItemINI(const TCHAR* file);
|
||||
|
||||
void LoadExtraItemINI(const TCHAR* file);
|
||||
void LoadPopupItemINI(const TCHAR* file);
|
||||
|
||||
// 저장처리시 필요
|
||||
int GetGoodsNoValue( int iLimitSeconds );
|
||||
bool IsPackageItem( int iEtcItemShortType );
|
||||
bool IsPackageItemExtra( int iExtraItemMachineCode );
|
||||
int GetClassRate(int iClass);
|
||||
CString GetGoodsName( int iGoodsNo);
|
||||
DWORD ConvertYYMMDDHHMMToDate( WORD wYear, WORD wMonth, WORD wDay, WORD wHour, WORD wMinute );
|
||||
bool IsCheckAlive( SYSTEMTIME st , DWORD dwStartDate, DWORD dwEndDate );
|
||||
int GetCash( ItemType eItemType, int iType1, int iType2 );
|
||||
|
||||
// 저장
|
||||
void SaveEtcItemTotal();
|
||||
void SaveEtcItemActive();
|
||||
|
||||
void SaveDecoItemTotal();
|
||||
void SaveDecoItemActive();
|
||||
|
||||
void SaveSoldierItemTotal();
|
||||
void SaveSoldierItemActive();
|
||||
|
||||
void SaveExtraItemTotal();
|
||||
void SaveExtraItemActive();
|
||||
|
||||
void SavePopupItemTotal();
|
||||
void SavePopupItemActive();
|
||||
|
||||
// 구현입니다.
|
||||
protected:
|
||||
HICON m_hIcon;
|
||||
CString m_strParameter;
|
||||
|
||||
// 생성된 메시지 맵 함수
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
||||
afx_msg void OnPaint();
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
afx_msg void OnBnClickedEtcitem();
|
||||
afx_msg void OnBnClickedDecoitem();
|
||||
afx_msg void OnBnClickedSoldier();
|
||||
afx_msg void OnBnClickedExtraitem();
|
||||
afx_msg void OnBnClickedPopup();
|
||||
afx_msg void OnBnClickedTotal();
|
||||
afx_msg void OnBnClickedItemtotal();
|
||||
afx_msg void OnBnClickedItemetc();
|
||||
afx_msg void OnBnClickedItemdeco();
|
||||
afx_msg void OnBnClickedItemsoldier();
|
||||
afx_msg void OnBnClickedItemextra();
|
||||
afx_msg void OnBnClickedItemPopup();
|
||||
CStatic text_total;
|
||||
};
|
||||
@@ -0,0 +1,100 @@
|
||||
================================================================================
|
||||
MFC 라이브러리 : BillingInfoList 프로젝트 개요
|
||||
================================================================================
|
||||
|
||||
응용 프로그램 마법사에서 이 BillingInfoList 응용 프로그램을
|
||||
만들었습니다. 이 응용 프로그램은 MFC의 기본 사용법을 보여 줄 뿐만 아니라 응용
|
||||
프로그램작성을 위한 기본 구조를 제공합니다.
|
||||
|
||||
이 파일에는 BillingInfoList 응용 프로그램을 구성하는 각 파일에 대한
|
||||
요약 설명이 포함되어 있습니다.
|
||||
|
||||
BillingInfoList.vcxproj
|
||||
응용 프로그램 마법사를 사용하여 생성된 VC++ 프로젝트의 주 프로젝트 파일입니다.
|
||||
파일을 생성한 Visual C++ 버전에 대한 정보와 응용 프로그램 마법사를 사용하여 선택한
|
||||
플랫폼, 구성 및 프로젝트 기능에 대한 정보가 들어 있습니다.
|
||||
|
||||
BillingInfoList.vcxproj.filters
|
||||
응용 프로그램 마법사를 사용하여 생성된 VC++ 프로젝트의 필터 파일입니다.
|
||||
이 파일에는 프로젝트의 파일과 필터 간의 연결 정보가 들어 있습니다. 이러한
|
||||
연결은 특정 노드에서 유사한 확장명으로 그룹화된 파일을 표시하기 위해
|
||||
IDE에서 사용됩니다. 예를 들어 ".cpp" 파일은 "소스 파일" 필터와 연결되어
|
||||
있습니다.
|
||||
|
||||
|
||||
BillingInfoList.h
|
||||
응용 프로그램의 기본 헤더 파일입니다. 여기에는 다른 프로젝트 관련
|
||||
헤더(Resource.h 포함)가 들어 있고 CBillingInfoListApp 응용 프로그램
|
||||
클래스를 선언합니다.
|
||||
|
||||
BillingInfoList.cpp
|
||||
응용 프로그램 클래스 CBillingInfoListApp이(가) 들어 있는 기본 응용 프로그램
|
||||
소스 파일입니다.
|
||||
|
||||
BillingInfoList.rc
|
||||
프로그램에서 사용하는 모든 Microsoft Windows 리소스의 목록입니다.
|
||||
여기에는 RES 하위 디렉터리에 저장된 아이콘, 비트맵 및 커서가
|
||||
포함됩니다. 이 파일은 Microsoft Visual C++에서 직접
|
||||
편집할 수 있습니다. 프로젝트 리소스는 1042에 있습니다.
|
||||
|
||||
res\BillingInfoList.ico
|
||||
응용 프로그램의 아이콘으로 사용되는 아이콘 파일입니다. 이 아이콘은
|
||||
주 리소스 파일인 BillingInfoList.rc에 의해 포함됩니다.
|
||||
|
||||
res\BillingInfoList.rc2
|
||||
이 파일에는 Microsoft Visual C++ 이외의 다른 도구에서 편집한 리소스가
|
||||
들어 있습니다. 리소스 편집기로 편집할 수 없는 모든 리소스는
|
||||
이 파일에 넣어야 합니다.
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
응용 프로그램 마법사에서 하나의 대화 상자 클래스가 만들어집니다.
|
||||
|
||||
BillingInfoListDlg.h, BillingInfoListDlg.cpp - 대화 상자
|
||||
이 파일에는 CBillingInfoListDlg 클래스가 들어 있습니다. 이 클래스는
|
||||
응용 프로그램의 주 대화 상자 동작을 정의합니다. 대화 상자의 템플릿은
|
||||
Microsoft Visual C++에서 편집할 수 있는 BillingInfoList.rc에 있습니다.
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
기타 기능:
|
||||
|
||||
ActiveX 컨트롤
|
||||
응용 프로그램에서 ActiveX 컨트롤을 사용할 수 있도록 지원합니다.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
기타 표준 파일:
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
이 파일은 미리 컴파일된 헤더 파일(PCH)인 BillingInfoList.pch와
|
||||
미리 컴파일된 형식 파일인 StdAfx.obj를 빌드하는 데 사용됩니다.
|
||||
|
||||
Resource.h
|
||||
새 리소스 ID를 정의하는 표준 헤더 파일입니다.
|
||||
Microsoft Visual C++에서 이 파일을 읽고 업데이트합니다.
|
||||
|
||||
BillingInfoList.manifest
|
||||
응용 프로그램 매니페스트 파일은 Windows XP에서 특정 버전의 Side-by-Side
|
||||
어셈블리에 대한 응용 프로그램 종속성을 설명하는 데 사용됩니다. 로더는 이 정보를
|
||||
사용하여 어셈블리 캐시에서 적절한 어셈블리를 로드하거나 응용 프로그램에서 전용
|
||||
어셈블리를 로드합니다. 응용 프로그램 매니페스트는 응용 프로그램 실행 파일과 같은
|
||||
폴더에 설치된 외부 .manifest 파일로 재배포를 위해 포함되거나 리소스의 형태로
|
||||
실행 파일에 포함될 수 있습니다.
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
기타 참고:
|
||||
|
||||
응용 프로그램 마법사는 "TODO:"를 사용하여 추가하거나 사용자 지정해야 하는
|
||||
소스 코드 부분을 나타냅니다.
|
||||
|
||||
응용 프로그램이 공유 DLL에서 MFC를 사용하는 경우 해당 MFC DLL을
|
||||
재배포해야 합니다. 그리고 응용 프로그램이 운영 체제의 로캘과
|
||||
다른 언어를 사용하는 경우 해당 지역화된 리소스인 MFC100XXX.DLL을
|
||||
재배포해야 합니다. 이 두가지 항목에 대한 자세한 내용은
|
||||
MSDN 설명서의 Visual C++ 응용 프로그램 재배포 항목을
|
||||
참조하십시오.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@@ -0,0 +1,271 @@
|
||||
// cFile.cpp: implementation of the cFile class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "cFile.h"
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
cFile::cFile() : m_hFile(INVALID_HANDLE_VALUE), m_dwSizeLow(0), m_dwSizeHigh(0)
|
||||
{
|
||||
}
|
||||
|
||||
cFile::cFile(LPCTSTR fileName, DWORD dwMode, DWORD dwShareMode, DWORD dwCreationDisposition) : m_hFile(INVALID_HANDLE_VALUE), m_dwSizeLow(0), m_dwSizeHigh(0)
|
||||
{
|
||||
Open(fileName, dwMode, dwShareMode, dwCreationDisposition);
|
||||
}
|
||||
|
||||
cFile::~cFile()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// operation
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
BOOL cFile::Open(const TCHAR* fileName, DWORD dwMode, DWORD dwShareMode, DWORD dwCreationDisposition)
|
||||
{
|
||||
Close();
|
||||
|
||||
m_hFile = CreateFile( reinterpret_cast<LPCTSTR>(fileName),
|
||||
dwMode,
|
||||
dwShareMode,
|
||||
NULL,
|
||||
dwCreationDisposition,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
|
||||
if(m_hFile == INVALID_HANDLE_VALUE) return FALSE;
|
||||
|
||||
return (m_hFile == INVALID_HANDLE_VALUE) ? FALSE : TRUE;
|
||||
}
|
||||
|
||||
void cFile::Close()
|
||||
{
|
||||
if(m_hFile != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CloseHandle(m_hFile);
|
||||
m_hFile = NULL;
|
||||
}
|
||||
|
||||
m_dwSizeLow = 0;
|
||||
m_dwSizeHigh = 0;
|
||||
}
|
||||
|
||||
BOOL cFile::Move(DWORD dwOrigin, LONG lOffset)
|
||||
{
|
||||
if(m_hFile != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
DWORD dwResult = SetFilePointer( m_hFile,
|
||||
lOffset,
|
||||
NULL,
|
||||
dwOrigin);
|
||||
return (dwResult == 0xFFFFFFFF) ? FALSE : TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
DWORD cFile::GetFileSize()
|
||||
{
|
||||
if(m_dwSizeLow != 0)
|
||||
return m_dwSizeLow;
|
||||
|
||||
DWORD dwError = 0;
|
||||
if(m_hFile != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
m_dwSizeLow = ::GetFileSize(m_hFile, &m_dwSizeHigh);
|
||||
if((INVALID_FILE_SIZE == m_dwSizeLow) &&
|
||||
((dwError = GetLastError()) != NO_ERROR))
|
||||
return 0;
|
||||
}
|
||||
return m_dwSizeLow;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// cFileReader class
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
cFileReader::cFileReader(const TCHAR* fileName) : m_nReadType(-1)
|
||||
{
|
||||
if(fileName != NULL)
|
||||
{
|
||||
Open(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL cFileReader::Open(const TCHAR* fileName)
|
||||
{
|
||||
if(cFile::Open(fileName, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, OPEN_EXISTING))
|
||||
{
|
||||
return (GetBOM() > 0) ? TRUE : FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL cFileReader::Read(BYTE* buffer, const DWORD dwLength)
|
||||
{
|
||||
DWORD dwWritten = 0;
|
||||
if(m_hFile == INVALID_HANDLE_VALUE) return FALSE;
|
||||
|
||||
if(ReadFile( m_hFile,
|
||||
buffer,
|
||||
dwLength,
|
||||
&dwWritten,
|
||||
NULL))
|
||||
{
|
||||
if(dwLength == dwWritten) return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL cFileReader::Convert(const BYTE* bufferA, const int lengthA, BYTE* bufferB, const int lengthB)
|
||||
{
|
||||
switch(m_nReadType)
|
||||
{
|
||||
case FILEFORMAT_ANSI :
|
||||
CopyMemory(bufferB, bufferA, (lengthA > lengthB) ? lengthB : lengthA);
|
||||
return TRUE;
|
||||
|
||||
case FILEFORMAT_UNICODE_UTF8 :
|
||||
CopyMemory(bufferB, bufferA, (lengthA > lengthB) ? lengthB : lengthA);
|
||||
return TRUE;
|
||||
|
||||
case FILEFORMAT_UNICODE_LE :
|
||||
WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)bufferA, lengthA, (LPSTR)bufferB, lengthB, NULL, NULL);
|
||||
return TRUE;
|
||||
|
||||
case FILEFORMAT_UNICODE_BE :
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int cFileReader::GetBOM()
|
||||
{
|
||||
if((-1) == m_nReadType)
|
||||
{
|
||||
Move(FILE_BEGIN, 0);
|
||||
|
||||
WORD BOM = 0;
|
||||
if(Read(reinterpret_cast<BYTE*>(&BOM), sizeof(WORD)))
|
||||
{
|
||||
switch(BOM)
|
||||
{
|
||||
case 0xFEFF :
|
||||
m_nReadType = FILEFORMAT_UNICODE_LE;
|
||||
Move(FILE_BEGIN, 2);
|
||||
break;
|
||||
|
||||
case 0xFFFE :
|
||||
m_nReadType = 0; //FILEFORMAT_UNICODE_BE; not supported
|
||||
Move(FILE_BEGIN, 2);
|
||||
break;
|
||||
|
||||
case 0xBBEF :
|
||||
m_nReadType = FILEFORMAT_UNICODE_UTF8;
|
||||
Move(FILE_BEGIN, 3);
|
||||
break;
|
||||
|
||||
default:
|
||||
m_nReadType = FILEFORMAT_ANSI;
|
||||
Move(FILE_BEGIN, 0);
|
||||
break;
|
||||
}
|
||||
return m_nReadType;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return m_nReadType;
|
||||
}
|
||||
|
||||
DWORD cFileReader::GetFileSize()
|
||||
{
|
||||
if(0 == m_dwSizeLow)
|
||||
{
|
||||
cFile::GetFileSize();
|
||||
|
||||
switch(m_nReadType)
|
||||
{
|
||||
case FILEFORMAT_UNICODE_LE :
|
||||
case FILEFORMAT_UNICODE_BE :
|
||||
m_dwSizeLow -= (2);
|
||||
break;
|
||||
|
||||
case FILEFORMAT_UNICODE_UTF8 :
|
||||
m_dwSizeLow -= (3);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return m_dwSizeLow;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// cFileWriter class
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
cFileWriter::cFileWriter(const TCHAR* fileName)
|
||||
{
|
||||
if(fileName != NULL)
|
||||
{
|
||||
Open(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL cFileWriter::Open(const TCHAR* fileName)
|
||||
{
|
||||
if(cFile::Open(fileName, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, CREATE_ALWAYS))
|
||||
{
|
||||
WriteHeader();
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL cFileWriter::Write(const BYTE* buffer, const DWORD dwLength)
|
||||
{
|
||||
if(dwLength == 0)
|
||||
return TRUE;
|
||||
|
||||
DWORD dwBytes = 0;
|
||||
if(WriteFile( m_hFile,
|
||||
buffer,
|
||||
dwLength,
|
||||
&dwBytes,
|
||||
NULL))
|
||||
{
|
||||
return (dwBytes == dwLength) ? TRUE : FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL cFileWriter::WriteFormat(const TCHAR* format, ...)
|
||||
{
|
||||
TCHAR buffer[4096];
|
||||
|
||||
va_list marker;
|
||||
va_start(marker, format);
|
||||
_vstprintf_s(buffer, _countof(buffer), format, marker);
|
||||
va_end(marker);
|
||||
|
||||
return Write(reinterpret_cast<BYTE*>(buffer), (_tcslen(buffer) * sizeof(TCHAR)));
|
||||
}
|
||||
|
||||
void cFileWriter::WriteHeader()
|
||||
{
|
||||
#ifdef _UNICODE
|
||||
Move(FILE_BEGIN, 0);
|
||||
|
||||
WORD BOM = 0xFEFF;
|
||||
Write(reinterpret_cast<BYTE*>(&BOM), sizeof(BOM));
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
|
||||
// cFile
|
||||
class cFile
|
||||
{
|
||||
public:
|
||||
cFile();
|
||||
cFile(LPCTSTR fileName, DWORD dwMode, DWORD dwShareMode, DWORD dwCreationDisposition);
|
||||
virtual ~cFile();
|
||||
|
||||
public:
|
||||
BOOL Open(const TCHAR* fileName, DWORD dwMode, DWORD dwShareMode, DWORD dwCreationDisposition);
|
||||
void Close();
|
||||
|
||||
BOOL Move(DWORD dwOrigin, LONG lOffset);
|
||||
virtual DWORD GetFileSize();
|
||||
|
||||
enum SaveFileFormat
|
||||
{
|
||||
FILEFORMAT_ANSI = 1,
|
||||
FILEFORMAT_UNICODE_UTF8,
|
||||
FILEFORMAT_UNICODE_LE,
|
||||
FILEFORMAT_UNICODE_BE,
|
||||
};
|
||||
|
||||
protected:
|
||||
HANDLE m_hFile;
|
||||
DWORD m_dwSizeLow, m_dwSizeHigh;
|
||||
};
|
||||
|
||||
// cFileReader
|
||||
class cFileReader : public cFile
|
||||
{
|
||||
public:
|
||||
cFileReader(const TCHAR* fileName=NULL);
|
||||
|
||||
public:
|
||||
BOOL Open(const TCHAR* fileName);
|
||||
|
||||
BOOL Read(BYTE* buffer, const DWORD dwLength);
|
||||
BOOL Convert(const BYTE* bufferA, const int lengthA, BYTE* bufferB, const int lengthB);
|
||||
|
||||
int GetBOM();
|
||||
|
||||
virtual DWORD GetFileSize();
|
||||
|
||||
private:
|
||||
int m_nReadType;
|
||||
};
|
||||
|
||||
// cFileWriter
|
||||
class cFileWriter : public cFile
|
||||
{
|
||||
public:
|
||||
cFileWriter(const TCHAR* fileName=NULL);
|
||||
|
||||
public:
|
||||
BOOL Open(const TCHAR* fileName);
|
||||
|
||||
BOOL Write(const BYTE* buffer, const DWORD dwLength);
|
||||
BOOL WriteFormat(const TCHAR* format, ...);
|
||||
|
||||
void WriteHeader();
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
[ChangeInfo]
|
||||
; 기본값을 100으로 한다.
|
||||
ChangeCash = 2.3571
|
||||
etcitem = 100
|
||||
decoItem = 100
|
||||
|
||||
Class_Max = 3
|
||||
|
||||
Class_1Start = 1
|
||||
Class_1End = 1
|
||||
Class_1Rate = 70
|
||||
|
||||
Class_2Start = 2
|
||||
Class_2End = 10
|
||||
Class_2Rate = 50
|
||||
|
||||
Class_32Start = 20
|
||||
Class_3End = 30
|
||||
Class_3Rate = 10
|
||||
|
||||
normal_char = 100
|
||||
rare_char = 100
|
||||
premium_char = 100
|
||||
|
||||
Change = 1
|
||||
@@ -0,0 +1,319 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define COMPARE(x,min,max) (((x)>=(min))&&((x)<(max)))
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
/// 기타관련 ///
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
class CEtcValue
|
||||
{
|
||||
public:
|
||||
int iValue; // 갯수
|
||||
int iPeso; // 돈
|
||||
int iCash; // 캐쉬
|
||||
int iActive; // 실행여부
|
||||
};
|
||||
|
||||
|
||||
class CItemEtc
|
||||
{
|
||||
public:
|
||||
CString strName; // 이름
|
||||
int iType; // type
|
||||
|
||||
std::vector<CEtcValue*> EtcValueList;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
/// 치장관련 ///
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
typedef std::vector<DWORD> DWORDVec;
|
||||
typedef struct tagSoldierInfo
|
||||
{
|
||||
int m_iLimitSeconds;
|
||||
int m_iGoodsNoValue;
|
||||
|
||||
tagSoldierInfo()
|
||||
{
|
||||
m_iLimitSeconds = 0;
|
||||
m_iGoodsNoValue = 0;
|
||||
}
|
||||
}SoldierInfo;
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef struct tagDecoData
|
||||
{
|
||||
CString m_szName;
|
||||
int m_iDecoCode;
|
||||
int m_iPeso;
|
||||
int m_iCash;
|
||||
int m_iBonusPeso;
|
||||
int m_iSellPeso;
|
||||
bool m_bActive;
|
||||
int m_iLimitLevel;
|
||||
|
||||
int m_iSubscriptionType;
|
||||
|
||||
tagDecoData()
|
||||
{
|
||||
m_iDecoCode = 999999999;
|
||||
m_iPeso = 0;
|
||||
m_iCash = 0;
|
||||
m_iBonusPeso = 0;
|
||||
m_iSellPeso = 0;
|
||||
m_bActive = false;
|
||||
m_iLimitLevel = 0;
|
||||
}
|
||||
}DecoData;
|
||||
typedef std::vector< DecoData > vDecoData; // vector을 다른것으로 대체할때 INI Reload 개선 필요
|
||||
typedef struct tagDecoList
|
||||
{
|
||||
CString m_strTitle;
|
||||
int m_iDecoType;
|
||||
int m_iPackageKeepPeso;
|
||||
vDecoData m_vList;
|
||||
tagDecoList()
|
||||
{
|
||||
m_strTitle = "";
|
||||
m_iDecoType = m_iPackageKeepPeso = 0;
|
||||
}
|
||||
|
||||
}DecoList;
|
||||
typedef std::vector< DecoList > vDecoList; // vector을 다른것으로 대체할때 INI Reload 개선 필요
|
||||
|
||||
typedef std::vector<int> IntVec;
|
||||
typedef struct tagDefaultList
|
||||
{
|
||||
int m_iDecoType;
|
||||
IntVec m_vDecoCodeList;
|
||||
tagDefaultList()
|
||||
{
|
||||
m_iDecoType = 0;
|
||||
}
|
||||
}DefaultList;
|
||||
|
||||
typedef std::vector< DefaultList > vDefaultList; // vector을 다른것으로 대체할때 INI Reload 개선 필요
|
||||
|
||||
|
||||
struct SexDecoList
|
||||
{
|
||||
CString m_szName;
|
||||
CString m_szINI;
|
||||
int m_iSex;
|
||||
|
||||
vDecoList m_vList;
|
||||
vDefaultList m_vDefaultList;
|
||||
SexDecoList()
|
||||
{
|
||||
m_iSex = 0;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
enum ItemType
|
||||
{
|
||||
IT_NONE = -1,
|
||||
IT_CLASS = 0,
|
||||
IT_DECO = 1,
|
||||
IT_ETC = 2,
|
||||
IT_EXTRA_BOX = 3,
|
||||
};
|
||||
|
||||
struct BackUpInfo // 향후 항목 추가를 대비해서 struct로
|
||||
{
|
||||
int m_iCash;
|
||||
int m_iPeso;
|
||||
bool m_bItemActive;
|
||||
|
||||
BackUpInfo()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
m_iCash = 0;
|
||||
m_iPeso = 0;
|
||||
m_bItemActive = false;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
/// 용병관련 ///
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
struct HeroClassRate
|
||||
{
|
||||
int m_iStart;
|
||||
int m_iEnd;
|
||||
int m_iRate;
|
||||
|
||||
HeroClassRate()
|
||||
{
|
||||
m_iStart = 0;
|
||||
m_iEnd = 0;
|
||||
m_iRate = 0;
|
||||
}
|
||||
};
|
||||
|
||||
typedef std::vector< HeroClassRate* > vHeroClassRate;
|
||||
|
||||
enum PriceType
|
||||
{
|
||||
PT_NORMAL = 0,
|
||||
PT_PREMIUM = 1,
|
||||
PT_RARE = 2,
|
||||
};
|
||||
struct PriceData
|
||||
{
|
||||
int m_iSetCode;
|
||||
int m_bActive;
|
||||
int m_iBuyCash;
|
||||
PriceType m_eType;
|
||||
|
||||
PriceData()
|
||||
{
|
||||
m_iSetCode = 0;
|
||||
m_bActive = 0;
|
||||
m_iBuyCash = 0;
|
||||
m_eType = PT_NORMAL;
|
||||
}
|
||||
};
|
||||
|
||||
// 기간제 & 영구
|
||||
enum CharPeriodType
|
||||
{
|
||||
CPT_TIME = 0,
|
||||
CPT_MORTMAIN = 1, // 영구
|
||||
CPT_MAX = 2,
|
||||
};
|
||||
|
||||
struct LimitData
|
||||
{
|
||||
int m_iLimitDate;
|
||||
float m_fLimitPricePer;
|
||||
|
||||
LimitData()
|
||||
{
|
||||
m_iLimitDate = 0;
|
||||
m_fLimitPricePer = 1.0f;
|
||||
}
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
/// 추가관련 ///
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
struct RandomItem
|
||||
{
|
||||
int m_iItemCode;
|
||||
int m_iRandomRate;
|
||||
|
||||
RandomItem()
|
||||
{
|
||||
m_iItemCode = 0;
|
||||
m_iRandomRate = 0;
|
||||
}
|
||||
};
|
||||
typedef std::vector< RandomItem > RandomItemList;
|
||||
|
||||
|
||||
struct ExtraItem
|
||||
{
|
||||
int m_iMachine_code;
|
||||
int m_iType;
|
||||
int m_iActive;
|
||||
int m_iBuyCash;
|
||||
int m_iPackage;
|
||||
CString m_strMachineName;
|
||||
RandomItemList m_vRandomItemList;
|
||||
|
||||
ExtraItem()
|
||||
{
|
||||
m_iMachine_code = 0;
|
||||
m_iType = 0;
|
||||
m_iActive = 0;
|
||||
m_iBuyCash = 0;
|
||||
m_strMachineName.Empty();
|
||||
m_vRandomItemList.clear();
|
||||
}
|
||||
};
|
||||
|
||||
typedef std::map<int, ExtraItem*> mExtraItem;
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
/// 특별상점관련 ///
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
struct sPopupItemInfo
|
||||
{
|
||||
int m_iActive;
|
||||
|
||||
int m_iIndex;
|
||||
int m_iPresentType;
|
||||
int m_iPresentValue1;
|
||||
int m_iPresentValue2;
|
||||
int m_iCash;
|
||||
int m_iPrevCash;
|
||||
int m_iDisCount;
|
||||
};
|
||||
|
||||
typedef std::vector< sPopupItemInfo* > vPopupItemInfo;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
/// 특별상점관련 ///
|
||||
////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
struct SaleInfo
|
||||
{
|
||||
ItemType m_eItemType;
|
||||
int m_iType1;
|
||||
int m_iType2;
|
||||
int m_iStartDate;
|
||||
int m_iEndDate;
|
||||
int m_iCash;
|
||||
bool m_bActive;
|
||||
|
||||
SaleInfo()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
m_eItemType = IT_NONE;
|
||||
m_iType1 = 0;
|
||||
m_iType2 = 0;
|
||||
m_iStartDate = 0;
|
||||
m_iEndDate = 0;
|
||||
m_iCash = 0;
|
||||
m_bActive = false;
|
||||
}
|
||||
};
|
||||
|
||||
typedef std::vector< SaleInfo* > vSaleInfoVector;
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
|
||||
// stdafx.cpp : 표준 포함 파일만 들어 있는 소스 파일입니다.
|
||||
// BillingInfoList.pch는 미리 컴파일된 헤더가 됩니다.
|
||||
// stdafx.obj에는 미리 컴파일된 형식 정보가 포함됩니다.
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
// stdafx.h : 자주 사용하지만 자주 변경되지는 않는
|
||||
// 표준 시스템 포함 파일 및 프로젝트 관련 포함 파일이
|
||||
// 들어 있는 포함 파일입니다.
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef _SECURE_ATL
|
||||
#define _SECURE_ATL 1
|
||||
#endif
|
||||
|
||||
#ifndef VC_EXTRALEAN
|
||||
#define VC_EXTRALEAN // 거의 사용되지 않는 내용은 Windows 헤더에서 제외합니다.
|
||||
#endif
|
||||
|
||||
#include "targetver.h"
|
||||
|
||||
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 일부 CString 생성자는 명시적으로 선언됩니다.
|
||||
|
||||
// MFC의 공통 부분과 무시 가능한 경고 메시지에 대한 숨기기를 해제합니다.
|
||||
#define _AFX_ALL_WARNINGS
|
||||
|
||||
#include <afxwin.h> // MFC 핵심 및 표준 구성 요소입니다.
|
||||
#include <afxext.h> // MFC 확장입니다.
|
||||
|
||||
|
||||
#include <afxdisp.h> // MFC 자동화 클래스입니다.
|
||||
|
||||
|
||||
|
||||
#ifndef _AFX_NO_OLE_SUPPORT
|
||||
#include <afxdtctl.h> // Internet Explorer 4 공용 컨트롤에 대한 MFC 지원입니다.
|
||||
#endif
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // Windows 공용 컨트롤에 대한 MFC 지원입니다.
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
#include <afxcontrolbars.h> // MFC의 리본 및 컨트롤 막대 지원
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef _UNICODE
|
||||
#if defined _M_IX86
|
||||
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||
#elif defined _M_X64
|
||||
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||
#else
|
||||
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
#include "cFile.h"
|
||||
#include "define.h"
|
||||
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
// 포함 SDKDDKVer.h는 사용 가능한 Windows 플랫폼 중 버전이 가장 높은 플랫폼을 정의합니다.
|
||||
|
||||
// 이전 Windows 플랫폼에 대해 응용 프로그램을 빌드하려는 경우에는 SDKDDKVer.h를 포함하기 전에
|
||||
// WinSDKVer.h를 포함하고 _WIN32_WINNT 매크로를 지원하려는 플랫폼으로 설정하십시오.
|
||||
|
||||
#include <SDKDDKVer.h>
|
||||
Reference in new issue
Block a user