summaryrefslogtreecommitdiffstats
path: root/src/rw/RwMatFX.cpp
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-04-14 19:10:39 +0200
committerNikolay Korolev <nickvnuk@gmail.com>2020-04-14 19:10:39 +0200
commitf2c78e4bfb631de9f02d37d6b64af721b280cf8c (patch)
tree3d75fc97c042efb64ebd1fc999af1a301adbb709 /src/rw/RwMatFX.cpp
parentscene edit (diff)
parentRwMatFX support with linked RW libs (diff)
downloadre3-f2c78e4bfb631de9f02d37d6b64af721b280cf8c.tar
re3-f2c78e4bfb631de9f02d37d6b64af721b280cf8c.tar.gz
re3-f2c78e4bfb631de9f02d37d6b64af721b280cf8c.tar.bz2
re3-f2c78e4bfb631de9f02d37d6b64af721b280cf8c.tar.lz
re3-f2c78e4bfb631de9f02d37d6b64af721b280cf8c.tar.xz
re3-f2c78e4bfb631de9f02d37d6b64af721b280cf8c.tar.zst
re3-f2c78e4bfb631de9f02d37d6b64af721b280cf8c.zip
Diffstat (limited to 'src/rw/RwMatFX.cpp')
-rw-r--r--src/rw/RwMatFX.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/rw/RwMatFX.cpp b/src/rw/RwMatFX.cpp
index ca9a633b..3af6fabe 100644
--- a/src/rw/RwMatFX.cpp
+++ b/src/rw/RwMatFX.cpp
@@ -43,8 +43,16 @@ struct MatFX
int effects;
};
+#ifdef RWLIBS
+extern "C" {
+ extern int MatFXMaterialDataOffset;
+ extern int MatFXAtomicDataOffset;
+ void _rpMatFXD3D8AtomicMatFXEnvRender(RxD3D8InstanceData* inst, int flags, int sel, RwTexture* texture, RwTexture* envMap);
+}
+#else
int &MatFXMaterialDataOffset = *(int*)0x66188C;
int &MatFXAtomicDataOffset = *(int*)0x66189C;
+#endif
#ifdef PS2_MATFX
@@ -206,8 +214,13 @@ _rpMatFXD3D8AtomicMatFXEnvRender_ps2(RxD3D8InstanceData *inst, int flags, int se
RwD3D8SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
}
+
STARTPATCHES
+#ifdef RWLIBS
+ InjectHook((uintptr)&_rpMatFXD3D8AtomicMatFXEnvRender, _rpMatFXD3D8AtomicMatFXEnvRender_ps2, PATCH_JUMP);
+#else
InjectHook(0x5CF6C0, _rpMatFXD3D8AtomicMatFXEnvRender_ps2, PATCH_JUMP);
+#endif
ENDPATCHES
#endif