☆ Twinkle Star Sprites Trainer ☆

Special thanks

SUDDENデス for documenting the existence of Debug Mode (and Cake Fighter) within Twinkle Star Sprites MVS/AES/SS. This is such an important discovery which led to this trainer.

ekorz for taking the time to put all of this together. Adding new codes into the game, rearranging the entire menu, and creating the hitbox lua! The community sincerely appreciates this; thank you so much.

Zil, Twinkler, cemera, mikwuyma, Trashboat, Tai, and ac_143 for playing with me and helping me understand this game on a much deeper level over the years.

503 for creating the Formation sheet on his Twinkle Star Sprites strategy website (which has a wealth of information on Versus Play), r_parenthesis for rearranging the Formation sheet and taking the time to explain how the Formation grouping, randomization and selection works within this game.

Jedpossum’s resources and tools and melano for intensive testing to help ekorz with bug squashing and refining the overall hitbox lua.

Twinkle Star Sprites Discord folks, Fightcade users, Nakano TRF and Red Parry NYC regulars, and the Tournament Organizers out there for keeping this game alive.

Thank you for everything. - SWiRL

ROM Patch

0.) You can get the Trainer Package (patch, hitbox lua, and patching instructions) here.

1. ) Load FBNeo.

2.) “Game”  “Load Game…”

4.) Select “Twinkle Star Sprites”.

5.) Initialization warning will appear, don’t worry, click “OK”.

6.) Set your controls (Input  Map game inputs…) and video settings (if applicable).

7.) Coin in then select any mode.

Trainer Controls

Enter/Exit Trainer Menu during gameplay = Press C+D Buttons. 

Navigation = Up/Down.

Select Value = Left/Right.

Turbo select value = Press A + Left/Right

            Trainer Menu appears after hitting C+D

Available options

1.) Muteki: OFF-ON

[OFF = Default]

Comment: Invincibility.

2.) CTRL: HUM-CPU-OFF

[HUM = Default on 1P and CPU = Default on 2P during Story/Character Mode]

Comment: Enabling a Human player, CPU, or disabling input altogether for 1P and/or 2P.

3.) CHR-NO: 0-12

[0 = Ran, 1 = Macky, 2 = Schmitt, 3 = Yan, 4 = Grif, 5 = Till, 6 = Tinker, 7 = Nanja, 8 = Kim,

9 = Sprites, 10 = Dark Ran, 11 = Mevious, 12 = Memory]

Comment: You can switch between characters by referring to the values above.

4.) CHR-COL: NML-REV

[NML = 1P/Default color and REV = 2P/Alt. Color]

Comment: Pick your favorite color.

5.) ZAKO: AUTO-ZAKO-BLOK:

[AUTO = Default, ZAKO = Formation Builder, >BLOK = Formation Viewer/Trainer<]

Comment: AUTO means the game will operate as normal. ZAKO allows you to build Formations. >BLOK allows you to view already programmed Formations; the main purpose of this trainer.<

6.) DB-DISP: OFF-ON

[OFF = Default]

Comment: Displays background information such as CPU usage, current Formation value, next event occurring (i.e. Fever or Star Coin spawn), and in-game timer.

7.) NODEATH: OFF-ON

[OFF = Default]

Comment: Death won't appear if toggled on regardless of the in-game timer. However, if the in-game time is >102 and it's toggled back to OFF, Death will spawn and function as

normal.

8.) MAXPOW: OFF-ON [New!]

[OFF = Default]

        Comment: Immediately fill your gauge to Level 3. You can use this to see how EX Attacks or Boss Attacks behave.

9.) FEVER: OFF-ON [New!]

[OFF = Default]

        Comment: Immediately begin Fever Mode. This option will stay toggled on between rounds until it’s toggled off.

10.) SLOW: OFF-ON

[OFF = Default]

Comment: Pause and control the game frame by frame through button and/or directional inputs.

ZAKO-BLOK

Navigation = Press D button + Up/Down.

Change value (BLOCK/Formation, SPEED, L-R, HOSHI) = Press and hold D button tap Left/Right.

