in_combat.cpp builds; entire repo builds
Doesn't mean I'm done yet.
This commit is contained in:
+41
-38
@@ -85,11 +85,10 @@ void InCombat::FrameStart() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void InCombat::Update(double delta) {
|
void InCombat::Update(double delta) {
|
||||||
SerialPacket packet;
|
//suck in and process all waiting packets
|
||||||
|
char packetBuffer[MAX_PACKET_SIZE];
|
||||||
//suck in all waiting packets
|
while(network.Receive(reinterpret_cast<SerialPacket*>(packetBuffer))) {
|
||||||
while(network.Receive(&packet)) {
|
HandlePacket(reinterpret_cast<SerialPacket*>(packetBuffer));
|
||||||
HandlePacket(packet);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: more
|
//TODO: more
|
||||||
@@ -154,19 +153,19 @@ void InCombat::KeyUp(SDL_KeyboardEvent const& key) {
|
|||||||
//Network handlers
|
//Network handlers
|
||||||
//-------------------------
|
//-------------------------
|
||||||
|
|
||||||
void InCombat::HandlePacket(SerialPacket packet) {
|
void InCombat::HandlePacket(SerialPacket* const argPacket) {
|
||||||
switch(packet.meta.type) {
|
switch(argPacket->type) {
|
||||||
case SerialPacket::Type::DISCONNECT:
|
case SerialPacketType::DISCONNECT:
|
||||||
HandleDisconnect(packet);
|
HandleDisconnect(argPacket);
|
||||||
break;
|
break;
|
||||||
//handle errors
|
//handle errors
|
||||||
default:
|
default:
|
||||||
throw(std::runtime_error(std::string() + "Unknown SerialPacketType encountered in InCombat: " + to_string_custom(int(packet.meta.type))));
|
throw(std::runtime_error(std::string() + "Unknown SerialPacketType encountered in InCombat: " + to_string_custom(static_cast<int>(argPacket->type)) ));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InCombat::HandleDisconnect(SerialPacket) {
|
void InCombat::HandleDisconnect(SerialPacket* const) {
|
||||||
SetNextScene(SceneList::RESTART);
|
SetNextScene(SceneList::RESTART);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,52 +176,56 @@ void InCombat::HandleDisconnect(SerialPacket) {
|
|||||||
//-------------------------
|
//-------------------------
|
||||||
|
|
||||||
void InCombat::RequestSynchronize() {
|
void InCombat::RequestSynchronize() {
|
||||||
SerialPacket packet;
|
ClientPacket newPacket;
|
||||||
|
|
||||||
//request a sync
|
//request a sync
|
||||||
packet.meta.type = SerialPacket::Type::SYNCHRONIZE;
|
newPacket.type = SerialPacketType::SYNCHRONIZE;
|
||||||
packet.clientInfo.clientIndex = clientIndex;
|
newPacket.clientIndex = clientIndex;
|
||||||
packet.clientInfo.accountIndex = accountIndex;
|
newPacket.accountIndex = accountIndex;
|
||||||
packet.clientInfo.characterIndex = characterIndex;
|
|
||||||
|
|
||||||
network.SendTo(Channels::SERVER, &packet);
|
network.SendTo(Channels::SERVER, &newPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InCombat::SendPlayerUpdate() {
|
void InCombat::SendPlayerUpdate() {
|
||||||
SerialPacket packet;
|
CharacterPacket newPacket;
|
||||||
|
|
||||||
//pack the packet
|
//pack the packet
|
||||||
packet.meta.type = SerialPacket::Type::CHARACTER_UPDATE;
|
newPacket.type = SerialPacketType::CHARACTER_UPDATE;
|
||||||
packet.characterInfo.clientIndex = clientIndex;
|
|
||||||
packet.characterInfo.accountIndex = accountIndex;
|
|
||||||
packet.characterInfo.characterIndex = characterIndex;
|
|
||||||
// packet.characterInfo.position = localCharacter->position;
|
|
||||||
// packet.characterInfo.motion = localCharacter->motion;
|
|
||||||
//TODO: stats
|
|
||||||
|
|
||||||
network.SendTo(Channels::SERVER, &packet);
|
newPacket.characterIndex = characterIndex;
|
||||||
|
//handle, avatar
|
||||||
|
newPacket.accountIndex = accountIndex;
|
||||||
|
// newPacket.roomIndex = localCharacter->roomIndex;
|
||||||
|
// newPacket.origin = localCharacter->origin;
|
||||||
|
// newPacket.motion = localCharacter->motion;
|
||||||
|
// newPacket.stats = localCharacter->stats;
|
||||||
|
|
||||||
|
//TODO: equipment
|
||||||
|
//TODO: items
|
||||||
|
//TODO: buffs
|
||||||
|
//TODO: debuffs
|
||||||
|
|
||||||
|
network.SendTo(Channels::SERVER, &newPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InCombat::RequestDisconnect() {
|
void InCombat::RequestDisconnect() {
|
||||||
SerialPacket packet;
|
ClientPacket newPacket;
|
||||||
|
|
||||||
//send a disconnect request
|
//send a disconnect request
|
||||||
packet.meta.type = SerialPacket::Type::DISCONNECT;
|
newPacket.type = SerialPacketType::DISCONNECT;
|
||||||
packet.clientInfo.clientIndex = clientIndex;
|
newPacket.clientIndex = clientIndex;
|
||||||
packet.clientInfo.accountIndex = accountIndex;
|
newPacket.accountIndex = accountIndex;
|
||||||
packet.clientInfo.characterIndex = characterIndex;
|
|
||||||
|
|
||||||
network.SendTo(Channels::SERVER, &packet);
|
network.SendTo(Channels::SERVER, &newPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InCombat::RequestShutdown() {
|
void InCombat::RequestShutdown() {
|
||||||
SerialPacket packet;
|
ClientPacket newPacket;
|
||||||
|
|
||||||
//send a shutdown request
|
//send a shutdown request
|
||||||
packet.meta.type = SerialPacket::Type::SHUTDOWN;
|
newPacket.type = SerialPacketType::SHUTDOWN;
|
||||||
packet.clientInfo.clientIndex = clientIndex;
|
newPacket.clientIndex = clientIndex;
|
||||||
packet.clientInfo.accountIndex = accountIndex;
|
newPacket.accountIndex = accountIndex;
|
||||||
packet.clientInfo.characterIndex = characterIndex;
|
|
||||||
|
|
||||||
network.SendTo(Channels::SERVER, &packet);
|
network.SendTo(Channels::SERVER, &newPacket);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,8 +73,8 @@ protected:
|
|||||||
void KeyUp(SDL_KeyboardEvent const&);
|
void KeyUp(SDL_KeyboardEvent const&);
|
||||||
|
|
||||||
//Network handlers
|
//Network handlers
|
||||||
void HandlePacket(SerialPacket);
|
void HandlePacket(SerialPacket* const);
|
||||||
void HandleDisconnect(SerialPacket);
|
void HandleDisconnect(SerialPacket* const);
|
||||||
//TODO: more network handlers
|
//TODO: more network handlers
|
||||||
|
|
||||||
//Server control
|
//Server control
|
||||||
|
|||||||
+1
-1
@@ -267,7 +267,7 @@ void InWorld::HandlePacket(SerialPacket* const argPacket) {
|
|||||||
break;
|
break;
|
||||||
//handle errors
|
//handle errors
|
||||||
default:
|
default:
|
||||||
throw(std::runtime_error(std::string() + "Unknown SerialPacketType encountered in InWorld: " + to_string_custom(int(argPacket->type)) ));
|
throw(std::runtime_error(std::string() + "Unknown SerialPacketType encountered in InWorld: " + to_string_custom(static_cast<int>(argPacket->type)) ));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user