亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rayrend.h

?? quake 游戲原代碼
?? H
字號:
#include "ray.h"
#include "fixed.h"
#include "rayrt.h"
#include "slopes.h"
#include "globals.h"
#include "abs.h"
#include <stddef.h>
#include "verttan.h"

#define MIN_SLOPE_DIFF 5000
#define MAX_WALL_RUNS 8000
#define MAX_FLOOR_RUNS 4000

extern "C" MYFIXED
Win_Top_Sum, Win_Height_Sum,
Win_Top_Increment, Win_Height_Increment;

extern "C" long cur_angle_diff, intercept;

extern "C" long render_x, render_y, render_z, render_view_angle;

extern "C" MYFIXED vec_int_x, vec_int_y;

extern "C" short WINDOW_LEFT, WINDOW_RIGHT;

extern "C" long rotate_x, rotate_y, rotate_angle;

extern "C" long int_x_diff;

extern "C" long ray_slope;

extern "C" long int_y_diff;

extern "C" floor_run_info * floor_runs;

extern "C" long floor_run_count;

extern "C" wall_run_info * wall_runs;

extern "C" long wall_run_count;

inline short Get_Wall_Texture_Height(ptexture index) {
   return wall[index].height;
}

inline short Get_Floor_Texture_Height(ptexture index) {
   return floortex[index].height;
}

inline short Get_Sprite_Texture_Height(ptexture index) {
   return wall[index].height;
}

inline short Get_Wall_Texture_Width(ptexture index) {
   return wall[index].width;
}

inline short Get_Floor_Texture_Width(ptexture index) {
   return floortex[index].width;
}
inline short Get_Sprite_Texture_Width(ptexture index) {
   return wall[index].width;
}

inline Byte Get_Wall_Texture_Shift(ptexture index) {
   return wall[index].shift;
}

inline Byte Get_Floor_Texture_Shift(ptexture index) {
   return floortex[index].shift;
}

inline Byte Get_Sprite_Texture_Shift(ptexture index) {
   return wall[index].shift;
}

inline Byte * Get_Wall_Texture(ptexture index) {
   return wall[index].images[wall[index].cur_image];
}

inline Byte * Get_Sprite_Texture(ptexture index, short cur_anim) {
   return wall[index].images[cur_anim];
}

inline Byte * Get_Floor_Texture(ptexture index) {
   return floortex[index].images[floortex[index].cur_image];
}

inline Byte SecLight(sector * sec)
{
return (UCHAR)(sec->light & (UCHAR)SEC_LIGHT_MASK);
}

inline Byte SecLTSpeed(sector * sec)
{
return (UCHAR)((sec->light & (UCHAR)SEC_LTSPEED_MASK) >> (UCHAR)SEC_LTSPEED_SHIFT);
}

inline MYFIXED RotateX() {
   return (rotate_x*rcos_table[rotate_angle]+rotate_y*rsin_table[rotate_angle]);
}

inline MYFIXED FixedRotateX() {
   return (fixedmult(rotate_x,rcos_table[rotate_angle])+
        fixedmult(rotate_y,rsin_table[rotate_angle]));
}

inline MYFIXED RotateY() {
   return (rotate_y*rcos_table[rotate_angle]-rotate_x*rsin_table[rotate_angle]);
}

inline MYFIXED FixedRotateY() {
   return (fixedmult(rotate_y,rcos_table[rotate_angle])-
        fixedmult(rotate_x,rsin_table[rotate_angle]));
}

inline short Project(MYFIXED x, MYFIXED y) {
   return (fixedmd(-x, SCALE_FACTOR, y) )+WINDOW_MIDDLEW;
}

inline sector * GetOppSec(seg * cur_seg)
{
sidedef * cur_sd=cur_seg->ld->s[!(short)cur_seg->left_sidedef];
if (cur_sd != NULL) {
   return cur_sd->sec;
} else {
   return NULL;
}
}

inline MYFIXED GetCeilScVal(sector * sec, long distance)
{
if (distance<0)
   return MAXMYFIXED;
if (distance>=(MAXDIS<<SHIFT))
   return (WINDOW_MIDDLE<<SHIFT);
return fixedmult((((render_z-sec->ceil_height)<<SHIFT)+
        fixedmult(distance, vert_angle_tangent)),fixeddiv(y_trans, distance))+
        (WINDOW_MIDDLE << SHIFT);
}

