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

📄 avars.pas

📁 3D GameStudio 的Delphi开发包
💻 PAS
字号:
//////////////////////////////////////////////////////////////////////
// Internal engine variables and pointers
// (c) Conitec / JCL 2004
//////////////////////////////////////////////////////////////////////
//
// Delphi Conversion for using the A6_5x Engine done by
// Michal Messerschmidt aka LazyDog of Lazy Dog Software
// (www.LazyDogSoftware.com)
//
// SDK Version 6.50.6
//
// tested on Delphi 5,6,7,2005 & 2006
///////////////////////////////////////////////////////////////////////

// engine & c_script
version,
edition,
compatibility,
logo,			// logo corner, 1..4
nexus,                  // current nexus consumed
event_type,
warn_level,
max_loops,              // WDL only
freeze_mode,
debug_mode,
debug_external,
debug_result,           // not used
last_error : PVar_;
proc_mode,
run_mode,
patch,
result,
max_nexus,	        // -nx command line value
diag_mode : PVar_;
reserved00 : PVar_;

// time & frame
time_step,		// smoothed time of the last frame
time_factor,		// slow motion effect
time_smooth,
time_frame,		// real frametime without slow motion
total_ticks,
total_secs,
total_frames,
fps_max,                // limits fps
fps_min,
fps_lock : PVar_;	// locks time to fps_max
reserved01 : Array[0..2] of PVar_;

time_actions,	        // time in ms for entity actions
time_render,
time_level,
time_entities,
time_effects,
time_pfuncs,
time_portals,
time_sky,
time_client,
time_server,
time_panels,
time_update,
time_physics,
time_total,
time_idle : PVar_;
reserved02 : Array[0..1] of PVar_;

sys_seconds,		// PC local time
sys_minutes,
sys_hours,
sys_day,
sys_month,
sys_year,
sys_dow,
sys_doy : PVar_;
reserved03 : Array[0..5] of PVar_;

// input
enable_joystick,
num_joysticks,
joy_sense : PVar_;
joy_force,
joy_raw,
joy_rot : PVector;
joy_hat : PVar_;
joy2_raw,
joy2_rot : PVector;
joy2_hat : PVar_;
reserved04 : Array[0..2] of PVar_;

enable_mouse,
mouse_mode,
mouse_sense : PVar_;
mouse_force,
mouse_pos,
mouse_spot  : PVector;
mouse_pointer,
mouse_range,
mouse_time,
mouse_moving,
mouse_calm,
mouse_sync,
mouse_valid,
touch_state : PVar_;
mickey,
mouse_cursor,	        // WDL: pointer
mouse_pos3d,
mouse_dir3d : PVector;
reserved05 : Array[0..2] of PVar_;

enable_key,
key_sense : PVar_;
key_force : PVector;
shift_sense,
key_shift,
key_any,
key_lastpressed,
inkey_active : PVar_;
reserved06 : Array[0..2] of PVar_;

// video
video_mode,
video_depth,
video_screen : PVar_;	// 1 = fullscreen, 2 = window
screen_size  : PVector;
screen_color : PColor_;
window_focus : PVar_;
video_gamma  : PVar_;
window_pos   : PVector;
reserved07   : Array[0..2] of PVar_;

// renderer
d3d_caps,
d3d_optimize,
d3d_mode,
d3d_nobsp,
d3d_noents,
d3d_novis,
d3d_notex,
d3d_dither,
d3d_lightres,
d3d_monochrome,
d3d_lines,
d3d_anisotropy,
d3d_vbuffersize,
d3d_lockable,
reserved10,
d3d_autotransparency,
d3d_automaterial,
d3d_shaderversion,
shadow_offset,
shadow_threshold,
shadow_range,
shadow_stencil,
d3d_shadowdepth,
d3d_alphadepth,
shadow_lod,
d3d_texsmaps,
d3d_texbmaps,
d3d_texskins,
d3d_texsurfs,
d3d_textotal,
d3d_texmemory,
d3d_alpharef,
d3d_texfree,
d3d_texdepth,
d3d_texmax,
d3d_texlimit,
d3d_entsort,
d3d_near_sprites,
d3d_mipmapping,
d3d_near_models,
d3d_triplebuffer : PVar_;
d3d_lodfactor,
d3d_pointlightfalloff,
d3d_spotlightfalloff,
d3d_spotlightcone : PVector;
tree_range,
clip_factor,
clip_particles,
clip_size,
floor_range,
particle_mode,
mip_shaded,
mip_flat,
mip_sprites,
shadow_mode,
trace_floor : PVar_;

// level parameters
max_particles,
max_entities,
max_lights : PVar_;
sky_color,
reserved20 : PColor_;
sky_blend : PVar_;
reserved21 : Array[0..1] of PVar_;
sky_scale,
sky_curve,
sky_clip,
terrain_chunk : PVar_;
terrain_skirt,
num_lights,
num_sounds : PVar_;
sun_light : PVar_;
sun_color : PColor_;
sun_angle,
sun_pos   : PVector;
sun_field,
fog_color : PVar_;
d3d_fogcolor1,
d3d_fogcolor2,
d3d_fogcolor3,
d3d_fogcolor4 : PColor_;
turb_speed,
turb_range,
tex_cycles,
detail_size,
pos_resolution,
tex_share,
map_subents : PVar_;

