From d2bb3575fccaca8796ac6edd184aff8dee335644 Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Fri, 13 Mar 2015 19:12:34 +1100 Subject: [PATCH] Removed initial world query The world is queried once the client has the player's character. --- client/gameplay_scenes/world_characters.cpp | 4 ++-- client/gameplay_scenes/world_logic.cpp | 8 -------- rsc/scripts/map_maker.lua | 1 + rsc/scripts/setup_server.lua | 2 +- server/characters/character_api.cpp | 2 +- server/triggers/trigger_data.hpp | 1 + 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/client/gameplay_scenes/world_characters.cpp b/client/gameplay_scenes/world_characters.cpp index 945d834..fe6459e 100644 --- a/client/gameplay_scenes/world_characters.cpp +++ b/client/gameplay_scenes/world_characters.cpp @@ -88,10 +88,10 @@ void World::hCharacterCreate(CharacterPacket* const argPacket) { characterIndex = argPacket->characterIndex; roomIndex = argPacket->roomIndex; - //query the world state + //query the world state (room) CharacterPacket newPacket; memset(&newPacket, 0, MAX_PACKET_SIZE); - newPacket.type = SerialPacketType::QUERY_CHARACTER_EXISTS; //TODO: (1) the EXISTS and LOCATION queries are backwards? + newPacket.type = SerialPacketType::QUERY_CHARACTER_EXISTS; newPacket.roomIndex = roomIndex; network.SendTo(Channels::SERVER, &newPacket); newPacket.type = SerialPacketType::QUERY_MONSTER_EXISTS; diff --git a/client/gameplay_scenes/world_logic.cpp b/client/gameplay_scenes/world_logic.cpp index c3f342a..4c724fb 100644 --- a/client/gameplay_scenes/world_logic.cpp +++ b/client/gameplay_scenes/world_logic.cpp @@ -71,14 +71,6 @@ World::World(int* const argClientIndex, int* const argAccountIndex): newPacket.accountIndex = accountIndex; network.SendTo(Channels::SERVER, &newPacket); - //TODO: (1) replace this duplication with a request for just this player's character - //query the world state - memset(&newPacket, 0, MAX_PACKET_SIZE); - newPacket.type = SerialPacketType::QUERY_CHARACTER_EXISTS; - network.SendTo(Channels::SERVER, &newPacket); - newPacket.type = SerialPacketType::QUERY_MONSTER_EXISTS; - network.SendTo(Channels::SERVER, &newPacket); - //set the camera's values camera.width = GetScreen()->w; camera.height = GetScreen()->h; diff --git a/rsc/scripts/map_maker.lua b/rsc/scripts/map_maker.lua index 7b1cbfd..dbcc2ec 100644 --- a/rsc/scripts/map_maker.lua +++ b/rsc/scripts/map_maker.lua @@ -21,6 +21,7 @@ mapMaker.edges.south = 16 mapMaker.edges.east = 1 mapMaker.edges.west = -1 +--TODO: (1) path system --use these macros (mapped to "overworld.bmp" for now) to smooth the region's edges function mapMaker.SmoothEdgesSimple(r) --make and pad an array to use diff --git a/rsc/scripts/setup_server.lua b/rsc/scripts/setup_server.lua index 7d19380..2d86a22 100644 --- a/rsc/scripts/setup_server.lua +++ b/rsc/scripts/setup_server.lua @@ -59,7 +59,7 @@ createTrigger("door 1", overworld, 128, -128, function(entity) end local x, y = characterAPI.GetOrigin(entity) - characterAPI.SetRoomIndex(entity, uidTwo) --TODO: (1) take exit coordinates as a parameter + characterAPI.SetRoomIndex(entity, uidTwo) --TODO: (0) take exit coordinates as a parameter characterAPI.SetOrigin(entity, 0, 0) networkAPI.PumpCharacterUpdate(entity) end) diff --git a/server/characters/character_api.cpp b/server/characters/character_api.cpp index 985366b..0e858d1 100644 --- a/server/characters/character_api.cpp +++ b/server/characters/character_api.cpp @@ -29,7 +29,7 @@ #include -static int setRoomIndex(lua_State* L) { //TODO: (1) take the room userdata as a parameter +static int setRoomIndex(lua_State* L) { //TODO: (1) take the room userdata as a parameter? //NOTE: type-dependant calls to various API functions, see bug #43 //reverse engineer the character index diff --git a/server/triggers/trigger_data.hpp b/server/triggers/trigger_data.hpp index cb6409c..d77433e 100644 --- a/server/triggers/trigger_data.hpp +++ b/server/triggers/trigger_data.hpp @@ -29,6 +29,7 @@ #include +//TODO: (0) state-system for preventing double triggering class TriggerData { public: TriggerData() = default;