diff --git a/client/scenes/in_world.cpp b/client/scenes/in_world.cpp index 4f997a0..e8f2d62 100644 --- a/client/scenes/in_world.cpp +++ b/client/scenes/in_world.cpp @@ -71,7 +71,8 @@ InWorld::InWorld( //load the tilesheet //TODO: add the tilesheet to the map system? - tileSheet.Load(config["dir.tilesets"] + "terrain.bmp", 12, 15); + //TODO: Tile size and tile sheet should be loaded elsewhere + tileSheet.Load(config["dir.tilesets"] + "terrain.bmp", 32, 32); //request a sync RequestSynchronize(); diff --git a/common/utilities/config_utility.cpp b/common/utilities/config_utility.cpp index 7fb174b..4b1f797 100644 --- a/common/utilities/config_utility.cpp +++ b/common/utilities/config_utility.cpp @@ -26,6 +26,7 @@ #include void ConfigUtility::Load(std::string fname) { + //TODO: recursive rerouting? std::ifstream is(fname); if (!is.is_open()) { diff --git a/rsc/scripts/setup_server.lua b/rsc/scripts/setup_server.lua index 582cacf..ce07f88 100644 --- a/rsc/scripts/setup_server.lua +++ b/rsc/scripts/setup_server.lua @@ -1,38 +1,39 @@ print("Lua script check") --uber lazy declarations -function square(x) return x*x end -function distance(x, y, i, j) return math.sqrt(square(x - i) + square(y - j)) end +function math.sqr(x) return x*x end +function math.dist(x, y, i, j) return math.sqrt(math.sqr(x - i) + math.sqr(y - j)) end --tile macros, mapped to the tilesheet local base = 14 local shift = 36 -plains = base + shift * 0 -grass = base + shift * 1 -dirt = base + shift * 2 -sand = base + shift * 3 -water = base + shift * 4 +tiles = { + plains = base + shift * 0, + grass = base + shift * 1, + dirt = base + shift * 2, + sand = base + shift * 3, + water = base + shift * 4 +} ---Overwrite the original OnCreate with my own version -Region.hcOnCreate = Region.OnCreate -Region.OnCreate = function(region) - local ret = Region.hcOnCreate(region) --best practices +--could set custom generation systems here, that differ from the global generators, etc. +function Region.Create(region) for i = 1, Region.GetWidth() do for j = 1, Region.GetHeight() do - local dist = distance(0, 0, i + Region.GetX(region) -1, j + Region.GetY(region) -1) + local dist = math.dist(0, 0, i + Region.GetX(region) -1, j + Region.GetY(region) -1) if dist < 10 then - Region.SetTile(region, i, j, 1, plains) + Region.SetTile(region, i, j, 1, tiles.plains) elseif dist < 12 then - Region.SetTile(region, i, j, 1, sand) + Region.SetTile(region, i, j, 1, tiles.sand) else - Region.SetTile(region, i, j, 1, water) + Region.SetTile(region, i, j, 1, tiles.water) + Region.SetSolid(region, i, j, true) end end end - return ret end --Get some regions +--BUG: The server fails without this newRoom = RoomMgr.CreateRoom("overworld") pager = Room.GetPager(newRoom) regionTable = { @@ -42,4 +43,4 @@ regionTable = { RegionPager.GetRegion(pager, Region.GetWidth() *-1, Region.GetHeight() *-1) } -print("Finished the lua script") \ No newline at end of file +print("Finished the lua script")