inline MYFIXED GetFloorScVal(sector * sec, long distance)
{
if (distance<0)
   return MAXMYFIXED;
if (distance>=(MAXDIS<<SHIFT))
   return (WINDOW_MIDDLE<<SHIFT);
return fixedmult((((render_z-sec->floor_height)<<SHIFT)+
        fixedmult(distance, vert_angle_tangent)),fixeddiv(y_trans, distance))+
        (WINDOW_MIDDLE << SHIFT);
}

inline MYFIXED GetZScVal(long z, long distance)
{
if (distance<0)
   return MAXMYFIXED;
if (distance>=(MAXDIS<<SHIFT))
   return (WINDOW_MIDDLE<<SHIFT);
return fixedmult((((render_z-z)<<SHIFT)+
        fixedmult(distance, vert_angle_tangent)),fixeddiv(y_trans, distance))+
        (WINDOW_MIDDLE << SHIFT);
}

inline void Setup_Intersection(pvector2 base_v, pvector2 dest_v)
{
   long x_diff, y_diff;
   x_diff=dest_v->x-base_v->x;
   int_x_diff=x_diff;
   y_diff=dest_v->y-base_v->y;
   fixedmult64(y_diff, base_v->x);
   fixedma64(-x_diff, base_v->y);
   int_y_diff=y_diff;
}

inline long Get_Intersection_Y(short ray)
{
ray_slope=Get_Slope(ray);
MYFIXED ray_x_diff=fixedmult(ray_slope,int_y_diff);
   if (ABS(ray_x_diff-int_x_diff)>MIN_SLOPE_DIFF)
      vec_int_y=fixeddiv64(ray_x_diff - int_x_diff);
   else vec_int_y=MAXDIS;
return vec_int_y;
}

inline long Get_Intersection_X()
{
   vec_int_x=fixedmult(vec_int_y, ray_slope);
   return vec_int_x;
}

inline sector * GetSecFromSSec(ssector * cur_ss)
{
   seg * cur_seg=Seg_List+cur_ss->seg_start;
   return (cur_seg->ld->s[(short)cur_seg->left_sidedef]->sec);
}

inline sector * GetSecFromSeg(seg * cur_seg)
{
   return (cur_seg->ld->s[(short)cur_seg->left_sidedef]->sec);
}

