Touhou Wiki
Advertisement

Overview

User-defined bullet graphics can be added by using LoadUserShotData function, which is called with the path of the bullet definition script. Animated bullets can be defined.

Example

The following is an example of the bullet definition script.

#UserShotData    // Required

ShotImage = ".\UserShot.png"    // Image of Bullets

// Definition of bullet 
ShotData {
    id               = 1                  // Bullet ID
    rect             = (0, 0, 32, 32)     // Region in the ShotImage
    render           = ALPHA              // Render type
    delay_color      = (255, 128, 255)    // Color of light on delay
    angular_velocity = rand(-5, 5)        // Ang. vel. of graphic rotation
}

// New-lines are not required.
ShotData { id = 2  rect = (0, 0, 16, 16) }

// Animated bullet
ShotData {
    id          = 3
    render      = ADD
    delay_color = (255, 128, 255)
    AnimationData {
        //    16 frames ( 0,  0, 12, 12)
        // ->  8 frames (12,  0, 24, 12)
        // -> 24 frames (12, 12, 24, 24)
        // -> Repeat...
        animation_data = (16,  0,  0, 12, 12)
        animation_data = ( 8, 12,  0, 24, 12)
        animation_data = (24, 12, 12, 24, 24)
    }
}


Details

#UserShotData

#UserShotData describes that this file is a bullet definition script.


ShotImage

ShotImage indicates the path of the image of bullets. All the graphics of the bullets must be combined into one image file. The black region (R, G, B = 0, 0, 0) is transparent.


ShotData

ShotData indicates information of a bullet.


id

id is the ID of the bullet. This ID is used instead of the name of the pre-defined bullets. e.g.

CreateShot01(GetX, GetY, 5, GetAngleToPlayer, 1, 0);

The ID must be a unique positive integer (0 is invalid).


rect

rect is the rectangular region of the bullet in the ShotImage.

rect = ( (left), (top), (right), (bottom) )


render

render indicates the render type.

ALPHA

Alpha blend (default)

  • ADD

    Addtive blend


delay_color

delay_color indicates the color of the light which is drawn during delaying firing.

delay_color = ( (red), (green), (blue) )

The default is (128, 128, 128).

angular_velocity

'angular_velocity' is the angluar velocity of the graphic rotation. The rotation center is the same as the center of the rect.

The default is 0.


AnimationData

AnimationData defines the motion of the animated bullet.

AnimationData {
    animation_data = ( (frame), (left), (top), (right), (bottom) )
    animation_data = ( (frame), (left), (top), (right), (bottom) )
    ...
}

(frame) is the number of frames that the graphic keeps to be drawn.

If AnimationData exists, rect is ignored.


Comments

/*
      comment
 */
// one-line comment

For details to Touhou Danmakufu: Miscellaneous.


Advertisement