2018-08-19 09:46:58 +02:00
# pragma once
# include "..\Global\global.h"
2019-11-25 13:18:24 +01:00
///#define DrawAnimatingItem ((void (__cdecl*)(ITEM_INFO*)) 0x0042B900)
2018-08-19 09:46:58 +02:00
# define GetBoundsAccurate ((short* (__cdecl*)(ITEM_INFO*)) 0x0042CF80)
# define GetBestFrame ((short* (__cdecl*)(ITEM_INFO*)) 0x0042D020)
2019-11-27 15:12:35 +01:00
# define CalcLaraMatrices ((void (__cdecl*)(int)) 0x0041E120)
# define Sync ((int (__cdecl*)()) 0x004D1A40)
2018-08-21 21:07:18 +02:00
# define GetRoomBounds ((void (__cdecl*)()) 0x0042D4F0)
# define UpdateStorm ((void (__cdecl*)()) 0x0042A310)
2019-11-27 15:12:35 +01:00
# define IsRoomOutside ((int (__cdecl*)(int, int, int)) 0x00418E90)
2019-11-12 12:28:54 +01:00
# define DrawBaddieGunFlash ((void (__cdecl*)(ITEM_INFO*)) 0x00466880)
2019-11-27 15:12:35 +01:00
# define sub_42B4C0 ((void (__cdecl*)(ITEM_INFO*,short*)) 0x0042B4C0)
2018-08-19 09:46:58 +02:00
2019-11-27 15:12:35 +01:00
# define InitInterpolate ((void(__cdecl*)(int,int)) 0x0042BE90)
# define phd_PushMatrix ((void(__cdecl*)(void)) 0x0048F9C0)
# define phd_PushMatrix_I ((void(__cdecl*)(void)) 0x0042BF50)
# define phd_PushUnitMatrix ((void (__cdecl*)()) 0x0048FA90)
# define phd_GetVectorAngles ((void(__cdecl*)(int, int, int, short*)) 0x004904B0)
# define phd_RotYXZ ((void(__cdecl*)(short, short, short)) 0x00490150)
# define phd_PutPolygons ((void(__cdecl*)(short*)) 0x004B3F00)
# define phd_PutPolygons_I ((void(__cdecl*)(short*)) 0x0042C3F0)
# define phd_TranslateRel ((void(__cdecl*)(int, int, int)) 0x0048FB20)
# define phd_TranslateRel_I ((void(__cdecl*)(int, int, int)) 0x0042C110)
# define phd_TranslateRel_ID ((void(__cdecl*)(int,int,int,int,int,int)) 0x0042C190)
# define phd_TranslateAbs ((void(__cdecl*)(int, int, int)) 0x004903F0)
# define phd_RotYXZpack ((void(__cdecl*)(int)) 0x0048FEB0)
# define gar_RotYXZsuperpack ((void(__cdecl*)(short**,int)) 0x0042C310)
# define gar_RotYXZsuperpack_I ((void(__cdecl*)(short**,short**,int)) 0x0042C290)
# define phd_ClipBoundingBox ((int(__cdecl*)(short*)) 0x004B7EB0) // int S_GetObjectBounds(frames[0])
# define phd_PopMatrix_I ((void(__cdecl*)(void)) 0x0042BF00)
# define phd_RotY ((void(__cdecl*)(short)) 0x0048FCD0)
# define phd_RotX ((void(__cdecl*)(short)) 0x0048FBE0)
# define phd_RotZ ((void(__cdecl*)(short)) 0x0048FDC0)
# define phd_RotY_I ((void(__cdecl*)(short)) 0x0042BFC0)
# define phd_RotX_I ((void(__cdecl*)(short)) 0x0042C030)
# define phd_RotZ_I ((void(__cdecl*)(short)) 0x0042C0A0)
# define phd_DxTranslateRel ((void(__cdecl*)(int, int, int)) 0x00490790)
# define phd_DxTranslateAbs ((void(__cdecl*)(int, int, int)) 0x00490610)
# define phd_DxRotX ((void(__cdecl*)(short)) 0x00490810)
# define phd_DxRotY ((void(__cdecl*)(short)) 0x004908E0)
# define phd_DxRotZ ((void(__cdecl*)(short)) 0x004909B0)
# define phd_DxRotYXZ ((void(__cdecl*)(int, int, int)) 0x00490AF0)
# define phd_DxRotYXZpack ((void(__cdecl*)(int)) 0x00490A80)
2019-12-13 19:00:59 +01:00
# define mGetAngle ((int(__cdecl*)(int, int, int, int)) 0x0048F290)
# define phd_GenerateW2V ((void(__cdecl*)(PHD_3DPOS*)) 0x0048F330)
2019-12-02 14:49:19 +01:00
int DrawPhaseGame ( ) ;
void DrawAnimatingItem ( ITEM_INFO * item ) ;
int GetFrame_D2 ( ITEM_INFO * item , short * framePtr [ ] , int * rate ) ;
2019-11-27 15:12:35 +01:00
/* phd function (DX11 version) */
// TODO: phd_XX function after this lign is used with DX11 one, when it's finished, delete the #define one and delete this sign: "_" at the beginning of the new function. (delete the unused if needed)
void _InitInterpolate ( void ) ;
void _phd_PushMatrix ( void ) ;
void _phd_PushMatrix_I ( void ) ;
void _phd_PushUnitMatrix ( void ) ;
void _phd_RotYXZ ( short ry , short rx , short rz ) ;
void _phd_RotY ( short ry ) ;
void _phd_RotY_I ( short ry ) ;
void _phd_RotX ( short rx ) ;
void _phd_RotX_I ( short rx ) ;
void _phd_RotZ ( short rz ) ;
void _phd_RotZ_I ( short rz ) ;
void _phd_PutPolygons ( void ) ;
void _phd_PutPolygons_I ( void ) ;
void _phd_TranslateRel ( int x , int y , int z ) ;
void _phd_TranslateRel_I ( int x , int y , int z ) ;
void _phd_TranslateRel_ID ( int x1 , int y1 , int z1 , int x2 , int y2 , int z2 ) ;
void _phd_TranslateAbs ( int x , int y , int z ) ;
void _phd_RotYXZpack ( short ry , short rx , short rz ) ;
void _gar_RotYXZsuperpack ( short * * pproc , int skip ) ;
void _gar_RotYXZsuperpack_I ( short * * pproc1 , short * * pproc2 , int skip ) ;
void _phd_ClipBoundingBox ( short * frames ) ;
void _phd_DxTranslateRel ( int x , int y , int z ) ;
void _phd_DxTranslateAbs ( int x , int y , int z ) ;
void _phd_DxRotY ( short ry ) ;
void _phd_DxRotX ( short rx ) ;
void _phd_DxRotZ ( short rz ) ;
void _phd_DxRotYXZ ( short ry , short rx , short rz ) ;
void _phd_DxRotYXZpack ( int rangle ) ;
void phd_PopMatrix ( void ) ;
void _phd_PopMatrix_I ( void ) ;
void phd_PopDxMatrix ( void ) ;
2018-08-19 09:46:58 +02:00
2019-01-13 21:57:16 +01:00
extern Renderer11 * g_Renderer ;
2018-09-02 09:29:36 +02:00
2018-08-19 09:46:58 +02:00
void Inject_Draw ( ) ;