| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- use macros::insert_lookup_tables;
- pub use shared::consts::trig::*;
- pub use shared::radian;
- insert_lookup_tables!();
- pub fn cos(degrees: i32) -> i32 {
- COS[degrees as usize]
- }
- pub fn sin(degrees: i32) -> i32 {
- SIN[degrees as usize]
- }
- pub fn tan(degrees: i32) -> i32 {
- TAN[degrees as usize]
- }
- pub fn icos(degrees: i32) -> i32 {
- ICOS[degrees as usize]
- }
- pub fn isin(degrees: i32) -> i32 {
- ISIN[degrees as usize]
- }
- pub fn itan(degrees: i32) -> i32 {
- ITAN[degrees as usize]
- }
- pub fn x_step(degrees: i32) -> i32 {
- X_STEP[degrees as usize]
- }
- pub fn y_step(degrees: i32) -> i32 {
- Y_STEP[degrees as usize]
- }
- pub fn fisheye_correction(degrees: i32) -> i32 {
- FISHEYE[degrees as usize]
- }
- pub fn wall_height(distance: i32) -> i32 {
- WALL_HEIGHT[distance.min(shared::consts::MAX_RAY_LENGTH) as usize]
- }
- pub fn wall_texture_index(height: i32) -> &'static [usize] {
- let true_i = height - shared::consts::render::WALL_HEIGHT_MIN;
- let head: usize = (true_i * shared::consts::display::PROJECTION_PLANE_HEIGHT) as usize;
- let tail: usize = head + shared::consts::display::PROJECTION_PLANE_HEIGHT as usize;
- &WALL_TEXTURE_INDEX[head..tail]
- }
|