mirror of
https://github.com/halpz/re3.git
synced 2025-04-28 20:07:57 +03:00
Add files via upload
This commit is contained in:
parent
15582a81ae
commit
17872b8fc9
10 changed files with 138 additions and 51 deletions
|
@ -175,6 +175,7 @@ CAnimBlendAssocGroup::CreateAssociations(const char *name)
|
|||
}
|
||||
|
||||
// Create associations from hierarchies for a given clump
|
||||
//__declspec(noinline) // 4 debug
|
||||
void
|
||||
CAnimBlendAssocGroup::CreateAssociations(const char *blockName, RpClump *clump, const char **animNames, int numAssocs)
|
||||
{
|
||||
|
@ -183,6 +184,11 @@ CAnimBlendAssocGroup::CreateAssociations(const char *blockName, RpClump *clump,
|
|||
DestroyAssociations();
|
||||
|
||||
animBlock = CAnimManager::GetAnimationBlock(blockName);
|
||||
//assert(animBlock);
|
||||
//if(!animBlock) {
|
||||
//animBlock = CAnimManager::GetAnimationBlock(blockName); // 4 debug research need name
|
||||
//}
|
||||
debug("Loading anim \"%s\"\n", blockName);
|
||||
assocList = new CAnimBlendAssociation[numAssocs];
|
||||
|
||||
numAssociations = 0;
|
||||
|
|
|
@ -59,11 +59,16 @@ CAnimBlendAssociation::FreeAnimBlendNodeArray(void)
|
|||
RwFreeAlign(nodes);
|
||||
}
|
||||
|
||||
//__declspec(noinline) // 4 dbg
|
||||
void
|
||||
CAnimBlendAssociation::Init(RpClump *clump, CAnimBlendHierarchy *hier)
|
||||
{
|
||||
int i;
|
||||
AnimBlendFrameData *frame;
|
||||
assert(hier);
|
||||
/*if(!hier) {
|
||||
debug("\n\n\n");
|
||||
}*/
|
||||
|
||||
CAnimBlendClumpData *clumpData = *RPANIMBLENDCLUMPDATA(clump);
|
||||
numNodes = clumpData->numFrames;
|
||||
|
|
|
@ -80,7 +80,9 @@ AnimAssocDesc aStdAnimDescs[] = {
|
|||
{ ANIM_STD_DETONATE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_STD_PUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_STD_PARTIALPUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_STD_KICKGROUND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
|
||||
{ ANIM_STD_KICKGROUND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL }, //--------------------------------------------------------
|
||||
|
||||
{ ANIM_STD_THROW_UNDER, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_STD_FIGHT_SHUFFLE_B, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
|
||||
{ ANIM_STD_JACKEDCAR_RHS, ASSOC_DELETEFADEDOUT | ASSOC_PARTIAL },
|
||||
|
@ -1331,9 +1333,15 @@ CAnimManager::CreateAnimAssociation(AssocGroupId groupId, AnimationId animId)
|
|||
return ms_aAnimAssocGroups[groupId].CopyAnimation(animId);
|
||||
}
|
||||
|
||||
//__declspec(noinline)
|
||||
CAnimBlendAssociation*
|
||||
CAnimManager::GetAnimAssociation(AssocGroupId groupId, AnimationId animId)
|
||||
{
|
||||
/*if(groupId == AssocGroupId::ASSOCGRP_KNIFE) {
|
||||
// animId = AnimationId::ANIM_BIKE_HIT;
|
||||
debug("\n\n");
|
||||
}
|
||||
auto b = ms_aAnimAssocGroups[groupId].assocList[animId - ms_aAnimAssocGroups[groupId].firstAnimId];*/
|
||||
return ms_aAnimAssocGroups[groupId].GetAnimation(animId);
|
||||
}
|
||||
|
||||
|
@ -1383,9 +1391,42 @@ CAnimManager::AddAnimationAndSync(RpClump *clump, CAnimBlendAssociation *syncani
|
|||
return anim;
|
||||
}
|
||||
|
||||
__declspec(noinline)
|
||||
//MAZAHAKA_ANIM_STUFF
|
||||
//#include "PlayerInfo.h" // find func
|
||||
//#include "PlayerPed.h"
|
||||
CAnimBlendAssociation*
|
||||
CAnimManager::BlendAnimation(RpClump *clump, AssocGroupId groupId, AnimationId animId, float delta)
|
||||
{
|
||||
// reVC My dumper Mazahaka anims player
|
||||
/*if(FindPlayerPed() && FindPlayerPed()->GetClump() == clump) // only player anims debug
|
||||
{
|
||||
debug("anim groupId: %d\n", groupId);
|
||||
debug("anim animId: %d\n\n", animId);
|
||||
}*/
|
||||
|
||||
/*if(groupId == AssocGroupId::ASSOCGRP_KNIFE)
|
||||
{
|
||||
if(!animId) { animId = (AnimationId)205; } // debug from vice
|
||||
assert(animId);
|
||||
//animId = AnimationId::ANIM_BIKE_HIT;
|
||||
debug("\n\n");
|
||||
}*/
|
||||
|
||||
/*if(animId == 60) { // kickground
|
||||
debug("groupid: %d\n", groupId);
|
||||
debug("\n\n");
|
||||
//if(animId == 60) { animId = (AnimationId)65; } // reVC
|
||||
if(animId == 60) { groupId = (AssocGroupId)0; } // reVC kick 0:65 fix 0:60
|
||||
} else if(groupId == 7 || groupId == 9) {
|
||||
debug("groupId: %d\n", groupId);
|
||||
debug("animId: %d\n", animId);
|
||||
}*/
|
||||
// crash kick+katana
|
||||
// groupId 7,9
|
||||
// animId 60
|
||||
|
||||
|
||||
int removePrevAnim = 0;
|
||||
CAnimBlendClumpData *clumpData = *RPANIMBLENDCLUMPDATA(clump);
|
||||
CAnimBlendAssociation *anim = GetAnimAssociation(groupId, animId);
|
||||
|
@ -1430,6 +1471,7 @@ CAnimManager::BlendAnimation(RpClump *clump, AssocGroupId groupId, AnimationId a
|
|||
return found;
|
||||
}
|
||||
|
||||
//__declspec(noinline) // 4 debug breakpoints
|
||||
void
|
||||
CAnimManager::LoadAnimFiles(void)
|
||||
{
|
||||
|
@ -1438,6 +1480,7 @@ CAnimManager::LoadAnimFiles(void)
|
|||
CreateAnimAssocGroups();
|
||||
}
|
||||
|
||||
//__declspec(noinline) // 4 debug breakpoints
|
||||
void
|
||||
CAnimManager::CreateAnimAssocGroups(void)
|
||||
{
|
||||
|
@ -1449,6 +1492,7 @@ CAnimManager::CreateAnimAssocGroups(void)
|
|||
continue;
|
||||
|
||||
CBaseModelInfo *mi = CModelInfo::GetModelInfo(ms_aAnimAssocDefinitions[i].modelIndex);
|
||||
//if(!mi) { continue; } // mazahaka
|
||||
RpClump *clump = (RpClump*)mi->CreateInstance();
|
||||
RpAnimBlendClumpInit(clump);
|
||||
CAnimBlendAssocGroup *group = &ms_aAnimAssocGroups[i];
|
||||
|
@ -1465,6 +1509,7 @@ CAnimManager::CreateAnimAssocGroups(void)
|
|||
}
|
||||
}
|
||||
|
||||
//__declspec(noinline) // 4 debug breakpoints
|
||||
void
|
||||
CAnimManager::LoadAnimFile(const char *filename)
|
||||
{
|
||||
|
@ -1475,6 +1520,8 @@ CAnimManager::LoadAnimFile(const char *filename)
|
|||
RwStreamClose(stream, nil);
|
||||
}
|
||||
|
||||
//#include <iostream>
|
||||
//__declspec(noinline) // 4 debug breakpoints
|
||||
void
|
||||
CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*uncompressedAnims)[32])
|
||||
{
|
||||
|
@ -1511,7 +1558,8 @@ CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*uncompressedA
|
|||
animBlock->isLoaded = true;
|
||||
|
||||
int animIndex = animBlock->firstIndex;
|
||||
for(j = 0; j < animBlock->numAnims; j++){
|
||||
for(j = 0; j < animBlock->numAnims; j++)
|
||||
{
|
||||
assert(animIndex < ARRAY_SIZE(ms_aAnimations));
|
||||
CAnimBlendHierarchy *hier = &ms_aAnimations[animIndex++];
|
||||
|
||||
|
@ -1520,6 +1568,13 @@ CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*uncompressedA
|
|||
ROUNDSIZE(name.size);
|
||||
RwStreamRead(stream, buf, name.size);
|
||||
hier->SetName(buf);
|
||||
//continue;
|
||||
|
||||
//------MAZAHAKA----DUMP-----ANIMS
|
||||
//std::cout << hier->name << "\n";
|
||||
//--------------------------------
|
||||
|
||||
|
||||
|
||||
#ifdef ANIM_COMPRESSION
|
||||
bool compressHier = compress;
|
||||
|
@ -1551,7 +1606,8 @@ CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*uncompressedA
|
|||
for(k = 0; k < hier->numSequences; k++, seq++){
|
||||
// Each node has a name and key frames
|
||||
RwStreamRead(stream, &cpan, sizeof(IfpHeader));
|
||||
ROUNDSIZE(dgan.size);
|
||||
//ROUNDSIZE(dgan.size); // bug?
|
||||
ROUNDSIZE(cpan.size);
|
||||
RwStreamRead(stream, &anim, sizeof(IfpHeader));
|
||||
ROUNDSIZE(anim.size);
|
||||
RwStreamRead(stream, buf, anim.size);
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
enum AnimationId
|
||||
{
|
||||
ANIM_STD_WALK,
|
||||
ANIM_STD_NOT_INITED_SLOT_4_FISTFITE = 0,
|
||||
ANIM_STD_WALK = 0,
|
||||
ANIM_STD_RUN,
|
||||
ANIM_STD_RUNFAST,
|
||||
ANIM_STD_IDLE,
|
||||
|
@ -62,6 +63,7 @@ enum AnimationId
|
|||
ANIM_STD_DETONATE,
|
||||
ANIM_STD_PUNCH,
|
||||
ANIM_STD_PARTIALPUNCH,
|
||||
|
||||
ANIM_STD_KICKGROUND,
|
||||
|
||||
ANIM_STD_THROW_UNDER,
|
||||
|
|
|
@ -181,6 +181,7 @@ RpAnimBlendClumpInitSkinned(RpClump *clump)
|
|||
void
|
||||
RpAnimBlendClumpInitNotSkinned(RpClump *clump)
|
||||
{
|
||||
//if(!clump) { return; }
|
||||
int numFrames = 0;
|
||||
CAnimBlendClumpData *clumpData;
|
||||
RwFrame *root;
|
||||
|
|
|
@ -11928,7 +11928,7 @@ cAudioManager::ProcessMissionAudioSlot(uint8 slot)
|
|||
SampleManager.SetChannelVolume(slot + CHANNEL_MISSION_AUDIO_1, Vol);
|
||||
SampleManager.SetChannelPan(slot + CHANNEL_MISSION_AUDIO_1, pan);
|
||||
}
|
||||
SampleManager.StartChannel(slot + CHANNEL_MISSION_AUDIO_1);
|
||||
SampleManager.StartChannel(slot + CHANNEL_MISSION_AUDIO_1); // mazahakabug crash mono to stereo
|
||||
}
|
||||
m_nMissionAudioPlayStatus[slot] = PLAY_STATUS_PLAYING;
|
||||
nCheckPlayingDelay[slot] = 30;
|
||||
|
|
|
@ -75,7 +75,7 @@ cMusicManager::ResetMusicAfterReload()
|
|||
float afRadioTime[NUM_RADIOS];
|
||||
|
||||
m_bRadioSetByScript = FALSE;
|
||||
m_nRadioStationScript = WILDSTYLE;
|
||||
m_nRadioStationScript = FLASH_FM;
|
||||
m_nRadioPosition = -1;
|
||||
m_nAnnouncement = NO_TRACK;
|
||||
m_bAnnouncementInProgress = FALSE;
|
||||
|
@ -183,7 +183,7 @@ cMusicManager::Initialise()
|
|||
m_bResetTimers = FALSE;
|
||||
m_nResetTime = 0;
|
||||
m_bRadioSetByScript = FALSE;
|
||||
m_nRadioStationScript = WILDSTYLE;
|
||||
m_nRadioStationScript = FLASH_FM;
|
||||
m_nRadioPosition = -1;
|
||||
m_nRadioInCar = NO_TRACK;
|
||||
gRetuneCounter = 0;
|
||||
|
@ -258,7 +258,7 @@ cMusicManager::PlayerInCar()
|
|||
uint32
|
||||
cMusicManager::GetRadioInCar(void)
|
||||
{
|
||||
if (!m_bIsInitialised) return WILDSTYLE;
|
||||
if (!m_bIsInitialised) return FLASH_FM;
|
||||
if (PlayerInCar()) {
|
||||
CVehicle* veh = AudioManager.FindVehicleOfPlayer();
|
||||
if (veh != nil) {
|
||||
|
@ -315,7 +315,7 @@ cMusicManager::ChangeMusicMode(uint8 mode)
|
|||
|
||||
#ifdef PAUSE_RADIO_IN_FRONTEND
|
||||
// rewind those streams we weren't listening right now
|
||||
for( uint32 i = STREAMED_SOUND_RADIO_HEAD; i < STREAMED_SOUND_CUTSCENE_BIKER; i++ ) {
|
||||
for( uint32 i = STREAMED_SOUND_RADIO_FLASH_FM; i < STREAMED_SOUND_CUTSCENE_BIKER; i++ ) {
|
||||
m_aTracks[i].m_nPosition = GetTrackStartPos(i);
|
||||
m_aTracks[i].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
|
||||
}
|
||||
|
@ -427,7 +427,7 @@ cMusicManager::ServiceFrontEndMode()
|
|||
|
||||
#ifdef PAUSE_RADIO_IN_FRONTEND
|
||||
// pause radio
|
||||
for( uint32 i = STREAMED_SOUND_RADIO_HEAD; i < STREAMED_SOUND_CUTSCENE_BIKER; i++ )
|
||||
for( uint32 i = STREAMED_SOUND_RADIO_FLASH_FM; i < STREAMED_SOUND_CUTSCENE_BIKER; i++ )
|
||||
m_aTracks[i].m_nLastPosCheckTimer = CTimer::GetTimeInMillisecondsPauseMode();
|
||||
#endif
|
||||
|
||||
|
@ -595,7 +595,7 @@ cMusicManager::ServiceGameMode()
|
|||
if (!m_bRadioStreamReady)
|
||||
{
|
||||
if(vehicle == nil) {
|
||||
m_nFrontendTrack = STREAMED_SOUND_RADIO_LCFR; // huh?
|
||||
m_nFrontendTrack = STREAMED_SOUND_RADIO_EMOTION; // huh?
|
||||
return;
|
||||
}
|
||||
if(m_bRadioSetByScript) {
|
||||
|
@ -1311,23 +1311,38 @@ cMusicManager::DisplayRadioStationName()
|
|||
#endif
|
||||
wchar* string = nil;
|
||||
switch (track) {
|
||||
case WILDSTYLE: string = TheText.Get("FEA_FM0"); break;
|
||||
case FLASH_FM: string = TheText.Get("FEA_FM1"); break;
|
||||
case KCHAT: string = TheText.Get("FEA_FM2"); break;
|
||||
case FEVER: string = TheText.Get("FEA_FM3"); break;
|
||||
case V_ROCK: string = TheText.Get("FEA_FM4"); break;
|
||||
case VCPR: string = TheText.Get("FEA_FM5"); break;
|
||||
case RADIO_ESPANTOSO: string = TheText.Get("FEA_FM6"); break;
|
||||
case EMOTION: string = TheText.Get("FEA_FM7"); break;
|
||||
case WAVE: string = TheText.Get("FEA_FM8"); break;
|
||||
case 9: string = TheText.Get("FEA_FM9"); break;
|
||||
case 10:
|
||||
case FLASH_FM: string = TheText.Get("FEA_FM0"); break;
|
||||
case V_ROCK: string = TheText.Get("FEA_FM1"); break;
|
||||
case PARADISE: string = TheText.Get("FEA_FM2"); break;
|
||||
case VCPR: string = TheText.Get("FEA_FM3"); break;
|
||||
case VCFL: string = TheText.Get("FEA_FM4"); break;
|
||||
case WAVE: string = TheText.Get("FEA_FM5"); break;
|
||||
case FRESH: string = TheText.Get("FEA_FM6"); break;
|
||||
case ESPANTOSO: string = TheText.Get("FEA_FM7"); break;
|
||||
case EMOTION: string = TheText.Get("FEA_FM8"); break;
|
||||
case USERTRACK:
|
||||
if (!SampleManager.IsMP3RadioChannelAvailable())
|
||||
return;
|
||||
string = TheText.Get("FEA_MP3"); break;
|
||||
default: string = TheText.Get("FEA_NON"); break;
|
||||
case RADIO_OFF: {
|
||||
// Otherwise RADIO OFF will be seen after pausing-resuming game and Mission Complete text
|
||||
if (!m_bRadioStreamReady || !m_bGameplayAllowsRadio)
|
||||
return;
|
||||
|
||||
extern wchar WideErrorString[];
|
||||
|
||||
string = TheText.Get("FEA_NON");
|
||||
if (string == WideErrorString) {
|
||||
pCurrentStation = nil;
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default: return;
|
||||
};
|
||||
|
||||
|
||||
if (pCurrentStation != string) {
|
||||
pCurrentStation = string;
|
||||
cDisplay = 60;
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
|
||||
enum eRadioStation
|
||||
{
|
||||
WILDSTYLE,
|
||||
FLASH_FM,
|
||||
KCHAT,
|
||||
FEVER,
|
||||
V_ROCK,
|
||||
PARADISE,
|
||||
VCPR,
|
||||
RADIO_ESPANTOSO,
|
||||
EMOTION,
|
||||
VCFL,
|
||||
WAVE,
|
||||
FRESH,
|
||||
ESPANTOSO,
|
||||
EMOTION,
|
||||
USERTRACK,
|
||||
NUM_RADIOS = 11,
|
||||
POLICE_RADIO = 11,
|
||||
NUM_RADIOS = 10,
|
||||
POLICE_RADIO = 10,
|
||||
RADIO_OFF = 10,
|
||||
//TAXI_RADIO,
|
||||
};
|
||||
|
@ -38,16 +38,15 @@ enum ePlayerMood
|
|||
|
||||
enum eStreamedSounds
|
||||
{
|
||||
STREAMED_SOUND_RADIO_HEAD,
|
||||
STREAMED_SOUND_RADIO_DOUBLE,
|
||||
STREAMED_SOUND_RADIO_KJAH,
|
||||
STREAMED_SOUND_RADIO_RISE,
|
||||
STREAMED_SOUND_RADIO_LIPS,
|
||||
STREAMED_SOUND_RADIO_MUNDO,
|
||||
STREAMED_SOUND_RADIO_MSX,
|
||||
STREAMED_SOUND_RADIO_FLASH,
|
||||
STREAMED_SOUND_RADIO_LCJ,
|
||||
STREAMED_SOUND_RADIO_LCFR,
|
||||
STREAMED_SOUND_RADIO_FLASH_FM,
|
||||
STREAMED_SOUND_RADIO_V_ROCK,
|
||||
STREAMED_SOUND_RADIO_PARADISE,
|
||||
STREAMED_SOUND_RADIO_VCPR,
|
||||
STREAMED_SOUND_RADIO_VCFL,
|
||||
STREAMED_SOUND_RADIO_WAVE,
|
||||
STREAMED_SOUND_RADIO_FRESH,
|
||||
STREAMED_SOUND_RADIO_ESPANTOSO,
|
||||
STREAMED_SOUND_RADIO_EMOTION,
|
||||
STREAMED_SOUND_RADIO_MP3_PLAYER,
|
||||
STREAMED_SOUND_CITY_AMBIENT,
|
||||
STREAMED_SOUND_WATER_AMBIENT,
|
||||
|
|
|
@ -17,7 +17,11 @@ bool bChannelsCreated = false;
|
|||
|
||||
int32 CChannel::channelsThatNeedService = 0;
|
||||
|
||||
uint8 tempStereoBuffer[PED_BLOCKSIZE * 2];
|
||||
#ifdef MAZAHAKA_TRY_SFX_FIX
|
||||
uint8 tempStereoBuffer[PED_BLOCKSIZE * 2 * 2];
|
||||
#else
|
||||
uint8 tempStereoBuffer[PED_BLOCKSIZE * 2]; // crash vic3 'VIC3_AA'
|
||||
#endif
|
||||
|
||||
void
|
||||
CChannel::InitChannels()
|
||||
|
|
|
@ -262,17 +262,16 @@ public:
|
|||
extern cSampleManager SampleManager;
|
||||
extern uint32 BankStartOffset[MAX_SFX_BANKS];
|
||||
|
||||
static char StreamedNameTable[][40] = {
|
||||
"AUDIO\\MUSIC\\HEAD",
|
||||
"AUDIO\\MUSIC\\DOUBLE",
|
||||
"AUDIO\\MUSIC\\KJAH",
|
||||
"AUDIO\\MUSIC\\RISE",
|
||||
"AUDIO\\MUSIC\\LIPS",
|
||||
"AUDIO\\MUSIC\\MUNDO",
|
||||
"AUDIO\\MUSIC\\MSX",
|
||||
static char StreamedNameTable[][39] = {
|
||||
"AUDIO\\MUSIC\\FLASH",
|
||||
"AUDIO\\MUSIC\\LCJ",
|
||||
"AUDIO\\MUSIC\\LCFR",
|
||||
"AUDIO\\MUSIC\\VROCK",
|
||||
"AUDIO\\MUSIC\\PARADISE",
|
||||
"AUDIO\\MUSIC\\VCPR",
|
||||
"AUDIO\\MUSIC\\VCFL",
|
||||
"AUDIO\\MUSIC\\WAVE",
|
||||
"AUDIO\\MUSIC\\FRESH",
|
||||
"AUDIO\\MUSIC\\ESPANT",
|
||||
"AUDIO\\MUSIC\\EMOTION",
|
||||
"AUDIO\\MUSIC\\MISCOM2",
|
||||
"AUDIO\\MUSIC\\CITY",
|
||||
"AUDIO\\MUSIC\\WATER",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue