mirror of
https://github.com/kevinbentley/Descent3.git
synced 2025-01-22 19:55:23 +00:00
0bae89dd05
Update dll typedefs to reflect cfile API changes.
524 lines
27 KiB
C++
524 lines
27 KiB
C++
/*
|
|
* Descent 3
|
|
* Copyright (C) 2024 Parallax Software
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
--- HISTORICAL COMMENTS FOLLOW ---
|
|
|
|
* $Logfile: /DescentIII/Main/Dmfc/dmfcfunctions.cpp $
|
|
* $Revision: 1.1.1.1 $
|
|
* $Date: 2003/08/26 03:57:20 $
|
|
* $Author: kevinb $
|
|
*
|
|
* Function pointers
|
|
*
|
|
* $Log: dmfcfunctions.cpp,v $
|
|
* Revision 1.1.1.1 2003/08/26 03:57:20 kevinb
|
|
* initial 1.5 import
|
|
*
|
|
*
|
|
* 26 8/16/99 5:38p Jeff
|
|
* final updates for patch
|
|
*
|
|
* 25 8/15/99 4:36p Jeff
|
|
* finished exporting all inventory class functions. export object_info
|
|
* array. added check for -nooutragelogo to display Outrage logo display.
|
|
*
|
|
* 24 8/11/99 5:31p Jeff
|
|
* addon tablefile function returns a bool now
|
|
*
|
|
* 23 8/11/99 1:22p Jeff
|
|
* exported needed functions for camera windows
|
|
*
|
|
* 22 7/20/99 11:27a Jeff
|
|
* created functions to fire weapons
|
|
*
|
|
* 21 7/11/99 3:31p Jeff
|
|
* exported game arguments, made command line option to specify
|
|
* autoexec.dmfc
|
|
*
|
|
* 20 7/07/99 12:16p Jeff
|
|
* all mangles symbol names fixed. Finished making interface functions.
|
|
*
|
|
* 19 5/20/99 5:31p Jeff
|
|
* exported PlayerStopSounds
|
|
*
|
|
* 18 5/19/99 11:49p Jeff
|
|
* final preparations for dmfc version 1.0
|
|
*
|
|
* 17 5/19/99 5:27p Jeff
|
|
* fixed some function prototypes
|
|
*
|
|
* 16 5/19/99 2:44a Jeff
|
|
* CreateTextItem has a third parameter
|
|
*
|
|
* 15 5/03/99 8:39a Jeff
|
|
* tons of Entropy fixes
|
|
*
|
|
* 14 4/30/99 7:36p Jeff
|
|
* exported vis_effects to dmfc
|
|
*
|
|
* 13 3/27/99 4:53p Jeff
|
|
* player rankings in multiplayer games implemented. Fixed join message
|
|
* so it doesn't get cut off
|
|
*
|
|
* 12 3/22/99 6:20p Jeff
|
|
* added 2 more audio taunts. a mulitplayer event when someone plays an
|
|
* audio taunt. option to disable audio taunts.
|
|
*
|
|
* 11 3/17/99 12:23p Jeff
|
|
* converted DMFC to be COM interface
|
|
*
|
|
* 10 3/12/99 7:40p Jeff
|
|
* removed enhanced objcreate, added enhanced objsetpos
|
|
*
|
|
* 9 3/11/99 6:30p Jeff
|
|
* numerous fixes to demo system in multiplayer games (when
|
|
* recording/playback a demo in a multiplayer game)
|
|
*
|
|
* 8 3/05/99 1:29p Jeff
|
|
*
|
|
* 7 2/25/99 8:54p Jeff
|
|
* Inventory supports level change persistant items. Inventory supports
|
|
* time-out objects. Inventory Reset changed (takes a level of reset
|
|
* now). Quad lasers stay across level change (single player). Guidebot
|
|
* bug fixed (now back in ship on level start). Quads time out when
|
|
* spewed. Invulnerability and cloak powerups no longer use game
|
|
* event/callbacks, so they can be saved in game saves (moved to
|
|
* MakePlayerInvulnerable and MakeObjectInvisible)
|
|
*
|
|
* 6 2/10/99 11:36p Jeff
|
|
* exported renderer and fvi functions
|
|
*
|
|
* 5 2/08/99 5:22p Jeff
|
|
* exported rend_SetZBuffer...fixed up small view of stats
|
|
*
|
|
* 4 2/08/99 12:06a Jeff
|
|
* exported some new functions and variables
|
|
*
|
|
* 3 2/06/99 6:59p Jeff
|
|
* created RenderHUDGetTextLineWidth and RenderHUDGetTextHeight
|
|
*
|
|
* 2 2/03/99 4:09p Jeff
|
|
* moved function pointers to seperate file. created autoexec.dmfc
|
|
*
|
|
* $NoKeywords: $
|
|
*/
|
|
|
|
#include <filesystem>
|
|
|
|
#include "DMFC.h"
|
|
#include "dmfcinternal.h"
|
|
#include "dmfcinputcommands.h"
|
|
#include "gamedll_header.h"
|
|
|
|
void (*DLLGetGameAPI)(game_api *);
|
|
bool (*DLLAddHUDMessage)(const char *format, ...);
|
|
void (*DLLDebug_ConsolePrintf)(int n, const char *format, ...);
|
|
void (*DLLMultiSendClientExecuteDLL)(int eventnum, int me_objnum, int it_objnum, int to, dllinfo *info);
|
|
void (*DLLMultiSendObject)(object *obj, uint8_t announce, uint8_t demo_record);
|
|
void (*DLLMultiPaintGoalRooms)(int *texcolors);
|
|
void (*DLLMultiSendSpecialPacket)(int slot, uint8_t *outdata, int size);
|
|
void (*DLLComputeRoomCenter)(vector *vp, room *rp);
|
|
int (*DLLGetGoalRoomForTeam)(int teamnum);
|
|
int (*DLLObjCreate)(uint8_t type, uint16_t id, int roomnum, vector *pos, const matrix *orient,
|
|
int parent_handle);
|
|
int (*DLLFindObjectIDName)(const char *name);
|
|
void (*DLLObjSetPosNoMark)(object *objp, vector *newpos, int roomnum, matrix *orient,
|
|
bool f_update_attached_children);
|
|
void (*DLLObjSetPos)(object *objp, vector *newpos, int roomnum, matrix *orient,
|
|
bool f_update_attached_children);
|
|
void (*DLLSetMaxTeams)(int num);
|
|
int (*DLLIncTeamScore)(int team, int amount);
|
|
bool (*DLLInvCheckItem)(int pnum, int type, int id);
|
|
bool (*DLLInvAddTypeID)(int pnum, int type, int id, int aux_type, int aux_id, int flags, const char *description);
|
|
bool (*DLLInvRemove)(int pnum, int type, int id);
|
|
void (*DLLPlayerSetLighting)(int slot, float dist, float r, float g, float b);
|
|
int (*DLLFindShipName)(const char *name);
|
|
void (*DLLPlayerSetRotatingBall)(int slot, int num, float speed, float *r, float *g, float *b);
|
|
void (*DLLPlayerChangeShip)(int slot, int ship_index);
|
|
int (*DLLInvGetTypeIDCount)(int playernum, int type, int id);
|
|
int (*DLLPlay3dSound)(int sound_index, object *cur_obj, float volume, int flags);
|
|
int (*DLLFindSoundName)(const char *str);
|
|
int (*DLLSpewCreate)(spewinfo *spew);
|
|
void (*DLLSpewClearEvent)(int handle, bool force);
|
|
int (*DLLbm_AllocLoadFileBitmap)(const char *filename, int mipped, int format);
|
|
void (*DLLbm_FreeBitmap)(int handle);
|
|
void (*DLLrend_DrawScaledBitmap)(int x1, int y1, int x2, int y2, int bm, float u0, float v0, float u1,
|
|
float v1, float zval, int color, float *alphas);
|
|
void (*DLLgrtext_Printf)(int x, int y, const char *fmt, ...);
|
|
void (*DLLgrtext_Flush)(void);
|
|
void (*DLLgrtext_SetColor)(ddgr_color col);
|
|
void (*DLLgrtext_SetFancyColor)(ddgr_color col1, ddgr_color col2, ddgr_color col3, ddgr_color col4);
|
|
void (*DLLgrtext_SetAlpha)(uint8_t alpha);
|
|
uint8_t (*DLLgrtext_GetAlpha)(void);
|
|
void (*DLLgrtext_SetFont)(int font_handle);
|
|
int (*DLLgrtext_GetFont)(void);
|
|
int (*DLLgrtext_GetTextLineWidth)(const char *str);
|
|
int (*DLLgrfont_GetHeight)(int font);
|
|
void (*DLLgrtext_CenteredPrintf)(int xoff, int y, const char *fmt, ...);
|
|
bool (*DLLAddColoredHUDMessage)(ddgr_color color, const char *format, ...);
|
|
int (*DLLbm_h)(int handle, int miplevel);
|
|
int (*DLLbm_w)(int handle, int miplevel);
|
|
void (*DLLrend_DrawSimpleBitmap)(int bm_handle, int x, int y);
|
|
void (*DLLMultiClientSendSpecialPacket)(uint8_t *outdate, int size);
|
|
bool (*DLLAddBlinkingHUDMessage)(char *format, ...);
|
|
void (*DLLInvReset)(int playernum, bool reset_all);
|
|
void (*DLLAddHUDItem)(tHUDItem *item);
|
|
void (*DLLRenderHUDQuad)(int x, int y, int w, int h, float u0, float v0, float u1, float v1, int bm,
|
|
uint8_t alpha, int sat_count);
|
|
void (*DLLRenderHUDText)(ddgr_color col, uint8_t alpha, int sat_count, int x, int y, const char *fmt, ...);
|
|
void (*DLLMultiEndLevel)(void);
|
|
uint16_t *(*DLLbm_data)(int handle, int miplevel);
|
|
int (*DLLbm_AllocBitmap)(int w, int h, int add_mem);
|
|
void (*DLLrend_FillRect)(ddgr_color color, int x1, int y1, int x2, int y2);
|
|
bool (*DLLbm_CreateChunkedBitmap)(int bm_handle, chunked_bitmap *chunk);
|
|
void (*DLLbm_DestroyChunkedBitmap)(chunked_bitmap *chunk);
|
|
void (*DLLrend_DrawChunkedBitmap)(chunked_bitmap *chunk, int x, int y, uint8_t alpha);
|
|
void (*DLLrend_DrawScaledChunkedBitmap)(chunked_bitmap *chunk, int x, int y, int neww, int newh,
|
|
uint8_t alpha);
|
|
void (*DLLOpenCFILE)(CFILE **handle, const std::filesystem::path &filename, const char *mode);
|
|
void (*DLLcfclose)(CFILE *cfp);
|
|
int (*DLLcfeof)(CFILE *cfp);
|
|
int (*DLLcfexist)(const std::filesystem::path &filename);
|
|
int (*DLLcf_ReadBytes)(uint8_t *buf, int count, CFILE *cfp);
|
|
int (*DLLcf_ReadInt)(CFILE *cfp);
|
|
int16_t (*DLLcf_ReadShort)(CFILE *cfp);
|
|
int8_t (*DLLcf_ReadByte)(CFILE *cfp);
|
|
float (*DLLcf_ReadFloat)(CFILE *cfp);
|
|
double (*DLLcf_ReadDouble)(CFILE *cfp);
|
|
int (*DLLcf_ReadString)(char *buf, size_t n, CFILE *cfp);
|
|
int (*DLLcf_WriteBytes)(const uint8_t *buf, int count, CFILE *cfp);
|
|
int (*DLLcf_WriteString)(CFILE *cfp, const char *buf);
|
|
void (*DLLcf_WriteInt)(CFILE *cfp, int i);
|
|
void (*DLLcf_WriteShort)(CFILE *cfp, int16_t s);
|
|
void (*DLLcf_WriteByte)(CFILE *cfp, int8_t b);
|
|
void (*DLLcf_WriteFloat)(CFILE *cfp, float f);
|
|
void (*DLLcf_WriteDouble)(CFILE *cfp, double d);
|
|
bool (*DLLcf_CopyFile)(char *dest, const char *src);
|
|
bool (*DLLcf_Diff)(const char *a, const char *b);
|
|
void (*DLLMultiDisconnectPlayer)(int slot);
|
|
void (*DLLnw_GetNumbersFromHostAddress)(network_address *address, char *str);
|
|
int (*DLLnw_GetThisIP)(void);
|
|
bool (*DLLCreateStringTable)(const char *filename, char ***table, int *size);
|
|
void (*DLLDestroyStringTable)(char **table, int size);
|
|
void (*DLLRenderHUDTextFlags)(int flags, ddgr_color col, uint8_t alpha, int sat_count, int x, int y, const char *fmt, ...);
|
|
void (*DLLPlayerSetHUDNameFOV)(int fov);
|
|
void (*DLLGetUltimateParentForObject)(object **parent, object *child);
|
|
void (*DLLSetObjectDeadFlagRaw)(object *obj, bool tell_clients_to_remove, bool tell_clients_to_play_sound);
|
|
void (*DLLSetObjectDeadFlag)(object *obj, bool tell_clients_to_remove, bool tell_clients_to_play_sound);
|
|
void (*FatalError)(const char *reason);
|
|
int (*DLLMultiMatchWeapon)(uint32_t unique_id);
|
|
uint32_t (*DLLMultiGetMatchChecksum)(int type, int id);
|
|
int (*DLLFindWeaponName)(const char *name);
|
|
int (*DLLcf_OpenLibrary)(const std::filesystem::path &libname);
|
|
void (*DLLcf_CloseLibrary)(int handle);
|
|
void (*DLLMultiSendRequestToObserve)(int mode, int on, int objnum);
|
|
int (*DLLFindTextureName)(const char *name);
|
|
bool (*DLLApplyDamageToPlayer)(object *playerobj, object *killer, int damage_type, float damage_amount,
|
|
int server_says, int weapon_id, bool playsound);
|
|
int (*DLLMultiMatchGeneric)(uint32_t unique_id);
|
|
void (*DLLSetUITextItemText)(void *uit, char *newtext, uint32_t color);
|
|
void *(*DLLNewUIWindowCreate)(int x, int y, int w, int h, int flags);
|
|
void (*DLLNewUIWindowDestroy)(void *deswin);
|
|
void (*DLLNewUIWindowOpen)(void *deswin);
|
|
void (*DLLNewUIWindowClose)(void *deswin);
|
|
void *(*DLLTextCreate)(void *parentwin, void *textitem, int x, int y, int flags);
|
|
void *(*DLLEditCreate)(void *parentwin, int id, int x, int y, int w, int h, int flags);
|
|
void *(*DLLButtonCreate)(void *parentwin, int id, void *titleitem, int x, int y, int w, int h, int flags);
|
|
void *(*DLLListCreate)(void *parentwin, int id, int x, int y, int w, int h, int flags);
|
|
void (*DLLListRemoveAll)(void *item);
|
|
void (*DLLListAddItem)(void *item, void *uitext);
|
|
void (*DLLListRemoveItem)(void *item, void *txtitem);
|
|
void (*DLLListSelectItem)(void *item, void *txtitem);
|
|
char *(*DLLListGetItem)(void *item, int index);
|
|
int (*DLLListGetSelectedIndex)(void *item);
|
|
void (*DLLListSetSelectedIndex)(void *item, int index);
|
|
void (*DLLEditSetText)(void *item, const char *buff);
|
|
void (*DLLEditGetText)(void *item, char *buff, int len);
|
|
int (*DLLDoUI)(void);
|
|
int (*DLLDoMessageBox)(const char *title, const char *msg, int type, ddgr_color title_color,
|
|
ddgr_color text_color);
|
|
void (*DLLDescentDefer)(void);
|
|
void *(*DLLNewUIGameWindowCreate)(int x, int y, int w, int h, int flags);
|
|
void (*DLLNewUIGameWindowDestroy)(void *item);
|
|
void (*DLLNewUIGameWindowOpen)(void *item);
|
|
void (*DLLNewUIGameWindowClose)(void *item);
|
|
void *(*DLLHotSpotCreate)(void *parentwin, int id, int key, void *txtitemoff, void *txtitemon, int x,
|
|
int y, int w, int h, int flags);
|
|
int (*DLLPollUI)(void);
|
|
void (*DLLRemoveUITextItem)(void *item);
|
|
void *(*DLLCreateNewUITextItem)(const char *newtext, uint32_t color, int font);
|
|
void (*DLLRemoveUIBmpItem)(void *item);
|
|
void *(*DLLCreateNewUIBmpItem)(int handle, uint8_t alpha);
|
|
void *(*DLLUIConsoleGadgetCreate)(void *parentid, int id, int x, int y, int font, int cols, int rows,
|
|
int flags);
|
|
void (*DLLUIConsoleGadgetputs)(void *item, const char *str);
|
|
void (*DLLNewUIWindowSetFocusOnEditGadget)(void *item, void *parent);
|
|
void *(*DLLOldListCreate)(void *parentitem, int id, int x, int y, int w, int h, int flags);
|
|
void (*DLLOldListRemoveAll)(void *item);
|
|
void (*DLLOldListAddItem)(void *item, void *uitext);
|
|
void (*DLLOldListRemoveItem)(void *item, void *txtitem);
|
|
void (*DLLOldListSelectItem)(void *item, void *txtitem);
|
|
void *(*DLLOldEditCreate)(void *parentitem, int id, int x, int y, int w, int h, int flags);
|
|
void (*DLLOldEditGetText)(void *item, char *buff, int len);
|
|
void (*DLLOldEditSetText)(void *item, const char *newtext);
|
|
char *(*DLLOldListGetItem)(void *item, int index);
|
|
int (*DLLOldListGetSelectedIndex)(void *item);
|
|
void (*DLLToggleUICallback)(int state);
|
|
void (*DLLSetOldEditBufferLen)(void *item, int len);
|
|
void (*DLLNewUIWindowLoadBackgroundImage)(void *item, const char *image_name);
|
|
void (*DLLDeleteUIItem)(void *delitem);
|
|
void (*DLLHotSpotSetStates)(void *hs, void *texton, void *textoff);
|
|
void (*DLLSetUICallback)(void (*fn)());
|
|
void (*DLLGetUICallback)(void **fn);
|
|
void (*DLLSuspendControls)(void);
|
|
void (*DLLResumeControls)(void);
|
|
void (*DLLShowCursor)(void);
|
|
void (*DLLHideCursor)(void);
|
|
void (*DLLGameFrame)(void);
|
|
void (*DPrintf)(const char *format, ...);
|
|
void (*DLLassert)(int, const char *, const char *, int);
|
|
void (*DLLddio_SplitPath)(const char *srcPath, char *path, char *filename, char *ext);
|
|
void (*DLLddio_MakePath)(char *newPath, const char *absolutePathHeader, const char *subDir, ...);
|
|
int (*DLLPlay2dSound)(int sound_index, float volume);
|
|
void (*DLLTouchSound)(int sound_index);
|
|
bool (*DatabaseRead1)(const char *label, char *entry, int *entrylen);
|
|
bool (*DatabaseRead2)(const char *label, void *entry, int wordsize);
|
|
bool (*DatabaseRead3)(const char *label, bool *entry);
|
|
bool (*DatabaseWrite1)(const char *label, const char *entry, int entrylen);
|
|
bool (*DatabaseWrite2)(const char *label, int entry);
|
|
bool (*DLLAttachObject)(object *parent, char parent_ap, object *child, char child_ap, bool f_use_aligned);
|
|
bool (*DLLObjGet)(int handle, object **obj);
|
|
int (*DLLGetUIItemWidth)(void *item);
|
|
int (*DLLGetUIItemHeight)(void *item);
|
|
void *(*DLLSliderCreate)(void *parent, int id, int x, int y, int flags);
|
|
void (*DLLSliderSetRange)(void *slider, int range);
|
|
int (*DLLSliderGetRange)(void *slider);
|
|
void (*DLLSliderSetPos)(void *slider, int pos);
|
|
int (*DLLSliderGetPos)(void *slider);
|
|
void (*DLLSliderSetSelectChangeCallback)(void *slider, void (*fn)(int));
|
|
void (*DLLSliderSetSelectChangeCallbackWData)(void *slider, void (*fn)(int, void *), void *ptr);
|
|
void (*DLLTextSetTitle)(void *text, void *textitem);
|
|
bool (*DLLPPic_GetPilot)(uint16_t pilot_id, char *pilot_name, int buffersize);
|
|
int (*DLLPPic_GetBitmapHandle)(uint16_t pilot_id);
|
|
void (*DLLrend_DrawLine)(int x1, int y1, int x2, int y2);
|
|
void (*DLLrend_SetFlatColor)(ddgr_color color);
|
|
void (*DLLMultiSetLogoState)(bool state);
|
|
void (*DLLPlayerSpewInventory)(object *obj, bool spew_energy_and_shield, bool spew_nonspewable);
|
|
int (*DLLPlayerGetRandomStartPosition)(int slot);
|
|
void (*DLLInitPlayerNewShip)(int slot, int inven_reset);
|
|
void *(*DLLCheckBoxCreate)(void *parent, int id, void *title, int x, int y, int w, int h, int flags);
|
|
void (*DLLCheckBoxSetCheck)(void *cb, bool state);
|
|
bool (*DLLCheckBoxIsChecked)(void *cb);
|
|
uint32_t (*DLLnw_GetHostAddressFromNumbers)(char *str);
|
|
void (*TableFilesClear)(void);
|
|
bool (*TableFileAdd)(char *filename);
|
|
void (*DLLDebugBreak_callback_stop)(void);
|
|
void (*DLLDebugBreak_callback_resume)(void);
|
|
void (*DLLInt3MessageBox)(const char *file, const char *line);
|
|
void (*DLLGetUIItemPosition)(void *item, int *x, int *y, int *w, int *h);
|
|
bool (*DLLAttachObjectRadius)(object *parent, char parent_ap, object *child, float percent_rad);
|
|
bool (*DLLUnattachChildren)(object *parent);
|
|
bool (*DLLUnattachChild)(object *parent, char parent_ap);
|
|
bool (*DLLUnattachFromParent)(object *child);
|
|
float (*DLLvm_GetMagnitude)(vector *);
|
|
void (*DLLvm_MatrixMulVector)(vector *, vector *, matrix *);
|
|
void (*DLLphys_apply_force)(object *obj, vector *force_vec, int16_t weapon_index);
|
|
void (*DLLphys_apply_rot)(object *obj, vector *force_vec);
|
|
void (*DLLvm_TransposeMatrix)(matrix *);
|
|
void (*DLLvm_CrossProduct)(vector *, vector *, vector *);
|
|
float (*DLLvm_NormalizeVector)(vector *);
|
|
void (*DLLConvertEulerToAxisAmount)(vector *e, vector *n, float *w);
|
|
void (*DLLConvertAxisAmountToEuler)(vector *n, float *w, vector *e);
|
|
float (*DLLvm_GetMagnitudeFast)(vector *);
|
|
void (*DLLvm_MakeIdentity)(matrix *);
|
|
void (*DLLvm_MakeVectorZero)(vector *v);
|
|
void (*DLLvm_MakeAngleZero)(angvec *a);
|
|
void (*DLLvm_VectorMulTMatrix)(vector *result, vector *v, matrix *m);
|
|
void (*DLLvm_MatrixMul)(matrix *, matrix *, matrix *);
|
|
void (*DLLvm_MatrixMulTMatrix)(matrix *dest, matrix *src0, matrix *src1);
|
|
float (*DLLvm_DotProduct)(vector *, vector *);
|
|
void (*DLLvm_SubVectors)(vector *, const vector *, const vector *);
|
|
void (*DLLvm_AddVectors)(vector *, vector *, vector *);
|
|
void (*DLLvm_AverageVector)(vector *, int);
|
|
void (*DLLvm_ScaleVector)(vector *, vector *, float);
|
|
void (*DLLvm_ScaleAddVector)(vector *d, vector *p, vector *v, float s);
|
|
void (*DLLvm_DivVector)(vector *, vector *, float);
|
|
float (*DLLvm_NormalizeVectorFast)(vector *);
|
|
void (*DLLvm_ClearMatrix)(matrix *);
|
|
void (*DLLvm_AnglesToMatrix)(matrix *, angle p, angle h, angle b);
|
|
void (*DLLvm_Orthogonalize)(matrix *m);
|
|
void (*DLLvm_VectorToMatrix)(matrix *m, vector *fvec, vector *uvec, vector *rvec);
|
|
void (*DLLvm_VectorAngleToMatrix)(matrix *m, vector *v, angle a);
|
|
void (*DLLvm_SinCos)(angle, float *, float *);
|
|
float (*DLLvm_GetSlope)(float, float, float, float);
|
|
void (*DLLvm_GetPerp)(vector *n, vector *a, vector *b, vector *c);
|
|
float (*DLLvm_GetNormal)(vector *n, vector *v0, vector *v1, vector *v2);
|
|
float (*DLLvm_VectorDistance)(const vector *a, const vector *b);
|
|
float (*DLLvm_VectorDistanceQuick)(vector *a, vector *b);
|
|
float (*DLLvm_GetNormalizedDir)(vector *dest, vector *end, vector *start);
|
|
float (*DLLvm_GetNormalizedDirFast)(vector *dest, vector *end, vector *start);
|
|
angvec *(*DLLvm_ExtractAnglesFromMatrix)(angvec *a, matrix *m);
|
|
angle (*DLLvm_DeltaAngVec)(vector *v0, vector *v1, vector *fvec);
|
|
angle (*DLLvm_DeltaAngVecNorm)(vector *v0, vector *v1, vector *fvec);
|
|
float (*DLLvm_DistToPlane)(vector *checkp, vector *norm, vector *planep);
|
|
float (*DLLvm_CalcDetValue)(matrix *det);
|
|
void (*DLLvm_MakeInverseMatrix)(matrix *dest);
|
|
void (*DLLvm_SinCosToMatrix)(matrix *m, float sinp, float cosp, float sinb, float cosb, float sinh,
|
|
float cosh);
|
|
float (*DLLvm_GetCentroid)(vector *centroid, vector *src, int nv);
|
|
void (*DLLvm_MakeRandomVector)(vector *vec);
|
|
float (*DLLvm_ComputeBoundingSphere)(vector *center, vector *vecs, int num_verts);
|
|
float (*DLLvm_GetCentroidFast)(vector *centroid, vector *src, int nv);
|
|
int (*DLLRenderHUDGetTextLineWidth)(const char *string);
|
|
int (*DLLRenderHUDGetTextHeight)(const char *string);
|
|
void (*DLLStartFrame)(int x, int y, int x2, int y2, bool clear);
|
|
void (*DLLEndFrame)(void);
|
|
void (*DLLResetFacings)(void);
|
|
void (*DLLGameRenderWorld)(object *viewer, vector *viewer_eye, int viewer_roomnum, matrix *viewer_orient,
|
|
float zoom, bool rear_view);
|
|
bool (*DLLGetFrameParameters)(int *x1, int *y1, int *x2, int *y2);
|
|
void (*DLLrend_SetZBufferState)(int8_t state);
|
|
void (*DLLrend_SetLighting)(light_state);
|
|
void (*DLLrend_SetColorModel)(color_model);
|
|
void (*DLLrend_SetTextureType)(texture_type);
|
|
void (*DLLrend_DrawPolygon)(int handle, g3Point **p, int nv, int map_type);
|
|
void (*DLLrend_SetMipState)(int8_t);
|
|
void (*DLLrend_SetFogState)(int8_t on);
|
|
void (*DLLrend_SetFiltering)(int8_t state);
|
|
void (*DLLrend_SetOverlayMap)(int handle);
|
|
void (*DLLrend_SetOverlayType)(uint8_t type);
|
|
void (*DLLrend_ClearScreen)(ddgr_color color);
|
|
void (*DLLrend_SetPixel)(ddgr_color color, int x, int y);
|
|
ddgr_color (*DLLrend_GetPixel)(int x, int y);
|
|
void (*DLLrend_FillCircle)(ddgr_color col, int x, int y, int rad);
|
|
void (*DLLrend_DrawCircle)(int x, int y, int rad);
|
|
void (*DLLrend_SetAlphaType)(int8_t);
|
|
void (*DLLrend_SetAlphaValue)(uint8_t val);
|
|
void (*DLLrend_SetWrapType)(wrap_type val);
|
|
void (*DLLrend_SetZBias)(float z_bias);
|
|
void (*DLLrend_SetZBufferWriteMask)(int state);
|
|
void (*DLLrend_GetLFBLock)(renderer_lfb *lfb);
|
|
void (*DLLrend_ReleaseLFBLock)(renderer_lfb *lfb);
|
|
void (*DLLrend_DrawLFBBitmap)(int sx, int sy, int w, int h, int dx, int dy, uint16_t *data, int rowsize);
|
|
void (*DLLrend_DrawSpecialLine)(g3Point *p0, g3Point *p1);
|
|
int (*DLLfvi_FindIntersection)(fvi_query *fq, fvi_info *hit_data, bool no_subdivision);
|
|
int (*DLLfvi_QuickDistFaceList)(int init_room_index, vector *pos, float rad,
|
|
fvi_face_room_list *quick_fr_list, int max_elements);
|
|
int (*DLLfvi_QuickDistCellList)(int init_cell_index, vector *pos, float rad, int *quick_cell_list,
|
|
int max_elements);
|
|
int (*DLLfvi_QuickDistObjectList)(vector *pos, int init_roomnum, float rad, int16_t *object_index_list,
|
|
int max_elements, bool f_lightmap_only, bool f_only_players_and_ais,
|
|
bool f_include_non_collide_objects, bool f_stop_at_closed_doors);
|
|
bool (*DLLfvi_QuickRoomCheck)(vector *pos, room *cur_room, bool try_again);
|
|
bool (*DLLtaunt_AreEnabled)(void);
|
|
void (*DLLtaunt_Enable)(bool enable);
|
|
int (*GetPlayerRankIndex)(int pnum, char *rankbuf);
|
|
int (*DLLVisEffectAllocate)(void);
|
|
int (*DLLVisEffectFree)(int visnum);
|
|
int (*DLLVisEffectInitType)(vis_effect *vis);
|
|
int (*DLLVisEffectCreate)(uint8_t type, uint8_t id, int roomnum, vector *pos);
|
|
void (*DLLVisEffectLink)(int visnum, int roomnum);
|
|
void (*DLLVisEffectUnlink)(int visnum);
|
|
void (*DLLVisEffectRelink)(int visnum, int newroomnum);
|
|
void (*DLLVisEffectDelete)(int visnum);
|
|
void (*DLLCreateRandomSparks)(int num_sparks, vector *pos, int roomnum, int which_index,
|
|
float force_scalar);
|
|
void (*DLLCreateRandomLineSparks)(int num_sparks, vector *pos, int roomnum, uint16_t color,
|
|
float force_scalar);
|
|
int (*DLLVisEffectCreateControlled)(uint8_t type, object *parent, uint8_t id, int roomnum, vector *pos,
|
|
float lifetime, vector *velocity, int phys_flags, float size,
|
|
float mass, float drag, bool isreal);
|
|
void (*DLLCreateRandomParticles)(int num_sparks, vector *pos, int roomnum, int bm_handle, float size,
|
|
float life);
|
|
void (*DLLAttachRandomNapalmEffectsToObject)(object *obj);
|
|
void (*DLLInitObjectScripts)(object *objp, bool do_evt_created);
|
|
void (*DLLg3_StartFrame)(vector *view_pos, matrix *view_matrix, float zoom);
|
|
void (*DLLg3_EndFrame)(void);
|
|
void (*DLLg3_GetViewPosition)(vector *vp);
|
|
void (*DLLg3_GetViewMatrix)(matrix *mat);
|
|
void (*DLLg3_GetUnscaledMatrix)(matrix *mat);
|
|
void (*DLLg3_StartInstanceMatrix)(vector *pos, matrix *orient);
|
|
void (*DLLg3_StartInstanceAngles)(vector *pos, angvec *angles);
|
|
void (*DLLg3_DoneInstance)();
|
|
bool (*DLLg3_CheckNormalFacing)(vector *v, vector *norm);
|
|
uint8_t (*DLLg3_RotatePoint)(g3Point *dest, vector *src);
|
|
void (*DLLg3_ProjectPoint)(g3Point *point);
|
|
float (*DLLg3_CalcPointDepth)(vector *pnt);
|
|
void (*DLLg3_Point2Vec)(vector *v, int16_t sx, int16_t sy);
|
|
uint8_t (*DLLg3_CodePoint)(g3Point *point);
|
|
vector *(*DLLg3_RotateDeltaX)(vector *dest, float dx);
|
|
vector *(*DLLg3_RotateDeltaY)(vector *dest, float dy);
|
|
vector *(*DLLg3_RotateDeltaZ)(vector *dest, float dz);
|
|
vector *(*DLLg3_RotateDeltaVec)(vector *dest, vector *src);
|
|
uint8_t (*DLLg3_AddDeltaVec)(g3Point *dest, g3Point *src, vector *deltav);
|
|
int (*DLLg3_DrawPoly)(int nv, g3Point **pointlist, int bm, int map_type, g3Codes *clip_codes);
|
|
void (*DLLg3_DrawSphere)(ddgr_color color, g3Point *pnt, float rad);
|
|
void (*DLLg3_CheckAndDrawPoly)(int nv, g3Point **pointlist, int bm, vector *norm, vector *pnt);
|
|
void (*DLLg3_DrawLine)(ddgr_color color, g3Point *p0, g3Point *p1);
|
|
void (*DLLg3_DrawBitmap)(vector *pos, float width, float height, int bm, int color);
|
|
void (*DLLg3_DrawRotatedBitmap)(vector *pos, angle rot_angle, float width, float height, int bm,
|
|
int color);
|
|
void (*DLLg3_DrawBox)(ddgr_color color, g3Point *pnt, float rad);
|
|
void (*DLLg3_SetCustomClipPlane)(uint8_t state, vector *pnt, vector *normal);
|
|
void (*DLLg3_SetFarClipZ)(float z);
|
|
g3Point **(*DLLg3_ClipPolygon)(g3Point **pointlist, int *nv, g3Codes *cc);
|
|
void (*DLLg3_FreeTempPoints)(g3Point **pointlist, int nv);
|
|
void (*DLLg3_GetMatrixScale)(vector *matrix_scale);
|
|
void (*DLLg3_SetTriangulationTest)(int state);
|
|
void (*DLLg3_DrawSpecialLine)(g3Point *p0, g3Point *p1);
|
|
void (*DLLg3_DrawPlanarRotatedBitmap)(vector *pos, vector *norm, angle rot_angle, float width,
|
|
float height, int bm);
|
|
void (*DLLPlayerStopSounds)(int slot);
|
|
int (*DLLFindArg)(const char *which);
|
|
int (*DLLFireWeaponFromObject)(object *obj, int weapon_num, int gun_num, bool f_force_forward,
|
|
bool f_force_target);
|
|
int (*DLLCreateAndFireWeapon)(vector *pos, vector *dir, object *parent, int weapon_num);
|
|
void (*DLLSelectNextCameraView)(int window);
|
|
bool (*Inven_Add)(Inventory *inven, int type, int id, object *parent, int aux_type, int aux_id, int flags,
|
|
char *description);
|
|
bool (*Inven_AddObject)(Inventory *inven, int object_handle, int flags, char *description);
|
|
bool (*Inven_AddCounterMeasure)(Inventory *inven, int id, int aux_type, int aux_id, int flags,
|
|
char *description);
|
|
bool (*Inven_Remove)(Inventory *inven, int type, int id);
|
|
bool (*Inven_Use)(Inventory *inven, int type, int id, object *parent);
|
|
bool (*Inven_UseObjHandle)(Inventory *inven, int objhandle, object *parent);
|
|
int (*Inven_Size)(Inventory *inven);
|
|
bool (*Inven_CheckItem)(Inventory *inven, int type, int id);
|
|
void (*Inven_Reset)(Inventory *inven, bool in_game, int reset_stage);
|
|
void (*Inven_ResetPos)(Inventory *inven);
|
|
void (*Inven_NextPos)(Inventory *inven, bool skip);
|
|
void (*Inven_PrevPos)(Inventory *inven, bool skip);
|
|
bool (*Inven_GetPosTypeID)(Inventory *inven, int &type, int &id);
|
|
bool (*Inven_GetAuxPosTypeID)(Inventory *inven, int &type, int &id);
|
|
char *(*Inven_GetPosDescription)(Inventory *inven);
|
|
char *(*Inven_GetPosIconName)(Inventory *inven);
|
|
char *(*Inven_GetPosName)(Inventory *inven);
|
|
bool (*Inven_GetPosInfo)(Inventory *inven, uint16_t &iflags, int &flags);
|
|
int (*Inven_GetPosCount)(Inventory *inven);
|
|
bool (*Inven_AtBeginning)(Inventory *inven);
|
|
bool (*Inven_AtEnd)(Inventory *inven);
|
|
void (*Inven_GotoPos)(Inventory *inven, int newpos);
|
|
void (*Inven_GotoPosTypeID)(Inventory *inven, int type, int id);
|
|
bool (*Inven_UsePos)(Inventory *inven, object *parent);
|
|
int (*Inven_GetPos)(Inventory *inven);
|
|
void (*Inven_ValidatePos)(Inventory *inven, bool forward);
|
|
bool (*Inven_IsSelectable)(Inventory *inven);
|
|
bool (*Inven_IsUsable)(Inventory *inven);
|
|
int (*Inven_GetTypeIDCount)(Inventory *inven, int type, int id);
|
|
bool (*Inven_FindPos)(Inventory *inven, int type, int id);
|
|
int (*Inven_GetInventoryItemList)(Inventory *inven, tInvenList *list, int max_amount, int *cur_sel);
|