summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.gitmodules12
-rw-r--r--README.md2
-rw-r--r--dxsdk/Include/Msvidctl.tlbbin108028 -> 0 bytes
-rw-r--r--dxsdk/Include/Tuner.tlbbin53292 -> 0 bytes
m---------ogg0
m---------opus0
m---------opusfile0
-rw-r--r--premake5.lua43
-rw-r--r--sdk/dx8sdk/Include/Amvideo.h (renamed from dxsdk/Include/Amvideo.h)0
-rw-r--r--sdk/dx8sdk/Include/Bdatif.h (renamed from dxsdk/Include/Bdatif.h)0
-rw-r--r--sdk/dx8sdk/Include/DShow.h (renamed from dxsdk/Include/DShow.h)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Bdatif.idl (renamed from dxsdk/Include/DShowIDL/Bdatif.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Mpeg2Data.idl (renamed from dxsdk/Include/DShowIDL/Mpeg2Data.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Mpeg2Structs.idl (renamed from dxsdk/Include/DShowIDL/Mpeg2Structs.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Mstvca.idl (renamed from dxsdk/Include/DShowIDL/Mstvca.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Mstvgs.idl (renamed from dxsdk/Include/DShowIDL/Mstvgs.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Msvidctl.idl (renamed from dxsdk/Include/DShowIDL/Msvidctl.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Segment.idl (renamed from dxsdk/Include/DShowIDL/Segment.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Videoacc.idl (renamed from dxsdk/Include/DShowIDL/Videoacc.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/Vmrender.idl (renamed from dxsdk/Include/DShowIDL/Vmrender.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/amstream.idl (renamed from dxsdk/Include/DShowIDL/amstream.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/austream.idl (renamed from dxsdk/Include/DShowIDL/austream.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/axcore.idl (renamed from dxsdk/Include/DShowIDL/axcore.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/axextend.idl (renamed from dxsdk/Include/DShowIDL/axextend.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/bdaiface.idl (renamed from dxsdk/Include/DShowIDL/bdaiface.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/control.odl (renamed from dxsdk/Include/DShowIDL/control.odl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/ddstream.idl (renamed from dxsdk/Include/DShowIDL/ddstream.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/devenum.idl (renamed from dxsdk/Include/DShowIDL/devenum.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/dmodshow.idl (renamed from dxsdk/Include/DShowIDL/dmodshow.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/dshowasf.idl (renamed from dxsdk/Include/DShowIDL/dshowasf.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/dvdif.idl (renamed from dxsdk/Include/DShowIDL/dvdif.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/dxtrans.idl (renamed from dxsdk/Include/DShowIDL/dxtrans.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/dyngraph.idl (renamed from dxsdk/Include/DShowIDL/dyngraph.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/mediaobj.idl (renamed from dxsdk/Include/DShowIDL/mediaobj.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/medparam.idl (renamed from dxsdk/Include/DShowIDL/medparam.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/mixerocx.idl (renamed from dxsdk/Include/DShowIDL/mixerocx.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/mmstream.idl (renamed from dxsdk/Include/DShowIDL/mmstream.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/mstve.idl (renamed from dxsdk/Include/DShowIDL/mstve.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/qedit.idl (renamed from dxsdk/Include/DShowIDL/qedit.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/regbag.idl (renamed from dxsdk/Include/DShowIDL/regbag.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/sbe.idl (renamed from dxsdk/Include/DShowIDL/sbe.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/strmif.idl (renamed from dxsdk/Include/DShowIDL/strmif.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/tuner.idl (renamed from dxsdk/Include/DShowIDL/tuner.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/tvratings.idl (renamed from dxsdk/Include/DShowIDL/tvratings.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/vidcap.idl (renamed from dxsdk/Include/DShowIDL/vidcap.idl)0
-rw-r--r--sdk/dx8sdk/Include/DShowIDL/vmr9.idl (renamed from dxsdk/Include/DShowIDL/vmr9.idl)0
-rw-r--r--sdk/dx8sdk/Include/DxDiag.h (renamed from dxsdk/Include/DxDiag.h)0
-rw-r--r--sdk/dx8sdk/Include/Iwstdec.h (renamed from dxsdk/Include/Iwstdec.h)0
-rw-r--r--sdk/dx8sdk/Include/Mpeg2Bits.h (renamed from dxsdk/Include/Mpeg2Bits.h)0
-rw-r--r--sdk/dx8sdk/Include/Mpeg2Error.h (renamed from dxsdk/Include/Mpeg2Error.h)0
-rw-r--r--sdk/dx8sdk/Include/Mstvca.h (renamed from dxsdk/Include/Mstvca.h)0
-rw-r--r--sdk/dx8sdk/Include/Mstve.h (renamed from dxsdk/Include/Mstve.h)0
-rw-r--r--sdk/dx8sdk/Include/Msvidctl.h (renamed from dxsdk/Include/Msvidctl.h)0
-rw-r--r--sdk/dx8sdk/Include/PixPlugin.h (renamed from dxsdk/Include/PixPlugin.h)0
-rw-r--r--sdk/dx8sdk/Include/Segment.h (renamed from dxsdk/Include/Segment.h)0
-rw-r--r--sdk/dx8sdk/Include/activecf.h (renamed from dxsdk/Include/activecf.h)0
-rw-r--r--sdk/dx8sdk/Include/amaudio.h (renamed from dxsdk/Include/amaudio.h)0
-rw-r--r--sdk/dx8sdk/Include/amparse.h (renamed from dxsdk/Include/amparse.h)0
-rw-r--r--sdk/dx8sdk/Include/amstream.h (renamed from dxsdk/Include/amstream.h)0
-rw-r--r--sdk/dx8sdk/Include/amva.h (renamed from dxsdk/Include/amva.h)0
-rw-r--r--sdk/dx8sdk/Include/atsmedia.h (renamed from dxsdk/Include/atsmedia.h)0
-rw-r--r--sdk/dx8sdk/Include/audevcod.h (renamed from dxsdk/Include/audevcod.h)0
-rw-r--r--sdk/dx8sdk/Include/austream.h (renamed from dxsdk/Include/austream.h)0
-rw-r--r--sdk/dx8sdk/Include/aviriff.h (renamed from dxsdk/Include/aviriff.h)0
-rw-r--r--sdk/dx8sdk/Include/bdaiface.h (renamed from dxsdk/Include/bdaiface.h)0
-rw-r--r--sdk/dx8sdk/Include/bdamedia.h (renamed from dxsdk/Include/bdamedia.h)0
-rw-r--r--sdk/dx8sdk/Include/bdatypes.h (renamed from dxsdk/Include/bdatypes.h)0
-rw-r--r--sdk/dx8sdk/Include/comlite.h (renamed from dxsdk/Include/comlite.h)0
-rw-r--r--sdk/dx8sdk/Include/control.h (renamed from dxsdk/Include/control.h)0
-rw-r--r--sdk/dx8sdk/Include/d3d.h (renamed from dxsdk/Include/d3d.h)0
-rw-r--r--sdk/dx8sdk/Include/d3d8.h (renamed from dxsdk/Include/d3d8.h)0
-rw-r--r--sdk/dx8sdk/Include/d3d8caps.h (renamed from dxsdk/Include/d3d8caps.h)0
-rw-r--r--sdk/dx8sdk/Include/d3d8types.h (renamed from dxsdk/Include/d3d8types.h)0
-rw-r--r--sdk/dx8sdk/Include/d3d9.h (renamed from dxsdk/Include/d3d9.h)0
-rw-r--r--sdk/dx8sdk/Include/d3d9caps.h (renamed from dxsdk/Include/d3d9caps.h)0
-rw-r--r--sdk/dx8sdk/Include/d3d9types.h (renamed from dxsdk/Include/d3d9types.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dcaps.h (renamed from dxsdk/Include/d3dcaps.h)0
-rw-r--r--sdk/dx8sdk/Include/d3drm.h (renamed from dxsdk/Include/d3drm.h)0
-rw-r--r--sdk/dx8sdk/Include/d3drmdef.h (renamed from dxsdk/Include/d3drmdef.h)0
-rw-r--r--sdk/dx8sdk/Include/d3drmobj.h (renamed from dxsdk/Include/d3drmobj.h)0
-rw-r--r--sdk/dx8sdk/Include/d3drmwin.h (renamed from dxsdk/Include/d3drmwin.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dtypes.h (renamed from dxsdk/Include/d3dtypes.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dvec.inl (renamed from dxsdk/Include/d3dvec.inl)0
-rw-r--r--sdk/dx8sdk/Include/d3dx.h (renamed from dxsdk/Include/d3dx.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx8.h (renamed from dxsdk/Include/d3dx8.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx8core.h (renamed from dxsdk/Include/d3dx8core.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx8effect.h (renamed from dxsdk/Include/d3dx8effect.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx8math.h (renamed from dxsdk/Include/d3dx8math.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx8math.inl (renamed from dxsdk/Include/d3dx8math.inl)0
-rw-r--r--sdk/dx8sdk/Include/d3dx8mesh.h (renamed from dxsdk/Include/d3dx8mesh.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx8shape.h (renamed from dxsdk/Include/d3dx8shape.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx8tex.h (renamed from dxsdk/Include/d3dx8tex.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9.h (renamed from dxsdk/Include/d3dx9.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9anim.h (renamed from dxsdk/Include/d3dx9anim.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9core.h (renamed from dxsdk/Include/d3dx9core.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9effect.h (renamed from dxsdk/Include/d3dx9effect.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9math.h (renamed from dxsdk/Include/d3dx9math.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9math.inl (renamed from dxsdk/Include/d3dx9math.inl)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9mesh.h (renamed from dxsdk/Include/d3dx9mesh.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9shader.h (renamed from dxsdk/Include/d3dx9shader.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9shape.h (renamed from dxsdk/Include/d3dx9shape.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9tex.h (renamed from dxsdk/Include/d3dx9tex.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dx9xof.h (renamed from dxsdk/Include/d3dx9xof.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dxcore.h (renamed from dxsdk/Include/d3dxcore.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dxerr.h (renamed from dxsdk/Include/d3dxerr.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dxmath.h (renamed from dxsdk/Include/d3dxmath.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dxmath.inl (renamed from dxsdk/Include/d3dxmath.inl)0
-rw-r--r--sdk/dx8sdk/Include/d3dxshapes.h (renamed from dxsdk/Include/d3dxshapes.h)0
-rw-r--r--sdk/dx8sdk/Include/d3dxsprite.h (renamed from dxsdk/Include/d3dxsprite.h)0
-rw-r--r--sdk/dx8sdk/Include/ddraw.h (renamed from dxsdk/Include/ddraw.h)0
-rw-r--r--sdk/dx8sdk/Include/ddstream.h (renamed from dxsdk/Include/ddstream.h)0
-rw-r--r--sdk/dx8sdk/Include/dinput.h (renamed from dxsdk/Include/dinput.h)0
-rw-r--r--sdk/dx8sdk/Include/dinputd.h (renamed from dxsdk/Include/dinputd.h)0
-rw-r--r--sdk/dx8sdk/Include/dls1.h (renamed from dxsdk/Include/dls1.h)0
-rw-r--r--sdk/dx8sdk/Include/dls2.h (renamed from dxsdk/Include/dls2.h)0
-rw-r--r--sdk/dx8sdk/Include/dmdls.h (renamed from dxsdk/Include/dmdls.h)0
-rw-r--r--sdk/dx8sdk/Include/dmerror.h (renamed from dxsdk/Include/dmerror.h)0
-rw-r--r--sdk/dx8sdk/Include/dmksctrl.h (renamed from dxsdk/Include/dmksctrl.h)0
-rw-r--r--sdk/dx8sdk/Include/dmo.h (renamed from dxsdk/Include/dmo.h)0
-rw-r--r--sdk/dx8sdk/Include/dmodshow.h (renamed from dxsdk/Include/dmodshow.h)0
-rw-r--r--sdk/dx8sdk/Include/dmoimpl.h (renamed from dxsdk/Include/dmoimpl.h)0
-rw-r--r--sdk/dx8sdk/Include/dmoreg.h (renamed from dxsdk/Include/dmoreg.h)0
-rw-r--r--sdk/dx8sdk/Include/dmort.h (renamed from dxsdk/Include/dmort.h)0
-rw-r--r--sdk/dx8sdk/Include/dmplugin.h (renamed from dxsdk/Include/dmplugin.h)0
-rw-r--r--sdk/dx8sdk/Include/dmusbuff.h (renamed from dxsdk/Include/dmusbuff.h)0
-rw-r--r--sdk/dx8sdk/Include/dmusicc.h (renamed from dxsdk/Include/dmusicc.h)0
-rw-r--r--sdk/dx8sdk/Include/dmusicf.h (renamed from dxsdk/Include/dmusicf.h)0
-rw-r--r--sdk/dx8sdk/Include/dmusici.h (renamed from dxsdk/Include/dmusici.h)0
-rw-r--r--sdk/dx8sdk/Include/dmusics.h (renamed from dxsdk/Include/dmusics.h)0
-rw-r--r--sdk/dx8sdk/Include/dpaddr.h (renamed from dxsdk/Include/dpaddr.h)0
-rw-r--r--sdk/dx8sdk/Include/dplay.h (renamed from dxsdk/Include/dplay.h)0
-rw-r--r--sdk/dx8sdk/Include/dplay8.h (renamed from dxsdk/Include/dplay8.h)0
-rw-r--r--sdk/dx8sdk/Include/dplobby.h (renamed from dxsdk/Include/dplobby.h)0
-rw-r--r--sdk/dx8sdk/Include/dplobby8.h (renamed from dxsdk/Include/dplobby8.h)0
-rw-r--r--sdk/dx8sdk/Include/dpnathlp.h (renamed from dxsdk/Include/dpnathlp.h)0
-rw-r--r--sdk/dx8sdk/Include/dsconf.h (renamed from dxsdk/Include/dsconf.h)0
-rw-r--r--sdk/dx8sdk/Include/dsetup.h (renamed from dxsdk/Include/dsetup.h)0
-rw-r--r--sdk/dx8sdk/Include/dshowasf.h (renamed from dxsdk/Include/dshowasf.h)0
-rw-r--r--sdk/dx8sdk/Include/dsound.h (renamed from dxsdk/Include/dsound.h)0
-rw-r--r--sdk/dx8sdk/Include/dv.h (renamed from dxsdk/Include/dv.h)0
-rw-r--r--sdk/dx8sdk/Include/dvdevcod.h (renamed from dxsdk/Include/dvdevcod.h)0
-rw-r--r--sdk/dx8sdk/Include/dvdmedia.h (renamed from dxsdk/Include/dvdmedia.h)0
-rw-r--r--sdk/dx8sdk/Include/dvoice.h (renamed from dxsdk/Include/dvoice.h)0
-rw-r--r--sdk/dx8sdk/Include/dvp.h (renamed from dxsdk/Include/dvp.h)0
-rw-r--r--sdk/dx8sdk/Include/dx7todx8.h (renamed from dxsdk/Include/dx7todx8.h)0
-rw-r--r--sdk/dx8sdk/Include/dxerr8.h (renamed from dxsdk/Include/dxerr8.h)0
-rw-r--r--sdk/dx8sdk/Include/dxerr9.h (renamed from dxsdk/Include/dxerr9.h)0
-rw-r--r--sdk/dx8sdk/Include/dxfile.h (renamed from dxsdk/Include/dxfile.h)0
-rw-r--r--sdk/dx8sdk/Include/dxtrans.h (renamed from dxsdk/Include/dxtrans.h)0
-rw-r--r--sdk/dx8sdk/Include/dxva.h (renamed from dxsdk/Include/dxva.h)0
-rw-r--r--sdk/dx8sdk/Include/edevctrl.h (renamed from dxsdk/Include/edevctrl.h)0
-rw-r--r--sdk/dx8sdk/Include/edevdefs.h (renamed from dxsdk/Include/edevdefs.h)0
-rw-r--r--sdk/dx8sdk/Include/errors.h (renamed from dxsdk/Include/errors.h)0
-rw-r--r--sdk/dx8sdk/Include/evcode.h (renamed from dxsdk/Include/evcode.h)0
-rw-r--r--sdk/dx8sdk/Include/il21dec.h (renamed from dxsdk/Include/il21dec.h)0
-rw-r--r--sdk/dx8sdk/Include/ks.h (renamed from dxsdk/Include/ks.h)0
-rw-r--r--sdk/dx8sdk/Include/ksguid.h (renamed from dxsdk/Include/ksguid.h)0
-rw-r--r--sdk/dx8sdk/Include/ksmedia.h (renamed from dxsdk/Include/ksmedia.h)0
-rw-r--r--sdk/dx8sdk/Include/ksproxy.h (renamed from dxsdk/Include/ksproxy.h)0
-rw-r--r--sdk/dx8sdk/Include/ksuuids.h (renamed from dxsdk/Include/ksuuids.h)0
-rw-r--r--sdk/dx8sdk/Include/mediaerr.h (renamed from dxsdk/Include/mediaerr.h)0
-rw-r--r--sdk/dx8sdk/Include/mediaobj.h (renamed from dxsdk/Include/mediaobj.h)0
-rw-r--r--sdk/dx8sdk/Include/medparam.h (renamed from dxsdk/Include/medparam.h)0
-rw-r--r--sdk/dx8sdk/Include/mixerocx.h (renamed from dxsdk/Include/mixerocx.h)0
-rw-r--r--sdk/dx8sdk/Include/mmstream.h (renamed from dxsdk/Include/mmstream.h)0
-rw-r--r--sdk/dx8sdk/Include/mpconfig.h (renamed from dxsdk/Include/mpconfig.h)0
-rw-r--r--sdk/dx8sdk/Include/mpeg2data.h (renamed from dxsdk/Include/mpeg2data.h)0
-rw-r--r--sdk/dx8sdk/Include/mpegtype.h (renamed from dxsdk/Include/mpegtype.h)0
-rw-r--r--sdk/dx8sdk/Include/multimon.h (renamed from dxsdk/Include/multimon.h)0
-rw-r--r--sdk/dx8sdk/Include/playlist.h (renamed from dxsdk/Include/playlist.h)0
-rw-r--r--sdk/dx8sdk/Include/qedit.h (renamed from dxsdk/Include/qedit.h)0
-rw-r--r--sdk/dx8sdk/Include/qnetwork.h (renamed from dxsdk/Include/qnetwork.h)0
-rw-r--r--sdk/dx8sdk/Include/regbag.h (renamed from dxsdk/Include/regbag.h)0
-rw-r--r--sdk/dx8sdk/Include/rmxfguid.h (renamed from dxsdk/Include/rmxfguid.h)0
-rw-r--r--sdk/dx8sdk/Include/rmxftmpl.h (renamed from dxsdk/Include/rmxftmpl.h)0
-rw-r--r--sdk/dx8sdk/Include/sbe.h (renamed from dxsdk/Include/sbe.h)0
-rw-r--r--sdk/dx8sdk/Include/strmif.h (renamed from dxsdk/Include/strmif.h)0
-rw-r--r--sdk/dx8sdk/Include/strsafe.h (renamed from dxsdk/Include/strsafe.h)0
-rw-r--r--sdk/dx8sdk/Include/tune.h (renamed from dxsdk/Include/tune.h)0
-rw-r--r--sdk/dx8sdk/Include/tuner.h (renamed from dxsdk/Include/tuner.h)0
-rw-r--r--sdk/dx8sdk/Include/tvratings.h (renamed from dxsdk/Include/tvratings.h)0
-rw-r--r--sdk/dx8sdk/Include/uuids.h (renamed from dxsdk/Include/uuids.h)0
-rw-r--r--sdk/dx8sdk/Include/vfwmsgs.h (renamed from dxsdk/Include/vfwmsgs.h)0
-rw-r--r--sdk/dx8sdk/Include/vidcap.h (renamed from dxsdk/Include/vidcap.h)0
-rw-r--r--sdk/dx8sdk/Include/videoacc.h (renamed from dxsdk/Include/videoacc.h)0
-rw-r--r--sdk/dx8sdk/Include/vmr9.h (renamed from dxsdk/Include/vmr9.h)0
-rw-r--r--sdk/dx8sdk/Include/vpconfig.h (renamed from dxsdk/Include/vpconfig.h)0
-rw-r--r--sdk/dx8sdk/Include/vpnotify.h (renamed from dxsdk/Include/vpnotify.h)0
-rw-r--r--sdk/dx8sdk/Include/vptype.h (renamed from dxsdk/Include/vptype.h)0
-rw-r--r--sdk/dx8sdk/Include/xprtdefs.h (renamed from dxsdk/Include/xprtdefs.h)0
-rw-r--r--sdk/dx8sdk/Lib/DxErr8.lib (renamed from dxsdk/Lib/DxErr8.lib)bin1083572 -> 1083572 bytes
-rw-r--r--sdk/dx8sdk/Lib/DxErr9.lib (renamed from dxsdk/Lib/DxErr9.lib)bin3901404 -> 3901404 bytes
-rw-r--r--sdk/dx8sdk/Lib/amstrmid.lib (renamed from dxsdk/Lib/amstrmid.lib)bin272820 -> 272820 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3d8.lib (renamed from dxsdk/Lib/d3d8.lib)bin2466 -> 2466 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3d9.lib (renamed from dxsdk/Lib/d3d9.lib)bin4988 -> 4988 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dx.lib (renamed from dxsdk/Lib/d3dx.lib)bin614522 -> 614522 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dx8.lib (renamed from dxsdk/Lib/d3dx8.lib)bin2151212 -> 2151212 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dx8d.lib (renamed from dxsdk/Lib/d3dx8d.lib)bin53414 -> 53414 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dx8dt.lib (renamed from dxsdk/Lib/d3dx8dt.lib)bin2467156 -> 2467156 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dx9.lib (renamed from dxsdk/Lib/d3dx9.lib)bin5959648 -> 5959648 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dx9d.lib (renamed from dxsdk/Lib/d3dx9d.lib)bin82586 -> 82586 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dx9dt.lib (renamed from dxsdk/Lib/d3dx9dt.lib)bin6948164 -> 6948164 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dxd.lib (renamed from dxsdk/Lib/d3dxd.lib)bin565570 -> 565570 bytes
-rw-r--r--sdk/dx8sdk/Lib/d3dxof.lib (renamed from dxsdk/Lib/d3dxof.lib)bin1722 -> 1722 bytes
-rw-r--r--sdk/dx8sdk/Lib/ddraw.lib (renamed from dxsdk/Lib/ddraw.lib)bin4540 -> 4540 bytes
-rw-r--r--sdk/dx8sdk/Lib/dinput.lib (renamed from dxsdk/Lib/dinput.lib)bin17790 -> 17790 bytes
-rw-r--r--sdk/dx8sdk/Lib/dinput8.lib (renamed from dxsdk/Lib/dinput8.lib)bin19978 -> 19978 bytes
-rw-r--r--sdk/dx8sdk/Lib/dmoguids.lib (renamed from dxsdk/Lib/dmoguids.lib)bin18408 -> 18408 bytes
-rw-r--r--sdk/dx8sdk/Lib/dplayx.lib (renamed from dxsdk/Lib/dplayx.lib)bin3142 -> 3142 bytes
-rw-r--r--sdk/dx8sdk/Lib/dsetup.lib (renamed from dxsdk/Lib/dsetup.lib)bin5998 -> 5998 bytes
-rw-r--r--sdk/dx8sdk/Lib/dsound.lib (renamed from dxsdk/Lib/dsound.lib)bin4042 -> 4042 bytes
-rw-r--r--sdk/dx8sdk/Lib/dxguid.lib (renamed from dxsdk/Lib/dxguid.lib)bin107734 -> 107734 bytes
-rw-r--r--sdk/dx8sdk/Lib/dxtrans.lib (renamed from dxsdk/Lib/dxtrans.lib)bin3700 -> 3700 bytes
-rw-r--r--sdk/dx8sdk/Lib/encapi.lib (renamed from dxsdk/Lib/encapi.lib)bin1522 -> 1522 bytes
-rw-r--r--sdk/dx8sdk/Lib/ksproxy.lib (renamed from dxsdk/Lib/ksproxy.lib)bin3054 -> 3054 bytes
-rw-r--r--sdk/dx8sdk/Lib/ksuser.lib (renamed from dxsdk/Lib/ksuser.lib)bin196016 -> 196016 bytes
-rw-r--r--sdk/dx8sdk/Lib/msdmo.lib (renamed from dxsdk/Lib/msdmo.lib)bin4620 -> 4620 bytes
-rw-r--r--sdk/dx8sdk/Lib/quartz.lib (renamed from dxsdk/Lib/quartz.lib)bin2370 -> 2370 bytes
-rw-r--r--sdk/dx8sdk/Lib/strmiids.lib (renamed from dxsdk/Lib/strmiids.lib)bin272820 -> 272820 bytes
-rw-r--r--sdk/milessdk/include/mss.h (renamed from milessdk/include/mss.h)0
-rw-r--r--sdk/milessdk/lib/mss32.lib (renamed from milessdk/lib/mss32.lib)bin15570 -> 15570 bytes
-rw-r--r--sdk/rwsdk/include/d3d8/errcom.def (renamed from rwsdk/include/d3d8/errcom.def)0
-rw-r--r--sdk/rwsdk/include/d3d8/errcore.def (renamed from rwsdk/include/d3d8/errcore.def)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpanisot.h (renamed from rwsdk/include/d3d8/rpanisot.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpanisot.rpe (renamed from rwsdk/include/d3d8/rpanisot.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpcollis.h (renamed from rwsdk/include/d3d8/rpcollis.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpcollis.rpe (renamed from rwsdk/include/d3d8/rpcollis.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpcriter.h (renamed from rwsdk/include/d3d8/rpcriter.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpdbgerr.c (renamed from rwsdk/include/d3d8/rpdbgerr.c)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpdbgerr.h (renamed from rwsdk/include/d3d8/rpdbgerr.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpdmorph.h (renamed from rwsdk/include/d3d8/rpdmorph.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpdmorph.rpe (renamed from rwsdk/include/d3d8/rpdmorph.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rperror.h (renamed from rwsdk/include/d3d8/rperror.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rphanim.h (renamed from rwsdk/include/d3d8/rphanim.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rphanim.rpe (renamed from rwsdk/include/d3d8/rphanim.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rplodatm.h (renamed from rwsdk/include/d3d8/rplodatm.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rplodatm.rpe (renamed from rwsdk/include/d3d8/rplodatm.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rplogo.h (renamed from rwsdk/include/d3d8/rplogo.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rplogo.rpe (renamed from rwsdk/include/d3d8/rplogo.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpltmap.h (renamed from rwsdk/include/d3d8/rpltmap.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpltmap.rpe (renamed from rwsdk/include/d3d8/rpltmap.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpmatfx.h (renamed from rwsdk/include/d3d8/rpmatfx.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpmatfx.rpe (renamed from rwsdk/include/d3d8/rpmatfx.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpmipkl.h (renamed from rwsdk/include/d3d8/rpmipkl.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpmipkl.rpe (renamed from rwsdk/include/d3d8/rpmipkl.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpmorph.h (renamed from rwsdk/include/d3d8/rpmorph.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpmorph.rpe (renamed from rwsdk/include/d3d8/rpmorph.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rppatch.h (renamed from rwsdk/include/d3d8/rppatch.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rppatch.rpe (renamed from rwsdk/include/d3d8/rppatch.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpprtstd.h (renamed from rwsdk/include/d3d8/rpprtstd.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpprtstd.rpe (renamed from rwsdk/include/d3d8/rpprtstd.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpptank.h (renamed from rwsdk/include/d3d8/rpptank.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpptank.rpe (renamed from rwsdk/include/d3d8/rpptank.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rppvs.h (renamed from rwsdk/include/d3d8/rppvs.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rppvs.rpe (renamed from rwsdk/include/d3d8/rppvs.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rprandom.h (renamed from rwsdk/include/d3d8/rprandom.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rprandom.rpe (renamed from rwsdk/include/d3d8/rprandom.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpskin.h (renamed from rwsdk/include/d3d8/rpskin.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpskin.rpe (renamed from rwsdk/include/d3d8/rpskin.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpspline.h (renamed from rwsdk/include/d3d8/rpspline.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpspline.rpe (renamed from rwsdk/include/d3d8/rpspline.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpusrdat.h (renamed from rwsdk/include/d3d8/rpusrdat.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpusrdat.rpe (renamed from rwsdk/include/d3d8/rpusrdat.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpworld.h (renamed from rwsdk/include/d3d8/rpworld.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rpworld.rpe (renamed from rwsdk/include/d3d8/rpworld.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rt2d.h (renamed from rwsdk/include/d3d8/rt2d.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rt2d.rpe (renamed from rwsdk/include/d3d8/rt2d.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rt2danim.h (renamed from rwsdk/include/d3d8/rt2danim.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rt2danim.rpe (renamed from rwsdk/include/d3d8/rt2danim.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtanim.h638
-rw-r--r--sdk/rwsdk/include/d3d8/rtanim.rpe168
-rw-r--r--sdk/rwsdk/include/d3d8/rtbary.h (renamed from rwsdk/include/d3d8/rtbary.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtbary.rpe (renamed from rwsdk/include/d3d8/rtbary.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtbezpat.h (renamed from rwsdk/include/d3d8/rtbezpat.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtbezpat.rpe (renamed from rwsdk/include/d3d8/rtbezpat.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtbmp.h (renamed from rwsdk/include/d3d8/rtbmp.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtbmp.rpe (renamed from rwsdk/include/d3d8/rtbmp.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtcharse.h (renamed from rwsdk/include/d3d8/rtcharse.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtcharse.rpe (renamed from rwsdk/include/d3d8/rtcharse.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtgncpip.h256
-rw-r--r--sdk/rwsdk/include/d3d8/rtgncpip.rpe172
-rw-r--r--sdk/rwsdk/include/d3d8/rtimport.h (renamed from rwsdk/include/d3d8/rtimport.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtimport.rpe (renamed from rwsdk/include/d3d8/rtimport.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtintsec.h (renamed from rwsdk/include/d3d8/rtintsec.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtintsec.rpe (renamed from rwsdk/include/d3d8/rtintsec.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtltmap.h (renamed from rwsdk/include/d3d8/rtltmap.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtltmap.rpe (renamed from rwsdk/include/d3d8/rtltmap.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtmipk.h (renamed from rwsdk/include/d3d8/rtmipk.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtmipk.rpe (renamed from rwsdk/include/d3d8/rtmipk.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtpick.h (renamed from rwsdk/include/d3d8/rtpick.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtpick.rpe (renamed from rwsdk/include/d3d8/rtpick.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtpitexd.h (renamed from rwsdk/include/d3d8/rtpitexd.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtpitexd.rpe (renamed from rwsdk/include/d3d8/rtpitexd.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtpng.h (renamed from rwsdk/include/d3d8/rtpng.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtpng.rpe (renamed from rwsdk/include/d3d8/rtpng.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtquat.h (renamed from rwsdk/include/d3d8/rtquat.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtquat.rpe (renamed from rwsdk/include/d3d8/rtquat.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtras.h (renamed from rwsdk/include/d3d8/rtras.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtras.rpe (renamed from rwsdk/include/d3d8/rtras.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtray.h (renamed from rwsdk/include/d3d8/rtray.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtray.rpe (renamed from rwsdk/include/d3d8/rtray.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtskinsp.h57
-rw-r--r--sdk/rwsdk/include/d3d8/rtskinsp.rpe163
-rw-r--r--sdk/rwsdk/include/d3d8/rtslerp.h (renamed from rwsdk/include/d3d8/rtslerp.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtslerp.rpe (renamed from rwsdk/include/d3d8/rtslerp.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtsplpvs.h (renamed from rwsdk/include/d3d8/rtsplpvs.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtsplpvs.rpe (renamed from rwsdk/include/d3d8/rtsplpvs.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rttiff.h (renamed from rwsdk/include/d3d8/rttiff.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rttiff.rpe (renamed from rwsdk/include/d3d8/rttiff.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rttilerd.h (renamed from rwsdk/include/d3d8/rttilerd.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rttilerd.rpe (renamed from rwsdk/include/d3d8/rttilerd.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rttoc.h (renamed from rwsdk/include/d3d8/rttoc.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rttoc.rpe (renamed from rwsdk/include/d3d8/rttoc.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtvcat.h (renamed from rwsdk/include/d3d8/rtvcat.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtvcat.rpe (renamed from rwsdk/include/d3d8/rtvcat.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtworld.h (renamed from rwsdk/include/d3d8/rtworld.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rtworld.rpe (renamed from rwsdk/include/d3d8/rtworld.rpe)0
-rw-r--r--sdk/rwsdk/include/d3d8/rwcore.h (renamed from rwsdk/include/d3d8/rwcore.h)0
-rw-r--r--sdk/rwsdk/include/d3d8/rwplcore.h (renamed from rwsdk/include/d3d8/rwplcore.h)0
-rw-r--r--src/audio/eax/eax-util.cpp (renamed from eax/eax-util.cpp)0
-rw-r--r--src/audio/eax/eax-util.h (renamed from eax/eax-util.h)0
-rw-r--r--src/audio/eax/eax.h (renamed from eax/eax.h)0
-rw-r--r--src/audio/oal/stream.cpp106
-rw-r--r--src/audio/sampman.h37
-rw-r--r--src/audio/sampman_oal.cpp58
325 files changed, 1696 insertions, 16 deletions
diff --git a/.gitmodules b/.gitmodules
index fec30cac..bf1e33a5 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,15 @@
[submodule "librw"]
path = librw
url = https://github.com/aap/librw
+[submodule "opus"]
+ path = opus
+ url = https://github.com/xiph/opus.git
+ branch = master
+[submodule "opusfile"]
+ path = opusfile
+ url = https://github.com/xiph/opusfile.git
+ branch = master
+[submodule "ogg"]
+ path = ogg
+ url = https://github.com/xiph/ogg.git
+ branch = master
diff --git a/README.md b/README.md
index d9121eff..c8fa3984 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ such that we have a working game at all times.
- **If you use 64-bit D3D9**: We don't ship 64-bit Dx9 SDK. You need to download it from Microsoft if you don't have it(although it should come pre-installed after some Windows version)
-> :information_source: **If you choose OpenAL(OAL) on Windows** You must read [Running OAL build on Windows](https://github.com/GTAmodding/re3/wiki/Running-OAL-build-on-Windows).
+> :information_source: **If you choose OpenAL on Windows** You must read [Running OpenAL build on Windows](https://github.com/GTAmodding/re3/wiki/Running-OpenAL-build-on-Windows).
> :information_source: **Did you notice librw?** re3 uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of re3, but you also can use LIBRW enviorenment variable to specify path to your own librw.
diff --git a/dxsdk/Include/Msvidctl.tlb b/dxsdk/Include/Msvidctl.tlb
deleted file mode 100644
index b501106c..00000000
--- a/dxsdk/Include/Msvidctl.tlb
+++ /dev/null
Binary files differ
diff --git a/dxsdk/Include/Tuner.tlb b/dxsdk/Include/Tuner.tlb
deleted file mode 100644
index c90fc4ec..00000000
--- a/dxsdk/Include/Tuner.tlb
+++ /dev/null
Binary files differ
diff --git a/ogg b/ogg
new file mode 160000
+Subproject 1e8d7cce266df61afc9d35db0283bbacc0237ab
diff --git a/opus b/opus
new file mode 160000
+Subproject 8aa7767207b1e3633004c26aecbb67d1c511848
diff --git a/opusfile b/opusfile
new file mode 160000
+Subproject eb252537f374e30f7b68b84223c5a2303c05eca
diff --git a/premake5.lua b/premake5.lua
index 96382d4d..acb15555 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -24,6 +24,11 @@ newoption {
description = "Build and use librw from this solution"
}
+newoption {
+ trigger = "with-opus",
+ description = "Build with opus"
+}
+
if(_OPTIONS["with-librw"]) then
Librw = "librw"
else
@@ -160,6 +165,7 @@ project "reVC"
files { addSrcFiles("src") }
files { addSrcFiles("src/animation") }
files { addSrcFiles("src/audio") }
+ files { addSrcFiles("src/audio/eax") }
files { addSrcFiles("src/audio/oal") }
files { addSrcFiles("src/control") }
files { addSrcFiles("src/core") }
@@ -177,11 +183,11 @@ project "reVC"
files { addSrcFiles("src/vehicles") }
files { addSrcFiles("src/weapons") }
files { addSrcFiles("src/extras") }
- files { addSrcFiles("eax") }
includedirs { "src" }
includedirs { "src/animation" }
includedirs { "src/audio" }
+ includedirs { "src/audio/eax" }
includedirs { "src/audio/oal" }
includedirs { "src/control" }
includedirs { "src/core" }
@@ -199,12 +205,26 @@ project "reVC"
includedirs { "src/vehicles" }
includedirs { "src/weapons" }
includedirs { "src/extras" }
- includedirs { "eax" }
+ if _OPTIONS["with-opus"] then
+ includedirs { "ogg/include" }
+ includedirs { "opus/include" }
+ includedirs { "opusfile/include" }
+ end
+
filter "platforms:*mss"
defines { "AUDIO_MSS" }
- includedirs { "milessdk/include" }
- libdirs { "milessdk/lib" }
+ includedirs { "sdk/milessdk/include" }
+ libdirs { "sdk/milessdk/lib" }
+
+ if _OPTIONS["with-opus"] then
+ filter "platforms:win*"
+ libdirs { "ogg/win32/VS2015/Win32/%{cfg.buildcfg}" }
+ libdirs { "opus/win32/VS2015/Win32/%{cfg.buildcfg}" }
+ libdirs { "opusfile/win32/VS2015/Win32/Release-NoHTTP" }
+ filter {}
+ defines { "AUDIO_OPUS" }
+ end
filter "platforms:*oal"
defines { "AUDIO_OAL" }
@@ -239,11 +259,18 @@ project "reVC"
filter "platforms:linux*oal"
links { "openal", "mpg123", "sndfile", "pthread" }
+
+ if _OPTIONS["with-opus"] then
+ filter {}
+ links { "libogg" }
+ links { "opus" }
+ links { "opusfile" }
+ end
filter "platforms:*RW34*"
staticruntime "on"
- includedirs { "rwsdk/include/d3d8" }
- libdirs { "rwsdk/lib/d3d8/release" }
+ includedirs { "sdk/rwsdk/include/d3d8" }
+ libdirs { "sdk/rwsdk/lib/d3d8/release" }
links { "rwcore", "rpworld", "rpmatfx", "rpskin", "rphanim", "rtbmp", "rtquat", "rtanim", "rtcharse", "rpanisot" }
defines { "RWLIBS" }
linkoptions "/SECTION:_rwcseg,ER!W /MERGE:_rwcseg=.text"
@@ -262,8 +289,8 @@ project "reVC"
links { "d3d9" }
filter "platforms:*x86*d3d*"
- includedirs { "dxsdk/include" }
- libdirs { "dxsdk/lib" }
+ includedirs { "sdk/dx8sdk/include" }
+ libdirs { "sdk/dx8sdk/lib" }
filter "platforms:*amd64*d3d9*"
defines { "USE_D3D9" }
diff --git a/dxsdk/Include/Amvideo.h b/sdk/dx8sdk/Include/Amvideo.h
index 89339266..89339266 100644
--- a/dxsdk/Include/Amvideo.h
+++ b/sdk/dx8sdk/Include/Amvideo.h
diff --git a/dxsdk/Include/Bdatif.h b/sdk/dx8sdk/Include/Bdatif.h
index 9ea62f09..9ea62f09 100644
--- a/dxsdk/Include/Bdatif.h
+++ b/sdk/dx8sdk/Include/Bdatif.h
diff --git a/dxsdk/Include/DShow.h b/sdk/dx8sdk/Include/DShow.h
index 54b6fbfb..54b6fbfb 100644
--- a/dxsdk/Include/DShow.h
+++ b/sdk/dx8sdk/Include/DShow.h
diff --git a/dxsdk/Include/DShowIDL/Bdatif.idl b/sdk/dx8sdk/Include/DShowIDL/Bdatif.idl
index bc94db40..bc94db40 100644
--- a/dxsdk/Include/DShowIDL/Bdatif.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Bdatif.idl
diff --git a/dxsdk/Include/DShowIDL/Mpeg2Data.idl b/sdk/dx8sdk/Include/DShowIDL/Mpeg2Data.idl
index 6762c49c..6762c49c 100644
--- a/dxsdk/Include/DShowIDL/Mpeg2Data.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Mpeg2Data.idl
diff --git a/dxsdk/Include/DShowIDL/Mpeg2Structs.idl b/sdk/dx8sdk/Include/DShowIDL/Mpeg2Structs.idl
index e04353f4..e04353f4 100644
--- a/dxsdk/Include/DShowIDL/Mpeg2Structs.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Mpeg2Structs.idl
diff --git a/dxsdk/Include/DShowIDL/Mstvca.idl b/sdk/dx8sdk/Include/DShowIDL/Mstvca.idl
index a9b257d8..a9b257d8 100644
--- a/dxsdk/Include/DShowIDL/Mstvca.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Mstvca.idl
diff --git a/dxsdk/Include/DShowIDL/Mstvgs.idl b/sdk/dx8sdk/Include/DShowIDL/Mstvgs.idl
index 7ce83f13..7ce83f13 100644
--- a/dxsdk/Include/DShowIDL/Mstvgs.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Mstvgs.idl
diff --git a/dxsdk/Include/DShowIDL/Msvidctl.idl b/sdk/dx8sdk/Include/DShowIDL/Msvidctl.idl
index d1a4d94e..d1a4d94e 100644
--- a/dxsdk/Include/DShowIDL/Msvidctl.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Msvidctl.idl
diff --git a/dxsdk/Include/DShowIDL/Segment.idl b/sdk/dx8sdk/Include/DShowIDL/Segment.idl
index a9895cbd..a9895cbd 100644
--- a/dxsdk/Include/DShowIDL/Segment.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Segment.idl
diff --git a/dxsdk/Include/DShowIDL/Videoacc.idl b/sdk/dx8sdk/Include/DShowIDL/Videoacc.idl
index 6c55aa73..6c55aa73 100644
--- a/dxsdk/Include/DShowIDL/Videoacc.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Videoacc.idl
diff --git a/dxsdk/Include/DShowIDL/Vmrender.idl b/sdk/dx8sdk/Include/DShowIDL/Vmrender.idl
index ed5e50ec..ed5e50ec 100644
--- a/dxsdk/Include/DShowIDL/Vmrender.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/Vmrender.idl
diff --git a/dxsdk/Include/DShowIDL/amstream.idl b/sdk/dx8sdk/Include/DShowIDL/amstream.idl
index f52db99e..f52db99e 100644
--- a/dxsdk/Include/DShowIDL/amstream.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/amstream.idl
diff --git a/dxsdk/Include/DShowIDL/austream.idl b/sdk/dx8sdk/Include/DShowIDL/austream.idl
index 4987aa08..4987aa08 100644
--- a/dxsdk/Include/DShowIDL/austream.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/austream.idl
diff --git a/dxsdk/Include/DShowIDL/axcore.idl b/sdk/dx8sdk/Include/DShowIDL/axcore.idl
index 4aceea78..4aceea78 100644
--- a/dxsdk/Include/DShowIDL/axcore.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/axcore.idl
diff --git a/dxsdk/Include/DShowIDL/axextend.idl b/sdk/dx8sdk/Include/DShowIDL/axextend.idl
index 257fb19a..257fb19a 100644
--- a/dxsdk/Include/DShowIDL/axextend.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/axextend.idl
diff --git a/dxsdk/Include/DShowIDL/bdaiface.idl b/sdk/dx8sdk/Include/DShowIDL/bdaiface.idl
index e1d27ca9..e1d27ca9 100644
--- a/dxsdk/Include/DShowIDL/bdaiface.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/bdaiface.idl
diff --git a/dxsdk/Include/DShowIDL/control.odl b/sdk/dx8sdk/Include/DShowIDL/control.odl
index 4fba88cf..4fba88cf 100644
--- a/dxsdk/Include/DShowIDL/control.odl
+++ b/sdk/dx8sdk/Include/DShowIDL/control.odl
diff --git a/dxsdk/Include/DShowIDL/ddstream.idl b/sdk/dx8sdk/Include/DShowIDL/ddstream.idl
index 30fa0475..30fa0475 100644
--- a/dxsdk/Include/DShowIDL/ddstream.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/ddstream.idl
diff --git a/dxsdk/Include/DShowIDL/devenum.idl b/sdk/dx8sdk/Include/DShowIDL/devenum.idl
index 257193f4..257193f4 100644
--- a/dxsdk/Include/DShowIDL/devenum.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/devenum.idl
diff --git a/dxsdk/Include/DShowIDL/dmodshow.idl b/sdk/dx8sdk/Include/DShowIDL/dmodshow.idl
index 246f5ae6..246f5ae6 100644
--- a/dxsdk/Include/DShowIDL/dmodshow.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/dmodshow.idl
diff --git a/dxsdk/Include/DShowIDL/dshowasf.idl b/sdk/dx8sdk/Include/DShowIDL/dshowasf.idl
index 8add5111..8add5111 100644
--- a/dxsdk/Include/DShowIDL/dshowasf.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/dshowasf.idl
diff --git a/dxsdk/Include/DShowIDL/dvdif.idl b/sdk/dx8sdk/Include/DShowIDL/dvdif.idl
index 4ad2bca1..4ad2bca1 100644
--- a/dxsdk/Include/DShowIDL/dvdif.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/dvdif.idl
diff --git a/dxsdk/Include/DShowIDL/dxtrans.idl b/sdk/dx8sdk/Include/DShowIDL/dxtrans.idl
index 6395d325..6395d325 100644
--- a/dxsdk/Include/DShowIDL/dxtrans.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/dxtrans.idl
diff --git a/dxsdk/Include/DShowIDL/dyngraph.idl b/sdk/dx8sdk/Include/DShowIDL/dyngraph.idl
index 569def6e..569def6e 100644
--- a/dxsdk/Include/DShowIDL/dyngraph.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/dyngraph.idl
diff --git a/dxsdk/Include/DShowIDL/mediaobj.idl b/sdk/dx8sdk/Include/DShowIDL/mediaobj.idl
index 6852ced9..6852ced9 100644
--- a/dxsdk/Include/DShowIDL/mediaobj.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/mediaobj.idl
diff --git a/dxsdk/Include/DShowIDL/medparam.idl b/sdk/dx8sdk/Include/DShowIDL/medparam.idl
index b45eab97..b45eab97 100644
--- a/dxsdk/Include/DShowIDL/medparam.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/medparam.idl
diff --git a/dxsdk/Include/DShowIDL/mixerocx.idl b/sdk/dx8sdk/Include/DShowIDL/mixerocx.idl
index 5e45b459..5e45b459 100644
--- a/dxsdk/Include/DShowIDL/mixerocx.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/mixerocx.idl
diff --git a/dxsdk/Include/DShowIDL/mmstream.idl b/sdk/dx8sdk/Include/DShowIDL/mmstream.idl
index b94f1ed1..b94f1ed1 100644
--- a/dxsdk/Include/DShowIDL/mmstream.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/mmstream.idl
diff --git a/dxsdk/Include/DShowIDL/mstve.idl b/sdk/dx8sdk/Include/DShowIDL/mstve.idl
index 07383041..07383041 100644
--- a/dxsdk/Include/DShowIDL/mstve.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/mstve.idl
diff --git a/dxsdk/Include/DShowIDL/qedit.idl b/sdk/dx8sdk/Include/DShowIDL/qedit.idl
index b75a3e35..b75a3e35 100644
--- a/dxsdk/Include/DShowIDL/qedit.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/qedit.idl
diff --git a/dxsdk/Include/DShowIDL/regbag.idl b/sdk/dx8sdk/Include/DShowIDL/regbag.idl
index 103aff17..103aff17 100644
--- a/dxsdk/Include/DShowIDL/regbag.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/regbag.idl
diff --git a/dxsdk/Include/DShowIDL/sbe.idl b/sdk/dx8sdk/Include/DShowIDL/sbe.idl
index 246b148c..246b148c 100644
--- a/dxsdk/Include/DShowIDL/sbe.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/sbe.idl
diff --git a/dxsdk/Include/DShowIDL/strmif.idl b/sdk/dx8sdk/Include/DShowIDL/strmif.idl
index 87da1d8b..87da1d8b 100644
--- a/dxsdk/Include/DShowIDL/strmif.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/strmif.idl
diff --git a/dxsdk/Include/DShowIDL/tuner.idl b/sdk/dx8sdk/Include/DShowIDL/tuner.idl
index 75f1beb4..75f1beb4 100644
--- a/dxsdk/Include/DShowIDL/tuner.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/tuner.idl
diff --git a/dxsdk/Include/DShowIDL/tvratings.idl b/sdk/dx8sdk/Include/DShowIDL/tvratings.idl
index 5bf80214..5bf80214 100644
--- a/dxsdk/Include/DShowIDL/tvratings.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/tvratings.idl
diff --git a/dxsdk/Include/DShowIDL/vidcap.idl b/sdk/dx8sdk/Include/DShowIDL/vidcap.idl
index 523bfde3..523bfde3 100644
--- a/dxsdk/Include/DShowIDL/vidcap.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/vidcap.idl
diff --git a/dxsdk/Include/DShowIDL/vmr9.idl b/sdk/dx8sdk/Include/DShowIDL/vmr9.idl
index ae9245f2..ae9245f2 100644
--- a/dxsdk/Include/DShowIDL/vmr9.idl
+++ b/sdk/dx8sdk/Include/DShowIDL/vmr9.idl
diff --git a/dxsdk/Include/DxDiag.h b/sdk/dx8sdk/Include/DxDiag.h
index 602c88f0..602c88f0 100644
--- a/dxsdk/Include/DxDiag.h
+++ b/sdk/dx8sdk/Include/DxDiag.h
diff --git a/dxsdk/Include/Iwstdec.h b/sdk/dx8sdk/Include/Iwstdec.h
index 40007a86..40007a86 100644
--- a/dxsdk/Include/Iwstdec.h
+++ b/sdk/dx8sdk/Include/Iwstdec.h
diff --git a/dxsdk/Include/Mpeg2Bits.h b/sdk/dx8sdk/Include/Mpeg2Bits.h
index 45debbb6..45debbb6 100644
--- a/dxsdk/Include/Mpeg2Bits.h
+++ b/sdk/dx8sdk/Include/Mpeg2Bits.h
diff --git a/dxsdk/Include/Mpeg2Error.h b/sdk/dx8sdk/Include/Mpeg2Error.h
index e2731fb3..e2731fb3 100644
--- a/dxsdk/Include/Mpeg2Error.h
+++ b/sdk/dx8sdk/Include/Mpeg2Error.h
diff --git a/dxsdk/Include/Mstvca.h b/sdk/dx8sdk/Include/Mstvca.h
index b840f3e4..b840f3e4 100644
--- a/dxsdk/Include/Mstvca.h
+++ b/sdk/dx8sdk/Include/Mstvca.h
diff --git a/dxsdk/Include/Mstve.h b/sdk/dx8sdk/Include/Mstve.h
index 4cee53a6..4cee53a6 100644
--- a/dxsdk/Include/Mstve.h
+++ b/sdk/dx8sdk/Include/Mstve.h
diff --git a/dxsdk/Include/Msvidctl.h b/sdk/dx8sdk/Include/Msvidctl.h
index 82e1e1e3..82e1e1e3 100644
--- a/dxsdk/Include/Msvidctl.h
+++ b/sdk/dx8sdk/Include/Msvidctl.h
diff --git a/dxsdk/Include/PixPlugin.h b/sdk/dx8sdk/Include/PixPlugin.h
index 4825cd3a..4825cd3a 100644
--- a/dxsdk/Include/PixPlugin.h
+++ b/sdk/dx8sdk/Include/PixPlugin.h
diff --git a/dxsdk/Include/Segment.h b/sdk/dx8sdk/Include/Segment.h
index da51f252..da51f252 100644
--- a/dxsdk/Include/Segment.h
+++ b/sdk/dx8sdk/Include/Segment.h
diff --git a/dxsdk/Include/activecf.h b/sdk/dx8sdk/Include/activecf.h
index 5efd8cfc..5efd8cfc 100644
--- a/dxsdk/Include/activecf.h
+++ b/sdk/dx8sdk/Include/activecf.h
diff --git a/dxsdk/Include/amaudio.h b/sdk/dx8sdk/Include/amaudio.h
index cd6d0532..cd6d0532 100644
--- a/dxsdk/Include/amaudio.h
+++ b/sdk/dx8sdk/Include/amaudio.h
diff --git a/dxsdk/Include/amparse.h b/sdk/dx8sdk/Include/amparse.h
index ce7a388d..ce7a388d 100644
--- a/dxsdk/Include/amparse.h
+++ b/sdk/dx8sdk/Include/amparse.h
diff --git a/dxsdk/Include/amstream.h b/sdk/dx8sdk/Include/amstream.h
index 421fb80e..421fb80e 100644
--- a/dxsdk/Include/amstream.h
+++ b/sdk/dx8sdk/Include/amstream.h
diff --git a/dxsdk/Include/amva.h b/sdk/dx8sdk/Include/amva.h
index fd46164f..fd46164f 100644
--- a/dxsdk/Include/amva.h
+++ b/sdk/dx8sdk/Include/amva.h
diff --git a/dxsdk/Include/atsmedia.h b/sdk/dx8sdk/Include/atsmedia.h
index 3e268a55..3e268a55 100644
--- a/dxsdk/Include/atsmedia.h
+++ b/sdk/dx8sdk/Include/atsmedia.h
diff --git a/dxsdk/Include/audevcod.h b/sdk/dx8sdk/Include/audevcod.h
index 98dfbfc2..98dfbfc2 100644
--- a/dxsdk/Include/audevcod.h
+++ b/sdk/dx8sdk/Include/audevcod.h
diff --git a/dxsdk/Include/austream.h b/sdk/dx8sdk/Include/austream.h
index b6ed5c27..b6ed5c27 100644
--- a/dxsdk/Include/austream.h
+++ b/sdk/dx8sdk/Include/austream.h
diff --git a/dxsdk/Include/aviriff.h b/sdk/dx8sdk/Include/aviriff.h
index 5ba2990c..5ba2990c 100644
--- a/dxsdk/Include/aviriff.h
+++ b/sdk/dx8sdk/Include/aviriff.h
diff --git a/dxsdk/Include/bdaiface.h b/sdk/dx8sdk/Include/bdaiface.h
index 5b149029..5b149029 100644
--- a/dxsdk/Include/bdaiface.h
+++ b/sdk/dx8sdk/Include/bdaiface.h
diff --git a/dxsdk/Include/bdamedia.h b/sdk/dx8sdk/Include/bdamedia.h
index 92389192..92389192 100644
--- a/dxsdk/Include/bdamedia.h
+++ b/sdk/dx8sdk/Include/bdamedia.h
diff --git a/dxsdk/Include/bdatypes.h b/sdk/dx8sdk/Include/bdatypes.h
index 2c44f1ba..2c44f1ba 100644
--- a/dxsdk/Include/bdatypes.h
+++ b/sdk/dx8sdk/Include/bdatypes.h
diff --git a/dxsdk/Include/comlite.h b/sdk/dx8sdk/Include/comlite.h
index 5fc91932..5fc91932 100644
--- a/dxsdk/Include/comlite.h
+++ b/sdk/dx8sdk/Include/comlite.h
diff --git a/dxsdk/Include/control.h b/sdk/dx8sdk/Include/control.h
index 906fbc4f..906fbc4f 100644
--- a/dxsdk/Include/control.h
+++ b/sdk/dx8sdk/Include/control.h
diff --git a/dxsdk/Include/d3d.h b/sdk/dx8sdk/Include/d3d.h
index eea7dff4..eea7dff4 100644
--- a/dxsdk/Include/d3d.h
+++ b/sdk/dx8sdk/Include/d3d.h
diff --git a/dxsdk/Include/d3d8.h b/sdk/dx8sdk/Include/d3d8.h
index adf91ebf..adf91ebf 100644
--- a/dxsdk/Include/d3d8.h
+++ b/sdk/dx8sdk/Include/d3d8.h
diff --git a/dxsdk/Include/d3d8caps.h b/sdk/dx8sdk/Include/d3d8caps.h
index 6af8e6c4..6af8e6c4 100644
--- a/dxsdk/Include/d3d8caps.h
+++ b/sdk/dx8sdk/Include/d3d8caps.h
diff --git a/dxsdk/Include/d3d8types.h b/sdk/dx8sdk/Include/d3d8types.h
index 5d622af4..5d622af4 100644
--- a/dxsdk/Include/d3d8types.h
+++ b/sdk/dx8sdk/Include/d3d8types.h
diff --git a/dxsdk/Include/d3d9.h b/sdk/dx8sdk/Include/d3d9.h
index 85bd9579..85bd9579 100644
--- a/dxsdk/Include/d3d9.h
+++ b/sdk/dx8sdk/Include/d3d9.h
diff --git a/dxsdk/Include/d3d9caps.h b/sdk/dx8sdk/Include/d3d9caps.h
index 6489f0ef..6489f0ef 100644
--- a/dxsdk/Include/d3d9caps.h
+++ b/sdk/dx8sdk/Include/d3d9caps.h
diff --git a/dxsdk/Include/d3d9types.h b/sdk/dx8sdk/Include/d3d9types.h
index 4c2108fd..4c2108fd 100644
--- a/dxsdk/Include/d3d9types.h
+++ b/sdk/dx8sdk/Include/d3d9types.h
diff --git a/dxsdk/Include/d3dcaps.h b/sdk/dx8sdk/Include/d3dcaps.h
index 6066c7ab..6066c7ab 100644
--- a/dxsdk/Include/d3dcaps.h
+++ b/sdk/dx8sdk/Include/d3dcaps.h
diff --git a/dxsdk/Include/d3drm.h b/sdk/dx8sdk/Include/d3drm.h
index 143c0e05..143c0e05 100644
--- a/dxsdk/Include/d3drm.h
+++ b/sdk/dx8sdk/Include/d3drm.h
diff --git a/dxsdk/Include/d3drmdef.h b/sdk/dx8sdk/Include/d3drmdef.h
index 9da4b18a..9da4b18a 100644
--- a/dxsdk/Include/d3drmdef.h
+++ b/sdk/dx8sdk/Include/d3drmdef.h
diff --git a/dxsdk/Include/d3drmobj.h b/sdk/dx8sdk/Include/d3drmobj.h
index 45ad81dd..45ad81dd 100644
--- a/dxsdk/Include/d3drmobj.h
+++ b/sdk/dx8sdk/Include/d3drmobj.h
diff --git a/dxsdk/Include/d3drmwin.h b/sdk/dx8sdk/Include/d3drmwin.h
index d051ef48..d051ef48 100644
--- a/dxsdk/Include/d3drmwin.h
+++ b/sdk/dx8sdk/Include/d3drmwin.h
diff --git a/dxsdk/Include/d3dtypes.h b/sdk/dx8sdk/Include/d3dtypes.h
index 79490418..79490418 100644
--- a/dxsdk/Include/d3dtypes.h
+++ b/sdk/dx8sdk/Include/d3dtypes.h
diff --git a/dxsdk/Include/d3dvec.inl b/sdk/dx8sdk/Include/d3dvec.inl
index ff7fdfea..ff7fdfea 100644
--- a/dxsdk/Include/d3dvec.inl
+++ b/sdk/dx8sdk/Include/d3dvec.inl
diff --git a/dxsdk/Include/d3dx.h b/sdk/dx8sdk/Include/d3dx.h
index 7a511e3f..7a511e3f 100644
--- a/dxsdk/Include/d3dx.h
+++ b/sdk/dx8sdk/Include/d3dx.h
diff --git a/dxsdk/Include/d3dx8.h b/sdk/dx8sdk/Include/d3dx8.h
index 31927a27..31927a27 100644
--- a/dxsdk/Include/d3dx8.h
+++ b/sdk/dx8sdk/Include/d3dx8.h
diff --git a/dxsdk/Include/d3dx8core.h b/sdk/dx8sdk/Include/d3dx8core.h
index 46552a95..46552a95 100644
--- a/dxsdk/Include/d3dx8core.h
+++ b/sdk/dx8sdk/Include/d3dx8core.h
diff --git a/dxsdk/Include/d3dx8effect.h b/sdk/dx8sdk/Include/d3dx8effect.h
index 97c44df9..97c44df9 100644
--- a/dxsdk/Include/d3dx8effect.h
+++ b/sdk/dx8sdk/Include/d3dx8effect.h
diff --git a/dxsdk/Include/d3dx8math.h b/sdk/dx8sdk/Include/d3dx8math.h
index 9c8f2030..9c8f2030 100644
--- a/dxsdk/Include/d3dx8math.h
+++ b/sdk/dx8sdk/Include/d3dx8math.h
diff --git a/dxsdk/Include/d3dx8math.inl b/sdk/dx8sdk/Include/d3dx8math.inl
index a64e5c54..a64e5c54 100644
--- a/dxsdk/Include/d3dx8math.inl
+++ b/sdk/dx8sdk/Include/d3dx8math.inl
diff --git a/dxsdk/Include/d3dx8mesh.h b/sdk/dx8sdk/Include/d3dx8mesh.h
index 5408cd31..5408cd31 100644
--- a/dxsdk/Include/d3dx8mesh.h
+++ b/sdk/dx8sdk/Include/d3dx8mesh.h
diff --git a/dxsdk/Include/d3dx8shape.h b/sdk/dx8sdk/Include/d3dx8shape.h
index b7ab6378..b7ab6378 100644
--- a/dxsdk/Include/d3dx8shape.h
+++ b/sdk/dx8sdk/Include/d3dx8shape.h
diff --git a/dxsdk/Include/d3dx8tex.h b/sdk/dx8sdk/Include/d3dx8tex.h
index dd9fe9d0..dd9fe9d0 100644
--- a/dxsdk/Include/d3dx8tex.h
+++ b/sdk/dx8sdk/Include/d3dx8tex.h
diff --git a/dxsdk/Include/d3dx9.h b/sdk/dx8sdk/Include/d3dx9.h
index 822f0a81..822f0a81 100644
--- a/dxsdk/Include/d3dx9.h
+++ b/sdk/dx8sdk/Include/d3dx9.h
diff --git a/dxsdk/Include/d3dx9anim.h b/sdk/dx8sdk/Include/d3dx9anim.h
index fedb1dbe..fedb1dbe 100644
--- a/dxsdk/Include/d3dx9anim.h
+++ b/sdk/dx8sdk/Include/d3dx9anim.h
diff --git a/dxsdk/Include/d3dx9core.h b/sdk/dx8sdk/Include/d3dx9core.h
index bc65377c..bc65377c 100644
--- a/dxsdk/Include/d3dx9core.h
+++ b/sdk/dx8sdk/Include/d3dx9core.h
diff --git a/dxsdk/Include/d3dx9effect.h b/sdk/dx8sdk/Include/d3dx9effect.h
index 3359a1d5..3359a1d5 100644
--- a/dxsdk/Include/d3dx9effect.h
+++ b/sdk/dx8sdk/Include/d3dx9effect.h
diff --git a/dxsdk/Include/d3dx9math.h b/sdk/dx8sdk/Include/d3dx9math.h
index 2ba4a606..2ba4a606 100644
--- a/dxsdk/Include/d3dx9math.h
+++ b/sdk/dx8sdk/Include/d3dx9math.h
diff --git a/dxsdk/Include/d3dx9math.inl b/sdk/dx8sdk/Include/d3dx9math.inl
index ecf52f96..ecf52f96 100644
--- a/dxsdk/Include/d3dx9math.inl
+++ b/sdk/dx8sdk/Include/d3dx9math.inl
diff --git a/dxsdk/Include/d3dx9mesh.h b/sdk/dx8sdk/Include/d3dx9mesh.h
index ba2bd47d..ba2bd47d 100644
--- a/dxsdk/Include/d3dx9mesh.h
+++ b/sdk/dx8sdk/Include/d3dx9mesh.h
diff --git a/dxsdk/Include/d3dx9shader.h b/sdk/dx8sdk/Include/d3dx9shader.h
index cae915a7..cae915a7 100644
--- a/dxsdk/Include/d3dx9shader.h
+++ b/sdk/dx8sdk/Include/d3dx9shader.h
diff --git a/dxsdk/Include/d3dx9shape.h b/sdk/dx8sdk/Include/d3dx9shape.h
index 4c230915..4c230915 100644
--- a/dxsdk/Include/d3dx9shape.h
+++ b/sdk/dx8sdk/Include/d3dx9shape.h
diff --git a/dxsdk/Include/d3dx9tex.h b/sdk/dx8sdk/Include/d3dx9tex.h
index 0d62b699..0d62b699 100644
--- a/dxsdk/Include/d3dx9tex.h
+++ b/sdk/dx8sdk/Include/d3dx9tex.h
diff --git a/dxsdk/Include/d3dx9xof.h b/sdk/dx8sdk/Include/d3dx9xof.h
index c513f0fc..c513f0fc 100644
--- a/dxsdk/Include/d3dx9xof.h
+++ b/sdk/dx8sdk/Include/d3dx9xof.h
diff --git a/dxsdk/Include/d3dxcore.h b/sdk/dx8sdk/Include/d3dxcore.h
index da1e9893..da1e9893 100644
--- a/dxsdk/Include/d3dxcore.h
+++ b/sdk/dx8sdk/Include/d3dxcore.h
diff --git a/dxsdk/Include/d3dxerr.h b/sdk/dx8sdk/Include/d3dxerr.h
index 155005b7..155005b7 100644
--- a/dxsdk/Include/d3dxerr.h
+++ b/sdk/dx8sdk/Include/d3dxerr.h
diff --git a/dxsdk/Include/d3dxmath.h b/sdk/dx8sdk/Include/d3dxmath.h
index 42f00d1a..42f00d1a 100644
--- a/dxsdk/Include/d3dxmath.h
+++ b/sdk/dx8sdk/Include/d3dxmath.h
diff --git a/dxsdk/Include/d3dxmath.inl b/sdk/dx8sdk/Include/d3dxmath.inl
index 05f04319..05f04319 100644
--- a/dxsdk/Include/d3dxmath.inl
+++ b/sdk/dx8sdk/Include/d3dxmath.inl
diff --git a/dxsdk/Include/d3dxshapes.h b/sdk/dx8sdk/Include/d3dxshapes.h
index 765c59f5..765c59f5 100644
--- a/dxsdk/Include/d3dxshapes.h
+++ b/sdk/dx8sdk/Include/d3dxshapes.h
diff --git a/dxsdk/Include/d3dxsprite.h b/sdk/dx8sdk/Include/d3dxsprite.h
index a08b4a99..a08b4a99 100644
--- a/dxsdk/Include/d3dxsprite.h
+++ b/sdk/dx8sdk/Include/d3dxsprite.h
diff --git a/dxsdk/Include/ddraw.h b/sdk/dx8sdk/Include/ddraw.h
index e66314bf..e66314bf 100644
--- a/dxsdk/Include/ddraw.h
+++ b/sdk/dx8sdk/Include/ddraw.h
diff --git a/dxsdk/Include/ddstream.h b/sdk/dx8sdk/Include/ddstream.h
index 49c3171e..49c3171e 100644
--- a/dxsdk/Include/ddstream.h
+++ b/sdk/dx8sdk/Include/ddstream.h
diff --git a/dxsdk/Include/dinput.h b/sdk/dx8sdk/Include/dinput.h
index 5aac2563..5aac2563 100644
--- a/dxsdk/Include/dinput.h
+++ b/sdk/dx8sdk/Include/dinput.h
diff --git a/dxsdk/Include/dinputd.h b/sdk/dx8sdk/Include/dinputd.h
index f5343538..f5343538 100644
--- a/dxsdk/Include/dinputd.h
+++ b/sdk/dx8sdk/Include/dinputd.h
diff --git a/dxsdk/Include/dls1.h b/sdk/dx8sdk/Include/dls1.h
index fc88a317..fc88a317 100644
--- a/dxsdk/Include/dls1.h
+++ b/sdk/dx8sdk/Include/dls1.h
diff --git a/dxsdk/Include/dls2.h b/sdk/dx8sdk/Include/dls2.h
index 30cec23a..30cec23a 100644
--- a/dxsdk/Include/dls2.h
+++ b/sdk/dx8sdk/Include/dls2.h
diff --git a/dxsdk/Include/dmdls.h b/sdk/dx8sdk/Include/dmdls.h
index c5072681..c5072681 100644
--- a/dxsdk/Include/dmdls.h
+++ b/sdk/dx8sdk/Include/dmdls.h
diff --git a/dxsdk/Include/dmerror.h b/sdk/dx8sdk/Include/dmerror.h
index a0a61ffc..a0a61ffc 100644
--- a/dxsdk/Include/dmerror.h
+++ b/sdk/dx8sdk/Include/dmerror.h
diff --git a/dxsdk/Include/dmksctrl.h b/sdk/dx8sdk/Include/dmksctrl.h
index f53e714b..f53e714b 100644
--- a/dxsdk/Include/dmksctrl.h
+++ b/sdk/dx8sdk/Include/dmksctrl.h
diff --git a/dxsdk/Include/dmo.h b/sdk/dx8sdk/Include/dmo.h
index 30cc2e9d..30cc2e9d 100644
--- a/dxsdk/Include/dmo.h
+++ b/sdk/dx8sdk/Include/dmo.h
diff --git a/dxsdk/Include/dmodshow.h b/sdk/dx8sdk/Include/dmodshow.h
index 48b323d8..48b323d8 100644
--- a/dxsdk/Include/dmodshow.h
+++ b/sdk/dx8sdk/Include/dmodshow.h
diff --git a/dxsdk/Include/dmoimpl.h b/sdk/dx8sdk/Include/dmoimpl.h
index 8ba6e3a8..8ba6e3a8 100644
--- a/dxsdk/Include/dmoimpl.h
+++ b/sdk/dx8sdk/Include/dmoimpl.h
diff --git a/dxsdk/Include/dmoreg.h b/sdk/dx8sdk/Include/dmoreg.h
index 6c6c22f7..6c6c22f7 100644
--- a/dxsdk/Include/dmoreg.h
+++ b/sdk/dx8sdk/Include/dmoreg.h
diff --git a/dxsdk/Include/dmort.h b/sdk/dx8sdk/Include/dmort.h
index cfe25a4a..cfe25a4a 100644
--- a/dxsdk/Include/dmort.h
+++ b/sdk/dx8sdk/Include/dmort.h
diff --git a/dxsdk/Include/dmplugin.h b/sdk/dx8sdk/Include/dmplugin.h
index 3f3e1414..3f3e1414 100644
--- a/dxsdk/Include/dmplugin.h
+++ b/sdk/dx8sdk/Include/dmplugin.h
diff --git a/dxsdk/Include/dmusbuff.h b/sdk/dx8sdk/Include/dmusbuff.h
index 54884538..54884538 100644
--- a/dxsdk/Include/dmusbuff.h
+++ b/sdk/dx8sdk/Include/dmusbuff.h
diff --git a/dxsdk/Include/dmusicc.h b/sdk/dx8sdk/Include/dmusicc.h
index 3084d110..3084d110 100644
--- a/dxsdk/Include/dmusicc.h
+++ b/sdk/dx8sdk/Include/dmusicc.h
diff --git a/dxsdk/Include/dmusicf.h b/sdk/dx8sdk/Include/dmusicf.h
index 195edd7e..195edd7e 100644
--- a/dxsdk/Include/dmusicf.h
+++ b/sdk/dx8sdk/Include/dmusicf.h
diff --git a/dxsdk/Include/dmusici.h b/sdk/dx8sdk/Include/dmusici.h
index d985806b..d985806b 100644
--- a/dxsdk/Include/dmusici.h
+++ b/sdk/dx8sdk/Include/dmusici.h
diff --git a/dxsdk/Include/dmusics.h b/sdk/dx8sdk/Include/dmusics.h
index 8f1e45d8..8f1e45d8 100644
--- a/dxsdk/Include/dmusics.h
+++ b/sdk/dx8sdk/Include/dmusics.h
diff --git a/dxsdk/Include/dpaddr.h b/sdk/dx8sdk/Include/dpaddr.h
index 6e3fccf6..6e3fccf6 100644
--- a/dxsdk/Include/dpaddr.h
+++ b/sdk/dx8sdk/Include/dpaddr.h
diff --git a/dxsdk/Include/dplay.h b/sdk/dx8sdk/Include/dplay.h
index d91c0a5e..d91c0a5e 100644
--- a/dxsdk/Include/dplay.h
+++ b/sdk/dx8sdk/Include/dplay.h
diff --git a/dxsdk/Include/dplay8.h b/sdk/dx8sdk/Include/dplay8.h
index c6799a9d..c6799a9d 100644
--- a/dxsdk/Include/dplay8.h
+++ b/sdk/dx8sdk/Include/dplay8.h
diff --git a/dxsdk/Include/dplobby.h b/sdk/dx8sdk/Include/dplobby.h
index c91d3238..c91d3238 100644
--- a/dxsdk/Include/dplobby.h
+++ b/sdk/dx8sdk/Include/dplobby.h
diff --git a/dxsdk/Include/dplobby8.h b/sdk/dx8sdk/Include/dplobby8.h
index e63a5aac..e63a5aac 100644
--- a/dxsdk/Include/dplobby8.h
+++ b/sdk/dx8sdk/Include/dplobby8.h
diff --git a/dxsdk/Include/dpnathlp.h b/sdk/dx8sdk/Include/dpnathlp.h
index 720e43ad..720e43ad 100644
--- a/dxsdk/Include/dpnathlp.h
+++ b/sdk/dx8sdk/Include/dpnathlp.h
diff --git a/dxsdk/Include/dsconf.h b/sdk/dx8sdk/Include/dsconf.h
index 018f65a0..018f65a0 100644
--- a/dxsdk/Include/dsconf.h
+++ b/sdk/dx8sdk/Include/dsconf.h
diff --git a/dxsdk/Include/dsetup.h b/sdk/dx8sdk/Include/dsetup.h
index 0f4e3b0e..0f4e3b0e 100644
--- a/dxsdk/Include/dsetup.h
+++ b/sdk/dx8sdk/Include/dsetup.h
diff --git a/dxsdk/Include/dshowasf.h b/sdk/dx8sdk/Include/dshowasf.h
index 14d19487..14d19487 100644
--- a/dxsdk/Include/dshowasf.h
+++ b/sdk/dx8sdk/Include/dshowasf.h
diff --git a/dxsdk/Include/dsound.h b/sdk/dx8sdk/Include/dsound.h
index 8020a660..8020a660 100644
--- a/dxsdk/Include/dsound.h
+++ b/sdk/dx8sdk/Include/dsound.h
diff --git a/dxsdk/Include/dv.h b/sdk/dx8sdk/Include/dv.h
index d0fe0485..d0fe0485 100644
--- a/dxsdk/Include/dv.h
+++ b/sdk/dx8sdk/Include/dv.h
diff --git a/dxsdk/Include/dvdevcod.h b/sdk/dx8sdk/Include/dvdevcod.h
index 15b47931..15b47931 100644
--- a/dxsdk/Include/dvdevcod.h
+++ b/sdk/dx8sdk/Include/dvdevcod.h
diff --git a/dxsdk/Include/dvdmedia.h b/sdk/dx8sdk/Include/dvdmedia.h
index 132c5bab..132c5bab 100644
--- a/dxsdk/Include/dvdmedia.h
+++ b/sdk/dx8sdk/Include/dvdmedia.h
diff --git a/dxsdk/Include/dvoice.h b/sdk/dx8sdk/Include/dvoice.h
index 000ac511..000ac511 100644
--- a/dxsdk/Include/dvoice.h
+++ b/sdk/dx8sdk/Include/dvoice.h
diff --git a/dxsdk/Include/dvp.h b/sdk/dx8sdk/Include/dvp.h
index c40dc793..c40dc793 100644
--- a/dxsdk/Include/dvp.h
+++ b/sdk/dx8sdk/Include/dvp.h
diff --git a/dxsdk/Include/dx7todx8.h b/sdk/dx8sdk/Include/dx7todx8.h
index a513d693..a513d693 100644
--- a/dxsdk/Include/dx7todx8.h
+++ b/sdk/dx8sdk/Include/dx7todx8.h
diff --git a/dxsdk/Include/dxerr8.h b/sdk/dx8sdk/Include/dxerr8.h
index 8b7813da..8b7813da 100644
--- a/dxsdk/Include/dxerr8.h
+++ b/sdk/dx8sdk/Include/dxerr8.h
diff --git a/dxsdk/Include/dxerr9.h b/sdk/dx8sdk/Include/dxerr9.h
index 3fc6fba3..3fc6fba3 100644
--- a/dxsdk/Include/dxerr9.h
+++ b/sdk/dx8sdk/Include/dxerr9.h
diff --git a/dxsdk/Include/dxfile.h b/sdk/dx8sdk/Include/dxfile.h
index 8b5995a5..8b5995a5 100644
--- a/dxsdk/Include/dxfile.h
+++ b/sdk/dx8sdk/Include/dxfile.h
diff --git a/dxsdk/Include/dxtrans.h b/sdk/dx8sdk/Include/dxtrans.h
index 8df2ff77..8df2ff77 100644
--- a/dxsdk/Include/dxtrans.h
+++ b/sdk/dx8sdk/Include/dxtrans.h
diff --git a/dxsdk/Include/dxva.h b/sdk/dx8sdk/Include/dxva.h
index 05d46680..05d46680 100644
--- a/dxsdk/Include/dxva.h
+++ b/sdk/dx8sdk/Include/dxva.h
diff --git a/dxsdk/Include/edevctrl.h b/sdk/dx8sdk/Include/edevctrl.h
index 07510447..07510447 100644
--- a/dxsdk/Include/edevctrl.h
+++ b/sdk/dx8sdk/Include/edevctrl.h
diff --git a/dxsdk/Include/edevdefs.h b/sdk/dx8sdk/Include/edevdefs.h
index 16af462d..16af462d 100644
--- a/dxsdk/Include/edevdefs.h
+++ b/sdk/dx8sdk/Include/edevdefs.h
diff --git a/dxsdk/Include/errors.h b/sdk/dx8sdk/Include/errors.h
index cee756fb..cee756fb 100644
--- a/dxsdk/Include/errors.h
+++ b/sdk/dx8sdk/Include/errors.h
diff --git a/dxsdk/Include/evcode.h b/sdk/dx8sdk/Include/evcode.h
index 32cc1958..32cc1958 100644
--- a/dxsdk/Include/evcode.h
+++ b/sdk/dx8sdk/Include/evcode.h
diff --git a/dxsdk/Include/il21dec.h b/sdk/dx8sdk/Include/il21dec.h
index a2c7fc67..a2c7fc67 100644
--- a/dxsdk/Include/il21dec.h
+++ b/sdk/dx8sdk/Include/il21dec.h
diff --git a/dxsdk/Include/ks.h b/sdk/dx8sdk/Include/ks.h
index 4f766b9f..4f766b9f 100644
--- a/dxsdk/Include/ks.h
+++ b/sdk/dx8sdk/Include/ks.h
diff --git a/dxsdk/Include/ksguid.h b/sdk/dx8sdk/Include/ksguid.h
index 42cd2c70..42cd2c70 100644
--- a/dxsdk/Include/ksguid.h
+++ b/sdk/dx8sdk/Include/ksguid.h
diff --git a/dxsdk/Include/ksmedia.h b/sdk/dx8sdk/Include/ksmedia.h
index 136c5ccd..136c5ccd 100644
--- a/dxsdk/Include/ksmedia.h
+++ b/sdk/dx8sdk/Include/ksmedia.h
diff --git a/dxsdk/Include/ksproxy.h b/sdk/dx8sdk/Include/ksproxy.h
index 62be50ec..62be50ec 100644
--- a/dxsdk/Include/ksproxy.h
+++ b/sdk/dx8sdk/Include/ksproxy.h
diff --git a/dxsdk/Include/ksuuids.h b/sdk/dx8sdk/Include/ksuuids.h
index 816fff26..816fff26 100644
--- a/dxsdk/Include/ksuuids.h
+++ b/sdk/dx8sdk/Include/ksuuids.h
diff --git a/dxsdk/Include/mediaerr.h b/sdk/dx8sdk/Include/mediaerr.h
index 74c242a5..74c242a5 100644
--- a/dxsdk/Include/mediaerr.h
+++ b/sdk/dx8sdk/Include/mediaerr.h
diff --git a/dxsdk/Include/mediaobj.h b/sdk/dx8sdk/Include/mediaobj.h
index d90d0943..d90d0943 100644
--- a/dxsdk/Include/mediaobj.h
+++ b/sdk/dx8sdk/Include/mediaobj.h
diff --git a/dxsdk/Include/medparam.h b/sdk/dx8sdk/Include/medparam.h
index db38cac8..db38cac8 100644
--- a/dxsdk/Include/medparam.h
+++ b/sdk/dx8sdk/Include/medparam.h
diff --git a/dxsdk/Include/mixerocx.h b/sdk/dx8sdk/Include/mixerocx.h
index fd7814e3..fd7814e3 100644
--- a/dxsdk/Include/mixerocx.h
+++ b/sdk/dx8sdk/Include/mixerocx.h
diff --git a/dxsdk/Include/mmstream.h b/sdk/dx8sdk/Include/mmstream.h
index ec91bc0b..ec91bc0b 100644
--- a/dxsdk/Include/mmstream.h
+++ b/sdk/dx8sdk/Include/mmstream.h
diff --git a/dxsdk/Include/mpconfig.h b/sdk/dx8sdk/Include/mpconfig.h
index 49f8cf10..49f8cf10 100644
--- a/dxsdk/Include/mpconfig.h
+++ b/sdk/dx8sdk/Include/mpconfig.h
diff --git a/dxsdk/Include/mpeg2data.h b/sdk/dx8sdk/Include/mpeg2data.h
index f3301c69..f3301c69 100644
--- a/dxsdk/Include/mpeg2data.h
+++ b/sdk/dx8sdk/Include/mpeg2data.h
diff --git a/dxsdk/Include/mpegtype.h b/sdk/dx8sdk/Include/mpegtype.h
index 4e79fcb0..4e79fcb0 100644
--- a/dxsdk/Include/mpegtype.h
+++ b/sdk/dx8sdk/Include/mpegtype.h
diff --git a/dxsdk/Include/multimon.h b/sdk/dx8sdk/Include/multimon.h
index 88e2862a..88e2862a 100644
--- a/dxsdk/Include/multimon.h
+++ b/sdk/dx8sdk/Include/multimon.h
diff --git a/dxsdk/Include/playlist.h b/sdk/dx8sdk/Include/playlist.h
index 1a796f3a..1a796f3a 100644
--- a/dxsdk/Include/playlist.h
+++ b/sdk/dx8sdk/Include/playlist.h
diff --git a/dxsdk/Include/qedit.h b/sdk/dx8sdk/Include/qedit.h
index 947c8a08..947c8a08 100644
--- a/dxsdk/Include/qedit.h
+++ b/sdk/dx8sdk/Include/qedit.h
diff --git a/dxsdk/Include/qnetwork.h b/sdk/dx8sdk/Include/qnetwork.h
index 2df21946..2df21946 100644
--- a/dxsdk/Include/qnetwork.h
+++ b/sdk/dx8sdk/Include/qnetwork.h
diff --git a/dxsdk/Include/regbag.h b/sdk/dx8sdk/Include/regbag.h
index 6cb54d78..6cb54d78 100644
--- a/dxsdk/Include/regbag.h
+++ b/sdk/dx8sdk/Include/regbag.h
diff --git a/dxsdk/Include/rmxfguid.h b/sdk/dx8sdk/Include/rmxfguid.h
index d3326ccc..d3326ccc 100644
--- a/dxsdk/Include/rmxfguid.h
+++ b/sdk/dx8sdk/Include/rmxfguid.h
diff --git a/dxsdk/Include/rmxftmpl.h b/sdk/dx8sdk/Include/rmxftmpl.h
index e0018d04..e0018d04 100644
--- a/dxsdk/Include/rmxftmpl.h
+++ b/sdk/dx8sdk/Include/rmxftmpl.h
diff --git a/dxsdk/Include/sbe.h b/sdk/dx8sdk/Include/sbe.h
index 0fcc4011..0fcc4011 100644
--- a/dxsdk/Include/sbe.h
+++ b/sdk/dx8sdk/Include/sbe.h
diff --git a/dxsdk/Include/strmif.h b/sdk/dx8sdk/Include/strmif.h
index 600105e7..600105e7 100644
--- a/dxsdk/Include/strmif.h
+++ b/sdk/dx8sdk/Include/strmif.h
diff --git a/dxsdk/Include/strsafe.h b/sdk/dx8sdk/Include/strsafe.h
index 061b3c4d..061b3c4d 100644
--- a/dxsdk/Include/strsafe.h
+++ b/sdk/dx8sdk/Include/strsafe.h
diff --git a/dxsdk/Include/tune.h b/sdk/dx8sdk/Include/tune.h
index 63920f90..63920f90 100644
--- a/dxsdk/Include/tune.h
+++ b/sdk/dx8sdk/Include/tune.h
diff --git a/dxsdk/Include/tuner.h b/sdk/dx8sdk/Include/tuner.h
index cd08a15c..cd08a15c 100644
--- a/dxsdk/Include/tuner.h
+++ b/sdk/dx8sdk/Include/tuner.h
diff --git a/dxsdk/Include/tvratings.h b/sdk/dx8sdk/Include/tvratings.h
index 53e6cfea..53e6cfea 100644
--- a/dxsdk/Include/tvratings.h
+++ b/sdk/dx8sdk/Include/tvratings.h
diff --git a/dxsdk/Include/uuids.h b/sdk/dx8sdk/Include/uuids.h
index c713d0df..c713d0df 100644
--- a/dxsdk/Include/uuids.h
+++ b/sdk/dx8sdk/Include/uuids.h
diff --git a/dxsdk/Include/vfwmsgs.h b/sdk/dx8sdk/Include/vfwmsgs.h
index 57852e9f..57852e9f 100644
--- a/dxsdk/Include/vfwmsgs.h
+++ b/sdk/dx8sdk/Include/vfwmsgs.h
diff --git a/dxsdk/Include/vidcap.h b/sdk/dx8sdk/Include/vidcap.h
index 23d810bb..23d810bb 100644
--- a/dxsdk/Include/vidcap.h
+++ b/sdk/dx8sdk/Include/vidcap.h
diff --git a/dxsdk/Include/videoacc.h b/sdk/dx8sdk/Include/videoacc.h
index 7121ff46..7121ff46 100644
--- a/dxsdk/Include/videoacc.h
+++ b/sdk/dx8sdk/Include/videoacc.h
diff --git a/dxsdk/Include/vmr9.h b/sdk/dx8sdk/Include/vmr9.h
index 0a4e1fe4..0a4e1fe4 100644
--- a/dxsdk/Include/vmr9.h
+++ b/sdk/dx8sdk/Include/vmr9.h
diff --git a/dxsdk/Include/vpconfig.h b/sdk/dx8sdk/Include/vpconfig.h
index 776d99f5..776d99f5 100644
--- a/dxsdk/Include/vpconfig.h
+++ b/sdk/dx8sdk/Include/vpconfig.h
diff --git a/dxsdk/Include/vpnotify.h b/sdk/dx8sdk/Include/vpnotify.h
index 2e1d1b6b..2e1d1b6b 100644
--- a/dxsdk/Include/vpnotify.h
+++ b/sdk/dx8sdk/Include/vpnotify.h
diff --git a/dxsdk/Include/vptype.h b/sdk/dx8sdk/Include/vptype.h
index b03baae6..b03baae6 100644
--- a/dxsdk/Include/vptype.h
+++ b/sdk/dx8sdk/Include/vptype.h
diff --git a/dxsdk/Include/xprtdefs.h b/sdk/dx8sdk/Include/xprtdefs.h
index 7bdde244..7bdde244 100644
--- a/dxsdk/Include/xprtdefs.h
+++ b/sdk/dx8sdk/Include/xprtdefs.h
diff --git a/dxsdk/Lib/DxErr8.lib b/sdk/dx8sdk/Lib/DxErr8.lib
index c22ccde6..c22ccde6 100644
--- a/dxsdk/Lib/DxErr8.lib
+++ b/sdk/dx8sdk/Lib/DxErr8.lib
Binary files differ
diff --git a/dxsdk/Lib/DxErr9.lib b/sdk/dx8sdk/Lib/DxErr9.lib
index 3f039fa2..3f039fa2 100644
--- a/dxsdk/Lib/DxErr9.lib
+++ b/sdk/dx8sdk/Lib/DxErr9.lib
Binary files differ
diff --git a/dxsdk/Lib/amstrmid.lib b/sdk/dx8sdk/Lib/amstrmid.lib
index 8d921239..8d921239 100644
--- a/dxsdk/Lib/amstrmid.lib
+++ b/sdk/dx8sdk/Lib/amstrmid.lib
Binary files differ
diff --git a/dxsdk/Lib/d3d8.lib b/sdk/dx8sdk/Lib/d3d8.lib
index 828ed30d..828ed30d 100644
--- a/dxsdk/Lib/d3d8.lib
+++ b/sdk/dx8sdk/Lib/d3d8.lib
Binary files differ
diff --git a/dxsdk/Lib/d3d9.lib b/sdk/dx8sdk/Lib/d3d9.lib
index 9e08d863..9e08d863 100644
--- a/dxsdk/Lib/d3d9.lib
+++ b/sdk/dx8sdk/Lib/d3d9.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dx.lib b/sdk/dx8sdk/Lib/d3dx.lib
index e9450b1b..e9450b1b 100644
--- a/dxsdk/Lib/d3dx.lib
+++ b/sdk/dx8sdk/Lib/d3dx.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dx8.lib b/sdk/dx8sdk/Lib/d3dx8.lib
index 8305ff4c..8305ff4c 100644
--- a/dxsdk/Lib/d3dx8.lib
+++ b/sdk/dx8sdk/Lib/d3dx8.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dx8d.lib b/sdk/dx8sdk/Lib/d3dx8d.lib
index 70ac0e3a..70ac0e3a 100644
--- a/dxsdk/Lib/d3dx8d.lib
+++ b/sdk/dx8sdk/Lib/d3dx8d.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dx8dt.lib b/sdk/dx8sdk/Lib/d3dx8dt.lib
index 755e2901..755e2901 100644
--- a/dxsdk/Lib/d3dx8dt.lib
+++ b/sdk/dx8sdk/Lib/d3dx8dt.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dx9.lib b/sdk/dx8sdk/Lib/d3dx9.lib
index ffc9f0d8..ffc9f0d8 100644
--- a/dxsdk/Lib/d3dx9.lib
+++ b/sdk/dx8sdk/Lib/d3dx9.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dx9d.lib b/sdk/dx8sdk/Lib/d3dx9d.lib
index feacd895..feacd895 100644
--- a/dxsdk/Lib/d3dx9d.lib
+++ b/sdk/dx8sdk/Lib/d3dx9d.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dx9dt.lib b/sdk/dx8sdk/Lib/d3dx9dt.lib
index 8d6d32a9..8d6d32a9 100644
--- a/dxsdk/Lib/d3dx9dt.lib
+++ b/sdk/dx8sdk/Lib/d3dx9dt.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dxd.lib b/sdk/dx8sdk/Lib/d3dxd.lib
index bf370d3c..bf370d3c 100644
--- a/dxsdk/Lib/d3dxd.lib
+++ b/sdk/dx8sdk/Lib/d3dxd.lib
Binary files differ
diff --git a/dxsdk/Lib/d3dxof.lib b/sdk/dx8sdk/Lib/d3dxof.lib
index c7e51781..c7e51781 100644
--- a/dxsdk/Lib/d3dxof.lib
+++ b/sdk/dx8sdk/Lib/d3dxof.lib
Binary files differ
diff --git a/dxsdk/Lib/ddraw.lib b/sdk/dx8sdk/Lib/ddraw.lib
index d7d0583e..d7d0583e 100644
--- a/dxsdk/Lib/ddraw.lib
+++ b/sdk/dx8sdk/Lib/ddraw.lib
Binary files differ
diff --git a/dxsdk/Lib/dinput.lib b/sdk/dx8sdk/Lib/dinput.lib
index 3abb4540..3abb4540 100644
--- a/dxsdk/Lib/dinput.lib
+++ b/sdk/dx8sdk/Lib/dinput.lib
Binary files differ
diff --git a/dxsdk/Lib/dinput8.lib b/sdk/dx8sdk/Lib/dinput8.lib
index 3fad62fb..3fad62fb 100644
--- a/dxsdk/Lib/dinput8.lib
+++ b/sdk/dx8sdk/Lib/dinput8.lib
Binary files differ
diff --git a/dxsdk/Lib/dmoguids.lib b/sdk/dx8sdk/Lib/dmoguids.lib
index ad5fbfb2..ad5fbfb2 100644
--- a/dxsdk/Lib/dmoguids.lib
+++ b/sdk/dx8sdk/Lib/dmoguids.lib
Binary files differ
diff --git a/dxsdk/Lib/dplayx.lib b/sdk/dx8sdk/Lib/dplayx.lib
index d8e42998..d8e42998 100644
--- a/dxsdk/Lib/dplayx.lib
+++ b/sdk/dx8sdk/Lib/dplayx.lib
Binary files differ
diff --git a/dxsdk/Lib/dsetup.lib b/sdk/dx8sdk/Lib/dsetup.lib
index 8acfa3ea..8acfa3ea 100644
--- a/dxsdk/Lib/dsetup.lib
+++ b/sdk/dx8sdk/Lib/dsetup.lib
Binary files differ
diff --git a/dxsdk/Lib/dsound.lib b/sdk/dx8sdk/Lib/dsound.lib
index 6e9604d3..6e9604d3 100644
--- a/dxsdk/Lib/dsound.lib
+++ b/sdk/dx8sdk/Lib/dsound.lib
Binary files differ
diff --git a/dxsdk/Lib/dxguid.lib b/sdk/dx8sdk/Lib/dxguid.lib
index f251a925..f251a925 100644
--- a/dxsdk/Lib/dxguid.lib
+++ b/sdk/dx8sdk/Lib/dxguid.lib
Binary files differ
diff --git a/dxsdk/Lib/dxtrans.lib b/sdk/dx8sdk/Lib/dxtrans.lib
index 20a49952..20a49952 100644
--- a/dxsdk/Lib/dxtrans.lib
+++ b/sdk/dx8sdk/Lib/dxtrans.lib
Binary files differ
diff --git a/dxsdk/Lib/encapi.lib b/sdk/dx8sdk/Lib/encapi.lib
index 0e3d774d..0e3d774d 100644
--- a/dxsdk/Lib/encapi.lib
+++ b/sdk/dx8sdk/Lib/encapi.lib
Binary files differ
diff --git a/dxsdk/Lib/ksproxy.lib b/sdk/dx8sdk/Lib/ksproxy.lib
index 4f362460..4f362460 100644
--- a/dxsdk/Lib/ksproxy.lib
+++ b/sdk/dx8sdk/Lib/ksproxy.lib
Binary files differ
diff --git a/dxsdk/Lib/ksuser.lib b/sdk/dx8sdk/Lib/ksuser.lib
index 7aba7bd7..7aba7bd7 100644
--- a/dxsdk/Lib/ksuser.lib
+++ b/sdk/dx8sdk/Lib/ksuser.lib
Binary files differ
diff --git a/dxsdk/Lib/msdmo.lib b/sdk/dx8sdk/Lib/msdmo.lib
index 290e308f..290e308f 100644
--- a/dxsdk/Lib/msdmo.lib
+++ b/sdk/dx8sdk/Lib/msdmo.lib
Binary files differ
diff --git a/dxsdk/Lib/quartz.lib b/sdk/dx8sdk/Lib/quartz.lib
index 47fcd1d2..47fcd1d2 100644
--- a/dxsdk/Lib/quartz.lib
+++ b/sdk/dx8sdk/Lib/quartz.lib
Binary files differ
diff --git a/dxsdk/Lib/strmiids.lib b/sdk/dx8sdk/Lib/strmiids.lib
index 8d921239..8d921239 100644
--- a/dxsdk/Lib/strmiids.lib
+++ b/sdk/dx8sdk/Lib/strmiids.lib
Binary files differ
diff --git a/milessdk/include/mss.h b/sdk/milessdk/include/mss.h
index 94bfc065..94bfc065 100644
--- a/milessdk/include/mss.h
+++ b/sdk/milessdk/include/mss.h
diff --git a/milessdk/lib/mss32.lib b/sdk/milessdk/lib/mss32.lib
index 49cea2d2..49cea2d2 100644
--- a/milessdk/lib/mss32.lib
+++ b/sdk/milessdk/lib/mss32.lib
Binary files differ
diff --git a/rwsdk/include/d3d8/errcom.def b/sdk/rwsdk/include/d3d8/errcom.def
index 25f44e1e..25f44e1e 100644
--- a/rwsdk/include/d3d8/errcom.def
+++ b/sdk/rwsdk/include/d3d8/errcom.def
diff --git a/rwsdk/include/d3d8/errcore.def b/sdk/rwsdk/include/d3d8/errcore.def
index c71eed5a..c71eed5a 100644
--- a/rwsdk/include/d3d8/errcore.def
+++ b/sdk/rwsdk/include/d3d8/errcore.def
diff --git a/rwsdk/include/d3d8/rpanisot.h b/sdk/rwsdk/include/d3d8/rpanisot.h
index 323786f4..323786f4 100644
--- a/rwsdk/include/d3d8/rpanisot.h
+++ b/sdk/rwsdk/include/d3d8/rpanisot.h
diff --git a/rwsdk/include/d3d8/rpanisot.rpe b/sdk/rwsdk/include/d3d8/rpanisot.rpe
index 0464081f..0464081f 100644
--- a/rwsdk/include/d3d8/rpanisot.rpe
+++ b/sdk/rwsdk/include/d3d8/rpanisot.rpe
diff --git a/rwsdk/include/d3d8/rpcollis.h b/sdk/rwsdk/include/d3d8/rpcollis.h
index 23e67f35..23e67f35 100644
--- a/rwsdk/include/d3d8/rpcollis.h
+++ b/sdk/rwsdk/include/d3d8/rpcollis.h
diff --git a/rwsdk/include/d3d8/rpcollis.rpe b/sdk/rwsdk/include/d3d8/rpcollis.rpe
index 49ad286f..49ad286f 100644
--- a/rwsdk/include/d3d8/rpcollis.rpe
+++ b/sdk/rwsdk/include/d3d8/rpcollis.rpe
diff --git a/rwsdk/include/d3d8/rpcriter.h b/sdk/rwsdk/include/d3d8/rpcriter.h
index de55389f..de55389f 100644
--- a/rwsdk/include/d3d8/rpcriter.h
+++ b/sdk/rwsdk/include/d3d8/rpcriter.h
diff --git a/rwsdk/include/d3d8/rpdbgerr.c b/sdk/rwsdk/include/d3d8/rpdbgerr.c
index 70bc941d..70bc941d 100644
--- a/rwsdk/include/d3d8/rpdbgerr.c
+++ b/sdk/rwsdk/include/d3d8/rpdbgerr.c
diff --git a/rwsdk/include/d3d8/rpdbgerr.h b/sdk/rwsdk/include/d3d8/rpdbgerr.h
index e0500057..e0500057 100644
--- a/rwsdk/include/d3d8/rpdbgerr.h
+++ b/sdk/rwsdk/include/d3d8/rpdbgerr.h
diff --git a/rwsdk/include/d3d8/rpdmorph.h b/sdk/rwsdk/include/d3d8/rpdmorph.h
index 89c51b31..89c51b31 100644
--- a/rwsdk/include/d3d8/rpdmorph.h
+++ b/sdk/rwsdk/include/d3d8/rpdmorph.h
diff --git a/rwsdk/include/d3d8/rpdmorph.rpe b/sdk/rwsdk/include/d3d8/rpdmorph.rpe
index b35acc4e..b35acc4e 100644
--- a/rwsdk/include/d3d8/rpdmorph.rpe
+++ b/sdk/rwsdk/include/d3d8/rpdmorph.rpe
diff --git a/rwsdk/include/d3d8/rperror.h b/sdk/rwsdk/include/d3d8/rperror.h
index 2a8c5630..2a8c5630 100644
--- a/rwsdk/include/d3d8/rperror.h
+++ b/sdk/rwsdk/include/d3d8/rperror.h
diff --git a/rwsdk/include/d3d8/rphanim.h b/sdk/rwsdk/include/d3d8/rphanim.h
index 0d1bba7a..0d1bba7a 100644
--- a/rwsdk/include/d3d8/rphanim.h
+++ b/sdk/rwsdk/include/d3d8/rphanim.h
diff --git a/rwsdk/include/d3d8/rphanim.rpe b/sdk/rwsdk/include/d3d8/rphanim.rpe
index 1c05d0e9..1c05d0e9 100644
--- a/rwsdk/include/d3d8/rphanim.rpe
+++ b/sdk/rwsdk/include/d3d8/rphanim.rpe
diff --git a/rwsdk/include/d3d8/rplodatm.h b/sdk/rwsdk/include/d3d8/rplodatm.h
index 4e9c8648..4e9c8648 100644
--- a/rwsdk/include/d3d8/rplodatm.h
+++ b/sdk/rwsdk/include/d3d8/rplodatm.h
diff --git a/rwsdk/include/d3d8/rplodatm.rpe b/sdk/rwsdk/include/d3d8/rplodatm.rpe
index a5764cfc..a5764cfc 100644
--- a/rwsdk/include/d3d8/rplodatm.rpe
+++ b/sdk/rwsdk/include/d3d8/rplodatm.rpe
diff --git a/rwsdk/include/d3d8/rplogo.h b/sdk/rwsdk/include/d3d8/rplogo.h
index a46823ac..a46823ac 100644
--- a/rwsdk/include/d3d8/rplogo.h
+++ b/sdk/rwsdk/include/d3d8/rplogo.h
diff --git a/rwsdk/include/d3d8/rplogo.rpe b/sdk/rwsdk/include/d3d8/rplogo.rpe
index a7f66565..a7f66565 100644
--- a/rwsdk/include/d3d8/rplogo.rpe
+++ b/sdk/rwsdk/include/d3d8/rplogo.rpe
diff --git a/rwsdk/include/d3d8/rpltmap.h b/sdk/rwsdk/include/d3d8/rpltmap.h
index 18c91955..18c91955 100644
--- a/rwsdk/include/d3d8/rpltmap.h
+++ b/sdk/rwsdk/include/d3d8/rpltmap.h
diff --git a/rwsdk/include/d3d8/rpltmap.rpe b/sdk/rwsdk/include/d3d8/rpltmap.rpe
index 6e58b62b..6e58b62b 100644
--- a/rwsdk/include/d3d8/rpltmap.rpe
+++ b/sdk/rwsdk/include/d3d8/rpltmap.rpe
diff --git a/rwsdk/include/d3d8/rpmatfx.h b/sdk/rwsdk/include/d3d8/rpmatfx.h
index fb7ade45..fb7ade45 100644
--- a/rwsdk/include/d3d8/rpmatfx.h
+++ b/sdk/rwsdk/include/d3d8/rpmatfx.h
diff --git a/rwsdk/include/d3d8/rpmatfx.rpe b/sdk/rwsdk/include/d3d8/rpmatfx.rpe
index ba83d96a..ba83d96a 100644
--- a/rwsdk/include/d3d8/rpmatfx.rpe
+++ b/sdk/rwsdk/include/d3d8/rpmatfx.rpe
diff --git a/rwsdk/include/d3d8/rpmipkl.h b/sdk/rwsdk/include/d3d8/rpmipkl.h
index 82ad7f03..82ad7f03 100644
--- a/rwsdk/include/d3d8/rpmipkl.h
+++ b/sdk/rwsdk/include/d3d8/rpmipkl.h
diff --git a/rwsdk/include/d3d8/rpmipkl.rpe b/sdk/rwsdk/include/d3d8/rpmipkl.rpe
index 0464081f..0464081f 100644
--- a/rwsdk/include/d3d8/rpmipkl.rpe
+++ b/sdk/rwsdk/include/d3d8/rpmipkl.rpe
diff --git a/rwsdk/include/d3d8/rpmorph.h b/sdk/rwsdk/include/d3d8/rpmorph.h
index 52ea70df..52ea70df 100644
--- a/rwsdk/include/d3d8/rpmorph.h
+++ b/sdk/rwsdk/include/d3d8/rpmorph.h
diff --git a/rwsdk/include/d3d8/rpmorph.rpe b/sdk/rwsdk/include/d3d8/rpmorph.rpe
index 47834a81..47834a81 100644
--- a/rwsdk/include/d3d8/rpmorph.rpe
+++ b/sdk/rwsdk/include/d3d8/rpmorph.rpe
diff --git a/rwsdk/include/d3d8/rppatch.h b/sdk/rwsdk/include/d3d8/rppatch.h
index 0b54fb1b..0b54fb1b 100644
--- a/rwsdk/include/d3d8/rppatch.h
+++ b/sdk/rwsdk/include/d3d8/rppatch.h
diff --git a/rwsdk/include/d3d8/rppatch.rpe b/sdk/rwsdk/include/d3d8/rppatch.rpe
index 85dca470..85dca470 100644
--- a/rwsdk/include/d3d8/rppatch.rpe
+++ b/sdk/rwsdk/include/d3d8/rppatch.rpe
diff --git a/rwsdk/include/d3d8/rpprtstd.h b/sdk/rwsdk/include/d3d8/rpprtstd.h
index ba0bf1d6..ba0bf1d6 100644
--- a/rwsdk/include/d3d8/rpprtstd.h
+++ b/sdk/rwsdk/include/d3d8/rpprtstd.h
diff --git a/rwsdk/include/d3d8/rpprtstd.rpe b/sdk/rwsdk/include/d3d8/rpprtstd.rpe
index d628c6c0..d628c6c0 100644
--- a/rwsdk/include/d3d8/rpprtstd.rpe
+++ b/sdk/rwsdk/include/d3d8/rpprtstd.rpe
diff --git a/rwsdk/include/d3d8/rpptank.h b/sdk/rwsdk/include/d3d8/rpptank.h
index d4c1116d..d4c1116d 100644
--- a/rwsdk/include/d3d8/rpptank.h
+++ b/sdk/rwsdk/include/d3d8/rpptank.h
diff --git a/rwsdk/include/d3d8/rpptank.rpe b/sdk/rwsdk/include/d3d8/rpptank.rpe
index 2a9b45d3..2a9b45d3 100644
--- a/rwsdk/include/d3d8/rpptank.rpe
+++ b/sdk/rwsdk/include/d3d8/rpptank.rpe
diff --git a/rwsdk/include/d3d8/rppvs.h b/sdk/rwsdk/include/d3d8/rppvs.h
index 08738933..08738933 100644
--- a/rwsdk/include/d3d8/rppvs.h
+++ b/sdk/rwsdk/include/d3d8/rppvs.h
diff --git a/rwsdk/include/d3d8/rppvs.rpe b/sdk/rwsdk/include/d3d8/rppvs.rpe
index 62c983b0..62c983b0 100644
--- a/rwsdk/include/d3d8/rppvs.rpe
+++ b/sdk/rwsdk/include/d3d8/rppvs.rpe
diff --git a/rwsdk/include/d3d8/rprandom.h b/sdk/rwsdk/include/d3d8/rprandom.h
index aebbfed9..aebbfed9 100644
--- a/rwsdk/include/d3d8/rprandom.h
+++ b/sdk/rwsdk/include/d3d8/rprandom.h
diff --git a/rwsdk/include/d3d8/rprandom.rpe b/sdk/rwsdk/include/d3d8/rprandom.rpe
index d3fe964b..d3fe964b 100644
--- a/rwsdk/include/d3d8/rprandom.rpe
+++ b/sdk/rwsdk/include/d3d8/rprandom.rpe
diff --git a/rwsdk/include/d3d8/rpskin.h b/sdk/rwsdk/include/d3d8/rpskin.h
index 8a6ea204..8a6ea204 100644
--- a/rwsdk/include/d3d8/rpskin.h
+++ b/sdk/rwsdk/include/d3d8/rpskin.h
diff --git a/rwsdk/include/d3d8/rpskin.rpe b/sdk/rwsdk/include/d3d8/rpskin.rpe
index 02d7e162..02d7e162 100644
--- a/rwsdk/include/d3d8/rpskin.rpe
+++ b/sdk/rwsdk/include/d3d8/rpskin.rpe
diff --git a/rwsdk/include/d3d8/rpspline.h b/sdk/rwsdk/include/d3d8/rpspline.h
index df3a21d9..df3a21d9 100644
--- a/rwsdk/include/d3d8/rpspline.h
+++ b/sdk/rwsdk/include/d3d8/rpspline.h
diff --git a/rwsdk/include/d3d8/rpspline.rpe b/sdk/rwsdk/include/d3d8/rpspline.rpe
index 55748bdd..55748bdd 100644
--- a/rwsdk/include/d3d8/rpspline.rpe
+++ b/sdk/rwsdk/include/d3d8/rpspline.rpe
diff --git a/rwsdk/include/d3d8/rpusrdat.h b/sdk/rwsdk/include/d3d8/rpusrdat.h
index 92a56e31..92a56e31 100644
--- a/rwsdk/include/d3d8/rpusrdat.h
+++ b/sdk/rwsdk/include/d3d8/rpusrdat.h
diff --git a/rwsdk/include/d3d8/rpusrdat.rpe b/sdk/rwsdk/include/d3d8/rpusrdat.rpe
index f5879a00..f5879a00 100644
--- a/rwsdk/include/d3d8/rpusrdat.rpe
+++ b/sdk/rwsdk/include/d3d8/rpusrdat.rpe
diff --git a/rwsdk/include/d3d8/rpworld.h b/sdk/rwsdk/include/d3d8/rpworld.h
index 0d0489ce..0d0489ce 100644
--- a/rwsdk/include/d3d8/rpworld.h
+++ b/sdk/rwsdk/include/d3d8/rpworld.h
diff --git a/rwsdk/include/d3d8/rpworld.rpe b/sdk/rwsdk/include/d3d8/rpworld.rpe
index 080eefa5..080eefa5 100644
--- a/rwsdk/include/d3d8/rpworld.rpe
+++ b/sdk/rwsdk/include/d3d8/rpworld.rpe
diff --git a/rwsdk/include/d3d8/rt2d.h b/sdk/rwsdk/include/d3d8/rt2d.h
index 0584d3a5..0584d3a5 100644
--- a/rwsdk/include/d3d8/rt2d.h
+++ b/sdk/rwsdk/include/d3d8/rt2d.h
diff --git a/rwsdk/include/d3d8/rt2d.rpe b/sdk/rwsdk/include/d3d8/rt2d.rpe
index b18db155..b18db155 100644
--- a/rwsdk/include/d3d8/rt2d.rpe
+++ b/sdk/rwsdk/include/d3d8/rt2d.rpe
diff --git a/rwsdk/include/d3d8/rt2danim.h b/sdk/rwsdk/include/d3d8/rt2danim.h
index 996262af..996262af 100644
--- a/rwsdk/include/d3d8/rt2danim.h
+++ b/sdk/rwsdk/include/d3d8/rt2danim.h
diff --git a/rwsdk/include/d3d8/rt2danim.rpe b/sdk/rwsdk/include/d3d8/rt2danim.rpe
index 0e61ec5c..0e61ec5c 100644
--- a/rwsdk/include/d3d8/rt2danim.rpe
+++ b/sdk/rwsdk/include/d3d8/rt2danim.rpe
diff --git a/sdk/rwsdk/include/d3d8/rtanim.h b/sdk/rwsdk/include/d3d8/rtanim.h
new file mode 100644
index 00000000..4def7f1f
--- /dev/null
+++ b/sdk/rwsdk/include/d3d8/rtanim.h
@@ -0,0 +1,638 @@
+#ifndef RTANIM_H
+#define RTANIM_H
+
+#include <rtanim.rpe> /* automatically generated header file */
+
+#define rtANIMSTREAMCURRENTVERSION 0x100
+
+/* Doxygen plugin groups. */
+
+/**
+ * \defgroup rtanim RtAnim
+ * \ingroup animtools
+ *
+ * Animation Toolkit for RenderWare Graphics.
+ */
+
+/**
+ * \ingroup rtanim
+ * Typedef for struct \ref RtAnimAnimation.
+ */
+typedef struct RtAnimAnimation RtAnimAnimation;
+
+/*
+ * The following CallBacks are needed for each interpolation scheme.
+ * See RtAnimInterpolatorInfo.
+ */
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameApplyCallBack
+ * defines a callback function for converting
+ * an interpolated animation keyframe into the required result.
+ *
+ * \param result Void pointer to store the output of the conversion.
+ * \param voidIFrame Void pointer to the keyframe and should be cast
+ * to the interpolated keyframe type this callback
+ * is for.
+ */
+typedef void (*RtAnimKeyFrameApplyCallBack) (void *result, void *voidIFrame);
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameBlendCallBack
+ * defines a callback function for blending between two
+ * interpolated keyframes by the given blend factor. This is used for
+ * blending the states of two different \ref RtAnimInterpolator objects.
+ * The \ref RtAnimKeyFrameInterpolateCallBack is used for interpolating
+ * actual animation keyframes into an interpolated frame.
+ *
+ * \param voidOut Void pointer to store the output of the blend.
+ * \param voidIn1 Void pointer containing the first input
+ * interpolated keyframe.
+ * \param voidIn2 Void pointer containing the second input
+ * interpolated keyframe.
+ * \param alpha \ref RwReal containing the blend factor.
+ */
+typedef void (*RtAnimKeyFrameBlendCallBack) (void *voidOut, void *voidIn1,
+ void *voidIn2, RwReal alpha);
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameInterpolateCallBack
+ * defines a callback function for interpolating between two
+ * animation keyframes according to the given time. The output is
+ * an interpolated frame object residing in an \ref RtAnimInterpolator
+ * and will usually have the same structure as the keyframe apart from
+ * the header data (\ref RtAnimInterpFrameHeader).
+ *
+ * \param voidOut Void pointer for the output of the interpolation.
+ * \param voidIn1 Void pointer containing the first input keyframe.
+ * \param voidIn2 Void pointer containing the second input keyframe.
+ * \param time \ref RwReal containing the time at which to interpolate.
+ */
+typedef void (*RtAnimKeyFrameInterpolateCallBack) (void *voidOut, void *voidIn1,
+ void *voidIn2, RwReal time);
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameAddCallBack
+ * defines a callback function for adding two interpolated
+ * keyframes together. This is used when adding the states of two
+ * \ref RtAnimInterpolator objects, such as when adding a delta animation
+ * to a base animation.
+ *
+ * \param voidOut Void pointer for the output interpolated frame.
+ * \param voidIn1 Void pointer containing the first input
+ * interpoalted keyframe.
+ * \param voidIn2 Void pointer containing the second input
+ * interpolated keyframe.
+ */
+typedef void (*RtAnimKeyFrameAddCallBack) (void *voidOut, void *voidIn1,
+ void *voidIn2);
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameMulRecipCallBack
+ * defines a callback function for multiplying a keyframe
+ * by the inverse of another keyframe. This is used for creating delta
+ * animations.
+ *
+ * \param voidFrame Void pointer for the keyframe to be modified.
+ * \param voidStart Void pointer for the start keyframe to take the reciprocal of.
+ */
+typedef void (*RtAnimKeyFrameMulRecipCallBack)
+ (void *voidFrame, void *voidStart);
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameStreamReadCallBack
+ * defines a callback function for reading in keyframes
+ * from an \ref RwStream for the given animation.
+ *
+ * \param stream Pointer to the \ref RwStream to read the keyframes from.
+ * \param animation Pointer to the \ref RtAnimAnimation to read the keyframes into.
+ *
+ * \return Pointer to the \ref RtAnimAnimation.
+ */
+typedef RtAnimAnimation * (*RtAnimKeyFrameStreamReadCallBack)
+ (RwStream *stream, RtAnimAnimation *animation);
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameStreamWriteCallBack
+ * defines a callback function for writing keyframes from the
+ * given animation to an \ref RwStream.
+ *
+ * \param animation Pointer to the \ref RtAnimAnimation to write out from.
+ * \param stream Pointer to the \ref RwStream to write the keyframes to.
+ *
+ * \return \ref RwBool, TRUE if successful.
+ */
+typedef RwBool (*RtAnimKeyFrameStreamWriteCallBack)
+ (RtAnimAnimation *animation, RwStream *stream);
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameStreamGetSizeCallBack
+ * defines a callback function for calculating the binary stream
+ * size of keyframe data within an animation.
+ *
+ * \param animation Pointer to the \ref RtAnimAnimation to calculate sizes from.
+ *
+ * \return \ref RwInt32 containing the size, in bytes, of the keyframe data.
+ */
+typedef RwInt32 (*RtAnimKeyFrameStreamGetSizeCallBack)
+ (RtAnimAnimation *animation);
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimInterpolatorInfo
+ * Typedef for struct \ref RtAnimInterpolatorInfo
+ */
+typedef struct RtAnimInterpolatorInfo RtAnimInterpolatorInfo;
+
+/**
+ * \ingroup rtanim
+ * \struct RtAnimInterpolatorInfo
+ * This structure is used to hold information for a keyframe interpolation scheme.
+ *
+ * \see RtAnimRegisterInterpolationScheme
+ * \see RtAnimGetInterpolatorInfo
+ */
+struct RtAnimInterpolatorInfo
+{
+ RwInt32 typeID;
+ /**< The ID of the interpolation scheme. */
+ RwInt32 keyFrameSize;
+ /**< Size, in bytes, of the keyframe structure. */
+ RtAnimKeyFrameApplyCallBack keyFrameApplyCB;
+ /**< Pointer to a function that converts a keyframe to the needed
+ * format. This function is never called from the \ref rtanim
+ * toolkit (as the toolit doesn't know the data layout of the
+ * results) but is stored to ease the creation of overloaded
+ * interpolators. */
+ RtAnimKeyFrameBlendCallBack keyFrameBlendCB;
+ /**< Pointer to a function that blends between two
+ * interpolated keyframes, for the purpose of blending
+ * between the states of two \ref RtAnimInterpolator objects. */
+ RtAnimKeyFrameInterpolateCallBack keyFrameInterpolateCB;
+ /**< Pointer to a function that interpolates between two keyframes
+ * for a given time in between. */
+ RtAnimKeyFrameAddCallBack keyFrameAddCB;
+ /**< Pointer to a function that adds two interpolated keyframes
+ * for the purpose of adding the states of two
+ * \ref RtAnimInterpolator objects. */
+ RtAnimKeyFrameMulRecipCallBack keyFrameMulRecipCB;
+ /**< Pointer to a function that multiplies a keyframe by the
+ * reciprocal of another. */
+ RtAnimKeyFrameStreamReadCallBack keyFrameStreamReadCB;
+ /**< Pointer to a function that reads the keyframes from a stream
+ * for a given animation. */
+ RtAnimKeyFrameStreamWriteCallBack keyFrameStreamWriteCB;
+ /**< Pointer to a function that writes the keyframes to a stream for
+ * a given animation. */
+ RtAnimKeyFrameStreamGetSizeCallBack keyFrameStreamGetSizeCB;
+ /**< Pointer to a function that returns the binary stream size of
+ * the keyframes for a given animation. */
+};
+
+
+/**
+ * \ingroup rtanim
+ * \struct RtAnimAnimation
+ * A keyframed animation consists of an array of keyframe structures,
+ * along with some flags and a duration.
+ *
+ * The keyframes should be presented in the order they are needed
+ * to animate forwards through time. That is, the next keyframe
+ * at some point in the sequence should correspond to the node whose
+ * previous two keyframes are next to expire as an interpolation
+ * pair.
+ *
+ * Put another way, the correct ordering can be achieved by sorting
+ * an unordered keyframe array using the following primary and secondary
+ * sort keys:-
+ *
+ * - time of previous keyframe for node
+ * - node index
+ *
+ * An example is shown in the following diagram, where each vertical bar
+ * indicates a keyframe point in time. The position of the keyframe
+ * within the animation sequence is shown by an index to the left of
+ * each bar.
+ *
+ * \verbatim
+
+ t=0 t=duration
+ node 0 kf0..| kf3.......| kf8....| kf10....|
+ node 1 kf1..| kf4...| kf6........| kf11....|
+ node 2 kf2..| kf5.....| kf7..| kf9.........|
+
+ \endverbatim
+ *
+ * Each node MUST have an initial keyframe at time = 0.0, and a terminal
+ * keyframe at time = duration of the animation.
+ *
+ * Pointers link all of the keyframes for a particular node backwards
+ * through time in a list.
+ *
+ * \see RtAnimAnimationCreate
+ */
+struct RtAnimAnimation
+{
+ RtAnimInterpolatorInfo *interpInfo;
+ /**< Pointer to interpolation scheme information */
+ RwInt32 numFrames;
+ /**< Number of keyframes in the animation */
+ RwInt32 flags;
+ /**< Specifies details about animation,
+ * relative translation modes etc. */
+ RwReal duration;
+ /**< Duration of animation in seconds */
+ void *pFrames;
+ /**< Pointer to the animation keyframes */
+};
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimKeyFrameHeader
+ * Typedef for struct RtAnimKeyFrameHeader
+ */
+typedef struct RtAnimKeyFrameHeader RtAnimKeyFrameHeader;
+
+/**
+ * \ingroup rtanim
+ * \struct RtAnimKeyFrameHeader
+ * holds header information for a keyframe. All keyframe structures used with
+ * the overloadable interpolation system should start with this data.
+ *
+ * \see RtAnimRegisterInterpolationScheme
+ */
+struct RtAnimKeyFrameHeader
+{
+ void *prevFrame;
+ /**< Previous keyframe for particular hierarchy node */
+ RwReal time;
+ /**< Time at keyframe */
+};
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimInterpFrameHeader
+ * Typedef for struct RtAnimInterpFrameHeader
+ */
+typedef struct RtAnimInterpFrameHeader RtAnimInterpFrameHeader;
+
+/**
+ * \ingroup rtanim
+ * \struct RtAnimInterpFrameHeader
+ * is the header for an interpolated animation frame, intermediate
+ * between a keyframe pair. This structure is intentionally the same size as an
+ * \ref RtAnimKeyFrameHeader, so that an interpolated frame and key frame data
+ * block can be otherwise identical. It relies on the
+ * fact that the prevFrame and time fields of a keyframe header are not
+ * relevant to an interpolated frame. These fields should therefore not be
+ * be modified by a custom keyframe interpolator.
+ *
+ * \see RtAnimRegisterInterpolationScheme
+ */
+struct RtAnimInterpFrameHeader
+{
+ RtAnimKeyFrameHeader *keyFrame1;
+ /**< Pointer to the first of the current pair of keyframes in
+ the associated \ref RtAnimAnimation */
+ RtAnimKeyFrameHeader *keyFrame2;
+ /**< Pointer to the second of the current pair of keyframes in
+ the associated \ref RtAnimAnimation */
+};
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimInterpolator
+ * Typedef for struct \ref RtAnimInterpolator
+ */
+typedef struct RtAnimInterpolator RtAnimInterpolator;
+
+/**
+ * \ingroup rtanim
+ * \ref RtAnimCallBack
+ * defines a callback function for use with the
+ * \ref RtAnimInterpolatorSetAnimCallBack and
+ * \ref RtAnimInterpolatorSetAnimLoopCallBack functions.
+ *
+ * \param animInstance
+ * A pointer to the \ref RtAnimInterpolator structure.
+ *
+ * \param data Void pointer for user-defined data.
+ * You can use this to pass your own data
+ * structure(s) to the callback function.
+ *
+ * \see RtAnimInterpolatorSetAnimCallBack
+ * \see RtAnimInterpolatorSetAnimLoopCallBack
+ *
+ */
+
+typedef RtAnimInterpolator * (*RtAnimCallBack)
+ (RtAnimInterpolator *animInstance,
+ void *data);
+
+/**
+ * \ingroup rtanim
+ * \struct RtAnimInterpolator
+ * holds the current state for a particular instance of an animation,
+ * corresponding to a specific point in time.
+ *
+ * The current interpolated keyframes are stored in an array after the
+ * end of this structure. For advanced use, these may be accessed
+ * using the macro rtANIMGETINTERPFRAME(interpolator, nodeIndex)
+ * which takes a pointer to the interpolator and the node index
+ * for the interpolated keyframe required.
+ *
+ * \see \ref RtAnimInterpolatorCreate
+ * \see \ref RtAnimInterpolatorDestroy
+ * \see \ref RtAnimInterpolatorSetCurrentAnim
+ * \see \ref RtAnimInterpolatorGetCurrentAnim
+ * \see \ref RtAnimInterpolatorSetKeyFrameCallBacks
+ * \see \ref RtAnimInterpolatorSetAnimLoopCallBack
+ * \see \ref RtAnimInterpolatorSetAnimCallBack
+ * \see \ref RtAnimInterpolatorCopy
+ * \see \ref RtAnimInterpolatorSubAnimTime
+ * \see \ref RtAnimInterpolatorAddAnimTime
+ * \see \ref RtAnimInterpolatorSetCurrentTime
+ * \see \ref RtAnimCallBack
+ */
+struct RtAnimInterpolator
+{
+ RtAnimAnimation *pCurrentAnim;
+ /**< Current \ref RtAnimAnimation applied */
+ RwReal currentTime;
+ /**< Current animation time */
+ void *pNextFrame;
+ /**< Next animation keyframe to be played */
+ RtAnimCallBack pAnimCallBack;
+ /**< Animation callback function pointer */
+ void *pAnimCallBackData;
+ /**< Animation callback function user data */
+ RwReal animCallBackTime;
+ /**< Trigger time for callback function */
+ RtAnimCallBack pAnimLoopCallBack;
+ /**< Animation loop callback function pointer */
+ void *pAnimLoopCallBackData;
+ /**< Animation loop callback function data */
+ RwInt32 maxKeyFrameSize;
+ /**< Maximum size of keyframes usable on
+ * this animation (set at creation time) */
+ RwInt32 currentKeyFrameSize;
+ /**< Size of keyframes in the current
+ * animation */
+ RwInt32 numNodes;
+ /**< Number of nodes driven by the animation */
+ RwBool isSubInterpolator;
+ /**< Internal use */
+ RwInt32 offsetInParent;
+ /**< Internal use */
+ RtAnimInterpolator *parentAnimation;
+ /**< Internal use */
+
+ RtAnimKeyFrameApplyCallBack keyFrameApplyCB;
+ /**< Internal use */
+ RtAnimKeyFrameBlendCallBack keyFrameBlendCB;
+ /**< Internal use */
+ RtAnimKeyFrameInterpolateCallBack keyFrameInterpolateCB;
+ /**< Internal use */
+ RtAnimKeyFrameAddCallBack keyFrameAddCB;
+ /**< Internal use */
+};
+
+/* Access to array of interpolated frames occupying a block of memory
+ * after the end of the RtAnimInterpolator structure.
+ */
+#define rtANIMGETINTERPFRAME( anim, nodeIndex ) \
+ ( (void *)( ( (RwUInt8 *)&(anim[1]) + \
+ ((nodeIndex) * \
+ anim->currentKeyFrameSize) ) ) )
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+
+/* Engine functions */
+extern void
+RtAnimAnimationFreeListCreateParams( RwInt32 blockSize, RwInt32 numBlocksToPrealloc );
+
+extern RwBool
+RtAnimInitialize(void);
+
+extern RwBool
+RtAnimRegisterInterpolationScheme(RtAnimInterpolatorInfo *interpolatorInfo);
+
+extern RtAnimInterpolatorInfo *
+RtAnimGetInterpolatorInfo(RwInt32 typeID);
+
+/* RtAnimAnimation */
+extern RtAnimAnimation *
+RtAnimAnimationCreate(RwInt32 typeID,
+ RwInt32 numFrames,
+ RwInt32 flags,
+ RwReal duration);
+
+extern RtAnimAnimation *
+RtAnimAnimationDestroy(RtAnimAnimation *animation);
+
+extern RtAnimAnimation *
+RtAnimAnimationRead(const RwChar * filename);
+
+extern RwBool
+RtAnimAnimationWrite(RtAnimAnimation *animation,
+ const RwChar * filename);
+
+extern RtAnimAnimation *
+RtAnimAnimationStreamRead(RwStream *stream);
+
+extern RwBool
+RtAnimAnimationStreamWrite(RtAnimAnimation *animation,
+ RwStream *stream);
+
+extern RwInt32
+RtAnimAnimationStreamGetSize(RtAnimAnimation *animation);
+
+extern RwUInt32
+RtAnimAnimationGetNumNodes(RtAnimAnimation *animation);
+
+#ifdef RWDEBUG
+
+extern RwInt32
+RtAnimAnimationGetTypeID(RtAnimAnimation *animation);
+
+#else /* RWDEBUG */
+
+#define RtAnimAnimationGetTypeID(animation) \
+ (animation->interpInfo->typeID)
+
+#endif /* RWDEBUG */
+
+/* RtAnimInterpolator */
+extern RtAnimInterpolator *
+RtAnimInterpolatorCreate(RwInt32 numNodes,
+ RwInt32 maxKeyFrameSize);
+
+extern void
+RtAnimInterpolatorDestroy(RtAnimInterpolator *anim);
+
+extern RwBool
+RtAnimInterpolatorSetCurrentAnim(RtAnimInterpolator *animI,
+ RtAnimAnimation *anim);
+
+
+#ifdef RWDEBUG
+
+extern RtAnimAnimation *
+RtAnimInterpolatorGetCurrentAnim(RtAnimInterpolator *animI);
+
+#else /* RWDEBUG */
+
+#define RtAnimInterpolatorGetCurrentAnim(animI) \
+ (animI->pCurrentAnim)
+
+#endif /* RWDEBUG */
+
+
+extern RwBool
+RtAnimInterpolatorSetKeyFrameCallBacks(RtAnimInterpolator *anim,
+ RwInt32 keyFrameTypeID);
+
+
+extern void
+RtAnimInterpolatorSetAnimLoopCallBack(RtAnimInterpolator *anim,
+ RtAnimCallBack callBack,
+ void *data );
+
+extern void
+RtAnimInterpolatorSetAnimCallBack(RtAnimInterpolator *anim,
+ RtAnimCallBack callBack,
+ RwReal time,
+ void *data );
+
+extern RwBool
+RtAnimInterpolatorCopy(RtAnimInterpolator *outAnim,
+ RtAnimInterpolator *inAnim);
+
+extern RwBool
+RtAnimInterpolatorSubAnimTime(RtAnimInterpolator *anim,
+ RwReal time);
+
+extern RwBool
+RtAnimInterpolatorAddAnimTime(RtAnimInterpolator *anim,
+ RwReal time);
+
+extern RwBool
+RtAnimInterpolatorSetCurrentTime(RtAnimInterpolator *anim,
+ RwReal time);
+
+extern RwBool
+RtAnimAnimationMakeDelta(RtAnimAnimation *animation,
+ RwInt32 numNodes,
+ RwReal time);
+
+
+extern RwBool
+RtAnimInterpolatorBlend(RtAnimInterpolator *outAnim,
+ RtAnimInterpolator *inAnim1,
+ RtAnimInterpolator *inAnim2,
+ RwReal alpha);
+
+extern RwBool
+RtAnimInterpolatorAddTogether(RtAnimInterpolator *outAnim,
+ RtAnimInterpolator *inAnim1,
+ RtAnimInterpolator *inAnim2);
+
+#define RtAnimKeyFrameApplyMacro(animation, out, in) \
+MACRO_START \
+{ \
+ (anim)->keyFrameApplyCB((out), (in1), (in2), (time)); \
+} \
+MACRO_STOP
+
+
+#define RtAnimKeyFrameInterpolateMacro(anim, out, in1, in2, time) \
+MACRO_START \
+{ \
+ (anim)->keyFrameInterpolateCB((out), (in1), (in2), (time)); \
+} \
+MACRO_STOP
+
+#define RtAnimKeyFrameBlendMacro(anim, out, in1, in2, fAlpha) \
+MACRO_START \
+{ \
+ (anim)->keyFrameBlendCB((out), (in1), (in2), (fAlpha)); \
+} \
+MACRO_STOP
+
+#define RtAnimKeyFrameAddTogetherMacro(anim, out, in1, in2) \
+MACRO_START \
+{ \
+ (anim)->keyFrameAddCB((out), (in1), (in2)); \
+} \
+MACRO_STOP
+
+#ifdef RWDEBUG
+extern void
+RtAnimKeyFrameApply(RtAnimInterpolator *animation,
+ void *result, void *iFrame);
+
+extern void
+RtAnimKeyFrameInterpolate(RtAnimInterpolator *animation,
+ void *out, void *in1,
+ void *in2, RwReal time);
+
+extern void
+RtAnimKeyFrameBlend(RtAnimInterpolator *animation,
+ void *out,
+ void *in1,
+ void *in2,
+ RwReal alpha);
+
+extern void
+RtAnimKeyFrameAddTogether(RtAnimInterpolator *animation,
+ void *out, void *in1, void *in2);
+
+#else /* RWDEBUG */
+#define RtAnimKeyFrameApply(animation, out, in) \
+ RtAnimKeyFrameApplyMacro(animation, out, in)
+
+#define RtAnimKeyFrameInterpolate(animation, out, in1, in2, time) \
+ RtAnimKeyFrameInterpolateMacro(animation, out, in1, in2, time)
+
+#define RtAnimKeyFrameBlend(animation, out, in1, in2, alpha) \
+ RtAnimKeyFrameBlendMacro(animation, out, in1, in2, alpha)
+
+#define RtAnimKeyFrameAddTogether(animation, out, in1, in2) \
+ RtAnimKeyFrameAddTogetherMacro(animation, out, in1, in2)
+#endif /* RWDEBUG */
+
+extern RtAnimInterpolator *
+RtAnimInterpolatorCreateSubInterpolator(
+ RtAnimInterpolator *parentAnim,
+ RwInt32 startNode,
+ RwInt32 numNodes,
+ RwInt32 maxKeyFrameSize);
+
+extern RwBool
+RtAnimInterpolatorBlendSubInterpolator(RtAnimInterpolator *outAnim,
+ RtAnimInterpolator *inAnim1,
+ RtAnimInterpolator *inAnim2,
+ RwReal alpha);
+
+extern RwBool
+RtAnimInterpolatorAddSubInterpolator(RtAnimInterpolator *outAnim,
+ RtAnimInterpolator *mainAnim,
+ RtAnimInterpolator *subAnim);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* RTANIM_H */
diff --git a/sdk/rwsdk/include/d3d8/rtanim.rpe b/sdk/rwsdk/include/d3d8/rtanim.rpe
new file mode 100644
index 00000000..ae8fcf33
--- /dev/null
+++ b/sdk/rwsdk/include/d3d8/rtanim.rpe
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+enum e_rwdb_CriterionAnim
+{
+
+
+E_RT_ANIM_INTERP_IDINUSE,
+
+E_RT_ANIM_INTERP_BLOCKFULL,
+
+E_RT_ANIM_INTERP_IDUNKNOWN,
+
+ e_rwdb_CriterionAnimLAST = RWFORCEENUMSIZEINT
+};
+
+typedef enum e_rwdb_CriterionAnim e_rwdb_CriterionAnim;
+
+
diff --git a/rwsdk/include/d3d8/rtbary.h b/sdk/rwsdk/include/d3d8/rtbary.h
index 2531914d..2531914d 100644
--- a/rwsdk/include/d3d8/rtbary.h
+++ b/sdk/rwsdk/include/d3d8/rtbary.h
diff --git a/rwsdk/include/d3d8/rtbary.rpe b/sdk/rwsdk/include/d3d8/rtbary.rpe
index 0fec6a77..0fec6a77 100644
--- a/rwsdk/include/d3d8/rtbary.rpe
+++ b/sdk/rwsdk/include/d3d8/rtbary.rpe
diff --git a/rwsdk/include/d3d8/rtbezpat.h b/sdk/rwsdk/include/d3d8/rtbezpat.h
index f25f5ce9..f25f5ce9 100644
--- a/rwsdk/include/d3d8/rtbezpat.h
+++ b/sdk/rwsdk/include/d3d8/rtbezpat.h
diff --git a/rwsdk/include/d3d8/rtbezpat.rpe b/sdk/rwsdk/include/d3d8/rtbezpat.rpe
index 0f6dc700..0f6dc700 100644
--- a/rwsdk/include/d3d8/rtbezpat.rpe
+++ b/sdk/rwsdk/include/d3d8/rtbezpat.rpe
diff --git a/rwsdk/include/d3d8/rtbmp.h b/sdk/rwsdk/include/d3d8/rtbmp.h
index c3bb5c95..c3bb5c95 100644
--- a/rwsdk/include/d3d8/rtbmp.h
+++ b/sdk/rwsdk/include/d3d8/rtbmp.h
diff --git a/rwsdk/include/d3d8/rtbmp.rpe b/sdk/rwsdk/include/d3d8/rtbmp.rpe
index 37c546f9..37c546f9 100644
--- a/rwsdk/include/d3d8/rtbmp.rpe
+++ b/sdk/rwsdk/include/d3d8/rtbmp.rpe
diff --git a/rwsdk/include/d3d8/rtcharse.h b/sdk/rwsdk/include/d3d8/rtcharse.h
index 6c7a3902..6c7a3902 100644
--- a/rwsdk/include/d3d8/rtcharse.h
+++ b/sdk/rwsdk/include/d3d8/rtcharse.h
diff --git a/rwsdk/include/d3d8/rtcharse.rpe b/sdk/rwsdk/include/d3d8/rtcharse.rpe
index 30c5ff4d..30c5ff4d 100644
--- a/rwsdk/include/d3d8/rtcharse.rpe
+++ b/sdk/rwsdk/include/d3d8/rtcharse.rpe
diff --git a/sdk/rwsdk/include/d3d8/rtgncpip.h b/sdk/rwsdk/include/d3d8/rtgncpip.h
new file mode 100644
index 00000000..b18f2bb7
--- /dev/null
+++ b/sdk/rwsdk/include/d3d8/rtgncpip.h
@@ -0,0 +1,256 @@
+/* *INDENT-OFF* */
+
+/* RWPUBLIC */
+
+/****************************************************************************
+ *
+ * File: rwg/rwsdk/tool/gencpipe/rtgncpip.h
+ *
+ * Copyright (C) 2002 Criterion Technologies.
+ *
+ * Purpose: Toolkit containing generic C rendering pipeline nodes.
+ *
+ ****************************************************************************/
+
+#if (!defined(_RTGNCPIP_H))
+#define _RTGNCPIP_H
+
+/*===========================================================================*
+ *--- Include files ---------------------------------------------------------*
+ *===========================================================================*/
+
+#include "rwcore.h"
+#include "rpworld.h"
+
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+
+/****************************************************************************
+ global types
+ */
+
+typedef RpLight *RxLight;
+
+
+/* RGBA Interpolation node structures */
+#if (!defined(DOXYGEN))
+struct NodeRGBAInterpData
+{
+ RwBool rgbaInterpOn;
+ RxRenderStateVector state;
+};
+#endif /* (!defined(DOXYGEN)) */
+
+typedef struct NodeRGBAInterpData NodeRGBAInterpData;
+
+/* UV Interpolation node structures */
+typedef struct RxNodeUVInterpSettings RxNodeUVInterpSettings;
+
+/**
+ * \ingroup rtgencpipe
+ * \struct RxNodeUVInterpSettings
+ *
+ * TODO
+ */
+struct RxNodeUVInterpSettings
+{
+ RwBool uvInterpOn; /**< TODO */
+ RxRenderStateVector state; /**< TODO */
+};
+
+/* Cloning node structures */
+typedef struct RxPacketCacheCluster RxPacketCacheCluster;
+
+/**
+ * \ingroup rtgencpipe
+ * \struct RxPacketCacheCluster
+ * structure containing a cache of an \ref RxCluster's
+ * within an \ref RxPacketCache
+ */
+struct RxPacketCacheCluster
+{
+ RwUInt32 slot; /**< A \ref RwUInt32 index into the \ref RxPacketCache's
+ * array of RxPacketCacheCluster's */
+ RwUInt16 flags; /**< A cache of the original cluster's flags */
+ RwUInt16 stride; /**< A cache of the original cluster's stride */
+ void *data; /**< A cache of the original cluster's data */
+ RwUInt32 numAlloced; /**< A cache of the original cluster's numAlloced */
+ RwUInt32 numUsed; /**< A cache of the original cluster's numUsed */
+ RxPipelineCluster *clusterRef; /**< A cache of the original cluster's \ref RxPipelineCluster */
+};
+typedef struct RxPacketCache RxPacketCache;
+
+/**
+ * \ingroup rtgencpipe
+ * \struct RxPacketCache
+ * structure containing a cache of a \ref RxPacket */
+struct RxPacketCache
+{
+ RwUInt16 packetFlags; /**< A cache of the original packet's flags */
+ RwUInt16 pad[1]; /**< Alignment padding */
+ RwUInt32 numClusters; /**< The number of present clusters in the
+ * original packet when it was cloned */
+ RwBool lastCloneDone;/**< Once the cache has been cloned by \ref RxPacketCacheClone
+ * with (lastClone == TRUE), it should not be used again! */
+ RwUInt32 pad2[1]; /**< Alignment padding */
+ RxPacketCacheCluster clusters[1]; /**< An array of \ref RxPacketCacheCluster's,
+ * extending beyond 1 element */
+};
+
+
+typedef struct RxNodeCloneInitData RxNodeCloneInitData;
+/**
+ * \ingroup rtgencpipe
+ * \struct RxNodeCloneInitData
+ * structure with which to initialize
+ * clone a \ref RxNodeDefinition,
+ * through \ref RxNodeDefinitionCloneCreate and
+ * set up cloned \ref RxPipelineNode modes, through
+ * \ref RxPipelineNodeCloneDefineModes */
+struct RxNodeCloneInitData
+{
+ RwUInt32 numModes; /**< Specifies the number of modes in
+ which the node should operate */
+ RwUInt32 numOutputs; /**< Specifies the number of outputs of this
+ Clone node, which is also the maximum
+ number of outputs to which any one mode
+ may dispatch packets */
+ RwUInt32 *modeSizes; /**< Specifies the number of outputs to which
+ each mode dispatches packets */
+ RwUInt32 **modes; /**< An array of numModes pointers to arrays
+ (of length numOutputs) specifying the
+ outputs, in order, to which each mode
+ should dispatch packets (output zero is
+ the first output) */
+};
+
+/**
+ * \ingroup rtgencpipe
+ * \struct RxNodeCloneData
+ * structure which is the private
+ * data of Clone nodes \ref RxPipelineNode */
+typedef struct RxNodeCloneData RxNodeCloneData;
+struct RxNodeCloneData
+{
+ RwBool optimized; /**< \ref RwBool specifying whether \ref RxPipelineNodeCloneOptimize
+ * has been run on this \ref RxPipelineNode yet */
+ RwUInt32 currentMode; /**< \ref RwUInt32 The current mode of operation */
+ RxNodeCloneInitData *data;/**< A pointer to \ref RxNodeCloneInitData data
+ * specifying the modes of operation */
+};
+
+/****************************************************************************
+ global prototypes
+ */
+
+extern RxClusterDefinition RxClLights; /* Uses the RxLight type (see above) */
+
+
+/*********************************************************************************
+
+ Generic Nodes
+
+ *******************************************************************************/
+
+extern RxNodeDefinition *RxNodeDefinitionGetAtomicInstance(void);
+extern RxNodeDefinition *RxNodeDefinitionGetClipLine(void);
+extern RxNodeDefinition *RxNodeDefinitionGetClipTriangle(void);
+extern RxNodeDefinition *RxNodeDefinitionGetWorldSectorEnumerateLights(void);
+extern RxNodeDefinition *RxNodeDefinitionGetCullTriangle(void);
+extern RxNodeDefinition *RxNodeDefinitionGetFastPathSplitter(void);
+extern RxNodeDefinition *RxNodeDefinitionGetImmInstance(void);
+extern RxNodeDefinition *RxNodeDefinitionGetImmMangleLineIndices(void);
+extern RxNodeDefinition *RxNodeDefinitionGetImmMangleTriangleIndices(void);
+extern RxNodeDefinition *RxNodeDefinitionGetImmRenderSetup(void);
+extern RxNodeDefinition *RxNodeDefinitionGetImmStash(void);
+extern RxNodeDefinition *RxNodeDefinitionGetLight(void);
+extern RxNodeDefinition *RxNodeDefinitionGetMaterialScatter(void);
+extern RxNodeDefinition *RxNodeDefinitionGetPostLight(void);
+extern RxNodeDefinition *RxNodeDefinitionGetPreLight(void);
+extern RxNodeDefinition *RxNodeDefinitionGetRGBAInterp(void);
+extern RxNodeDefinition *RxNodeDefinitionGetUVInterp(void);
+extern RxNodeDefinition *RxNodeDefinitionGetScatter(void);
+extern RxNodeDefinition *RxNodeDefinitionGetSubmitLine(void);
+extern RxNodeDefinition *RxNodeDefinitionGetSubmitTriangle(void);
+extern RxNodeDefinition *RxNodeDefinitionGetTransform(void);
+extern RxNodeDefinition *RxNodeDefinitionGetAtomicEnumerateLights(void);
+extern RxNodeDefinition *RxNodeDefinitionGetWorldSectorInstance(void);
+extern RxNodeDefinition *RxNodeDefinitionCloneCreate(RxNodeCloneInitData *data);
+extern RwBool RxPipelineNodeCloneDefineModes(
+ RxPipeline *pipeline,
+ RxPipelineNode *node,
+ RxNodeCloneInitData *data);
+extern RwBool RxNodeDefinitionCloneDestroy(RxNodeDefinition *def);
+extern RwBool RxPipelineNodeCloneOptimize(RxPipeline *pipeline,
+ RxPipelineNode *node);
+
+
+/*********************************************************************************
+
+ Generic Core Pipes
+
+ *******************************************************************************/
+
+
+extern RwBool RtGenCPipeCreateGenericIm3DTransformPipeline(void);
+extern void RtGenCPipeDestroyGenericIm3DTransformPipeline(void);
+extern RwBool RtGenCPipeCreateGenericIm3DRenderPipelines(void);
+extern void RtGenCPipeDestroyGenericIm3DRenderPipelines(void);
+
+extern RxPipeline *RwIm3DGetGenericTransformPipeline(void);
+extern RxPipeline *RwIm3DGetGenericRenderPipeline(RwPrimitiveType primType);
+
+
+/*********************************************************************************
+
+ Generic World Pipes
+
+ *******************************************************************************/
+
+extern RwBool RtGenCPipeCreateGenericWorldPipelines(void);
+extern void RtGenCPipeDestroyGenericWorldPipelines(void);
+
+#define RpWorldGetGenericSectorPipelineMacro() \
+ (RXPIPELINEGLOBAL(genericWorldSectorPipeline))
+
+#define RpAtomicGetGenericPipelineMacro() \
+ (RXPIPELINEGLOBAL(genericAtomicPipeline))
+
+#define RpMaterialGetGenericPipelineMacro() \
+ (RXPIPELINEGLOBAL(genericMaterialPipeline))
+
+
+#if !(defined(RWDEBUG) || defined(RWSUPPRESSINLINE))
+
+#define RpWorldGetGenericSectorPipeline RpWorldGetGenericSectorPipelineMacro
+#define RpAtomicGetGenericPipeline RpAtomicGetGenericPipelineMacro
+#define RpMaterialGetGenericPipeline RpMaterialGetGenericPipelineMacro
+
+#endif /* !(defined(RWDEBUG) || defined(RWSUPPRESSINLINE)) */
+
+
+#if (defined(RWDEBUG) || defined(RWSUPPRESSINLINE))
+
+extern RxPipeline *RpWorldGetGenericSectorPipeline(void);
+
+extern RxPipeline *RpAtomicGetGenericPipeline(void);
+
+extern RxPipeline *RpMaterialGetGenericPipeline(void);
+
+#endif /* (defined(RWDEBUG) || defined(RWSUPPRESSINLINE)) */
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /* (!defined(_RTGNCPIP_H)) */
+
+/* RWPUBLICEND */
+
+/* *INDENT-ON* */
diff --git a/sdk/rwsdk/include/d3d8/rtgncpip.rpe b/sdk/rwsdk/include/d3d8/rtgncpip.rpe
new file mode 100644
index 00000000..4f676526
--- /dev/null
+++ b/sdk/rwsdk/include/d3d8/rtgncpip.rpe
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+enum e_rwdb_CriterionGENCPIPETOOL
+{
+
+
+
+ e_rwdb_CriterionGENCPIPETOOLLAST = RWFORCEENUMSIZEINT
+};
+
+typedef enum e_rwdb_CriterionGENCPIPETOOL e_rwdb_CriterionGENCPIPETOOL;
+
+
diff --git a/rwsdk/include/d3d8/rtimport.h b/sdk/rwsdk/include/d3d8/rtimport.h
index 2cc6383b..2cc6383b 100644
--- a/rwsdk/include/d3d8/rtimport.h
+++ b/sdk/rwsdk/include/d3d8/rtimport.h
diff --git a/rwsdk/include/d3d8/rtimport.rpe b/sdk/rwsdk/include/d3d8/rtimport.rpe
index ff8d3d5c..ff8d3d5c 100644
--- a/rwsdk/include/d3d8/rtimport.rpe
+++ b/sdk/rwsdk/include/d3d8/rtimport.rpe
diff --git a/rwsdk/include/d3d8/rtintsec.h b/sdk/rwsdk/include/d3d8/rtintsec.h
index a2e4c3d6..a2e4c3d6 100644
--- a/rwsdk/include/d3d8/rtintsec.h
+++ b/sdk/rwsdk/include/d3d8/rtintsec.h
diff --git a/rwsdk/include/d3d8/rtintsec.rpe b/sdk/rwsdk/include/d3d8/rtintsec.rpe
index 3c7f7bf3..3c7f7bf3 100644
--- a/rwsdk/include/d3d8/rtintsec.rpe
+++ b/sdk/rwsdk/include/d3d8/rtintsec.rpe
diff --git a/rwsdk/include/d3d8/rtltmap.h b/sdk/rwsdk/include/d3d8/rtltmap.h
index 8ee15a43..8ee15a43 100644
--- a/rwsdk/include/d3d8/rtltmap.h
+++ b/sdk/rwsdk/include/d3d8/rtltmap.h
diff --git a/rwsdk/include/d3d8/rtltmap.rpe b/sdk/rwsdk/include/d3d8/rtltmap.rpe
index fb171c51..fb171c51 100644
--- a/rwsdk/include/d3d8/rtltmap.rpe
+++ b/sdk/rwsdk/include/d3d8/rtltmap.rpe
diff --git a/rwsdk/include/d3d8/rtmipk.h b/sdk/rwsdk/include/d3d8/rtmipk.h
index 6c777b41..6c777b41 100644
--- a/rwsdk/include/d3d8/rtmipk.h
+++ b/sdk/rwsdk/include/d3d8/rtmipk.h
diff --git a/rwsdk/include/d3d8/rtmipk.rpe b/sdk/rwsdk/include/d3d8/rtmipk.rpe
index 04500e1d..04500e1d 100644
--- a/rwsdk/include/d3d8/rtmipk.rpe
+++ b/sdk/rwsdk/include/d3d8/rtmipk.rpe
diff --git a/rwsdk/include/d3d8/rtpick.h b/sdk/rwsdk/include/d3d8/rtpick.h
index 62f564a3..62f564a3 100644
--- a/rwsdk/include/d3d8/rtpick.h
+++ b/sdk/rwsdk/include/d3d8/rtpick.h
diff --git a/rwsdk/include/d3d8/rtpick.rpe b/sdk/rwsdk/include/d3d8/rtpick.rpe
index 779e2f9a..779e2f9a 100644
--- a/rwsdk/include/d3d8/rtpick.rpe
+++ b/sdk/rwsdk/include/d3d8/rtpick.rpe
diff --git a/rwsdk/include/d3d8/rtpitexd.h b/sdk/rwsdk/include/d3d8/rtpitexd.h
index 602c608a..602c608a 100644
--- a/rwsdk/include/d3d8/rtpitexd.h
+++ b/sdk/rwsdk/include/d3d8/rtpitexd.h
diff --git a/rwsdk/include/d3d8/rtpitexd.rpe b/sdk/rwsdk/include/d3d8/rtpitexd.rpe
index 290ac864..290ac864 100644
--- a/rwsdk/include/d3d8/rtpitexd.rpe
+++ b/sdk/rwsdk/include/d3d8/rtpitexd.rpe
diff --git a/rwsdk/include/d3d8/rtpng.h b/sdk/rwsdk/include/d3d8/rtpng.h
index 4ba8cf0f..4ba8cf0f 100644
--- a/rwsdk/include/d3d8/rtpng.h
+++ b/sdk/rwsdk/include/d3d8/rtpng.h
diff --git a/rwsdk/include/d3d8/rtpng.rpe b/sdk/rwsdk/include/d3d8/rtpng.rpe
index e3f6f0d7..e3f6f0d7 100644
--- a/rwsdk/include/d3d8/rtpng.rpe
+++ b/sdk/rwsdk/include/d3d8/rtpng.rpe
diff --git a/rwsdk/include/d3d8/rtquat.h b/sdk/rwsdk/include/d3d8/rtquat.h
index a0a6e89d..a0a6e89d 100644
--- a/rwsdk/include/d3d8/rtquat.h
+++ b/sdk/rwsdk/include/d3d8/rtquat.h
diff --git a/rwsdk/include/d3d8/rtquat.rpe b/sdk/rwsdk/include/d3d8/rtquat.rpe
index b239aba0..b239aba0 100644
--- a/rwsdk/include/d3d8/rtquat.rpe
+++ b/sdk/rwsdk/include/d3d8/rtquat.rpe
diff --git a/rwsdk/include/d3d8/rtras.h b/sdk/rwsdk/include/d3d8/rtras.h
index 957e21e6..957e21e6 100644
--- a/rwsdk/include/d3d8/rtras.h
+++ b/sdk/rwsdk/include/d3d8/rtras.h
diff --git a/rwsdk/include/d3d8/rtras.rpe b/sdk/rwsdk/include/d3d8/rtras.rpe
index a242ef49..a242ef49 100644
--- a/rwsdk/include/d3d8/rtras.rpe
+++ b/sdk/rwsdk/include/d3d8/rtras.rpe
diff --git a/rwsdk/include/d3d8/rtray.h b/sdk/rwsdk/include/d3d8/rtray.h
index b2f3d4bc..b2f3d4bc 100644
--- a/rwsdk/include/d3d8/rtray.h
+++ b/sdk/rwsdk/include/d3d8/rtray.h
diff --git a/rwsdk/include/d3d8/rtray.rpe b/sdk/rwsdk/include/d3d8/rtray.rpe
index c1ff4458..c1ff4458 100644
--- a/rwsdk/include/d3d8/rtray.rpe
+++ b/sdk/rwsdk/include/d3d8/rtray.rpe
diff --git a/sdk/rwsdk/include/d3d8/rtskinsp.h b/sdk/rwsdk/include/d3d8/rtskinsp.h
new file mode 100644
index 00000000..7e40c13f
--- /dev/null
+++ b/sdk/rwsdk/include/d3d8/rtskinsp.h
@@ -0,0 +1,57 @@
+/***************************************************************************
+ * *
+ * Module : *
+ * *
+ * Purpose : *
+ * *
+ **************************************************************************/
+
+/* RWPUBLIC */
+
+#ifndef RTSKINSP_H
+#define RTSKINSP_H
+
+/**
+ * \defgroup rtskinsplit RtSkinSplit
+ * \ingroup skinning
+ *
+ * Skin Splitting Toolkit for RenderWare Graphics.
+ */
+
+/****************************************************************************
+ Includes
+ */
+#include <rwcore.h>
+#include <rpworld.h>
+
+/****************************************************************************
+ Defines
+ */
+
+/****************************************************************************
+ Global Types
+ */
+
+/****************************************************************************
+ Global variables (across program)
+ */
+
+/****************************************************************************
+ Function prototypes
+ */
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cpluscplus */
+
+extern RpAtomic *
+RtSkinSplitAtomicSplitGeometry( RpAtomic *atomic, RwUInt32 boneLimit );
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* RTSKINSP_H */
+
+/* RWPUBLICEND */
diff --git a/sdk/rwsdk/include/d3d8/rtskinsp.rpe b/sdk/rwsdk/include/d3d8/rtskinsp.rpe
new file mode 100644
index 00000000..f86623b4
--- /dev/null
+++ b/sdk/rwsdk/include/d3d8/rtskinsp.rpe
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+enum e_rwdb_CriterionSkinSplit
+{
+
+
+
+ e_rwdb_CriterionSkinSplitLAST = RWFORCEENUMSIZEINT
+};
+
+typedef enum e_rwdb_CriterionSkinSplit e_rwdb_CriterionSkinSplit;
+
+
diff --git a/rwsdk/include/d3d8/rtslerp.h b/sdk/rwsdk/include/d3d8/rtslerp.h
index 4262b894..4262b894 100644
--- a/rwsdk/include/d3d8/rtslerp.h
+++ b/sdk/rwsdk/include/d3d8/rtslerp.h
diff --git a/rwsdk/include/d3d8/rtslerp.rpe b/sdk/rwsdk/include/d3d8/rtslerp.rpe
index 64bd7571..64bd7571 100644
--- a/rwsdk/include/d3d8/rtslerp.rpe
+++ b/sdk/rwsdk/include/d3d8/rtslerp.rpe
diff --git a/rwsdk/include/d3d8/rtsplpvs.h b/sdk/rwsdk/include/d3d8/rtsplpvs.h
index 419717a1..419717a1 100644
--- a/rwsdk/include/d3d8/rtsplpvs.h
+++ b/sdk/rwsdk/include/d3d8/rtsplpvs.h
diff --git a/rwsdk/include/d3d8/rtsplpvs.rpe b/sdk/rwsdk/include/d3d8/rtsplpvs.rpe
index 9736cbbc..9736cbbc 100644
--- a/rwsdk/include/d3d8/rtsplpvs.rpe
+++ b/sdk/rwsdk/include/d3d8/rtsplpvs.rpe
diff --git a/rwsdk/include/d3d8/rttiff.h b/sdk/rwsdk/include/d3d8/rttiff.h
index b5d0ec00..b5d0ec00 100644
--- a/rwsdk/include/d3d8/rttiff.h
+++ b/sdk/rwsdk/include/d3d8/rttiff.h
diff --git a/rwsdk/include/d3d8/rttiff.rpe b/sdk/rwsdk/include/d3d8/rttiff.rpe
index 260b2329..260b2329 100644
--- a/rwsdk/include/d3d8/rttiff.rpe
+++ b/sdk/rwsdk/include/d3d8/rttiff.rpe
diff --git a/rwsdk/include/d3d8/rttilerd.h b/sdk/rwsdk/include/d3d8/rttilerd.h
index 7cb8f887..7cb8f887 100644
--- a/rwsdk/include/d3d8/rttilerd.h
+++ b/sdk/rwsdk/include/d3d8/rttilerd.h
diff --git a/rwsdk/include/d3d8/rttilerd.rpe b/sdk/rwsdk/include/d3d8/rttilerd.rpe
index 15c929f9..15c929f9 100644
--- a/rwsdk/include/d3d8/rttilerd.rpe
+++ b/sdk/rwsdk/include/d3d8/rttilerd.rpe
diff --git a/rwsdk/include/d3d8/rttoc.h b/sdk/rwsdk/include/d3d8/rttoc.h
index 88926062..88926062 100644
--- a/rwsdk/include/d3d8/rttoc.h
+++ b/sdk/rwsdk/include/d3d8/rttoc.h
diff --git a/rwsdk/include/d3d8/rttoc.rpe b/sdk/rwsdk/include/d3d8/rttoc.rpe
index 706372f2..706372f2 100644
--- a/rwsdk/include/d3d8/rttoc.rpe
+++ b/sdk/rwsdk/include/d3d8/rttoc.rpe
diff --git a/rwsdk/include/d3d8/rtvcat.h b/sdk/rwsdk/include/d3d8/rtvcat.h
index 474095e1..474095e1 100644
--- a/rwsdk/include/d3d8/rtvcat.h
+++ b/sdk/rwsdk/include/d3d8/rtvcat.h
diff --git a/rwsdk/include/d3d8/rtvcat.rpe b/sdk/rwsdk/include/d3d8/rtvcat.rpe
index ef5e286e..ef5e286e 100644
--- a/rwsdk/include/d3d8/rtvcat.rpe
+++ b/sdk/rwsdk/include/d3d8/rtvcat.rpe
diff --git a/rwsdk/include/d3d8/rtworld.h b/sdk/rwsdk/include/d3d8/rtworld.h
index 727d8122..727d8122 100644
--- a/rwsdk/include/d3d8/rtworld.h
+++ b/sdk/rwsdk/include/d3d8/rtworld.h
diff --git a/rwsdk/include/d3d8/rtworld.rpe b/sdk/rwsdk/include/d3d8/rtworld.rpe
index 83449720..83449720 100644
--- a/rwsdk/include/d3d8/rtworld.rpe
+++ b/sdk/rwsdk/include/d3d8/rtworld.rpe
diff --git a/rwsdk/include/d3d8/rwcore.h b/sdk/rwsdk/include/d3d8/rwcore.h
index 583de35f..583de35f 100644
--- a/rwsdk/include/d3d8/rwcore.h
+++ b/sdk/rwsdk/include/d3d8/rwcore.h
diff --git a/rwsdk/include/d3d8/rwplcore.h b/sdk/rwsdk/include/d3d8/rwplcore.h
index 3740ae60..3740ae60 100644
--- a/rwsdk/include/d3d8/rwplcore.h
+++ b/sdk/rwsdk/include/d3d8/rwplcore.h
diff --git a/eax/eax-util.cpp b/src/audio/eax/eax-util.cpp
index 42eef738..42eef738 100644
--- a/eax/eax-util.cpp
+++ b/src/audio/eax/eax-util.cpp
diff --git a/eax/eax-util.h b/src/audio/eax/eax-util.h
index 441f0115..441f0115 100644
--- a/eax/eax-util.h
+++ b/src/audio/eax/eax-util.h
diff --git a/eax/eax.h b/src/audio/eax/eax.h
index b2210936..b2210936 100644
--- a/eax/eax.h
+++ b/src/audio/eax/eax.h
diff --git a/src/audio/oal/stream.cpp b/src/audio/oal/stream.cpp
index b689e929..f2a9eb22 100644
--- a/src/audio/oal/stream.cpp
+++ b/src/audio/oal/stream.cpp
@@ -4,6 +4,9 @@
#include "stream.h"
#include "sampman.h"
+#ifdef AUDIO_OPUS
+#include <opusfile.h>
+#else
#ifdef _WIN32
// TODO: This is due to version difference of 32-bit libmpg123 and 64-bit libmpg123, fix it
@@ -17,7 +20,9 @@ typedef long ssize_t;
#endif
#include <sndfile.h>
#include <mpg123.h>
+#endif
+#ifndef AUDIO_OPUS
class CSndFile : public IDecoder
{
SNDFILE *m_pfSound;
@@ -184,6 +189,98 @@ public:
return (uint32)size;
}
};
+#else
+class COpusFile : public IDecoder
+{
+ OggOpusFile *m_FileH;
+ bool m_bOpened;
+ uint32 m_nRate;
+ uint32 m_nChannels;
+public:
+ COpusFile(const char *path) : m_FileH(nil),
+ m_bOpened(false),
+ m_nRate(0),
+ m_nChannels(0)
+ {
+ int ret;
+ m_FileH = op_open_file(path, &ret);
+
+ if (m_FileH) {
+ m_nChannels = op_head(m_FileH, 0)->channel_count;
+ m_nRate = op_head(m_FileH, 0)->input_sample_rate;
+ const OpusTags *tags = op_tags(m_FileH, 0);
+ for (int i = 0; i < tags->comments; i++) {
+ if (strncmp(tags->user_comments[i], "SAMPLERATE", sizeof("SAMPLERATE")-1) == 0)
+ {
+ sscanf(tags->user_comments[i], "SAMPLERATE=%i", &m_nRate);
+ break;
+ }
+ }
+
+ m_bOpened = true;
+ }
+ }
+
+ ~COpusFile()
+ {
+ if (m_FileH)
+ {
+ op_free(m_FileH);
+ m_FileH = nil;
+ }
+ }
+
+ bool IsOpened()
+ {
+ return m_bOpened;
+ }
+
+ uint32 GetSampleSize()
+ {
+ return sizeof(uint16);
+ }
+
+ uint32 GetSampleCount()
+ {
+ if ( !IsOpened() ) return 0;
+ return op_pcm_total(m_FileH, 0);
+ }
+
+ uint32 GetSampleRate()
+ {
+ return m_nRate;
+ }
+
+ uint32 GetChannels()
+ {
+ return m_nChannels;
+ }
+
+ void Seek(uint32 milliseconds)
+ {
+ if ( !IsOpened() ) return;
+ op_pcm_seek(m_FileH, ms2samples(milliseconds) * GetSampleSize());
+ }
+
+ uint32 Tell()
+ {
+ if ( !IsOpened() ) return 0;
+ return samples2ms(op_pcm_tell(m_FileH)/GetSampleSize());
+ }
+
+ uint32 Decode(void *buffer)
+ {
+ if ( !IsOpened() ) return 0;
+
+ int size = op_read(m_FileH, (opus_int16 *)buffer, GetBufferSamples(), NULL);
+
+ if (size < 0)
+ return 0;
+
+ return size * m_nChannels * GetSampleSize();
+ }
+};
+#endif
class CADFFile : public CMP3File
{
@@ -232,12 +329,16 @@ public:
void CStream::Initialise()
{
+#ifndef AUDIO_OPUS
mpg123_init();
+#endif
}
void CStream::Terminate()
{
+#ifndef AUDIO_OPUS
mpg123_exit();
+#endif
}
CStream::CStream(char *filename, ALuint &source, ALuint (&buffers)[NUM_STREAMBUFFERS]) :
@@ -268,12 +369,17 @@ CStream::CStream(char *filename, ALuint &source, ALuint (&buffers)[NUM_STREAMBUF
DEV("Stream %s\n", m_aFilename);
+#ifndef AUDIO_OPUS
if (!strcasecmp(&m_aFilename[strlen(m_aFilename) - strlen(".mp3")], ".mp3"))
m_pSoundFile = new CMP3File(m_aFilename);
else if (!strcasecmp(&m_aFilename[strlen(m_aFilename) - strlen(".wav")], ".wav"))
m_pSoundFile = new CSndFile(m_aFilename);
else if (!strcasecmp(&m_aFilename[strlen(m_aFilename) - strlen(".adf")], ".adf"))
m_pSoundFile = new CADFFile(m_aFilename);
+#else
+ if (!strcasecmp(&m_aFilename[strlen(m_aFilename) - strlen(".opus")], ".opus"))
+ m_pSoundFile = new COpusFile(m_aFilename);
+#endif
else
m_pSoundFile = nil;
ASSERT(m_pSoundFile != nil);
diff --git a/src/audio/sampman.h b/src/audio/sampman.h
index 04f2e0c4..773fbda1 100644
--- a/src/audio/sampman.h
+++ b/src/audio/sampman.h
@@ -218,6 +218,42 @@ public:
extern cSampleManager SampleManager;
extern uint32 BankStartOffset[MAX_SAMPLEBANKS];
+#ifdef AUDIO_OPUS
+static char StreamedNameTable[][25] = {
+ "AUDIO\\HEAD.OPUS", "AUDIO\\CLASS.OPUS", "AUDIO\\KJAH.OPUS", "AUDIO\\RISE.OPUS", "AUDIO\\LIPS.OPUS", "AUDIO\\GAME.OPUS",
+ "AUDIO\\MSX.OPUS", "AUDIO\\FLASH.OPUS", "AUDIO\\CHAT.OPUS", "AUDIO\\HEAD.OPUS", "AUDIO\\POLICE.OPUS", "AUDIO\\CITY.OPUS",
+ "AUDIO\\WATER.OPUS", "AUDIO\\COMOPEN.OPUS", "AUDIO\\SUBOPEN.OPUS", "AUDIO\\JB.OPUS", "AUDIO\\BET.OPUS", "AUDIO\\L1_LG.OPUS",
+ "AUDIO\\L2_DSB.OPUS", "AUDIO\\L3_DM.OPUS", "AUDIO\\L4_PAP.OPUS", "AUDIO\\L5_TFB.OPUS", "AUDIO\\J0_DM2.OPUS", "AUDIO\\J1_LFL.OPUS",
+ "AUDIO\\J2_KCL.OPUS", "AUDIO\\J3_VH.OPUS", "AUDIO\\J4_ETH.OPUS", "AUDIO\\J5_DST.OPUS", "AUDIO\\J6_TBJ.OPUS", "AUDIO\\T1_TOL.OPUS",
+ "AUDIO\\T2_TPU.OPUS", "AUDIO\\T3_MAS.OPUS", "AUDIO\\T4_TAT.OPUS", "AUDIO\\T5_BF.OPUS", "AUDIO\\S0_MAS.OPUS", "AUDIO\\S1_PF.OPUS",
+ "AUDIO\\S2_CTG.OPUS", "AUDIO\\S3_RTC.OPUS", "AUDIO\\S5_LRQ.OPUS", "AUDIO\\S4_BDBA.OPUS", "AUDIO\\S4_BDBB.OPUS", "AUDIO\\S2_CTG2.OPUS",
+ "AUDIO\\S4_BDBD.OPUS", "AUDIO\\S5_LRQB.OPUS", "AUDIO\\S5_LRQC.OPUS", "AUDIO\\A1_SSO.OPUS", "AUDIO\\A2_PP.OPUS", "AUDIO\\A3_SS.OPUS",
+ "AUDIO\\A4_PDR.OPUS", "AUDIO\\A5_K2FT.OPUS", "AUDIO\\K1_KBO.OPUS", "AUDIO\\K2_GIS.OPUS", "AUDIO\\K3_DS.OPUS", "AUDIO\\K4_SHI.OPUS",
+ "AUDIO\\K5_SD.OPUS", "AUDIO\\R0_PDR2.OPUS", "AUDIO\\R1_SW.OPUS", "AUDIO\\R2_AP.OPUS", "AUDIO\\R3_ED.OPUS", "AUDIO\\R4_GF.OPUS",
+ "AUDIO\\R5_PB.OPUS", "AUDIO\\R6_MM.OPUS", "AUDIO\\D1_STOG.OPUS", "AUDIO\\D2_KK.OPUS", "AUDIO\\D3_ADO.OPUS", "AUDIO\\D5_ES.OPUS",
+ "AUDIO\\D7_MLD.OPUS", "AUDIO\\D4_GTA.OPUS", "AUDIO\\D4_GTA2.OPUS", "AUDIO\\D6_STS.OPUS", "AUDIO\\A6_BAIT.OPUS", "AUDIO\\A7_ETG.OPUS",
+ "AUDIO\\A8_PS.OPUS", "AUDIO\\A9_ASD.OPUS", "AUDIO\\K4_SHI2.OPUS", "AUDIO\\C1_TEX.OPUS", "AUDIO\\EL_PH1.OPUS", "AUDIO\\EL_PH2.OPUS",
+ "AUDIO\\EL_PH3.OPUS", "AUDIO\\EL_PH4.OPUS", "AUDIO\\YD_PH1.OPUS", "AUDIO\\YD_PH2.OPUS", "AUDIO\\YD_PH3.OPUS", "AUDIO\\YD_PH4.OPUS",
+ "AUDIO\\HD_PH1.OPUS", "AUDIO\\HD_PH2.OPUS", "AUDIO\\HD_PH3.OPUS", "AUDIO\\HD_PH4.OPUS", "AUDIO\\HD_PH5.OPUS", "AUDIO\\MT_PH1.OPUS",
+ "AUDIO\\MT_PH2.OPUS", "AUDIO\\MT_PH3.OPUS", "AUDIO\\MT_PH4.OPUS", "AUDIO\\MISCOM.OPUS", "AUDIO\\END.OPUS", "AUDIO\\lib_a1.OPUS",
+ "AUDIO\\lib_a2.OPUS", "AUDIO\\lib_a.OPUS", "AUDIO\\lib_b.OPUS", "AUDIO\\lib_c.OPUS", "AUDIO\\lib_d.OPUS", "AUDIO\\l2_a.OPUS",
+ "AUDIO\\j4t_1.OPUS", "AUDIO\\j4t_2.OPUS", "AUDIO\\j4t_3.OPUS", "AUDIO\\j4t_4.OPUS", "AUDIO\\j4_a.OPUS", "AUDIO\\j4_b.OPUS",
+ "AUDIO\\j4_c.OPUS", "AUDIO\\j4_d.OPUS", "AUDIO\\j4_e.OPUS", "AUDIO\\j4_f.OPUS", "AUDIO\\j6_1.OPUS", "AUDIO\\j6_a.OPUS",
+ "AUDIO\\j6_b.OPUS", "AUDIO\\j6_c.OPUS", "AUDIO\\j6_d.OPUS", "AUDIO\\t4_a.OPUS", "AUDIO\\s1_a.OPUS", "AUDIO\\s1_a1.OPUS",
+ "AUDIO\\s1_b.OPUS", "AUDIO\\s1_c.OPUS", "AUDIO\\s1_c1.OPUS", "AUDIO\\s1_d.OPUS", "AUDIO\\s1_e.OPUS", "AUDIO\\s1_f.OPUS",
+ "AUDIO\\s1_g.OPUS", "AUDIO\\s1_h.OPUS", "AUDIO\\s1_i.OPUS", "AUDIO\\s1_j.OPUS", "AUDIO\\s1_k.OPUS", "AUDIO\\s1_l.OPUS",
+ "AUDIO\\s3_a.OPUS", "AUDIO\\s3_b.OPUS", "AUDIO\\el3_a.OPUS", "AUDIO\\mf1_a.OPUS", "AUDIO\\mf2_a.OPUS", "AUDIO\\mf3_a.OPUS",
+ "AUDIO\\mf3_b.OPUS", "AUDIO\\mf3_b1.OPUS", "AUDIO\\mf3_c.OPUS", "AUDIO\\mf4_a.OPUS", "AUDIO\\mf4_b.OPUS", "AUDIO\\mf4_c.OPUS",
+ "AUDIO\\a1_a.OPUS", "AUDIO\\a3_a.OPUS", "AUDIO\\a5_a.OPUS", "AUDIO\\a4_a.OPUS", "AUDIO\\a4_b.OPUS", "AUDIO\\a4_c.OPUS",
+ "AUDIO\\a4_d.OPUS", "AUDIO\\k1_a.OPUS", "AUDIO\\k3_a.OPUS", "AUDIO\\r1_a.OPUS", "AUDIO\\r2_a.OPUS", "AUDIO\\r2_b.OPUS",
+ "AUDIO\\r2_c.OPUS", "AUDIO\\r2_d.OPUS", "AUDIO\\r2_e.OPUS", "AUDIO\\r2_f.OPUS", "AUDIO\\r2_g.OPUS", "AUDIO\\r2_h.OPUS",
+ "AUDIO\\r5_a.OPUS", "AUDIO\\r6_a.OPUS", "AUDIO\\r6_a1.OPUS", "AUDIO\\r6_b.OPUS", "AUDIO\\lo2_a.OPUS", "AUDIO\\lo6_a.OPUS",
+ "AUDIO\\yd2_a.OPUS", "AUDIO\\yd2_b.OPUS", "AUDIO\\yd2_c.OPUS", "AUDIO\\yd2_c1.OPUS", "AUDIO\\yd2_d.OPUS", "AUDIO\\yd2_e.OPUS",
+ "AUDIO\\yd2_f.OPUS", "AUDIO\\yd2_g.OPUS", "AUDIO\\yd2_h.OPUS", "AUDIO\\yd2_ass.OPUS", "AUDIO\\yd2_ok.OPUS", "AUDIO\\h5_a.OPUS",
+ "AUDIO\\h5_b.OPUS", "AUDIO\\h5_c.OPUS", "AUDIO\\ammu_a.OPUS", "AUDIO\\ammu_b.OPUS", "AUDIO\\ammu_c.OPUS", "AUDIO\\door_1.OPUS",
+ "AUDIO\\door_2.OPUS", "AUDIO\\door_3.OPUS", "AUDIO\\door_4.OPUS", "AUDIO\\door_5.OPUS", "AUDIO\\door_6.OPUS", "AUDIO\\t3_a.OPUS",
+ "AUDIO\\t3_b.OPUS", "AUDIO\\t3_c.OPUS", "AUDIO\\k1_b.OPUS", "AUDIO\\cat1.OPUS"};
+#else
static char StreamedNameTable[][25]=
{
"AUDIO\\WILD.ADF",
@@ -1445,3 +1481,4 @@ static char StreamedNameTable[][25]=
"AUDIO\\BUST_27.WAV",
"AUDIO\\BUST_28.WAV",
};
+#endif \ No newline at end of file
diff --git a/src/audio/sampman_oal.cpp b/src/audio/sampman_oal.cpp
index bf2eca7d..a2943aff 100644
--- a/src/audio/sampman_oal.cpp
+++ b/src/audio/sampman_oal.cpp
@@ -27,6 +27,9 @@
#include "MusicManager.h"
#include "Frontend.h"
#include "Timer.h"
+#ifdef AUDIO_OPUS
+#include <opusfile.h>
+#endif
//TODO: fix eax3 reverb
//TODO: max channals
@@ -69,7 +72,11 @@ char SampleBankDescFilename[] = "audio/sfx.SDT";
char SampleBankDataFilename[] = "audio/sfx.RAW";
FILE *fpSampleDescHandle;
+#ifdef AUDIO_OPUS
+OggOpusFile *fpSampleDataHandle;
+#else
FILE *fpSampleDataHandle;
+#endif
bool bSampleBankLoaded [MAX_SAMPLEBANKS];
int32 nSampleBankDiscStartOffset [MAX_SAMPLEBANKS];
int32 nSampleBankSize [MAX_SAMPLEBANKS];
@@ -444,6 +451,8 @@ int8 cSampleManager::GetCurrent3DProviderIndex(void)
int8 cSampleManager::SetCurrent3DProvider(uint8 nProvider)
{
ASSERT( nProvider < m_nNumberOfProviders );
+ if (nProvider >= m_nNumberOfProviders)
+ nProvider = 0;
int savedprovider = curprovider;
if ( nProvider < m_nNumberOfProviders )
@@ -754,12 +763,27 @@ cSampleManager::LoadSampleBank(uint8 nBank)
return false;
}
+#ifdef AUDIO_OPUS
+ int samplesRead = 0;
+ int samplesSize = nSampleBankSize[nBank] / 2;
+ op_pcm_seek(fpSampleDataHandle, 0);
+ while (samplesSize > 0) {
+ int size = op_read(fpSampleDataHandle, (opus_int16 *)(nSampleBankMemoryStartAddress[nBank] + samplesRead), samplesSize, NULL);
+ if (size <= 0) {
+ // huh?
+ //assert(0);
+ break;
+ }
+ samplesRead += size*2;
+ samplesSize -= size;
+ }
+#else
if ( fseek(fpSampleDataHandle, nSampleBankDiscStartOffset[nBank], SEEK_SET) != 0 )
return false;
if ( fread((void *)nSampleBankMemoryStartAddress[nBank], 1, nSampleBankSize[nBank], fpSampleDataHandle) != nSampleBankSize[nBank] )
return false;
-
+#endif
bSampleBankLoaded[nBank] = true;
return true;
@@ -851,13 +875,28 @@ cSampleManager::LoadPedComment(uint32 nComment)
}
}
}
-
+
+#ifdef AUDIO_OPUS
+ int samplesRead = 0;
+ int samplesSize = m_aSamples[nComment].nSize / 2;
+ op_pcm_seek(fpSampleDataHandle, m_aSamples[nComment].nOffset / 2);
+ while (samplesSize > 0) {
+ int size = op_read(fpSampleDataHandle, (opus_int16 *)(nSampleBankMemoryStartAddress[SAMPLEBANK_PED] + PED_BLOCKSIZE * nCurrentPedSlot + samplesRead),
+ samplesSize, NULL);
+ if (size <= 0) {
+ return false;
+ }
+ samplesRead += size * 2;
+ samplesSize -= size;
+ }
+#else
if ( fseek(fpSampleDataHandle, m_aSamples[nComment].nOffset, SEEK_SET) != 0 )
return false;
if ( fread((void *)(nSampleBankMemoryStartAddress[SAMPLEBANK_PED] + PED_BLOCKSIZE*nCurrentPedSlot), 1, m_aSamples[nComment].nSize, fpSampleDataHandle) != m_aSamples[nComment].nSize )
return false;
-
+
+#endif
nPedSlotSfx[nCurrentPedSlot] = nComment;
alBufferData(pedBuffers[nCurrentPedSlot],
@@ -1387,7 +1426,7 @@ cSampleManager::InitialiseSampleBanks(void)
fpSampleDescHandle = fopen(SampleBankDescFilename, "rb");
if ( fpSampleDescHandle == NULL )
return false;
-
+#ifndef AUDIO_OPUS
fpSampleDataHandle = fopen(SampleBankDataFilename, "rb");
if ( fpSampleDataHandle == NULL )
{
@@ -1400,9 +1439,14 @@ cSampleManager::InitialiseSampleBanks(void)
fseek(fpSampleDataHandle, 0, SEEK_END);
int32 _nSampleDataEndOffset = ftell(fpSampleDataHandle);
rewind(fpSampleDataHandle);
-
+#else
+ int e;
+ fpSampleDataHandle = op_open_file(SampleBankDataFilename, &e);
+#endif
fread(m_aSamples, sizeof(tSample), TOTAL_AUDIO_SAMPLES, fpSampleDescHandle);
-
+#ifdef AUDIO_OPUS
+ int32 _nSampleDataEndOffset = m_aSamples[TOTAL_AUDIO_SAMPLES - 1].nOffset + m_aSamples[TOTAL_AUDIO_SAMPLES - 1].nSize;
+#endif
fclose(fpSampleDescHandle);
fpSampleDescHandle = NULL;
@@ -1420,7 +1464,7 @@ cSampleManager::InitialiseSampleBanks(void)
nSampleBankSize[SAMPLEBANK_MAIN] = nSampleBankDiscStartOffset[SAMPLEBANK_PED] - nSampleBankDiscStartOffset[SAMPLEBANK_MAIN];
nSampleBankSize[SAMPLEBANK_PED] = _nSampleDataEndOffset - nSampleBankDiscStartOffset[SAMPLEBANK_PED];
-
+
return true;
}