FE_Builder_GBA -- If you have any questions, attach report7z

I supported PLIST splitting with the latest version.
Using this function will increase the available PLIST by 6 times.

However, it is a very dangerous feature, so be sure to take a backup before using it.
Also, please clear test after execution and check whether there is a problem.

What is PLIST?

PLIST stands for MAP Pointer List ID.(Maybe).
Map related values of GBAFE are managed with pointer list.
In the map setting, you specify what value of the list to see.

http://ngmansion.xyz/wiki/hackfe/index.php?QA_EN#hcb99358

On FE 7 and FE 8, OBJ, PAL, CONFIG, MAP POINTER, MAP CHANGE, TILEANIMATION 1, TILEANIMATION 2, EVENT POINTER are stored in PLIST.
In FE 6, WMAP EVENT is also stored in PLIST.

PLIST was a byte type because it can be read with ldrb.
Therefore, it could not exceed 255.
It was difficult to add palettes and assign events to unused maps.

However, since the routines to read PLIST are subdivided into each, the list itself can be divided.
Until now, advanced hackers used functions, but from now on, anyone can do it.

This function divides PLIST as follows.

PLIST

CONFIG PLIST
OBJECT & PALETTE PLIST
ANIMATION1 & ANIMATION2 PLIST
MAP PLIST
MAP CHANGE(TILE CHANGE) PLIST
EVENT PLIST

Since it can be divided into 6, the available space is also multiplied by 6.

About OBJECT & PALETTE PLIST and ANIMATION 1 & ANIMATION 2 PLIST.

They could not be divided because there are routines to read both at the same time.
Of course, you can split it by modifying the source code,
Even without doing it, I can expand it by a factor of 6, so I do not believe there is any need to do so.

How to Use.

Please press the PLIST Split button in MAP PLIST Editor.
This will increase PLIST by 6 times.

Please put your favorite data in the increased PLIST.

However, as this is troublesome, FEBuilderGBA has auxiliary function.

Enter Chaptor Editor, change the PLIST you want to assign to 0 and click the label.
For example, the map of MAPID: 0x3F on FE 8 and later has common event PLIST ID.

If you want to allocate and use the value of individual event PLIST for this,.
Please set the Event PLIST of the map to 0 once and click on the label.

Then you will be asked if you want to assign a new one.

From here, please divide and allocate vacant PLIST.

At this time, we will automatically allocate an empty event structure.
You can increase the number of events.

The same is true for pallets as well.
For pallets, copy the existing data.
(It is because it becomes black in an empty palette.).

I wrote it first, but this feature is a dangerous feature.
Be sure to obtain a backup before using it.
This function is for the person who is troubled because there is not enough PLIST.

Later, I will make an explanation page with images.

4 Likes