// statistics
num_particles,
num_entities,
num_visents,
num_vismappolys,
num_visentpolys,
num_vistriangles,
num_actions : PVar_;

// multiplayer
connection,
dplay_maxclients,
dplay_sync,
dplay_unreliable,
dplay_smooth,
dplay_localfunction,
dplay_clienttimeout,
dplay_entupdate,
dplay_pingrate,
dplay_entrate,
dplay_packetsize,
reserved61,
dplay_latency,
dplay_bps,
dplay_bpspeak,
dplay_bpsreliable,
dplay_bpsunreliable,
dplay_dropped,
recbuf_size,
dplay_diag : PVar_;
reserved63 : Array[0..5] of PVar_;

// audio
sound_vol,
cdaudio_vol,
midi_vol,
media_handle,
media_layer,
num_mediastreams,
doppler_factor,
master_vol : PVar_;
reserved64 : Array[0..1] of PVar_;

// physics & collision
hull_fatmin,
hull_fatmax,
hull_narrowmin,
hull_narrowmax : PVector;

max_ph_entities,
enable_polycollision,
trace_mode,
move_mode,
move_friction,
input_dist : PVar_;
normal,
bounce,
target,
vglide : PVector;
on_passable,
in_passable,
in_solid,
tex_light : PVar_;
tex_color : PColor_;
tex_fog,
tex_flag1,
tex_flag2,
tex_flag3,
tex_flag4,
tex_flag5,
tex_flag6,
tex_flag7,
tex_flag8,
hitvertex,
terrain_cell_size,
trace_hit,
ph_num_bodies,
ph_num_contacts,
ph_iterations,
ph_fps_max_lock,	// locks physics to fps_max
move_min_z,
disable_z_glide,
move_buffer,
ph_check_distance : PVar_; // min. body movement per fps_max frame before it's checked

// recently added
reserved8 : Array[0..18] of PVar_;

// button states
key_bksp,
key_enter,
key_esc,
key_alt,
key_ctrl,
key_shiftl,
key_shiftr,
key_space,
key_tab,
key_f1,
key_f2,
key_f3,
key_f4,
key_f5,
key_f6,
key_f7,
key_f8,
key_f9,
key_f10,
key_f11,
key_f12,
key_a,
key_b,
key_c,
key_d,
key_e,
key_f,
key_g,
key_h,
key_i,
key_j,
key_k,
key_l,
key_m,
key_n,
key_o,
key_p,
key_q,
key_r,
key_s,
key_t,
key_u,
key_v,
key_w,
key_x,
key_y,	// 'Z' on US keyboards
key_z,	// 'Y' on US keyboards
key_cuu,
key_cud,
key_cur,
key_cul,
key_pgup,
key_pgdn,
key_home,
key_end,
key_ins,
key_del,
key_car,
key_cal,
key_slash,
key_equals,
key_period,
key_comma,
key_brackl,
key_brackr,
key_semic,
key_bksl,
key_apos,
key_minusc,
key_grave,
key_caps,
key_scrlk,
key_plus,
key_sz,
key_ae,
key_ue,
key_oe,
key_1,
key_2,
key_3,
key_4,
key_5,
key_6,
key_7,
key_8,
key_9,
key_0,
key_pause : PVar_;

mouse_left,
mouse_right,
mouse_middle : PVar_;

joy_1,
joy_2,
joy_3,
joy_4,
joy_5,
joy_6,
joy_7,
joy_8,
joy_9,
joy_10,
joy_11,
joy_12 : PVar_;

joy2_1,
joy2_2,
joy2_3,
joy2_4,
joy2_5,
joy2_6,
joy2_7,
joy2_8,
joy2_9,
joy2_10,
joy2_11,
joy2_12 : PVar_;

reserved9 : Array[0..9] of PVar_;

// engine event functions
on_bksp,
on_enter,
on_esc,
on_alt,
on_ctrl,
on_shiftl,
on_shiftr,
on_space,
on_tab,
on_f1,
on_f2,
on_f3,
on_f4,
on_f5,
on_f6,
on_f7,
on_f8,
on_f9,
on_f10,
on_f11,
on_f12,
on_a,
on_b,
on_c,
on_d,
on_e,
on_f,
on_g,
on_h,
on_i,
on_j,
on_k,
on_l,
on_m,
on_n,
on_o,
on_p,
on_q,
on_r,
on_s,
on_t,
on_u,
on_v,
on_w,
on_x,
on_y,		// 'Z' on US keyboards
on_z,		// 'Y' on US keyboards
on_cuu,
on_cud,
on_cur,
on_cul,
on_pgup,
on_pgdn,
on_home,
on_end,
on_ins,
on_del,
on_car,
on_cal,
on_slash,
on_equals,
on_period,
on_comma,
on_brackl,
on_brackr,
on_semic,
on_bksl,
on_apos,
on_minusc,
on_grave,
on_caps,
on_scrlk,
on_plus,
on_sz,
on_ae,
on_ue,
on_oe,
on_1,
on_2,
on_3,
on_4,
on_5,
on_6,
on_7,
on_8,
on_9,
on_0,
on_pause : PPEvent;

