Made by zuccha, requested by NopeContest. Bugfixes by MarioFanGamer.
Sprite featuring a central orbinaut, with four spike balls orbiting around it.
This package contains the following files:
README.txt
: This file.ExGraphics/ExGFX80.bin
: The graphics file containing the images for the orbinaut and the spike ball. This is a copy ofGFX02.bin
, adding the new graphics in empty tiles.Palettes/orbinaut.pal
: Base color palette of level 105, replacing paletteF
with orbinaut's colors.PIXI/list.txt
: A list for PIXI setting orbinat and spike ball sprites to numbers 00 and 01 respectively. Feel free to use this file if you don't have any other custom sprites already inserted in the hack.PIXI/sprites/orbinaut.asm
: Code for the orbinaut sprite.PIXI/sprites/orbinaut.json
: Configuration for the orbinaut sprite.PIXI/sprites/orbinaut_spike_ball.asm
: Code for the spike ball sprite.PIXI/sprites/orbinaut_spike_ball.json
: Configuration for the spike ball sprite.
Here follow the instructions on how to use and customize this sprite.
If you want to insert the sprite with the provided "list.txt" and graphics file, do the following:
- Copy
PIXI/list.txt
in PIXI's main folder. - Copy
PIXI/sprites/orbinaut.asm
,PIXI/sprites/orbinaut.json
,PIXI/sprites/orbinaut_spike_ball.asm
, andPIXI/sprites/orbinaut_spike_ball.json
in PIXI'ssprites
folder. - Copy
ExGraphics/ExGFX80.bin
in the ROM'sExGraphics
folder, then insert graphics via Lunar Magic. You can change "80" into any free ExGFX number. - Open "Super GFX Bypass" menu in Lunar Magic and change "SP4" to "80" (or the number of your choice).
- In Lunar Magic, open the "Palette Editor" and import
Palettes/orbinaut.pal
. - Run PIXI.
- Insert the sprite in Lunar Magic with the "Insert Manual..." command. The
sprite accepts four extra bytes and the extra bit; their behavior is
described in detail in
PIXI/sprites/orbinaut.asm
.
If you change the number for orbinaut_spike_ball.json
in PIXI's list.txt
(anything other than the default "00"), you also have to change !ball_number
in orbinaut.asm
to match that number.
For instance, if you modify list.txt
as follows
12 orbinaut.json
2F orbinaut_spike_ball.json
then you have to set !ball_number = $2F
in orbinaut.asm
.
If you want to change the position of graphics for the orbinaut and spike ball in the graphics file and/or use a different graphic slot, you can do so by modifying their JSON configuration files.
If you want to use SP1 or SP2, set the property Use second graphics page to
false
. If you want to use SP3 or SP4 set Use second graphics page to true
.
With the !gfx_tile
define found in the ASM files you can define what tile to
use. In a graphics file tiles range from 0x00
to 0x7F
. If you put the
graphics file in slots SP1 or SP3, you use the tile value of the graphics file
(0x00
-0x7F
). If you put the graphics file in SP2 or SP4, you need to add
0x80
to the tile value, resulting in values ranging from 0x80
to 0xFF
.
You can check the following table for reference, where columns indicate whether
"Use second graphics page" is false
(1st) or true
(2nd), and the rows state
the range values for !gfx_tile
:
1st | 2nd | |
---|---|---|
0x00-0x7F |
SP1 | SP3 |
0x80-0xFF |
SP2 | SP4 |
By default, both the orbinaut and the spike ball are in the same graphics file
ExGFX80.bin
at positions 0x40
and 0x60
respectively. In both their JSON
config file "Use second graphics page" is set to true
and they are specifying
values greater than 0x80
in !gfx_tile
(i.e., 0xC0 = 0x40 + 0x80
and
0xE0 = 0x60 + 0x80
), meaning we need to load 80
in SP4 via Lunar Magic.
Let's take another example. In Lunar Magic, we set the following SP slots:
- SP1: 0
- SP2: 2
- SP3: 80
- SP4: A2
Also, we have orbinaut.asm
and orbinaut.json
with the following properties:
- !gfx_tile:
146
(0x92
) - Use second graphics page:
false
and orbinaut_spike_ball.asm
and orbinaut_spike_ball.json
:
- !gfx_tile:
36
(0x24
) - Use second graphics page:
true
For the orbinaut the game will take tile 0x12
in GFX02.bin (SP2), because we
set "Use second graphics page" to false
(either SP1 or SP2) and !gfx_tile
is
0x92
>= 0x80
(so SP2). For the spike ball the game will take tile 0x24
in
ExGFX80.bin
(SP3), because we set "Use second graphics page" to true
(either
SP3 or SP4) and its !gfx_tile
is 0x24 < 0x80
(so SP3).
By default the sprite uses sprite palette 7 (global palette F) both for the orbinaut and the spike ball.
To change the palettes, you can open the JSON configuration files and change the
Palette property (0-7
).
This sprite is compatible with PIXI 1.40, older versions will not work.
The sprite is compatible with SA-1.
The sprite takes 5 sprite slots, 1 for the orbinaut and 4 for the spike balls, so be mindful when using it!