void BSP_Recursion_Draw();
void Draw_Sub_Sector(pssector cur_ss);
void Draw_Sub_Sector_Setup();
void Draw_Sub_Sector_Close();
void Translate_Vectors();
void Ray_Caster(long x, long y, long z, long view_angle);
void Render_2d(long x, long y, long view_angle);
void Draw_SS_Sprites(pssector cur_ss);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费的视频| 亚洲激情自拍视频| 免费国产亚洲视频| 欧美性三三影院| 夜夜嗨av一区二区三区网页| 美女精品一区二区| 欧美一级xxx| 美女任你摸久久| 一本久久精品一区二区| 最新欧美精品一区二区三区| 波多野结衣的一区二区三区| 久久综合色播五月| 国产一区二区三区蝌蚪| 欧美v日韩v国产v| 六月丁香综合在线视频| 欧美第一区第二区| 午夜影院在线观看欧美| 日韩一区二区三区av| 日本v片在线高清不卡在线观看| 在线播放91灌醉迷j高跟美女| 亚洲国产精品一区二区久久| 欧美色倩网站大全免费| 五月激情综合婷婷| 日韩欧美国产1| 九九视频精品免费| 国产欧美久久久精品影院| 国产69精品一区二区亚洲孕妇| 中文字幕中文字幕一区二区| 色香蕉成人二区免费| 亚洲精品国产一区二区精华液 | 五月激情丁香一区二区三区| 欧美在线一区二区| 日本美女一区二区三区| 久久久久久日产精品| 不卡视频在线观看| 亚洲一区二区三区中文字幕| 3atv在线一区二区三区| 久久99国产精品久久| 久久精品一区二区三区不卡| 97se狠狠狠综合亚洲狠狠| 亚洲高清免费视频| 26uuu亚洲| 成人午夜激情影院| 亚洲福利视频一区| 26uuuu精品一区二区| www.在线成人| 夜色激情一区二区| 欧美精品一区二区三区蜜臀| 91色乱码一区二区三区| 日本不卡高清视频| 亚洲欧洲日韩综合一区二区| 91麻豆精品国产91久久久更新时间 | 免费久久精品视频| 国产日韩欧美a| 欧美三区免费完整视频在线观看| 国产综合色在线| 亚洲综合小说图片| 久久蜜桃av一区精品变态类天堂 | 午夜视频在线观看一区二区 | 欧美日韩亚洲高清一区二区| 国产乱码精品一区二区三区忘忧草| 亚洲日本在线a| 欧美变态凌虐bdsm| 男男视频亚洲欧美| 亚洲成人动漫精品| 亚洲男人天堂av| 国产精品国产馆在线真实露脸 | 亚洲欧美一区二区三区极速播放| 日韩一区二区三免费高清| 欧美日韩一区高清| 欧美午夜精品一区二区三区| 91久久精品午夜一区二区| 色综合久久久久综合99| 91亚洲精品久久久蜜桃网站| 99精品黄色片免费大全| 一本久久精品一区二区| 91国在线观看| 欧美日韩五月天| 91麻豆精品国产91久久久| 51久久夜色精品国产麻豆| 91精品福利在线一区二区三区 | 99久久精品国产一区二区三区| 国产成人8x视频一区二区| 国产成人8x视频一区二区| 成人免费看黄yyy456| 99精品视频一区二区| 色综合中文字幕| 欧美视频在线观看一区二区| 91精品一区二区三区久久久久久| 欧美一区二区二区| 久久久噜噜噜久久中文字幕色伊伊 | 欧美电影免费观看完整版| 精品国产91久久久久久久妲己| 2023国产精品| 综合中文字幕亚洲| 亚洲影视资源网| 日本中文在线一区| 国产成人av一区二区三区在线 | 91行情网站电视在线观看高清版| 欧美性生活大片视频| 日韩一区二区三区高清免费看看| 久久久久久久久久电影| 亚洲欧美一区二区久久| 亚洲成av人片观看| 国产麻豆成人传媒免费观看| 91啪九色porn原创视频在线观看| 欧美视频中文一区二区三区在线观看| 日韩一区二区三区视频在线观看| 久久精品人人做| 夜夜爽夜夜爽精品视频| 久久精品久久久精品美女| 成人黄色小视频在线观看| 欧美在线色视频| 久久影视一区二区| 亚洲国产乱码最新视频| 国产精品亚洲一区二区三区在线| 91在线丨porny丨国产| 欧美一卡在线观看| 中文字幕一区二区三区av| 日本欧美肥老太交大片| 99在线视频精品| 欧美xfplay| 五月天亚洲精品| 99精品一区二区| wwwwww.欧美系列| 亚欧色一区w666天堂| 盗摄精品av一区二区三区| 在线播放亚洲一区| 亚洲乱码国产乱码精品精的特点| 久久国产精品99久久人人澡| 在线中文字幕不卡| 日本一区二区在线不卡| 欧美aaa在线| 色综合久久久久网| 国产精品无遮挡| 老司机一区二区| 欧美另类久久久品| 亚洲黄色片在线观看| 大胆欧美人体老妇| 日韩丝袜美女视频| 亚洲成a人片在线观看中文| 成人av网站在线观看免费| 日韩精品专区在线影院重磅| 一片黄亚洲嫩模| 97精品久久久午夜一区二区三区 | 粉嫩高潮美女一区二区三区| 欧美一级一级性生活免费录像| 亚洲欧洲综合另类| 成人av手机在线观看| 久久久亚洲欧洲日产国码αv| 日本中文在线一区| 精品视频一区 二区 三区| 尤物在线观看一区| 91色|porny| 亚洲日穴在线视频| 成人免费高清在线| 中文字幕乱码亚洲精品一区| 国产精品综合二区| 久久伊人中文字幕| 国产成人综合自拍| 久久九九99视频| 国产乱人伦偷精品视频不卡| 2020国产成人综合网| 激情综合网天天干| xfplay精品久久| 国产一区二区三区免费在线观看| 欧美成人乱码一区二区三区| 久久精工是国产品牌吗| 精品久久久久久综合日本欧美| 久久超碰97人人做人人爱| 精品久久国产字幕高潮| 黄一区二区三区| 久久久久久97三级| 国产69精品久久久久毛片| 国产精品精品国产色婷婷| 91一区一区三区| 亚洲五码中文字幕| 欧美一区二区私人影院日本| 毛片av一区二区| 久久久精品黄色| 波多野结衣亚洲| 亚洲成人黄色影院| 欧美成人官网二区| 成人性生交大片免费看中文| 日韩一区日韩二区| 欧美日韩久久久| 国精产品一区一区三区mba视频| 国产精品网友自拍| 在线欧美一区二区| 日韩va亚洲va欧美va久久| 久久久久久久国产精品影院| 99riav一区二区三区| 日韩高清不卡在线| 国产欧美一区二区三区鸳鸯浴| 91网站在线观看视频| 日本中文字幕一区二区视频| 欧美国产乱子伦| 欧美日韩久久久| 成人一级片网址| 午夜伊人狠狠久久|