INNER CODE UNIT · Rust

collision_count

OpenGMK/OpenGMK · gm8decompiler/src/collision.rs:101

        let collision_count = map.data.iter().filter(|x| **x).count();
        let ratio = (collision_count as f64)
            / (((map.bbox_right + 1 - map.bbox_left) * (map.bbox_bottom + 1 - map.bbox_top)) as f64);
        // Highest diamond ratio I've seen is 0.5454.. Lowest disk ratio I've seen is 0.777..
        if ratio < 0.65 { (Shape::Diamond, 0) } else { (Shape::Disk, 0) }
    };

    Some(GmkCollision {
        bbox_top: top,
        bbox_bottom: bottom,
        bbox_left: left,
        bbox_right: right,
        shape,
        alpha_tolerance: u32::from(alpha_tolerance),
    })
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…