/*** * * Copyright (c) 1996-2002, Valve LLC. All rights reserved. * * This product contains software technology licensed from Id * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. * All Rights Reserved. * * Use, distribution, and modification of this source code and/or resulting * object code is restricted to non-commercial enhancements to products from * Valve LLC. All other use, distribution, or modification is prohibited * without written permission from Valve LLC. * ****/ #ifndef REF_PARAMS_H #define REF_PARAMS_H typedef struct ref_params_s { // output vec3_t vieworg; vec3_t viewangles; vec3_t forward; vec3_t right; vec3_t up; // Client frametime; float frametime; // Client time float time; // Misc int intermission; int paused; int spectator; int onground; int waterlevel; vec3_t simvel; vec3_t simorg; vec3_t viewheight; float idealpitch; vec3_t cl_viewangles; int health; vec3_t crosshairangle; float viewsize; vec3_t punchangle; int maxclients; int viewentity; int playernum; int max_entities; int demoplayback; int hardware; int smoothing; // Last issued usercmd struct usercmd_s *cmd; // Movevars struct movevars_s *movevars; int viewport[4]; // the viewport coordinates x, y, width, height int nextView; // the renderer calls ClientDLL_CalcRefdef() and Renderview // so long in cycles until this value is 0 (multiple views) int onlyClientDraw; // if !=0 nothing is drawn by the engine except clientDraw functions } ref_params_t; // same as ref_params but for overview mode typedef struct ref_overview_s { vec3_t origin; qboolean rotated; float xLeft; float xRight; float yTop; float yBottom; float zFar; float zNear; float flZoom; } ref_overview_t; // ref_viewpass_t->flags #define RF_DRAW_WORLD (1<<0) // pass should draw the world (otherwise it's player menu model) #define RF_DRAW_CUBEMAP (1<<1) // special 6x pass to render cubemap\skybox sides #define RF_DRAW_OVERVIEW (1<<2) // overview mode is active #define RF_ONLY_CLIENTDRAW (1<<3) // nothing is drawn by the engine except clientDraw functions // intermediate struct for viewpass (or just a single frame) typedef struct ref_viewpass_s { int viewport[4]; // size of new viewport vec3_t vieworigin; // view origin vec3_t viewangles; // view angles int viewentity; // entitynum (P2: Savior uses this) float fov_x, fov_y; // vertical & horizontal FOV int flags; // if !=0 nothing is drawn by the engine except clientDraw functions } ref_viewpass_t; #endif//REF_PARAMS_H