Skip to content

GalaxyInfo

Super Hackio edited this page Aug 18, 2023 · 7 revisions

The GalaxyInfo.bcsv file inside the Scenario Archive now holds a lot more data in it.

Below is a table of the new fields and their purpose.

Name Data Type Description
Type STRING Defines what type of entry this is.
Valid types are: "Unlock", "TopNo", "Mode", "Mask", and "NoTicoCoin".
Param00Int INT32 If Type is "Unlock": The scenario this entry will unlock.
If Type is "TopNo": The amount of stars that get put onto the top row of the Scenario Select. Max 4.
If Type is "Mode": The Game State this galaxy uses. 0 = Stage Mode (Default), 1 = Non-Stage Mode, 2 = Hubworld Mode
(GLE-V2+) If Type is "Mask": The Power Star ID of the star to use the Power Star Mask.
(GLE-V2+) If Type is "NoTicoCoin": Boolean, see TicoCoin for more information. Valid values are 0, and 1.
(GLE-V3+) If Type is "PageNumber": The default AllStarList to use.
(GLE-V3+) If Type is "EffectSystem": See the EffectSystem section below.
Param00Str STRING Only used if Type is "Mask". The galaxy and scenario to use as the Power Star Mask.
Example: IslandFleetGalaxy 1. (The space is important)
Param01Int
(Optional)
INT32 Only used if Type is "EffectSystem". See the EffectSystem section below.

This field may be left out of the BCSV if desired.

Note: This BCSV supports full progress checks. Read Progress Checking for more information on what fields can be added.

Power Star Masks

Added in GLE-V2, Power Star Masks let you essentially remap a power star. Here's an example:

Let's say that you have two different levels. We'll call them "Level1" and "Level2".
Level1 has 3 stars, and Level2 has 4.
Level1 star 3 has a mask of "Level2 4"
This tells the game, that when you collect Level1 star 3, you are actually collecting Level2 star 4.

Pretty neat stuff here. Let me mention some use cases:

  • This is required if you want to put a Power Star in a Hubworld or Non Stage stage.
  • Useful if you want to use multiple map files
  • Can be abused to add more than 8 stars to levels (However, these additional stars will not appear on the Scenario Select)

EffectSystem

Added in GLE-V3, the EffectSystem entry will let you allow more particles to be added and rendered in the given galaxy at the same time. The function that handles this internally takes 2 arguments: (Listed in order, from top to bottom)

  • The max amount of particles that can be in memory at once. (Default 3072, 0xC00)
  • The max amount of particles that can be active at once. (Default 256, 0x100)

Most of the time, you will only need to increase the max number of particles that can be active at once, as the rest are able to be loaded into memory and then made active when the current active particle count falls below the maximum.

However, because there are 2 number values, there are now 2 ParamXXInt values that would be needed in the BCSV. To maintain compatibility between GLE-V2 and GLE-V3, it was decided that Param01Int would be an optional field.

  • If Param01Int DOES NOT exist, Param00Int will change the Max Amount of Active Particles.
  • If Param01Int DOES exist, ParamooInt will change the Max Amount of Particles in Memory, and Param01Int will change the Max Amount of Active Particles. Again, this was done because most of the time you only would need to change the max number of active particles, and not the max amount of particles that can be in memory.

The amount of memory that each particle will take is 276 (0x114) bytes. So to get the total amount of memory for particles, multiply the Max Amount of Particles in Memory by 276. This calculation is only useful if you need to calculate how much more RAM you need for the galaxy as a whole using the HeapSizeExcept.bcsv.

One last thing -- Setting either the Max in Memory OR Max Active to Zero will prevent all particles from being loaded/spawning. Thankfully, neither of these situations will crash the game (though playing with no particles is a cursed experience.)

Clone this wiki locally