Warp Tiles

zeos101

New member
Lets say I have a town with 5 buildings on the screen all with doors,
I know each door has to be a warp tile but how do I get the program to understand each door has to go to a different screen?

Or did I just miss it in a video?
 

chronosv2

New member
In NESMaker as it is right now that's currently not possible. One warp per screen is the limit.
Multiple warps could be coded by the community but it hasn't been done yet.

It's something that I'm considering but I'm not sure how I'd go about doing it in a way that'll keep it user friendly, not use all the tile types and not use up too much memory yet.
 

zeos101

New member
I may be way off here but it seams like if we could just duplicate this string for each door on a screen and find a way to add the X and Y position of each door and where it warps to

If not how do I set it the screen I want it to warp to?

I would ahve to guess its in the works think it would be kinda a must for the rpg module

cpx player1_object
BNE dontDoWarp_tile
LDA warpMap
clc
adc #$01

STA temp
GoToScreen warpToScreen, temp

dontDoWarp_tile
 

chronosv2

New member
The best idea I can think of uses text box space and however many tile types as the screen with the most warps in it uses.
So if you need 5 warps on a screen you have to use 5 tile types to do the warp so it can grab what ID the tile is.
Then instead of text in a text box (and corresponding text group) you have an array of bytes pointing to each screen.

This leads to a space problem all its own though: If you have 16 screens that warp you're going to need to use 16 text boxes to hold the warp data, and 16 text groups for those screens to reference that data.

Because NESMaker is designed to make many kinds of games, the more specific the feature you want the more work you're going to have to do and sacrifices will have to be made.
It can definitely be done, it's just going to take a decent amount of work and something will need to be sacrificed to make up for the space we need to store that data.
 
Top Bottom