def get_anm(self, name): if name in self.loaded_anms: logger.warn('ANM0 %s already loaded', name) file = self.get_file(name) anm = ANM0.read(file) self.instanced_anms[name] = anm self.loaded_anms.append(name) return anm
(2, 192 * 2 - 30 - 40.0, -46 * 3 * 5, -50.0), (2, 192 * 2 - 30 - 40.0, -46 * 3 * 6, -50.0), (2, 192 * 2 - 30 - 40.0, -46 * 3 * 7, -50.0), (2, 192 * 2 - 30 - 40.0, -46 * 3 * 8, -50.0), (2, 192 * 2 - 30 - 40.0 - 50.0, -46 * 3 * 1 - 20, -50.0), (2, 192 * 2 - 30 - 40.0 - 50.0, -46 * 3 * 2 - 20, -50.0), (2, 192 * 2 - 30 - 40.0 - 50.0, -46 * 3 * 3 - 20, -50.0), (2, 192 * 2 - 30 - 40.0 - 50.0, -46 * 3 * 4 - 20, -50.0), (2, 192 * 2 - 30 - 40.0 - 50.0, -46 * 3 * 5 - 20, -50.0), (2, 192 * 2 - 30 - 40.0 - 50.0, -46 * 3 * 6 - 20, -50.0), (2, 192 * 2 - 30 - 40.0 - 50.0, -46 * 3 * 7 - 20, -50.0), (2, 192 * 2 - 30 - 40.0 - 50.0, -46 * 3 * 8 - 20, -50.0) ] # Bounding boxes anm = ANM0.read(open('stg1bg.anm', 'rb'))[0] for model in models: vertices = [] for script_index, ox2, oy2, oz2, width_override, height_override in model.quads: sprite = Sprite(width_override, height_override) anmrunner = ANMRunner(anm, script_index, sprite) vertices2 = get_sprite_vertices(sprite) vertices.extend((x + ox2, y + oy2, z + oz2) for x, y, z in vertices2) xmin, ymin, zmin = min(x for x, y, z in vertices), min( y for x, y, z in vertices), min(z for x, y, z in vertices) xmax, ymax, zmax = max(x for x, y, z in vertices), max( y for x, y, z in vertices), max(z for x, y, z in vertices) model.bounding_box = (xmin, ymin, zmin, xmax - xmin, ymax - ymin, zmax - zmin) stage = Stage()
(2, 192*2-30-40.0, -46*3*6, -50.0), (2, 192*2-30-40.0, -46*3*7, -50.0), (2, 192*2-30-40.0, -46*3*8, -50.0), (2, 192*2-30-40.0-50.0, -46*3*1-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*2-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*3-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*4-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*5-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*6-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*7-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*8-20, -50.0)] # Bounding boxes anm = ANM0.read(open('stg1bg.anm', 'rb'))[0] for model in models: vertices = [] for script_index, ox2, oy2, oz2, width_override, height_override in model.quads: sprite = Sprite(width_override, height_override) anmrunner = ANMRunner(anm, script_index, sprite) vertices2 = get_sprite_vertices(sprite) vertices.extend((x + ox2, y + oy2, z + oz2) for x, y, z in vertices2) xmin, ymin, zmin = min(x for x, y, z in vertices), min(y for x, y, z in vertices), min(z for x, y, z in vertices) xmax, ymax, zmax = max(x for x, y, z in vertices), max(y for x, y, z in vertices), max(z for x, y, z in vertices) model.bounding_box = (xmin, ymin, zmin, xmax - xmin, ymax - ymin, zmax - zmin) stage = Stage() stage.name = 'Test by ThibG' stage.bgms = ('', 'bgm/th06_15.mid'), ('', ''), ('', ''), ('', '')