Spawn BLOCK/Formation  = Press C button.

Exiting ZAKO/BLOK mode = Press C+D Buttons.

Twinkle Star Sprites has 36 Formations that appear throughout the game. In this mode you’ll be able to select and load each individual Formation. There’s also other options such as changing the speed of the Formations, whether they enter left or right of the screen, and/or have a Fever orb attached.

If you’re new to this game or want to learn more: Please read mikwuyma’s Versus Play Guide which explains all the core mechanics (i.e. how Fireballs and Combos work, importance of Perfects, Fever Mode), characters (i.e. pros/cons, frame data), flow of matches (offense, defense) and other information. You definitely want to have this mode loaded while reading the guide at the same time; both complement each other to help give you the bigger picture. Once you’ve learned some stuff and practiced, spend time playing with others via. FightCade or at your local for the full experience and teach others what you’ve learned so far.

On the next page, I’ve included a reference made by 503 and re-arranged by r_parenthesis. It has a preview and the BLOCK/Formation values so you know exactly which one you’re loading, in addition to r_parenthesis’ explanation as to how Formations are selected.

Formations 0-31 are put into eight groups of four (0-3 = Group 0, 4-7 = Group 1, etc.)

(0-3 / 4-7 / 8-11 / 12-15 / 16-19 / 20-23 / 24-27 / 28-31)

When a match begins, your first eight formations will be selected between Formations 0-15 (Groups 0-3).

After the eighth formation, the game will only take Groups 2-7, place them in a random sequence (ex. 2, 5, 3, 6, 7, 4), and then randomly select one Formation from each group until all Formations [8-31] have been drawn.

If the match is still on-going and all Formations have been drawn, the game will keep the current group sequence, but continue to randomly select one Formation from each group until the match is complete.

Formations 32-35 are Star Coin + Bubble Formations that are separated [blue box placed above] from the eight groups and are not part of the randomization and selection process. They follow an“Event Countdown”

that determines when these patterns appear.

Fever orbs also follow an “Event Countdown” that determines when they appear, but they

just replace a single part of a Formation and they’re still part of the randomization and selection process mentioned above.

BLOCK

Allows you to select and spawn one pre-programmed Formation.

The values for the Formations you will see in normal gameplay are 0-35 [36 total].

Formations 32-35 will always spawn a Star Coin and they are required to solve correctly.

1.) You hold D and tap left or right to select a Formation.

2.) When you're ready, position yourself (if necessary), and hit C to spawn the Formation.

3.) Solve it to the best of your ability.

   Formation 1 was selected and spawned.                      Formation 33 was selected and spawned.

SPEED 

Allows you to select the speed of how fast or slow the Formations travel.

The values are from [Slowest] 0-30 [Fastest].

1.) You hold D and tap left or right to select the speed.

Comment: During Versus Play (or later stages of Story/Character Mode) the travel speed of the Formations will increase as the match progresses. These are the values I found by enabling DB-DISP then when the timer approaches a certain value, toggle ZAKO-ZAKO which tells me the current set speed.

Versus Play:

  • 0 seconds, the speed is set to 8.
  • 100 seconds, the speed is set to 12~.
  • 200 seconds, the speed is set to 17~.
  • 300+ seconds, the speed is capped to 20.  

Story/Character Mode (Level 8):

  • It varies and revolves around rank. The

value can increase or decrease on performance.                   

L-R

Allows you to select whether the Formation enters left or right.

The values are from [Left] 0-1 [Right].

1.) You hold D and tap left or right to select the direction.

          Formation 4 enters from the left (0).                          Formation 4 enters from the right (1).

HOSHI

Allows you to enable a Fever orb within the Formation.

The values are from [None] 0-3 [Three variations on where the Fever orb will be placed].

1.) Press and hold the D button and tap left or right to select a variation between 1-3 or none.

Hitbox Visualizer (Lua Script) [New!]

This script allows you to view the hitboxes (safe and hurt boxes) of all objects within the play field.

Initialization

