📄 afuncs.pas
字号:
//////////////////////////////////////////////////////////////////////
// Acknex engine functions
// (c) Conitec / JCL 2004
//////////////////////////////////////////////////////////////////////
//
// Delphi Conversion for using the A6_5x Engine (acknex.dll) 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
//////////////////////////////////////////////////////////////////////
// Var_ = 22.10 fixed point 32-bit variable, used by C-Script.
// For other languages use the _VAR conversion function
//////////////////////////////////////////////////////////////////////
// var math
function ang(a : Var_) : Var_; cdecl;
function sign(a : Var_) : Var_; cdecl;
function fraction(a : Var_) : Var_; cdecl;
function _integer(a : Var_) : Var_; cdecl;
function _random(a : Var_) : Var_; cdecl;
function randomize() : Var_; cdecl;
function absv(a : Var_) : Var_; cdecl;
function sinv(a : Var_) : Var_; cdecl;
function cosv(a : Var_) : Var_; cdecl;
function tanv(a : Var_) : Var_; cdecl;
function asinv(a : Var_) : Var_; cdecl;
function acosv(a : Var_) : Var_; cdecl;
function atanv(a : Var_) : Var_; cdecl;
function expv(a : Var_) : Var_; cdecl;
function logv(a : Var_) : Var_; cdecl;
function log10v(a : Var_) : Var_; cdecl;
function sqrtv(a : Var_) : Var_; cdecl;
function powv(a,b : Var_) : Var_; cdecl;
function maxv(a,b : Var_) : Var_; cdecl;
function minv(a,b : Var_) : Var_; cdecl;
function fsin(a,b : Var_) : Var_; cdecl;
function fcos(a,b : Var_) : Var_; cdecl;
function ftan(a,b : Var_) : Var_; cdecl;
function fasin(a,b : Var_) : Var_; cdecl;
function facos(a,b : Var_) : Var_; cdecl;
function fatan(a,b : Var_) : Var_; cdecl;
function accelerate(a : PVar_; b,c : Var_) : Var_; cdecl;
function clamp(a,b,c : Var_) : Var_; cdecl;
function cycle(a,b,c : Var_) : Var_; cdecl;
// var vector math
function ang_add(a,b : PAngle) : PAngle; cdecl;
function ang_rotate(a,b : PAngle) : PAngle; cdecl;
function vec_length(a : PVector) : Var_; cdecl;
function vec_dist(a,b : PVector) : Var_; cdecl;
function vec_dot(a,b : PVector) : Var_; cdecl;
function vec_normalize(a : PVector; b : Var_) : PVector; cdecl;
function vec_accelerate(a,b,c : PVector; d : Var_) : PVector; cdecl;
function vec_add(a,b : PVector) : PVector; cdecl;
function vec_diff(a,b,c : PVector) : PVector; cdecl;
function vec_inverse(a : PVector) : PVector; cdecl;
function vec_lerp(a,b,c : PVector; d : Var_) : PVector; cdecl;
function vec_rotate(a : PVector; b : PAngle) : PVector; cdecl;
function vec_scale(a : PVector; b : Var_) : PVector; cdecl;
function vec_set(a,b : PVector) : PVector; cdecl;
function vec_sub(a,b : PVector) : PVector; cdecl;
function vec_for_angle(a : PVector; b : PAngle) : PVector; cdecl;
function vec_to_angle(a : PAngle; b : PVector) : Var_; cdecl;
function vec_for_bone(a : PVector; b : PEntity; bonename : PChar) : PVector; cdecl;
function ang_for_bone(a : PAngle; b : PEntity; bonename : PChar) : PAngle; cdecl;
function vec_for_normal(a : PVector; b : PEntity; c : Var_) : PVector; cdecl;
function vec_for_vertex(a : PVector; b : PEntity; c : Var_) : PVector; cdecl;
function vec_for_min(a : PVector; b : PEntity) : PVector; cdecl;
function vec_for_max(a : PVector; b : PEntity) : PVector; cdecl;
function vec_for_mesh(a : PVector; b : PEntity; c : Var_) : PVector; cdecl;
function vec_to_mesh(a : PVector; b : PEntity; c : Var_) : PVector; cdecl;
function vec_for_uv(a : PVector; b : PEntity; c : Var_) : PVector; cdecl;
function vec_to_uv(a : PVector; b : PEntity; c : Var_) : PVector; cdecl;
function vec_for_screen(a : PVector; b : PView) : PVector; cdecl;
function vec_to_screen(a : PVector; b : PView) : PVector; cdecl;
function rel_for_screen(a : PVector; b : PView) : PVector; cdecl;
function rel_to_screen(a : PVector; b : PView) : PVector; cdecl;
function vector(a,b,c : Var_) : PVector; cdecl;
// float 4x4 matrix math
function mat_identity(a : PSingle) : PSingle; cdecl;
function mat_inverse(a,b : PSingle) : PSingle; cdecl;
function mat_multiply(a,b : PSingle) : PSingle; cdecl;
function mat_scale(a : PSingle; b,c,d : Var_) : PSingle; cdecl;
function mat_set(a,b : PSingle) : PSingle; cdecl;
function mat_transpose(a,b : PSingle) : PSingle; cdecl;
// functions with char* arguments also accept a CScript STRING*.
// To distinguish, the char* must consist of at least 3 characters.
// Otherwise use the _str conversion function.
function str_create(content : PChar) : PString; cdecl;
function str_remove(a : PString) : Var_ cdecl;
function str_cpy(dest : PString; from : PChar) : PString; cdecl;
function str_for_asc(a : PString; b : Var_) : PString; cdecl;
function str_for_num(a : PString; b : Var_) : PString; cdecl;
function str_cat(dest : PString; from : PChar) : PString; cdecl;
function str_cat_num(s1 : PString; s2 : PChar; num : Var_) : PString;
function str_clip(a : PString; b : Var_) : PString; cdecl;
function str_trunc(a : PString; b : Var_) : PString; cdecl;
function str_lwr(a : PString) : PString; cdecl;
function str_upr(a : PString) : PString; cdecl;
function str_cmp(a : PString; b : PChar) : Var_; cdecl;
function str_cmpi(a : PString; b : PChar) : Var_; cdecl;
function str_cmpni(a : PString; b : PChar) : Var_; cdecl;
function str_len(a : PChar) : Var_; cdecl;
function str_stri(a : PString; b : PChar) : Var_; cdecl;
function str_to_asc(a : PChar) : Var_; cdecl;
function str_to_num(a : PChar) : Var_; cdecl;
function str_cursor(a : PString) : Var_; cdecl;
// bitmap
function bmap_create(filename : PChar) : PBMap; cdecl;
function bmap_createblack(width,height,format : Var_) : PBMap; cdecl;
procedure bmap_remove(bmap : PBMap); cdecl;
function bmap_for_entity(a : PEntity; frame : Var_) : PBMap; cdecl;
function bmap_for_screen(a : PBMap; b,c : Var_) : PBMap; cdecl;
function bmap_for_buffer(mode : Var_) : PBMap; cdecl;
function bmap_preload(a : PBMap) : Pointer; cdecl;
function bmap_purge(a : PBMap) : Pointer; cdecl;
function bmap_load(a : PBMap; filename : PChar; flags : Var_) : PBMap; cdecl;
function bmap_save(a : PBMap; filename : PChar) : PBMap; cdecl;
function bmap_to_cubemap(a : PBMap) : PBMap; cdecl;
function bmap_to_mipmap(a : PBMap) : PBMap; cdecl;
function bmap_to_normals(a : PBMap; b : Var_) : PBMap; cdecl;
function bmap_to_uv(a : PBMap) : PBMap; cdecl;
function bmap_to_format(a : PBMap; format : Var_) : PBMap; cdecl;
function bmap_height(a : PBMap) : Var_; cdecl;
function bmap_width(a : PBMap) : Var_; cdecl;
function bmap_lock(a : PBMap; b : Var_) : Var_; cdecl;
function bmap_unlock(a : PBMap) : Var_; cdecl;
function bmap_blit(Dest,Src : PBMap; x,y : Var_) : Var_; cdecl;
function bmap_fill(bmap : PBMap; color : PColor_; alpha : Var_) : Var_; cdecl;
function pixel_for_bmap(a : PBMap; b,c : Var_) : LongInt; cdecl;
function pixel_to_bmap(a : PBMap; x,y : Var_; Pixel : LongInt) : LongInt; cdecl;
function pixel_for_vec(a : PColor_; b,c : Var_) : LongInt; cdecl;
function pixel_to_vec(a : PColor_; b : PVar_; c,d : Var_) : LongInt; cdecl;
// multimedia & movies
function cd_play(from,dest : Var_) : Var_; cdecl;
function cd_pause() : Var_; cdecl;
function cd_start() : Var_; cdecl;
function cd_track() : Var_; cdecl;
function media_play(filename : PChar; target : PBMap; volume : Var_) : Var_; cdecl;
function media_loop(filename : PChar; target : PBMap; volume : Var_) : Var_; cdecl;
function media_pause(handle : Var_) : Var_; cdecl;
function media_playing(handle : Var_) : Var_; cdecl;
function media_start(handle : Var_) : Var_; cdecl;
function media_stop(handle : Var_) : Var_; cdecl;
function media_tune(handle,volume,pitch,balance : Var_) : Var_; cdecl;
// sound
function snd_create(filename : PChar) : PSound; cdecl;
function snd_remove(a : PSound) : Var_; cdecl;
function snd_play(a : PSound; b,c : Var_) : Var_; cdecl;
function snd_loop(a : PSound; b,c : Var_) : Var_; cdecl;
function snd_playing(a : Var_) : Var_; cdecl;
function snd_pause(a : Var_) : Var_; cdecl;
function snd_start(a : Var_) : Var_; cdecl;
function snd_stop(a : Var_) : Var_; cdecl;
function snd_stopall(a : Var_) : Var_; cdecl;
function snd_tune(a,b,c,d : Var_) : Var_; cdecl;
function ent_playloop(a : PEntity; b : PSound; c : Var_) : Var_; cdecl;
function ent_playsound(a : PEntity; b : PSound; c : Var_) : Var_; cdecl;
// collision detection
function c_content(a : PVector; mode : Var_) : Var_; cdecl;
function c_scan(a,b,c : PVector; mode : Var_) : Var_; cdecl;
function c_trace(a,b : PVector; mode : Var_) : Var_; cdecl;
function c_move(a : PEntity; b,c : PVector; mode : Var_) : Var_; cdecl;
function c_rotate(a : PEntity; b : PVector; mode : Var_) : Var_; cdecl;
function c_setminmax(a : PEntity) : Var_; cdecl;
function c_updatehull(a : PEntity; b : Var_) : Var_; cdecl;
function content(a : PVector) : Var_; cdecl;
function trace(a,b : PVector) : Var_; cdecl;
function ent_move(a,b : PVector) : Var_; cdecl;
//physics
function ph_selectgroup(a : Var_) : Var_; cdecl;
function ph_setgravity(a : PVector) : Var_; cdecl;
function ph_setcorrections(a,b : Var_) : Var_; cdecl;
function ph_setcollisions(a,b : Var_) : Var_; cdecl;
function ph_setautodisable(a,b,c,d : Var_) : Var_; cdecl;
function phent_settype(a : PEntity; b,c : Var_) : Var_; cdecl;
function phent_addcentralforce(a : PEntity; force : PVector) : Var_; cdecl;
function phent_addforceglobal(a : PEntity; force,position : PVector) : Var_; cdecl;
function phent_addforcelocal(a : PEntity; force,position : PVector) : Var_; cdecl;
function phent_addvelcentral(a : PEntity; speed : PVector) : Var_; cdecl;
function phent_addvelglobal(a : PEntity; speed,position : PVector) : Var_; cdecl;
function phent_addvellocal(a : PEntity; speed,position : PVector) : Var_; cdecl;
function phent_addtorqueglobal(a : PEntity; b : PVector) : Var_; cdecl;
function phent_addtorquelocal(a : PEntity; b : PVector) : Var_; cdecl;
function phent_getangvelocity(a : PEntity; b : PVector) : Var_; cdecl;
function phent_getvelocity(a : PEntity; b,c : PVector) : Var_; cdecl;
function phent_clearvelocity(a : PEntity) : Var_; cdecl;
function phent_setmass(a : PEntity; b,c : Var_) : Var_; cdecl;
function phent_setfriction(a : PEntity; b : Var_) : Var_; cdecl;
function phent_setmaxspeed(a : PEntity; b,c : Var_) : Var_; cdecl;
function phent_setdamping(a : PEntity; b,c : Var_) : Var_; cdecl;
function phent_enable(a : PEntity; b : Var_) : Var_; cdecl;
function phent_setgroup(a : PEntity; b : Var_) : Var_; cdecl;
function phent_setelasticity(a : PEntity; b,c : Var_) : Var_; cdecl;
function phent_getbounds(a : PEntity; b : Var_; c : PVector) : Var_; cdecl;
function phent_makelocal(a : PEntity; b,c : PVector) : Var_; cdecl;
function phent_addobstruction(a : PEntity; b : Var_; c : PVector) : Var_; cdecl;
function phcon_add(a : Var_; b,c : PEntity) : Var_; cdecl;
function phcon_remove(a : Var_) : Var_; cdecl;
function phcon_setparams1(a : Var_; b,c,d : PVector) : Var_; cdecl;
function phcon_setparams2(a : Var_; b,c,d : PVector) : Var_; cdecl;
function phcon_setmotor(a : Var_; b,c,d : PVector) : Var_; cdecl;
function phcon_getposition(a : Var_; b : PVector) : Var_; cdecl;
function ph_setcontacts(a,b,c,d : PVector) : Var_; cdecl;
// effects, particles, materials
function mtl_create() : PMaterial; cdecl;
function effect(a : PEvent; b : Var_; c,d : PVector) : Var_; cdecl;
function effect_local(a : PEvent; b : Var_; c,d : PVector) : Var_; cdecl;
function effect_cpy(dest,from : PMaterial) : Var_; cdecl;
function effect_load(mtl : PMaterial; filename : PChar) : Var_; cdecl;
function mat_effect(matrix : PSingle) : Var_; cdecl;
// entity
function ent_create(filename : PChar; position : PVector; a : PEvent) : PEntity; cdecl;
function ent_createlocal(filename : PChar; a : PVector; b : PEvent) : PEntity; cdecl;
function ent_createlayer(filename : PChar; flags,layer : Var_) : PEntity; cdecl;
function ent_createterrain(bmap : PBMap; pos,grid : PVector) : PEntity; cdecl;
function ent_next(a : PEntity) : PEntity; cdecl;
function ent_for_name(name : PChar) : PEntity; cdecl;
function str_for_entname(a : PString; b : PEntity) : PString; cdecl;
function str_for_entfile(a : PString; b : PEntity) : PString; cdecl;
function ent_mesh(ent : PEntity; num : Var_) : Pointer cdecl;
function ent_morph(a : PEntity; filename : PChar) : Var_; cdecl;
function ent_morphskin(a : PEntity; filename : PChar) : Var_; cdecl;
function ent_mtlset(a : PEntity; b : PMaterial; skin : Var_) : PMaterial; cdecl;
function ent_preload(a : PEntity) : Var_; cdecl;
function ent_purge(a : PEntity) : Var_; cdecl;
function ent_remove(a : PEntity) : Var_; cdecl;
function ent_animate(a : PEntity; scenename : PChar; b,c : Var_) : Var_; cdecl;
function ent_blend(a : PString; b,c : Var_) : Var_; cdecl;
function ent_blendpose(a : PEntity; b,c,d : Var_) : Var_; cdecl;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -