Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
113 lines
2.5 KiB
C++
113 lines
2.5 KiB
C++
// ChildFrm.cpp : implementation of the CChildFrame class
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "dxtex.h"
|
|
#include "dxtexdoc.h"
|
|
#include "dxtexview.h"
|
|
|
|
#include "ChildFrm.h"
|
|
|
|
#ifndef WM_IDLEUPDATECMDUI
|
|
#define WM_IDLEUPDATECMDUI 0x0363 // wParam == bDisableIfNoHandler
|
|
#endif
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CChildFrame
|
|
|
|
IMPLEMENT_DYNCREATE(CChildFrame, CMDIChildWnd)
|
|
|
|
BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
|
|
//{{AFX_MSG_MAP(CChildFrame)
|
|
ON_MESSAGE(WM_IDLEUPDATECMDUI, OnIdleUpdateCmdUI)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CChildFrame construction/destruction
|
|
|
|
CChildFrame::CChildFrame()
|
|
{
|
|
}
|
|
|
|
CChildFrame::~CChildFrame()
|
|
{
|
|
}
|
|
|
|
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
|
|
{
|
|
if( !CMDIChildWnd::PreCreateWindow(cs) )
|
|
return FALSE;
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CChildFrame diagnostics
|
|
|
|
#ifdef _DEBUG
|
|
void CChildFrame::AssertValid() const
|
|
{
|
|
CMDIChildWnd::AssertValid();
|
|
}
|
|
|
|
void CChildFrame::Dump(CDumpContext& dc) const
|
|
{
|
|
CMDIChildWnd::Dump(dc);
|
|
}
|
|
|
|
#endif //_DEBUG
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CChildFrame message handlers
|
|
|
|
BOOL CChildFrame::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CMDIFrameWnd* pParentWnd, CCreateContext* pContext)
|
|
{
|
|
if (!CMDIChildWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, pContext))
|
|
return FALSE;
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
|
|
// Handle WM_IDLEUPDATECMDUI to update modified indicator if necessary.
|
|
LRESULT CChildFrame::OnIdleUpdateCmdUI(WPARAM wParam, LPARAM)
|
|
{
|
|
// Only update the title if the doc or view state has changed.
|
|
// Otherwise, the title bar will flicker.
|
|
CDxtexDoc* pDoc = (CDxtexDoc*)GetActiveDocument();
|
|
CDxtexView* pView = (CDxtexView*)GetActiveView();
|
|
if (pView->TitleModsChanged() || pDoc->TitleModsChanged())
|
|
{
|
|
// This will force MFC to call CChildFrame::OnUpdateTitleFrame:
|
|
m_nIdleFlags |= idleTitle;
|
|
pView->ClearTitleModsChanged();
|
|
pDoc->ClearTitleModsChanged();
|
|
}
|
|
|
|
// Do the default thing
|
|
CMDIChildWnd::OnIdleUpdateCmdUI();
|
|
return 0L;
|
|
}
|
|
|
|
|
|
void CChildFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
|
|
{
|
|
CMDIChildWnd::OnUpdateFrameTitle(bAddToTitle);
|
|
CDxtexView* pView = (CDxtexView*)GetActiveView();
|
|
{
|
|
CString title;
|
|
GetWindowText(title);
|
|
title += " " + pView->GetStrTitleMods();
|
|
SetWindowText(title);
|
|
}
|
|
}
|