mirror of
https://github.com/whoahq/whoa.git
synced 2026-03-18 05:31:07 +03:00
Compare commits
4 Commits
9d6a60bbb6
...
db71994e3a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db71994e3a | ||
|
|
817cec99fe | ||
|
|
6675586a29 | ||
|
|
c500403cd9 |
@ -393,6 +393,11 @@ int32_t CGlueMgr::Idle(const void* a1, void* a2) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case IDLE_CREATE_CHARACTER: {
|
||||||
|
CGlueMgr::PollCreateCharacter(msg, complete, result);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case IDLE_DELETE_CHARACTER: {
|
case IDLE_DELETE_CHARACTER: {
|
||||||
CGlueMgr::PollDeleteCharacter(msg, complete, result);
|
CGlueMgr::PollDeleteCharacter(msg, complete, result);
|
||||||
break;
|
break;
|
||||||
@ -763,6 +768,37 @@ void CGlueMgr::PollCharacterList(const char* msg, int32_t complete, int32_t resu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CGlueMgr::PollCreateCharacter(const char* msg, int32_t complete, int32_t result) {
|
||||||
|
FrameScript_SignalEvent(UPDATE_STATUS_DIALOG, "%s", msg);
|
||||||
|
|
||||||
|
if (CGlueMgr::HandleBattlenetDisconnect()) {
|
||||||
|
SetIdleState(IDLE_NONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!complete) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error
|
||||||
|
|
||||||
|
if (result == 0) {
|
||||||
|
FrameScript_SignalEvent(OPEN_STATUS_DIALOG, "%s%s", "OKAY", msg);
|
||||||
|
|
||||||
|
CGlueMgr::SetIdleState(IDLE_NONE);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Success
|
||||||
|
|
||||||
|
CGlueMgr::SetIdleState(IDLE_NONE);
|
||||||
|
|
||||||
|
FrameScript_SignalEvent(CLOSE_STATUS_DIALOG, nullptr);
|
||||||
|
FrameScript_SignalEvent(SELECT_LAST_CHARACTER, nullptr);
|
||||||
|
|
||||||
|
CGlueMgr::SetScreen("charselect");
|
||||||
|
}
|
||||||
|
|
||||||
void CGlueMgr::PollDeleteCharacter(const char* msg, int32_t complete, int32_t result) {
|
void CGlueMgr::PollDeleteCharacter(const char* msg, int32_t complete, int32_t result) {
|
||||||
FrameScript_SignalEvent(UPDATE_STATUS_DIALOG, "%s", msg);
|
FrameScript_SignalEvent(UPDATE_STATUS_DIALOG, "%s", msg);
|
||||||
|
|
||||||
|
|||||||
@ -80,6 +80,7 @@ class CGlueMgr {
|
|||||||
static int32_t OnKickReasonMsg(void* param, NETMESSAGE msgId, uint32_t time, CDataStore* msg);
|
static int32_t OnKickReasonMsg(void* param, NETMESSAGE msgId, uint32_t time, CDataStore* msg);
|
||||||
static void PollAccountLogin(int32_t errorCode, const char* msg, int32_t complete, int32_t result, WOWCS_OPS op);
|
static void PollAccountLogin(int32_t errorCode, const char* msg, int32_t complete, int32_t result, WOWCS_OPS op);
|
||||||
static void PollCharacterList(const char* msg, int32_t complete, int32_t result, int32_t errorCode);
|
static void PollCharacterList(const char* msg, int32_t complete, int32_t result, int32_t errorCode);
|
||||||
|
static void PollCreateCharacter(const char* msg, int32_t complete, int32_t result);
|
||||||
static void PollDeleteCharacter(const char* msg, int32_t complete, int32_t result);
|
static void PollDeleteCharacter(const char* msg, int32_t complete, int32_t result);
|
||||||
static void PollEnterWorld();
|
static void PollEnterWorld();
|
||||||
static void PollLoginServerLogin();
|
static void PollLoginServerLogin();
|
||||||
|
|||||||
@ -80,6 +80,10 @@ void CGCamera::SetupWorldProjection(const CRect& projRect) {
|
|||||||
this->SetGxProjectionAndView(projRect);
|
this->SetGxProjectionAndView(projRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
C3Vector CGCamera::Target() const {
|
||||||
|
return this->m_position + this->Forward();
|
||||||
|
}
|
||||||
|
|
||||||
C3Vector CGCamera::Up() const {
|
C3Vector CGCamera::Up() const {
|
||||||
if (this->m_relativeTo) {
|
if (this->m_relativeTo) {
|
||||||
return this->CSimpleCamera::Up() * this->ParentToWorld();
|
return this->CSimpleCamera::Up() * this->ParentToWorld();
|
||||||
|
|||||||
@ -27,6 +27,7 @@ class CGCamera : public CSimpleCamera {
|
|||||||
CGCamera();
|
CGCamera();
|
||||||
C33Matrix ParentToWorld() const;
|
C33Matrix ParentToWorld() const;
|
||||||
void SetupWorldProjection(const CRect& projRect);
|
void SetupWorldProjection(const CRect& projRect);
|
||||||
|
C3Vector Target() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Private member variables
|
// Private member variables
|
||||||
|
|||||||
@ -84,6 +84,10 @@ C3Vector CSimpleCamera::Right() const {
|
|||||||
return { this->m_facing.b0, this->m_facing.b1, this->m_facing.b2 };
|
return { this->m_facing.b0, this->m_facing.b1, this->m_facing.b2 };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const C3Vector& CSimpleCamera::Position() const {
|
||||||
|
return this->m_position;
|
||||||
|
}
|
||||||
|
|
||||||
void CSimpleCamera::SetFacing(const C3Vector& forward) {
|
void CSimpleCamera::SetFacing(const C3Vector& forward) {
|
||||||
BuildBillboardMatrix(forward, this->m_facing);
|
BuildBillboardMatrix(forward, this->m_facing);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,7 @@ class CSimpleCamera {
|
|||||||
// Public member functions
|
// Public member functions
|
||||||
CSimpleCamera(float nearZ, float farZ, float fov);
|
CSimpleCamera(float nearZ, float farZ, float fov);
|
||||||
CM2Scene* GetScene();
|
CM2Scene* GetScene();
|
||||||
|
const C3Vector& Position() const;
|
||||||
void SetFacing(const C3Vector& forward);
|
void SetFacing(const C3Vector& forward);
|
||||||
void SetFacing(const C3Vector& forward, const C3Vector& up);
|
void SetFacing(const C3Vector& forward, const C3Vector& up);
|
||||||
void SetFacing(float yaw, float pitch, float roll);
|
void SetFacing(float yaw, float pitch, float roll);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user