⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slopes.cpp

📁 quake 游戏原代码
💻 CPP
字号:
#include "ray.h"
#include "globals.h"
#include "rayrend.h"
#include "scrconf.h"

MYFIXED * slope_table;

void Init_Slope_Table() {
  slope_table=(MYFIXED *)NewPtr((Get_Phys_Screen_Width()+1) * sizeof(MYFIXED));
  Recalc_Slope_Table();
}

void Recalc_Slope_Table() {
angle_type start_angle, end_angle;
MYFIXED slope_start, slope_end, slope_sum, slope_increment;

start_angle=Get_Angle_Sum(0, HORIZ_VIEW_RANGE/2);
end_angle=Get_Angle_Difference(0, HORIZ_VIEW_RANGE/2);

slope_start=tan_table[start_angle];
slope_end=tan_table[end_angle];

slope_sum=slope_start;
slope_increment=(slope_end-slope_start)/(WINDOW_WIDTH+1);

for (short cur_ray=0; cur_ray<(WINDOW_WIDTH+1); cur_ray++) {
  slope_table[cur_ray]=slope_sum;
  slope_sum+=slope_increment;
}

}

MYFIXED Get_Slope(short ray) {
  return slope_table[ray];
}

void Clear_Slope_Table() {
if (slope_table!=NULL) {
   DelPtr(slope_table);
   slope_table=NULL;
} /* endif */
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -