Example #1
0
class WeaponSpec(Struct):
    def __init__(self, cont=None, name=""):
        Struct.__init__(self, "CDataWeaponspec")
        self.name = String(name)
        self.sprite_body = Pointer(Sprite, Sprite())
        self.sprite_cursor = Pointer(Sprite, Sprite())
        self.sprite_proj = Pointer(Sprite, Sprite())
        self.sprite_muzzles = Array(Pointer(Sprite, Sprite()))
        self.visual_size = Int(96)

        self.firedelay = Int(500)
        self.maxammo = Int(10)
        self.ammoregentime = Int(0)
        self.damage = Int(1)

        self.offsetx = Float(0)
        self.offsety = Float(0)
        self.muzzleoffsetx = Float(0)
        self.muzzleoffsety = Float(0)
        self.muzzleduration = Float(5)

        # dig out sprites if we have a container
        if cont:
            for sprite in cont.sprites.items:
                if sprite.name.value == "weapon_" + name + "_body":
                    self.sprite_body.Set(sprite)
                elif sprite.name.value == "weapon_" + name + "_cursor":
                    self.sprite_cursor.Set(sprite)
                elif sprite.name.value == "weapon_" + name + "_proj":
                    self.sprite_proj.Set(sprite)
                elif "weapon_" + name + "_muzzle" in sprite.name.value:
                    self.sprite_muzzles.Add(Pointer(Sprite, sprite))
Example #2
0
class SoundSet(Struct):
    def __init__(self, name="", files=()):
        Struct.__init__(self, "CDataSoundset")
        self.name = String(name)
        self.sounds = Array(Sound())
        self.last = Int(-1)
        for filename in files:
            self.sounds.Add(Sound(filename))