Skip to content

Progress Checking

Super Hackio edited this page May 2, 2023 · 3 revisions

In the Galaxy Level Engine, there are many things that can undergo progress checks. Each time progress is checked, there is the same setup of BCSV fields each time. This page details how each condition works.

BCSV Fields

PowerStarNum

Returns TRUE if you have a power star count greater than, or equal to, the value in the field.
Set to 0 to essentially ignore this check. (0 >= 0 => TRUE)


TicoCoinNum

Returns TRUE if you have a total Comet Medal count greater than, or equal to, the value in the field.
Set to 0 to essentially ignore this check. (0 >= 0 => TRUE)

Only available GLE-V3 onwards


FlagName%d

A repeatable field. See Repeatable Fields for more information.

Returns TRUE if the event flag has been set.
Below is a table of checkable flags.

Flag Name Description
ハチマリオ初変身 Obtain a Bee Mushroom for the first time.
テレサマリオ初変身 Obtain a Boo Mushroom for the first time.
ホッパーマリオ初変身 Obtain a Spring Mushroom for the first time.
ファイアマリオ初変身 Obtain a Fire Flower for the first time.
アイスマリオ初変身 Obtain an Ice Flower for the first time.
無敵マリオ初変身 Obtain a Rainbow Star for the first time.
ゴロ岩マリオ初変身 Obtain a Rock Mushroom for the first time.
雲マリオ初変身 Obtain a Cloud Flower for the first time.
ドリル初ゲット Obtain a Spin Drill for the first time.
ライフアップキノコ解説 Obtain a Life Mushroom for the first time.
1UPキノコ解説 Obtain a 1-UP Mushroom for the first time.
ヨッシー出会い Encounter Yoshi for the first time.
コメットメダル解説 Obtain a Comet Medal for the first time.
2Pサポート解説 Use Co=Star mode for the first time. (Unconfirmed)
タマコロチュートリアル Complete the Starball tutorial.
グライバードチュートリアル Complete the Fluzzard tutorial.
------------- -------------
銀行屋キノピオ初回 Use the Bank Toad for the first time.
------------- -------------
コンプリートメール送信 Receive the All Complete Message in your Wii Message Board
スターピースカウンターストップ Collect the max amount of Starbits.
コインカウンターストップ Collect the max amount of Coins.
ルイージプレイ済 Play as Luigi. May not work properly if you start the game as Luigi.
------------- -------------

Note: There are more flags (where the "-------------" are in the table), however, none of them are actually triggered anymore, as they relate to the (now removed) worldmap system. You are free to overwrite them if you wish.


RequireScenarioName%d

A repeatable field. See Repeatable Fields for more information.

Returns TRUE if the player has the specified star. The string value is formatted like so:
<GalaxyName> #
Replace "" with a galaxy's internal name, and replace the # with the star number.

Examples:
DigMineGalaxy 1 will ask if the player has obtained Spin Dig star 1.
TropicalResortGalaxy 3 will ask if the player has obtained Starshine Beach star 3.


EventValueName%d and EventValue%d

Both repeatable fields. See Repeatable Fields for more information.

These two fields work together to check GameEventValues, which are defined in the GameEventValueTable.bcsv.
EventValueName%d is to be set to the name of the value to check, and EventValue%d is to be set to the value to compare against. The comparison will return TRUE if the value inside the game is greater than, or equal to, the value present in the EventValue%d field.

Example:
Set EventValueName1 to 顔惑星イベント番号/0, and set EventValue to 1.
This will effectively check to see if the player has witnessed Hubworld Event 0.


Invert

Invert is not part of the actual checking. Rather, it's a NOT flag.
If set to 1, the final result will be inverted. For example, if the full check returns TRUE, and Invert is set to 1, the function will return FALSE.


Repeatable Fields

Repeatable fields are fields that don't need to exist, and can be duplicated.
Here's how it works: (We'll use FlagName%d as an example)
Start by checking to see if a BCSV field under the name FlagName1 exists. If so, check to see if it returns TRUE. If it does, continue by checking to see if a BCSV field under the name FlagName2 exists. If so, check to see if it returns TRUE. if it does, continue by checking to see if a BCSV field under the name FlagName3 exists. If so, check to see if it returns TRUE. Etc. etc. This cycle continues until one of two conditions are met:

  • One of the BCSV fields does not exist. If this happens, return TRUE.
  • One of the BCSV fields does exist, and the check returned FALSE. Returns FALSE.

Supported BCSVs

Filename Location Description
StageInfo Inside a Map.arc, inside jmp/List. Decides if the given stage warp is usable or not.
ScenarioSettings Inside a Map.arc, inside jmp/List.
If it does not exist, you may create it.
Decides if the row of settings are applied or not.
GalaxyInfo.bcsv Inside a Scenario.arc. Decides of the given value is applied or not
HubworldEventDataTable.bcsv Inside ObjectData/SystemData.arc. Decides if the event can be played or not.
GalaxyOrderList.bcsv Inside ObjectData/SystemData.arc. Decides if the galaxy shows up on the All Star List or not.
---
(GLE-V3+) Decides when the All Star List pages unlock.
ScenarioSwitch.bcsv Inside a ZoneInfo.arc, inside the csv folder. Decides if the ScenarioSwitch object will have it's TRUE case triggered.
SavePointList.bcsv Inside ObjectData/SystemData.arc. Decides if the save point is active or not.
This is only used for determining if you can save here or not at a given time.
If you have set your save point to a de-activated save point, you will still load at the deactivated save point.
Clone this wiki locally