User:Kaysakado/Rewrite

From SRB2 Wiki
Jump to navigation Jump to search

Character WADs are WADs that, like the name implies, add a new character to the game. They consist of an S_SKIN, sprites, and sometimes a few other stuff. This tutorial will teach you how to create a character WAD.

Getting Started

You'll need a few things before you can get started on your character:

  • A lump editor, like XWE, DeePsea, SLumpEd, or others. You'll also need a basic understanding of how to use them.
  • An idea of what your character will do, and what he/she looks like.

Once you have these, you have to make the WAD itself. Below are sections on how to do certain parts of the WAD. It doesn't matter which order you do them in, so you don't have to do it in the exact order shown below.

The S_SKIN: Giving Your Character Abilities

The S_SKIN is a lump that tells the game how the character behaves. It has many parameters, but you don't have to fill them all--they'll simply default to Sonic's if not specified.

To begin with the S_SKIN, open your Character WAD in your preffered lump editor, then creating a new lump, naming it S_SKIN Then copy and paste the following in:

name = 
face = 
facename = 
ability = 
normalspeed = 
thrustfactor = 
accelstart = 
acceleration = 
spin = 
startcolor = 
prefcolor = 
jumpheight = 
boxindex = 
highres = 
runspeed = 
runonwater = 
allowsuper = 
superspin = 
supercolor = 
nojumpspin = 
superanims = 
multiability = 
lightdash = 
homing = 
ringslinger = 
slingitem = 
spinitem = 
thokitem = 
actionspd = 
waterskip = 
mindash = 
maxdash = 

Next you'll have to fill in the variables. Remember, you don't have to do them all, but make sure to remove the variables you don't do. The following is a description of all the variables:

  • name - This is the name of your character. It shows up in the Multiplayer Player Select Screen. Spaces are not allowed.
  • face - This is a link to a 32x32 picture that you'll put into the WAD once you're finished. Remember to CAPITALIZE this value. For example: EXAMPLEA, not examplea. (it can be anything you want).
  • facename - This is a thing that you'll either love or hate. It's a link to a picture that contains your character's name.
  • ability - This is your character's ability:
Value Ability
0 Sonic Speed Thok
1 Tails Fly
2 Knux Super Glide/Climb Combo
3 Super glide/no climb
4 Double jump
5 Super Sonic float
6 SA Walker hover (Think E-102)
7 Swim (Can only "fly" underwater).
  • normalspeed - Here is your character's normal speed, without Super Sneakers. Cannot go above 36.
  • thrustfactor - Thrust factor is the amount of control your character has to move forward or backward on a spring. Example: You are Sonic. You hit a spring and go flying into the air. You can control yourself in the air better than Tails because Tails has a lower thrust factor. Simple, no?

It also seems to have an effect with acceleration; if it's below 5 and you have very little accelstart and acceleration, you will have a lot of trouble speeding up at all.

  • accelstart - Once you just first press the key, for a fraction of a second, your character's speed will increase by this much. Set this attribute high. Can't exceed 192.
  • acceleration - Once your character gets going, his/her speed will increase by this much per certain amount of time. Can't go above 50.
  • spin - Can your character spin? If so, set this to 1. If not, set it to 0.
  • startcolor - Has to do with the palette. More on that later.
  • prefcolor - This changes the color your character when in single player mode.
Value Color
0 None
1 Gray
2 Peach
3 Dark Red
4 Silver
5 Orange
6 Red
7 Blue
8 Dark Blue
9 Pink
10 Beige
11 Purple
12 Green
13 White
14 Gold
15 Yellow

None means that the character's color looks like how you made it, but the spindash trail will not appear if you set prefcolor to none.

  • jumpheight - This value can't exceed 100. Too bad. Anyways, this is the jump height in fracunits. Note that the character can pull himself/herself up to a ledge 24 fracunits higher.
  • boxindex - This is something rather new and advanced, added to SRB2 in 1.09 and not a lot of people understand it yet. It shows which graphic will be displayed for the Extra Life Monitor. Normally, this is set to 0, giving you a 1UP graphic, the sprites for which are named PRUPA0 and PRUPB0. Sonic's boxindex is 1, which uses the sprites PRUPC0 and PRUPD0. Tails uses 2, Knuckles uses 3, Zim uses 4, and Amy uses 5. No other characters use this feature at the time of this writing, but I hear that Shadow is soon to be updated, and I expect he would use 6.

Note that your Extra Life graphics need to be lodged between two "marker" lumps named S_START and S_END for this to work. More on Extra Life Monitors and other sprites later, just leave it alone for now.

  • highres - If your skin has a sprite which is twice as large as a normal player sprite, highres will shrink it to half size for you. This is better then resizing the sprites by hand because it is both easier to set then resizing all 180-something sprites and it doesn't lose every other pixel in higher resolutions. Partially broken in 1.09; it works, but only sets itself when you switch to the skin or a player joins the game. To make it work again if it unsets itself, switch to a skin and switch back or toggle splitscreen on and then off again. This is fixed in 1.09.1 and SRB2JTE 1.69.5 and up. Also, the results will not look as intended in OpenGL (the character will be drawn in the wrong position, causing them to fly in the air or run through the ground), although they will function as normal. In addition, no color does not get along well with this.
  • runspeed - If your skin reaches this speed, the character will break into their running animation.
  • runonwater - Lets your character run on water when they hit their runspeed.
  • allowsuper - Allows the character to turn super when they have 50 rings and 7 emeralds.
  • superspin - Does your super character spin when he jumps/spindashes? If so, set this to 1. If not, set it to 0. It seems to have some flaws though, such as if your character is two colors and both colors are suppose change in the superform, you'll have one color right, but the other color wrong.
  • supercolor - Decides what color your character will be when they turn super.
  • nojumpspin - Decides whether the character uses their spring up/down animations for their jump.
  • superanims - Decides whether to use the special ability frames for your character's super form. If superanims = 1, then frames U and V is for super standing, frames W and X are for super running, frame Y is for tipping on an edge, and frame Z is for getting hit by the super turret SOC effect.
  • multiability - Meant to allow you to use your special ability multiple times in one jump. However it dosen't work correctly.
  • lightdash - Allows you to perform the lightdash.
  • homing - Causes the thoks of a thok character to home in on enemies when you are close to them.
  • ringslinger - Allows you to throw rings outside of match modes.
  • slingitem - Used in combination with ringslinger. Specifies which thing to fire as a projectile. If this confuses you, then simply pick from this list.
4 Egg Mobile style missile
74 Standard red ring
91 Jettysyn gunner bullet
152 Mario fireball
194 THZ-turret-style laser
124 Homing ring
125 Automatic ring
126 Explosion ring
149 Koopa shell

Note: Koopa shell won't hurt enemies if it hasn't bounced at least once before it hits an enemy.

  • spinitem - Replaces the trail left behind by spindashing with the specified thing.
  • thokitem - Replaces the trail left behind by thoking with the specefied thing. Useful for custom character abilities.
  • waterskip - Determines weather or not the player will act like a skipping stone when they spindash into the water.
  • actionspd - Determines how fast the character will move when performing their special ability. You can go to 90, but 60 is the highest recommended value. Also you can have some fun with negative values for a twist, an example being a backwards thok.
  • mindash - The minimum speed the character can spindash. You can't go higher then 90.
  • maxdash - The maximum speed the character can spindash. Set to 0 to give the character a mêlée attack. Once again, you can't go further then 90.