FF6 Hacking
Zone Doctor and FF6LE Expansion - Printable Version

+- FF6 Hacking (https://www.ff6hacking.com/forums)
+-- Forum: Discussion Forums (https://www.ff6hacking.com/forums/forum-5.html)
+--- Forum: Magitek Research Facility (https://www.ff6hacking.com/forums/forum-9.html)
+--- Thread: Zone Doctor and FF6LE Expansion (/thread-2802.html)

Pages: 1 2 3 4 5 6 7


RE: FF6LE Rogue+ Beta - madsiur - 02-22-2015

I thought about adding new maps (about 10) but right now there is already 7 unused maps (C7, DE, DF, E0, E3, E4, E5 and E6). I think this is enough to have new locations and dugeons... I'm still pondering the idea but I don't want to have too much empty maps.

As for treasures, right now you can add about 120 treasures since there is 15 unused bytes in the SRAM for treasures. If I expand them, I would use the free SRAM (1E1D-1E3F) right before the opened chest SRAM ($1E40-$1E6F). That would add about 280 potential treasure chests. I could relocate the data/pointers after the NPC data in bank F7. The treasure data don't take too much space, even expanded.

As for exits, well I will expand them since new maps require more exits.


RE: FF6LE Rogue+ Beta - Catone - 02-22-2015

SEVEN unused maps? wtf? I take it overall space was an issue with using them before?

I could see needing extra exits if you were gonna use 7 new maps, but are there really that few extra or more just for the sake of increasing them?


RE: FF6LE Rogue+ Beta - madsiur - 02-22-2015

(02-22-2015, 04:33 PM)catone Wrote: SEVEN unused maps? wtf? I take it overall space was an issue with using them before?

I'm not sure. I've never used them.

(02-22-2015, 04:33 PM)catone Wrote: I could see needing extra exits if you were gonna use 7 new maps, but are there really that few extra or more just for the sake of increasing them?

You can add 21 total new short exits so these would require expansion. As for long exits, you can already add about 45 new ones (limit of 8 per map) so this is not really an issue I think.


RE: FF6LE Rogue+ Beta - abyssonym - 02-22-2015

I had no idea there was that many long exits available. If it's not too much trouble, could you tell me the location and format of the long exits? I could only find information for the short exits, so my Kefka's Tower has no long exits in it.


RE: FF6LE Rogue+ Beta - Tenkarider - 02-22-2015

Hooray for expanding exits: i need of much more of them than any other thing (except events, which should be able to teleport in the same way of an exit...)

Btw you said 8 numbers... so i guess there are 8 unused maps actually...

What's the difference between long and short exits, anyway?


RE: FF6LE Rogue+ Beta - madsiur - 02-22-2015

(02-22-2015, 05:03 PM)abyssonym Wrote: I had no idea there was that many long exits available. If it's not too much trouble, could you tell me the location and format of the long exits? I could only find information for the short exits, so my Kefka's Tower has no long exits in it.

Long exits are 7 bytes long. They are located here (headered offset) and pointers are included. I'm not sure what the pointer refers to because each exit is 7 bytes long...

Code:
2DF680    2DFA81    DATA    No    Entrance Triggers - Type 2 (7 bytes each)    8/6/2003

From FF6LE source, the method that initialize a long exit:

Code:
public void InitializeExitLong(byte[] data, int offset)
            {
                coordX = data[offset]; offset++;
                coordY = data[offset]; offset++;
                width = (byte)(data[offset] & 0x7F);
                direction = (data[offset] & 0x80) == 0x80 ? (byte)1 : (byte)0; offset++;
                // GetShort gets two bytes here (offset and offset + 1)
                toWorldMap = (ushort)(ByteManage.GetShort(data, offset) & 0x1FF) == 0x1FF;
                if (!toWorldMap)
                {
                    destination = (ushort)(ByteManage.GetShort(data, offset) & 0x1FF);
                    offset++;
                }
                else
                {
                    offset++;
                    destination = (data[offset] & 0x02) == 0x02 ? (ushort)0 : (ushort)1;
                }

                byte3bit1 = (data[offset] & 0x02) == 0x02;
                byte3bit2 = (data[offset] & 0x04) == 0x04;

                destinationFacing = (byte)((data[offset] & 0x30) >> 4);

                showMessage = (data[offset] & 0x08) == 0x08; offset++;

                destinationXCoord = data[offset]; offset++;
                destinationYCoord = data[offset];
            }

So by reading this,

Byte 1: X coordinate
Byte 2: Y coordinate
Byte 3 (bit 0 to 6): Width
Byte 3 (bit 7): Direction
Byte 4-5 : Destination (see code)
Byte 6: X coordinate (Destination)
Byte 7: Y coordinate (Destination)

(02-22-2015, 05:11 PM)Tenkarider Wrote: Btw you said 8 numbers... so i guess there are 8 unused maps actually...

Well you should verify with FF6LE, they are labeled as "unused"...

(02-22-2015, 05:11 PM)Tenkarider Wrote: What's the difference between long and short exits, anyway?

Long exits have variable width and a facing direction, like the ones at the entrance of a village map.


RE: FF6LE Rogue+ Beta - Tenkarider - 02-22-2015

What can you potentially do with that variable width?


Hey Abyssonym... what you're gonna do with those long exits? expand your randomizer further?


RE: FF6LE Rogue+ Beta - abyssonym - 02-22-2015

No, but, there were some areas in Kefka's Tower where the player could walk off the edge of the map and get stuck. I'll put some exits in those places to make it more user friendly.


RE: FF6LE Rogue+ Beta - madsiur - 02-22-2015

(02-22-2015, 08:14 PM)Tenkarider Wrote: What can you potentially do with that variable width?

Instead of having three 1x1 exit to cover a large path, you can have one 1x3 exit to cover the same space.


RE: FF6LE Rogue+ Beta - Tenkarider - 02-22-2015

Oh, that! what's the max length possible for a long exit?