SRB2Kart/Character WAD

From SRB2 Wiki
Jump to navigation Jump to search

Character WADs for SRB2Kart are set up differently than regular character WADs. The frames are organized differently, and there are several new options in the S_SKIN lump.

Note: The names used for files, such as XXXXRANK and DSXGLOAT are merely used as examples, with the X characters meant as placeholders, as these are the conventions used for the base game resources - Any custom-made character can use its S_SKIN lump to define the lumps to use for whichever character-related purpose, and can be named whatever conveys their purpose properly.

Frames

Characters in SRB2Kart use the following frames with their respective rotations:

Frame Name
A Idle 1 / Fast Drive 1
B Idle 2
C Idle Left 1 / Fast Drive Left 1
D Idle Left 2
E Idle Right 1 / Fast Drive Right 1
F Idle Right 2
G Slow Drive 1
H Slow Drive Left 1
I Slow Drive Right 1
J Slow/Fast Drive 2
Frame Name
K Slow/Fast Drive Left 2
L Slow/Fast Drive Right 2
M Drift Left 1
N Drift Left 2
O Drift Right 1
P Drift Right 2
Q Spinout
R Squished
S Goal Post Art

For more information regarding how sprites work, see Sprites.

HUD Sprites

In addition, characters must have the following sprites to display on the HUD:

Sprite Purpose
XXXXRANK Used for the mini-rankings on the left side of the screen in-game.
XXXXWANT Used when a character is selected in the Multiplayer menu, as well as the Wanted portrait used in Battle mode.
XXXXMMAP The icon used to represent the player in the minimap.

Sound Effects

Characters use the following sound-effects for various contexts:

Sound Effect Purpose
DSXGLOAT Played when the character uses an item that makes them invincible, such as Invincibility and Grow.

Audacity's Echo effect, with a 0.25 delay time and a decay factor, can provide Gloat voice lines similar to the vanilla characters' gloat lines.

DSXWIN Played when the character gets a top-half placement in Race or Battle.
DSXLOSE Played when the character gets a bottom-half placement in Race or Battle.
DSXSLOW Played when the character overtakes another.
DSXHURT1 Played when the character gets hit by an offensive item, such as an Orbinaut.
DSXHURT2 Likewise, with either hurt sound having a 50% chance to play.
Sound Effect Purpose
DSXATTK1 Played when the character successfully hits a player with an offensive item.
DSXATTK2 Likewise, with either attack sound having a 50% chance to play.
DSXBOST1 Played when the character uses an item that provides a speed boost, such as a Sneaker.
DSXBOST2 Likewise, with either boost sound having a 50% chance to play.
DSXITEM Played when the character throws an offensive item.

Stats

All characters in SRB2Kart have two important stats, Speed and Weight, which go from 1 to 9, with each combination meant to be balanced.

  • Speed determines the character's top speed and acceleration. High speed ratings get a high top speed, but it is compensated with a low acceleration, whereas a low Speed rating provides a low top speed, but a high acceleration to compensate.
  • Weight determines the outcomes of player bump interactions, as well as how fast a character can turn. Characters with higher Weight will get knocked around less than other characters with less Weight. However, High Weight ratings mean that such characters get wider turns, whereas lower Weight provides sharper turns instead.
  • Drift Spark Rate is a hidden stat determined by the character's Speed and Weight combination. The lower the weight and the slower the character, the higher their Drift Spark Rate will be, allowing it to charge mini-turbos quicker. In contract, a higher and lighter racer will struggle to charge mini-turbos comparatively.

Character authors are recommended to try out different stat combinations to their liking. It is suggested to also somewhat align the character's stats with their visuals - bulky- or metalic-looking characters, such as Eggman and Metal Sonic, have higher weights compared to the lighter- and softer-looking Sonic and Tails, whilst Knuckles is an in-between, as well as Sonic and Metal Sonic being better known for their speed, for example.

In character stat discussions, a common abbreviation is to directly mention the speed and weight numbers separated by a comma. For example, Sonic is a 8,2 character, meaning his stats are 8 Speed, and 2 Weight.

S_SKIN

Main article: S_SKIN

S_SKIN lumps are used to put characters together, such as their sprites, sound effects, colours and stats.

The properties available are as follows:

Property Purpose
name The internal name used whenever the player uses the skin console variable. Can only be up to 16 characters long.
realname The "friendly" name displayed in the Character Select screen, Record Attack, Replay Hub, and so on. Can only be up to 16 characters long, and underscores should be used instead of spaces.
facerank The icon used to show the character's position on the rankings.
facewant The icon used on the Wanted poster when a character is wanted in Battle mode or when selected on the Player Setup screen.
facemmap The icon used to show the character's position on the minimap.
kartspeed The character's speed stat, which should be between 1 and 9. 1 is the slowest (with the best acceleration) while 9 is the fastest (with the worst acceleration).
kartweight The character's weight stat, which should be between 1 and 9. 1 is the lightest (with the best handling) while 9 is the heaviest (with the worst handling).
startcolor Specifies the range of colors in the palette on the character's sprites that can be changed. This is a range of 16 colors, starting from the palette color index specified by this parameter.
prefcolor Specifies the default skin color for the character.
DSKGLOAT Specifies the audio file lump used for the character's gloat line.
DSKWIN Specifies the audio file lump used for the character's win line.
DSKSLOW Specifies the audio file lump used for the character's overtake line.
DSKHURT1 Specifies the audio file lump used for the character's hurt line.
DSKHURT2 Specifies the alternate audio file lump used for the character's hurt line.
DSKATTK1 Specifies the audio file lump used for the character's successful hit line.
DSKATTK2 Specifies the alternate audio file lump used for the character's successful hit line.
DSKBOST1 Specifies the audio file lump used for the character's boosting line.
DSKBOST2 Specifies the alternate audio file lump used for the character's boosting line.
DSKHITEM Specifies the audio file lump used for the character's item throwing line.
highresscale Specifies the scaling used for the sprites, with 2.0 making them twice as big, and 0.5 half as big.

An example S_SKIN lump file for an SRB2Kart character looks as follows:

name = mychar
realname = My_Character
facerank = KEGGRANK
facewant = KEGGWANT
facemmap = KEGGMMAP
kartspeed = 2
kartweight = 8
startcolor = 160
prefcolor = Red
DSKGLOAT = DSEGLOAT
DSKWIN = DSEWIN
DSKLOSE = DSELOSE
DSKSLOW = DSESLOW
DSKHURT1 = DSEHURT1
DSKHURT2 = DSEHURT2
DSKATTK1 = DSEATTK1
DSKATTK2 = DSEATTK2
DSKBOST1 = DSEBOST1
DSKBOST2 = DSEBOST2
DSKHITEM = DSEHITEM