Project builds, but with a lot of logic dummied out
This commit is contained in:
+56
-37
@@ -67,15 +67,15 @@ InWorld::InWorld(int* const argClientIndex, int* const argAccountIndex):
|
|||||||
tileSheet.Load(config["dir.tilesets"] + "overworld.bmp", 32, 32);
|
tileSheet.Load(config["dir.tilesets"] + "overworld.bmp", 32, 32);
|
||||||
|
|
||||||
//send this player's character info
|
//send this player's character info
|
||||||
CharacterPacket newPacket;
|
// CharacterPacket newPacket;
|
||||||
newPacket.type = SerialPacketType::CHARACTER_NEW;
|
// newPacket.type = SerialPacketType::CHARACTER_NEW;
|
||||||
strncpy(newPacket.handle, config["client.handle"].c_str(), PACKET_STRING_SIZE);
|
// strncpy(newPacket.handle, config["client.handle"].c_str(), PACKET_STRING_SIZE);
|
||||||
strncpy(newPacket.avatar, config["client.avatar"].c_str(), PACKET_STRING_SIZE);
|
// strncpy(newPacket.avatar, config["client.avatar"].c_str(), PACKET_STRING_SIZE);
|
||||||
newPacket.accountIndex = accountIndex;
|
// newPacket.accountIndex = accountIndex;
|
||||||
network.SendTo(Channels::SERVER, &newPacket);
|
// network.SendTo(Channels::SERVER, &newPacket);
|
||||||
|
|
||||||
//request a sync
|
//request a sync
|
||||||
RequestSynchronize();
|
// RequestSynchronize();
|
||||||
|
|
||||||
//debug
|
//debug
|
||||||
//
|
//
|
||||||
@@ -288,30 +288,55 @@ void InWorld::KeyUp(SDL_KeyboardEvent const& key) {
|
|||||||
|
|
||||||
void InWorld::HandlePacket(SerialPacket* const argPacket) {
|
void InWorld::HandlePacket(SerialPacket* const argPacket) {
|
||||||
switch(argPacket->type) {
|
switch(argPacket->type) {
|
||||||
case SerialPacketType::PING:
|
//heartbeat system
|
||||||
HandlePing(static_cast<ServerPacket*>(argPacket));
|
case SerialPacketType::PING: {
|
||||||
|
ServerPacket newPacket;
|
||||||
|
newPacket.type = SerialPacketType::PONG;
|
||||||
|
network.SendTo(argPacket->srcAddress, &newPacket);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SerialPacketType::PONG:
|
case SerialPacketType::PONG:
|
||||||
HandlePong(static_cast<ServerPacket*>(argPacket));
|
// HandlePong(static_cast<ServerPacket*>(argPacket));
|
||||||
break;
|
break;
|
||||||
case SerialPacketType::DISCONNECT:
|
|
||||||
HandleDisconnect(static_cast<ClientPacket*>(argPacket));
|
//game server connections
|
||||||
|
case SerialPacketType::LOGOUT_RESPONSE:
|
||||||
|
// HandleLogoutResponse(static_cast<ClientPacket*>(argPacket));
|
||||||
break;
|
break;
|
||||||
case SerialPacketType::CHARACTER_NEW:
|
case SerialPacketType::DISCONNECT_REQUEST:
|
||||||
HandleCharacterNew(static_cast<CharacterPacket*>(argPacket));
|
// HandleDisconnectRequest(static_cast<ClientPacket*>(argPacket));
|
||||||
break;
|
break;
|
||||||
case SerialPacketType::CHARACTER_DELETE:
|
case SerialPacketType::DISCONNECT_FORCED:
|
||||||
HandleCharacterDelete(static_cast<CharacterPacket*>(argPacket));
|
// HandleDisconnectForced(static_cast<ClientPacket*>(argPacket));
|
||||||
break;
|
|
||||||
case SerialPacketType::CHARACTER_UPDATE:
|
|
||||||
HandleCharacterUpdate(static_cast<CharacterPacket*>(argPacket));
|
|
||||||
break;
|
|
||||||
case SerialPacketType::CHARACTER_REJECTION:
|
|
||||||
HandleCharacterRejection(static_cast<TextPacket*>(argPacket));
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//data management
|
||||||
case SerialPacketType::REGION_CONTENT:
|
case SerialPacketType::REGION_CONTENT:
|
||||||
HandleRegionContent(static_cast<RegionPacket*>(argPacket));
|
// HandleRegionContent(static_cast<RegionPacket*>(argPacket));
|
||||||
break;
|
break;
|
||||||
|
// case SerialPacketType::QUERY_CHARACTER_EXISTS:
|
||||||
|
// case SerialPacketType::QUERY_CHARACTER_STATS:
|
||||||
|
// case SerialPacketType::QUERY_CHARACTER_LOCATION:
|
||||||
|
|
||||||
|
//character management
|
||||||
|
// case SerialPacketType::CHARACTER_NEW:
|
||||||
|
// HandleCharacterNew(static_cast<CharacterPacket*>(argPacket));
|
||||||
|
// break;
|
||||||
|
// case SerialPacketType::CHARACTER_DELETE:
|
||||||
|
// HandleCharacterDelete(static_cast<CharacterPacket*>(argPacket));
|
||||||
|
// break;
|
||||||
|
// case SerialPacketType::CHARACTER_UPDATE:
|
||||||
|
// HandleCharacterUpdate(static_cast<CharacterPacket*>(argPacket));
|
||||||
|
// break;
|
||||||
|
// case SerialPacketType::CHARACTER_REJECTION:
|
||||||
|
// HandleCharacterRejection(static_cast<TextPacket*>(argPacket));
|
||||||
|
// break;
|
||||||
|
|
||||||
|
//enemy management
|
||||||
|
//TODO: enemy management
|
||||||
|
|
||||||
|
//TODO: text
|
||||||
|
|
||||||
//handle errors
|
//handle errors
|
||||||
default:
|
default:
|
||||||
throw(std::runtime_error(std::string() + "Unknown SerialPacketType encountered in InWorld: " + to_string_custom(static_cast<int>(argPacket->type)) ));
|
throw(std::runtime_error(std::string() + "Unknown SerialPacketType encountered in InWorld: " + to_string_custom(static_cast<int>(argPacket->type)) ));
|
||||||
@@ -319,12 +344,6 @@ void InWorld::HandlePacket(SerialPacket* const argPacket) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InWorld::HandlePing(ServerPacket* const argPacket) {
|
|
||||||
ServerPacket newPacket;
|
|
||||||
newPacket.type = SerialPacketType::PONG;
|
|
||||||
network.SendTo(argPacket->srcAddress, &newPacket);
|
|
||||||
}
|
|
||||||
|
|
||||||
void InWorld::HandlePong(ServerPacket* const argPacket) {
|
void InWorld::HandlePong(ServerPacket* const argPacket) {
|
||||||
if (network.GetIPAddress(Channels::SERVER)->host != argPacket->srcAddress.host) {
|
if (network.GetIPAddress(Channels::SERVER)->host != argPacket->srcAddress.host) {
|
||||||
throw(std::runtime_error("Heartbeat message received from an unknown source"));
|
throw(std::runtime_error("Heartbeat message received from an unknown source"));
|
||||||
@@ -434,23 +453,23 @@ void InWorld::HandleRegionContent(RegionPacket* const argPacket) {
|
|||||||
//-------------------------
|
//-------------------------
|
||||||
|
|
||||||
void InWorld::RequestSynchronize() {
|
void InWorld::RequestSynchronize() {
|
||||||
ClientPacket newPacket;
|
// ClientPacket newPacket;
|
||||||
|
|
||||||
//request a sync
|
//request a sync
|
||||||
newPacket.type = SerialPacketType::SYNCHRONIZE;
|
// newPacket.type = SerialPacketType::SYNCHRONIZE;
|
||||||
newPacket.clientIndex = clientIndex;
|
// newPacket.clientIndex = clientIndex;
|
||||||
newPacket.accountIndex = accountIndex;
|
// newPacket.accountIndex = accountIndex;
|
||||||
|
|
||||||
//TODO: location, range for sync request
|
//TODO: location, range for sync request
|
||||||
|
|
||||||
network.SendTo(Channels::SERVER, &newPacket);
|
// network.SendTo(Channels::SERVER, &newPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InWorld::SendPlayerUpdate() {
|
void InWorld::SendPlayerUpdate() {
|
||||||
CharacterPacket newPacket;
|
CharacterPacket newPacket;
|
||||||
|
|
||||||
//pack the packet
|
//pack the packet
|
||||||
newPacket.type = SerialPacketType::CHARACTER_UPDATE;
|
// newPacket.type = SerialPacketType::CHARACTER_UPDATE;
|
||||||
|
|
||||||
newPacket.characterIndex = characterIndex;
|
newPacket.characterIndex = characterIndex;
|
||||||
//NOTE: omitting the handle and avatar here
|
//NOTE: omitting the handle and avatar here
|
||||||
@@ -469,7 +488,7 @@ void InWorld::RequestDisconnect() {
|
|||||||
ClientPacket newPacket;
|
ClientPacket newPacket;
|
||||||
|
|
||||||
//send a disconnect request
|
//send a disconnect request
|
||||||
newPacket.type = SerialPacketType::DISCONNECT;
|
newPacket.type = SerialPacketType::DISCONNECT_REQUEST;
|
||||||
newPacket.clientIndex = clientIndex;
|
newPacket.clientIndex = clientIndex;
|
||||||
newPacket.accountIndex = accountIndex;
|
newPacket.accountIndex = accountIndex;
|
||||||
|
|
||||||
@@ -480,7 +499,7 @@ void InWorld::RequestShutDown() {
|
|||||||
ClientPacket newPacket;
|
ClientPacket newPacket;
|
||||||
|
|
||||||
//send a shutdown request
|
//send a shutdown request
|
||||||
newPacket.type = SerialPacketType::SHUTDOWN;
|
newPacket.type = SerialPacketType::SHUTDOWN_REQUEST;
|
||||||
newPacket.clientIndex = clientIndex;
|
newPacket.clientIndex = clientIndex;
|
||||||
newPacket.accountIndex = accountIndex;
|
newPacket.accountIndex = accountIndex;
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,6 @@ protected:
|
|||||||
|
|
||||||
//Network handlers
|
//Network handlers
|
||||||
void HandlePacket(SerialPacket* const);
|
void HandlePacket(SerialPacket* const);
|
||||||
void HandlePing(ServerPacket* const);
|
|
||||||
void HandlePong(ServerPacket* const);
|
void HandlePong(ServerPacket* const);
|
||||||
void HandleDisconnect(ClientPacket* const);
|
void HandleDisconnect(ClientPacket* const);
|
||||||
void HandleCharacterNew(CharacterPacket* const);
|
void HandleCharacterNew(CharacterPacket* const);
|
||||||
|
|||||||
Reference in New Issue
Block a user