on_mouse_left,
on_mouse_right,
on_mouse_middle : PPEvent;

on_joy1,
on_joy2,
on_joy3,
on_joy4,
on_joy5,
on_joy6,
on_joy7,
on_joy8,
on_joy9,
on_joy10,
on_joy11,
on_joy12 : PPEvent;

on_joy2_1,
on_joy2_2,
on_joy2_3,
on_joy2_4,
on_joy2_5,
on_joy2_6,
on_joy2_7,
on_joy2_8,
on_joy2_9,
on_joy2_10,
on_joy2_11,
on_joy2_12 : PPEvent;

on_anykey,
on_click,
on_mouse_stop : PPEvent;

on_close,
on_load,
on_level : PPEvent;

on_server,
on_client : PPEvent;

on_d3d_lost,
on_d3d_reset : PPEvent;

render_sky,
render_world,
render_entities,
render_solid : PPEvent;

on_reserved : Array[0..18] of PPEvent;

// engine pointers ///////////////////////////////////////////////////
camera,			        // predefined view
map_view,		        // not used
render_view : PView;	// currently rendering view

watched,
me,
you,
sky_cube_level,
sky_dome_level,
touched : PEntity;

mouse_map : PBMap;
render_map : Array[0..3] of PBMap;	// current entity textures
render_mesh : Pointer;	// current entity LPD3DXMESH

mtl,			// current material
mat_flat,
mat_shaded,
mat_model,
mat_terrain,
mat_sprite,
mat_particle,
mat_metal,
mat_sky,
mat_shadow,
mat_unlit : PMaterial;

debug_str,
watch_str,
delimit_str,
tex_name,
app_name,		// name of the main script without extension
level_name,
player_name,
session_name,
server_name,
server_ip,
work_dir,
save_dir,
exe_dir : PString;

player : PEntity;
user_name : PString;		// registered user name, 19 chars
passable_ent : PEntity;
path_name,          		// path name of the last opened object file
command_str : PString;		// command line

epunused1 : Array[0..2] of LongInt;

render_d3dmaterial,		        // current LPD3DMATERIAL9
render_d3dxeffect : Pointer;		// current LPD3DXEFFECT
render_material : PMaterial;		// current material containing effect handles
epunused2 : Array[0..7] of LongInt;

// engine matrices
matEffect,
matView,
matViewInv,
matProj,
matWorld : PSingle;

// engine functions //////////////////////////////////////////////////
eunused1 : Array[0..1] of LongInt;
DLLExec : function(n,p1,p2,p3 : LongInt) : LongInt; cdecl;    // DLLLIB internal use only
SendPack : procedure(_to : LongInt; data : Pointer; size,flags : LongInt); cdecl; // the send function of the engine
ReceivePacket : procedure(from : LongInt; data : Pointer; size : LongInt); cdecl; // user provided receive function
ScanMessage : function(message : LongWord; w_param, l_param : LongInt) : LongInt; // user provided message handler
GetObj : function(name : PChar) : LongInt; cdecl;        // DLLLIB internal use only
GetFunc : function(name : PChar) : LongInt; cdecl;       // DLLLIB internal use only
eunused2 : Array[0..1] of LongInt;
CallFunc : function(l1,l2,l3,l4,l5 : LongInt) : LongInt; cdecl; // Call a user defined WDL action
isPointer : Integer;//Boolean;		// TRUE if GetObj returned a pointer rather than the object
EngineFunctions : Pointer;		// Null-terminated ENGINE_FUNCTION list
eunused3 : Array[0..9] of LongInt;

// DirectX interfaces ////////////////////////////////////////////////
pdi : Pointer;			// pointer to the DirectInput object
pdimouse : Pointer;		// pointer to the DirectInput mouse device
pdikbd : Pointer;		// not used - keyboard doesn't use DirectInput
pdijoy : Pointer;		// not used  -joystick doesn't use DirectInput

pdplayclient : Pointer;         // pointer to the DirectPlayClient interface
pdplayserver : Pointer;         // pointer to the DirectPlayServer interface
dunused1 : Array[0..1] of Pointer;	// not used

pds : Pointer;			// pointer to the IDirectSound interface
pdsb : Pointer;			// pointer to the primary IDirectSoundBuffer

pd3d : Pointer;			// pointer to the Direct3D interface
pd3ddev : Pointer;		// pointer to the IDirect3DDevice
hWndMain : HWND; 		// main app window
pd3dcaps : Pointer;		// pointer to the current D3DCAPS9

hInstance : LongInt;	        // app hinstance
hWndTarget : HWND;    		// target window
pRectTarget : PRect;		// target rectangle
dunused2 : Array[0..5] of Pointer;	// not used

pdsbs : Pointer;		// pointer to the recently created secondary IDirectSoundBuffer

⌨️ 快捷键说明

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