Files
Client/GameTools/WORLDCREATOR/CharEffect.cpp
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

248 lines
5.8 KiB
C++

// CharEffect.cpp : implementation file
//
#include "stdafx.h"
#include "worldcreator.h"
#include "CharEffect.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCharEffect dialog
CCharEffect::CCharEffect(CWnd* pParent /*=NULL*/)
: CDialog(CCharEffect::IDD, pParent)
{
//{{AFX_DATA_INIT(CCharEffect)
m_strEsfName = _T("");
m_fWRot = 0.0f;
m_fXPos = 0.0f;
m_fXRot = 0.0f;
m_fYPos = 0.0f;
m_fYRot = 0.0f;
m_fZPos = 0.0f;
m_fZRot = 0.0f;
m_strPivotName = _T("");
m_iPosUpdate = 1;
m_iRotUpdate = 1;
//}}AFX_DATA_INIT
}
void CCharEffect::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCharEffect)
DDX_Text(pDX, IDC_ESF, m_strEsfName);
DDX_Text(pDX, IDC_WROT, m_fWRot);
DDX_Text(pDX, IDC_XPOS, m_fXPos);
DDX_Text(pDX, IDC_XROT, m_fXRot);
DDX_Text(pDX, IDC_YPOS, m_fYPos);
DDX_Text(pDX, IDC_YROT, m_fYRot);
DDX_Text(pDX, IDC_ZPOS, m_fZPos);
DDX_Text(pDX, IDC_ZROT, m_fZRot);
DDX_Text(pDX, IDC_PIVOTNAME, m_strPivotName);
DDX_Radio(pDX, IDC_RADIO1, m_iPosUpdate);
DDX_Radio(pDX, IDC_RADIO3, m_iRotUpdate);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCharEffect, CDialog)
//{{AFX_MSG_MAP(CCharEffect)
ON_BN_CLICKED(IDC_ESFSEARCH, OnEsfsearch)
ON_BN_CLICKED(IDC_AUTO, OnAuto)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCharEffect message handlers
void CCharEffect::OnEsfsearch()
{
// TODO: Add your control notification handler code here
char str[] = "Esf ÆÄÀÏ(*.esf) |*.esf| ¸ðµçÆÄÀÏ(*.*)|*.*||";
CString strFilter = str;
CFileDialog filedia(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,strFilter,this);
filedia.DoModal();
m_strEsfName = filedia.GetFileName();
UpdateData(FALSE);
}
void CCharEffect::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
if(m_strEsfName.GetLength() <= 1 && m_strPivotName.GetLength() <= 1)
{
MessageBox("ÀÔ·ÂÀÌ À߸øµÇ¾ú½À´Ï´Ù.");
return;
}
PushCharEffectToEsf();
MessageBox("¼º°ø");
CDialog::OnOK();
}
void CCharEffect::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::OnCancel();
}
void CCharEffect::PushCharEffectToEsf()
{
char strBuffer[80][256];
int i;
memset(strBuffer,0,sizeof(char) * 256 * 80);
FILE *fp = fopen(m_strEsfName.LockBuffer(),"rt");
int iReadCount = 0;
while(!feof(fp))
{
fgets(strBuffer[iReadCount++],256,fp);
}
fclose(fp);
fp = fopen(m_strEsfName.LockBuffer(),"wt");
if( fp == NULL)
{
MessageBox("File ¿­±â ½ÇÆÐ");
return;
}
for(i = 0; i < iReadCount; i++)
{
char tmpBuf[256];
strcpy(tmpBuf,strBuffer[i]);
char *token = strtok(tmpBuf,"\n\t ");
if(token != NULL)
{
if(!strcmp(token,"FIN:"))
continue;
if(!strcmp(token,"CHARACTER:"))
continue;
}
fputs(strBuffer[i],fp);
}
fprintf(fp,"\nCHARACTER: %s [ %f %f %f ] [ %f %f %f %f ] %d %d\n", m_strPivotName.LockBuffer(),m_fXPos,m_fYPos,m_fZPos,
m_fXRot,m_fYRot,m_fZRot,m_fWRot,m_iPosUpdate,m_iRotUpdate);
fprintf(fp,"FIN:\n");
fclose(fp);
}
void CCharEffect::OnAuto()
{
// TODO: Add your control notification handler code here
// ÀÚµ¿À¸·Î Ŭ¸³º¸µå¿¡¼­ Data Àоî¿È.
BOOL bActiveClipBoard = IsClipboardFormatAvailable (CF_TEXT) ;
if(bActiveClipBoard)
{
OpenClipboard ();
GLOBALHANDLE hGlobal = GetClipboardData (CF_TEXT) ;
if(hGlobal == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
char *pClipText = (char *) malloc(GlobalSize (hGlobal));
char *pGlobal;
pGlobal = (char *)GlobalLock (hGlobal) ;
if(pGlobal == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
strcpy (pClipText, pGlobal) ;
GlobalUnlock (hGlobal) ;
CloseClipboard () ;
char *token = strtok(pClipText,"\n\t ");
if(token == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
m_fXPos = atof(token);
token = strtok(NULL,"\n\t ");
if(token == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
m_fYPos = atof(token);
token = strtok(NULL,"\n\t ");
if(token == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
m_fZPos = atof(token);
token = strtok(NULL,"\n\t ");
if(token == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
m_fXRot = atof(token);
token = strtok(NULL,"\n\t ");
if(token == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
m_fYRot = atof(token);
token = strtok(NULL,"\n\t ");
if(token == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
m_fZRot = atof(token);
token = strtok(NULL,"\n\t ");
if(token == NULL)
{
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
return;
}
m_fWRot = atof(token);
free(pClipText);
UpdateData(FALSE);
}
else
{
m_fXPos = m_fYPos = m_fZPos = m_fXRot = m_fYRot = m_fZRot = m_fWRot = 0.0f;
UpdateData(FALSE);
MessageBox("ClipBoard°¡ ¿ÇÁö ¾Ê½À´Ï´Ù.");
}
//
}