@Rhuan Just did a quick count... I currently have 310 maps. To change them all at this point to use ExitMap() would entail roughly around 1200 edits in total. I am going to see if I can make some edits to use the map exit naming I already have in place.
b) you could set up a system to change your map scripts at runtime - would be fairly simple
Quote from: Miscreant on September 14, 2017, 10:07:44 pm@Rhuan Just did a quick count... I currently have 310 maps. To change them all at this point to use ExitMap() would entail roughly around 1200 edits in total. I am going to see if I can make some edits to use the map exit naming I already have in place. Three options:a) could write a script to update the map scripts, would be an interesting exercise in data handlingb) you could set up a system to change your map scripts at runtime - would be fairly simplec) make 4 functions with the old names that either redirect to my function after putting in the direction parameter or take the contents of my function and split it to only have the bit for their direction (getting rid of the switch)
//Beforefunction NorthernExit(layer, map){ var Name = GetInputPerson(); var PX = GetPersonX(Name); var PY = GetPersonY(Name); var NewPY; NewPY = (176 - PY) - 8; LastMap = GetCurrentMap(); //used for Dbug RingCheck(); //Check to see if blue or red ring if (map) ChangeMap(map); if (layer >= 0) SetPersonLayer(Name, layer); Foo(Name, PX, NewPY) //Foo(name, x, y, dir, layer) FadeOut(200); // My temp solution for the room transitions SetRenderScript("SlidingMap()");}//Afterfunction NorthernExit(layer, map){ var Name = GetInputPerson(); var p_coords = [GetPersonX(Name), GetPersonY()]; p_coords[0] = 264 - p_coords[0]; sliding_coords = [w, 0]; LastMap = GetCurrentMap(); RingCheck(); frozen_player_info = GrabImage(0, h, w, s_h-h); ChangeMap(map); Foo(Name, p_coords[0], p_coords[1], GetPersonDirection(Name), layer); SetRenderScript(SlidingMap);}
Quote from: Rhuan on September 15, 2017, 02:33:47 amb) you could set up a system to change your map scripts at runtime - would be fairly simpleThis is what persist.js does, in fact.
If I understand things correctly, you have one map dedicated for every screen, right?
You could actually use and depend on just the combined overworld map, put every single (overworld) screen on there, and use some clever coding to position the camera as well as spawn objects into and out of existence depending on what your current screen is.
It takes more coding, but it makes things like scrolling to the next map a cinch and it prevents you from having to maintain duplicates of every screen as well.(If I didn't understand things correctly, excuse the mistake - I've been looking at the pictures and text more than actually downloading the scripts and code. )
I like the zec text and the little heart-like dungeon!
The other shapes seem kinda undefined which gives you plenty of opportunity to move things around,If you move the zec dungeons to the left more, you end up with more flexibility on the right side of the large map.
Also, if you remove/rework the rightmost two tiles of the gray dungeon, this gives you more space to place a dungeon at the bottom right/general right side.