0.) Extract the lua script from the Trainer Package in an accessible location.

1.) Open Fightcade FBNeo.

2.) Run Twinkle Star Sprites (twinspri.zip)

3.) Click “Game” > “Lua Scripting…” > “New Lua Script Window…”

5.) “Browse…” for the lua script.

6.) Click “Run” to start the lua script.

7.) Hitbox visuals will appear during gameplay.

In-game

Once you’re in a match, you’ll see the following hitboxes:

1.) Player

Comment: All of the characters have the same hitbox.

2.) Shot (with and without stun)

Comment: It was believed that each character had a different shot hitbox (since there’s various shapes and sizes), but in reality all of the shots have the same exact hitbox. The main difference between all of them would be the speed.  

3.) Charge Shot

                                                    [From left to right]

      [Ran, Macky, Schmitt, Yan, Griffon, Till, Tinker, Nanja, Kim, Sprites, D.Ran, Mevious, and Memory]

3.) Formation (with and without bubble)

Comment: If you ever miss the Star Coin in Formation 34, you could squeeze right in between.

4.) Coin

        Comment: Cursed zakos and cursed coin placement, oh what joy.  

5.) Explosion

Comment: This hitbox is probably the most important one to memorize and visualize during normal gameplay. If a Normal Fireball overlaps an explosion, it’ll turn into a Reversal Fireball (and can create another explosion hitbox) allowing your opponent to punish and send an EX Attack (or Boss Attack) into your play field. To minimize Reversal Fireballs, you may need to skip a Formation altogether (i.e. stop shooting), break certain sections of the Formation (navigation purposes), or destroy Formations at different intervals from your opponent.

This will be an on-going thing to practice but there may be some circumstances that will be out of your control (i.e. where you’re positioned or how the Formation enters the play field).

          Kim (1P) and Dark Ran (2P) destroy their Formations leading

to explosions (white squares) to appear on the play field. None of their Normal

Fireballs overlap with the white squares meaning no Reversal Fireballs were sent.

Kim (1P) destroys their Formation while Dark Ran’s (2P) Normal Fireball

                     overlap with the explosion (white squares). Reversal Fireballs were sent back

           to Dark Ran allowing them to send an EX Attack [Rabicat].

                Kim (1P) destroys their Formation while Dark Ran (2P) sent over three

                           Reversal Fireballs. Those three Reversals overlapped with their

                          explosion (white squares) allowing Kim to send a Boss Attack.

6.) Fireball

Comment: There’s four different fireball types; they increase in size depending on the current combo.

7.) EX Attack

        Comment: I did the best I could to showcase the important hitboxes with each character’s EX Attack. If you want to see the attacks in action, you could enable “MAX POW” in the options and launch an attack to see how they behave. The original layout is here in case you wanted to check out the additional animations.

                        

                                                   [From left to right]

     (Ran, Macky, Schmitt, Yan, Griffon, Till, Tinker, Nanja, Kim, Sprites, D.Ran, Mevious, and Memory)

8.) Boss Attack

Comment: There’s two hitboxes; the boss itself (brown) and the area where you can inflict damage (green).

     [From left to right]

         (Ran, Macky, Schmitt, Yan, Griffon, Till, Tinker, Nanja, Kim, Sprites, D.Ran, Memory and Mevious)

Editing script: 

To enable or disable hitbox groups, you want to refer to the "Toggle" section and write "True" [On] or "False" [Off]. If you want to toggle specific hitboxes, you need to look at the grid and read the values on the far right first, then align it with the values on the top (or bottom).

Example:

> I want to disable charge shot hitbox from appearing.

> You want to go into the “Render Set” area.

> Charge shot is labeled as "86".

> Look at row --0x80 then look at column 6.

> Change "s" to "z" so it doesn't render the hitbox of the charge shot.

If you were to leave it as s, i, or 0 it's still going to render the charge shot hitbox.

DB-DISP

This mode will allow you to view background information such as CPU usage, current Formation value, countdown to an event (i.e. "!!" - Fever orb or Star Coin with Bubble Formation), and in-game timer.

