Files
Client/GameTools/NeoRylClient/HumanSociety.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

1101 lines
41 KiB
C++

// HumanSociety.cpp: implementation of the CHumanSociety class.
//
//////////////////////////////////////////////////////////////////////
#include "ClientMain.h"
#include "WinInput.h"
#include "HumanSociety.h"
#include "GUITextEdit.h"
#include "GUIMessageBox.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CHumanSociety::CHumanSociety()
{
}
CHumanSociety::~CHumanSociety()
{
}
BOOL CHumanSociety::Init(unsigned short x, unsigned short y)
{
CSprite *lpSprite;
lpSprite = new CSprite;
lpSprite->Create(x, y, 0, 0, 222, 256, g_ClientMain.m_lpInterface->m_lstTexture[13]);
m_lstSprite.push_back(lpSprite);
lpSprite = new CSprite;
lpSprite->Create(x, y + 256, 0, 0, 222, 224, g_ClientMain.m_lpInterface->m_lstTexture[14]);
m_lstSprite.push_back(lpSprite);
// ÆÄƼ ã±â ¹éÆÇ
lpSprite = new CSprite;
lpSprite->Create(x + 5, y + 56, 0, 0, 214, 256, g_ClientMain.m_lpInterface->m_lstTexture[15]);
m_lstSprite.push_back(lpSprite);
lpSprite = new CSprite;
lpSprite->Create(x + 5, y + 312, 0, 0, 214, 164, g_ClientMain.m_lpInterface->m_lstTexture[16]);
m_lstSprite.push_back(lpSprite);
// ÅÇ
lpSprite = new CSprite;
lpSprite->Create(x, y + 25, 0, 0, 222, 31, g_ClientMain.m_lpInterface->m_lstTexture[18]);
m_lstSprite.push_back(lpSprite);
lpSprite = new CSprite;
lpSprite->Create(x, y + 25, 0, 31, 222, 62, g_ClientMain.m_lpInterface->m_lstTexture[18]);
m_lstSprite.push_back(lpSprite);
lpSprite = new CSprite;
lpSprite->Create(x, y + 25, 0, 62, 222, 93, g_ClientMain.m_lpInterface->m_lstTexture[18]);
m_lstSprite.push_back(lpSprite);
lpSprite = new CSprite;
lpSprite->Create(x, y + 25, 0, 93, 222, 124, g_ClientMain.m_lpInterface->m_lstTexture[18]);
m_lstSprite.push_back(lpSprite);
// »çȸâ
lpSprite = new CSprite;
lpSprite->Create(0, 0, 0, 0, 198, 41, g_ClientMain.m_lpInterface->m_lstTexture[17]);
m_lstSprite.push_back(lpSprite);
lpSprite = new CSprite;
lpSprite->Create(0, 0, 0, 41, 198, 82, g_ClientMain.m_lpInterface->m_lstTexture[17]);
m_lstSprite.push_back(lpSprite);
// 10
lpSprite = new CSprite;
lpSprite->Create(0, 0, 0, 174, 198, 215, g_ClientMain.m_lpInterface->m_lstTexture[17]);
m_lstSprite.push_back(lpSprite);
CGUIButton *lpButton;
for(long i = 0; i < 10; i++)
{
lpButton = new CGUIButton; // Å»Åð
lpButton->m_nMethod = BUTTON_NORMAL;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(33, 23, 0, 95, 51, 108, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpOnMouseButton = new CSprite;
lpButton->m_lpOnMouseButton->Create(33, 23, 51, 95, 102, 108, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(33, 23, 102, 95, 153, 108, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->SetTooltip(&m_TooltipManager, "");
lpButton->SetMove(x + 8, y + 62 + i * 41);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
lpButton = new CGUIButton; // ¸®´õ¾çµµ
lpButton->m_nMethod = BUTTON_NORMAL;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(33, 23, 0, 108, 51, 121, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpOnMouseButton = new CSprite;
lpButton->m_lpOnMouseButton->Create(33, 23, 51, 108, 102, 121, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(33, 23, 102, 108, 153, 121, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->SetTooltip(&m_TooltipManager, "");
lpButton->SetMove(x + 8, y + 62 + i * 41);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
lpButton = new CGUIButton; // Å»Åð½ÃÅ´
lpButton->m_nMethod = BUTTON_NORMAL;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(85, 23, 0, 82, 51, 95, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpOnMouseButton = new CSprite;
lpButton->m_lpOnMouseButton->Create(85, 23, 51, 82, 102, 95, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(85, 23, 102, 82, 153, 95, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->SetTooltip(&m_TooltipManager, "");
lpButton->SetMove(x + 8, y + 62 + i * 41);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
lpButton = new CGUIButton; // Á¦°ÅÇϱâ
lpButton->m_nMethod = BUTTON_NORMAL;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(33, 23, 0, 121, 51, 134, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpOnMouseButton = new CSprite;
lpButton->m_lpOnMouseButton->Create(33, 23, 51, 121, 102, 134, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(33, 23, 102, 121, 153, 134, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->SetTooltip(&m_TooltipManager, "");
lpButton->SetMove(x + 8, y + 62 + i * 41);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
lpButton = new CGUIButton; // Å»Åð½Åû
lpButton->m_nMethod = BUTTON_NORMAL;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(33, 23, 0, 134, 51, 147, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpOnMouseButton = new CSprite;
lpButton->m_lpOnMouseButton->Create(33, 23, 51, 134, 102, 147, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(33, 23, 102, 134, 153, 147, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->SetTooltip(&m_TooltipManager, "");
lpButton->SetMove(x + 8, y + 62 + i * 41);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
lpButton = new CGUIButton; // °ÅºÎÇϱâ
lpButton->m_nMethod = BUTTON_NORMAL;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(85, 23, 0, 147, 51, 160, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpOnMouseButton = new CSprite;
lpButton->m_lpOnMouseButton->Create(85, 23, 51, 147, 102, 160, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(85, 23, 102, 147, 153, 160, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->SetTooltip(&m_TooltipManager, "");
lpButton->SetMove(x + 8, y + 62 + i * 41);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
lpButton = new CGUIButton; // Ä£±¸µî·Ï
lpButton->m_nMethod = BUTTON_NORMAL;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(85, 23, 0, 160, 51, 173, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpOnMouseButton = new CSprite;
lpButton->m_lpOnMouseButton->Create(85, 23, 51, 160, 102, 173, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(85, 23, 102, 160, 153, 173, g_ClientMain.m_lpInterface->m_lstTexture[17]);
lpButton->SetTooltip(&m_TooltipManager, "");
lpButton->SetMove(x + 8, y + 62 + i * 41);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
}
// 70
lpButton = new CGUIButton;
lpButton->m_nMethod = BUTTON_SIMPLE;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(190, 1, 0, 0, 28, 28, g_ClientMain.m_lpInterface->m_lpCommonWindow);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(190, 1, 28, 0, 56, 28, g_ClientMain.m_lpInterface->m_lpCommonWindow);
lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[220]);
lpButton->SetMove(x, y);
m_ButtonManager.AddButton(lpButton);
// 71
lpButton = new CGUIButton;
lpButton->m_nMethod = BUTTON_SIMPLECHECK;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(15, 396, 10, 84, 28, 101, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(15, 396, 43, 177, 61, 194, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpButton->SetMove(x, y);
m_ButtonManager.AddButton(lpButton);
// 72
lpButton = new CGUIButton;
lpButton->m_nMethod = BUTTON_SIMPLECHECK;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(15, 417, 10, 105, 28, 122, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(15, 417, 43, 177, 61, 194, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpButton->SetMove(x, y);
m_ButtonManager.AddButton(lpButton);
// 73 Refresh
lpButton = new CGUIButton;
lpButton->m_nMethod = BUTTON_SIMPLE;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(140, 441, 91, 199, 159, 225, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(140, 441, 91, 225, 159, 251, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[221]);
lpButton->SetMove(x, y);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
// 74 ±Ó¸» º¸³»±â
lpButton = new CGUIButton;
lpButton->m_nMethod = BUTTON_SIMPLE;
lpButton->m_lpNormalButton = new CSprite;
lpButton->m_lpNormalButton->Create(38, 441, 0, 199, 91, 225, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpButton->m_lpClickMouseButton = new CSprite;
lpButton->m_lpClickMouseButton->Create(38, 441, 0, 225, 91, 251, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[222]);
lpButton->SetMove(x, y);
lpButton->ShowButton(FALSE);
m_ButtonManager.AddButton(lpButton);
// 11 XÇ¥½Ã
lpSprite = new CSprite;
lpSprite->Create(0, 0, 17, 177, 35, 194, g_ClientMain.m_lpInterface->m_lstTexture[16]);
m_lstSprite.push_back(lpSprite);
CGUIScroll *lpScroll;
lpScroll = new CGUIScroll;
lpScroll->m_lpBarButton = new CGUIButton;
lpScroll->m_lpBarButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpBarButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpBarButton->m_lpNormalButton->Create(207, 87, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpBarButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpBarButton->m_lpClickMouseButton->Create(207, 87, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpUpArrowButton = new CGUIButton;
lpScroll->m_lpUpArrowButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpUpArrowButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpUpArrowButton->m_lpNormalButton->Create(207, 77, 123, 180, 134, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpUpArrowButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpUpArrowButton->m_lpClickMouseButton->Create(207, 77, 139, 180, 150, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpDownArrowButton = new CGUIButton;
lpScroll->m_lpDownArrowButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpDownArrowButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpDownArrowButton->m_lpNormalButton->Create(207, 210, 91, 180, 102, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpDownArrowButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpDownArrowButton->m_lpClickMouseButton->Create(207, 210, 107, 180, 118, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lValue = (long *)&m_dwStartMemberSlot;
lpScroll->SetMove(x, y);
lpScroll->SetPosition(207, 87);
lpScroll->SetEdge(0, 0, 11, 100);
lpScroll->SetRange(0, 0);
m_lstScroll.push_back(lpScroll);
m_dwStartMemberSlot = 0;
lpScroll = new CGUIScroll;
lpScroll->m_lpBarButton = new CGUIButton;
lpScroll->m_lpBarButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpBarButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpBarButton->m_lpNormalButton->Create(207, 254, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpBarButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpBarButton->m_lpClickMouseButton->Create(207, 254, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpUpArrowButton = new CGUIButton;
lpScroll->m_lpUpArrowButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpUpArrowButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpUpArrowButton->m_lpNormalButton->Create(207, 244, 123, 180, 134, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpUpArrowButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpUpArrowButton->m_lpClickMouseButton->Create(207, 244, 139, 180, 150, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpDownArrowButton = new CGUIButton;
lpScroll->m_lpDownArrowButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpDownArrowButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpDownArrowButton->m_lpNormalButton->Create(207, 377, 91, 180, 102, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpDownArrowButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpDownArrowButton->m_lpClickMouseButton->Create(207, 377, 107, 180, 118, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lValue = (long *)&m_dwStartPartySlot;
lpScroll->SetMove(x, y);
lpScroll->SetPosition(207, 254);
lpScroll->SetEdge(0, 0, 11, 100);
lpScroll->SetRange(0, 0);
m_lstScroll.push_back(lpScroll);
m_dwStartPartySlot = 0;
lpScroll = new CGUIScroll;
lpScroll->m_lpBarButton = new CGUIButton;
lpScroll->m_lpBarButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpBarButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpBarButton->m_lpNormalButton->Create(206, 67, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpBarButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpBarButton->m_lpClickMouseButton->Create(206, 67, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpUpArrowButton = new CGUIButton;
lpScroll->m_lpUpArrowButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpUpArrowButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpUpArrowButton->m_lpNormalButton->Create(206, 57, 123, 180, 134, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpUpArrowButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpUpArrowButton->m_lpClickMouseButton->Create(206, 57, 139, 180, 150, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpDownArrowButton = new CGUIButton;
lpScroll->m_lpDownArrowButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpDownArrowButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpDownArrowButton->m_lpNormalButton->Create(206, 465, 91, 180, 102, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpDownArrowButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpDownArrowButton->m_lpClickMouseButton->Create(206, 465, 107, 180, 118, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lValue = (long *)&m_dwStartFriendSlot;
lpScroll->SetMove(x, y);
lpScroll->SetPosition(206, 67);
lpScroll->SetEdge(0, 0, 11, 377);
lpScroll->SetRange(0, 0);
m_lstScroll.push_back(lpScroll);
m_dwStartFriendSlot = 0;
lpScroll = new CGUIScroll;
lpScroll->m_lpBarButton = new CGUIButton;
lpScroll->m_lpBarButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpBarButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpBarButton->m_lpNormalButton->Create(206, 67, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpBarButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpBarButton->m_lpClickMouseButton->Create(206, 67, 74, 176, 85, 199, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpUpArrowButton = new CGUIButton;
lpScroll->m_lpUpArrowButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpUpArrowButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpUpArrowButton->m_lpNormalButton->Create(206, 57, 123, 180, 134, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpUpArrowButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpUpArrowButton->m_lpClickMouseButton->Create(206, 57, 139, 180, 150, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpDownArrowButton = new CGUIButton;
lpScroll->m_lpDownArrowButton->m_nMethod = BUTTON_SIMPLE;
lpScroll->m_lpDownArrowButton->m_lpNormalButton = new CSprite;
lpScroll->m_lpDownArrowButton->m_lpNormalButton->Create(206, 465, 91, 180, 102, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lpDownArrowButton->m_lpClickMouseButton = new CSprite;
lpScroll->m_lpDownArrowButton->m_lpClickMouseButton->Create(206, 465, 107, 180, 118, 190, g_ClientMain.m_lpInterface->m_lstTexture[16]);
lpScroll->m_lValue = (long *)&m_dwStartBanSlot;
lpScroll->SetMove(x, y);
lpScroll->SetPosition(207, 67);
lpScroll->SetEdge(0, 0, 11, 377);
lpScroll->SetRange(0, 0);
m_lstScroll.push_back(lpScroll);
m_dwStartBanSlot = 0;
m_bShow = FALSE;
m_dwWindowKind = WINDOW_FIX;
m_rcWindowSize.left = x; m_rcWindowSize.top = y;
m_rcWindowSize.right = x + 222; m_rcWindowSize.bottom = y + 480;
m_rcMoveEdge.left = x; m_rcMoveEdge.top = y;
m_rcMoveEdge.right = x + 150; m_rcMoveEdge.bottom = y + 20;
InitValue();
return TRUE;
}
void CHumanSociety::InitValue(void)
{
m_dwStartSlot = 0;
m_dwSocietyMode = 0;
m_dwRemoveResult = 0;
m_dwAddResult = 0;
g_ClientMain.m_dwSelectMemberSlot = 0xFFFFFFFF;
g_ClientMain.m_dwSelectPartySlot = 0xFFFFFFFF;
}
BOOL CHumanSociety::Update(BOOL &bClick, BOOL &bEdge)
{
if(g_DeviceInput.InRect(m_rcWindowSize.left, m_rcWindowSize.top, m_rcWindowSize.right, m_rcWindowSize.bottom))
{
bEdge = TRUE;
if(g_DeviceInput.GetIsLeftMouseDown() || g_DeviceInput.GetIsMiddleMouseDown() || g_DeviceInput.GetIsRightMouseDown() ||
g_DeviceInput.GetIsLeftMousePress() || g_DeviceInput.GetIsMiddleMousePress() || g_DeviceInput.GetIsRightMousePress() ||
g_DeviceInput.GetIsLeftMouseUp() || g_DeviceInput.GetIsMiddleMouseUp() || g_DeviceInput.GetIsRightMouseUp())
{
bClick = TRUE;
}
}
m_ButtonManager.Update();
m_TooltipManager.Update();
if(m_dwRemoveResult & MB_YES)
{
g_ClientMain.m_Network.m_pSocket->CharFriendRemoveRequest(m_dwChrID, (PktFriendRemoveReq::CMD)m_dwCommandType);
m_dwRemoveResult = 0;
return TRUE;
} else if(m_dwRemoveResult & MB_NO || m_dwRemoveResult & MB_EXIT)
{
m_dwRemoveResult = 0;
return TRUE;
}
if(m_dwAddResult & MB_YES)
{
g_ClientMain.m_Network.m_pSocket->CharFriendAddRequest(m_strName, (PktFriendAddReq::CMD)m_dwCommandType);
m_dwAddResult = 0;
return TRUE;
} else if(m_dwAddResult & MB_NO || m_dwAddResult & MB_EXIT)
{
m_dwAddResult = 0;
return TRUE;
}
if(g_DeviceInput.InRect(m_rcWindowSize.left + 5, m_rcWindowSize.top + 26, m_rcWindowSize.left + 56, m_rcWindowSize.top + 54) && g_DeviceInput.GetIsLeftMouseDown())
{
m_dwSocietyMode = 0;
} else if(g_DeviceInput.InRect(m_rcWindowSize.left + 58, m_rcWindowSize.top + 26, m_rcWindowSize.left + 109, m_rcWindowSize.top + 54) && g_DeviceInput.GetIsLeftMouseDown())
{
m_dwSocietyMode = 1;
} else if(g_DeviceInput.InRect(m_rcWindowSize.left + 111, m_rcWindowSize.top + 26, m_rcWindowSize.left + 162, m_rcWindowSize.top + 54) && g_DeviceInput.GetIsLeftMouseDown())
{
m_dwSocietyMode = 2;
} else if(g_DeviceInput.InRect(m_rcWindowSize.left + 164, m_rcWindowSize.top + 26, m_rcWindowSize.left + 215, m_rcWindowSize.top + 54) && g_DeviceInput.GetIsLeftMouseDown())
{
m_dwSocietyMode = 3;
}
switch(m_dwSocietyMode)
{
case 0:
UpdateParty(bClick, bEdge);
break;
case 1:
UpdateFriend(bClick, bEdge);
break;
case 2:
UpdateBan(bClick, bEdge);
break;
case 3:
UpdateSearchParty(bClick, bEdge);
break;
}
if(m_ButtonManager.m_lstButton[70]->m_nState == BUTTON_CLICK)
{
m_ButtonManager.m_lstButton[70]->m_nState = BUTTON_NONE;
m_bShow = FALSE;
}
return TRUE;
}
BOOL CHumanSociety::UpdateParty(BOOL &bClick, BOOL &bEdge)
{
for(int i = 0; i < 10; i++)
{
if(m_ButtonManager.m_lstButton[0 + i * 7]->m_nState == BUTTON_CLICK) // Å»Åð
{
CNetwork::SendPartyCmd(0, ClientSocket::PartyCmd_Secession);
} else if(m_ButtonManager.m_lstButton[1 + i * 7]->m_nState == BUTTON_CLICK) // ¸®´õ¾çµµ
{
int j, k;
for(j = 0, k = 0; j < 10; j++)
{
if(!g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[j]) continue;
if(k == i)
{
break;
}
k++;
}
CNetwork::m_pSocket->CharPartyCmd(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[k], g_ClientMain.m_dwMyChrID,
g_ClientMain.m_csStatus.m_PartyInfo.m_dwPartyID, ClientSocket::PartyCmd_Transfer);
} else if(m_ButtonManager.m_lstButton[2 + i * 7]->m_nState == BUTTON_CLICK) // Å»Åð½ÃÅ´
{
int j, k;
for(j = 0, k = 0; j < 10; j++)
{
if(!g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[j]) continue;
if(k == i)
{
break;
}
k++;
}
CNetwork::m_pSocket->CharPartyCmd(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[k], g_ClientMain.m_dwMyChrID,
g_ClientMain.m_csStatus.m_PartyInfo.m_dwPartyID, ClientSocket::PartyCmd_Banish);
} else if(m_ButtonManager.m_lstButton[3 + i * 7]->m_nState == BUTTON_CLICK)
{
} else if(m_ButtonManager.m_lstButton[4 + i * 7]->m_nState == BUTTON_CLICK)
{
}
}
return TRUE;
}
BOOL CHumanSociety::UpdateFriend(BOOL &bClick, BOOL &bEdge)
{
if(g_ClientMain.m_csStatus.m_lstFriendList.size() > 10) m_lstScroll[2]->SetRange(0, g_ClientMain.m_csStatus.m_lstFriendList.size() - 10);
m_lstScroll[2]->Update();
FriendInfo *lpFriend;
for(int i = 0; i < 10; i++)
{
lpFriend = g_ClientMain.m_csStatus.GetFriendtoNum(i + m_dwStartFriendSlot);
if(lpFriend && lpFriend->IsLogined())
{
if(m_ButtonManager.m_lstButton[3 + i * 7]->m_nState == BUTTON_CLICK) // Á¦°ÅÇϱâ
{
char strMessage[MAX_PATH];
sprintf(strMessage, g_StringTable.m_strString[224], lpFriend->m_szName);
CGUIMessageBox *lpMessageBox;
lpMessageBox = new CGUIMessageBox;
lpMessageBox->SetWordBreak(TRUE);
lpMessageBox->Create(strMessage, MB_YES | MB_NO | MB_EXIT);
lpMessageBox->SetResult(&m_dwRemoveResult);
m_dwRemoveResult = 0;
m_dwChrID = lpFriend->m_dwCID;
m_dwCommandType = PktFriendRemoveReq::REMOVE_FRIEND_REQ;
} else if(m_ButtonManager.m_lstButton[5 + i * 7]->m_nState == BUTTON_CLICK) // °ÅºÎÇϱâ
{
if(g_ClientMain.m_csStatus.m_lstBanList.size() >= 100)
{
g_TextEdit.AddMessage(g_StringTable.m_strString[225], g_ClientMain.m_dwMyChrID, 129);
} else
{
char strMessage[MAX_PATH];
sprintf(strMessage, g_StringTable.m_strString[226], lpFriend->m_szName);
CGUIMessageBox *lpMessageBox;
lpMessageBox = new CGUIMessageBox;
lpMessageBox->SetWordBreak(TRUE);
lpMessageBox->Create(strMessage, MB_YES | MB_NO | MB_EXIT);
lpMessageBox->SetResult(&m_dwAddResult);
m_dwAddResult = 0;
strcpy(m_strName, lpFriend->m_szName);
m_dwCommandType = PktFriendAddReq::BAN_FRIEND_REQ;
}
}
if(g_DeviceInput.InRect(m_rcWindowSize.left + 8, m_rcWindowSize.top + 62 + i * 41, m_rcWindowSize.left + 206, m_rcWindowSize.top + 62 + i * 41 + 41))
{
if(g_DeviceInput.GetIsLeftMouseDBClick())
{
strcpy(g_ClientMain.m_strWhisperChrID, lpFriend->m_szName);
g_ClientMain.m_bInstanceWhisper = TRUE;
g_TextEdit.SetFocus();
break;
}
}
}
}
return TRUE;
}
BOOL CHumanSociety::UpdateBan(BOOL &bClick, BOOL &bEdge)
{
if(g_ClientMain.m_csStatus.m_lstBanList.size() > 10) m_lstScroll[3]->SetRange(0, g_ClientMain.m_csStatus.m_lstBanList.size() - 10);
m_lstScroll[3]->Update();
BanInfo *lpBan;
for(int i = 0; i < 10; i++)
{
lpBan = g_ClientMain.m_csStatus.GetBantoNum(i + m_dwStartBanSlot);
if(lpBan)
{
if(m_ButtonManager.m_lstButton[3 + i * 7]->m_nState == BUTTON_CLICK) // Á¦°ÅÇϱâ
{
char strMessage[MAX_PATH];
sprintf(strMessage, g_StringTable.m_strString[227], lpBan->m_szName);
CGUIMessageBox *lpMessageBox;
lpMessageBox = new CGUIMessageBox;
lpMessageBox->SetWordBreak(TRUE);
lpMessageBox->Create(strMessage, MB_YES | MB_NO | MB_EXIT);
lpMessageBox->SetResult(&m_dwRemoveResult);
m_dwRemoveResult = 0;
m_dwChrID = lpBan->m_dwCID;
m_dwCommandType = PktFriendRemoveReq::REMOVE_BAN_REQ;
} else if(m_ButtonManager.m_lstButton[6 + i * 7]->m_nState == BUTTON_CLICK) // Ä£±¸µî·Ï
{
if(g_ClientMain.m_csStatus.m_lstFriendList.size() >= 100)
{
g_TextEdit.AddMessage(g_StringTable.m_strString[228], g_ClientMain.m_dwMyChrID, 129);
} else
{
char strMessage[MAX_PATH];
sprintf(strMessage, g_StringTable.m_strString[229], lpBan->m_szName);
CGUIMessageBox *lpMessageBox;
lpMessageBox = new CGUIMessageBox;
lpMessageBox->SetWordBreak(TRUE);
lpMessageBox->Create(strMessage, MB_YES | MB_NO | MB_EXIT);
lpMessageBox->SetResult(&m_dwAddResult);
m_dwAddResult = 0;
strcpy(m_strName, lpBan->m_szName);
m_dwCommandType = PktFriendAddReq::ADD_FRIEND_REQ;
}
}
}
}
return TRUE;
}
BOOL CHumanSociety::UpdateSearchParty(BOOL &bClick, BOOL &bEdge)
{
if(g_ClientMain.m_cNumMember)
{
if(g_ClientMain.m_cNumMember > 9) m_lstScroll[0]->SetRange(0, g_ClientMain.m_cNumMember - 9);
m_lstScroll[0]->Update();
unsigned long dwSlot;
for(unsigned long i = 0; i < 9; i++)
{
dwSlot = i + m_dwStartMemberSlot;
if(!g_ClientMain.m_mfpMember[dwSlot].m_cLevel) break;
if(g_DeviceInput.InRect(m_rcWindowSize.left + 12, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 93 + i * 16))
{
if(g_DeviceInput.GetIsLeftMouseDBClick())
{
g_ClientMain.m_dwSelectMemberSlot = dwSlot;
g_ClientMain.m_dwSelectPartySlot = 0xFFFFFFFF;
strcpy(g_ClientMain.m_strWhisperChrID, g_ClientMain.m_mfpMember[dwSlot].m_strName);
g_ClientMain.m_bInstanceWhisper = TRUE;
g_TextEdit.SetFocus();
break;
}
if(g_DeviceInput.GetIsLeftMouseDown())
{
g_ClientMain.m_dwSelectMemberSlot = dwSlot;
g_ClientMain.m_dwSelectPartySlot = 0xFFFFFFFF;
break;
}
}
}
}
if(g_ClientMain.m_cNumParty)
{
if(g_ClientMain.m_cNumParty > 9) m_lstScroll[1]->SetRange(0, g_ClientMain.m_cNumParty - 9);
m_lstScroll[1]->Update();
unsigned long dwSlot;
for(unsigned long i = 0; i < 9; i++)
{
dwSlot = i + m_dwStartPartySlot;
if(!g_ClientMain.m_pfmParty[dwSlot].m_cAverageLevel) break;
if(g_DeviceInput.InRect(m_rcWindowSize.left + 12, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 261 + i * 16))
{
if(g_DeviceInput.GetIsLeftMouseDBClick())
{
g_ClientMain.m_dwSelectPartySlot = dwSlot;
g_ClientMain.m_dwSelectMemberSlot = 0xFFFFFFFF;
strcpy(g_ClientMain.m_strWhisperChrID, g_ClientMain.m_pfmParty[dwSlot].m_strLeaderName);
g_ClientMain.m_bInstanceWhisper = TRUE;
g_TextEdit.SetFocus();
break;
}
if(g_DeviceInput.GetIsLeftMouseDown())
{
g_ClientMain.m_dwSelectPartySlot = dwSlot;
g_ClientMain.m_dwSelectMemberSlot = 0xFFFFFFFF;
}
break;
}
}
}
if(m_ButtonManager.m_lstButton[71]->m_bShow && g_DeviceInput.InRect(m_rcWindowSize.left + 15, m_rcWindowSize.top + 396, m_rcWindowSize.left + 33, m_rcWindowSize.top + 413) && g_DeviceInput.GetIsLeftMouseDown())
{
long lCounter;
if((lCounter = g_ClientMain.m_Network.SendPartyCmd(!g_ClientMain.m_bPartyFind, ClientSocket::PartyCmd_FindParty)) != 0)
{
char strText[100];
sprintf(strText, g_StringTable.m_strString[223], lCounter / 1000.0f);
g_TextEdit.AddMessage(strText, g_ClientMain.m_dwMyChrID, 129);
}
}
if(m_ButtonManager.m_lstButton[72]->m_bShow && g_DeviceInput.InRect(m_rcWindowSize.left + 15, m_rcWindowSize.top + 417, m_rcWindowSize.left + 33, m_rcWindowSize.top + 434) && g_DeviceInput.GetIsLeftMouseDown())
{
long lCounter;
if((lCounter = g_ClientMain.m_Network.SendPartyCmd(!g_ClientMain.m_bPartyPlayerFind, ClientSocket::PartyCmd_FindMember)) != 0)
{
char strText[100];
sprintf(strText, g_StringTable.m_strString[223], lCounter / 1000.0f);
g_TextEdit.AddMessage(strText, g_ClientMain.m_dwMyChrID, 129);
}
}
if(m_ButtonManager.m_lstButton[73]->m_nState == BUTTON_CLICK)
{
long lCounter;
if((lCounter = g_ClientMain.m_Network.SendPartyFind()) != 0)
{
char strText[100];
sprintf(strText, g_StringTable.m_strString[223], lCounter / 1000.0f);
g_TextEdit.AddMessage(strText, g_ClientMain.m_dwMyChrID, 129);
} else
{
g_ClientMain.m_dwSelectMemberSlot = 0xFFFFFFFF;
g_ClientMain.m_dwSelectPartySlot = 0xFFFFFFFF;
}
}
if(m_ButtonManager.m_lstButton[74]->m_nState == BUTTON_CLICK)
{
unsigned long dwSelect = 0xFFFFFFFF;
BOOL bParty = FALSE;
if(g_ClientMain.m_dwSelectMemberSlot != 0xFFFFFFFF) { dwSelect = g_ClientMain.m_dwSelectMemberSlot; bParty = FALSE; }
if(g_ClientMain.m_dwSelectPartySlot != 0xFFFFFFFF) { dwSelect = g_ClientMain.m_dwSelectPartySlot; bParty = TRUE; }
if(dwSelect != 0xFFFFFFFF)
{
if(bParty)
strcpy(g_ClientMain.m_strWhisperChrID, g_ClientMain.m_pfmParty[dwSelect].m_strLeaderName);
else
strcpy(g_ClientMain.m_strWhisperChrID, g_ClientMain.m_mfpMember[dwSelect].m_strName);
g_ClientMain.m_bInstanceWhisper = TRUE;
g_TextEdit.SetFocus();
}
}
return TRUE;
}
void CHumanSociety::Render(LPDIRECT3DDEVICE8 lpD3DDevice)
{
m_lstSprite[0]->Render(lpD3DDevice, m_cAlpha);
m_lstSprite[1]->Render(lpD3DDevice, m_cAlpha);
switch(m_dwSocietyMode)
{
case 0:
RenderParty(lpD3DDevice);
break;
case 1:
RenderFriend(lpD3DDevice);
break;
case 2:
RenderBan(lpD3DDevice);
break;
case 3:
RenderSearchParty(lpD3DDevice);
break;
}
m_ButtonManager.Render(lpD3DDevice);
}
void CHumanSociety::RenderParty(LPDIRECT3DDEVICE8 lpD3DDevice)
{
long i;
m_lstSprite[4]->Render(lpD3DDevice, m_cAlpha);
for(i = 0; i < 10; i++)
{
m_ButtonManager.m_lstButton[i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[1 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[2 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[3 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[4 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[5 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[6 + i * 7]->m_bShow = FALSE;
}
m_ButtonManager.m_lstButton[71]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[72]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[73]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[74]->m_bShow = FALSE;
if(g_ClientMain.m_csStatus.m_PartyInfo.m_cMemberNum)
{
int count = 0;
for(i = 0; i < 10; i++)
{
if(g_ClientMain.m_csStatus.m_PartyInfo.m_cMemberNum <= count) break;
if(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID)
{
if(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[i] == g_ClientMain.m_dwMyChrID)
{
if(g_ClientMain.m_csStatus.m_PartyInfo.m_dwLeaderID == g_ClientMain.m_dwMyChrID)
{
m_ButtonManager.m_lstButton[0 + count * 7]->m_bShow = TRUE;
} else
{
m_ButtonManager.m_lstButton[0 + count * 7]->m_bShow = TRUE;
}
} else
{
if(g_ClientMain.m_csStatus.m_PartyInfo.m_dwLeaderID == g_ClientMain.m_dwMyChrID)
{
if(g_ClientMain.m_csStatus.m_PartyInfo.ServerID[i])
{
m_ButtonManager.m_lstButton[1 + count * 7]->m_bShow = TRUE;
}
m_ButtonManager.m_lstButton[2 + count * 7]->m_bShow = TRUE;
}
}
RenderSlot(lpD3DDevice, i, count, m_cAlpha, m_rcWindowSize.left + 8, m_rcWindowSize.top + 62 + count * 41);
count++;
}
}
}
}
void CHumanSociety::RenderFriend(LPDIRECT3DDEVICE8 lpD3DDevice)
{
long i;
m_lstSprite[5]->Render(lpD3DDevice, m_cAlpha);
for(i = 0; i < 10; i++)
{
m_ButtonManager.m_lstButton[i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[1 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[2 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[3 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[4 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[5 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[6 + i * 7]->m_bShow = FALSE;
}
m_ButtonManager.m_lstButton[71]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[72]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[73]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[74]->m_bShow = FALSE;
m_lstScroll[2]->Render(lpD3DDevice);
if(g_ClientMain.m_csStatus.m_lstFriendList.size())
{
int count = 0, i;
list<FriendInfo *>::iterator it;
for(it = g_ClientMain.m_csStatus.m_lstFriendList.begin(), i = 0; it != g_ClientMain.m_csStatus.m_lstFriendList.end(); it++, i++)
{
if(count >= 10) break;
if(i < m_dwStartFriendSlot) continue;
m_ButtonManager.m_lstButton[3 + count * 7]->m_bShow = TRUE;
m_ButtonManager.m_lstButton[5 + count * 7]->m_bShow = TRUE;
RenderFriendSlot(lpD3DDevice, (*it), count, m_cAlpha, m_rcWindowSize.left + 8, m_rcWindowSize.top + 62 + count * 41);
count++;
}
}
}
void CHumanSociety::RenderFriendSlot(LPDIRECT3DDEVICE8 lpD3DDevice, FriendInfo *lpFriend, long lSlot, unsigned char cAlpha, long lMoveX, long lMoveY)
{
m_lstSprite[10]->Render(lpD3DDevice, cAlpha, lMoveX, lMoveY);
unsigned long color;
if(lpFriend->IsLogined())
{
color = D3DCOLOR_RGBA(255, 255, 255, 255);
} else
{
color = D3DCOLOR_RGBA(150, 150, 150, 150);
}
RECT rcRect;
SetRect(&rcRect, lMoveX + 18, lMoveY + 6, lMoveX + 186, lMoveY + 18); // À̸§
g_TextEdit.DrawText((const char *)lpFriend->m_szName, &rcRect, DT_VCENTER | DT_LEFT, color);
}
void CHumanSociety::RenderBan(LPDIRECT3DDEVICE8 lpD3DDevice)
{
long i;
m_lstSprite[6]->Render(lpD3DDevice, m_cAlpha);
for(i = 0; i < 10; i++)
{
m_ButtonManager.m_lstButton[i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[1 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[2 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[3 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[4 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[5 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[6 + i * 7]->m_bShow = FALSE;
}
m_ButtonManager.m_lstButton[71]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[72]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[73]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[74]->m_bShow = FALSE;
m_lstScroll[3]->Render(lpD3DDevice);
if(g_ClientMain.m_csStatus.m_lstBanList.size())
{
int count = 0, i;
list<BanInfo *>::iterator it;
for(it = g_ClientMain.m_csStatus.m_lstBanList.begin(), i = 0; it != g_ClientMain.m_csStatus.m_lstBanList.end(); it++, i++)
{
if(count >= 10) break;
if(i < m_dwStartBanSlot) continue;
m_ButtonManager.m_lstButton[3 + count * 7]->m_bShow = TRUE;
m_ButtonManager.m_lstButton[6 + count * 7]->m_bShow = TRUE;
RenderBanSlot(lpD3DDevice, (*it), count, m_cAlpha, m_rcWindowSize.left + 8, m_rcWindowSize.top + 62 + count * 41);
count++;
}
}
}
void CHumanSociety::RenderBanSlot(LPDIRECT3DDEVICE8 lpD3DDevice, BanInfo *lpBan, long lSlot, unsigned char cAlpha, long lMoveX, long lMoveY)
{
m_lstSprite[10]->Render(lpD3DDevice, cAlpha, lMoveX, lMoveY);
RECT rcRect;
SetRect(&rcRect, lMoveX + 18, lMoveY + 6, lMoveX + 186, lMoveY + 18); // À̸§
g_TextEdit.DrawText((const char *)lpBan->m_szName, &rcRect, DT_VCENTER | DT_LEFT, D3DCOLOR_RGBA(255, 255, 255, 255));
}
void CHumanSociety::RenderSearchParty(LPDIRECT3DDEVICE8 lpD3DDevice)
{
long i;
m_lstSprite[7]->Render(lpD3DDevice, m_cAlpha);
m_lstSprite[2]->Render(lpD3DDevice, m_cAlpha);
m_lstSprite[3]->Render(lpD3DDevice, m_cAlpha);
for(i = 0; i < 10; i++)
{
m_ButtonManager.m_lstButton[i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[1 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[2 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[3 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[4 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[5 + i * 7]->m_bShow = FALSE;
m_ButtonManager.m_lstButton[6 + i * 7]->m_bShow = FALSE;
}
if(g_ClientMain.m_csStatus.m_PartyInfo.m_cMemberNum > 0)
{
m_ButtonManager.m_lstButton[71]->m_bShow = FALSE;
m_lstSprite[11]->Render(lpD3DDevice, m_cAlpha, m_rcWindowSize.left + 15, m_rcWindowSize.top + 396);
}
else
{
m_ButtonManager.m_lstButton[71]->m_bShow = TRUE;
if(g_ClientMain.m_bPartyFind)
m_ButtonManager.m_lstButton[71]->m_nState = BUTTON_ON;
else
m_ButtonManager.m_lstButton[71]->m_nState = BUTTON_OFF;
}
if(g_ClientMain.m_csStatus.m_PartyInfo.m_dwLeaderID == g_ClientMain.m_dwMyChrID)
{
m_ButtonManager.m_lstButton[72]->m_bShow = TRUE;
if(g_ClientMain.m_bPartyPlayerFind)
m_ButtonManager.m_lstButton[72]->m_nState = BUTTON_ON;
else
m_ButtonManager.m_lstButton[72]->m_nState = BUTTON_OFF;
} else
{
m_ButtonManager.m_lstButton[72]->m_bShow = FALSE;
m_lstSprite[11]->Render(lpD3DDevice, m_cAlpha, m_rcWindowSize.left + 15, m_rcWindowSize.top + 417);
}
if(g_ClientMain.m_cNumMember)
{
char strLevel[5], strClass[30];
RECT rcRect;
unsigned long dwSlot, dwColor;
for(unsigned long i = 0; i < 9; i++)
{
dwSlot = i + m_dwStartMemberSlot;
if(!g_ClientMain.m_mfpMember[dwSlot].m_cLevel) break;
sprintf(strLevel, "%d", g_ClientMain.m_mfpMember[dwSlot].m_cLevel);
strcpy(strClass, g_ClientMain.m_lpCommonInterface->GetClassName(g_ClientMain.m_mfpMember[dwSlot].m_cClass));
if(g_DeviceInput.InRect(m_rcWindowSize.left + 12, m_rcWindowSize.top + 78 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 92 + i * 16))
{
g_ClientMain.m_lpCommonInterface->RenderRect(lpD3DDevice, m_rcWindowSize.left + 12, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 93 + i * 16, 0xFFFFFFFF, 0x80);
}
if(dwSlot == g_ClientMain.m_dwSelectMemberSlot)
dwColor = D3DCOLOR_RGBA(255, 0, 255, 255);
else
dwColor = D3DCOLOR_RGBA(255, 255, 255, 255);
SetRect(&rcRect, m_rcWindowSize.left + 12, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 110, m_rcWindowSize.top + 93 + i * 16);
g_TextEdit.DrawText(g_ClientMain.m_mfpMember[i].m_strName, &rcRect, DT_VCENTER | DT_LEFT, dwColor);
SetRect(&rcRect, m_rcWindowSize.left + 113, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 173, m_rcWindowSize.top + 93 + i * 16);
g_TextEdit.DrawText(strClass, &rcRect, DT_VCENTER | DT_LEFT, dwColor);
SetRect(&rcRect, m_rcWindowSize.left + 179, m_rcWindowSize.top + 77 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 93 + i * 16);
g_TextEdit.DrawText(strLevel, &rcRect, DT_VCENTER | DT_RIGHT, dwColor);
}
}
m_lstScroll[0]->Render(lpD3DDevice);
if(g_ClientMain.m_cNumParty)
{
char strLevel[5], strNum[5];
RECT rcRect;
unsigned long dwSlot, dwColor;
for(unsigned long i = 0; i < 9; i++)
{
dwSlot = i + m_dwStartPartySlot;
if(!g_ClientMain.m_pfmParty[dwSlot].m_cAverageLevel) break;
sprintf(strLevel, "%d", g_ClientMain.m_pfmParty[dwSlot].m_cAverageLevel);
sprintf(strNum, "%d", g_ClientMain.m_pfmParty[dwSlot].m_cMemberNum);
if(g_DeviceInput.InRect(m_rcWindowSize.left + 12, m_rcWindowSize.top + 246 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 260 + i * 16))
{
g_ClientMain.m_lpCommonInterface->RenderRect(lpD3DDevice, m_rcWindowSize.left + 12, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 261 + i * 16, 0xFFFFFFFF, 0x80);
}
if(dwSlot == g_ClientMain.m_dwSelectPartySlot)
dwColor = D3DCOLOR_RGBA(255, 0, 255, 255);
else
dwColor = D3DCOLOR_RGBA(255, 255, 255, 255);
SetRect(&rcRect, m_rcWindowSize.left + 12, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 110, m_rcWindowSize.top + 261 + i * 16);
g_TextEdit.DrawText(g_ClientMain.m_pfmParty[i].m_strLeaderName, &rcRect, DT_VCENTER | DT_LEFT, dwColor);
SetRect(&rcRect, m_rcWindowSize.left + 113, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 173, m_rcWindowSize.top + 261 + i * 16);
g_TextEdit.DrawText(strNum, &rcRect, DT_VCENTER | DT_RIGHT, dwColor);
SetRect(&rcRect, m_rcWindowSize.left + 179, m_rcWindowSize.top + 245 + i * 16, m_rcWindowSize.left + 200, m_rcWindowSize.top + 261 + i * 16);
g_TextEdit.DrawText(strLevel, &rcRect, DT_VCENTER | DT_RIGHT, dwColor);
}
}
m_lstScroll[1]->Render(lpD3DDevice);
m_ButtonManager.m_lstButton[73]->m_bShow = TRUE;
m_ButtonManager.m_lstButton[74]->m_bShow = TRUE;
}
void CHumanSociety::RenderSlot(LPDIRECT3DDEVICE8 lpD3DDevice, long DataSlot, long lSlot, unsigned char cAlpha, long lMoveX, long lMoveY)
{
m_lstSprite[8]->Render(lpD3DDevice, cAlpha, lMoveX, lMoveY);
unsigned long color;
if(g_ClientMain.m_csStatus.m_PartyInfo.m_dwLeaderID == g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[DataSlot])
{
color = D3DCOLOR_RGBA(235, 227, 167, 255);
} else if(g_ClientMain.m_csStatus.m_PartyInfo.ServerID[DataSlot])
{
color = D3DCOLOR_RGBA(255, 255, 255, 255);
} else
{
color = D3DCOLOR_RGBA(150, 150, 150, 150);
}
RECT rcRect;
char strString[MAX_PATH];
SetRect(&rcRect, lMoveX + 18, lMoveY + 6, lMoveX + 108, lMoveY + 18); // À̸§
g_TextEdit.DrawText((const char *)g_ClientMain.m_csStatus.m_PartyInfo.Name[DataSlot], &rcRect, DT_VCENTER | DT_LEFT, color);
CCreature *lpCreature;
if(g_ClientMain.m_csStatus.m_PartyInfo.ServerID[DataSlot])
{
lpCreature = g_CharacterData.GetCreature(g_ClientMain.m_csStatus.m_PartyInfo.MemberCID[DataSlot]);
if(lpCreature)
{
SetRect(&rcRect, lMoveX + 123, lMoveY + 6, lMoveX + 186, lMoveY + 18); // Ŭ·¡½º
g_TextEdit.DrawText(g_ClientMain.m_lpCommonInterface->GetClassName(lpCreature->m_wClass), &rcRect, DT_VCENTER | DT_CENTER, D3DCOLOR_RGBA(255, 255, 255, 255));
SetRect(&rcRect, lMoveX + 9, lMoveY + 23, lMoveX + 27, lMoveY + 34); // ·¹º§
sprintf(strString, "%d", lpCreature->m_cLevel);
g_TextEdit.DrawText(strString, &rcRect, DT_VCENTER | DT_CENTER, D3DCOLOR_RGBA(255, 255, 255, 255));
}
}
// m_ButtonManager.m_lstButton[lSlot * 5]->m_bShow = TRUE;
}