Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
watermelon eater gaming

WHAT DO YOU MEAN "SPRITE NAMES MUST BE EXACTLY 4 CHARACTERS"

Question

Decorate (SLADE v3.2.4)

 

ACTOR ShortExplosion replaces DeadLostSoul
{
  States
  {
  Spawn:
    MISL B 1
    loop
  See:
    MISL B 5 A_PlaySound "weapons/rocklx"
    MISL CD 5
    MISL E -1
    stop
  }
}

 

 

 

GZDoom prompt

 

Execution could not continue.

Script error, "The Zombieman.pk3:actors/splode.txt" line 9:
Sprite names must be exactly 4 characters
 

 

 

Ultimate Doom Builder error prompt

 

Unable to find sprite lump "MISLB" used by actor "Dead lost soul":23. Forgot to include required resources?

 

 

 

Why is my code not working!!? Is this some sort of gimmick Decorate is pulling on me?

Before you ask; I do not have a foreign keyboard, nor do I have the accented typing setting enabled, nor did I copypaste any stupid variant of the space key

Share this post


Link to post

3 answers to this question

Recommended Posts

  • 1

It means exactly as it says. You either do not have a sprite named MISL (which is the four letters) with a second frame of animation (the B), or you did something messed up in your splode.txt that you're using. Check both.

 

The reason you're probably running into this error is that the default missile sprite isn't animated at all: MISLA1, MISLA8A2, MISLA7A3, MISLA6A4, MISLA5. It basically has five frames that cover all eight standard rotations, but that's it; there is no animation. You're specifically calling frames that would begin with MISLB, MISLC, MISLD, and MISLE - which don't exist in your PK3, and so GZDoom bombs, while UDB wags its finger at you.

 

Doom sprite naming follows a very specific format. It's basically NAMEFA[FA]. The name is arbitrary, F is an animation frame (A-Z, then [, \, and ] for 29 frames maximum), A is an angle of 1-8 that turns the sprite in 45 degree angles clockwise with 1 starting as directly facing the player (unless it's a sprite that always faces the player in which case the angle is 0), and the second FA is optional and is for the purposes of sprite mirroring at a different angle without needing an entire new sprite. The basic thing to remember is that the first four letters/numbers are the actual sprite "name," while the last 2-4 letters/numbers tell the engine specific things about when to display that particular sprite, and are NOT considered part of the sprite name.

 

For example: TROOA2A8.

 

TROO: The actual sprite name. This can be anything.

A2: The first frame of animation (A), for sprite angle 2 (45 degree angle to the left).

A8: This sprite is a special case. The same frame should be done, but mirrored, for angle 8 (45 degrees to the right/315 degrees total).

 

The second frame of animation for both of those angles would thus be TROOB2B8, the third TROOC2C8, and so on.

 

A more in-depth explanation, along with some things that are ZDoom enhancements, can be found on the ZDoom wiki page for Sprites.

Edited by Dark Pulse

Share this post


Link to post
  • 1

My guess here is that the sound play function should have parentheses 

A_PlaySound("weapons/rocklx")

as right now the engine is probably trying to parse "weapons/rocklx" as a sprite name.

Share this post


Link to post
  • 0
10 hours ago, jaeden said:

My guess here is that the sound play function should have parentheses 


A_PlaySound("weapons/rocklx")

as right now the engine is probably trying to parse "weapons/rocklx" as a sprite name.

I did this and also got off my gluteus maximus and actually added the DOOM explosion sprites to my PK3 and now the code works. Thank you both

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×