#define pWzAudioPlay ((void(__cdecl*)(PCHAR MusicId,int Arg2))0x004D60B0) // S6 = 0x004CF050)
#define pWzAudioStop ((void(__cdecl*)(PCHAR MusicId,int Arg2))0x004D6070) //S6 = 0x004CF000)
#define pLoadGameStuffs ((void(__cdecl*)(HDC Arg1))0x00936AAC) //S6 0x004D9CF0)
#include "stdafx.h"
#include "CustomMap.h"
#include "Defines.h"
#include "Util.h"
#include "Import.h"
CCustomMap gCustomMap;
// ----------------------------------------------------------------------------------------------
char* LoadMapName(signed int MapNumber)
{
if (MapNumber >= 82 && MapNumber <= 90)
{
return pGetTextLine(pTextLineThis, (4382 + MapNumber - 82));
}
return pMapName(MapNumber);
}
// Music Map add OMEGA
void LoadMapMusic(HDC Arg1)
{
static PCHAR MusicID;
// ----
if(pPlayerState == 5) // -> Si el PJ esta adentro del Juego
{
switch(pMapNumber)
{
case 82: // -> Si el PJ esta en el Mapa Numero: 82
{
MusicID = "Data\\Music\\Map82.mp3";
pWzAudioPlay(MusicID,0);
}
break;
case 83: // -> Si el PJ esta en el Mapa Numero: 83
{
MusicID = "Data\\Music\\Map83.mp3";
pWzAudioPlay(MusicID,0);
}
break;
case 84: // -> Si el PJ esta en el Mapa Numero: 84
{
MusicID = "Data\\Music\\Map84.mp3";
pWzAudioPlay(MusicID,0);
}
break;
case 85: // -> Si el PJ esta en el Mapa Numero: 85
{
MusicID = "Data\\Music\\Map85.mp3";
pWzAudioPlay(MusicID,0);
}
break;
case 86: // -> Si el PJ esta en el Mapa Numero: 86
{
MusicID = "Data\\Music\\Map86.mp3";
pWzAudioPlay(MusicID,0);
}
break;
case 87: // -> Si el PJ esta en el Mapa Numero: 87
{
MusicID = "Data\\Music\\Map87.mp3";
pWzAudioPlay(MusicID,0);
}
break;
case 88: // -> Si el PJ esta en el Mapa Numero: 88
{
MusicID = "Data\\Music\\Map88.mp3";
pWzAudioPlay(MusicID,0);
}
break;
case 89: // -> Si el PJ esta en el Mapa Numero: 89
{
MusicID = "Data\\Music\\Map89.mp3";
pWzAudioPlay(MusicID,0);
}
break;
case 90: // -> Si el PJ esta en el Mapa Numero: 90
{
MusicID = "Data\\Music\\Map90.mp3";
pWzAudioPlay(MusicID,0);
}
break;
}
}
// ----
pLoadGameStuffs(Arg1);
}
//Final add music
void CCustomMap::Load()
{
SetOp((LPVOID)0x0052AA39, (LPVOID)LoadMapName, ASM::CALL);
SetOp((LPVOID)0x0052AA80, (LPVOID)LoadMapName, ASM::CALL);
SetOp((LPVOID)0x00639C8D, (LPVOID)LoadMapName, ASM::CALL);
SetOp((LPVOID)0x007C35AB, (LPVOID)LoadMapName, ASM::CALL);
SetOp((LPVOID)0x007D230F, (LPVOID)LoadMapName, ASM::CALL);
SetOp((LPVOID)0x0099170C, (LPVOID)LoadMapName, ASM::CALL);
SetOp((LPVOID)0x00998A14, (LPVOID)LoadMapName, ASM::CALL);
//Bypass in terrains files
SetByte(0x00627499,0xEB);
SetByte(0x0062749F,0xEB);
SetByte(0x006276C6,0xEB);
SetByte(0x006276CC,0xEB);
SetByte(0x00627763,0xEB);
SetByte(0x00627769,0xEB);
//Set Music S8
SetOp((LPVOID)0x004E1D9E,(LPVOID)LoadMapMusic,ASM::CALL); // S6 0x004DADA4
}