diff --git a/saco/game/rwstuff.cpp b/saco/game/rwstuff.cpp index fd8163f..27d2508 100644 --- a/saco/game/rwstuff.cpp +++ b/saco/game/rwstuff.cpp @@ -185,6 +185,16 @@ void SetCameraFrameAndZBuffer(RwCamera *camera, RwRaster *frameBuffer, RwRaster _asm mov [ebx+0x64], edx } +void RpClumpRender(RpClump *clump) +{ + DWORD dwFunc = (iGtaVersion != GTASA_VERSION_USA10) ? 0x749B70 : 0x749B20; + + _asm push clump + _asm mov edx, dwFunc + _asm call edx + _asm pop edx +} + void RwCameraSetClipPlane(RwCamera *camera, float farClip, float nearClip) { DWORD dwRwCameraSetFarClipPlane; diff --git a/saco/game/rwstuff.h b/saco/game/rwstuff.h index 06cec4c..62995f2 100644 --- a/saco/game/rwstuff.h +++ b/saco/game/rwstuff.h @@ -9,6 +9,7 @@ struct RpLight { char _gap0; }; struct RwRGBAReal { float r, g, b, a; }; struct RpAtomic { char _gap0; }; struct RwRGBA { char _gap0; }; +struct RpClump { char _gap0; }; RwRaster* RwRasterCreate(int width, int height, int depth, int flags); RwTexture* RwTextureCreate(RwRaster *raster); @@ -25,6 +26,7 @@ void RwCameraBeginUpdate(RwCamera *camera); void RwCameraEndUpdate(RwCamera *camera); void RwObjectHasFrameSetFrame(RwCamera *camera, RwFrame *frame); void SetCameraFrameAndZBuffer(RwCamera *camera, RwRaster *frameBuffer, RwRaster *zBuffer); +void RpClumpRender(RpClump *clump); void RwCameraSetClipPlane(RwCamera *camera, float farClip, float nearClip); void RwCameraSetViewWindow(RwCamera *camera, VECTOR2D *viewWindow); RpLight* RpLightCreate(int type);