Poking at the RPG Maker VXAce map format.
#1
(I had written a lot here but then firefox crashed :< )

Mapping in RPG Maker VXAce! The built-in editor is pretty rigid. It is easy to use, but is set it the ways tiles are placed on top of one another.

What determines what tile is what on a map is $game_map.map_data it's not exposed though, so if you want to make change to it you'll have to do it inside that class. The format of @map_data is @map_data[X, Y, layer] = tile_id. X and Y are the positions on the map, and layer is a layer from 0 to 2. Higher layers are drawn on top of lower layers.

If you know a tile's tile_id, you can use @map_data to change what tile is loaded. Not just the picture, RPG Maker VX Ace uses this value to load terrain data as well.

What tile_id number equals which tile is a little odd, so here is all I've learned.

A tile_id of 0 is usually used to represent nothing, and is the first tile on tileset B. (Yes, B. I think since A contains autotiles, its tile_ids are negative. This is how it was in RPG Maker XP too, so it makes sense.) The next seven tiles to the left are 1, 2, 3, 4, 5, 6, and 7. So the first 8 tiles, reading them left to right, are 0-8.

Simple enough yes? The next part is a little weird depending on if you are looking at the acutal tile bitmap or what RPG Maker VXACe shows you in the editor. The actual bitmap is double wide, so the next 8 tile_ids in the row are 128-136. What happens is RPG Maker VXAce cuts the image in half vertically, and pastes the right half under the left half; for the purpose of assigning tile_ids anyways. This is important to us if we are writing an external editor as we'd be using the bitmap directly.

The pattern continues with the next row, starting at 8. And so on and so forth. Of special note is the fact that each tileset has 256 tiles. That's tile_ids from 0-255. tile_id 256 is the first tile on Tileset C. You can find the tile_ids for that Tileset by following these rules, and adding 256 to the result.
Reply }
#2
what they need is a simple .z buffer for each tile, so that a tile or event on x15 y 10, is always in front of a event or tile that's set at x15y10, same with tiles, so that larger than 1 tile sized characters don't get their heads cut off by buildings that are set 1 tile higher...
[Image: AVvXsEga1vIr5Rx3FkoFbGo1OoMJAqgq6TeqcbpF...L3AWg=s752]

BLOG: JayVinci.blogspot.com
FORUM COMING SOON
Currently working on:
Ambitions: RPG Developer Bakin
Heart of Vox: RPG Developer Bakin
Reply }
#3
I won't talk about that here, as it is off-topic. But you can set the Z of character sprites so that doesn't happen. Post a script request and I'd be happy to give it a try for you.
Reply }
#4
Okay, here's the question... with that knowledge on the MapData, is it possible to have it brong in tilesets from OTHER tile graphics not IN that tileset?

For instance, I'm using say Field, and I want to grab Til;e 5 from Dungeon in the same slot (we will say... TileB) Can I get this mapdata to pull up DungeonB, Tile 5, and place it in place while the reszt of the map still utilizes tiles from the FIELD tileset?
[Image: AVvXsEga1vIr5Rx3FkoFbGo1OoMJAqgq6TeqcbpF...L3AWg=s752]

BLOG: JayVinci.blogspot.com
FORUM COMING SOON
Currently working on:
Ambitions: RPG Developer Bakin
Heart of Vox: RPG Developer Bakin
Reply }
#5
With the default scripts, probably not, but I have not been able to find the place where the scripts load in the five tileset_names of a tileset so I cannot say for sure.

Edit: here's something interesting.
Code:
#--------------------------------------------------------------------------
  # * Get Tileset Image That Includes the Designated Tile
  #--------------------------------------------------------------------------
  def tileset_bitmap(tile_id)
    Cache.tileset($game_map.tileset.tileset_names[5 + tile_id / 256])
  end

We might be able to rewrite class RPG::Tileset to save more than the 8 tileset_names
Reply }
#6
yeah, but then you'd break the editor the moment the map is brought back up inside the editor. (Which I've dreamed of breaking the editor oover my knee countless times.)

but therer may be hope here... http://dl.dropboxusercontent.com/u/68527...20Maps.txt

that is, if you want to hardcode your map layers... OR add some finishing touches to your map already created.
[Image: AVvXsEga1vIr5Rx3FkoFbGo1OoMJAqgq6TeqcbpF...L3AWg=s752]

BLOG: JayVinci.blogspot.com
FORUM COMING SOON
Currently working on:
Ambitions: RPG Developer Bakin
Heart of Vox: RPG Developer Bakin
Reply }
#7
Reading through the OpenRGSS implementation, it appears there are 6 layers from 0-5, though layers 4 and 5 don't appear to be of any use to us.
Reply }
#8
Actually, in VXAce, B-C-D- and E don't even have priorities over each other... A C-tile wipes out a B tile in the smae spot...


It's okay, it's all good... I just need to stop being lazy and learn to adapt to it... (but I will NEVER BUY IGMAKER!!!!!)
[Image: AVvXsEga1vIr5Rx3FkoFbGo1OoMJAqgq6TeqcbpF...L3AWg=s752]

BLOG: JayVinci.blogspot.com
FORUM COMING SOON
Currently working on:
Ambitions: RPG Developer Bakin
Heart of Vox: RPG Developer Bakin
Reply }
#9
They actually don't. The default map editor just assumes all those tilesets are "objects" and so only allows one to occupy the space. You can force it with manually editing, trust me I did it.
Reply }
#10
okay, I'm intrigued, would absolutely love it if C tiles could fit over B tiles... on the same square without using events.
[Image: AVvXsEga1vIr5Rx3FkoFbGo1OoMJAqgq6TeqcbpF...L3AWg=s752]

BLOG: JayVinci.blogspot.com
FORUM COMING SOON
Currently working on:
Ambitions: RPG Developer Bakin
Heart of Vox: RPG Developer Bakin
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   RPG Maker Unite and VRM models? JayRay 0 1,945 02-18-2023, 07:10 AM
Last Post: JayRay
   Small RPG Maker Games for Android Mike_Everley 0 1,941 12-23-2021, 10:56 AM
Last Post: Mike_Everley
   RPG Maker series + Rants kyonides 4 6,463 08-25-2020, 12:41 AM
Last Post: kyonides
   RPG Maker has gotten progressively worse since XP Son_Rukiri 19 26,210 07-22-2018, 03:22 AM
Last Post: DerVVulfman
Question  Easiest 2D Sprite maker software MrFunny 2 6,775 11-28-2017, 06:19 PM
Last Post: JayRay
   Is RPG Maker XP still a viable option? Zaphias 10 16,450 03-04-2017, 07:34 AM
Last Post: hanetzer
   RPG Maker MV Announced PK8 2 7,837 04-04-2016, 05:59 PM
Last Post: Starmage
   Are TCGs in RPG Maker realistic. BeJeremiah 9 17,344 06-11-2015, 03:01 AM
Last Post: JayRay
   [Kinda-Poll] Pattern Game for new maker hanetzer 4 8,619 01-29-2015, 11:06 PM
Last Post: JayRay
   RPG Maker VX Ace Lite - Free (but for how long?) Kain Nobel 20 36,582 03-26-2013, 07:21 PM
Last Post: yamina-chan



Users browsing this thread: 1 Guest(s)