diff --git a/rsc/scripts/map_saver.lua b/rsc/scripts/map_saver.lua index e69de29..f521381 100644 --- a/rsc/scripts/map_saver.lua +++ b/rsc/scripts/map_saver.lua @@ -0,0 +1 @@ +--TODO: create a flexible saving & loading system \ No newline at end of file diff --git a/rsc/scripts/setup_room.lua b/rsc/scripts/setup_room.lua deleted file mode 100644 index e69de29..0000000 diff --git a/rsc/scripts/setup_server.lua b/rsc/scripts/setup_server.lua index 78a9b32..f9dbc07 100644 --- a/rsc/scripts/setup_server.lua +++ b/rsc/scripts/setup_server.lua @@ -2,11 +2,10 @@ print("Lua script check") mapMaker = require "map_maker" mapSaver = require "map_saver" +roomSystem = require "room_system" ---BUG: #35 The server fails without at least one room ---TODO: Create rooms with names? -newRoom = RoomManager.CreateRoom("overworld", "overworld.bmp") -pager = Room.GetPager(newRoom) -RegionPager.SetOnCreate(pager, mapMaker.debugIsland) +--create the overworld, set it's generator, loader & saver +local overworld = roomSystem.CreateRoom("overworld", "overworld.bmp") +roomSystem.SetOnLoad(overworld, mapMaker.debugIsland, mapSaver.load, mapSaver.save) print("Finished the lua script") diff --git a/server/linit.cpp b/server/linit.cpp index cec8779..7702d51 100644 --- a/server/linit.cpp +++ b/server/linit.cpp @@ -40,9 +40,7 @@ #include "lua.hpp" #endif -#include "region_api.hpp" -#include "region_pager_api.hpp" -#include "tile_sheet_api.hpp" +#include "map_system_api.hpp" #include "room_api.hpp" #include "room_manager_api.hpp" @@ -61,9 +59,6 @@ static const luaL_Reg loadedlibs[] = { {LUA_DBLIBNAME, luaopen_debug}, //Tortuga's API - {TORTUGA_REGION_NAME, openRegionAPI}, - {TORTUGA_REGION_PAGER_NAME, openRegionPagerAPI}, - {TORTUGA_TILE_SHEET_NAME, openTileSheetAPI}, {TORTUGA_ROOM_NAME, openRoomAPI}, {TORTUGA_ROOM_MANAGER_NAME, openRoomManagerAPI}, @@ -73,6 +68,7 @@ static const luaL_Reg loadedlibs[] = { //these libs are preloaded and must be required before used static const luaL_Reg preloadedlibs[] = { + {TORTUGA_MAP_SYSTEM_API, openMapSystemAPI}, {NULL, NULL} }; diff --git a/server/rooms/room_data.hpp b/server/rooms/room_data.hpp index 9f38cbb..6586405 100644 --- a/server/rooms/room_data.hpp +++ b/server/rooms/room_data.hpp @@ -58,7 +58,6 @@ private: std::list entityList; //lua references - int createRef = LUA_NOREF; int loadRef = LUA_NOREF; int unloadRef = LUA_NOREF; }; diff --git a/server/server_logic.cpp b/server/server_logic.cpp index c83447b..5afdf99 100644 --- a/server/server_logic.cpp +++ b/server/server_logic.cpp @@ -35,6 +35,8 @@ //public methods //------------------------- +//BUG: #35 The server fails without at least one room + void ServerApplication::Init(int argc, char* argv[]) { //NOTE: I might need to rearrange the init process so that lua & SQL can interact with the map system as needed. std::cout << "Beginning " << argv[0] << std::endl;