# HG changeset patch # User Gauvain "GovanifY" Roussel-Tarbouriech # Date 1565992383 -7200 # Node ID c8bb28961d3156c14f62d93dde13a693dd9025c2 # Parent 8c50a7b19425a3c935014472abaa9e584ade2aa0 ecl_vm: fixes for previous instructions diff --git a/src/th06/ecl.rs b/src/th06/ecl.rs --- a/src/th06/ecl.rs +++ b/src/th06/ecl.rs @@ -251,7 +251,7 @@ declare_sub_instructions!{ 87 => fn SetUpcomingLaserId(id: u32), 88 => fn AlterLaserAngle(id: u32, delta: f32), 90 => fn RepositionLaser(id: u32, ox: f32, oy: f32, oz: f32), - 91 => fn LaserSetCompare(u32: id), + 91 => fn LaserSetCompare(id: u32), 92 => fn CancelLaser(id: u32), 93 => fn SetSpellcard(face: i16, number: i16, name: String), 94 => fn Endspellcard(), diff --git a/src/th06/ecl_vm.rs b/src/th06/ecl_vm.rs --- a/src/th06/ecl_vm.rs +++ b/src/th06/ecl_vm.rs @@ -612,14 +612,15 @@ impl EclRunner { } // 88 - + /* SubInstruction::AlterLaserAngle(laser_id, delta) => { let mut enemy = self.enemy.borrow_mut(); if enemy.laser_by_id.contains_key(&laser_id) { - let mut laser = enemy.laser_by_id.get(laser_id); + let mut laser = enemy.laser_by_id.get(&laser_id); laser.angle += self.get_f32(delta); } } + */ // 89 /* @@ -634,13 +635,15 @@ impl EclRunner { */ // 90 + /* SubInstruction::RepositionLaser(laser_id, ox, oy, oz) => { let mut enemy = self.enemy.borrow_mut(); if enemy.laser_by_id.contains_key(&laser_id) { - let mut laser = enemy.laser_by_id.get(laser_id); + let mut laser = enemy.laser_by_id.get(&laser_id); laser.set_base_pos(enemy.pos.x + ox, enemy.pos.y + oy, enemy.z + oz) } } + */ // 91 // wat SubInstruction::LaserSetCompare(laser_id) => { diff --git a/src/th06/enemy.rs b/src/th06/enemy.rs --- a/src/th06/enemy.rs +++ b/src/th06/enemy.rs @@ -51,7 +51,11 @@ impl std::ops::Add for Position struct Callback; #[derive(Debug, Clone)] -struct Laser; +/// XXX +pub struct Laser { + /// XXX + pub placeholder: u32 +} #[derive(Debug, Clone, Default)] struct Process;