CPU Usage [Dark Red Bar on left]

On the far left side of the screen there’s a bar which indicates CPU usage.

When there’s no activity on screen, the bar will stay dark red.

When there’s activity on the screen such as explosion effects from Formations, Fireballs, and Extra Attacks. the bar will flicker orange indicating low CPU usage or stay solid orange (into yellow) indicating high CPU usage.

If there’s a combination of activities above and/or Bomb animation, the bar will turn blue indicating deep lag state.

Comment: In some circumstances, after a bomb animation is complete, the activity on your screen will be cleared but there’s a chance you’ll be hit with an Extra Attack and/or Fireball at full throttle with little to no room to react.

Formation value [Red Box] (Upper = 1P, Lower = 2P)

This value varies from 0-39* shows which Formation is currently loaded into the play field.

* Formations 32-35 repeat (32 = 36, 33 = 37, 34 = 38, and 35 = 39)

Kim (1P) is on Formation 14 and Dark Ran (2P) is on Formation 16.

Event Counter [Black Box] (Upper = 1P, Lower = 2P)

This counter starts at a value between 4 - 12.

When the counter resets/passes 0, the game will place an Event Indicator ("!!") on screen and will choose between spawning a Fever orb within a Formation or Star Coin alongside a bubble Formation.

Formations 32-35 appearance is operated by this counter and is excluded from the randomization and selection process as mentioned earlier. Fever orb’s appearance is also operated by this counter, but again the Fever orb just replaces one part within the Formation and is still part of the randomization and selection process.

         Kim’s (1P) counter rolled over 0 then                         Kim’s (1P) counter rolled over 0 then spawned Formation 29 with a Fever orb attached.               spawned a Star Coin and Formation 33.

The Event Counter will decrease when a new Formation is loaded onto screen.

  • Getting a “Perfect!” and the next Formation loads will decrease the counter by 2.
  • Skipping, missing/not clearing a Formation correctly and the next Formation loads will decrease by 1.
  • Entering and during Fever Mode, with each Formation that loads, the counter will decrease by 1 only if you get a “Perfect!”. It will not decrease [0] if you skip, miss/no “Perfect!” (and in some circumstances), or continue a combo by destroying Formations off screen.

Both counters started at 7.

Kim (1P) gets two Perfects.

The counter decreases from 7 (-2) 5 (-2) 3.

D.Ran (2P) messes up the first Formation but gets a Perfect after.

The counter decreased from 7 (-1) 6 (-2) 4.

Kim (1P) skips the Formation then it leaves the screen.

The counter decreases from 1 (-1) 0.

Kim (1P) enters Fever mode with the counter at 7, then gets fourPerfects.

The counter decreases from 7 (-1) 6 (-1) 5 (-1) 4 (-1) 3.

 

In-game timer [Lower Black Box]

You have the in-game timer on the lower part of the game frame.

Death: Appears at 102~ seconds.

Death spawns outside of the board and makes their way in around 105-108 seconds (taking into consideration possible high CPU usage and/or deep lag states)

Bomb Coin: Its appearance is determined by the number of Formations that have cycled through your side of the screen. The first bomb coin usually appears after 52-62~ seconds, and the second one typically appears soon after Death shows up.

Current scene [Top Black Box]

This value determines which scene is currently loaded into the game. 10 is shown within a match, dialogue and world map, 20 is the Continue screen, 30 is the Game Over and High Score screen.

Comment: I left out the rest like the ending dialogue, credits, the final rank screen. I can add those in later.

Uncertain values [Light Orange, Baby Blue, and Beige boxes]

We’re not entirely sure what these values mean, but our guess is that both baby blue (1P) and beige (2P) boxes values indicate if your shot makes impact on the type of enemy which can range from 0-7 (?) and 43 being a charge attack. For the light orange box we’ve noticed the value shifts between 0-2 and/or 55 (sometimes stays there).

If you happen to know what these boxes mean or come across any additional information from the Trainer Package, please let us know. :)

  • SWiRL