📄 global.h
字号:
#pragma once
//#ifndef GLOBAL_H
//#define GLOBAL_H
#ifndef GLOBAL_FUNC_DLL
#define GLOBAL_FUNC_DLL extern "C" __declspec(dllimport)
#endif
#include "../4DyuchiGRX_common/typedef.h"
#include "type.h"
//#include "../4DyuchiGRX_common/math.inl"
#define IN
#define OUT
#ifndef _MAX_EXP
GLOBAL_FUNC_DLL float __stdcall Sin(float x);
GLOBAL_FUNC_DLL float __stdcall Cos(float x);
GLOBAL_FUNC_DLL float __stdcall ACos(float x);
GLOBAL_FUNC_DLL float __stdcall ASin(float x);
#endif
GLOBAL_FUNC_DLL BOOL __stdcall ClipRenderObjectWithViewVolume(VIEW_VOLUME* pVolume,COLLISION_MESH_OBJECT_DESC* pColMeshObjDesc,DWORD dwFlag);
GLOBAL_FUNC_DLL DWORD __stdcall ClipLightWithRS(LIGHT_INDEX_DESC* pbLightIndexArrayResult,COLLISION_MESH_OBJECT_DESC* pColMeshDesc,LIGHT_DESC* pLightDescIn,DWORD dwLightNum,BYTE bStartIndex);
GLOBAL_FUNC_DLL BOOL __stdcall CalcIntersectPointLineAndPlane(VECTOR3* pv3Result,PLANE* pPlane,VECTOR3* pv3From,VECTOR3* pv3To, float* pft);
GLOBAL_FUNC_DLL void __stdcall SET_VECTOR3(VECTOR3* pv3,float fVal);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_ADD_VECTOR3(VECTOR3* pv3Result,VECTOR3* pv3Arg1,VECTOR3* pv3Arg2);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_SUB_VECTOR3(VECTOR3* pv3Result,VECTOR3* pv3Arg1,VECTOR3* pv3Arg2);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_MUL_VECTOR3(VECTOR3* pv3Result,VECTOR3* pv3Arg1,VECTOR3* pv3Arg2);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_DIV_VECTOR3(VECTOR3* pv3Result,VECTOR3* pv3Arg1,VECTOR3* pv3Arg2);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_ADDEQU_VECTOR3(VECTOR3* pv3Result,VECTOR3* pv3Arg1);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_SUBEQU_VECTOR3(VECTOR3* pv3Result,VECTOR3* pv3Arg1);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_MULEQU_VECTOR3(VECTOR3* pv3Result,VECTOR3* pv3Arg1);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_DIVEQU_VECTOR3(VECTOR3* pv3Result,VECTOR3* pv3Arg1);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_ADDEQU_FLOAT(VECTOR3* pv3Result,float fVal);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_SUBEQU_FLOAT(VECTOR3* pv3Result,float fVal);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_MULEQU_FLOAT(VECTOR3* pv3Result,float fVal);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_DIVEQU_FLOAT(VECTOR3* pv3Result,float fVal);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_ADD_FLOAT(VECTOR3* pv3Result,VECTOR3* pv3Arg1,float fVal);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_SUB_FLOAT(VECTOR3* pv3Result,VECTOR3* pv3Arg1,float fVal);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_MUL_FLOAT(VECTOR3* pv3Result,VECTOR3* pv3Arg1,float fVal);
GLOBAL_FUNC_DLL void __stdcall VECTOR3_DIV_FLOAT(VECTOR3* pv3Result,VECTOR3* pv3Arg1,float fVal);
GLOBAL_FUNC_DLL void __stdcall FindNearestVertexOnLine(VECTOR3* OUT pv3Result ,float* OUT pT, VECTOR3* IN pv3From, VECTOR3* IN pv3To, VECTOR3* IN pv3Point);
GLOBAL_FUNC_DLL float __stdcall VECTOR3Length(VECTOR3* pv3);
GLOBAL_FUNC_DLL void __stdcall MakeViewVolume(VIEW_VOLUME* pViewVolume,VECTOR3* pv3From,VECTOR3* pv3To,VECTOR3* pv3Up, float fov, float fHVRatio, float fFar);
GLOBAL_FUNC_DLL void __stdcall MakeViewVolumeWithOrtho(VIEW_VOLUME* pViewVolume,VECTOR3* pv3From,VECTOR3* pv3To,VECTOR3* pv3Up, float fWidth, float fHVRatio, float fFar);
GLOBAL_FUNC_DLL void __stdcall CrossProduct(VECTOR3* r,VECTOR3* u,VECTOR3* v);
GLOBAL_FUNC_DLL float __stdcall DotProduct(VECTOR3* pv3_0,VECTOR3* pv3_1);
GLOBAL_FUNC_DLL void __stdcall Normalize(VECTOR3* OUT vn,VECTOR3* IN v);
GLOBAL_FUNC_DLL float __stdcall CalcAngle(VECTOR3* vec1, VECTOR3* vec2);
GLOBAL_FUNC_DLL float __stdcall CalcCosAngle(VECTOR3* vec1, VECTOR3* vec2);
GLOBAL_FUNC_DLL float __stdcall CalcDistance(VECTOR3* pv3Start,VECTOR3* pv3End);
GLOBAL_FUNC_DLL BOOL __stdcall IsCollisionSpherAndSphere(VECTOR3* pv3PointTarget,float fRsTarget,VECTOR3* pv3PointSrc,float fRsSrc);
GLOBAL_FUNC_DLL BOOL __stdcall SetIdentityMatrix(MATRIX4* pMat);
GLOBAL_FUNC_DLL BOOL __stdcall SetInverseMatrix(MATRIX4* q, MATRIX4* a );
GLOBAL_FUNC_DLL void __stdcall TransformVector3_VPTR1(VECTOR3* pv3SrcDest, MATRIX4* pMat,DWORD dwNum);
GLOBAL_FUNC_DLL void __stdcall TransformVector3_VPTR2(VECTOR3* pv3Dest,VECTOR3* pv3Src, MATRIX4* pMat,DWORD dwNum);
GLOBAL_FUNC_DLL void __stdcall TransformVector4_VPTR2(VECTOR4* pv3Dest,VECTOR4* pv3Src, MATRIX4* pMat,DWORD dwNum);
GLOBAL_FUNC_DLL void __stdcall TransformV3TOV4(VECTOR4* pv3Dest,VECTOR3* pv3Src, MATRIX4* pMat,DWORD dwNum);
GLOBAL_FUNC_DLL void __stdcall TransformNSizeVector3_VPTR1(char* pv3SrcDest,DWORD dwSize,MATRIX4* pMat,DWORD dwNum);
GLOBAL_FUNC_DLL void __stdcall SetRotationMatrix(MATRIX4* mat, VECTOR3* vDir, FLOAT fRads );
GLOBAL_FUNC_DLL void __stdcall SetRotationXMatrix(MATRIX4* pMat, float fRad);
GLOBAL_FUNC_DLL void __stdcall SetRotationYMatrix(MATRIX4* pMat, float fRad);
GLOBAL_FUNC_DLL void __stdcall SetRotationZMatrix(MATRIX4* pMat, float fRad);
GLOBAL_FUNC_DLL void __stdcall MatrixMultiply3(MATRIX4* pResult,MATRIX4* mat1, MATRIX4* mat2, MATRIX4* mat3);
GLOBAL_FUNC_DLL void __stdcall MatrixMultiply2(MATRIX4* pResult, MATRIX4* mat1, MATRIX4* mat2);
GLOBAL_FUNC_DLL void __stdcall TranslateMatrix(MATRIX4* m, VECTOR3* vec);
GLOBAL_FUNC_DLL void __stdcall SetScaleMatrix(MATRIX4* m, VECTOR3* v );
GLOBAL_FUNC_DLL void __stdcall TransposeMatrix(MATRIX4* pMat);
GLOBAL_FUNC_DLL void __stdcall SetLightTexMatrix(MATRIX4* pMat,VECTOR3* pv3Pos,float fRs);
GLOBAL_FUNC_DLL VOID __stdcall MatrixFromQuaternion(MATRIX4* mat, QUARTERNION* q);
GLOBAL_FUNC_DLL VOID __stdcall QuaternionSlerp(QUARTERNION* qQ,QUARTERNION* aQ,QUARTERNION* bQ,float fAlpha);
GLOBAL_FUNC_DLL BOOL __stdcall CalcPlaneEquation(PLANE* pPlane,VECTOR3* pv3Tri);
GLOBAL_FUNC_DLL BOOL __stdcall ComparePlane(PLANE* pTarget,PLANE* pSrc);
GLOBAL_FUNC_DLL BOOL __stdcall CalcBoundingMesh(VECTOR3* pv3,DWORD dwVertexNum,COLLISION_MESH_OBJECT_DESC* pDesc);
GLOBAL_FUNC_DLL void __stdcall CreateVertexListWithBox(char* pv3Array36,DWORD dwVertexSize,VECTOR3* pv3Oct);
GLOBAL_FUNC_DLL BOOL __stdcall IsCollisionSphereAndPlane(VECTOR3* pv3Point,float fRs,PLANE* pPlane);
GLOBAL_FUNC_DLL void __stdcall CalcXZ(float* px,float* pz,DWORD dwPosX,DWORD dwPosY,float top,float left,float bottom,float right,float width,float height,DWORD dwFacesNumX,DWORD dwFacesNumY);
GLOBAL_FUNC_DLL void __stdcall Set2PowValueLess(DWORD* pdwOut,DWORD dwIn);
GLOBAL_FUNC_DLL BOOL __stdcall TransformBoundingSphere(BOUNDING_SPHERE* pDest,BOUNDING_SPHERE* pSrc,DWORD dwFlag);
GLOBAL_FUNC_DLL DWORD __stdcall COLORtoDWORD(float r,float g,float b,float a);
GLOBAL_FUNC_DLL void __stdcall QuaternionFromRotation(QUARTERNION* pQ,VECTOR3* v, float fTheta );
GLOBAL_FUNC_DLL void __stdcall QuaternionMultiply(QUARTERNION* pQResult,QUARTERNION* pQA,QUARTERNION* pQB);
GLOBAL_FUNC_DLL BOOL __stdcall AddBoundingMesh(COLLISION_MESH_OBJECT_DESC* pDesc,COLLISION_MESH_OBJECT_DESC** ppDesc,DWORD dwNum);
GLOBAL_FUNC_DLL void __stdcall DWORDtoCOLOR(DWORD color,float* r,float* g,float* b,float* a);
GLOBAL_FUNC_DLL void __stdcall PhysiqueTransform(BYTE* pVertexResult,PHYSIQUE_VERTEX* pPhyVertex,DWORD dwVertexNum,DWORD dwSize,MATRIX4* pMatrixEntry);
GLOBAL_FUNC_DLL void __stdcall PhysiqueTransformPosAndWriteUV(BYTE* pVertexResult,PHYSIQUE_VERTEX* pPhyVertex,TVERTEX* ptv,DWORD dwVertexNum,DWORD dwSize,MATRIX4* pMatrixEntry);
GLOBAL_FUNC_DLL void __stdcall PhysiqueTransformPosAndNormalAndUV(BYTE* pVertexResult,PHYSIQUE_VERTEX* pPhyVertex,TVERTEX* ptv,DWORD dwVertexNum,DWORD dwSize,MATRIX4* pMatrixEntry);
GLOBAL_FUNC_DLL void __stdcall PhysiqueTransformPosAndNormal(BYTE* pVertexResult,PHYSIQUE_VERTEX* pPhyVertex,DWORD dwVertexNum,DWORD dwSize,MATRIX4* pMatrixEntry);
GLOBAL_FUNC_DLL BOOL __stdcall RemoveCRLF(char* pStr,DWORD dwLen);
GLOBAL_FUNC_DLL BOOL __stdcall IntersectTriangle(VECTOR3* pv3IntersectPoint,VECTOR3* orig,VECTOR3* dir,VECTOR3* v0,VECTOR3* v1, VECTOR3* v2,float* t, float* u, float* v,BOOL bCullBackface);
GLOBAL_FUNC_DLL void __stdcall CalcRay(VECTOR3* pv3Pos,VECTOR3* pv3Dir,DWORD dwPosX,DWORD dwPosY,DWORD dwWidth,DWORD dwHeight,MATRIX4* pProj,MATRIX4* pView);
GLOBAL_FUNC_DLL BOOL __stdcall IsCollisionMeshAndRay(VECTOR3* pv3IntersectPoint,float* pfDist,COLLISION_MESH_OBJECT_DESC* pColMeshDesc,VECTOR3* pv3Pos,VECTOR3* pv3Dir);
GLOBAL_FUNC_DLL BOOL __stdcall IsCollisionMeshWithScreenCoord(VECTOR3* pv3IntersectPoint,float* pfDist,COLLISION_MESH_OBJECT_DESC* pColMeshDesc,MATRIX4* pMatView,MATRIX4* pMatProj,POINT* ptCursor,SHORT_RECT* pClipRect);
GLOBAL_FUNC_DLL void __stdcall SetTransformBoundingMesh(COLLISION_MESH_OBJECT_DESC* pDest,COLLISION_MESH_OBJECT_DESC* pSrc,MATRIX4* pMat);
GLOBAL_FUNC_DLL void __stdcall ResetTM(NODE_TM* pTM);
GLOBAL_FUNC_DLL BOOL __stdcall SetViewMatrix(MATRIX4* pMat,VECTOR3* pv3From,VECTOR3* pv3To,VECTOR3* pv3Up);
GLOBAL_FUNC_DLL BOOL __stdcall SetProjectionMatrix(MATRIX4* pMat,float fFOV,float fAspect,float fNearPlane,float fFarPlane);
GLOBAL_FUNC_DLL void __stdcall SetBitmapFromTexturePlane(char* pBits,DWORD dwPitch,TEXTURE_PLANE* pTexPlane,DWORD dwTexPlaneNum);
GLOBAL_FUNC_DLL BOOL __stdcall WriteTGA(char* szFileName,char* pSrc,DWORD dwWidth,DWORD dwHeight,DWORD dwPitch,DWORD bpp);
GLOBAL_FUNC_DLL BOOL __stdcall ResizeImage(char* pDest,DWORD dwDestWidth,DWORD dwDestHeight,char* pSrc,DWORD dwSrcWidth,DWORD dwSrcHeight,DWORD dwBytesPerPixel);
GLOBAL_FUNC_DLL DWORD __stdcall CullBackFace(WORD* pFaceIndexList,TRI_FACE* pFaceEntry,VECTOR3* pv3Eye,DWORD dwFacesNum);
GLOBAL_FUNC_DLL DWORD __stdcall BuildIndexBufferWithFaceIndexList(WORD* pIndexBufferEntry,TRI_FACE* pFaceEntry,WORD* pwFaceIndexEntry,VECTOR3* pv3Eye,DWORD dwFacesNum);
GLOBAL_FUNC_DLL DWORD __stdcall BuildIndexBufferWithFaceIndexListForShadow(WORD* pIndexBufferEntry,TRI_FACE* pFaceEntry,WORD* pwFaceIndexEntry,VECTOR3* pv3Eye,BOUNDING_SPHERE* pSphere,DWORD dwFacesNum);
GLOBAL_FUNC_DLL void __stdcall BuildFaceList(TRI_FACE* pFacesEntry,VECTOR3* pv3,WORD* pIndex,DWORD dwFacesNum);
GLOBAL_FUNC_DLL BOOL __stdcall MakeViewVolumeIncludingSphere(VIEW_VOLUME* pViewVolume,VECTOR3* pv3From, BOUNDING_SPHERE* pBS, float fFar);
GLOBAL_FUNC_DLL void __stdcall MakeViewVolumeWithSelectRange(VIEW_VOLUME* pViewVolume,VECTOR3* pv3From, VECTOR3* pv3LeftUp, VECTOR3* pv3RightUp, VECTOR3* pv3RightDown, VECTOR3* pv3LeftDown);
GLOBAL_FUNC_DLL void __stdcall ConvertFromTo2YPR(VECTOR3* pVEC, VECTOR3* pOutYPR);
GLOBAL_FUNC_DLL void __stdcall RotatePositionWithPivot( VECTOR3* pOutPos, VECTOR3* pPivot, VECTOR3* pPosition, VECTOR3* pCameraAnglePYR, float fRotateYaw, float fRotatePitch);
GLOBAL_FUNC_DLL float __stdcall DistanceFromSphereAndPlane( BOUNDING_SPHERE* pSphere, PLANE* pPlane);
GLOBAL_FUNC_DLL BOOL __stdcall IsCollisionSphereAndBox( BOUNDING_SPHERE* pSphere, BOUNDING_BOX* pBox);
// ItemQueue
GLOBAL_FUNC_DLL ITEMQ_HANDLE __stdcall CreateItemQueue();
GLOBAL_FUNC_DLL void __stdcall ReleaseItemQueue(ITEMQ_HANDLE hQ);
GLOBAL_FUNC_DLL BOOL __stdcall BeginInitialize(ITEMQ_HANDLE pQ,DWORD dwMaxTypeNum);
GLOBAL_FUNC_DLL BOOL __stdcall SetType(ITEMQ_HANDLE pQ,DWORD dwTypeID,DWORD dwItemSize,void* pFunc,DWORD dwMaxNum);
GLOBAL_FUNC_DLL void __stdcall EndInitialize(ITEMQ_HANDLE pQ);
GLOBAL_FUNC_DLL BOOL __stdcall PushItem(ITEMQ_HANDLE pQ,DWORD dwTypeID,char* pItem);
GLOBAL_FUNC_DLL char* __stdcall GetItemSeq(ITEMQ_HANDLE pQ,DWORD* pdwTypeID,void** ppFunc);
GLOBAL_FUNC_DLL char* __stdcall GetItem(ITEMQ_HANDLE pQ,void** ppFunc,DWORD dwTypeID,DWORD dwSeqIndex);
GLOBAL_FUNC_DLL void __stdcall Clear(ITEMQ_HANDLE pQ);
GLOBAL_FUNC_DLL DWORD __stdcall GetItemNum(ITEMQ_HANDLE pQ);
GLOBAL_FUNC_DLL DWORD __stdcall GetItemNumWithType(ITEMQ_HANDLE pQ,DWORD dwTypeID);
GLOBAL_FUNC_DLL void __stdcall ResetReadPosition(ITEMQ_HANDLE pQ);
// LookAsideList
GLOBAL_FUNC_DLL STMPOOL_HANDLE __stdcall CreateStaticMemoryPool();
GLOBAL_FUNC_DLL void __stdcall ReleaseStaticMemoryPool(STMPOOL_HANDLE pool);
GLOBAL_FUNC_DLL BOOL __stdcall InitializeStaticMemoryPool(STMPOOL_HANDLE pool,DWORD dwUnitSize,DWORD dwDefaultCommitNum,DWORD dwMaxNum);
GLOBAL_FUNC_DLL void* __stdcall LALAlloc(STMPOOL_HANDLE pool);
GLOBAL_FUNC_DLL void __stdcall LALFree(STMPOOL_HANDLE pool,void* pMemory);
GLOBAL_FUNC_DLL void __stdcall LALFreeWithCheck(STMPOOL_HANDLE pool,void* pMemory);
GLOBAL_FUNC_DLL void __stdcall LALEnableBlockCheck(STMPOOL_HANDLE pool,BOOL bSwitch);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -