diff --git a/src/mame/machine/seicop.c b/src/mame/machine/seicop.c index 346ed0a35f5..d901601d66e 100644 --- a/src/mame/machine/seicop.c +++ b/src/mame/machine/seicop.c @@ -2012,9 +2012,10 @@ static UINT8 cop_calculate_collsion_detection(running_machine *machine) if(cop_collision_info[0].max_y >= cop_collision_info[1].min_y && cop_collision_info[0].min_y <= cop_collision_info[1].max_y) res &= ~2; - /* TODO: Legionnaire does collision detection via the other two regs ... */ - cop_hit_val_x = cop_collision_info[0].max_x - cop_collision_info[1].min_x; - cop_hit_val_y = cop_collision_info[0].max_y - cop_collision_info[1].min_y; + /* TODO: Legionnaire does collision detection via the other two regs, + for now just implement a version that allows the player to spam flying kicks and hit everything else on the screen ;-) */ + cop_hit_val_x = (res & 1) ? cop_collision_info[0].max_x - cop_collision_info[1].min_x : 0; + cop_hit_val_y = (res & 2) ? cop_collision_info[0].max_y - cop_collision_info[1].min_y : 0; //if(res == 0) // printf("0:%08x %08x 1:%08x %08x\n",cop_collision_info[0].min_x,cop_collision_info[0].min_y,cop_collision_info[1].min_x,cop_collision_info[1].min_y);