mirror of
https://github.com/halpz/re3.git
synced 2024-12-24 17:55:29 +00:00
Merge branch 'lcs' into lcsfont
# Conflicts: # src/render/Font.cpp
This commit is contained in:
commit
8d2aa61f9b
8
.github/workflows/build-cmake-conan.yml
vendored
8
.github/workflows/build-cmake-conan.yml
vendored
|
@ -1,4 +1,4 @@
|
|||
name: reVC conan+cmake
|
||||
name: reLCS conan+cmake
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
|
@ -95,13 +95,13 @@ jobs:
|
|||
conan export re3mss miles-sdk/master@
|
||||
- name: "Download/build dependencies (conan install)"
|
||||
run: |
|
||||
conan install ${{ github.workspace }} reVC/master@ -if build -o reVC:audio=${{ matrix.audio }} -o librw:platform=${{ matrix.platform }} -o librw:gl3_gfxlib=${{ matrix.gl3_gfxlib || 'glfw' }} --build missing -pr:h ./host_profile -pr:b default -s reVC:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo
|
||||
conan install ${{ github.workspace }} reLCS/master@ -if build -o reLCS:audio=${{ matrix.audio }} -o librw:platform=${{ matrix.platform }} -o librw:gl3_gfxlib=${{ matrix.gl3_gfxlib || 'glfw' }} --build missing -pr:h ./host_profile -pr:b default -s reLCS:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo
|
||||
env:
|
||||
CONAN_SYSREQUIRES_MODE: enabled
|
||||
- name: "Build reVC (conan build)"
|
||||
- name: "Build reLCS (conan build)"
|
||||
run: |
|
||||
conan build ${{ github.workspace }} -if build -bf build -pf package
|
||||
- name: "Package reVC (conan package)"
|
||||
- name: "Package reLCS (conan package)"
|
||||
run: |
|
||||
conan package ${{ github.workspace }} -if build -bf build -pf package
|
||||
- name: "Create binary package (cpack)"
|
||||
|
|
18
conanfile.py
18
conanfile.py
|
@ -5,8 +5,8 @@ import shutil
|
|||
import textwrap
|
||||
|
||||
|
||||
class ReVCConan(ConanFile):
|
||||
name = "reVC"
|
||||
class ReLCSConan(ConanFile):
|
||||
name = "reLCS"
|
||||
version = "master"
|
||||
license = "???" # FIXME: https://github.com/GTAmodding/re3/issues/794
|
||||
settings = "os", "arch", "compiler", "build_type"
|
||||
|
@ -69,10 +69,10 @@ class ReVCConan(ConanFile):
|
|||
raise ConanInvalidConfiguration("Only `glfw` is supported as gl3_gfxlib.")
|
||||
#if not self.options.with_opus:
|
||||
# if not self.options["libsndfile"].with_external_libs:
|
||||
# raise ConanInvalidConfiguration("reVC with opus support requires a libsndfile built with external libs (=ogg/flac/opus/vorbis)")
|
||||
# raise ConanInvalidConfiguration("reLCS with opus support requires a libsndfile built with external libs (=ogg/flac/opus/vorbis)")
|
||||
|
||||
@property
|
||||
def _reVC_audio(self):
|
||||
def _reLCS_audio(self):
|
||||
return {
|
||||
"miles": "MSS",
|
||||
"openal": "OAL",
|
||||
|
@ -111,16 +111,16 @@ class ReVCConan(ConanFile):
|
|||
include("{}/conanbuildinfo.cmake")
|
||||
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
|
||||
|
||||
add_subdirectory("{}" reVC)
|
||||
add_subdirectory("{}" reLCS)
|
||||
""").format(self.install_folder.replace("\\", "/"),
|
||||
self.source_folder.replace("\\", "/")))
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
cmake = CMake(self)
|
||||
cmake.definitions["REVC_AUDIO"] = self._reVC_audio
|
||||
cmake.definitions["REVC_WITH_OPUS"] = self.options.with_opus
|
||||
cmake.definitions["REVC_INSTALL"] = True
|
||||
cmake.definitions["REVC_VENDORED_LIBRW"] = False
|
||||
cmake.definitions["RELCS_AUDIO"] = self._reLCS_audio
|
||||
cmake.definitions["RELCS_WITH_OPUS"] = self.options.with_opus
|
||||
cmake.definitions["RELCS_INSTALL"] = True
|
||||
cmake.definitions["RELCS_VENDORED_LIBRW"] = False
|
||||
env = {}
|
||||
if self._os_is_playstation2:
|
||||
cmake.definitions["CMAKE_TOOLCHAIN_FILE"] = self.deps_user_info["ps2dev-cmaketoolchain"].cmake_toolchain_file
|
||||
|
|
|
@ -996,11 +996,13 @@ cSampleManager::Initialise(void)
|
|||
#ifdef AUDIO_CACHE
|
||||
FILE *cacheFile = fcaseopen("audio\\sound.cache", "rb");
|
||||
if (cacheFile) {
|
||||
debug("Loadind audio cache (If game crashes around here, then your cache is corrupted, remove audio/sound.cache)\n");
|
||||
fread(nStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fclose(cacheFile);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
debug("Cannot load audio cache\n");
|
||||
#endif
|
||||
|
||||
for ( int32 i = 0; i < TOTAL_STREAMED_SOUNDS; i++ )
|
||||
{
|
||||
|
@ -1019,10 +1021,15 @@ cSampleManager::Initialise(void)
|
|||
}
|
||||
#ifdef AUDIO_CACHE
|
||||
cacheFile = fcaseopen("audio\\sound.cache", "wb");
|
||||
fwrite(nStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fclose(cacheFile);
|
||||
#endif
|
||||
if(cacheFile) {
|
||||
debug("Saving audio cache\n");
|
||||
fwrite(nStreamLength, sizeof(uint32), TOTAL_STREAMED_SOUNDS, cacheFile);
|
||||
fclose(cacheFile);
|
||||
} else {
|
||||
debug("Cannot save audio cache\n");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
{
|
||||
if ( !InitialiseSampleBanks() )
|
||||
|
|
|
@ -393,7 +393,7 @@ CGameLogic::RestorePlayerStuffDuringResurrection(CPlayerPed *pPlayerPed, CVector
|
|||
CWorld::Add(pPlayerPed);
|
||||
CHud::ResetWastedText();
|
||||
CStreaming::StreamZoneModels(pos);
|
||||
clearWaterDrop = true;
|
||||
//clearWaterDrop = true;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -605,10 +605,9 @@ public:
|
|||
|
||||
float LimitAngleOnCircle(float angle) { return angle < 0.0f ? angle + 360.0f : angle; }
|
||||
|
||||
bool ThisIsAValidRandomCop(uint32 mi, int cop, int swat, int fbi, int army, int miami);
|
||||
bool ThisIsAValidRandomPed(uint32 pedtype, int civ, int gang, int criminal);
|
||||
bool CheckDamagedWeaponType(int32 actual, int32 type);
|
||||
static bool ThisIsAValidRandomCop(int32 mi, bool cop, bool swat, bool fbi, bool army, bool miami);
|
||||
|
||||
void ReturnFromGosubOrFunction();
|
||||
|
||||
};
|
||||
|
|
|
@ -42,6 +42,19 @@
|
|||
extern const char* scriptfile;
|
||||
#endif
|
||||
|
||||
bool CRunningScript::ThisIsAValidRandomCop(uint32 mi, int cop, int swat, int fbi, int army, int miami)
|
||||
{
|
||||
switch (mi)
|
||||
{
|
||||
case MI_COP: if (cop) return true; break;
|
||||
case MI_SWAT: if (swat) return true; break;
|
||||
case MI_FBI: if (fbi) return true; break;
|
||||
case MI_ARMY: if (army) return true; break;
|
||||
default: if (mi >= MI_VICE1 && mi <= MI_VICE8 && miami) return true; break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CRunningScript::ThisIsAValidRandomPed(uint32 pedtype, int civ, int gang, int criminal)
|
||||
{
|
||||
switch (pedtype) {
|
||||
|
@ -66,19 +79,6 @@ bool CRunningScript::ThisIsAValidRandomPed(uint32 pedtype, int civ, int gang, in
|
|||
}
|
||||
}
|
||||
|
||||
bool CRunningScript::ThisIsAValidRandomCop(int32 mi, bool cop, bool swat, bool fbi, bool army, bool miami)
|
||||
{
|
||||
switch (mi)
|
||||
{
|
||||
case MI_COP: if (cop) return true;
|
||||
case MI_SWAT: if (swat) return true;
|
||||
case MI_FBI: if (fbi) return true;
|
||||
case MI_ARMY: if (army) return true;
|
||||
default:
|
||||
return miami && (mi >= MI_VICE1 && mi <= MI_VICE8);
|
||||
}
|
||||
}
|
||||
|
||||
int8 CRunningScript::ProcessCommands1000To1099(int32 command)
|
||||
{
|
||||
switch (command) {
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
|
||||
GlobalScene Scene;
|
||||
|
||||
uint8 work_buff[55000];
|
||||
uint8 work_buff[102400];
|
||||
char gString[256];
|
||||
char gString2[512];
|
||||
wchar gUString[256];
|
||||
|
|
|
@ -7,7 +7,7 @@ struct GlobalScene
|
|||
};
|
||||
extern GlobalScene Scene;
|
||||
|
||||
extern uint8 work_buff[55000];
|
||||
extern uint8 work_buff[102400];
|
||||
extern char gString[256];
|
||||
extern char gString2[512];
|
||||
extern wchar gUString[256];
|
||||
|
|
|
@ -1108,6 +1108,7 @@ CVehicleModelInfo::SetEnvironmentMapCB(RpAtomic *atomic, void *data)
|
|||
void
|
||||
CVehicleModelInfo::SetEnvironmentMap(void)
|
||||
{
|
||||
/*
|
||||
CSimpleModelInfo *wheelmi;
|
||||
int32 i;
|
||||
|
||||
|
@ -1125,6 +1126,7 @@ CVehicleModelInfo::SetEnvironmentMap(void)
|
|||
for(i = 0; i < wheelmi->m_numAtomics; i++)
|
||||
SetEnvironmentMapCB(wheelmi->m_atomics[i], nil);
|
||||
}
|
||||
*/
|
||||
|
||||
#ifdef EXTENDED_PIPELINES
|
||||
CustomPipes::AttachVehiclePipe(m_clump);
|
||||
|
@ -1139,21 +1141,23 @@ CVehicleModelInfo::LoadEnvironmentMaps(void)
|
|||
txdslot = CTxdStore::FindTxdSlot("particle");
|
||||
CTxdStore::PushCurrentTxd();
|
||||
CTxdStore::SetCurrentTxd(txdslot);
|
||||
if(gpWhiteTexture == nil){
|
||||
/*if(gpWhiteTexture == nil){
|
||||
gpWhiteTexture = RwTextureRead("white", nil);
|
||||
RwTextureGetName(gpWhiteTexture)[0] = '@';
|
||||
RwTextureSetFilterMode(gpWhiteTexture, rwFILTERLINEAR);
|
||||
}
|
||||
}*/
|
||||
CTxdStore::PopCurrentTxd();
|
||||
}
|
||||
|
||||
void
|
||||
CVehicleModelInfo::ShutdownEnvironmentMaps(void)
|
||||
{
|
||||
/*
|
||||
RwTextureDestroy(gpWhiteTexture);
|
||||
gpWhiteTexture = nil;
|
||||
RwFrameDestroy(pMatFxIdentityFrame);
|
||||
pMatFxIdentityFrame = nil;
|
||||
*/
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
@ -50,7 +50,7 @@ UnicodeMakeUpperCase(wchar *dst, const wchar *src) //idk what to do with it, see
|
|||
}
|
||||
|
||||
CFontDetails CFont::Details;
|
||||
int16 CFont::NewLine;
|
||||
bool16 CFont::NewLine;
|
||||
CSprite2d CFont::Sprite[MAX_FONTS];
|
||||
CFontRenderState CFont::RenderState;
|
||||
|
||||
|
@ -274,7 +274,7 @@ CFont::InitPerFrame(void)
|
|||
Details.anonymous_25 = 0;
|
||||
FontRenderStatePointer.pRenderState = (CFontRenderState*)FontRenderStateBuf;
|
||||
SetDropShadowPosition(0);
|
||||
NewLine = 0;
|
||||
NewLine = false;
|
||||
#ifdef BUTTON_ICONS
|
||||
PS2Symbol = BUTTON_NONE;
|
||||
#endif
|
||||
|
@ -1277,7 +1277,7 @@ CFont::ParseToken(wchar *s)
|
|||
break;
|
||||
case 'N':
|
||||
case 'n':
|
||||
NewLine = 1;
|
||||
NewLine = true;
|
||||
break;
|
||||
case 'b':
|
||||
Details.color.r = 27;
|
||||
|
|
|
@ -55,10 +55,10 @@ struct CFontRenderState
|
|||
float slant;
|
||||
float slantRefX;
|
||||
float slantRefY;
|
||||
bool bIsShadow;
|
||||
bool bFontHalfTexture;
|
||||
bool proportional;
|
||||
bool anonymous_14;
|
||||
bool8 bIsShadow;
|
||||
bool8 bFontHalfTexture;
|
||||
bool8 proportional;
|
||||
bool8 anonymous_14;
|
||||
int16 style;
|
||||
};
|
||||
|
||||
|
@ -126,7 +126,7 @@ class CFont
|
|||
#else
|
||||
static int16 Size[MAX_FONTS][419];
|
||||
#endif
|
||||
static int16 NewLine;
|
||||
static bool16 NewLine;
|
||||
public:
|
||||
static CSprite2d Sprite[MAX_FONTS];
|
||||
static CFontDetails Details;
|
||||
|
@ -169,7 +169,7 @@ public:
|
|||
static uint16 *ParseToken(wchar *s, bool japShit = false);
|
||||
#else
|
||||
static uint16 *ParseToken(wchar *s);
|
||||
static uint16* ParseToken(wchar *s, CRGBA &color, bool &flash, bool &bold);
|
||||
static uint16 *ParseToken(wchar *s, CRGBA &color, bool &flash, bool &bold);
|
||||
#endif
|
||||
static void DrawFonts(void);
|
||||
static void RenderFontBuffer(void);
|
||||
|
|
|
@ -591,6 +591,8 @@ CMBlur::AddRenderFx(RwCamera *cam, RwRect *rect, float z, FxType type)
|
|||
void
|
||||
CMBlur::OverlayRenderFx(RwCamera *cam, RwRaster *frontBuf)
|
||||
{
|
||||
//TODO(LCS)
|
||||
#if 0
|
||||
bool drawWaterDrops = false;
|
||||
RwIm2DVertex verts[4];
|
||||
int red = (0.75f*CTimeCycle::GetDirectionalRed() + CTimeCycle::GetAmbientRed())*0.55f * 255;
|
||||
|
@ -796,4 +798,5 @@ CMBlur::OverlayRenderFx(RwCamera *cam, RwRaster *frontBuf)
|
|||
RwRenderStateSet(rwRENDERSTATEZTESTENABLE, (void*)FALSE);
|
||||
RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)FALSE);
|
||||
pBufVertCount = 0;
|
||||
#endif
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -18,11 +18,6 @@ public:
|
|||
uint32 m_nTimeWhenWillBeDestroyed;
|
||||
uint32 m_nTimeWhenColorWillBeChanged;
|
||||
float m_fZGround;
|
||||
CVector m_vecParticleMovementOffset;
|
||||
int16 m_nCurrentZRotation;
|
||||
uint16 m_nZRotationTimer;
|
||||
float m_fCurrentZRadius;
|
||||
uint16 m_nZRadiusTimer;
|
||||
uint8 m_nColorIntensity;
|
||||
uint8 m_nAlpha;
|
||||
float m_fSize;
|
||||
|
@ -36,6 +31,14 @@ public:
|
|||
RwRGBA m_Color;
|
||||
CParticle *m_pNext;
|
||||
|
||||
//CVector m_vecParticleMovementOffset;
|
||||
//int16 m_nCurrentZRotation;
|
||||
//uint16 m_nZRotationTimer;
|
||||
//float m_fCurrentZRadius;
|
||||
//uint16 m_nZRadiusTimer;
|
||||
|
||||
int32 field_4C;
|
||||
|
||||
CParticle()
|
||||
{
|
||||
;
|
||||
|
@ -97,12 +100,9 @@ public:
|
|||
static void HandleShootableBirdsStuff(CEntity *entity, CVector const&camPos);
|
||||
};
|
||||
|
||||
extern bool clearWaterDrop;
|
||||
extern int32 numWaterDropOnScreen;
|
||||
extern RwRaster *gpCarSplashRaster[];
|
||||
extern RwRaster *gpHeatHazeRaster;
|
||||
extern RwRaster *gpDotRaster;
|
||||
extern RwRaster *gpRainDripRaster[];
|
||||
extern RwRaster *gpRainDripDarkRaster[];
|
||||
|
||||
VALIDATE_SIZE(CParticle, 0x58);
|
||||
VALIDATE_SIZE(CParticle, 0x50);
|
||||
|
|
|
@ -4,18 +4,30 @@
|
|||
#include "FileMgr.h"
|
||||
#include "ParticleMgr.h"
|
||||
|
||||
// --LCS: File done
|
||||
|
||||
cParticleSystemMgr mod_ParticleSystemManager;
|
||||
|
||||
const char *ParticleFilename = "PARTICLE.CFG";
|
||||
|
||||
cParticleSystemMgr::cParticleSystemMgr()
|
||||
{
|
||||
memset(this, 0, sizeof(*this));
|
||||
#ifdef FIX_BUGS
|
||||
m_aParticles = nil;
|
||||
#endif
|
||||
}
|
||||
|
||||
cParticleSystemMgr::~cParticleSystemMgr()
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
delete [] m_aParticles;
|
||||
#endif
|
||||
}
|
||||
|
||||
void cParticleSystemMgr::Initialise()
|
||||
{
|
||||
LoadParticleData();
|
||||
if ( gMakeResources )
|
||||
LoadParticleData();
|
||||
|
||||
for ( int32 i = 0; i < MAX_PARTICLES; i++ )
|
||||
m_aParticles[i].m_pParticles = nil;
|
||||
|
@ -23,20 +35,30 @@ void cParticleSystemMgr::Initialise()
|
|||
|
||||
void cParticleSystemMgr::LoadParticleData()
|
||||
{
|
||||
CFileMgr::SetDir("DATA");
|
||||
CFileMgr::LoadFile(ParticleFilename, work_buff, ARRAY_SIZE(work_buff), "r");
|
||||
#ifdef FIX_BUGS
|
||||
delete [] m_aParticles;
|
||||
#endif
|
||||
m_aParticles = new tParticleSystemData[MAX_PARTICLES];
|
||||
|
||||
memset(m_aParticles, 0, sizeof(tParticleSystemData)*MAX_PARTICLES);
|
||||
|
||||
CFileMgr::SetDir("Data");
|
||||
ssize_t len = CFileMgr::LoadFile(ParticleFilename, work_buff, ARRAY_SIZE(work_buff), "r");
|
||||
CFileMgr::SetDir("");
|
||||
|
||||
ASSERT(!(len <= 0));
|
||||
|
||||
tParticleSystemData *entry = nil;
|
||||
int32 type = PARTICLE_FIRST;
|
||||
|
||||
char *buffEnd = (char *)&work_buff[len];
|
||||
char *lineStart = (char *)work_buff;
|
||||
char *lineEnd = lineStart + 1;
|
||||
|
||||
char line[500];
|
||||
char delims[4];
|
||||
|
||||
while ( true )
|
||||
while ( lineStart < buffEnd )
|
||||
{
|
||||
ASSERT(lineStart != nil);
|
||||
ASSERT(lineEnd != nil);
|
||||
|
|
|
@ -124,15 +124,18 @@ class cParticleSystemMgr
|
|||
};
|
||||
|
||||
public:
|
||||
tParticleSystemData m_aParticles[MAX_PARTICLES];
|
||||
tParticleSystemData *m_aParticles;//[MAX_PARTICLES];
|
||||
|
||||
cParticleSystemMgr();
|
||||
#ifdef FIX_BUGS
|
||||
~cParticleSystemMgr();
|
||||
#endif
|
||||
|
||||
void Initialise();
|
||||
void LoadParticleData();
|
||||
void RangeCheck(tParticleSystemData *pData) { }
|
||||
};
|
||||
|
||||
VALIDATE_SIZE(cParticleSystemMgr, 0x2FFC);
|
||||
VALIDATE_SIZE(cParticleSystemMgr, 0x4);
|
||||
|
||||
extern cParticleSystemMgr mod_ParticleSystemManager;
|
||||
|
|
|
@ -42,8 +42,6 @@ enum tParticleType
|
|||
PARTICLE_RAIN_SPLASH_BIGGROW,
|
||||
PARTICLE_RAIN_SPLASHUP,
|
||||
PARTICLE_WATERSPRAY,
|
||||
PARTICLE_WATERDROP,
|
||||
PARTICLE_BLOODDROP,
|
||||
PARTICLE_EXPLOSION_MEDIUM,
|
||||
PARTICLE_EXPLOSION_LARGE,
|
||||
PARTICLE_EXPLOSION_MFAST,
|
||||
|
@ -83,10 +81,11 @@ enum tParticleType
|
|||
PARTICLE_SHIP_SIDE,
|
||||
PARTICLE_BEASTIE,
|
||||
PARTICLE_RAINDROP_2D,
|
||||
PARTICLE_HEATHAZE,
|
||||
PARTICLE_HEATHAZE_IN_DIST,
|
||||
PARTICLE_FERRY_CHIM_SMOKE,
|
||||
PARTICLE_MULTIPLAYER_HIT,
|
||||
PARTICLE_HYDRANT_STEAM,
|
||||
|
||||
MAX_PARTICLES,
|
||||
PARTICLE_FIRST = PARTICLE_SPARK,
|
||||
PARTICLE_LAST = PARTICLE_HEATHAZE_IN_DIST
|
||||
PARTICLE_LAST = PARTICLE_HYDRANT_STEAM
|
||||
};
|
|
@ -76,14 +76,14 @@ CShadows::Init(void)
|
|||
gpShadowBikeTex = RwTextureRead("shad_bike", nil);
|
||||
gpShadowBaronTex = RwTextureRead("shad_rcbaron", nil);
|
||||
gpShadowExplosionTex = RwTextureRead("shad_exp", nil);
|
||||
gpShadowHeadLightsTex = RwTextureRead("headlight", nil);
|
||||
gpShadowHeadLightsTex = RwTextureRead("headlight_single", nil);
|
||||
gpOutline1Tex = RwTextureRead("outline_64", nil);
|
||||
gpOutline2Tex = RwTextureRead("outline2_64", nil);
|
||||
gpOutline3Tex = RwTextureRead("outline3_64", nil);
|
||||
gpBloodPoolTex = RwTextureRead("bloodpool_64", nil);
|
||||
gpReflectionTex = RwTextureRead("reflection01", nil);
|
||||
//gpReflectionTex = RwTextureRead("reflection01", nil);
|
||||
gpWalkDontTex = RwTextureRead("walk_dont", nil);
|
||||
gpCrackedGlassTex = RwTextureRead("wincrack_32", nil);
|
||||
//gpCrackedGlassTex = RwTextureRead("wincrack_32", nil);
|
||||
gpPostShadowTex = RwTextureRead("lamp_shad_64", nil);
|
||||
|
||||
CTxdStore::PopCurrentTxd();
|
||||
|
@ -99,9 +99,9 @@ CShadows::Init(void)
|
|||
ASSERT(gpOutline2Tex != nil);
|
||||
ASSERT(gpOutline3Tex != nil);
|
||||
ASSERT(gpBloodPoolTex != nil);
|
||||
ASSERT(gpReflectionTex != nil);
|
||||
//ASSERT(gpReflectionTex != nil);
|
||||
ASSERT(gpWalkDontTex != nil);
|
||||
ASSERT(gpCrackedGlassTex != nil);
|
||||
//ASSERT(gpCrackedGlassTex != nil);
|
||||
ASSERT(gpPostShadowTex != nil);
|
||||
|
||||
|
||||
|
@ -178,9 +178,9 @@ CShadows::Shutdown(void)
|
|||
ASSERT(gpOutline2Tex != nil);
|
||||
ASSERT(gpOutline3Tex != nil);
|
||||
ASSERT(gpBloodPoolTex != nil);
|
||||
ASSERT(gpReflectionTex != nil);
|
||||
//ASSERT(gpReflectionTex != nil);
|
||||
ASSERT(gpWalkDontTex != nil);
|
||||
ASSERT(gpCrackedGlassTex != nil);
|
||||
//ASSERT(gpCrackedGlassTex != nil);
|
||||
ASSERT(gpPostShadowTex != nil);
|
||||
|
||||
RwTextureDestroy(gpShadowCarTex);
|
||||
|
@ -194,9 +194,9 @@ CShadows::Shutdown(void)
|
|||
RwTextureDestroy(gpOutline2Tex);
|
||||
RwTextureDestroy(gpOutline3Tex);
|
||||
RwTextureDestroy(gpBloodPoolTex);
|
||||
RwTextureDestroy(gpReflectionTex);
|
||||
//RwTextureDestroy(gpReflectionTex);
|
||||
RwTextureDestroy(gpWalkDontTex);
|
||||
RwTextureDestroy(gpCrackedGlassTex);
|
||||
//RwTextureDestroy(gpCrackedGlassTex);
|
||||
RwTextureDestroy(gpPostShadowTex);
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,19 @@ float CSprite::m_f2DFarScreenZ;
|
|||
float CSprite::m_fRecipNearClipPlane;
|
||||
int32 CSprite::m_bFlushSpriteBufferSwitchZTest;
|
||||
|
||||
float CalcScreenZ(float z)
|
||||
{
|
||||
// LCS TODO: check
|
||||
|
||||
if ( z == 0.0f )
|
||||
return CSprite::GetNearScreenZ();
|
||||
|
||||
return (z - CDraw::GetNearClipZ())
|
||||
* (CSprite::GetFarScreenZ() - CSprite::GetNearScreenZ()) * CDraw::GetFarClipZ()
|
||||
/ ( (CDraw::GetFarClipZ() - CDraw::GetNearClipZ()) * z )
|
||||
+ CSprite::GetNearScreenZ();
|
||||
}
|
||||
|
||||
float
|
||||
CSprite::CalcHorizonCoors(void)
|
||||
{
|
||||
|
|
|
@ -29,3 +29,5 @@ public:
|
|||
static void RenderBufferedOneXLUSprite2D_Rotate_Dimension(float x, float y, float w, float h, const RwRGBA &colour, int16 intens, float rotation, uint8 alpha);
|
||||
|
||||
};
|
||||
|
||||
extern float CalcScreenZ(float z);
|
|
@ -330,6 +330,7 @@ void CWeather::Update(void)
|
|||
|
||||
void CWeather::AddHeatHaze()
|
||||
{
|
||||
/*
|
||||
if(TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_TOPDOWN ||
|
||||
TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_TOP_DOWN_PED)
|
||||
return;
|
||||
|
@ -341,6 +342,7 @@ void CWeather::AddHeatHaze()
|
|||
pos.y = CGeneral::GetRandomNumberInRange(SCREEN_HEIGHT*0.4f, SCREEN_HEIGHT*0.9f);
|
||||
pos.z = 100.0f;
|
||||
CParticle::AddParticle(PARTICLE_HEATHAZE_IN_DIST, pos, CVector(0.0f, 0.0f, 0.0f));
|
||||
*/
|
||||
}
|
||||
|
||||
void CWeather::AddBeastie()
|
||||
|
|
|
@ -2037,6 +2037,7 @@ CAutomobile::PreRender(void)
|
|||
if(DotProduct(GetForward(), camDist) > 0.0f ||
|
||||
TheCamera.GetLookDirection() == LOOKING_LEFT ||
|
||||
TheCamera.GetLookDirection() == LOOKING_RIGHT){
|
||||
/*
|
||||
CParticle::AddParticle(PARTICLE_HEATHAZE, pos1, CVector(0.0f, 0.0f, 0.0f));
|
||||
if(pHandling->Flags & HANDLING_DBL_EXHAUST)
|
||||
CParticle::AddParticle(PARTICLE_HEATHAZE, pos2, CVector(0.0f, 0.0f, 0.0f));
|
||||
|
@ -2044,6 +2045,7 @@ CAutomobile::PreRender(void)
|
|||
CParticle::AddParticle(PARTICLE_HEATHAZE, pos1, CVector(0.0f, 0.0f, 0.0f));
|
||||
if(pHandling->Flags & HANDLING_DBL_EXHAUST)
|
||||
CParticle::AddParticle(PARTICLE_HEATHAZE, pos2, CVector(0.0f, 0.0f, 0.0f));
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1724,7 +1724,7 @@ CBike::PreRender(void)
|
|||
TheCamera.GetLookDirection() == LOOKING_RIGHT)
|
||||
pos1 -= 0.2f*GetForward();
|
||||
|
||||
CParticle::AddParticle(PARTICLE_HEATHAZE, pos1, CVector(0.0f, 0.0f, 0.0f));
|
||||
//CParticle::AddParticle(PARTICLE_HEATHAZE, pos1, CVector(0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -682,6 +682,7 @@ CBoat::ProcessControl(void)
|
|||
}
|
||||
|
||||
// Spray waterdrops on screen
|
||||
/*
|
||||
if(TheCamera.GetLookingForwardFirstPerson() && FindPlayerVehicle() && FindPlayerVehicle()->IsBoat() &&
|
||||
m_nDeltaVolumeUnderWater > 0 && numWaterDropOnScreen < 20){
|
||||
CVector dropPos;
|
||||
|
@ -712,7 +713,7 @@ CBoat::ProcessControl(void)
|
|||
if(CParticle::AddParticle(PARTICLE_WATERDROP, dropPos, dropDir, nil,
|
||||
CGeneral::GetRandomNumberInRange(0.1f, 0.15f), dropColor, 0, 0, frm))
|
||||
numWaterDropOnScreen++;
|
||||
}
|
||||
}*/
|
||||
|
||||
if(m_fPrevVolumeUnderWater == 0.0f && m_fVolumeUnderWater > 0.0f && GetModelIndex() == MI_SKIMMER){
|
||||
CVector splashDir(0.0f, 0.0f, 0.25f*speed);
|
||||
|
|
|
@ -645,9 +645,9 @@ CWeapon::FireMelee(CEntity *shooter, CVector &fireSource)
|
|||
CVector dropDir(CGeneral::GetRandomNumberInRange(-0.15f, 0.15f), CGeneral::GetRandomNumberInRange(0.1f, 0.35f), 0.f);
|
||||
CVector dropPos(CGeneral::GetRandomNumberInRange(SCREEN_STRETCH_X(50.0f), SCREEN_STRETCH_FROM_RIGHT(50.0f)),
|
||||
CGeneral::GetRandomNumberInRange(SCREEN_STRETCH_Y(50.0f), SCREEN_STRETCH_FROM_BOTTOM(50.0f)), 1.f);
|
||||
CParticle::AddParticle(PARTICLE_BLOODDROP, dropPos, dropDir, nil, CGeneral::GetRandomNumberInRange(0.1f, 0.15f),
|
||||
/*CParticle::AddParticle(PARTICLE_BLOODDROP, dropPos, dropDir, nil, CGeneral::GetRandomNumberInRange(0.1f, 0.15f),
|
||||
CRGBA(0, 0, 0, 0), 0, 0, CGeneral::GetRandomNumber() & 1, 0);
|
||||
|
||||
*/
|
||||
}
|
||||
if (info->m_AnimToPlay == ASSOCGRP_KNIFE)
|
||||
{
|
||||
|
@ -737,7 +737,7 @@ CWeapon::FireMelee(CEntity *shooter, CVector &fireSource)
|
|||
{
|
||||
nearCar->VehicleDamage(info->m_nDamage * (0.00075f * nearCar->pHandling->fMass), gaTempSphereColPoints[0].pieceB);
|
||||
|
||||
CParticle::AddParticle(PARTICLE_HEATHAZE, gaTempSphereColPoints[0].point, CVector(0.0f, 0.0f, 0.0f), 0, 0.0f, 0, 0, 0, 0);
|
||||
//CParticle::AddParticle(PARTICLE_HEATHAZE, gaTempSphereColPoints[0].point, CVector(0.0f, 0.0f, 0.0f), 0, 0.0f, 0, 0, 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -814,7 +814,7 @@ CWeapon::FireMelee(CEntity *shooter, CVector &fireSource)
|
|||
CParticle::AddParticle(PARTICLE_SPARK, gaTempSphereColPoints[0].point, 0.1f * gaTempSphereColPoints[0].normal, 0, 0.0f, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
CParticle::AddParticle(PARTICLE_HEATHAZE, gaTempSphereColPoints[0].point, CVector(0.0f, 0.0f, 0.0f), 0, 0.0f, 0, 0, 0, 0);
|
||||
//CParticle::AddParticle(PARTICLE_HEATHAZE, gaTempSphereColPoints[0].point, CVector(0.0f, 0.0f, 0.0f), 0, 0.0f, 0, 0, 0, 0);
|
||||
|
||||
if (!damageEntityRegistered)
|
||||
{
|
||||
|
|
2
vendor/librw
vendored
2
vendor/librw
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 78d540fce0ca090b07377cee40d73eadfb7a699d
|
||||
Subproject commit 61b288a9fe72ae4073c0ac5fd2a5815ed510c8c8
|
143
vendor/milessdk/include/mss.h
vendored
143
vendor/milessdk/include/mss.h
vendored
|
@ -56,75 +56,86 @@ typedef struct _AILSOUNDINFO
|
|||
void const *initial_ptr;
|
||||
} AILSOUNDINFO;
|
||||
|
||||
#define DLLEXPORT extern "C" __declspec(dllexport)
|
||||
typedef U32 (WINAPI *AIL_file_open_callback)(char const * Filename, U32 * FileHandle);
|
||||
|
||||
DLLEXPORT S32 WINAPI AIL_enumerate_3D_providers(HPROENUM *next, HPROVIDER *dest, C8 **name);
|
||||
DLLEXPORT void WINAPI AIL_release_3D_sample_handle(H3DSAMPLE S);
|
||||
DLLEXPORT void WINAPI AIL_close_3D_provider(HPROVIDER lib);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_provider_preference(HPROVIDER lib, C8 const *name, void const *val);
|
||||
DLLEXPORT M3DRESULT WINAPI AIL_open_3D_provider(HPROVIDER lib);
|
||||
DLLEXPORT C8 *WINAPI AIL_last_error(void);
|
||||
DLLEXPORT S32 WINAPI AIL_3D_room_type(HPROVIDER lib);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_room_type(HPROVIDER lib, S32 room_type);
|
||||
DLLEXPORT void WINAPI AIL_3D_provider_attribute(HPROVIDER lib, C8 const *name, void *val);
|
||||
DLLEXPORT H3DSAMPLE WINAPI AIL_allocate_3D_sample_handle(HPROVIDER lib);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_sample_effects_level(H3DSAMPLE S, F32 effects_level);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_speaker_type(HPROVIDER lib, S32 speaker_type);
|
||||
DLLEXPORT HSTREAM WINAPI AIL_open_stream(HDIGDRIVER dig, C8 const *filename, S32 stream_mem);
|
||||
DLLEXPORT void WINAPI AIL_stream_ms_position(HSTREAM S, S32 *total_milliseconds, S32 *current_milliseconds);
|
||||
DLLEXPORT void WINAPI AIL_close_stream(HSTREAM stream);
|
||||
DLLEXPORT S32 WINAPI AIL_digital_handle_release(HDIGDRIVER drvr);
|
||||
DLLEXPORT S32 WINAPI AIL_digital_handle_reacquire(HDIGDRIVER drvr);
|
||||
DLLEXPORT C8 *WINAPI AIL_set_redist_directory(C8 const *dir);
|
||||
DLLEXPORT S32 WINAPI AIL_startup(void);
|
||||
DLLEXPORT S32 WINAPI AIL_set_preference(U32 number, S32 value);
|
||||
DLLEXPORT HDIGDRIVER WINAPI AIL_open_digital_driver(U32 frequency, S32 bits, S32 channel, U32 flags);
|
||||
DLLEXPORT void *WINAPI AIL_mem_alloc_lock(U32 size);
|
||||
DLLEXPORT HSAMPLE WINAPI AIL_allocate_sample_handle(HDIGDRIVER dig);
|
||||
DLLEXPORT void WINAPI AIL_init_sample(HSAMPLE S);
|
||||
DLLEXPORT void WINAPI AIL_set_sample_type(HSAMPLE S, S32 format, U32 flags);
|
||||
DLLEXPORT void WINAPI AIL_pause_stream(HSTREAM stream, S32 onoff);
|
||||
DLLEXPORT void WINAPI AIL_release_sample_handle(HSAMPLE S);
|
||||
DLLEXPORT void WINAPI AIL_mem_free_lock(void *ptr);
|
||||
DLLEXPORT void WINAPI AIL_close_digital_driver(HDIGDRIVER dig);
|
||||
DLLEXPORT void WINAPI AIL_shutdown(void);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_sample_volume(H3DSAMPLE S, S32 volume);
|
||||
DLLEXPORT void WINAPI AIL_set_sample_volume(HSAMPLE S, S32 volume);
|
||||
DLLEXPORT void WINAPI AIL_set_sample_address(HSAMPLE S, void const *start, U32 len);
|
||||
DLLEXPORT S32 WINAPI AIL_set_3D_sample_info(H3DSAMPLE S, AILSOUNDINFO const *info);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_position(H3DPOBJECT obj, F32 X, F32 Y, F32 Z);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_sample_distances(H3DSAMPLE S, F32 max_dist, F32 min_dist);
|
||||
DLLEXPORT void WINAPI AIL_set_sample_pan(HSAMPLE S, S32 pan);
|
||||
DLLEXPORT void WINAPI AIL_set_sample_playback_rate(HSAMPLE S, S32 playback_rate);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_sample_playback_rate(H3DSAMPLE S, S32 playback_rate);
|
||||
DLLEXPORT void WINAPI AIL_set_sample_loop_block(HSAMPLE S, S32 loop_start_offset, S32 loop_end_offset);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_sample_loop_block(H3DSAMPLE S, S32 loop_start_offset, S32 loop_end_offset);
|
||||
DLLEXPORT void WINAPI AIL_set_sample_loop_count(HSAMPLE S, S32 loop_count);
|
||||
DLLEXPORT void WINAPI AIL_set_3D_sample_loop_count(H3DSAMPLE S, S32 loops);
|
||||
DLLEXPORT U32 WINAPI AIL_sample_status(HSAMPLE S);
|
||||
DLLEXPORT U32 WINAPI AIL_3D_sample_status(H3DSAMPLE S);
|
||||
DLLEXPORT void WINAPI AIL_start_sample(HSAMPLE S);
|
||||
DLLEXPORT void WINAPI AIL_start_3D_sample(H3DSAMPLE S);
|
||||
DLLEXPORT void WINAPI AIL_end_sample(HSAMPLE S);
|
||||
DLLEXPORT void WINAPI AIL_end_3D_sample(H3DSAMPLE S);
|
||||
DLLEXPORT void WINAPI AIL_set_stream_loop_count(HSTREAM stream, S32 count);
|
||||
DLLEXPORT S32 WINAPI AIL_service_stream(HSTREAM stream, S32 fillup);
|
||||
DLLEXPORT void WINAPI AIL_start_stream(HSTREAM stream);
|
||||
DLLEXPORT void WINAPI AIL_set_stream_ms_position(HSTREAM S, S32 milliseconds);
|
||||
DLLEXPORT void WINAPI AIL_set_stream_volume(HSTREAM stream, S32 volume);
|
||||
DLLEXPORT void WINAPI AIL_set_stream_pan(HSTREAM stream, S32 pan);
|
||||
DLLEXPORT S32 WINAPI AIL_stream_status(HSTREAM stream);
|
||||
typedef void (WINAPI *AIL_file_close_callback)(U32 FileHandle);
|
||||
|
||||
typedef U32(WINAPI* AIL_file_open_callback)(char const * Filename, U32 * FileHandle);
|
||||
|
||||
typedef void (WINAPI* AIL_file_close_callback) (U32 FileHandle);
|
||||
|
||||
#define AIL_FILE_SEEK_BEGIN 0
|
||||
#define AIL_FILE_SEEK_BEGIN 0
|
||||
#define AIL_FILE_SEEK_CURRENT 1
|
||||
#define AIL_FILE_SEEK_END 2
|
||||
#define AIL_FILE_SEEK_END 2
|
||||
|
||||
typedef S32(WINAPI* AIL_file_seek_callback) (U32 FileHandle, S32 Offset, U32 Type);
|
||||
typedef S32(WINAPI *AIL_file_seek_callback)(U32 FileHandle, S32 Offset, U32 Type);
|
||||
|
||||
typedef U32(WINAPI* AIL_file_read_callback) (U32 FileHandle, void* Buffer, U32 Bytes);
|
||||
typedef U32(WINAPI *AIL_file_read_callback)(U32 FileHandle, void* Buffer, U32 Bytes);
|
||||
|
||||
DLLEXPORT void WINAPI AIL_set_file_callbacks(AIL_file_open_callback opencb, AIL_file_close_callback closecb, AIL_file_seek_callback seekcb, AIL_file_read_callback readcb);
|
||||
#ifdef RE3MSS_EXPORTS
|
||||
#define RE3MSS_EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define RE3MSS_EXPORT __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_enumerate_3D_providers(HPROENUM *next, HPROVIDER *dest, C8 **name);
|
||||
RE3MSS_EXPORT void WINAPI AIL_release_3D_sample_handle(H3DSAMPLE S);
|
||||
RE3MSS_EXPORT void WINAPI AIL_close_3D_provider(HPROVIDER lib);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_provider_preference(HPROVIDER lib, C8 const *name, void const *val);
|
||||
RE3MSS_EXPORT M3DRESULT WINAPI AIL_open_3D_provider(HPROVIDER lib);
|
||||
RE3MSS_EXPORT C8 *WINAPI AIL_last_error(void);
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_3D_room_type(HPROVIDER lib);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_room_type(HPROVIDER lib, S32 room_type);
|
||||
RE3MSS_EXPORT void WINAPI AIL_3D_provider_attribute(HPROVIDER lib, C8 const *name, void *val);
|
||||
RE3MSS_EXPORT H3DSAMPLE WINAPI AIL_allocate_3D_sample_handle(HPROVIDER lib);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_sample_effects_level(H3DSAMPLE S, F32 effects_level);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_speaker_type(HPROVIDER lib, S32 speaker_type);
|
||||
RE3MSS_EXPORT HSTREAM WINAPI AIL_open_stream(HDIGDRIVER dig, C8 const *filename, S32 stream_mem);
|
||||
RE3MSS_EXPORT void WINAPI AIL_stream_ms_position(HSTREAM S, S32 *total_milliseconds, S32 *current_milliseconds);
|
||||
RE3MSS_EXPORT void WINAPI AIL_close_stream(HSTREAM stream);
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_digital_handle_release(HDIGDRIVER drvr);
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_digital_handle_reacquire(HDIGDRIVER drvr);
|
||||
RE3MSS_EXPORT C8 *WINAPI AIL_set_redist_directory(C8 const *dir);
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_startup(void);
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_set_preference(U32 number, S32 value);
|
||||
RE3MSS_EXPORT HDIGDRIVER WINAPI AIL_open_digital_driver(U32 frequency, S32 bits, S32 channel, U32 flags);
|
||||
RE3MSS_EXPORT void *WINAPI AIL_mem_alloc_lock(U32 size);
|
||||
RE3MSS_EXPORT HSAMPLE WINAPI AIL_allocate_sample_handle(HDIGDRIVER dig);
|
||||
RE3MSS_EXPORT void WINAPI AIL_init_sample(HSAMPLE S);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_sample_type(HSAMPLE S, S32 format, U32 flags);
|
||||
RE3MSS_EXPORT void WINAPI AIL_pause_stream(HSTREAM stream, S32 onoff);
|
||||
RE3MSS_EXPORT void WINAPI AIL_release_sample_handle(HSAMPLE S);
|
||||
RE3MSS_EXPORT void WINAPI AIL_mem_free_lock(void *ptr);
|
||||
RE3MSS_EXPORT void WINAPI AIL_close_digital_driver(HDIGDRIVER dig);
|
||||
RE3MSS_EXPORT void WINAPI AIL_shutdown(void);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_sample_volume(H3DSAMPLE S, S32 volume);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_sample_volume(HSAMPLE S, S32 volume);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_sample_address(HSAMPLE S, void const *start, U32 len);
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_set_3D_sample_info(H3DSAMPLE S, AILSOUNDINFO const *info);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_position(H3DPOBJECT obj, F32 X, F32 Y, F32 Z);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_sample_distances(H3DSAMPLE S, F32 max_dist, F32 min_dist);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_sample_pan(HSAMPLE S, S32 pan);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_sample_playback_rate(HSAMPLE S, S32 playback_rate);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_sample_playback_rate(H3DSAMPLE S, S32 playback_rate);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_sample_loop_block(HSAMPLE S, S32 loop_start_offset, S32 loop_end_offset);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_sample_loop_block(H3DSAMPLE S, S32 loop_start_offset, S32 loop_end_offset);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_sample_loop_count(HSAMPLE S, S32 loop_count);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_3D_sample_loop_count(H3DSAMPLE S, S32 loops);
|
||||
RE3MSS_EXPORT U32 WINAPI AIL_sample_status(HSAMPLE S);
|
||||
RE3MSS_EXPORT U32 WINAPI AIL_3D_sample_status(H3DSAMPLE S);
|
||||
RE3MSS_EXPORT void WINAPI AIL_start_sample(HSAMPLE S);
|
||||
RE3MSS_EXPORT void WINAPI AIL_start_3D_sample(H3DSAMPLE S);
|
||||
RE3MSS_EXPORT void WINAPI AIL_end_sample(HSAMPLE S);
|
||||
RE3MSS_EXPORT void WINAPI AIL_end_3D_sample(H3DSAMPLE S);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_stream_loop_count(HSTREAM stream, S32 count);
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_service_stream(HSTREAM stream, S32 fillup);
|
||||
RE3MSS_EXPORT void WINAPI AIL_start_stream(HSTREAM stream);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_stream_ms_position(HSTREAM S, S32 milliseconds);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_stream_volume(HSTREAM stream, S32 volume);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_stream_pan(HSTREAM stream, S32 pan);
|
||||
RE3MSS_EXPORT S32 WINAPI AIL_stream_status(HSTREAM stream);
|
||||
RE3MSS_EXPORT void WINAPI AIL_set_file_callbacks(AIL_file_open_callback opencb, AIL_file_close_callback closecb, AIL_file_seek_callback seekcb, AIL_file_read_callback readcb);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
BIN
vendor/milessdk/lib/mss32.lib
vendored
BIN
vendor/milessdk/lib/mss32.lib
vendored
Binary file not shown.
Loading…
Reference in a new issue