Blue Coin System - Lord-G-INC/Modular-PTD GitHub Wiki

Blue Coin System

By Evanbowl and Lord-Giganticus

Description

The Blue Coin System is a recreation of the Blue Coins found in Super Mario Sunshine. They can be used to unlock bonus stages using the Blue Coin Board.

Required Assets

Required Files

File Path and Name Type Link
/LayoutData/BlueCoinBoard.arc Custom Download
/LayoutData/BlueCoinCounterInStage.arc Custom Download
/LayoutData/FileInfo.arc Modified Download
/LayoutData/PauseMenu.arc Modified Download
/ObjectData/BlueCoin.arc Custom Download
/ObjectData/BlueCoinClear.arc Custom Download
/ObjectData/BlueCoinSign.arc Custom Download
/SystemData/BlueCoinBoardDataTable.arc Custom Download
/SystemData/BlueCoinIDRangeTable.arc Custom Download

Download All (.zip)

Picture Font Entries

Font Icon ID Image
Blue Coin 0x8A BlueCoin_8A
Blue Coin Board Power Star 0x95 BlueCoinBoardPowerStar_95
ID List Indicator (Closed) 0xC1 IDListIndicatorClosed_C1
ID List Indicator (Open) 0xC2 IDListIndicatorOpen_C2
Uncollected Blue Coin 0xC0 UncollectedBlueCoin_C0

Use a tool such as BRFNTify Next to add these icons to PictureFont.brfnt.

Setup and Usage

BlueCoinGet
Blue Coins are a permanent collectible that the game saves. They are considered as collected right after collection, even if the player dies.

Object Parameters

Parameter Name Type Name Default Value Purpose
Obj_arg0 int Blue Coin ID 0 This assigns a Collection ID to a Blue Coin.
Obj_arg1 float SW_B activation launch velocity 25 Defined below
Obj_arg3 bool Shadow Calculation NA Identical to Coin
Obj_arg4 int Pose Type NA Identical to Coin
Obj_arg5 float Shadow Drop Distance NA Identical to Coin
Obj_arg6 int Shadow Type NA Identical to Coin
Obj_arg7 bool Inside Bubble? NA Identical to Coin
SW_APPEAR Switch (Read) NA NA Standard Appear
SW_A Switch (Write) NA NA Activates on coin collection.
SW_B Switch (Read) NA NA Appear Pop
BlueCoinAppears.mp4

Example video: these Blue Coins are using their SW_B functionality to pop out of these objects when they are destroyed.
Pictured here are CrystalCageS and BreakableCage. The height the Blue Coins pop out can be changed using Obj_arg1.

BlueCoinClear

After collecting a Blue Coin, they will still exist and be collectable, however they will appear clear and not add to the Blue Coin Counter.
Blue Coins always add to the regular Coin Counter however.

Counters

The Blue Coin System currently has five unique counters for displaying Blue Coin progress.

HUD

BlueCoinCounterInStage
This counter tracks total collected Blue Coins, not counting those that are spent.

File Info and Pause Menu Total

BlueCoinFileInfo BlueCoinPauseMenuTotal
These two counters track total collected Blue Coins, counting those that are spent.

Pause Menu Stage Counter and ID List

The Stage Information window on the Pause Menu will look like this in a stage that has a valid entry in the BlueCoinIDRangeTable. BlueCoinSystemWorldBanner
The counter above the window tracks all collected Blue Coins in the current stage.

Pressing B on this screen will bring up the Stage ID List. PauseMenuIDList
This list tracks Blue Coins by ID specifically defined in the ID Range Table.
The Blue Coin List is ordered numerically, going from lowest ID to highest ID.

BCSV Tables

Blue Coin Board Data Table

The Blue Coin Board Data Table defines where the Blue Coin Board buttons send the player to, as well as how much each individual button costs.

Field Information

Name Type Hash
StageName STRING E4EC2289
ScenarioNo LONG ED08B591
BlueCoinPrice LONG 758469DE

Example Entry

StageName ScenarioNo BlueCoinPrice
IslandFleetGalaxy 1 30

Note: This BCSV table requires 8 entries. Only one entry is displayed here for demonstration.
In this example, Button #1 would send the player to Sky Station Galaxy, Star 1, for 30 Blue Coins.
To customize the other buttons, simply modify the other seven entries.

Blue Coin ID Range Table

The Blue Coin ID Range Table allows the Pause Menu to accurately display the correct Blue Coins in the current stage on its counters.

Field Information

Name Type Hash
StageName STRING E4EC2289
BlueCoinRangeMin LONG F1561320
BlueCoinRangeMax LONG F1561232

Example Entry

StageName BlueCoinRangeMin BlueCoinRangeMax
IslandFleetGalaxy 0 29

This would assign Blue Coins 0 through 29 to Sky Station Galaxy. Different stages can share the same Blue Coin range! Note: Amounts less than or equal to 30 are supported. The Blue Coins will still function at values over 30, but the ID List will not track Blue Coins past ID 30.

Saving Information

Collected Blue Coins are saved to BlueCoinData.bin found in the save file directory. This tracks the Blue Coin progress of all three save files. BlueCoinData.bin is saved to every time the game is saved.

⚠️ **GitHub.com Fallback** ⚠️