diff options
-rw-r--r-- | .gitmodules | 12 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | dxsdk/Include/Msvidctl.tlb | bin | 108028 -> 0 bytes | |||
-rw-r--r-- | dxsdk/Include/Tuner.tlb | bin | 53292 -> 0 bytes | |||
m--------- | ogg | 0 | ||||
m--------- | opus | 0 | ||||
m--------- | opusfile | 0 | ||||
-rw-r--r-- | premake5.lua | 45 | ||||
-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) | bin | 1083572 -> 1083572 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/DxErr9.lib (renamed from dxsdk/Lib/DxErr9.lib) | bin | 3901404 -> 3901404 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/amstrmid.lib (renamed from dxsdk/Lib/amstrmid.lib) | bin | 272820 -> 272820 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3d8.lib (renamed from dxsdk/Lib/d3d8.lib) | bin | 2466 -> 2466 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3d9.lib (renamed from dxsdk/Lib/d3d9.lib) | bin | 4988 -> 4988 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dx.lib (renamed from dxsdk/Lib/d3dx.lib) | bin | 614522 -> 614522 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dx8.lib (renamed from dxsdk/Lib/d3dx8.lib) | bin | 2151212 -> 2151212 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dx8d.lib (renamed from dxsdk/Lib/d3dx8d.lib) | bin | 53414 -> 53414 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dx8dt.lib (renamed from dxsdk/Lib/d3dx8dt.lib) | bin | 2467156 -> 2467156 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dx9.lib (renamed from dxsdk/Lib/d3dx9.lib) | bin | 5959648 -> 5959648 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dx9d.lib (renamed from dxsdk/Lib/d3dx9d.lib) | bin | 82586 -> 82586 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dx9dt.lib (renamed from dxsdk/Lib/d3dx9dt.lib) | bin | 6948164 -> 6948164 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dxd.lib (renamed from dxsdk/Lib/d3dxd.lib) | bin | 565570 -> 565570 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/d3dxof.lib (renamed from dxsdk/Lib/d3dxof.lib) | bin | 1722 -> 1722 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/ddraw.lib (renamed from dxsdk/Lib/ddraw.lib) | bin | 4540 -> 4540 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/dinput.lib (renamed from dxsdk/Lib/dinput.lib) | bin | 17790 -> 17790 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/dinput8.lib (renamed from dxsdk/Lib/dinput8.lib) | bin | 19978 -> 19978 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/dmoguids.lib (renamed from dxsdk/Lib/dmoguids.lib) | bin | 18408 -> 18408 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/dplayx.lib (renamed from dxsdk/Lib/dplayx.lib) | bin | 3142 -> 3142 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/dsetup.lib (renamed from dxsdk/Lib/dsetup.lib) | bin | 5998 -> 5998 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/dsound.lib (renamed from dxsdk/Lib/dsound.lib) | bin | 4042 -> 4042 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/dxguid.lib (renamed from dxsdk/Lib/dxguid.lib) | bin | 107734 -> 107734 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/dxtrans.lib (renamed from dxsdk/Lib/dxtrans.lib) | bin | 3700 -> 3700 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/encapi.lib (renamed from dxsdk/Lib/encapi.lib) | bin | 1522 -> 1522 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/ksproxy.lib (renamed from dxsdk/Lib/ksproxy.lib) | bin | 3054 -> 3054 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/ksuser.lib (renamed from dxsdk/Lib/ksuser.lib) | bin | 196016 -> 196016 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/msdmo.lib (renamed from dxsdk/Lib/msdmo.lib) | bin | 4620 -> 4620 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/quartz.lib (renamed from dxsdk/Lib/quartz.lib) | bin | 2370 -> 2370 bytes | |||
-rw-r--r-- | sdk/dx8sdk/Lib/strmiids.lib (renamed from dxsdk/Lib/strmiids.lib) | bin | 272820 -> 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) | bin | 15570 -> 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.h | 638 | ||||
-rw-r--r-- | sdk/rwsdk/include/d3d8/rtanim.rpe | 168 | ||||
-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.h | 256 | ||||
-rw-r--r-- | sdk/rwsdk/include/d3d8/rtgncpip.rpe | 172 | ||||
-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.h | 57 | ||||
-rw-r--r-- | sdk/rwsdk/include/d3d8/rtskinsp.rpe | 163 | ||||
-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/animation/AnimManager.cpp | 22 | ||||
-rw-r--r-- | src/animation/CutsceneMgr.cpp | 81 | ||||
-rw-r--r-- | src/animation/CutsceneMgr.h | 4 | ||||
-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.cpp | 106 | ||||
-rw-r--r-- | src/audio/sampman.h | 37 | ||||
-rw-r--r-- | src/audio/sampman_oal.cpp | 58 | ||||
-rw-r--r-- | src/control/Pickups.cpp | 139 | ||||
-rw-r--r-- | src/control/Pickups.h | 16 | ||||
-rw-r--r-- | src/control/Script.cpp | 53 | ||||
-rw-r--r-- | src/core/Camera.cpp | 4 | ||||
-rw-r--r-- | src/core/Fire.cpp | 7 | ||||
-rw-r--r-- | src/core/Frontend.cpp | 4 | ||||
-rw-r--r-- | src/core/Game.cpp | 18 | ||||
-rw-r--r-- | src/core/Pad.cpp | 33 | ||||
-rw-r--r-- | src/core/Pad.h | 1 | ||||
-rw-r--r-- | src/core/config.h | 5 | ||||
-rw-r--r-- | src/objects/Object.h | 1 | ||||
-rw-r--r-- | src/render/Fluff.cpp | 230 | ||||
-rw-r--r-- | src/render/Fluff.h | 30 | ||||
-rw-r--r-- | src/render/Hud.cpp | 6 | ||||
-rw-r--r-- | src/render/Hud.h | 1 | ||||
-rw-r--r-- | src/render/Shadows.cpp | 3 | ||||
-rw-r--r-- | src/rw/RwHelper.cpp | 40 | ||||
-rw-r--r-- | src/rw/RwHelper.h | 8 | ||||
-rw-r--r-- | src/rw/RwMatFX.cpp | 10 | ||||
-rw-r--r-- | src/rw/RwPS2AlphaTest.cpp | 247 | ||||
-rw-r--r-- | src/vehicles/Automobile.cpp | 2 |
349 files changed, 2564 insertions, 115 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 @@ -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 Binary files differdeleted file mode 100644 index b501106c..00000000 --- a/dxsdk/Include/Msvidctl.tlb +++ /dev/null diff --git a/dxsdk/Include/Tuner.tlb b/dxsdk/Include/Tuner.tlb Binary files differdeleted file mode 100644 index c90fc4ec..00000000 --- a/dxsdk/Include/Tuner.tlb +++ /dev/null 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 cdf1819e..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" } @@ -226,7 +246,7 @@ project "reVC" includedirs { "libsndfile.32/include" } includedirs { "mpg123.32/include" } libdirs { "mpg123.32/lib" } - libdirs { "libsndfile32/lib" } + libdirs { "libsndfile.32/lib" } libdirs { "openal-soft/libs/Win32" } filter "platforms:win-amd64*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 Binary files differindex c22ccde6..c22ccde6 100644 --- a/dxsdk/Lib/DxErr8.lib +++ b/sdk/dx8sdk/Lib/DxErr8.lib diff --git a/dxsdk/Lib/DxErr9.lib b/sdk/dx8sdk/Lib/DxErr9.lib Binary files differindex 3f039fa2..3f039fa2 100644 --- a/dxsdk/Lib/DxErr9.lib +++ b/sdk/dx8sdk/Lib/DxErr9.lib diff --git a/dxsdk/Lib/amstrmid.lib b/sdk/dx8sdk/Lib/amstrmid.lib Binary files differindex 8d921239..8d921239 100644 --- a/dxsdk/Lib/amstrmid.lib +++ b/sdk/dx8sdk/Lib/amstrmid.lib diff --git a/dxsdk/Lib/d3d8.lib b/sdk/dx8sdk/Lib/d3d8.lib Binary files differindex 828ed30d..828ed30d 100644 --- a/dxsdk/Lib/d3d8.lib +++ b/sdk/dx8sdk/Lib/d3d8.lib diff --git a/dxsdk/Lib/d3d9.lib b/sdk/dx8sdk/Lib/d3d9.lib Binary files differindex 9e08d863..9e08d863 100644 --- a/dxsdk/Lib/d3d9.lib +++ b/sdk/dx8sdk/Lib/d3d9.lib diff --git a/dxsdk/Lib/d3dx.lib b/sdk/dx8sdk/Lib/d3dx.lib Binary files differindex e9450b1b..e9450b1b 100644 --- a/dxsdk/Lib/d3dx.lib +++ b/sdk/dx8sdk/Lib/d3dx.lib diff --git a/dxsdk/Lib/d3dx8.lib b/sdk/dx8sdk/Lib/d3dx8.lib Binary files differindex 8305ff4c..8305ff4c 100644 --- a/dxsdk/Lib/d3dx8.lib +++ b/sdk/dx8sdk/Lib/d3dx8.lib diff --git a/dxsdk/Lib/d3dx8d.lib b/sdk/dx8sdk/Lib/d3dx8d.lib Binary files differindex 70ac0e3a..70ac0e3a 100644 --- a/dxsdk/Lib/d3dx8d.lib +++ b/sdk/dx8sdk/Lib/d3dx8d.lib diff --git a/dxsdk/Lib/d3dx8dt.lib b/sdk/dx8sdk/Lib/d3dx8dt.lib Binary files differindex 755e2901..755e2901 100644 --- a/dxsdk/Lib/d3dx8dt.lib +++ b/sdk/dx8sdk/Lib/d3dx8dt.lib diff --git a/dxsdk/Lib/d3dx9.lib b/sdk/dx8sdk/Lib/d3dx9.lib Binary files differindex ffc9f0d8..ffc9f0d8 100644 --- a/dxsdk/Lib/d3dx9.lib +++ b/sdk/dx8sdk/Lib/d3dx9.lib diff --git a/dxsdk/Lib/d3dx9d.lib b/sdk/dx8sdk/Lib/d3dx9d.lib Binary files differindex feacd895..feacd895 100644 --- a/dxsdk/Lib/d3dx9d.lib +++ b/sdk/dx8sdk/Lib/d3dx9d.lib diff --git a/dxsdk/Lib/d3dx9dt.lib b/sdk/dx8sdk/Lib/d3dx9dt.lib Binary files differindex 8d6d32a9..8d6d32a9 100644 --- a/dxsdk/Lib/d3dx9dt.lib +++ b/sdk/dx8sdk/Lib/d3dx9dt.lib diff --git a/dxsdk/Lib/d3dxd.lib b/sdk/dx8sdk/Lib/d3dxd.lib Binary files differindex bf370d3c..bf370d3c 100644 --- a/dxsdk/Lib/d3dxd.lib +++ b/sdk/dx8sdk/Lib/d3dxd.lib diff --git a/dxsdk/Lib/d3dxof.lib b/sdk/dx8sdk/Lib/d3dxof.lib Binary files differindex c7e51781..c7e51781 100644 --- a/dxsdk/Lib/d3dxof.lib +++ b/sdk/dx8sdk/Lib/d3dxof.lib diff --git a/dxsdk/Lib/ddraw.lib b/sdk/dx8sdk/Lib/ddraw.lib Binary files differindex d7d0583e..d7d0583e 100644 --- a/dxsdk/Lib/ddraw.lib +++ b/sdk/dx8sdk/Lib/ddraw.lib diff --git a/dxsdk/Lib/dinput.lib b/sdk/dx8sdk/Lib/dinput.lib Binary files differindex 3abb4540..3abb4540 100644 --- a/dxsdk/Lib/dinput.lib +++ b/sdk/dx8sdk/Lib/dinput.lib diff --git a/dxsdk/Lib/dinput8.lib b/sdk/dx8sdk/Lib/dinput8.lib Binary files differindex 3fad62fb..3fad62fb 100644 --- a/dxsdk/Lib/dinput8.lib +++ b/sdk/dx8sdk/Lib/dinput8.lib diff --git a/dxsdk/Lib/dmoguids.lib b/sdk/dx8sdk/Lib/dmoguids.lib Binary files differindex ad5fbfb2..ad5fbfb2 100644 --- a/dxsdk/Lib/dmoguids.lib +++ b/sdk/dx8sdk/Lib/dmoguids.lib diff --git a/dxsdk/Lib/dplayx.lib b/sdk/dx8sdk/Lib/dplayx.lib Binary files differindex d8e42998..d8e42998 100644 --- a/dxsdk/Lib/dplayx.lib +++ b/sdk/dx8sdk/Lib/dplayx.lib diff --git a/dxsdk/Lib/dsetup.lib b/sdk/dx8sdk/Lib/dsetup.lib Binary files differindex 8acfa3ea..8acfa3ea 100644 --- a/dxsdk/Lib/dsetup.lib +++ b/sdk/dx8sdk/Lib/dsetup.lib diff --git a/dxsdk/Lib/dsound.lib b/sdk/dx8sdk/Lib/dsound.lib Binary files differindex 6e9604d3..6e9604d3 100644 --- a/dxsdk/Lib/dsound.lib +++ b/sdk/dx8sdk/Lib/dsound.lib diff --git a/dxsdk/Lib/dxguid.lib b/sdk/dx8sdk/Lib/dxguid.lib Binary files differindex f251a925..f251a925 100644 --- a/dxsdk/Lib/dxguid.lib +++ b/sdk/dx8sdk/Lib/dxguid.lib diff --git a/dxsdk/Lib/dxtrans.lib b/sdk/dx8sdk/Lib/dxtrans.lib Binary files differindex 20a49952..20a49952 100644 --- a/dxsdk/Lib/dxtrans.lib +++ b/sdk/dx8sdk/Lib/dxtrans.lib diff --git a/dxsdk/Lib/encapi.lib b/sdk/dx8sdk/Lib/encapi.lib Binary files differindex 0e3d774d..0e3d774d 100644 --- a/dxsdk/Lib/encapi.lib +++ b/sdk/dx8sdk/Lib/encapi.lib diff --git a/dxsdk/Lib/ksproxy.lib b/sdk/dx8sdk/Lib/ksproxy.lib Binary files differindex 4f362460..4f362460 100644 --- a/dxsdk/Lib/ksproxy.lib +++ b/sdk/dx8sdk/Lib/ksproxy.lib diff --git a/dxsdk/Lib/ksuser.lib b/sdk/dx8sdk/Lib/ksuser.lib Binary files differindex 7aba7bd7..7aba7bd7 100644 --- a/dxsdk/Lib/ksuser.lib +++ b/sdk/dx8sdk/Lib/ksuser.lib diff --git a/dxsdk/Lib/msdmo.lib b/sdk/dx8sdk/Lib/msdmo.lib Binary files differindex 290e308f..290e308f 100644 --- a/dxsdk/Lib/msdmo.lib +++ b/sdk/dx8sdk/Lib/msdmo.lib diff --git a/dxsdk/Lib/quartz.lib b/sdk/dx8sdk/Lib/quartz.lib Binary files differindex 47fcd1d2..47fcd1d2 100644 --- a/dxsdk/Lib/quartz.lib +++ b/sdk/dx8sdk/Lib/quartz.lib diff --git a/dxsdk/Lib/strmiids.lib b/sdk/dx8sdk/Lib/strmiids.lib Binary files differindex 8d921239..8d921239 100644 --- a/dxsdk/Lib/strmiids.lib +++ b/sdk/dx8sdk/Lib/strmiids.lib 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 Binary files differindex 49cea2d2..49cea2d2 100644 --- a/milessdk/lib/mss32.lib +++ b/sdk/milessdk/lib/mss32.lib 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/src/animation/AnimManager.cpp b/src/animation/AnimManager.cpp index f682964f..a85149e6 100644 --- a/src/animation/AnimManager.cpp +++ b/src/animation/AnimManager.cpp @@ -12,7 +12,7 @@ #include "AnimManager.h" #include "Streaming.h" -//--MIAMI: code done (except for pointless TODO) +//--MIAMI: file done CAnimBlock CAnimManager::ms_aAnimBlocks[NUMANIMBLOCKS]; CAnimBlendHierarchy CAnimManager::ms_aAnimations[NUMANIMATIONS]; @@ -1276,7 +1276,7 @@ CAnimManager::LoadAnimFile(const char *filename) RwStreamClose(stream, nil); } -//--MIAMI: done (except maybe implement some unimplemented compression?) +//--MIAMI: done void CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*somename)[32]) { @@ -1323,7 +1323,14 @@ CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*somename)[32] RwStreamRead(stream, buf, name.size); hier->SetName(buf); - // TODO(MIAMI)? some unused crap here + // Unimplemented uncompressed anim thing + if (somename) { + for (int i = 0; somename[i][0]; i++) { + if (!CGeneral::faststricmp(somename[i], hier->name)) + debug("Loading %s uncompressed\n", hier->name); + } + } + hier->compressed = false; hier->compressed2 = false; @@ -1357,6 +1364,9 @@ CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*somename)[32] if(strncmp(info.ident, "KR00", 4) == 0){ seq->SetNumFrames(numFrames, false, false); KeyFrame *kf = seq->GetKeyFrame(0); + if (strstr(seq->name, "L Toe")) + debug("anim %s has toe keyframes\n", hier->name); // , seq->name); + for(l = 0; l < numFrames; l++, kf++){ RwStreamRead(stream, buf, 0x14); kf->rotation.x = -fbuf[0]; @@ -1368,6 +1378,9 @@ CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*somename)[32] }else if(strncmp(info.ident, "KRT0", 4) == 0){ seq->SetNumFrames(numFrames, true, false); KeyFrameTrans *kf = (KeyFrameTrans*)seq->GetKeyFrame(0); + if (strstr(seq->name, "L Toe")) + debug("anim %s has toe keyframes\n", hier->name); // , seq->name); + for(l = 0; l < numFrames; l++, kf++){ RwStreamRead(stream, buf, 0x20); kf->rotation.x = -fbuf[0]; @@ -1382,6 +1395,9 @@ CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*somename)[32] }else if(strncmp(info.ident, "KRTS", 4) == 0){ seq->SetNumFrames(numFrames, true, false); KeyFrameTrans *kf = (KeyFrameTrans*)seq->GetKeyFrame(0); + if (strstr(seq->name, "L Toe")) + debug("anim %s has toe keyframes\n", hier->name); // , seq->name); + for(l = 0; l < numFrames; l++, kf++){ RwStreamRead(stream, buf, 0x2C); kf->rotation.x = -fbuf[0]; diff --git a/src/animation/CutsceneMgr.cpp b/src/animation/CutsceneMgr.cpp index b4f226e8..e720fccb 100644 --- a/src/animation/CutsceneMgr.cpp +++ b/src/animation/CutsceneMgr.cpp @@ -119,7 +119,10 @@ int32 CCutsceneMgr::ms_numCutsceneObjs; bool CCutsceneMgr::ms_loaded; bool CCutsceneMgr::ms_animLoaded; bool CCutsceneMgr::ms_useLodMultiplier; +bool CCutsceneMgr::ms_camLoaded; char CCutsceneMgr::ms_cutsceneName[CUTSCENENAMESIZE]; +char CCutsceneMgr::ms_uncompressedAnims[8][32]; +uint32 CCutsceneMgr::ms_numUncompressedAnims; CAnimBlendAssocGroup CCutsceneMgr::ms_cutsceneAssociations; CVector CCutsceneMgr::ms_cutsceneOffset; float CCutsceneMgr::ms_cutsceneTimer; @@ -154,6 +157,9 @@ CCutsceneMgr::Initialise(void) ms_pCutsceneDir = new CDirectory(CUTSCENEDIRSIZE); ms_pCutsceneDir->ReadDirFile("ANIM\\CUTS.DIR"); + + ms_numUncompressedAnims = 0; + ms_uncompressedAnims[0][0] = '\0'; } void @@ -194,7 +200,7 @@ CCutsceneMgr::LoadCutsceneData(const char *szCutsceneName) CStreaming::MakeSpaceFor(size << 11); CStreaming::ImGonnaUseStreamingMemory(); RwStreamSkip(stream, offset << 11); - CAnimManager::LoadAnimFile(stream, false); + CAnimManager::LoadAnimFile(stream, true, ms_uncompressedAnims); ms_cutsceneAssociations.CreateAssociations(szCutsceneName); CStreaming::IHaveUsedStreamingMemory(); ms_animLoaded = true; @@ -207,13 +213,18 @@ CCutsceneMgr::LoadCutsceneData(const char *szCutsceneName) file = CFileMgr::OpenFile("ANIM\\CUTS.IMG", "rb"); sprintf(gString, "%s.DAT", szCutsceneName); if (ms_pCutsceneDir->FindItem(gString, offset, size)) { + CStreaming::ImGonnaUseStreamingMemory(); CFileMgr::Seek(file, offset << 11, SEEK_SET); TheCamera.LoadPathSplines(file); + CStreaming::IHaveUsedStreamingMemory(); + ms_camLoaded = true; + } else { + ms_camLoaded = false; } CFileMgr::CloseFile(file); - if (CGeneral::faststricmp(ms_cutsceneName, "end")) { + if (CGeneral::faststricmp(ms_cutsceneName, "finale")) { DMAudio.ChangeMusicMode(MUSICMODE_CUTSCENE); int trackId = FindCutsceneAudioTrackId(szCutsceneName); if (trackId != -1) { @@ -241,8 +252,10 @@ void CCutsceneMgr::FinishCutscene() { ms_wasCutsceneSkipped = true; - CCutsceneMgr::ms_cutsceneTimer = TheCamera.GetCutSceneFinishTime() * 0.001f; - TheCamera.FinishCutscene(); + if (ms_camLoaded) { + CCutsceneMgr::ms_cutsceneTimer = TheCamera.GetCutSceneFinishTime() * 0.001f; + TheCamera.FinishCutscene(); + } FindPlayerPed()->bIsVisible = true; CWorld::Players[CWorld::PlayerInFocus].MakePlayerSafe(false); @@ -251,9 +264,11 @@ CCutsceneMgr::FinishCutscene() void CCutsceneMgr::SetupCutsceneToStart(void) { - TheCamera.SetCamCutSceneOffSet(ms_cutsceneOffset); - TheCamera.TakeControlWithSpline(JUMP_CUT); - TheCamera.SetWideScreenOn(); + if (ms_camLoaded) { + TheCamera.SetCamCutSceneOffSet(ms_cutsceneOffset); + TheCamera.TakeControlWithSpline(JUMP_CUT); + TheCamera.SetWideScreenOn(); + } ms_cutsceneOffset.z++; @@ -363,8 +378,14 @@ CCutsceneMgr::DeleteCutsceneData(void) CAnimManager::RemoveLastAnimFile(); ms_animLoaded = false; - TheCamera.RestoreWithJumpCut(); - TheCamera.SetWideScreenOff(); + ms_numUncompressedAnims = 0; + ms_uncompressedAnims[0][0] = '\0'; + + if (ms_camLoaded) { + TheCamera.RestoreWithJumpCut(); + TheCamera.SetWideScreenOff(); + TheCamera.DeleteCutSceneCamDataMemory(); + } ms_running = false; ms_loaded = false; @@ -372,12 +393,14 @@ CCutsceneMgr::DeleteCutsceneData(void) CPad::GetPad(0)->SetEnablePlayerControls(PLAYERCONTROL_CUTSCENE); CWorld::Players[CWorld::PlayerInFocus].MakePlayerSafe(false); - if (CGeneral::faststricmp(ms_cutsceneName, "end")) { + if (CGeneral::faststricmp(ms_cutsceneName, "finale")) { DMAudio.StopCutSceneMusic(); - if (CGeneral::faststricmp(ms_cutsceneName, "bet")) - DMAudio.ChangeMusicMode(MUSICMODE_GAME); + DMAudio.ChangeMusicMode(MUSICMODE_GAME); } - CGame::DrasticTidyUpMemory(TheCamera.GetScreenFadeStatus() == 2); + + if(ms_camLoaded) + CGame::DrasticTidyUpMemory(TheCamera.GetScreenFadeStatus() == 2); + CTimer::Resume(); } @@ -395,7 +418,7 @@ CCutsceneMgr::Update(void) switch (ms_cutsceneLoadStatus) { case CUTSCENE_LOADING_AUDIO: SetupCutsceneToStart(); - if (CGeneral::faststricmp(ms_cutsceneName, "end")) + if (CGeneral::faststricmp(ms_cutsceneName, "finale")) DMAudio.PlayPreloadedCutSceneMusic(); ms_cutsceneLoadStatus++; break; @@ -413,15 +436,27 @@ CCutsceneMgr::Update(void) if (!ms_running) return; ms_cutsceneTimer += CTimer::GetTimeStepNonClippedInSeconds(); - if (CGeneral::faststricmp(ms_cutsceneName, "end") && TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_FLYBY && ms_cutsceneLoadStatus == CUTSCENE_LOADING_0) { - if (CPad::GetPad(0)->GetCrossJustDown() - || (CGame::playingIntro && CPad::GetPad(0)->GetStartJustDown()) - || CPad::GetPad(0)->GetLeftMouseJustDown() - || CPad::GetPad(0)->GetEnterJustDown() - || CPad::GetPad(0)->GetCharJustDown(' ')) - FinishCutscene(); - } + + if (ms_camLoaded) + if (CGeneral::faststricmp(ms_cutsceneName, "finale") && TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_FLYBY && ms_cutsceneLoadStatus == CUTSCENE_LOADING_0) { + if (CPad::GetPad(0)->GetCrossJustDown() + || (CGame::playingIntro && CPad::GetPad(0)->GetStartJustDown()) + || CPad::GetPad(0)->GetLeftMouseJustDown() + || CPad::GetPad(0)->GetEnterJustDown() + || CPad::GetPad(0)->GetCharJustDown(' ')) + FinishCutscene(); + } } -bool CCutsceneMgr::HasCutsceneFinished(void) { return TheCamera.GetPositionAlongSpline() == 1.0f; } +bool CCutsceneMgr::HasCutsceneFinished(void) { return !ms_camLoaded || TheCamera.GetPositionAlongSpline() == 1.0f; } +void +CCutsceneMgr::LoadAnimationUncompressed(char const* name) +{ + strcpy(ms_uncompressedAnims[ms_numUncompressedAnims], name); + + // Because that's how CAnimManager knows the end of array + ++ms_numUncompressedAnims; + assert(ms_numUncompressedAnims < ARRAY_SIZE(ms_uncompressedAnims)); + ms_uncompressedAnims[ms_numUncompressedAnims][0] = '\0'; +}
\ No newline at end of file diff --git a/src/animation/CutsceneMgr.h b/src/animation/CutsceneMgr.h index 97093fb1..c3f86273 100644 --- a/src/animation/CutsceneMgr.h +++ b/src/animation/CutsceneMgr.h @@ -17,7 +17,10 @@ class CCutsceneMgr static bool ms_animLoaded; static bool ms_useLodMultiplier; + static bool ms_camLoaded; static char ms_cutsceneName[CUTSCENENAMESIZE]; + static char ms_uncompressedAnims[8][32]; + static uint32 ms_numUncompressedAnims; static CAnimBlendAssocGroup ms_cutsceneAssociations; static CVector ms_cutsceneOffset; static float ms_cutsceneTimer; @@ -49,5 +52,6 @@ public: static CCutsceneHead *AddCutsceneHead(CObject *pObject, int modelId); static CCutsceneObject *CreateCutsceneObject(int modelId); static void DeleteCutsceneData(void); + static void LoadAnimationUncompressed(char const*); static void Update(void); }; 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; } diff --git a/src/control/Pickups.cpp b/src/control/Pickups.cpp index 6576be7f..7a9808f6 100644 --- a/src/control/Pickups.cpp +++ b/src/control/Pickups.cpp @@ -30,6 +30,8 @@ #include "Timer.h" #include "WaterLevel.h" #include "World.h" +#include "Hud.h" +#include "Messages.h" CPickup CPickups::aPickUps[NUMPICKUPS]; int16 CPickups::NumMessages; @@ -37,6 +39,7 @@ int32 CPickups::aPickUpsCollected[NUMCOLLECTEDPICKUPS]; int16 CPickups::CollectedPickUpIndex; int32 CPickups::PlayerOnWeaponPickup; +int32 CPickups::CollectPickupBuffer; // unused bool CPickups::bPickUpcamActivated; @@ -72,6 +75,32 @@ uint8 aWeaponBlues[] = { 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 128, 255, 0, 0 }; void +ModifyStringLabelForControlSetting(char *str) +{ + int len = (int)strlen(str); + if (len <= 2) + return; + + if (str[len - 2] != '_') + return; + + switch (CPad::GetPad(0)->Mode) { + case 0: + case 1: + str[len - 1] = 'L'; + break; + case 2: + str[len - 1] = 'T'; + break; + case 3: + str[len - 1] = 'C'; + break; + default: + return; + } +} + +void CPickup::RemoveKeepType() { CWorld::Remove(m_pObject); @@ -163,6 +192,31 @@ CPickup::Update(CPlayerPed *player, CVehicle *vehicle, int playerId) { float waterLevel; + if (m_pObject) { + m_pObject->SetPosition(m_vecPos); + // TODO(Miami): Extra object + } + if (m_eType == PICKUP_ASSET_REVENUE) { + uint32 oldTimer = m_nTimer; + m_nTimer = CTimer::GetTimeInMilliseconds(); + float calculatedRevenue; + if ((FindPlayerCoors() - m_vecPos).Magnitude() > 10.0) { + uint32 timePassed = CTimer::GetTimeInMilliseconds() - oldTimer; + calculatedRevenue = m_nRevenue + (timePassed * m_nMoneySpeed) * sq(1.f / 1200.f); + } else { + calculatedRevenue = m_nRevenue; + } + m_nRevenue = Min(calculatedRevenue, m_nQuantity); + // TODO(Miami): For pickup glow effect? + /* + if (calculatedRevenue < 10.0) { + m_pObject->m_nCostValue = 0; + } else { + m_pObject->m_nCostValue = calculatedRevenue; + } + */ + } + if (m_bRemoved) { if (CTimer::GetTimeInMilliseconds() > m_nTimer) { // respawn pickup if we're far enough @@ -290,6 +344,32 @@ CPickup::Update(CPlayerPed *player, CVehicle *vehicle, int playerId) Remove(); DMAudio.PlayFrontEndSound(SOUND_PICKUP_MONEY, 0); return true; + case PICKUP_ASSET_REVENUE: + CWorld::Players[CWorld::PlayerInFocus].m_nMoney += m_nRevenue; + m_nRevenue = 0; + DMAudio.PlayFrontEndSound(SOUND_PICKUP_MONEY, 0); + return false; + // TODO(Miami): Control flow + case PICKUP_PROPERTY_FORSALE: + ModifyStringLabelForControlSetting(m_sTextKey); + CMessages::InsertNumberInString(TheText.Get(m_sTextKey), m_nQuantity, + 0, 0, 0, 0, 0, gUString); + if (!CHud::IsHelpMessageBeingDisplayed()) + CHud::SetHelpMessage(gUString, false); // 0, 0, 0); + if (CPickups::CollectPickupBuffer == 0) + return false; + if (CTheScripts::IsPlayerOnAMission()) { + CHud::SetHelpMessage(TheText.Get("PROP_2"), true); // , false); + } else { + if (CWorld::Players[CWorld::PlayerInFocus].m_nMoney >= m_nQuantity) { + CWorld::Players[CWorld::PlayerInFocus].m_nMoney -= m_nQuantity; + CHud::SetHelpMessage(nil, true); //, false); + Remove(); + return true; + } + CHud::SetHelpMessage(TheText.Get("PROP_1"), true); //, false); + } + return false; default: break; } @@ -528,12 +608,12 @@ CPickups::RemovePickUp(int32 pickupIndex) } int32 -CPickups::GenerateNewOne(CVector pos, uint32 modelIndex, uint8 type, uint32 quantity, uint32 rate, bool highPriority, wchar* pText) +CPickups::GenerateNewOne(CVector pos, uint32 modelIndex, uint8 type, uint32 quantity, uint32 rate, bool highPriority, char* pText) { bool bFreeFound = false; int32 slot = 0; - if (type == PICKUP_FLOATINGPACKAGE || type == PICKUP_NAUTICAL_MINE_INACTIVE) { + if (type == PICKUP_FLOATINGPACKAGE || type == PICKUP_NAUTICAL_MINE_INACTIVE || highPriority) { for (slot = NUMPICKUPS-1; slot >= 0; slot--) { if (aPickUps[slot].m_eType == PICKUP_NONE) { bFreeFound = true; @@ -556,7 +636,7 @@ CPickups::GenerateNewOne(CVector pos, uint32 modelIndex, uint8 type, uint32 quan if (slot >= NUMGENERALPICKUPS) { for (slot = 0; slot < NUMGENERALPICKUPS; slot++) { - if (aPickUps[slot].m_eType == PICKUP_ONCE_TIMEOUT) break; + if (aPickUps[slot].m_eType == PICKUP_ONCE_TIMEOUT || aPickUps[slot].m_eType == PICKUP_ONCE_TIMEOUT_SLOW) break; } if (slot >= NUMGENERALPICKUPS) return -1; @@ -568,8 +648,13 @@ CPickups::GenerateNewOne(CVector pos, uint32 modelIndex, uint8 type, uint32 quan aPickUps[slot].m_eType = (ePickupType)type; aPickUps[slot].m_bRemoved = false; aPickUps[slot].m_nQuantity = quantity; + aPickUps[slot].m_nMoneySpeed = rate; + aPickUps[slot].m_nRevenue = 0; + aPickUps[slot].m_nTimer = CTimer::GetTimeInMilliseconds(); if (type == PICKUP_ONCE_TIMEOUT) aPickUps[slot].m_nTimer = CTimer::GetTimeInMilliseconds() + 20000; + else if (type == PICKUP_ONCE_TIMEOUT_SLOW) + aPickUps[slot].m_nTimer = CTimer::GetTimeInMilliseconds() + 120000; else if (type == PICKUP_MONEY) aPickUps[slot].m_nTimer = CTimer::GetTimeInMilliseconds() + 30000; else if (type == PICKUP_MINE_INACTIVE || type == PICKUP_MINE_ARMED) { @@ -580,6 +665,11 @@ CPickups::GenerateNewOne(CVector pos, uint32 modelIndex, uint8 type, uint32 quan aPickUps[slot].m_nTimer = CTimer::GetTimeInMilliseconds() + 1500; } aPickUps[slot].m_eModelIndex = modelIndex; + if (pText) + strncpy(aPickUps[slot].m_sTextKey, pText, 8); + else + aPickUps[slot].m_sTextKey[0] = '\0'; + aPickUps[slot].m_vecPos = pos; aPickUps[slot].m_pObject = aPickUps[slot].GiveUsAPickUpObject(-1); if (aPickUps[slot].m_pObject) @@ -664,6 +754,16 @@ CPickups::Update() } } #endif + if (CPad::GetPad(0)->CollectPickupJustDown()) { + CollectPickupBuffer = 6; + } else { + CollectPickupBuffer = Max(0, CollectPickupBuffer - 1); + } + + if (PlayerOnWeaponPickup) { + PlayerOnWeaponPickup = Max(0, PlayerOnWeaponPickup - 1); + } + #define PICKUPS_FRAME_SPAN (6) #ifdef FIX_BUGS for (uint32 i = NUMGENERALPICKUPS * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN) / PICKUPS_FRAME_SPAN; i < NUMGENERALPICKUPS * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN + 1) / PICKUPS_FRAME_SPAN; i++) { @@ -720,15 +820,9 @@ CPickups::DoPickUpEffects(CEntity *entity) const CVector& pos = entity->GetPosition(); if (doOuterGlow) { float colorModifier = ((CGeneral::GetRandomNumber() & 0x1F) * 0.015f + 1.0f) * modifiedSin * 0.15f; - CShadows::StoreStaticShadow( - (uintptr)entity, - SHADOWTYPE_ADDITIVE, - gpShadowExplosionTex, - &pos, - 2.0f, 0.0f, 0.0f, -2.0f, - 255, // this is 0 on PC which results in no shadow - aWeaponReds[colorId] * colorModifier, aWeaponGreens[colorId] * colorModifier, aWeaponBlues[colorId] * colorModifier, - 4.0f, 1.0f, 40.0f, false, 0.0f); + CShadows::StoreStaticShadow((uintptr)entity, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &pos, 2.0f, 0.0f, 0.0f, -2.0f, 0, + aWeaponReds[colorId] * colorModifier, aWeaponGreens[colorId] * colorModifier, aWeaponBlues[colorId] * colorModifier, 4.0f, + 1.0f, 40.0f, false, 0.0f); float radius = (CGeneral::GetRandomNumber() & 0xF) * 0.1f + 3.0f; CPointLights::AddLight(CPointLights::LIGHT_POINT, pos, CVector(0.0f, 0.0f, 0.0f), radius, aWeaponReds[colorId] * modifiedSin / 256.0f, aWeaponGreens[colorId] * modifiedSin / 256.0f, aWeaponBlues[colorId] * modifiedSin / 256.0f, CPointLights::FOG_NONE, true); @@ -792,11 +886,8 @@ CPickups::DoMineEffects(CEntity *entity) float s = Sin((float)((CTimer::GetTimeInMilliseconds() + (uintptr)entity) & 0x1FF) * DEGTORAD(360.0f / 0x200)); int32 red = (MAXDIST - dist) * (0.5f * s + 0.5f) / MAXDIST * 64.0f; - CShadows::StoreStaticShadow((uintptr)entity, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &pos, - 2.0f, 0.0f, 0.0f, -2.0f, - 255, // this is 0 on PC which results in no shadow - red, 0, 0, - 4.0f, 1.0f, 40.0f, false, 0.0f); + CShadows::StoreStaticShadow((uintptr)entity, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &pos, 2.0f, 0.0f, 0.0f, -2.0f, 0, red, 0, 0, 4.0f, 1.0f, 40.0f, + false, 0.0f); CCoronas::RegisterCorona((uintptr)entity, red, 0, 0, 255, pos, 0.6f, 60.0f, CCoronas::TYPE_RING, CCoronas::FLARE_NONE, CCoronas::REFLECTION_OFF, CCoronas::LOSCHECK_OFF, CCoronas::STREAK_OFF, 0.0f); } @@ -814,11 +905,8 @@ CPickups::DoMoneyEffects(CEntity *entity) float s = Sin((float)((CTimer::GetTimeInMilliseconds() + (uintptr)entity) & 0x3FF) * DEGTORAD(360.0f / 0x400)); int32 green = (MAXDIST - dist) * (0.2f * s + 0.3f) / MAXDIST * 64.0f; - CShadows::StoreStaticShadow((uintptr)entity, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &pos, - 2.0f, 0.0f, 0.0f, -2.0f, - 255, // this is 0 on PC which results in no shadow - 0, green, 0, - 4.0f, 1.0f, 40.0f, false, 0.0f); + CShadows::StoreStaticShadow((uintptr)entity, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &pos, 2.0f, 0.0f, 0.0f, -2.0f, 0, 0, green, 0, 4.0f, 1.0f, + 40.0f, false, 0.0f); CCoronas::RegisterCorona((uintptr)entity, 0, green, 0, 255, pos, 0.4f, 40.0f, CCoronas::TYPE_RING, CCoronas::FLARE_NONE, CCoronas::REFLECTION_OFF, CCoronas::LOSCHECK_OFF, CCoronas::STREAK_OFF, 0.0f); } @@ -836,11 +924,8 @@ CPickups::DoCollectableEffects(CEntity *entity) float s = Sin((float)((CTimer::GetTimeInMilliseconds() + (uintptr)entity) & 0x7FF) * DEGTORAD(360.0f / 0x800)); int32 color = (MAXDIST - dist) * (0.5f * s + 0.5f) / MAXDIST * 255.0f; - CShadows::StoreStaticShadow((uintptr)entity, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &pos, - 2.0f, 0.0f, 0.0f, -2.0f, - 255, // this is 0 on PC which results in no shadow - color, color, color, - 4.0f, 1.0f, 40.0f, false, 0.0f); + CShadows::StoreStaticShadow((uintptr)entity, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &pos, 2.0f, 0.0f, 0.0f, -2.0f, 0, color, color, color, 4.0f, + 1.0f, 40.0f, false, 0.0f); CCoronas::RegisterCorona((uintptr)entity, color, color, color, 255, pos, 0.6f, 40.0f, CCoronas::TYPE_RING, CCoronas::FLARE_NONE, CCoronas::REFLECTION_OFF, CCoronas::LOSCHECK_OFF, CCoronas::STREAK_OFF, 0.0f); } diff --git a/src/control/Pickups.h b/src/control/Pickups.h index 423f864b..8f6ef4c3 100644 --- a/src/control/Pickups.h +++ b/src/control/Pickups.h @@ -33,14 +33,19 @@ class CPlayerPed; class CPickup { public: - ePickupType m_eType; - bool m_bRemoved; - uint16 m_nQuantity; + CVector m_vecPos; + uint32 m_nRevenue; CObject *m_pObject; + CObject *m_pExtraObject; + uint16 m_nQuantity; uint32 m_nTimer; + int16 m_nMoneySpeed; int16 m_eModelIndex; uint16 m_nIndex; - CVector m_vecPos; + char m_sTextKey[8]; + ePickupType m_eType; + bool m_bRemoved; + uint8 m_effects; CObject *GiveUsAPickUpObject(int32 handle); bool Update(CPlayerPed *player, CVehicle *vehicle, int playerId); @@ -71,6 +76,7 @@ class CPickups static tPickupMessage aMessages[NUMPICKUPMESSAGES]; public: static int32 PlayerOnWeaponPickup; + static int32 CollectPickupBuffer; static void Init(); static void Update(); @@ -79,7 +85,7 @@ public: static void DoMoneyEffects(CEntity *ent); static void DoMineEffects(CEntity *ent); static void DoPickUpEffects(CEntity *ent); - static int32 GenerateNewOne(CVector pos, uint32 modelIndex, uint8 type, uint32 quantity, uint32 rate = 0, bool highPriority = false, wchar* pText = nil); + static int32 GenerateNewOne(CVector pos, uint32 modelIndex, uint8 type, uint32 quantity, uint32 rate = 0, bool highPriority = false, char* pText = nil); static int32 GenerateNewOne_WeaponType(CVector pos, eWeaponType weaponType, uint8 type, uint32 quantity); static void RemovePickUp(int32 pickupIndex); static void RemoveAllFloatingPickups(); diff --git a/src/control/Script.cpp b/src/control/Script.cpp index 88a62f4e..eb950464 100644 --- a/src/control/Script.cpp +++ b/src/control/Script.cpp @@ -80,6 +80,8 @@ #include "World.h" #include "Zones.h" #include "main.h" +#include "Ropes.h" +#include "MBlur.h" #ifdef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT #include <stdarg.h> #endif @@ -12110,6 +12112,7 @@ int8 CRunningScript::ProcessCommands1100To1199(int32 command) CVector pos = *(CVector*)&ScriptParams[0]; if (pos.z <= MAP_Z_LOW_LIMIT) pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y) + PICKUP_PLACEMENT_OFFSET; + CPickups::GetActualPickupIndex(CollectNextParameterWithoutIncreasingPC(m_nIp)); ScriptParams[0] = CPickups::GenerateNewOne(pos, MI_PICKUP_REVENUE, PICKUP_ASSET_REVENUE, ScriptParams[3], ScriptParams[4]); StoreParameters(&m_nIp, 1); return 0; @@ -12790,7 +12793,7 @@ int8 CRunningScript::ProcessCommands1200To1299(int32 command) case COMMAND_CREATE_SWAT_ROPE: { CollectParameters(&m_nIp, 3); - debug("CREATE_SWAT_ROPE is not implemented\n"); + CRopes::CreateRopeWithSwatComingDown(*(CVector*)&ScriptParams[0]); return 0; } //case COMMAND_SET_FIRST_PERSON_CONTROL_CAMERA: @@ -12902,10 +12905,12 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command) CVector pos = *(CVector*)&ScriptParams[0]; if (pos.z <= MAP_Z_LOW_LIMIT) pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y) + PICKUP_PLACEMENT_OFFSET; - wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp); - // TODO(MIAMI) - add text + char key[KEY_LENGTH_IN_SCRIPT]; + CTheScripts::ReadTextLabelFromScript(&m_nIp, key); + m_nIp += KEY_LENGTH_IN_SCRIPT; + // TheText.Get(key); CPickups::GetActualPickupIndex(CollectNextParameterWithoutIncreasingPC(m_nIp)); - ScriptParams[0] = CPickups::GenerateNewOne(pos, MI_PICKUP_PROPERTY, PICKUP_PROPERTY_LOCKED, 0, 0, false, text); + ScriptParams[0] = CPickups::GenerateNewOne(pos, MI_PICKUP_PROPERTY, PICKUP_PROPERTY_LOCKED, 0, 0, false, key); StoreParameters(&m_nIp, 1); return 0; } @@ -12915,10 +12920,12 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command) CVector pos = *(CVector*)&ScriptParams[0]; if (pos.z <= MAP_Z_LOW_LIMIT) pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y) + PICKUP_PLACEMENT_OFFSET; - wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp); - // TODO(MIAMI) - add text + char key[KEY_LENGTH_IN_SCRIPT]; + CTheScripts::ReadTextLabelFromScript(&m_nIp, key); + m_nIp += KEY_LENGTH_IN_SCRIPT; + // TheText.Get(key); CPickups::GetActualPickupIndex(CollectNextParameterWithoutIncreasingPC(m_nIp)); - ScriptParams[0] = CPickups::GenerateNewOne(pos, MI_PICKUP_PROPERTY_FORSALE, PICKUP_PROPERTY_FORSALE, ScriptParams[3], 0, false, text); + ScriptParams[0] = CPickups::GenerateNewOne(pos, MI_PICKUP_PROPERTY_FORSALE, PICKUP_PROPERTY_FORSALE, ScriptParams[3], 0, false, key); StoreParameters(&m_nIp, 1); return 0; } @@ -13021,7 +13028,11 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command) case COMMAND_SET_PLAYER_DRUNKENNESS: { CollectParameters(&m_nIp, 2); - debug("SET_PLAYER_DRUNKENNESS not implemented\n"); // TODO(MIAMI) + CPlayerInfo* pPlayerInfo = &CWorld::Players[ScriptParams[0]]; + pPlayerInfo->m_pPed->m_nDrunkenness = ScriptParams[1]; + pPlayerInfo->m_pPed->m_nFadeDrunkenness = 0; + if (pPlayerInfo->m_pPed->m_nDrunkenness == 0) + CMBlur::ClearDrunkBlur(); return 0; } //case COMMAND_GET_PLAYER_DRUNKENNESS: @@ -13421,7 +13432,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command) char key[KEY_LENGTH_IN_SCRIPT]; CTheScripts::ReadTextLabelFromScript(&m_nIp, key); m_nIp += KEY_LENGTH_IN_SCRIPT; - debug("LOAD_UNCOMPRESSED_ANIM not implemented\n"); // TODO(MIAMI) + CCutsceneMgr::LoadAnimationUncompressed(key); return 0; } case COMMAND_WAS_CUTSCENE_SKIPPED: @@ -13624,15 +13635,13 @@ int8 CRunningScript::ProcessCommands1400To1499(int32 command) case COMMAND_IS_PLAYER_IN_INFO_ZONE: { CollectParameters(&m_nIp, 1); + CPlayerInfo* pPlayerInfo = &CWorld::Players[ScriptParams[0]]; char key[KEY_LENGTH_IN_SCRIPT]; CTheScripts::ReadTextLabelFromScript(&m_nIp, key); m_nIp += KEY_LENGTH_IN_SCRIPT; - static bool bShowed = false; - if (!bShowed) { - debug("IS_PLAYER_IN_INFO_ZONE not implemented, default to FALSE\n"); - bShowed = true; - } - UpdateCompareFlag(false); + CVector pos = pPlayerInfo->GetPos(); + CZone *infoZone = CTheZones::FindInformationZoneForPosition(&pos); + UpdateCompareFlag(strncmp(key, infoZone->name, 8) == 0); return 0; } case COMMAND_CLEAR_CHAR_ICE_CREAM_PURCHASE: @@ -13828,7 +13837,19 @@ int8 CRunningScript::ProcessCommands1400To1499(int32 command) case COMMAND_CREATE_DUST_EFFECT_FOR_CUTSCENE_HELI: { CollectParameters(&m_nIp, 3); - debug("CREATE_DUST_EFFECT_FOR_CUTSCENE_HELI not implemented\n"); // TODO(MIAMI) + CObject *pHeli = CPools::GetObjectPool()->GetAt(ScriptParams[0]); + bool found = false; + float waterLevel = -1000.0f; + CVector pos = pHeli->GetPosition(); + float radius = *(float*)&ScriptParams[1]; + float ground = CWorld::FindGroundZFor3DCoord(pos.x, pos.y, pos.z, &found); + if (!CWaterLevel::GetWaterLevel(pos.x, pos.y, pos.z, &waterLevel, false)) + waterLevel = 0.0f; + if (waterLevel > ground) + ground = waterLevel; + if (ScriptParams[2] > 8) + ScriptParams[2] = 8; + CVehicle::HeliDustGenerate(pHeli, (pos.z - ground - 1.0f - radius) * 0.3 + radius, ground, ScriptParams[2]); return 0; } case COMMAND_REGISTER_FIRE_LEVEL: diff --git a/src/core/Camera.cpp b/src/core/Camera.cpp index 9f3646e2..2f977a20 100644 --- a/src/core/Camera.cpp +++ b/src/core/Camera.cpp @@ -3995,8 +3995,8 @@ CCamera::CalculateDerivedValues(void) m_cameraMatrix = Invert(m_matrix); float hfov = DEGTORAD(CDraw::GetScaledFOV()/2.0f); - float c = cos(hfov); - float s = sin(hfov); + float c = Cos(hfov); + float s = Sin(hfov); // right plane m_vecFrustumNormals[0] = CVector(c, -s, 0.0f); diff --git a/src/core/Fire.cpp b/src/core/Fire.cpp index 3752f1ba..a6928def 100644 --- a/src/core/Fire.cpp +++ b/src/core/Fire.cpp @@ -141,11 +141,8 @@ CFire::ProcessFire(void) lightpos.z = m_vecPos.z + 5.0f; if (!m_pEntity) { - CShadows::StoreStaticShadow((uintptr)this, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &lightpos, - 7.0f, 0.0f, 0.0f, -7.0f, - 255, // this is 0 on PC which results in no shadow - nRandNumber / 2, nRandNumber / 2, 0, - 10.0f, 1.0f, 40.0f, 0, 0.0f); + CShadows::StoreStaticShadow((uintptr)this, SHADOWTYPE_ADDITIVE, gpShadowExplosionTex, &lightpos, 7.0f, 0.0f, 0.0f, -7.0f, 0, nRandNumber / 2, + nRandNumber / 2, 0, 10.0f, 1.0f, 40.0f, 0, 0.0f); } fGreen = nRandNumber / 128; fRed = nRandNumber / 128; diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 06744ac2..ccb89fbd 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -3409,9 +3409,9 @@ CMenuManager::SmallMessageScreen(const char* text) CFont::SetPropOn(); CFont::SetJustifyOn(); CFont::SetBackGroundOnlyTextOn(); - CSprite2d::DrawRect(CRect(SCREEN_SCALE_X(95.0f), SCREEN_SCALE_FROM_BOTTOM(165.0f), SCREEN_SCALE_FROM_RIGHT(95.0f), SCREEN_SCALE_Y(115.0f)), CRGBA(50, 50, 50, FadeIn(210))); + CSprite2d::DrawRect(CRect(SCREEN_STRETCH_X(95.0f), SCREEN_SCALE_FROM_BOTTOM(165.0f), SCREEN_STRETCH_FROM_RIGHT(95.0f), SCREEN_SCALE_Y(115.0f)), CRGBA(50, 50, 50, FadeIn(210))); CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD)); - CFont::SetCentreSize(SCREEN_SCALE_X(430.0f)); + CFont::SetCentreSize(SCREEN_STRETCH_X(430.0f)); CFont::SetCentreOn(); CFont::SetColor(CRGBA(LABEL_COLOR.r, LABEL_COLOR.g, LABEL_COLOR.b, FadeIn(255))); CFont::SetDropShadowPosition(2); diff --git a/src/core/Game.cpp b/src/core/Game.cpp index 39bbd364..7700d321 100644 --- a/src/core/Game.cpp +++ b/src/core/Game.cpp @@ -152,9 +152,14 @@ CGame::InitialiseOnceBeforeRW(void) return true; } -#if !defined(LIBRW) && defined(PS2_MATFX) +#ifndef LIBRW +#ifdef PS2_MATFX void ReplaceMatFxCallback(); -#endif +#endif // PS2_MATFX +#ifdef PS2_ALPHA_TEST +void ReplaceAtomicPipeCallback(); +#endif // PS2_ALPHA_TEST +#endif // !LIBRW bool CGame::InitialiseRenderWare(void) @@ -206,9 +211,14 @@ CGame::InitialiseRenderWare(void) #else rw::MatFX::modulateEnvMap = false; #endif -#elif defined(PS2_MATFX) +#else +#ifdef PS2_MATFX ReplaceMatFxCallback(); -#endif +#endif // PS2_MATFX +#ifdef PS2_ALPHA_TEST + ReplaceAtomicPipeCallback(); +#endif // PS2_ALPHA_TEST +#endif // LIBRW CFont::Initialise(); CHud::Initialise(); diff --git a/src/core/Pad.cpp b/src/core/Pad.cpp index 8043bb6c..c1016bdd 100644 --- a/src/core/Pad.cpp +++ b/src/core/Pad.cpp @@ -8,6 +8,7 @@ #include "common.h" #include "crossplatform.h" +#include "platform.h" #ifdef XINPUT #include <xinput.h> #pragma comment( lib, "Xinput9_1_0.lib" ) @@ -2643,6 +2644,38 @@ bool CPad::TargetJustDown(void) return false; } +bool CPad::CollectPickupJustDown(void) +{ + if ( ArePlayerControlsDisabled() ) + return false; + + switch (CURMODE) + { + case 0: + case 1: + { + return !!(NewState.LeftShoulder1 && !OldState.LeftShoulder1); + + break; + } + case 2: + { + return !!(NewState.Triangle && !OldState.Triangle); + + break; + } + + case 3: + { + return !!(NewState.Circle && !OldState.Circle); + + break; + } + } + + return false; +} + bool CPad::DuckJustDown(void) { if (ArePlayerControlsDisabled()) diff --git a/src/core/Pad.h b/src/core/Pad.h index f76d7b5d..2a0bb7d3 100644 --- a/src/core/Pad.h +++ b/src/core/Pad.h @@ -238,6 +238,7 @@ public: bool GetTarget(void); bool TargetJustDown(void); bool DuckJustDown(void); + bool CollectPickupJustDown(void); bool JumpJustDown(void); bool GetSprint(void); bool ShiftTargetLeftJustDown(void); diff --git a/src/core/config.h b/src/core/config.h index c9c65051..4cd4cbe1 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -135,6 +135,7 @@ enum Config { NUM_GARAGE_STORED_CARS = 4, NUM_CRANES = 8, + NUM_ESCALATORS = 22, NUM_EXPLOSIONS = 48, @@ -214,6 +215,7 @@ enum Config { #define ASPECT_RATIO_SCALE // Not just makes everything scale with aspect ratio, also adds support for all aspect ratios #define DEFAULT_NATIVE_RESOLUTION // Set default video mode to your native resolution (fixes Windows 10 launch) #define USE_TXD_CDIMAGE // generate and load textures from txd.img +#define PS2_ALPHA_TEST // emulate ps2 alpha test #define IMPROVED_VIDEOMODE // save and load videomode parameters instead of a magic number //#define DISABLE_LOADING_SCREEN // disable the loading screen which vastly improves the loading time //#define NO_ISLAND_LOADING // disable loadscreen between islands via loading all island data at once, consumes more memory and CPU @@ -292,4 +294,7 @@ enum Config { #define FREE_CAM // Rotating cam // Audio +#ifndef AUDIO_OAL // is not working yet for openal #define AUDIO_CACHE // cache sound lengths to speed up the cold boot +#endif +//#define PS2_AUDIO // changes audio paths for cutscenes and radio to PS2 paths, needs vbdec to support VB with MSS
\ No newline at end of file diff --git a/src/objects/Object.h b/src/objects/Object.h index 5a9c0195..5f0ec0ab 100644 --- a/src/objects/Object.h +++ b/src/objects/Object.h @@ -8,6 +8,7 @@ enum { MISSION_OBJECT = 2, TEMP_OBJECT = 3, CUTSCENE_OBJECT = 4, + ESCALATOR_OBJECT = 5, }; enum CollisionSpecialResponseCase diff --git a/src/render/Fluff.cpp b/src/render/Fluff.cpp index e4aff5c4..5d8ccf47 100644 --- a/src/render/Fluff.cpp +++ b/src/render/Fluff.cpp @@ -20,6 +20,7 @@ #include "PlayerPed.h" #include "Bones.h" #include "World.h" +#include "Replay.h" CPlaneTrail CPlaneTrails::aArray[6]; RwImVertexIndex TrailIndices[32] = { @@ -390,6 +391,7 @@ void CMovingThings::Init() CPlaneTrails::Init(); CSmokeTrails::Init(); CPlaneBanners::Init(); + CEscalators::Init(); StartCloseList.m_pNext = &CMovingThings::EndCloseList; StartCloseList.m_pPrev = nil; @@ -444,12 +446,14 @@ void CMovingThings::Shutdown() for (i = 0; i < ARRAY_SIZE(aDigitalClocks); ++i) aDigitalClocks[i].SetVisibility(false); */ + CEscalators::Shutdown(); } void CMovingThings::Update() { CPlaneBanners::Update(); CPlaneTrails::Update(); + CEscalators::Update(); const int TIME_SPAN = 64; // frames to process all aMovingThings @@ -1287,4 +1291,230 @@ CSmokeTrails::Update(void) { RwIm3DRenderIndexedPrimitive(rwPRIMTYPEPOLYLINE, SmokeTrailIndices, 2); RwIm3DEnd(); } +} + +CEscalator CEscalators::aEscalators[NUM_ESCALATORS]; +int32 CEscalators::NumEscalators; + +CEscalator::CEscalator() { + m_bIsActive = false; + + for (int i = 0; i < 24; i++) { + m_pSteps[i] = nil; + } +} + +void +CEscalator::AddThisOne(CVector pos0, CVector pos1, CVector pos2, CVector pos3, bool b_isMovingDown) { + m_pos0 = pos0; + m_pos1 = pos1; + m_pos2 = pos2; + m_pos3 = pos3; + + float escalatorStepHeight = CModelInfo::GetModelInfo(MI_ESCALATORSTEP)->GetColModel()->boundingBox.max.z; + m_pos0.z -= escalatorStepHeight; + m_pos1.z -= escalatorStepHeight; + m_pos2.z -= escalatorStepHeight; + m_pos3.z -= escalatorStepHeight; + + float magnitudes[3]; + magnitudes[0] = (m_pos0 - m_pos1).Magnitude(); + magnitudes[1] = (m_pos1 - m_pos2).Magnitude(); + magnitudes[2] = (m_pos2 - m_pos3).Magnitude(); + + float length = magnitudes[0] + magnitudes[1] + magnitudes[2]; + + m_lowerEnd = magnitudes[0] / length; + m_upperEnd = (magnitudes[0] + magnitudes[1]) / length; + + m_stepsCount = Max(24.0f, length / 0.6f); + + CVector direction(m_pos0.x - m_pos1.x, m_pos0.y - m_pos1.y, 0.0f); + direction.Normalise(); + + m_matrix.GetUp() = CVector(0.0f, 0.0f, 1.0f); + m_matrix.GetForward() = CVector(direction.x, direction.y, 0.0f); + m_matrix.GetRight() = CVector(direction.y, -direction.x, 0.0f); + m_matrix.GetPosition() = CVector(0.0f, 0.0f, 0.0f); + + m_bIsMovingDown = b_isMovingDown; + + m_midPoint = (m_pos0 + m_pos3) / 2.0f; + + m_radius = (m_pos0 - m_midPoint).Magnitude(); +} + +void +CEscalator::Update(void) { + if (!m_bIsActive) { + if ((TheCamera.GetPosition() - m_midPoint).Magnitude() < 25.0f) { + if (TheCamera.IsSphereVisible(m_midPoint, m_radius) && (m_stepsCount + 10 < CPools::GetObjectPool()->GetNoOfFreeSpaces())) { + m_bIsActive = true; + for (int i = 0; i < m_stepsCount; i++) { + m_pSteps[i] = new CObject(MI_ESCALATORSTEP, TRUE); + if (m_pSteps[i]) { + m_pSteps[i]->SetPosition(m_pos1); + CWorld::Add(m_pSteps[i]); + m_pSteps[i]->ObjectCreatedBy = ESCALATOR_OBJECT; + } + } + } + } + } + + if (m_bIsActive) { + float time = (CTimer::GetTimeInMilliseconds() % 16384) / 16384.0f; + for (int i = 0; i < m_stepsCount; i++) { + if (m_pSteps[i]) { + float t = i / (float)m_stepsCount + time; + + if (t > 1.0f) + t -= 1.0f; + + if (m_bIsMovingDown) + t = 1.0f - t; + + CVector oldPosition = m_pSteps[i]->GetPosition(); + m_pSteps[i]->GetMatrix() = m_matrix; + + CVector newPosition; + if (t < m_lowerEnd) { + float ratio = t / m_lowerEnd; + newPosition = (ratio * m_pos1) + ((1.0f - ratio) * m_pos0); + } + else if (t < m_upperEnd) { + float ratio = (t - m_lowerEnd) / (m_upperEnd - m_lowerEnd); + newPosition = (ratio * m_pos2) + ((1.0f - ratio) * m_pos1); + } + else { + float ratio = (t - m_upperEnd) / (1.0f - m_upperEnd); + newPosition = (ratio * m_pos3) + ((1.0f - ratio) * m_pos2); + } + + m_pSteps[i]->SetPosition(newPosition); + m_pSteps[i]->m_vecMoveSpeed = (newPosition - oldPosition) / Max(CTimer::GetTimeStep(), 1.0f); + m_pSteps[i]->GetMatrix().UpdateRW(); + m_pSteps[i]->UpdateRwFrame(); + } + if ((TheCamera.GetPosition() - m_midPoint).Magnitude() > 28.0f || !TheCamera.IsSphereVisible(m_midPoint, m_radius)) + SwitchOff(); + } + } +} + +bool deletingEscalator; + +void +CEscalator::SwitchOff(void) { + if (m_bIsActive) { + for (int i = 0; i < m_stepsCount; i++) { + if (m_pSteps[i]) { + CWorld::Remove(m_pSteps[i]); + deletingEscalator = true; + delete m_pSteps[i]; + m_pSteps[i] = nil; + deletingEscalator = false; + } + } + m_bIsActive = false; + } +} + +void +CEscalators::AddOne(CVector pos0, CVector pos1, CVector pos2, CVector pos3, bool b_isMovingDown) { + aEscalators[NumEscalators++].AddThisOne(pos0, pos1, pos2, pos3, b_isMovingDown); +} + +void +CEscalators::Init(void) { + Shutdown(); + NumEscalators = 0; + + AddOne(CVector(-9.82999f, -938.04498f, 9.4219f), CVector(-8.573f, -938.04498f, 9.4219f), + CVector(-0.747f, -938.045f, 15.065f), CVector(0.88f, -938.045f, 15.065f), TRUE); + + AddOne(CVector(-9.83f, -939.966f, 9.422f), CVector(-8.573f, -939.966f, 9.422f), + CVector(-0.747f, -939.966f, 15.065f), CVector(0.880f, -939.966f, 15.065f), FALSE); + + AddOne(CVector(408.116f, 1058.36f, 18.261f), CVector(408.094f, 1057.04f, 18.261f), + CVector(408.116f, 1048.0f, 24.765f), CVector(408.094f, 1046.57f, 24.799f), TRUE); + + AddOne(CVector(406.195f, 1058.36f, 18.261f), CVector(406.173f, 1057.04f, 18.261f), + CVector(406.195f, 1048.0f, 24.729f), CVector(406.173f, 1046.57f, 24.79f), FALSE); + + AddOne(CVector(421.729f, 1058.3789f, 18.075f), CVector(421.707f, 1057.052f, 18.099f), + CVector(421.729f, 1048.016f, 24.604f), CVector(421.707f, 1046.589f, 24.637f), TRUE); + + AddOne(CVector(419.808f, 1058.378f, 18.099f), CVector(419.786f, 1057.052f, 18.099f), + CVector(419.808f, 1048.016f, 24.568f), CVector(419.786f, 1046.589f, 24.637f), FALSE); + + AddOne(CVector(412.69901f, 1102.729f, 17.569f), CVector(412.72198f, 1104.057f, 17.57f), + CVector(412.69901f, 1113.092f, 24.073f), CVector(412.72198f, 1114.3201f, 24.108f), TRUE); + + AddOne(CVector(414.62f, 1102.729f, 17.569f), CVector(414.64301f, 1104.057f, 17.57f), + CVector(414.62f, 1113.092f, 24.037001f), CVector(414.64301f, 1114.3201f, 24.099001f), FALSE); + + AddOne(CVector(414.64301f, 1145.589f, 17.57f), CVector(414.62f, 1144.261f, 17.569f), + CVector(414.64301f, 1135.226f, 24.073999f), CVector(414.62f, 1133.798f, 24.107f), TRUE); + + AddOne(CVector(412.72198f, 1145.589f, 17.57f), CVector(412.69901f, 1144.261f, 17.569f), + CVector(412.72198f, 1135.226f, 24.038f), CVector(412.69901f, 1133.798f, 24.098f), FALSE); + + AddOne(CVector(406.05099f, 1193.4771f, 18.016001f), CVector(406.07401f, 1194.8051f, 18.017f), + CVector(406.05099f, 1203.84f, 24.52f), CVector(406.07401f, 1205.2679f, 24.555f), TRUE); + + AddOne(CVector(407.97198f, 1193.4771f, 18.016001f), CVector(407.995f, 1194.8051f, 18.017f), + CVector(407.97198f, 1203.84f, 24.483999f), CVector(407.995f, 1205.2679f, 24.546f), FALSE); + + AddOne(CVector(419.659f, 1193.479f, 17.979f), CVector(419.68201f, 1194.807f, 17.98f), + CVector(419.659f, 1203.842f, 24.483f), CVector(419.68201f, 1205.27f, 24.518f), TRUE); + + AddOne(CVector(421.57999f, 1193.479f, 17.979f), CVector(421.603f, 1194.807f, 17.98f), + CVector(421.57999f, 1203.842f, 24.447001f), CVector(421.603f, 1205.27f, 24.509001f), FALSE); + + AddOne(CVector(406.23199f, 1022.857f, 17.917f), CVector(406.23199f, 1024.1851f, 17.917f), + CVector(406.23199f, 1033.22f, 24.521f), CVector(406.23199f, 1034.647f, 24.555f), TRUE); + + AddOne(CVector(408.15302f, 1022.857f, 17.917f), CVector(408.15302f, 1024.1851f, 17.916f), + CVector(408.15302f, 1033.22f, 24.486f), CVector(408.15302f, 1034.647f, 24.52f), FALSE); + + AddOne(CVector(-1506.39f, -813.13f, 13.834f), CVector(-1506.177f, -814.51703f, 13.834f), + CVector(-1504.566f, -823.20898f, 19.836f), CVector(-1504.329f, -824.48499f, 19.837f), FALSE); + + AddOne(CVector(-1481.951f, -859.05402f, 13.834f), CVector(-1482.7791f, -858.22498f, 13.834f), + CVector(-1489.03f, -851.974f, 19.836f), CVector(-1489.948f, -851.05701f, 19.837f), TRUE); + + AddOne(CVector(-1461.743f, -871.35901f, 13.834f), CVector(-1460.62f, -871.69202f, 13.834f), + CVector(-1452.144f, -874.20203f, 19.836f), CVector(-1450.9f, -874.57098f, 19.837f), FALSE); + + AddOne(CVector(-1409.889f, -871.41498f, 13.834f), CVector(-1411.0129f, -871.74701f, 13.834f), + CVector(-1419.489f, -874.258f, 19.836f), CVector(-1420.733f, -874.62701f, 19.837f), TRUE); + + AddOne(CVector(-1389.577f, -858.89301f, 13.834f), CVector(-1388.7271f, -858.08698f, 13.834f), + CVector(-1382.314f, -852.00201f, 19.836f), CVector(-1381.373f, -851.10797f, 19.837f), FALSE); + + AddOne(CVector(-1364.981f, -813.13f, 13.834f), CVector(-1365.204f, -814.28003f, 13.834f), + CVector(-1366.891f, -822.95801f, 19.83f), CVector(-1367.139f, -824.23199f, 19.837f), TRUE); + + for (int i = 0; i < NUM_ESCALATORS; i++) { + aEscalators[i].SwitchOff(); + } +} + +void +CEscalators::Update(void) { + if (CReplay::IsPlayingBack()) + return; + + for (int i = 0; i < NUM_ESCALATORS; i++) { + aEscalators[i].Update(); + } +} + +void +CEscalators::Shutdown(void) { + for (int i = 0; i < NUM_ESCALATORS; i++) { + aEscalators[i].SwitchOff(); + } + NumEscalators = 0; }
\ No newline at end of file diff --git a/src/render/Fluff.h b/src/render/Fluff.h index b8b529f3..a938a4fe 100644 --- a/src/render/Fluff.h +++ b/src/render/Fluff.h @@ -1,6 +1,7 @@ #pragma once #include "common.h" #include "Vector.h" +#include "Object.h" // TODO class CScriptPath @@ -54,16 +55,37 @@ public: static void RegisterPoint(CVector pos, uint32 id); }; -// TODO -class CEscalators +class CEscalator { + CVector m_pos0; + CVector m_pos1; + CVector m_pos2; + CVector m_pos3; + CMatrix m_matrix; + bool m_bIsActive; + bool m_bIsMovingDown; + int32 m_stepsCount; + float m_lowerEnd; + float m_upperEnd; + CVector m_midPoint; + float m_radius; + CObject *m_pSteps[24]; public: + CEscalator(); + void Update(void); + void SwitchOff(void); + void AddThisOne(CVector pos0, CVector pos1, CVector pos2, CVector pos3, bool b_isMovingDown); }; -// TODO -class CEscalator +class CEscalators { + static CEscalator aEscalators[NUM_ESCALATORS]; public: + static int32 NumEscalators; + static void Init(void); + static void Update(void); + static void AddOne(CVector pos0, CVector pos1, CVector pos2, CVector pos3, bool b_isMovingDown); + static void Shutdown(void); }; class CMovingThing diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp index daafd27b..10408355 100644 --- a/src/render/Hud.cpp +++ b/src/render/Hud.cpp @@ -1708,6 +1708,12 @@ void CHud::SetHelpMessage(wchar *message, bool quick) } } +bool CHud::IsHelpMessageBeingDisplayed(void) +{ + return m_HelpMessageState != 0; +} + + void CHud::SetMessage(wchar *message) { int i = 0; diff --git a/src/render/Hud.h b/src/render/Hud.h index 9106f6fa..4dd52aa8 100644 --- a/src/render/Hud.h +++ b/src/render/Hud.h @@ -133,6 +133,7 @@ public: static void ReInitialise(); static void SetBigMessage(wchar *message, int16 style); static void SetHelpMessage(wchar *message, bool quick); + static bool IsHelpMessageBeingDisplayed(void); static void SetMessage(wchar *message); static void SetPagerMessage(wchar *message); static void SetVehicleName(wchar *name); diff --git a/src/render/Shadows.cpp b/src/render/Shadows.cpp index 284b2be0..c22afa76 100644 --- a/src/render/Shadows.cpp +++ b/src/render/Shadows.cpp @@ -1241,6 +1241,8 @@ CShadows::RenderStaticShadows(void) RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void *)TRUE); RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void *)FALSE); + SetAlphaTest(0); + for ( int32 i = 0; i < MAX_STATICSHADOWS; i++ ) aStaticShadows[i].m_bRendered = false; @@ -1294,6 +1296,7 @@ CShadows::RenderStaticShadows(void) RenderBuffer::RenderStuffInBuffer(); } } + RestoreAlphaTest(); RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void *)FALSE); RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, (void *)TRUE); diff --git a/src/rw/RwHelper.cpp b/src/rw/RwHelper.cpp index 5c44eb84..58791ce2 100644 --- a/src/rw/RwHelper.cpp +++ b/src/rw/RwHelper.cpp @@ -11,7 +11,11 @@ RtCharset *debugCharset; #endif -bool gPS2alphaTest = 1; +#ifdef PS2_ALPHA_TEST +bool gPS2alphaTest = true; +#else +bool gPS2alphaTest = false; +#endif bool gBackfaceCulling; #ifndef FINAL @@ -807,3 +811,37 @@ ConvertPlatformAtomic(RpAtomic *atomic, void *data) return atomic; } #endif + +#if defined(FIX_BUGS) && defined(GTA_PC) +RwUInt32 saved_alphafunc, saved_alpharef; + +void +SetAlphaTest(RwUInt32 alpharef) +{ +#ifdef LIBRW + saved_alphafunc = rw::GetRenderState(rw::ALPHATESTFUNC); + saved_alpharef = rw::GetRenderState(rw::ALPHATESTREF); + + rw::SetRenderState(rw::ALPHATESTFUNC, rw::ALPHAGREATEREQUAL); + rw::SetRenderState(rw::ALPHATESTREF, 0); +#else + RwD3D8GetRenderState(D3DRS_ALPHAFUNC, &saved_alphafunc); + RwD3D8GetRenderState(D3DRS_ALPHAREF, &saved_alpharef); + + RwD3D8SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL); + RwD3D8SetRenderState(D3DRS_ALPHAREF, alpharef); +#endif +} + +void +RestoreAlphaTest() +{ +#ifdef LIBRW + rw::SetRenderState(rw::ALPHATESTFUNC, saved_alphafunc); + rw::SetRenderState(rw::ALPHATESTREF, saved_alpharef); +#else + RwD3D8SetRenderState(D3DRS_ALPHAFUNC, saved_alphafunc); + RwD3D8SetRenderState(D3DRS_ALPHAREF, saved_alpharef); +#endif +} +#endif
\ No newline at end of file diff --git a/src/rw/RwHelper.h b/src/rw/RwHelper.h index 0bd7b27b..3f1a3d19 100644 --- a/src/rw/RwHelper.h +++ b/src/rw/RwHelper.h @@ -60,3 +60,11 @@ void _TexturePoolsInitialise(); void _TexturePoolsShutdown(); RpAtomic *ConvertPlatformAtomic(RpAtomic *atomic, void *data); + +#if defined(FIX_BUGS) && defined (GTA_PC) +void SetAlphaTest(RwUInt32 alpharef); +void RestoreAlphaTest(); +#else +#define SetAlphaTest(a) (0) +#define RestoreAlphaTest() (0) +#endif
\ No newline at end of file diff --git a/src/rw/RwMatFX.cpp b/src/rw/RwMatFX.cpp index 3533eb24..c8384b0f 100644 --- a/src/rw/RwMatFX.cpp +++ b/src/rw/RwMatFX.cpp @@ -2,7 +2,6 @@ #define WITHD3D #include "common.h" -#include "rwcore.h" #include "rpmatfx.h" struct MatFXNothing { int pad[5]; int effect; }; @@ -51,9 +50,9 @@ extern "C" { extern int MatFXAtomicDataOffset; void _rpMatFXD3D8AtomicMatFXEnvRender(RxD3D8InstanceData* inst, int flags, int sel, RwTexture* texture, RwTexture* envMap); - void _rpMatFXD3D8AtomicMatFXRenderBlack(RxD3D8InstanceData *inst); - void _rpMatFXD3D8AtomicMatFXBumpMapRender(RxD3D8InstanceData *inst, int flags, RwTexture *texture, RwTexture *bumpMap, RwTexture *envMap); - void _rpMatFXD3D8AtomicMatFXDualPassRender(RxD3D8InstanceData *inst, int flags, RwTexture *texture, RwTexture *dualTexture); + void _rpMatFXD3D8AtomicMatFXRenderBlack(RxD3D8InstanceData *inst); + void _rpMatFXD3D8AtomicMatFXBumpMapRender(RxD3D8InstanceData *inst, int flags, RwTexture *texture, RwTexture *bumpMap, RwTexture *envMap); + void _rpMatFXD3D8AtomicMatFXDualPassRender(RxD3D8InstanceData *inst, int flags, RwTexture *texture, RwTexture *dualTexture); } @@ -305,7 +304,8 @@ ReplaceMatFxCallback() { RxD3D8AllInOneSetRenderCallBack( RxPipelineFindNodeByName(RpMatFXGetD3D8Pipeline(rpMATFXD3D8ATOMICPIPELINE), RxNodeDefinitionGetD3D8AtomicAllInOne()->name, nil, nil), - _rwD3D8AtomicMatFXRenderCallback); + _rwD3D8AtomicMatFXRenderCallback); + } #endif // PS2_MATFX diff --git a/src/rw/RwPS2AlphaTest.cpp b/src/rw/RwPS2AlphaTest.cpp new file mode 100644 index 00000000..c0d68355 --- /dev/null +++ b/src/rw/RwPS2AlphaTest.cpp @@ -0,0 +1,247 @@ +#ifndef LIBRW + +#define WITHD3D +#include "common.h" +#ifdef PS2_ALPHA_TEST +#include "rwcore.h" + +extern "C" { +RwBool _rwD3D8RenderStateIsVertexAlphaEnable(void); +RwBool _rwD3D8RenderStateVertexAlphaEnable(RwBool enable); +RwRaster *_rwD3D8RWGetRasterStage(RwUInt32 stage); +} + +extern bool gPS2alphaTest; + +void +_rxD3D8DualPassRenderCallback(RwResEntry *repEntry, void *object, RwUInt8 type, RwUInt32 flags) +{ + RxD3D8ResEntryHeader *resEntryHeader; + RxD3D8InstanceData *instancedData; + RwInt32 numMeshes; + RwBool lighting; + RwBool vertexAlphaBlend; + RwBool forceBlack; + RwUInt32 ditherEnable; + RwUInt32 shadeMode; + void *lastVertexBuffer; + + /* Get lighting state */ + RwD3D8GetRenderState(D3DRS_LIGHTING, &lighting); + + forceBlack = FALSE; + + if (lighting) { + if (flags & rxGEOMETRY_PRELIT) { + /* Emmisive color from the vertex colors */ + RwD3D8SetRenderState(D3DRS_COLORVERTEX, TRUE); + RwD3D8SetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_COLOR1); + } else { + /* Emmisive color from material, set to black in the submit node */ + RwD3D8SetRenderState(D3DRS_COLORVERTEX, FALSE); + RwD3D8SetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL); + } + } else { + if ((flags & rxGEOMETRY_PRELIT) == 0) { + forceBlack = TRUE; + + RwD3D8GetRenderState(D3DRS_DITHERENABLE, &ditherEnable); + RwD3D8GetRenderState(D3DRS_SHADEMODE, &shadeMode); + + RwD3D8SetRenderState(D3DRS_TEXTUREFACTOR, 0xff000000); + RwD3D8SetRenderState(D3DRS_DITHERENABLE, FALSE); + RwD3D8SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT); + } + } + + /* Enable clipping */ + if (type == rpATOMIC) { + RpAtomic *atomic; + RwCamera *cam; + + atomic = (RpAtomic *)object; + + cam = RwCameraGetCurrentCamera(); + // RWASSERT(cam); + + if (RwD3D8CameraIsSphereFullyInsideFrustum(cam, RpAtomicGetWorldBoundingSphere(atomic))) { + RwD3D8SetRenderState(D3DRS_CLIPPING, FALSE); + } else { + RwD3D8SetRenderState(D3DRS_CLIPPING, TRUE); + } + } else { + RpWorldSector *worldSector; + RwCamera *cam; + + worldSector = (RpWorldSector *)object; + + cam = RwCameraGetCurrentCamera(); + // RWASSERT(cam); + + if (RwD3D8CameraIsBBoxFullyInsideFrustum(cam, RpWorldSectorGetTightBBox(worldSector))) { + RwD3D8SetRenderState(D3DRS_CLIPPING, FALSE); + } else { + RwD3D8SetRenderState(D3DRS_CLIPPING, TRUE); + } + } + + /* Set texture to NULL if hasn't any texture flags */ + if ((flags & (rxGEOMETRY_TEXTURED | rpGEOMETRYTEXTURED2)) == 0) { + RwD3D8SetTexture(NULL, 0); + + if (forceBlack) { + RwD3D8SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG2); + RwD3D8SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TFACTOR); + + RwD3D8SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_DISABLE); + } + } + + /* Get vertex alpha Blend state */ + vertexAlphaBlend = _rwD3D8RenderStateIsVertexAlphaEnable(); + + /* Set Last vertex buffer to force the call */ + lastVertexBuffer = (void *)0xffffffff; + + /* Get the instanced data */ + resEntryHeader = (RxD3D8ResEntryHeader *)(repEntry + 1); + instancedData = (RxD3D8InstanceData *)(resEntryHeader + 1); + + /* + * Data shared between meshes + */ + + /* + * Set the Default Pixel shader + */ + RwD3D8SetPixelShader(0); + + /* + * Vertex shader + */ + RwD3D8SetVertexShader(instancedData->vertexShader); + + /* Get the number of meshes */ + numMeshes = resEntryHeader->numMeshes; + while (numMeshes--) { + // RWASSERT(instancedData->material != NULL); + + if ((flags & (rxGEOMETRY_TEXTURED | rpGEOMETRYTEXTURED2))) { + RwD3D8SetTexture(instancedData->material->texture, 0); + + if (forceBlack) { + /* Only change the colorop, we need to use the texture alpha channel */ + RwD3D8SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG2); + RwD3D8SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TFACTOR); + } + } + + if (instancedData->vertexAlpha || (0xFF != instancedData->material->color.alpha)) { + if (!vertexAlphaBlend) { + vertexAlphaBlend = TRUE; + + _rwD3D8RenderStateVertexAlphaEnable(TRUE); + } + } else { + if (vertexAlphaBlend) { + vertexAlphaBlend = FALSE; + + _rwD3D8RenderStateVertexAlphaEnable(FALSE); + } + } + + if (lighting) { + if (instancedData->vertexAlpha) { + RwD3D8SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_COLOR1); + } else { + RwD3D8SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL); + } + + RwD3D8SetSurfaceProperties(&instancedData->material->color, &instancedData->material->surfaceProps, (flags & rxGEOMETRY_MODULATE)); + } + + /* + * Render + */ + + /* Set the stream source */ + if (lastVertexBuffer != instancedData->vertexBuffer) { + RwD3D8SetStreamSource(0, instancedData->vertexBuffer, instancedData->stride); + + lastVertexBuffer = instancedData->vertexBuffer; + } + if (!gPS2alphaTest) { + /* Set the Index buffer */ + if (instancedData->indexBuffer != NULL) { + RwD3D8SetIndices(instancedData->indexBuffer, instancedData->baseIndex); + + /* Draw the indexed primitive */ + RwD3D8DrawIndexedPrimitive((D3DPRIMITIVETYPE)instancedData->primType, 0, instancedData->numVertices, 0, instancedData->numIndices); + } else { + RwD3D8DrawPrimitive((D3DPRIMITIVETYPE)instancedData->primType, instancedData->baseIndex, instancedData->numVertices); + } + } else { + RwD3D8SetIndices(instancedData->indexBuffer, instancedData->baseIndex); + + int hasAlpha, alphafunc, alpharef, zwrite; + RwD3D8GetRenderState(D3DRS_ALPHABLENDENABLE, &hasAlpha); + RwD3D8GetRenderState(D3DRS_ZWRITEENABLE, &zwrite); + if (hasAlpha && zwrite) { + RwD3D8GetRenderState(D3DRS_ALPHAFUNC, &alphafunc); + RwD3D8GetRenderState(D3DRS_ALPHAREF, &alpharef); + + RwD3D8SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL); + RwD3D8SetRenderState(D3DRS_ALPHAREF, 128); + + if (instancedData->indexBuffer) + RwD3D8DrawIndexedPrimitive(instancedData->primType, 0, instancedData->numVertices, 0, instancedData->numIndices); + else + RwD3D8DrawPrimitive(instancedData->primType, instancedData->baseIndex, instancedData->numVertices); + + RwD3D8SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_LESS); + RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, FALSE); + + if (instancedData->indexBuffer) + RwD3D8DrawIndexedPrimitive(instancedData->primType, 0, instancedData->numVertices, 0, instancedData->numIndices); + else + RwD3D8DrawPrimitive(instancedData->primType, instancedData->baseIndex, instancedData->numVertices); + + RwD3D8SetRenderState(D3DRS_ALPHAFUNC, alphafunc); + RwD3D8SetRenderState(D3DRS_ALPHAREF, alpharef); + RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, (void *)TRUE); + } else { + if (instancedData->indexBuffer) + RwD3D8DrawIndexedPrimitive(instancedData->primType, 0, instancedData->numVertices, 0, instancedData->numIndices); + else + RwD3D8DrawPrimitive(instancedData->primType, instancedData->baseIndex, instancedData->numVertices); + } + } + + /* Move onto the next instancedData */ + instancedData++; + } + + if (forceBlack) { + RwD3D8SetRenderState(D3DRS_DITHERENABLE, ditherEnable); + RwD3D8SetRenderState(D3DRS_SHADEMODE, shadeMode); + + if (_rwD3D8RWGetRasterStage(0)) { + RwD3D8SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); + RwD3D8SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE); + } else { + RwD3D8SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG2); + RwD3D8SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE); + } + } +} + +void +ReplaceAtomicPipeCallback() +{ + RxD3D8AllInOneSetRenderCallBack(RxPipelineFindNodeByName(RXPIPELINEGLOBAL(platformAtomicPipeline), RxNodeDefinitionGetD3D8AtomicAllInOne()->name, nil, nil), + _rxD3D8DualPassRenderCallback); +} + +#endif // PS2_ALPHA_TEST + +#endif // !LIBRW
\ No newline at end of file diff --git a/src/vehicles/Automobile.cpp b/src/vehicles/Automobile.cpp index 08f14d68..e06ce03b 100644 --- a/src/vehicles/Automobile.cpp +++ b/src/vehicles/Automobile.cpp @@ -5581,7 +5581,7 @@ CAutomobile::TellHeliToGoToCoors(float x, float y, float z, uint8 speed) void CAutomobile::TellPlaneToGoToCoors(float x, float y, float z, uint8 speed) { - AutoPilot.m_nCarMission = MISSION_HELI_FLYTOCOORS; + AutoPilot.m_nCarMission = MISSION_PLANE_FLYTOCOORS; AutoPilot.m_vecDestinationCoors.x = x; AutoPilot.m_vecDestinationCoors.y = y; AutoPilot.m_vecDestinationCoors.z = z; |