cmake windows
This commit is contained in:
parent
f698a38c7e
commit
2ace28d941
387 changed files with 96179 additions and 1 deletions
163
SimpleGame/FMOD/api/studio/examples/3d.cpp
Normal file
163
SimpleGame/FMOD/api/studio/examples/3d.cpp
Normal file
|
@ -0,0 +1,163 @@
|
|||
/*==============================================================================
|
||||
Event 3D Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
|
||||
This example demonstrates how to position events in 3D for spatialization.
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
|
||||
const int SCREEN_WIDTH = NUM_COLUMNS;
|
||||
const int SCREEN_HEIGHT = 16;
|
||||
|
||||
int currentScreenPosition = -1;
|
||||
char screenBuffer[(SCREEN_WIDTH + 1) * SCREEN_HEIGHT + 1] = {0};
|
||||
|
||||
void initializeScreenBuffer();
|
||||
void updateScreenPosition(const FMOD_VECTOR& worldPosition);
|
||||
|
||||
int FMOD_Main()
|
||||
{
|
||||
void *extraDriverData = NULL;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System* system = NULL;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
|
||||
// The example Studio project is authored for 5.1 sound, so set up the system output mode to match
|
||||
FMOD::System* coreSystem = NULL;
|
||||
ERRCHECK( system->getCoreSystem(&coreSystem) );
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0) );
|
||||
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
|
||||
FMOD::Studio::Bank* masterBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank) );
|
||||
|
||||
FMOD::Studio::Bank* stringsBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.strings.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &stringsBank) );
|
||||
|
||||
FMOD::Studio::Bank* vehiclesBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Vehicles.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &vehiclesBank) );
|
||||
|
||||
FMOD::Studio::EventDescription* eventDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/Vehicles/Ride-on Mower", &eventDescription) );
|
||||
|
||||
FMOD::Studio::EventInstance* eventInstance = NULL;
|
||||
ERRCHECK( eventDescription->createInstance(&eventInstance) );
|
||||
|
||||
ERRCHECK( eventInstance->setParameterByName("RPM", 650.0f) );
|
||||
ERRCHECK( eventInstance->start() );
|
||||
|
||||
// Position the listener at the origin
|
||||
FMOD_3D_ATTRIBUTES attributes = { { 0 } };
|
||||
attributes.forward.z = 1.0f;
|
||||
attributes.up.y = 1.0f;
|
||||
ERRCHECK( system->setListenerAttributes(0, &attributes) );
|
||||
|
||||
// Position the event 2 units in front of the listener
|
||||
attributes.position.z = 2.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&attributes) );
|
||||
|
||||
initializeScreenBuffer();
|
||||
|
||||
do
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnDown(BTN_LEFT))
|
||||
{
|
||||
attributes.position.x -= 1.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&attributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnDown(BTN_RIGHT))
|
||||
{
|
||||
attributes.position.x += 1.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&attributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnDown(BTN_UP))
|
||||
{
|
||||
attributes.position.z += 1.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&attributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnDown(BTN_DOWN))
|
||||
{
|
||||
attributes.position.z -= 1.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&attributes) );
|
||||
}
|
||||
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
updateScreenPosition(attributes.position);
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Event 3D Example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw(screenBuffer);
|
||||
Common_Draw("Use the arrow keys (%s, %s, %s, %s) to control the event position",
|
||||
Common_BtnStr(BTN_LEFT), Common_BtnStr(BTN_RIGHT), Common_BtnStr(BTN_UP), Common_BtnStr(BTN_DOWN));
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void initializeScreenBuffer()
|
||||
{
|
||||
memset(screenBuffer, ' ', sizeof(screenBuffer));
|
||||
|
||||
int idx = SCREEN_WIDTH;
|
||||
for (int i = 0; i < SCREEN_HEIGHT; ++i)
|
||||
{
|
||||
screenBuffer[idx] = '\n';
|
||||
idx += SCREEN_WIDTH + 1;
|
||||
}
|
||||
|
||||
screenBuffer[(SCREEN_WIDTH + 1) * SCREEN_HEIGHT] = '\0';
|
||||
}
|
||||
|
||||
int getCharacterIndex(const FMOD_VECTOR& position)
|
||||
{
|
||||
int row = static_cast<int>(-position.z + (SCREEN_HEIGHT / 2));
|
||||
int col = static_cast<int>(position.x + (SCREEN_WIDTH / 2));
|
||||
|
||||
if (0 < row && row < SCREEN_HEIGHT && 0 < col && col < SCREEN_WIDTH)
|
||||
{
|
||||
return (row * (SCREEN_WIDTH + 1)) + col;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
void updateScreenPosition(const FMOD_VECTOR& eventPosition)
|
||||
{
|
||||
if (currentScreenPosition != -1)
|
||||
{
|
||||
screenBuffer[currentScreenPosition] = ' ';
|
||||
currentScreenPosition = -1;
|
||||
}
|
||||
|
||||
FMOD_VECTOR origin = {0};
|
||||
int idx = getCharacterIndex(origin);
|
||||
screenBuffer[idx] = '^';
|
||||
|
||||
idx = getCharacterIndex(eventPosition);
|
||||
if (idx != -1)
|
||||
{
|
||||
screenBuffer[idx] = 'o';
|
||||
currentScreenPosition = idx;
|
||||
}
|
||||
}
|
241
SimpleGame/FMOD/api/studio/examples/3d_multi.cpp
Normal file
241
SimpleGame/FMOD/api/studio/examples/3d_multi.cpp
Normal file
|
@ -0,0 +1,241 @@
|
|||
/*==============================================================================
|
||||
Event 3D Multi-Listener Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
|
||||
This example demonstrates how use listener weighting to crossfade listeners
|
||||
in and out.
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
|
||||
const int SCREEN_WIDTH = NUM_COLUMNS;
|
||||
const int SCREEN_HEIGHT = 10;
|
||||
|
||||
char backBuffer[(SCREEN_WIDTH + 1) * SCREEN_HEIGHT + 1] = {0};
|
||||
char screenBuffer[(SCREEN_WIDTH + 1) * SCREEN_HEIGHT + 1] = {0};
|
||||
|
||||
void initializeScreenBuffer();
|
||||
void updateScreenPosition(const FMOD_VECTOR& worldPosition, float listenerDist, float weight1, float weight2);
|
||||
|
||||
int FMOD_Main()
|
||||
{
|
||||
void *extraDriverData = NULL;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System* system = NULL;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
|
||||
// The example Studio project is authored for 5.1 sound, so set up the system output mode to match
|
||||
FMOD::System* coreSystem = NULL;
|
||||
ERRCHECK( system->getCoreSystem(&coreSystem) );
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0) );
|
||||
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
|
||||
FMOD::Studio::Bank* masterBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank) );
|
||||
|
||||
FMOD::Studio::Bank* stringsBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.strings.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &stringsBank) );
|
||||
|
||||
FMOD::Studio::Bank* vehiclesBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Vehicles.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &vehiclesBank) );
|
||||
|
||||
FMOD::Studio::EventDescription* eventDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/Vehicles/Ride-on Mower", &eventDescription) );
|
||||
|
||||
FMOD::Studio::EventInstance* eventInstance = NULL;
|
||||
ERRCHECK( eventDescription->createInstance(&eventInstance) );
|
||||
|
||||
ERRCHECK( eventInstance->setParameterByName("RPM", 650.0f) );
|
||||
ERRCHECK( eventInstance->start() );
|
||||
|
||||
// Position two listeners
|
||||
ERRCHECK( system->setNumListeners(2) );
|
||||
int activeListener = 0;
|
||||
float listenerDist = 8.0f;
|
||||
float listenerWeight[2] = { 1.0f, 0.0f };
|
||||
FMOD_3D_ATTRIBUTES listenerAttributes[2] = {};
|
||||
listenerAttributes[0].forward.z = 1.0f;
|
||||
listenerAttributes[0].up.y = 1.0f;
|
||||
listenerAttributes[0].position.x = -listenerDist;
|
||||
listenerAttributes[1].forward.z = 1.0f;
|
||||
listenerAttributes[1].up.y = 1.0f;
|
||||
listenerAttributes[1].position.x = listenerDist;
|
||||
|
||||
ERRCHECK( system->setListenerAttributes(0, &listenerAttributes[0]) );
|
||||
ERRCHECK( system->setListenerWeight(0, listenerWeight[0]) );
|
||||
ERRCHECK( system->setListenerAttributes(1, &listenerAttributes[1]) );
|
||||
ERRCHECK( system->setListenerWeight(1, listenerWeight[1]) );
|
||||
|
||||
// Position the event 2 units in front of the listener
|
||||
FMOD_3D_ATTRIBUTES carAttributes = {};
|
||||
carAttributes.forward.z = 1.0f;
|
||||
carAttributes.up.y = 1.0f;
|
||||
carAttributes.position.x = 0.0f;
|
||||
carAttributes.position.z = 2.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&carAttributes) );
|
||||
|
||||
initializeScreenBuffer();
|
||||
|
||||
do
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnPress(BTN_LEFT))
|
||||
{
|
||||
carAttributes.position.x -= 1.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&carAttributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_RIGHT))
|
||||
{
|
||||
carAttributes.position.x += 1.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&carAttributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_UP))
|
||||
{
|
||||
carAttributes.position.z += 1.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&carAttributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_DOWN))
|
||||
{
|
||||
carAttributes.position.z -= 1.0f;
|
||||
ERRCHECK( eventInstance->set3DAttributes(&carAttributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION1))
|
||||
{
|
||||
activeListener++;
|
||||
if (activeListener > 2)
|
||||
activeListener = 0;
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION2))
|
||||
{
|
||||
activeListener--;
|
||||
if (activeListener < 0)
|
||||
activeListener = 2;
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION3))
|
||||
{
|
||||
listenerDist -= 1.0f;
|
||||
if (listenerDist < 0.0f)
|
||||
listenerDist = 0.0f;
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION4))
|
||||
{
|
||||
listenerDist += 1.0f;
|
||||
if (listenerDist < 0.0f)
|
||||
listenerDist = 0.0f;
|
||||
}
|
||||
|
||||
for (int i=0; i<2; ++i)
|
||||
{
|
||||
float target = (activeListener == i || activeListener == 2); // 0 = left, 1 = right, 2 = both
|
||||
|
||||
float dist = (target - listenerWeight[i]);
|
||||
float step = 50.0f / 1000.0f; // very rough estimate of 50ms per update, not properly timed
|
||||
|
||||
if (dist >= -step && dist <= step)
|
||||
listenerWeight[i] = target;
|
||||
else if (dist > 0.0f)
|
||||
listenerWeight[i] += step;
|
||||
else
|
||||
listenerWeight[i] += -step;
|
||||
}
|
||||
|
||||
listenerAttributes[0].position.x = -listenerDist;
|
||||
listenerAttributes[1].position.x = listenerDist;
|
||||
ERRCHECK( system->setListenerAttributes(0, &listenerAttributes[0]) );
|
||||
ERRCHECK( system->setListenerAttributes(1, &listenerAttributes[1]) );
|
||||
ERRCHECK( system->setListenerWeight(0, listenerWeight[0]) );
|
||||
ERRCHECK( system->setListenerWeight(1, listenerWeight[1]) );
|
||||
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
updateScreenPosition(carAttributes.position, listenerDist, listenerWeight[0], listenerWeight[1]);
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Event 3D Multi-Listener Example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw(screenBuffer);
|
||||
|
||||
Common_Draw("Left listener: %d%%", (int)(listenerWeight[0] * 100));
|
||||
Common_Draw("Right listener: %d%%", (int)(listenerWeight[1] * 100));
|
||||
Common_Draw("Use the arrow keys (%s, %s, %s, %s) to control the event position",
|
||||
Common_BtnStr(BTN_LEFT), Common_BtnStr(BTN_RIGHT), Common_BtnStr(BTN_UP), Common_BtnStr(BTN_DOWN));
|
||||
Common_Draw("Use %s and %s to toggle left/right/both listeners", Common_BtnStr(BTN_ACTION1), Common_BtnStr(BTN_ACTION2));
|
||||
Common_Draw("Use %s and %s to move listeners closer or further apart", Common_BtnStr(BTN_ACTION3), Common_BtnStr(BTN_ACTION4));
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void initializeScreenBuffer()
|
||||
{
|
||||
memset(backBuffer, ' ', sizeof(backBuffer));
|
||||
|
||||
int idx = SCREEN_WIDTH;
|
||||
for (int i = 0; i < SCREEN_HEIGHT; ++i)
|
||||
{
|
||||
backBuffer[idx] = '\n';
|
||||
idx += SCREEN_WIDTH + 1;
|
||||
}
|
||||
|
||||
backBuffer[(SCREEN_WIDTH + 1) * SCREEN_HEIGHT] = '\0';
|
||||
memcpy(screenBuffer, backBuffer, sizeof(screenBuffer));
|
||||
}
|
||||
|
||||
void setCharacterIndex(const FMOD_VECTOR& position, char ch)
|
||||
{
|
||||
int row = static_cast<int>(-position.z + (SCREEN_HEIGHT / 2));
|
||||
int col = static_cast<int>(position.x + (SCREEN_WIDTH / 2));
|
||||
|
||||
if (0 < row && row < SCREEN_HEIGHT && 0 < col && col < SCREEN_WIDTH)
|
||||
{
|
||||
screenBuffer[row * (SCREEN_WIDTH + 1) + col] = ch;
|
||||
}
|
||||
}
|
||||
|
||||
char symbolForWeight(float weight)
|
||||
{
|
||||
if (weight >= 0.95f)
|
||||
return 'X';
|
||||
else if (weight >= 0.05f)
|
||||
return 'x';
|
||||
else
|
||||
return '.';
|
||||
}
|
||||
|
||||
void updateScreenPosition(const FMOD_VECTOR& worldPosition, float listenerDist, float weight1, float weight2)
|
||||
{
|
||||
memcpy(screenBuffer, backBuffer, sizeof(screenBuffer));
|
||||
|
||||
FMOD_VECTOR pos = {0};
|
||||
setCharacterIndex(pos, '^');
|
||||
|
||||
pos.x = -listenerDist;
|
||||
setCharacterIndex(pos, symbolForWeight(weight1));
|
||||
|
||||
pos.x = listenerDist;
|
||||
setCharacterIndex(pos, symbolForWeight(weight2));
|
||||
|
||||
setCharacterIndex(worldPosition, 'o');
|
||||
}
|
234
SimpleGame/FMOD/api/studio/examples/common.cpp
Normal file
234
SimpleGame/FMOD/api/studio/examples/common.cpp
Normal file
|
@ -0,0 +1,234 @@
|
|||
/*==============================================================================
|
||||
FMOD Example Framework
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
==============================================================================*/
|
||||
#include "common.h"
|
||||
#include "fmod_errors.h"
|
||||
|
||||
/* Cross platform OS Functions internal to the FMOD library, exposed for the example framework. */
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct FMOD_OS_FILE FMOD_OS_FILE;
|
||||
typedef struct FMOD_OS_CRITICALSECTION FMOD_OS_CRITICALSECTION;
|
||||
|
||||
FMOD_RESULT F_API FMOD_OS_Time_GetUs(unsigned int *us);
|
||||
FMOD_RESULT F_API FMOD_OS_Debug_Output(const char *format, ...);
|
||||
FMOD_RESULT F_API FMOD_OS_File_Open(const char *name, int mode, unsigned int *filesize, FMOD_OS_FILE **handle);
|
||||
FMOD_RESULT F_API FMOD_OS_File_Close(FMOD_OS_FILE *handle);
|
||||
FMOD_RESULT F_API FMOD_OS_File_Read(FMOD_OS_FILE *handle, void *buf, unsigned int count, unsigned int *read);
|
||||
FMOD_RESULT F_API FMOD_OS_File_Write(FMOD_OS_FILE *handle, const void *buffer, unsigned int bytesToWrite, bool flush);
|
||||
FMOD_RESULT F_API FMOD_OS_File_Seek(FMOD_OS_FILE *handle, unsigned int offset);
|
||||
FMOD_RESULT F_API FMOD_OS_Time_Sleep(unsigned int ms);
|
||||
FMOD_RESULT F_API FMOD_OS_CriticalSection_Create(FMOD_OS_CRITICALSECTION **crit, bool memorycrit);
|
||||
FMOD_RESULT F_API FMOD_OS_CriticalSection_Free(FMOD_OS_CRITICALSECTION *crit, bool memorycrit);
|
||||
FMOD_RESULT F_API FMOD_OS_CriticalSection_Enter(FMOD_OS_CRITICALSECTION *crit);
|
||||
FMOD_RESULT F_API FMOD_OS_CriticalSection_Leave(FMOD_OS_CRITICALSECTION *crit);
|
||||
FMOD_RESULT F_API FMOD_OS_CriticalSection_TryEnter(FMOD_OS_CRITICALSECTION *crit, bool *entered);
|
||||
FMOD_RESULT F_API FMOD_OS_CriticalSection_IsLocked(FMOD_OS_CRITICALSECTION *crit, bool *locked);
|
||||
FMOD_RESULT F_API FMOD_OS_Thread_Create(const char *name, void (*callback)(void *param), void *param, FMOD_THREAD_AFFINITY affinity, FMOD_THREAD_PRIORITY priority, FMOD_THREAD_STACK_SIZE stacksize, void **handle);
|
||||
FMOD_RESULT F_API FMOD_OS_Thread_Destroy(void *handle);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
void (*Common_Private_Error)(FMOD_RESULT, const char *, int);
|
||||
|
||||
void ERRCHECK_fn(FMOD_RESULT result, const char *file, int line)
|
||||
{
|
||||
if (result != FMOD_OK)
|
||||
{
|
||||
if (Common_Private_Error)
|
||||
{
|
||||
Common_Private_Error(result, file, line);
|
||||
}
|
||||
Common_Fatal("%s(%d): FMOD error %d - %s", file, line, result, FMOD_ErrorString(result));
|
||||
}
|
||||
}
|
||||
|
||||
void Common_Format(char *buffer, int bufferSize, const char *formatString...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, formatString);
|
||||
Common_vsnprintf(buffer, bufferSize, formatString, args);
|
||||
va_end(args);
|
||||
buffer[bufferSize-1] = '\0';
|
||||
}
|
||||
|
||||
void Common_Fatal(const char *format, ...)
|
||||
{
|
||||
char error[1024];
|
||||
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
Common_vsnprintf(error, 1024, format, args);
|
||||
va_end(args);
|
||||
error[1023] = '\0';
|
||||
|
||||
do
|
||||
{
|
||||
Common_Draw("A fatal error has occurred...");
|
||||
Common_Draw("");
|
||||
Common_Draw("%s", error);
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Update();
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
Common_Exit(0);
|
||||
}
|
||||
|
||||
void Common_Draw(const char *format, ...)
|
||||
{
|
||||
char string[1024];
|
||||
char *stringPtr = string;
|
||||
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
Common_vsnprintf(string, 1024, format, args);
|
||||
va_end(args);
|
||||
string[1023] = '\0';
|
||||
|
||||
unsigned int length = (unsigned int)strlen(string);
|
||||
|
||||
do
|
||||
{
|
||||
bool consumeNewLine = false;
|
||||
unsigned int copyLength = length;
|
||||
|
||||
// Search for new line characters
|
||||
char *newLinePtr = strchr(stringPtr, '\n');
|
||||
if (newLinePtr)
|
||||
{
|
||||
consumeNewLine = true;
|
||||
copyLength = (unsigned int)(newLinePtr - stringPtr);
|
||||
}
|
||||
|
||||
if (copyLength > NUM_COLUMNS)
|
||||
{
|
||||
// Hard wrap by default
|
||||
copyLength = NUM_COLUMNS;
|
||||
|
||||
// Loop for a soft wrap
|
||||
for (int i = NUM_COLUMNS - 1; i >= 0; i--)
|
||||
{
|
||||
if (stringPtr[i] == ' ')
|
||||
{
|
||||
copyLength = i + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Null terminate the sub string temporarily by swapping out a char
|
||||
char tempChar = stringPtr[copyLength];
|
||||
stringPtr[copyLength] = 0;
|
||||
Common_DrawText(stringPtr);
|
||||
stringPtr[copyLength] = tempChar;
|
||||
|
||||
copyLength += (consumeNewLine ? 1 : 0);
|
||||
length -= copyLength;
|
||||
stringPtr += copyLength;
|
||||
} while (length > 0);
|
||||
}
|
||||
|
||||
void Common_Time_GetUs(unsigned int *us)
|
||||
{
|
||||
FMOD_OS_Time_GetUs(us);
|
||||
}
|
||||
|
||||
void Common_Log(const char *format, ...)
|
||||
{
|
||||
char string[1024];
|
||||
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
Common_vsnprintf(string, 1024, format, args);
|
||||
va_end(args);
|
||||
string[1023] = '\0';
|
||||
|
||||
FMOD_OS_Debug_Output(string);
|
||||
}
|
||||
|
||||
void Common_LoadFileMemory(const char *name, void **buff, int *length)
|
||||
{
|
||||
FMOD_OS_FILE *file = NULL;
|
||||
unsigned int len, bytesread;
|
||||
|
||||
FMOD_OS_File_Open(name, 0, &len, &file);
|
||||
void *mem = malloc(len);
|
||||
FMOD_OS_File_Read(file, mem, len, &bytesread);
|
||||
FMOD_OS_File_Close(file);
|
||||
|
||||
*buff = mem;
|
||||
*length = bytesread;
|
||||
}
|
||||
|
||||
void Common_UnloadFileMemory(void *buff)
|
||||
{
|
||||
free(buff);
|
||||
}
|
||||
|
||||
void Common_Sleep(unsigned int ms)
|
||||
{
|
||||
FMOD_OS_Time_Sleep(ms);
|
||||
}
|
||||
|
||||
void Common_File_Open(const char *name, int mode, unsigned int *filesize, void **handle)
|
||||
{
|
||||
FMOD_OS_File_Open(name, mode, filesize, (FMOD_OS_FILE **)handle);
|
||||
}
|
||||
|
||||
void Common_File_Close(void *handle)
|
||||
{
|
||||
FMOD_OS_File_Close((FMOD_OS_FILE *)handle);
|
||||
}
|
||||
|
||||
void Common_File_Read(void *handle, void *buf, unsigned int length, unsigned int *read)
|
||||
{
|
||||
FMOD_OS_File_Read((FMOD_OS_FILE *)handle, buf, length, read);
|
||||
}
|
||||
|
||||
void Common_File_Write(void *handle, void *buf, unsigned int length)
|
||||
{
|
||||
FMOD_OS_File_Write((FMOD_OS_FILE *)handle, buf, length, true);
|
||||
}
|
||||
|
||||
void Common_File_Seek(void *handle, unsigned int offset)
|
||||
{
|
||||
FMOD_OS_File_Seek((FMOD_OS_FILE *)handle, offset);
|
||||
}
|
||||
|
||||
void Common_Mutex_Create(Common_Mutex *mutex)
|
||||
{
|
||||
FMOD_OS_CriticalSection_Create((FMOD_OS_CRITICALSECTION **)&mutex->crit, false);
|
||||
}
|
||||
|
||||
void Common_Mutex_Destroy(Common_Mutex *mutex)
|
||||
{
|
||||
FMOD_OS_CriticalSection_Free((FMOD_OS_CRITICALSECTION *)mutex->crit, false);
|
||||
}
|
||||
|
||||
void Common_Mutex_Enter(Common_Mutex *mutex)
|
||||
{
|
||||
FMOD_OS_CriticalSection_Enter((FMOD_OS_CRITICALSECTION *)mutex->crit);
|
||||
}
|
||||
|
||||
void Common_Mutex_Leave(Common_Mutex *mutex)
|
||||
{
|
||||
FMOD_OS_CriticalSection_Leave((FMOD_OS_CRITICALSECTION *)mutex->crit);
|
||||
}
|
||||
|
||||
void Common_Thread_Create(void (*callback)(void *param), void *param, void **handle)
|
||||
{
|
||||
FMOD_OS_Thread_Create("FMOD Example Thread", callback, param, FMOD_THREAD_AFFINITY_GROUP_A, FMOD_THREAD_PRIORITY_MEDIUM, (16 * 1024), handle);
|
||||
}
|
||||
|
||||
void Common_Thread_Destroy(void *handle)
|
||||
{
|
||||
FMOD_OS_Thread_Destroy(handle);
|
||||
}
|
93
SimpleGame/FMOD/api/studio/examples/common.h
Normal file
93
SimpleGame/FMOD/api/studio/examples/common.h
Normal file
|
@ -0,0 +1,93 @@
|
|||
/*==============================================================================
|
||||
FMOD Example Framework
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
==============================================================================*/
|
||||
#ifndef FMOD_EXAMPLES_COMMON_H
|
||||
#define FMOD_EXAMPLES_COMMON_H
|
||||
|
||||
#include "common_platform.h"
|
||||
#include "fmod.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
|
||||
#define NUM_COLUMNS 50
|
||||
#define NUM_ROWS 25
|
||||
|
||||
#ifndef Common_Sin
|
||||
#define Common_Sin sin
|
||||
#endif
|
||||
|
||||
#ifndef Common_snprintf
|
||||
#define Common_snprintf snprintf
|
||||
#endif
|
||||
|
||||
#ifndef Common_vsnprintf
|
||||
#define Common_vsnprintf vsnprintf
|
||||
#endif
|
||||
|
||||
enum Common_Button
|
||||
{
|
||||
BTN_ACTION1,
|
||||
BTN_ACTION2,
|
||||
BTN_ACTION3,
|
||||
BTN_ACTION4,
|
||||
BTN_LEFT,
|
||||
BTN_RIGHT,
|
||||
BTN_UP,
|
||||
BTN_DOWN,
|
||||
BTN_MORE,
|
||||
BTN_QUIT
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
void *crit;
|
||||
} Common_Mutex;
|
||||
|
||||
/* Cross platform functions (common) */
|
||||
void Common_Format(char *buffer, int bufferSize, const char *formatString...);
|
||||
void Common_Fatal(const char *format, ...);
|
||||
void Common_Draw(const char *format, ...);
|
||||
void Common_Time_GetUs(unsigned int *us);
|
||||
void Common_Log(const char *format, ...);
|
||||
void Common_LoadFileMemory(const char *name, void **buff, int *length);
|
||||
void Common_UnloadFileMemory(void *buff);
|
||||
void Common_Sleep(unsigned int ms);
|
||||
void Common_File_Open(const char *name, int mode, unsigned int *filesize, void **handle); // mode : 0 = read, 1 = write.
|
||||
void Common_File_Close(void *handle);
|
||||
void Common_File_Read(void *handle, void *buf, unsigned int length, unsigned int *read);
|
||||
void Common_File_Write(void *handle, void *buf, unsigned int length);
|
||||
void Common_File_Seek(void *handle, unsigned int offset);
|
||||
void Common_Mutex_Create(Common_Mutex *mutex);
|
||||
void Common_Mutex_Destroy(Common_Mutex *mutex);
|
||||
void Common_Mutex_Enter(Common_Mutex *mutex);
|
||||
void Common_Mutex_Leave(Common_Mutex *mutex);
|
||||
void Common_Thread_Create(void (*callback)(void *param), void *param, void **handle);
|
||||
void Common_Thread_Destroy(void *handle);
|
||||
|
||||
void ERRCHECK_fn(FMOD_RESULT result, const char *file, int line);
|
||||
#define ERRCHECK(_result) ERRCHECK_fn(_result, __FILE__, __LINE__)
|
||||
#define Common_Max(_a, _b) ((_a) > (_b) ? (_a) : (_b))
|
||||
#define Common_Min(_a, _b) ((_a) < (_b) ? (_a) : (_b))
|
||||
#define Common_Clamp(_min, _val, _max) ((_val) < (_min) ? (_min) : ((_val) > (_max) ? (_max) : (_val)))
|
||||
|
||||
/* Functions with platform specific implementation (common_platform) */
|
||||
void Common_Init(void **extraDriverData);
|
||||
void Common_Close();
|
||||
void Common_Update();
|
||||
void Common_Exit(int returnCode);
|
||||
void Common_DrawText(const char *text);
|
||||
bool Common_BtnPress(Common_Button btn);
|
||||
bool Common_BtnDown(Common_Button btn);
|
||||
const char *Common_BtnStr(Common_Button btn);
|
||||
const char *Common_MediaPath(const char *fileName);
|
||||
const char *Common_WritePath(const char *fileName);
|
||||
|
||||
|
||||
#endif
|
306
SimpleGame/FMOD/api/studio/examples/common_platform.cpp
Normal file
306
SimpleGame/FMOD/api/studio/examples/common_platform.cpp
Normal file
|
@ -0,0 +1,306 @@
|
|||
/*==============================================================================
|
||||
FMOD Example Framework
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
==============================================================================*/
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
|
||||
#include "common.h"
|
||||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <Windows.h>
|
||||
#include <Objbase.h>
|
||||
#include <vector>
|
||||
|
||||
static HWND gWindow = nullptr;
|
||||
static int gScreenWidth = 0;
|
||||
static int gScreenHeight = 0;
|
||||
static unsigned int gPressedButtons = 0;
|
||||
static unsigned int gDownButtons = 0;
|
||||
static unsigned int gLastDownButtons = 0;
|
||||
static char gWriteBuffer[(NUM_COLUMNS+1) * NUM_ROWS] = {0};
|
||||
static char gDisplayBuffer[(NUM_COLUMNS+1) * NUM_ROWS] = {0};
|
||||
static unsigned int gYPos = 0;
|
||||
static bool gQuit = false;
|
||||
static std::vector<char *> gPathList;
|
||||
|
||||
bool Common_Private_Test;
|
||||
int Common_Private_Argc;
|
||||
char** Common_Private_Argv;
|
||||
void (*Common_Private_Update)(unsigned int*);
|
||||
void (*Common_Private_Print)(const char*);
|
||||
void (*Common_Private_Close)();
|
||||
|
||||
void Common_Init(void** /*extraDriverData*/)
|
||||
{
|
||||
CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
|
||||
}
|
||||
|
||||
void Common_Close()
|
||||
{
|
||||
CoUninitialize();
|
||||
|
||||
for (std::vector<char *>::iterator item = gPathList.begin(); item != gPathList.end(); ++item)
|
||||
{
|
||||
free(*item);
|
||||
}
|
||||
if (Common_Private_Close)
|
||||
{
|
||||
Common_Private_Close();
|
||||
}
|
||||
}
|
||||
|
||||
static unsigned int translateButton(unsigned int button)
|
||||
{
|
||||
switch (button)
|
||||
{
|
||||
case '1': return (1 << BTN_ACTION1);
|
||||
case '2': return (1 << BTN_ACTION2);
|
||||
case '3': return (1 << BTN_ACTION3);
|
||||
case '4': return (1 << BTN_ACTION4);
|
||||
case VK_LEFT: return (1 << BTN_LEFT);
|
||||
case VK_RIGHT: return (1 << BTN_RIGHT);
|
||||
case VK_UP: return (1 << BTN_UP);
|
||||
case VK_DOWN: return (1 << BTN_DOWN);
|
||||
case VK_SPACE: return (1 << BTN_MORE);
|
||||
case VK_ESCAPE: return (1 << BTN_QUIT);
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Common_Update()
|
||||
{
|
||||
MSG msg = { };
|
||||
while (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
|
||||
gPressedButtons = (gLastDownButtons ^ gDownButtons) & gDownButtons;
|
||||
gPressedButtons |= (gQuit ? (1 << BTN_QUIT) : 0);
|
||||
gLastDownButtons = gDownButtons;
|
||||
|
||||
memcpy(gDisplayBuffer, gWriteBuffer, sizeof(gWriteBuffer));
|
||||
InvalidateRect(gWindow, nullptr, FALSE);
|
||||
|
||||
gYPos = 0;
|
||||
memset(gWriteBuffer, ' ', sizeof(gWriteBuffer));
|
||||
for (int i = 0; i < NUM_ROWS; i++)
|
||||
{
|
||||
gWriteBuffer[(i * (NUM_COLUMNS + 1)) + NUM_COLUMNS] = '\n';
|
||||
}
|
||||
|
||||
if (Common_Private_Update)
|
||||
{
|
||||
Common_Private_Update(&gPressedButtons);
|
||||
}
|
||||
}
|
||||
|
||||
void Common_Exit(int returnCode)
|
||||
{
|
||||
exit(returnCode);
|
||||
}
|
||||
|
||||
void Common_DrawText(const char *text)
|
||||
{
|
||||
if (gYPos < NUM_ROWS)
|
||||
{
|
||||
char tempBuffer[NUM_COLUMNS + 1];
|
||||
Common_Format(tempBuffer, sizeof(tempBuffer), "%s", text);
|
||||
memcpy(&gWriteBuffer[gYPos * (NUM_COLUMNS + 1)], tempBuffer, strlen(tempBuffer));
|
||||
gYPos++;
|
||||
}
|
||||
}
|
||||
|
||||
bool Common_BtnPress(Common_Button btn)
|
||||
{
|
||||
return ((gPressedButtons & (1 << btn)) != 0);
|
||||
}
|
||||
|
||||
bool Common_BtnDown(Common_Button btn)
|
||||
{
|
||||
return ((gDownButtons & (1 << btn)) != 0);
|
||||
}
|
||||
|
||||
const char *Common_BtnStr(Common_Button btn)
|
||||
{
|
||||
switch (btn)
|
||||
{
|
||||
case BTN_ACTION1: return "1";
|
||||
case BTN_ACTION2: return "2";
|
||||
case BTN_ACTION3: return "3";
|
||||
case BTN_ACTION4: return "4";
|
||||
case BTN_LEFT: return "Left";
|
||||
case BTN_RIGHT: return "Right";
|
||||
case BTN_UP: return "Up";
|
||||
case BTN_DOWN: return "Down";
|
||||
case BTN_MORE: return "Space";
|
||||
case BTN_QUIT: return "Escape";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
const char *Common_MediaPath(const char *fileName)
|
||||
{
|
||||
char *filePath = (char *)calloc(256, sizeof(char));
|
||||
|
||||
static const char* pathPrefix = nullptr;
|
||||
if (!pathPrefix)
|
||||
{
|
||||
const char *emptyPrefix = "";
|
||||
const char *mediaPrefix = "../media/";
|
||||
FILE *file = fopen(fileName, "r");
|
||||
if (file)
|
||||
{
|
||||
fclose(file);
|
||||
pathPrefix = emptyPrefix;
|
||||
}
|
||||
else
|
||||
{
|
||||
pathPrefix = mediaPrefix;
|
||||
}
|
||||
}
|
||||
|
||||
strcat(filePath, pathPrefix);
|
||||
strcat(filePath, fileName);
|
||||
|
||||
gPathList.push_back(filePath);
|
||||
|
||||
return filePath;
|
||||
}
|
||||
|
||||
const char *Common_WritePath(const char *fileName)
|
||||
{
|
||||
return Common_MediaPath(fileName);
|
||||
}
|
||||
|
||||
void Common_TTY(const char *format, ...)
|
||||
{
|
||||
char string[1024] = {0};
|
||||
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
Common_vsnprintf(string, 1023, format, args);
|
||||
va_end(args);
|
||||
|
||||
if (Common_Private_Print)
|
||||
{
|
||||
(*Common_Private_Print)(string);
|
||||
}
|
||||
else
|
||||
{
|
||||
OutputDebugStringA(string);
|
||||
}
|
||||
}
|
||||
|
||||
HFONT CreateDisplayFont()
|
||||
{
|
||||
return CreateFontA(22, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_OUTLINE_PRECIS,
|
||||
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH, 0);
|
||||
}
|
||||
|
||||
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (message == WM_PAINT)
|
||||
{
|
||||
PAINTSTRUCT ps;
|
||||
HDC hdc = BeginPaint(hWnd, &ps);
|
||||
HDC hdcBack = CreateCompatibleDC(hdc);
|
||||
|
||||
HBITMAP hbmBack = CreateCompatibleBitmap(hdc, gScreenWidth, gScreenHeight);
|
||||
HBITMAP hbmOld = (HBITMAP)SelectObject(hdcBack, hbmBack);
|
||||
|
||||
HFONT hfnt = CreateDisplayFont();
|
||||
HFONT hfntOld = (HFONT)SelectObject(hdcBack, hfnt);
|
||||
|
||||
SetBkColor(hdcBack, RGB(0x0, 0x0, 0x0));
|
||||
SetTextColor(hdcBack, RGB(0xFF, 0xFF, 0xFF));
|
||||
DrawTextA(hdcBack, gDisplayBuffer, -1, &ps.rcPaint, 0);
|
||||
BitBlt(hdc, 0, 0, gScreenWidth, gScreenHeight, hdcBack, 0, 0, SRCCOPY);
|
||||
|
||||
SelectObject(hdcBack, hfntOld);
|
||||
DeleteObject(hfnt);
|
||||
|
||||
SelectObject(hdcBack, hbmOld);
|
||||
DeleteObject(hbmBack);
|
||||
|
||||
DeleteDC(hdcBack);
|
||||
EndPaint(hWnd, &ps);
|
||||
}
|
||||
else if (message == WM_DESTROY)
|
||||
{
|
||||
gQuit = true;
|
||||
}
|
||||
else if (message == WM_GETMINMAXINFO)
|
||||
{
|
||||
if (gScreenWidth == 0)
|
||||
{
|
||||
HDC hdc = GetDC(hWnd);
|
||||
|
||||
HFONT hfnt = CreateDisplayFont();
|
||||
HFONT hfntOld = (HFONT)SelectObject(hdc, hfnt);
|
||||
|
||||
TEXTMETRICA metrics = { };
|
||||
GetTextMetricsA(hdc, &metrics);
|
||||
|
||||
SelectObject(hdc, hfntOld);
|
||||
DeleteObject(hfnt);
|
||||
|
||||
ReleaseDC(hWnd, hdc);
|
||||
|
||||
RECT rec = { };
|
||||
rec.right = metrics.tmAveCharWidth * NUM_COLUMNS;
|
||||
rec.bottom = metrics.tmHeight * NUM_ROWS;
|
||||
|
||||
BOOL success = AdjustWindowRect(&rec, WS_CAPTION | WS_SYSMENU, FALSE);
|
||||
assert(success);
|
||||
|
||||
gScreenWidth = rec.right - rec.left;
|
||||
gScreenHeight = rec.bottom - rec.top;
|
||||
}
|
||||
|
||||
LPMINMAXINFO lpMMI = (LPMINMAXINFO)lParam;
|
||||
lpMMI->ptMinTrackSize.x = gScreenWidth;
|
||||
lpMMI->ptMinTrackSize.y = gScreenHeight;
|
||||
lpMMI->ptMaxTrackSize = lpMMI->ptMinTrackSize;
|
||||
}
|
||||
else if (message == WM_KEYDOWN)
|
||||
{
|
||||
gDownButtons |= translateButton((unsigned int)wParam);
|
||||
}
|
||||
else if (message == WM_KEYUP)
|
||||
{
|
||||
gDownButtons &= ~translateButton((unsigned int)wParam);
|
||||
}
|
||||
else
|
||||
{
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, PSTR /*pCmdLine*/, int nCmdShow)
|
||||
{
|
||||
const char CLASS_NAME[] = "FMOD Example Window Class";
|
||||
|
||||
Common_Private_Argc = __argc;
|
||||
Common_Private_Argv = __argv;
|
||||
|
||||
WNDCLASSA wc = { };
|
||||
wc.style = CS_HREDRAW | CS_VREDRAW;
|
||||
wc.lpfnWndProc = WndProc;
|
||||
wc.hInstance = hInstance;
|
||||
wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
|
||||
wc.lpszClassName = CLASS_NAME;
|
||||
|
||||
ATOM atom = RegisterClassA(&wc);
|
||||
assert(atom);
|
||||
|
||||
gWindow = CreateWindowA(CLASS_NAME, "FMOD Example", WS_CAPTION | WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, nullptr, nullptr, hInstance, nullptr);
|
||||
assert(gWindow);
|
||||
|
||||
ShowWindow(gWindow, nCmdShow);
|
||||
|
||||
return FMOD_Main();
|
||||
}
|
16
SimpleGame/FMOD/api/studio/examples/common_platform.h
Normal file
16
SimpleGame/FMOD/api/studio/examples/common_platform.h
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*==============================================================================
|
||||
FMOD Example Framework
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
==============================================================================*/
|
||||
#include <windows.h>
|
||||
|
||||
int FMOD_Main();
|
||||
|
||||
#define COMMON_PLATFORM_SUPPORTS_FOPEN
|
||||
|
||||
#define Common_snprintf _snprintf
|
||||
#define Common_vsnprintf _vsnprintf
|
||||
|
||||
void Common_TTY(const char *format, ...);
|
||||
|
||||
|
97
SimpleGame/FMOD/api/studio/examples/event_parameter.cpp
Normal file
97
SimpleGame/FMOD/api/studio/examples/event_parameter.cpp
Normal file
|
@ -0,0 +1,97 @@
|
|||
/*==============================================================================
|
||||
Event Parameter Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
|
||||
This example demonstrates how to control event playback using game parameters.
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
|
||||
int FMOD_Main()
|
||||
{
|
||||
void *extraDriverData = NULL;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System* system = NULL;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
|
||||
FMOD::Studio::Bank* masterBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank) );
|
||||
|
||||
FMOD::Studio::Bank* stringsBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.strings.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &stringsBank) );
|
||||
|
||||
FMOD::Studio::Bank* sfxBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("SFX.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &sfxBank) );
|
||||
|
||||
FMOD::Studio::EventDescription* eventDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/Character/Player Footsteps", &eventDescription) );
|
||||
|
||||
// Find the parameter once and then set by handle
|
||||
// Or we can just find by name every time but by handle is more efficient if we are setting lots of parameters
|
||||
FMOD_STUDIO_PARAMETER_DESCRIPTION paramDesc;
|
||||
ERRCHECK( eventDescription->getParameterDescriptionByName("Surface", ¶mDesc) );
|
||||
FMOD_STUDIO_PARAMETER_ID surfaceID = paramDesc.id;
|
||||
|
||||
FMOD::Studio::EventInstance* eventInstance = NULL;
|
||||
ERRCHECK( eventDescription->createInstance(&eventInstance) );
|
||||
|
||||
// Make the event audible to start with
|
||||
float surfaceParameterValue = 1.0f;
|
||||
ERRCHECK( eventInstance->setParameterByID(surfaceID, surfaceParameterValue) );
|
||||
|
||||
do
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnPress(BTN_MORE))
|
||||
{
|
||||
ERRCHECK( eventInstance->start() );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION1))
|
||||
{
|
||||
surfaceParameterValue = Common_Max(paramDesc.minimum, surfaceParameterValue - 1.0f);
|
||||
ERRCHECK( eventInstance->setParameterByID(surfaceID, surfaceParameterValue) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION2))
|
||||
{
|
||||
surfaceParameterValue = Common_Min(surfaceParameterValue + 1.0f, paramDesc.maximum);
|
||||
ERRCHECK( eventInstance->setParameterByID(surfaceID, surfaceParameterValue) );
|
||||
}
|
||||
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
float userValue = 0.0f;
|
||||
float finalValue = 0.0f;
|
||||
ERRCHECK( eventInstance->getParameterByID(surfaceID, &userValue, &finalValue) );
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Event Parameter Example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("");
|
||||
Common_Draw("Surface Parameter = (user: %1.1f, final: %1.1f)", userValue, finalValue);
|
||||
Common_Draw("");
|
||||
Common_Draw("Surface Parameter:");
|
||||
Common_Draw("Press %s to play event", Common_BtnStr(BTN_MORE));
|
||||
Common_Draw("Press %s to decrease value", Common_BtnStr(BTN_ACTION1));
|
||||
Common_Draw("Press %s to increase value", Common_BtnStr(BTN_ACTION2));
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
427
SimpleGame/FMOD/api/studio/examples/load_banks.cpp
Normal file
427
SimpleGame/FMOD/api/studio/examples/load_banks.cpp
Normal file
|
@ -0,0 +1,427 @@
|
|||
/*==============================================================================
|
||||
Load Banks Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
|
||||
This example demonstrates loading banks via file, memory, and user callbacks.
|
||||
|
||||
The banks that are loaded are:
|
||||
|
||||
* SFX.bank (file)
|
||||
* Music.bank (memory)
|
||||
* Vehicles.bank (memory-point)
|
||||
* VO.bank (custom)
|
||||
|
||||
The loading and unloading is asynchronous, and we displays the current
|
||||
state of each bank as loading is occuring.
|
||||
|
||||
### See Also ###
|
||||
* Studio::System::loadBankFile
|
||||
* Studio::System::loadBankMemory
|
||||
* Studio::System::loadBankCustom
|
||||
* Studio::Bank::loadSampleData
|
||||
* Studio::Bank::getLoadingState
|
||||
* Studio::Bank::getSampleLoadingState
|
||||
* Studio::Bank::getUserData
|
||||
* Studio::Bank::setUserData
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
#include <stdio.h>
|
||||
|
||||
//
|
||||
// Some platforms don't support cross platform fopen. Or you can disable this
|
||||
// to see how the sample deals with bank load failures.
|
||||
//
|
||||
#ifdef COMMON_PLATFORM_SUPPORTS_FOPEN
|
||||
#define ENABLE_FILE_OPEN
|
||||
#endif
|
||||
|
||||
//
|
||||
// Load method as enum for our sample code
|
||||
//
|
||||
enum LoadBankMethod
|
||||
{
|
||||
LoadBank_File,
|
||||
LoadBank_Memory,
|
||||
LoadBank_MemoryPoint,
|
||||
LoadBank_Custom
|
||||
};
|
||||
static const char* BANK_LOAD_METHOD_NAMES[] =
|
||||
{
|
||||
"File",
|
||||
"Memory",
|
||||
"Memory-Point",
|
||||
"Custom"
|
||||
};
|
||||
|
||||
//
|
||||
// Sanity check for loading files
|
||||
//
|
||||
#ifdef ENABLE_FILE_OPEN
|
||||
static const size_t MAX_FILE_LENGTH = 2*1024*1024*1024ULL;
|
||||
#endif
|
||||
|
||||
//
|
||||
// Custom callbacks that just wrap fopen
|
||||
//
|
||||
FMOD_RESULT F_CALL customFileOpen(const char *name, unsigned int *filesize, void **handle, void *userdata)
|
||||
{
|
||||
#ifdef ENABLE_FILE_OPEN
|
||||
// We pass the filename into our callbacks via userdata in the custom info struct
|
||||
const char* filename = (const char*)userdata;
|
||||
FILE* file = fopen(filename, "rb");
|
||||
if (!file)
|
||||
{
|
||||
return FMOD_ERR_FILE_NOTFOUND;
|
||||
}
|
||||
fseek(file, 0, SEEK_END);
|
||||
size_t length = ftell(file);
|
||||
fseek(file, 0, SEEK_SET);
|
||||
if (length >= MAX_FILE_LENGTH)
|
||||
{
|
||||
fclose(file);
|
||||
return FMOD_ERR_FILE_BAD;
|
||||
}
|
||||
*filesize = (unsigned int)length;
|
||||
*handle = file;
|
||||
return FMOD_OK;
|
||||
#else
|
||||
return FMOD_ERR_FILE_NOTFOUND;
|
||||
#endif
|
||||
}
|
||||
|
||||
FMOD_RESULT F_CALL customFileClose(void *handle, void *userdata)
|
||||
{
|
||||
#ifdef ENABLE_FILE_OPEN
|
||||
FILE* file = (FILE*)handle;
|
||||
fclose(file);
|
||||
#endif
|
||||
return FMOD_OK;
|
||||
}
|
||||
|
||||
FMOD_RESULT F_CALL customFileRead(void *handle, void *buffer, unsigned int sizebytes, unsigned int *bytesread, void *userdata)
|
||||
{
|
||||
*bytesread = 0;
|
||||
#ifdef ENABLE_FILE_OPEN
|
||||
FILE* file = (FILE*)handle;
|
||||
size_t read = fread(buffer, 1, sizebytes, file);
|
||||
*bytesread = (unsigned int)read;
|
||||
// If the request is larger than the bytes left in the file, then we must return EOF
|
||||
if (read < sizebytes)
|
||||
{
|
||||
return FMOD_ERR_FILE_EOF;
|
||||
}
|
||||
#endif
|
||||
return FMOD_OK;
|
||||
}
|
||||
|
||||
FMOD_RESULT F_CALL customFileSeek(void *handle, unsigned int pos, void *userdata)
|
||||
{
|
||||
#ifdef ENABLE_FILE_OPEN
|
||||
FILE* file = (FILE*)handle;
|
||||
fseek(file, pos, SEEK_SET);
|
||||
#endif
|
||||
return FMOD_OK;
|
||||
}
|
||||
|
||||
//
|
||||
// Helper function that loads a file into aligned memory buffer
|
||||
//
|
||||
FMOD_RESULT loadFile(const char* filename, char** memoryBase, char** memoryPtr, int* memoryLength)
|
||||
{
|
||||
// If we don't support fopen then just return a single invalid byte for our file
|
||||
size_t length = 1;
|
||||
|
||||
#ifdef ENABLE_FILE_OPEN
|
||||
FILE* file = fopen(filename, "rb");
|
||||
if (!file)
|
||||
{
|
||||
return FMOD_ERR_FILE_NOTFOUND;
|
||||
}
|
||||
fseek(file, 0, SEEK_END);
|
||||
length = ftell(file);
|
||||
fseek(file, 0, SEEK_SET);
|
||||
if (length >= MAX_FILE_LENGTH)
|
||||
{
|
||||
fclose(file);
|
||||
return FMOD_ERR_FILE_BAD;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Load into a pointer aligned to FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT
|
||||
char* membase = reinterpret_cast<char*>(malloc(length + FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT));
|
||||
char* memptr = (char*)(((size_t)membase + (FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT-1)) & ~(FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT-1));
|
||||
|
||||
#ifdef ENABLE_FILE_OPEN
|
||||
size_t bytesRead = fread(memptr, 1, length, file);
|
||||
fclose(file);
|
||||
if (bytesRead != length)
|
||||
{
|
||||
free(membase);
|
||||
return FMOD_ERR_FILE_BAD;
|
||||
}
|
||||
#endif
|
||||
|
||||
*memoryBase = membase;
|
||||
*memoryPtr = memptr;
|
||||
*memoryLength = (int)length;
|
||||
return FMOD_OK;
|
||||
}
|
||||
|
||||
//
|
||||
// Helper function that loads a bank in using the given method
|
||||
//
|
||||
FMOD_RESULT loadBank(FMOD::Studio::System* system, LoadBankMethod method, const char* filename, FMOD::Studio::Bank** bank)
|
||||
{
|
||||
if (method == LoadBank_File)
|
||||
{
|
||||
return system->loadBankFile(filename, FMOD_STUDIO_LOAD_BANK_NONBLOCKING, bank);
|
||||
}
|
||||
else if (method == LoadBank_Memory || method == LoadBank_MemoryPoint)
|
||||
{
|
||||
char* memoryBase;
|
||||
char* memoryPtr;
|
||||
int memoryLength;
|
||||
FMOD_RESULT result = loadFile(filename, &memoryBase, &memoryPtr, &memoryLength);
|
||||
if (result != FMOD_OK)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
FMOD_STUDIO_LOAD_MEMORY_MODE memoryMode = (method == LoadBank_MemoryPoint ? FMOD_STUDIO_LOAD_MEMORY_POINT : FMOD_STUDIO_LOAD_MEMORY);
|
||||
result = system->loadBankMemory(memoryPtr, memoryLength, memoryMode, FMOD_STUDIO_LOAD_BANK_NONBLOCKING, bank);
|
||||
if (result != FMOD_OK)
|
||||
{
|
||||
free(memoryBase);
|
||||
return result;
|
||||
}
|
||||
|
||||
if (method == LoadBank_MemoryPoint)
|
||||
{
|
||||
// Keep memory around until bank unload completes
|
||||
result = (*bank)->setUserData(memoryBase);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Don't need memory any more
|
||||
free(memoryBase);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set up custom callback
|
||||
FMOD_STUDIO_BANK_INFO info;
|
||||
memset(&info, 0, sizeof(info));
|
||||
info.size = sizeof(info);
|
||||
info.opencallback = customFileOpen;
|
||||
info.closecallback = customFileClose;
|
||||
info.readcallback = customFileRead;
|
||||
info.seekcallback = customFileSeek;
|
||||
info.userdata = (void*)filename;
|
||||
|
||||
return system->loadBankCustom(&info, FMOD_STUDIO_LOAD_BANK_NONBLOCKING, bank);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Helper function to return state as a string
|
||||
//
|
||||
const char* getLoadingStateString(FMOD_STUDIO_LOADING_STATE state, FMOD_RESULT loadResult)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case FMOD_STUDIO_LOADING_STATE_UNLOADING:
|
||||
return "unloading ";
|
||||
case FMOD_STUDIO_LOADING_STATE_UNLOADED:
|
||||
return "unloaded ";
|
||||
case FMOD_STUDIO_LOADING_STATE_LOADING:
|
||||
return "loading ";
|
||||
case FMOD_STUDIO_LOADING_STATE_LOADED:
|
||||
return "loaded ";
|
||||
case FMOD_STUDIO_LOADING_STATE_ERROR:
|
||||
// Show some common errors
|
||||
if (loadResult == FMOD_ERR_NOTREADY)
|
||||
{
|
||||
return "error (rdy)";
|
||||
}
|
||||
else if (loadResult == FMOD_ERR_FILE_BAD)
|
||||
{
|
||||
return "error (bad)";
|
||||
}
|
||||
else if (loadResult == FMOD_ERR_FILE_NOTFOUND)
|
||||
{
|
||||
return "error (mis)";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "error ";
|
||||
}
|
||||
default:
|
||||
return "???";
|
||||
};
|
||||
}
|
||||
|
||||
//
|
||||
// Helper function to return handle validity as a string.
|
||||
// Just because the bank handle is valid doesn't mean the bank load
|
||||
// has completed successfully!
|
||||
//
|
||||
const char* getHandleStateString(FMOD::Studio::Bank* bank)
|
||||
{
|
||||
if (bank == NULL)
|
||||
{
|
||||
return "null ";
|
||||
}
|
||||
else if (!bank->isValid())
|
||||
{
|
||||
return "invalid";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "valid ";
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Callback to free memory-point allocation when it is safe to do so
|
||||
//
|
||||
FMOD_RESULT F_CALL studioCallback(FMOD_STUDIO_SYSTEM *system, FMOD_STUDIO_SYSTEM_CALLBACK_TYPE type, void *commanddata, void *userdata)
|
||||
{
|
||||
if (type == FMOD_STUDIO_SYSTEM_CALLBACK_BANK_UNLOAD)
|
||||
{
|
||||
// For memory-point, it is now safe to free our memory
|
||||
FMOD::Studio::Bank* bank = (FMOD::Studio::Bank*)commanddata;
|
||||
void* memory;
|
||||
ERRCHECK(bank->getUserData(&memory));
|
||||
if (memory)
|
||||
{
|
||||
free(memory);
|
||||
}
|
||||
}
|
||||
return FMOD_OK;
|
||||
}
|
||||
|
||||
//
|
||||
// Main example code
|
||||
//
|
||||
int FMOD_Main()
|
||||
{
|
||||
void *extraDriverData = 0;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System* system;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
ERRCHECK( system->setCallback(studioCallback, FMOD_STUDIO_SYSTEM_CALLBACK_BANK_UNLOAD) );
|
||||
|
||||
static const int BANK_COUNT = 4;
|
||||
static const char* BANK_NAMES[] =
|
||||
{
|
||||
"SFX.bank",
|
||||
"Music.bank",
|
||||
"Vehicles.bank",
|
||||
"VO.bank",
|
||||
};
|
||||
|
||||
FMOD::Studio::Bank* banks[BANK_COUNT] = {0};
|
||||
bool wantBankLoaded[BANK_COUNT] = {0};
|
||||
bool wantSampleLoad = true;
|
||||
|
||||
do
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
for (int i=0; i<BANK_COUNT; ++i)
|
||||
{
|
||||
if (Common_BtnPress((Common_Button)(BTN_ACTION1 + i)))
|
||||
{
|
||||
// Toggle bank load, or bank unload
|
||||
if (!wantBankLoaded[i])
|
||||
{
|
||||
ERRCHECK(loadBank(system, (LoadBankMethod)i, Common_MediaPath(BANK_NAMES[i]), &banks[i]));
|
||||
wantBankLoaded[i] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ERRCHECK(banks[i]->unload());
|
||||
wantBankLoaded[i] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Common_BtnPress(BTN_MORE))
|
||||
{
|
||||
wantSampleLoad = !wantSampleLoad;
|
||||
}
|
||||
|
||||
// Load bank sample data automatically if that mode is enabled
|
||||
// Also query current status for text display
|
||||
FMOD_RESULT loadStateResult[BANK_COUNT] = { FMOD_OK, FMOD_OK, FMOD_OK, FMOD_OK, };
|
||||
FMOD_RESULT sampleStateResult[BANK_COUNT] = { FMOD_OK, FMOD_OK, FMOD_OK, FMOD_OK, };
|
||||
FMOD_STUDIO_LOADING_STATE bankLoadState[BANK_COUNT] = { FMOD_STUDIO_LOADING_STATE_UNLOADED, FMOD_STUDIO_LOADING_STATE_UNLOADED, FMOD_STUDIO_LOADING_STATE_UNLOADED, FMOD_STUDIO_LOADING_STATE_UNLOADED };
|
||||
FMOD_STUDIO_LOADING_STATE sampleLoadState[BANK_COUNT] = { FMOD_STUDIO_LOADING_STATE_UNLOADED, FMOD_STUDIO_LOADING_STATE_UNLOADED, FMOD_STUDIO_LOADING_STATE_UNLOADED, FMOD_STUDIO_LOADING_STATE_UNLOADED };
|
||||
for (int i=0; i<BANK_COUNT; ++i)
|
||||
{
|
||||
if (banks[i] && banks[i]->isValid())
|
||||
{
|
||||
loadStateResult[i] = banks[i]->getLoadingState(&bankLoadState[i]);
|
||||
}
|
||||
if (bankLoadState[i] == FMOD_STUDIO_LOADING_STATE_LOADED)
|
||||
{
|
||||
sampleStateResult[i] = banks[i]->getSampleLoadingState(&sampleLoadState[i]);
|
||||
if (wantSampleLoad && sampleLoadState[i] == FMOD_STUDIO_LOADING_STATE_UNLOADED)
|
||||
{
|
||||
ERRCHECK(banks[i]->loadSampleData());
|
||||
}
|
||||
else if (!wantSampleLoad && (sampleLoadState[i] == FMOD_STUDIO_LOADING_STATE_LOADING || sampleLoadState[i] == FMOD_STUDIO_LOADING_STATE_LOADED))
|
||||
{
|
||||
ERRCHECK(banks[i]->unloadSampleData());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Bank Load Example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Name Handle Bank-State Sample-State");
|
||||
|
||||
for (int i=0; i<BANK_COUNT; ++i)
|
||||
{
|
||||
char namePad[64] = {0};
|
||||
int bankNameLen = strlen(BANK_NAMES[i]);
|
||||
memset(namePad, ' ', 15);
|
||||
strncpy(namePad, BANK_NAMES[i], bankNameLen);
|
||||
|
||||
Common_Draw("%s %s %s %s",
|
||||
namePad,
|
||||
getHandleStateString(banks[i]),
|
||||
getLoadingStateString(bankLoadState[i], loadStateResult[i]),
|
||||
getLoadingStateString(sampleLoadState[i], sampleStateResult[i]));
|
||||
}
|
||||
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to load bank 1 via %s",Common_BtnStr(BTN_ACTION1), BANK_LOAD_METHOD_NAMES[0]);
|
||||
Common_Draw("Press %s to load bank 2 via %s",Common_BtnStr(BTN_ACTION2), BANK_LOAD_METHOD_NAMES[1]);
|
||||
Common_Draw("Press %s to load bank 3 via %s",Common_BtnStr(BTN_ACTION3), BANK_LOAD_METHOD_NAMES[2]);
|
||||
Common_Draw("Press %s to load bank 4 via %s",Common_BtnStr(BTN_ACTION4), BANK_LOAD_METHOD_NAMES[3]);
|
||||
Common_Draw("Press %s to toggle sample data", Common_BtnStr(BTN_MORE));
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
ERRCHECK( system->unloadAll() );
|
||||
ERRCHECK( system->flushCommands() );
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
Binary file not shown.
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/640166main_MECO.ogg
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/640166main_MECO.ogg
Normal file
Binary file not shown.
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/Dialogue_CN.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/Dialogue_CN.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/Dialogue_EN.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/Dialogue_EN.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/Dialogue_JP.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/Dialogue_JP.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/Master.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/Master.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/Master.strings.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/Master.strings.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/Music.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/Music.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/SFX.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/SFX.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/VO.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/VO.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/Vehicles.bank
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/Vehicles.bank
Normal file
Binary file not shown.
BIN
SimpleGame/FMOD/api/studio/examples/media/programmer_sound.fsb
Normal file
BIN
SimpleGame/FMOD/api/studio/examples/media/programmer_sound.fsb
Normal file
Binary file not shown.
175
SimpleGame/FMOD/api/studio/examples/music_callbacks.cpp
Normal file
175
SimpleGame/FMOD/api/studio/examples/music_callbacks.cpp
Normal file
|
@ -0,0 +1,175 @@
|
|||
/*==============================================================================
|
||||
Music Callback Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
|
||||
This example demonstrates beat and named marker callbacks when playing music.
|
||||
|
||||
### See Also ###
|
||||
* Studio::EventInstance::setCallback
|
||||
* FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER
|
||||
* FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_BEAT
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
static const int MAX_ENTRIES = 6;
|
||||
|
||||
struct CallbackInfo
|
||||
{
|
||||
Common_Mutex mMutex;
|
||||
std::vector<std::string> mEntries;
|
||||
};
|
||||
|
||||
FMOD_RESULT F_CALL markerCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE* event, void *parameters);
|
||||
|
||||
int FMOD_Main()
|
||||
{
|
||||
void *extraDriverData = NULL;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System* system = NULL;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
|
||||
// The example Studio project is authored for 5.1 sound, so set up the system output mode to match
|
||||
FMOD::System* coreSystem = NULL;
|
||||
ERRCHECK( system->getCoreSystem(&coreSystem) );
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0) );
|
||||
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
|
||||
FMOD::Studio::Bank* masterBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank) );
|
||||
|
||||
FMOD::Studio::Bank* stringsBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.strings.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &stringsBank) );
|
||||
|
||||
FMOD::Studio::Bank* musicBank = NULL;
|
||||
FMOD_RESULT result = system->loadBankFile(Common_MediaPath("Music.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &musicBank);
|
||||
if (result != FMOD_OK)
|
||||
{
|
||||
// Music bank is not exported by default, you will have to export from the tool first
|
||||
Common_Fatal("Please export music.bank from the Studio tool to run this example");
|
||||
}
|
||||
|
||||
FMOD::Studio::EventDescription* eventDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/Music/Level 01", &eventDescription) );
|
||||
|
||||
FMOD::Studio::EventInstance* eventInstance = NULL;
|
||||
ERRCHECK( eventDescription->createInstance(&eventInstance) );
|
||||
|
||||
CallbackInfo info;
|
||||
Common_Mutex_Create(&info.mMutex);
|
||||
|
||||
ERRCHECK( eventInstance->setUserData(&info) );
|
||||
ERRCHECK( eventInstance->setCallback(markerCallback,
|
||||
FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER | FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_BEAT |
|
||||
FMOD_STUDIO_EVENT_CALLBACK_SOUND_PLAYED | FMOD_STUDIO_EVENT_CALLBACK_SOUND_STOPPED) );
|
||||
ERRCHECK( eventInstance->start() );
|
||||
|
||||
FMOD_STUDIO_PARAMETER_DESCRIPTION parameterDescription;
|
||||
ERRCHECK( eventDescription->getParameterDescriptionByName("Progression", ¶meterDescription) );
|
||||
|
||||
FMOD_STUDIO_PARAMETER_ID progressionID = parameterDescription.id;
|
||||
|
||||
float progression = 0.0f;
|
||||
ERRCHECK(eventInstance->setParameterByID(progressionID, progression));
|
||||
|
||||
do
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnPress(BTN_MORE))
|
||||
{
|
||||
progression = (progression == 0.0f ? 1.0f : 0.0f);
|
||||
ERRCHECK(eventInstance->setParameterByID(progressionID, progression));
|
||||
}
|
||||
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
int position;
|
||||
ERRCHECK( eventInstance->getTimelinePosition(&position) );
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Music Callback Example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("");
|
||||
Common_Draw("Timeline = %d", position);
|
||||
Common_Draw("");
|
||||
// Obtain lock and look at our strings
|
||||
Common_Mutex_Enter(&info.mMutex);
|
||||
for (size_t i=0; i<info.mEntries.size(); ++i)
|
||||
{
|
||||
Common_Draw(" %s\n", info.mEntries[i].c_str());
|
||||
}
|
||||
Common_Mutex_Leave(&info.mMutex);
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to toggle progression (currently %g)", Common_BtnStr(BTN_MORE), progression);
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Mutex_Destroy(&info.mMutex);
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Obtain a lock and add a string entry to our list
|
||||
void markerAddString(CallbackInfo* info, const char* format, ...)
|
||||
{
|
||||
char buf[256];
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
Common_vsnprintf(buf, 256, format, args);
|
||||
va_end(args);
|
||||
buf[255] = '\0';
|
||||
Common_Mutex_Enter(&info->mMutex);
|
||||
if (info->mEntries.size() >= MAX_ENTRIES)
|
||||
{
|
||||
info->mEntries.erase(info->mEntries.begin());
|
||||
}
|
||||
info->mEntries.push_back(std::string(buf));
|
||||
Common_Mutex_Leave(&info->mMutex);
|
||||
}
|
||||
|
||||
// Callback from Studio - Remember these callbacks will occur in the Studio update thread, NOT the game thread.
|
||||
FMOD_RESULT F_CALL markerCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE* event, void *parameters)
|
||||
{
|
||||
CallbackInfo* callbackInfo;
|
||||
ERRCHECK(((FMOD::Studio::EventInstance*)event)->getUserData((void**)&callbackInfo));
|
||||
|
||||
if (type == FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER)
|
||||
{
|
||||
FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES* props = (FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES*)parameters;
|
||||
markerAddString(callbackInfo, "Named marker '%s'", props->name);
|
||||
}
|
||||
else if (type == FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_BEAT)
|
||||
{
|
||||
FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES* props = (FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES*)parameters;
|
||||
markerAddString(callbackInfo, "beat %d, bar %d (tempo %.1f %d:%d)", props->beat, props->bar, props->tempo, props->timesignatureupper, props->timesignaturelower);
|
||||
}
|
||||
if (type == FMOD_STUDIO_EVENT_CALLBACK_SOUND_PLAYED || type == FMOD_STUDIO_EVENT_CALLBACK_SOUND_STOPPED)
|
||||
{
|
||||
FMOD::Sound* sound = (FMOD::Sound*)parameters;
|
||||
char name[256];
|
||||
ERRCHECK(sound->getName(name, 256));
|
||||
unsigned int len;
|
||||
ERRCHECK(sound->getLength(&len, FMOD_TIMEUNIT_MS));
|
||||
|
||||
markerAddString(callbackInfo, "Sound '%s' (length %.3f) %s",
|
||||
name, (float)len/1000.0f,
|
||||
type == FMOD_STUDIO_EVENT_CALLBACK_SOUND_PLAYED ? "Started" : "Stopped");
|
||||
}
|
||||
|
||||
return FMOD_OK;
|
||||
}
|
189
SimpleGame/FMOD/api/studio/examples/objectpan.cpp
Normal file
189
SimpleGame/FMOD/api/studio/examples/objectpan.cpp
Normal file
|
@ -0,0 +1,189 @@
|
|||
/*==============================================================================
|
||||
Object Panning Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2015-2025.
|
||||
|
||||
This example demonstrates the FMOD object panner. The usage is completely
|
||||
transparent to the API, the only difference is how the event is authored in the
|
||||
FMOD Studio tool.
|
||||
|
||||
To hear the difference between object panning and normal panning this example
|
||||
has two events (one configured with the normal panner, and one with the object
|
||||
panner). As they move around the listener you may toggle between panning method
|
||||
and two different sounds.
|
||||
|
||||
Object panning requires compatible hardware such as a Dolby Atmos amplifier or
|
||||
a Playstation VR headset. For cases when the necessary hardware is not available
|
||||
FMOD will fallback to standard 3D panning.
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
#include <math.h>
|
||||
|
||||
int FMOD_Main()
|
||||
{
|
||||
bool isOnGround = false;
|
||||
bool useListenerAttenuationPosition = false;
|
||||
|
||||
void *extraDriverData = NULL;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System *system = NULL;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
|
||||
// The example Studio project is authored for 5.1 sound, so set up the system output mode to match
|
||||
FMOD::System* coreSystem = NULL;
|
||||
ERRCHECK( system->getCoreSystem(&coreSystem) );
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0) );
|
||||
|
||||
// Attempt to initialize with a compatible object panning output
|
||||
FMOD_RESULT result = coreSystem->setOutput(FMOD_OUTPUTTYPE_AUDIO3D);
|
||||
if (result != FMOD_OK)
|
||||
{
|
||||
result = coreSystem->setOutput(FMOD_OUTPUTTYPE_WINSONIC);
|
||||
if (result == FMOD_OK)
|
||||
{
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_7POINT1POINT4, 0) );
|
||||
}
|
||||
else
|
||||
{
|
||||
result = coreSystem->setOutput(FMOD_OUTPUTTYPE_PHASE);
|
||||
if (result == FMOD_OK)
|
||||
{
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_7POINT1POINT4, 0) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int numDrivers = 0;
|
||||
ERRCHECK( coreSystem->getNumDrivers(&numDrivers) );
|
||||
|
||||
if (numDrivers == 0)
|
||||
{
|
||||
ERRCHECK( coreSystem->setDSPBufferSize(512, 4) );
|
||||
ERRCHECK( coreSystem->setOutput(FMOD_OUTPUTTYPE_AUTODETECT) );
|
||||
}
|
||||
|
||||
// Due to a bug in WinSonic on Windows, FMOD initialization may fail on some machines.
|
||||
// If you get the error "FMOD error 51 - Error initializing output device", try using
|
||||
// a different output type such as FMOD_OUTPUTTYPE_AUTODETECT
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
|
||||
// Load everything needed for playback
|
||||
FMOD::Studio::Bank *masterBank = NULL;
|
||||
FMOD::Studio::Bank *musicBank = NULL;
|
||||
FMOD::Studio::Bank *stringsBank = NULL;
|
||||
FMOD::Studio::EventDescription *spatializerDescription = NULL;
|
||||
FMOD::Studio::EventInstance *spatializerInstance = NULL;
|
||||
float spatializer;
|
||||
float radioFrequency;
|
||||
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank) );
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Music.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &musicBank) );
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.strings.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &stringsBank) );
|
||||
ERRCHECK( system->getEvent("event:/Music/Radio Station", &spatializerDescription) );
|
||||
ERRCHECK( spatializerDescription->createInstance(&spatializerInstance) );
|
||||
ERRCHECK( spatializerInstance->start() );
|
||||
|
||||
do
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
ERRCHECK(spatializerInstance->getParameterByName("Freq", NULL, &radioFrequency));
|
||||
ERRCHECK(spatializerInstance->getParameterByName("Spatializer", NULL, &spatializer));
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION1))
|
||||
{
|
||||
if (radioFrequency == 3.00f)
|
||||
{
|
||||
ERRCHECK(spatializerInstance->setParameterByName("Freq", 0.00f));
|
||||
}
|
||||
else
|
||||
{
|
||||
ERRCHECK(spatializerInstance->setParameterByName("Freq", (radioFrequency + 1.50f)));
|
||||
}
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION2))
|
||||
{
|
||||
if (spatializer == 1.00)
|
||||
{
|
||||
ERRCHECK(spatializerInstance->setParameterByName("Spatializer", 0.00f));
|
||||
}
|
||||
else
|
||||
{
|
||||
ERRCHECK(spatializerInstance->setParameterByName("Spatializer", 1.00f));
|
||||
}
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION3))
|
||||
{
|
||||
isOnGround = !isOnGround;
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION4))
|
||||
{
|
||||
useListenerAttenuationPosition = !useListenerAttenuationPosition;
|
||||
}
|
||||
|
||||
FMOD_3D_ATTRIBUTES vec = { };
|
||||
vec.forward.z = 1.0f;
|
||||
vec.up.y = 1.0f;
|
||||
static float t = 0;
|
||||
vec.position.x = sinf(t) * 3.0f; /* Rotate sound in a circle */
|
||||
vec.position.z = cosf(t) * 3.0f; /* Rotate sound in a circle */
|
||||
t += 0.03f;
|
||||
|
||||
if (isOnGround)
|
||||
{
|
||||
vec.position.y = 0; /* At ground level */
|
||||
}
|
||||
else
|
||||
{
|
||||
vec.position.y = 5.0f; /* Up high */
|
||||
}
|
||||
|
||||
ERRCHECK( spatializerInstance->set3DAttributes(&vec) );
|
||||
|
||||
FMOD_3D_ATTRIBUTES listener_vec = { };
|
||||
listener_vec.forward.z = 1.0f;
|
||||
listener_vec.up.y = 1.0f;
|
||||
|
||||
FMOD_VECTOR listener_attenuationPos = vec.position;
|
||||
listener_attenuationPos.z -= -10.0f;
|
||||
|
||||
ERRCHECK( system->setListenerAttributes(0, &listener_vec, useListenerAttenuationPosition ? &listener_attenuationPos : nullptr) );
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
const char *radioString = (radioFrequency == 0.00f) ? "Rock" : (radioFrequency == 1.50f) ? "Lo-fi" : "Hip hop";
|
||||
const char *spatialString = (spatializer == 0.00f) ? "Standard 3D Spatializer" : "Object Spatializer";
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Object Panning Example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2015-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("");
|
||||
Common_Draw("Playing %s with the %s.", radioString, spatialString);
|
||||
Common_Draw("Radio is %s.", isOnGround ? "on the ground" : "up in the air");
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to switch stations.", Common_BtnStr(BTN_ACTION1));
|
||||
Common_Draw("Press %s to switch spatializer.", Common_BtnStr(BTN_ACTION2));
|
||||
Common_Draw("Press %s to elevate the event instance.", Common_BtnStr(BTN_ACTION3));
|
||||
Common_Draw("Press %s to %s use of attenuation position.", Common_BtnStr(BTN_ACTION4), useListenerAttenuationPosition ? "disable" : "enable");
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
ERRCHECK( stringsBank->unload() );
|
||||
ERRCHECK( musicBank->unload() );
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
177
SimpleGame/FMOD/api/studio/examples/programmer_sound.cpp
Normal file
177
SimpleGame/FMOD/api/studio/examples/programmer_sound.cpp
Normal file
|
@ -0,0 +1,177 @@
|
|||
/*==============================================================================
|
||||
Programmer Sound Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
|
||||
This example demonstrates how to implement the programmer sound callback to
|
||||
play an event that has a programmer specified sound.
|
||||
|
||||
### See Also ###
|
||||
Studio::EventInstance::setCallback
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
|
||||
struct ProgrammerSoundContext
|
||||
{
|
||||
const char* dialogueString;
|
||||
};
|
||||
|
||||
FMOD_RESULT F_CALL programmerSoundCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE* event, void *parameters);
|
||||
|
||||
int FMOD_Main()
|
||||
{
|
||||
void *extraDriverData = NULL;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System* system = NULL;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
|
||||
// The example Studio project is authored for 5.1 sound, so set up the system output mode to match
|
||||
FMOD::System* coreSystem = NULL;
|
||||
ERRCHECK( system->getCoreSystem(&coreSystem) );
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0) );
|
||||
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
|
||||
FMOD::Studio::Bank* masterBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank) );
|
||||
|
||||
FMOD::Studio::Bank* stringsBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.strings.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &stringsBank) );
|
||||
|
||||
FMOD::Studio::Bank* sfxBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("SFX.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &sfxBank) );
|
||||
|
||||
// Available banks
|
||||
unsigned int bankIndex = 0;
|
||||
static const char* const banks[] = { "Dialogue_EN.bank", "Dialogue_JP.bank", "Dialogue_CN.bank" };
|
||||
|
||||
FMOD::Studio::Bank* localizedBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath(banks[bankIndex]), FMOD_STUDIO_LOAD_BANK_NORMAL, &localizedBank) );
|
||||
|
||||
FMOD::Studio::EventDescription* eventDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/Character/Dialogue", &eventDescription) );
|
||||
|
||||
FMOD::Studio::EventInstance* eventInstance = NULL;
|
||||
ERRCHECK( eventDescription->createInstance(&eventInstance) );
|
||||
|
||||
// Dialogue keys available
|
||||
// These keys are shared amongst all audio tables
|
||||
unsigned int dialogueIndex = 0;
|
||||
static const char* const dialogue[] = {"welcome", "main menu", "goodbye"};
|
||||
|
||||
ProgrammerSoundContext programmerSoundContext;
|
||||
programmerSoundContext.dialogueString = dialogue[dialogueIndex];
|
||||
|
||||
ERRCHECK( eventInstance->setUserData(&programmerSoundContext) );
|
||||
ERRCHECK( eventInstance->setCallback(programmerSoundCallback, FMOD_STUDIO_EVENT_CALLBACK_CREATE_PROGRAMMER_SOUND | FMOD_STUDIO_EVENT_CALLBACK_DESTROY_PROGRAMMER_SOUND) );
|
||||
|
||||
do
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION1))
|
||||
{
|
||||
ERRCHECK( localizedBank->unload() );
|
||||
|
||||
bankIndex = (bankIndex < 2) ? bankIndex + 1 : 0;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath(banks[bankIndex]), FMOD_STUDIO_LOAD_BANK_NORMAL, &localizedBank) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION2))
|
||||
{
|
||||
dialogueIndex = (dialogueIndex < 2) ? dialogueIndex + 1 : 0;
|
||||
programmerSoundContext.dialogueString = dialogue[dialogueIndex];
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_MORE))
|
||||
{
|
||||
ERRCHECK( eventInstance->start() );
|
||||
}
|
||||
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Programmer Sound Example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to change language", Common_BtnStr(BTN_ACTION1));
|
||||
Common_Draw("Press %s to change dialogue", Common_BtnStr(BTN_ACTION2));
|
||||
Common_Draw("Press %s to play the event", Common_BtnStr(BTN_MORE));
|
||||
Common_Draw("");
|
||||
Common_Draw("Language:");
|
||||
Common_Draw(" %s English", bankIndex == 0 ? ">" : " ");
|
||||
Common_Draw(" %s Japanese", bankIndex == 1 ? ">" : " ");
|
||||
Common_Draw(" %s Chinese", bankIndex == 2 ? ">" : " ");
|
||||
Common_Draw("");
|
||||
Common_Draw("Dialogue:");
|
||||
Common_Draw(" %s Welcome to the FMOD Studio tutorial", dialogueIndex == 0 ? ">" : " ");
|
||||
Common_Draw(" %s This is the main menu", dialogueIndex == 1 ? ">" : " ");
|
||||
Common_Draw(" %s Goodbye", dialogueIndex == 2 ? ">" : " ");
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define CHECK_RESULT(op) \
|
||||
{ \
|
||||
FMOD_RESULT res = (op); \
|
||||
if (res != FMOD_OK) \
|
||||
{ \
|
||||
return res; \
|
||||
} \
|
||||
}
|
||||
|
||||
FMOD_RESULT F_CALL programmerSoundCallback(FMOD_STUDIO_EVENT_CALLBACK_TYPE type, FMOD_STUDIO_EVENTINSTANCE* event, void *parameters)
|
||||
{
|
||||
FMOD::Studio::EventInstance* eventInstance = (FMOD::Studio::EventInstance*)event;
|
||||
|
||||
if (type == FMOD_STUDIO_EVENT_CALLBACK_CREATE_PROGRAMMER_SOUND)
|
||||
{
|
||||
FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES* props = (FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES*)parameters;
|
||||
|
||||
// Get our context from the event instance user data
|
||||
ProgrammerSoundContext* context = NULL;
|
||||
CHECK_RESULT( eventInstance->getUserData((void**)&context) );
|
||||
|
||||
FMOD::Studio::System* studioSystem = NULL;
|
||||
CHECK_RESULT( eventInstance->getSystem(&studioSystem) );
|
||||
// Find the audio file in the audio table with the key
|
||||
FMOD_STUDIO_SOUND_INFO info;
|
||||
CHECK_RESULT( studioSystem->getSoundInfo(context->dialogueString, &info) );
|
||||
|
||||
FMOD::System* coreSystem = NULL;
|
||||
CHECK_RESULT( studioSystem->getCoreSystem(&coreSystem) );
|
||||
FMOD::Sound* sound = NULL;
|
||||
CHECK_RESULT( coreSystem->createSound(info.name_or_data, FMOD_LOOP_NORMAL | FMOD_CREATECOMPRESSEDSAMPLE | FMOD_NONBLOCKING | info.mode, &info.exinfo, &sound) );
|
||||
|
||||
// Pass the sound to FMOD
|
||||
props->sound = (FMOD_SOUND*)sound;
|
||||
props->subsoundIndex = info.subsoundindex;
|
||||
}
|
||||
else if (type == FMOD_STUDIO_EVENT_CALLBACK_DESTROY_PROGRAMMER_SOUND)
|
||||
{
|
||||
FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES* props = (FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES*)parameters;
|
||||
|
||||
// Obtain the sound
|
||||
FMOD::Sound* sound = (FMOD::Sound*)props->sound;
|
||||
|
||||
// Release the sound
|
||||
CHECK_RESULT( sound->release() );
|
||||
}
|
||||
|
||||
return FMOD_OK;
|
||||
}
|
373
SimpleGame/FMOD/api/studio/examples/recording_playback.cpp
Normal file
373
SimpleGame/FMOD/api/studio/examples/recording_playback.cpp
Normal file
|
@ -0,0 +1,373 @@
|
|||
/*==============================================================================
|
||||
API Recording Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
|
||||
This example shows recording and playback functionality, allowing the user to
|
||||
trigger some sounds and then play back what they have recorded. The provided
|
||||
functionality is intended to assist in debugging.
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
|
||||
const int SCREEN_WIDTH = NUM_COLUMNS;
|
||||
const int SCREEN_HEIGHT = 10;
|
||||
|
||||
int currentScreenPosition = -1;
|
||||
char screenBuffer[(SCREEN_WIDTH + 1) * SCREEN_HEIGHT + 1] = {0};
|
||||
|
||||
void initializeScreenBuffer();
|
||||
void updateScreenPosition(const FMOD_VECTOR& worldPosition);
|
||||
|
||||
static const char* RECORD_FILENAME = "playback.cmd.txt";
|
||||
|
||||
enum State
|
||||
{
|
||||
State_Selection,
|
||||
State_Record,
|
||||
State_Playback,
|
||||
State_Quit
|
||||
};
|
||||
|
||||
State executeSelection(FMOD::Studio::System* system);
|
||||
State executeRecord(FMOD::Studio::System* system);
|
||||
State executePlayback(FMOD::Studio::System* system);
|
||||
|
||||
int FMOD_Main()
|
||||
{
|
||||
void *extraDriverData = 0;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System* system = NULL;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
|
||||
// The example Studio project is authored for 5.1 sound, so set up the system output mode to match
|
||||
FMOD::System* coreSystem = NULL;
|
||||
ERRCHECK( system->getCoreSystem(&coreSystem) );
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0) );
|
||||
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
|
||||
State state = State_Selection;
|
||||
while (state != State_Quit)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case State_Selection:
|
||||
state = executeSelection(system);
|
||||
break;
|
||||
case State_Record:
|
||||
state = executeRecord(system);
|
||||
break;
|
||||
case State_Playback:
|
||||
state = executePlayback(system);
|
||||
break;
|
||||
case State_Quit:
|
||||
break;
|
||||
};
|
||||
};
|
||||
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Show the main selection menu
|
||||
State executeSelection(FMOD::Studio::System* system)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION1))
|
||||
{
|
||||
return State_Record;
|
||||
}
|
||||
if (Common_BtnPress(BTN_ACTION2))
|
||||
{
|
||||
return State_Playback;
|
||||
}
|
||||
if (Common_BtnPress(BTN_QUIT))
|
||||
{
|
||||
return State_Quit;
|
||||
}
|
||||
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Recording and playback example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("");
|
||||
Common_Draw("Waiting to start recording");
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to start recording", Common_BtnStr(BTN_ACTION1));
|
||||
Common_Draw("Press %s to play back recording", Common_BtnStr(BTN_ACTION2));
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
Common_Draw("");
|
||||
Common_Sleep(50);
|
||||
}
|
||||
}
|
||||
|
||||
// Start recording, load banks and then let the user trigger some sounds
|
||||
State executeRecord(FMOD::Studio::System* system)
|
||||
{
|
||||
FMOD::Studio::Bank* masterBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.bank"), FMOD_STUDIO_LOAD_BANK_NONBLOCKING, &masterBank) );
|
||||
|
||||
FMOD::Studio::Bank* stringsBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.strings.bank"), FMOD_STUDIO_LOAD_BANK_NONBLOCKING, &stringsBank) );
|
||||
|
||||
FMOD::Studio::Bank* vehiclesBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Vehicles.bank"), FMOD_STUDIO_LOAD_BANK_NONBLOCKING, &vehiclesBank) );
|
||||
|
||||
FMOD::Studio::Bank* sfxBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("SFX.bank"), FMOD_STUDIO_LOAD_BANK_NONBLOCKING, &sfxBank) );
|
||||
|
||||
// Wait for banks to load
|
||||
ERRCHECK( system->flushCommands() );
|
||||
|
||||
// Start recording commands - it will also record which banks we have already loaded by now
|
||||
ERRCHECK( system->startCommandCapture(Common_WritePath(RECORD_FILENAME), FMOD_STUDIO_COMMANDCAPTURE_NORMAL) );
|
||||
|
||||
FMOD_GUID explosionID = {0};
|
||||
ERRCHECK( system->lookupID("event:/Weapons/Explosion", &explosionID) );
|
||||
|
||||
FMOD::Studio::EventDescription* engineDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/Vehicles/Ride-on Mower", &engineDescription) );
|
||||
|
||||
FMOD::Studio::EventInstance* engineInstance = NULL;
|
||||
ERRCHECK( engineDescription->createInstance(&engineInstance) );
|
||||
|
||||
ERRCHECK( engineInstance->setParameterByName("RPM", 650.0f) );
|
||||
ERRCHECK( engineInstance->start() );
|
||||
|
||||
// Position the listener at the origin
|
||||
FMOD_3D_ATTRIBUTES attributes = { { 0 } };
|
||||
attributes.forward.z = 1.0f;
|
||||
attributes.up.y = 1.0f;
|
||||
ERRCHECK( system->setListenerAttributes(0, &attributes) );
|
||||
|
||||
// Position the event 2 units in front of the listener
|
||||
attributes.position.z = 2.0f;
|
||||
ERRCHECK( engineInstance->set3DAttributes(&attributes) );
|
||||
|
||||
initializeScreenBuffer();
|
||||
|
||||
bool wantQuit = false;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnPress(BTN_MORE))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_QUIT))
|
||||
{
|
||||
wantQuit = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION1))
|
||||
{
|
||||
// One-shot event
|
||||
FMOD::Studio::EventDescription* eventDescription = NULL;
|
||||
ERRCHECK( system->getEventByID(&explosionID, &eventDescription) );
|
||||
|
||||
FMOD::Studio::EventInstance* eventInstance = NULL;
|
||||
ERRCHECK( eventDescription->createInstance(&eventInstance) );
|
||||
for (int i=0; i<10; ++i)
|
||||
{
|
||||
ERRCHECK( eventInstance->setVolume(i / 10.0f) );
|
||||
}
|
||||
|
||||
ERRCHECK( eventInstance->start() );
|
||||
|
||||
// Release will clean up the instance when it completes
|
||||
ERRCHECK( eventInstance->release() );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_LEFT))
|
||||
{
|
||||
attributes.position.x -= 1.0f;
|
||||
ERRCHECK( engineInstance->set3DAttributes(&attributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_RIGHT))
|
||||
{
|
||||
attributes.position.x += 1.0f;
|
||||
ERRCHECK( engineInstance->set3DAttributes(&attributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_UP))
|
||||
{
|
||||
attributes.position.z += 1.0f;
|
||||
ERRCHECK( engineInstance->set3DAttributes(&attributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_DOWN))
|
||||
{
|
||||
attributes.position.z -= 1.0f;
|
||||
ERRCHECK( engineInstance->set3DAttributes(&attributes) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_MORE))
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (Common_BtnPress(BTN_QUIT))
|
||||
{
|
||||
wantQuit = true;
|
||||
break;
|
||||
}
|
||||
|
||||
ERRCHECK(system->update());
|
||||
|
||||
updateScreenPosition(attributes.position);
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Recording and playback example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("");
|
||||
Common_Draw("Recording!");
|
||||
Common_Draw("");
|
||||
Common_Draw(screenBuffer);
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to finish recording", Common_BtnStr(BTN_MORE));
|
||||
Common_Draw("Press %s to play a one-shot", Common_BtnStr(BTN_ACTION1));
|
||||
Common_Draw("Use the arrow keys (%s, %s, %s, %s) to control the engine position",
|
||||
Common_BtnStr(BTN_LEFT), Common_BtnStr(BTN_RIGHT), Common_BtnStr(BTN_UP), Common_BtnStr(BTN_DOWN));
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
}
|
||||
|
||||
// Unload all the banks
|
||||
ERRCHECK( masterBank->unload() );
|
||||
ERRCHECK( stringsBank->unload() );
|
||||
ERRCHECK( vehiclesBank->unload() );
|
||||
ERRCHECK( sfxBank->unload() );
|
||||
|
||||
// Finish recording
|
||||
ERRCHECK( system->flushCommands() );
|
||||
ERRCHECK( system->stopCommandCapture() );
|
||||
|
||||
return (wantQuit ? State_Quit : State_Selection);
|
||||
}
|
||||
|
||||
// Play back a previously recorded file
|
||||
State executePlayback(FMOD::Studio::System* system)
|
||||
{
|
||||
FMOD::Studio::CommandReplay* replay;
|
||||
ERRCHECK( system->loadCommandReplay(Common_WritePath(RECORD_FILENAME), FMOD_STUDIO_COMMANDREPLAY_NORMAL, &replay));
|
||||
int commandCount;
|
||||
ERRCHECK(replay->getCommandCount(&commandCount));
|
||||
float totalTime;
|
||||
ERRCHECK(replay->getLength(&totalTime));
|
||||
ERRCHECK(replay->start());
|
||||
ERRCHECK(system->update());
|
||||
|
||||
for (;;)
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnPress(BTN_QUIT))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_MORE))
|
||||
{
|
||||
bool paused;
|
||||
ERRCHECK(replay->getPaused(&paused));
|
||||
ERRCHECK(replay->setPaused(!paused));
|
||||
}
|
||||
|
||||
FMOD_STUDIO_PLAYBACK_STATE state;
|
||||
ERRCHECK(replay->getPlaybackState(&state));
|
||||
if (state == FMOD_STUDIO_PLAYBACK_STOPPED)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
int currentIndex;
|
||||
float currentTime;
|
||||
ERRCHECK(replay->getCurrentCommand(¤tIndex, ¤tTime));
|
||||
|
||||
ERRCHECK(system->update());
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Recording and playback example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("");
|
||||
Common_Draw("Playing back commands:");
|
||||
Common_Draw("Command = %d / %d\n", currentIndex, commandCount);
|
||||
Common_Draw("Time = %.3f / %.3f\n", currentTime, totalTime);
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to pause/unpause recording", Common_BtnStr(BTN_MORE));
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
}
|
||||
|
||||
|
||||
ERRCHECK( replay->release() );
|
||||
ERRCHECK( system->unloadAll() );
|
||||
return State_Selection;
|
||||
}
|
||||
|
||||
void initializeScreenBuffer()
|
||||
{
|
||||
memset(screenBuffer, ' ', sizeof(screenBuffer));
|
||||
|
||||
int idx = SCREEN_WIDTH;
|
||||
for (int i = 0; i < SCREEN_HEIGHT; ++i)
|
||||
{
|
||||
screenBuffer[idx] = '\n';
|
||||
idx += SCREEN_WIDTH + 1;
|
||||
}
|
||||
|
||||
screenBuffer[(SCREEN_WIDTH + 1) * SCREEN_HEIGHT] = '\0';
|
||||
}
|
||||
|
||||
int getCharacterIndex(const FMOD_VECTOR& position)
|
||||
{
|
||||
int row = static_cast<int>(-position.z + (SCREEN_HEIGHT / 2));
|
||||
int col = static_cast<int>(position.x + (SCREEN_WIDTH / 2));
|
||||
|
||||
if (0 < row && row < SCREEN_HEIGHT && 0 < col && col < SCREEN_WIDTH)
|
||||
{
|
||||
return (row * (SCREEN_WIDTH + 1)) + col;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
void updateScreenPosition(const FMOD_VECTOR& eventPosition)
|
||||
{
|
||||
if (currentScreenPosition != -1)
|
||||
{
|
||||
screenBuffer[currentScreenPosition] = ' ';
|
||||
currentScreenPosition = -1;
|
||||
}
|
||||
|
||||
FMOD_VECTOR origin = {0};
|
||||
int idx = getCharacterIndex(origin);
|
||||
screenBuffer[idx] = '^';
|
||||
|
||||
idx = getCharacterIndex(eventPosition);
|
||||
if (idx != -1)
|
||||
{
|
||||
screenBuffer[idx] = 'o';
|
||||
currentScreenPosition = idx;
|
||||
}
|
||||
}
|
126
SimpleGame/FMOD/api/studio/examples/simple_event.cpp
Normal file
126
SimpleGame/FMOD/api/studio/examples/simple_event.cpp
Normal file
|
@ -0,0 +1,126 @@
|
|||
/*==============================================================================
|
||||
Simple Event Example
|
||||
Copyright (c), Firelight Technologies Pty, Ltd 2012-2025.
|
||||
|
||||
This example demonstrates the various ways of playing an event.
|
||||
|
||||
#### Explosion Event ####
|
||||
This event is played as a one-shot and released immediately after it has been
|
||||
created.
|
||||
|
||||
#### Looping Ambience Event ####
|
||||
A single instance is started or stopped based on user input.
|
||||
|
||||
#### Cancel Event ####
|
||||
This instance is started and if already playing, restarted.
|
||||
|
||||
For information on using FMOD example code in your own programs, visit
|
||||
https://www.fmod.com/legal
|
||||
==============================================================================*/
|
||||
#include "fmod_studio.hpp"
|
||||
#include "fmod.hpp"
|
||||
#include "common.h"
|
||||
|
||||
int FMOD_Main()
|
||||
{
|
||||
void *extraDriverData = NULL;
|
||||
Common_Init(&extraDriverData);
|
||||
|
||||
FMOD::Studio::System* system = NULL;
|
||||
ERRCHECK( FMOD::Studio::System::create(&system) );
|
||||
|
||||
// The example Studio project is authored for 5.1 sound, so set up the system output mode to match
|
||||
FMOD::System* coreSystem = NULL;
|
||||
ERRCHECK( system->getCoreSystem(&coreSystem) );
|
||||
ERRCHECK( coreSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0) );
|
||||
|
||||
ERRCHECK( system->initialize(1024, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, extraDriverData) );
|
||||
|
||||
FMOD::Studio::Bank* masterBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank) );
|
||||
|
||||
FMOD::Studio::Bank* stringsBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("Master.strings.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &stringsBank) );
|
||||
|
||||
FMOD::Studio::Bank* sfxBank = NULL;
|
||||
ERRCHECK( system->loadBankFile(Common_MediaPath("SFX.bank"), FMOD_STUDIO_LOAD_BANK_NORMAL, &sfxBank) );
|
||||
|
||||
// Get the Looping Ambience event
|
||||
FMOD::Studio::EventDescription* loopingAmbienceDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/Ambience/Country", &loopingAmbienceDescription) );
|
||||
|
||||
FMOD::Studio::EventInstance* loopingAmbienceInstance = NULL;
|
||||
ERRCHECK( loopingAmbienceDescription->createInstance(&loopingAmbienceInstance) );
|
||||
|
||||
// Get the 4 Second Surge event
|
||||
FMOD::Studio::EventDescription* cancelDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/UI/Cancel", &cancelDescription) );
|
||||
|
||||
FMOD::Studio::EventInstance* cancelInstance = NULL;
|
||||
ERRCHECK( cancelDescription->createInstance(&cancelInstance) );
|
||||
|
||||
// Get the Single Explosion event
|
||||
FMOD::Studio::EventDescription* explosionDescription = NULL;
|
||||
ERRCHECK( system->getEvent("event:/Weapons/Explosion", &explosionDescription) );
|
||||
|
||||
// Start loading explosion sample data and keep it in memory
|
||||
ERRCHECK( explosionDescription->loadSampleData() );
|
||||
|
||||
do
|
||||
{
|
||||
Common_Update();
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION1))
|
||||
{
|
||||
// One-shot event
|
||||
FMOD::Studio::EventInstance* eventInstance = NULL;
|
||||
ERRCHECK( explosionDescription->createInstance(&eventInstance) );
|
||||
|
||||
ERRCHECK( eventInstance->start() );
|
||||
|
||||
// Release will clean up the instance when it completes
|
||||
ERRCHECK( eventInstance->release() );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION2))
|
||||
{
|
||||
ERRCHECK( loopingAmbienceInstance->start() );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION3))
|
||||
{
|
||||
ERRCHECK( loopingAmbienceInstance->stop(FMOD_STUDIO_STOP_IMMEDIATE) );
|
||||
}
|
||||
|
||||
if (Common_BtnPress(BTN_ACTION4))
|
||||
{
|
||||
// Calling start on an instance will cause it to restart if it's already playing
|
||||
ERRCHECK( cancelInstance->start() );
|
||||
}
|
||||
|
||||
ERRCHECK( system->update() );
|
||||
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("Simple Event Example.");
|
||||
Common_Draw("Copyright (c) Firelight Technologies 2012-2025.");
|
||||
Common_Draw("==================================================");
|
||||
Common_Draw("");
|
||||
Common_Draw("Press %s to fire and forget the explosion", Common_BtnStr(BTN_ACTION1));
|
||||
Common_Draw("Press %s to start the looping ambience", Common_BtnStr(BTN_ACTION2));
|
||||
Common_Draw("Press %s to stop the looping ambience", Common_BtnStr(BTN_ACTION3));
|
||||
Common_Draw("Press %s to start/restart the cancel sound", Common_BtnStr(BTN_ACTION4));
|
||||
Common_Draw("Press %s to quit", Common_BtnStr(BTN_QUIT));
|
||||
|
||||
Common_Sleep(50);
|
||||
} while (!Common_BtnPress(BTN_QUIT));
|
||||
|
||||
ERRCHECK( sfxBank->unload() );
|
||||
ERRCHECK( stringsBank->unload() );
|
||||
ERRCHECK( masterBank->unload() );
|
||||
|
||||
ERRCHECK( system->release() );
|
||||
|
||||
Common_Close();
|
||||
|
||||
return 0;
|
||||
}
|
85
SimpleGame/FMOD/api/studio/examples/vs2017/3d.vcxproj
Normal file
85
SimpleGame/FMOD/api/studio/examples/vs2017/3d.vcxproj
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{73693ACD-D6D7-4784-A76D-DA990895F0FF}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\3d.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
85
SimpleGame/FMOD/api/studio/examples/vs2017/3d_multi.vcxproj
Normal file
85
SimpleGame/FMOD/api/studio/examples/vs2017/3d_multi.vcxproj
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\3d_multi.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\event_parameter.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
198
SimpleGame/FMOD/api/studio/examples/vs2017/examples.sln
Normal file
198
SimpleGame/FMOD/api/studio/examples/vs2017/examples.sln
Normal file
|
@ -0,0 +1,198 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 15
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d", "3d.vcxproj", "{73693ACD-D6D7-4784-A76D-DA990895F0FF}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d_multi", "3d_multi.vcxproj", "{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "event_parameter", "event_parameter.vcxproj", "{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "load_banks", "load_banks.vcxproj", "{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "music_callbacks", "music_callbacks.vcxproj", "{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "objectpan", "objectpan.vcxproj", "{45CC7BC5-F619-4460-931E-7CCDB0FFF609}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "programmer_sound", "programmer_sound.vcxproj", "{E59D3927-5537-471A-AEE6-4D13D3057E67}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "recording_playback", "recording_playback.vcxproj", "{B7D13C73-23F1-41F9-ADA9-626994A99F3E}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_event", "simple_event.vcxproj", "{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
Release|ARM64 = Release|ARM64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|x64.Build.0 = Debug|x64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|Win32.Build.0 = Release|Win32
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|x64.ActiveCfg = Release|x64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|x64.Build.0 = Release|x64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|x64.Deploy.0 = Release|x64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{73693ACD-D6D7-4784-A76D-DA990895F0FF}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|x64.Build.0 = Debug|x64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|Win32.Build.0 = Release|Win32
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|x64.ActiveCfg = Release|x64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|x64.Build.0 = Release|x64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|x64.Deploy.0 = Release|x64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{9E00A588-7ADB-4C29-90D6-DF44E3D6D711}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|x64.Build.0 = Debug|x64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|Win32.Build.0 = Release|Win32
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|x64.ActiveCfg = Release|x64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|x64.Build.0 = Release|x64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|x64.Deploy.0 = Release|x64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{C98B1BB0-A6B0-4CD8-BFE5-B7E34D79FB48}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|x64.Build.0 = Debug|x64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|Win32.Build.0 = Release|Win32
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|x64.ActiveCfg = Release|x64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|x64.Build.0 = Release|x64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|x64.Deploy.0 = Release|x64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|x64.Build.0 = Debug|x64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|Win32.Build.0 = Release|Win32
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|x64.ActiveCfg = Release|x64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|x64.Build.0 = Release|x64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|x64.Deploy.0 = Release|x64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|x64.Build.0 = Debug|x64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|Win32.Build.0 = Release|Win32
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|x64.ActiveCfg = Release|x64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|x64.Build.0 = Release|x64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|x64.Deploy.0 = Release|x64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{45CC7BC5-F619-4460-931E-7CCDB0FFF609}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|x64.Build.0 = Debug|x64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|Win32.Build.0 = Release|Win32
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|x64.ActiveCfg = Release|x64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|x64.Build.0 = Release|x64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|x64.Deploy.0 = Release|x64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{E59D3927-5537-471A-AEE6-4D13D3057E67}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|x64.Build.0 = Debug|x64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|Win32.Build.0 = Release|Win32
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|x64.ActiveCfg = Release|x64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|x64.Build.0 = Release|x64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|x64.Deploy.0 = Release|x64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{B7D13C73-23F1-41F9-ADA9-626994A99F3E}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|x64.Build.0 = Debug|x64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|Win32.Build.0 = Release|Win32
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|x64.ActiveCfg = Release|x64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|x64.Build.0 = Release|x64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|x64.Deploy.0 = Release|x64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A478832E-3ABF-468B-B7A8-8A59B2C67FD0}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\load_banks.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{645E3EB4-0891-40BB-ABFD-A9CD6A6F5C79}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\music_callbacks.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
85
SimpleGame/FMOD/api/studio/examples/vs2017/objectpan.vcxproj
Normal file
85
SimpleGame/FMOD/api/studio/examples/vs2017/objectpan.vcxproj
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{45CC7BC5-F619-4460-931E-7CCDB0FFF609}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\objectpan.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{E59D3927-5537-471A-AEE6-4D13D3057E67}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\programmer_sound.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B7D13C73-23F1-41F9-ADA9-626994A99F3E}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\recording_playback.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{30D2465D-18DD-465B-B49E-7EBFA21E4A6A}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\simple_event.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
85
SimpleGame/FMOD/api/studio/examples/vs2019/3d.vcxproj
Normal file
85
SimpleGame/FMOD/api/studio/examples/vs2019/3d.vcxproj
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\3d.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
85
SimpleGame/FMOD/api/studio/examples/vs2019/3d_multi.vcxproj
Normal file
85
SimpleGame/FMOD/api/studio/examples/vs2019/3d_multi.vcxproj
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7DF05649-1998-4E76-8C22-9CCE1A5D6353}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\3d_multi.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{632C755A-6FB4-47A7-A755-AF75940D83AE}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\event_parameter.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
198
SimpleGame/FMOD/api/studio/examples/vs2019/examples.sln
Normal file
198
SimpleGame/FMOD/api/studio/examples/vs2019/examples.sln
Normal file
|
@ -0,0 +1,198 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio Version 16
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d", "3d.vcxproj", "{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d_multi", "3d_multi.vcxproj", "{7DF05649-1998-4E76-8C22-9CCE1A5D6353}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "event_parameter", "event_parameter.vcxproj", "{632C755A-6FB4-47A7-A755-AF75940D83AE}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "load_banks", "load_banks.vcxproj", "{3328A7D5-F136-4678-993F-9F243D27FBEA}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "music_callbacks", "music_callbacks.vcxproj", "{2C1EA18D-07AA-43E3-B4FB-600F556D9840}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "objectpan", "objectpan.vcxproj", "{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "programmer_sound", "programmer_sound.vcxproj", "{3807BE27-3975-4BD7-9D53-F96202BDAC3B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "recording_playback", "recording_playback.vcxproj", "{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_event", "simple_event.vcxproj", "{49C1282C-9CE5-4980-9590-8678615DB435}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
Release|ARM64 = Release|ARM64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|x64.Build.0 = Debug|x64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|Win32.Build.0 = Release|Win32
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|x64.ActiveCfg = Release|x64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|x64.Build.0 = Release|x64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|x64.Deploy.0 = Release|x64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{B1A8FDAD-3AEE-4D74-AC3E-9B0B366A9D8A}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|x64.Build.0 = Debug|x64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|Win32.Build.0 = Release|Win32
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|x64.ActiveCfg = Release|x64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|x64.Build.0 = Release|x64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|x64.Deploy.0 = Release|x64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{7DF05649-1998-4E76-8C22-9CCE1A5D6353}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|x64.Build.0 = Debug|x64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|Win32.Build.0 = Release|Win32
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|x64.ActiveCfg = Release|x64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|x64.Build.0 = Release|x64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|x64.Deploy.0 = Release|x64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{632C755A-6FB4-47A7-A755-AF75940D83AE}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|x64.Build.0 = Debug|x64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|Win32.Build.0 = Release|Win32
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|x64.ActiveCfg = Release|x64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|x64.Build.0 = Release|x64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|x64.Deploy.0 = Release|x64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{3328A7D5-F136-4678-993F-9F243D27FBEA}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|x64.Build.0 = Debug|x64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|Win32.Build.0 = Release|Win32
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|x64.ActiveCfg = Release|x64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|x64.Build.0 = Release|x64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|x64.Deploy.0 = Release|x64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{2C1EA18D-07AA-43E3-B4FB-600F556D9840}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|x64.Build.0 = Debug|x64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|Win32.Build.0 = Release|Win32
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|x64.ActiveCfg = Release|x64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|x64.Build.0 = Release|x64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|x64.Deploy.0 = Release|x64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|x64.Build.0 = Debug|x64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|Win32.Build.0 = Release|Win32
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|x64.ActiveCfg = Release|x64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|x64.Build.0 = Release|x64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|x64.Deploy.0 = Release|x64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{3807BE27-3975-4BD7-9D53-F96202BDAC3B}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|x64.Build.0 = Debug|x64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|Win32.Build.0 = Release|Win32
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|x64.ActiveCfg = Release|x64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|x64.Build.0 = Release|x64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|x64.Deploy.0 = Release|x64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|x64.Build.0 = Debug|x64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|Win32.Build.0 = Release|Win32
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|x64.ActiveCfg = Release|x64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|x64.Build.0 = Release|x64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|x64.Deploy.0 = Release|x64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{49C1282C-9CE5-4980-9590-8678615DB435}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{3328A7D5-F136-4678-993F-9F243D27FBEA}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\load_banks.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{2C1EA18D-07AA-43E3-B4FB-600F556D9840}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\music_callbacks.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
85
SimpleGame/FMOD/api/studio/examples/vs2019/objectpan.vcxproj
Normal file
85
SimpleGame/FMOD/api/studio/examples/vs2019/objectpan.vcxproj
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B9638A3B-7FEB-4135-B9E3-F8307A2DDA3A}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\objectpan.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{3807BE27-3975-4BD7-9D53-F96202BDAC3B}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\programmer_sound.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F22CECE3-5792-4AD7-BE01-46BF9CD4E195}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\recording_playback.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<Arch>x86</Arch>
|
||||
<Arch Condition="'$(Platform)'=='x64'">x64</Arch>
|
||||
<Arch Condition="'$(Platform)'=='ARM64'">ARM64</Arch>
|
||||
<Suffix Condition="'$(Configuration)'=='Debug'">L</Suffix>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{49C1282C-9CE5-4980-9590-8678615DB435}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(SolutionDir)_builds\$(ProjectName)\$(Configuration)\$(Platform)\Intermediate\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>$(ProjectName)$(Suffix)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\..\core\inc;..\..\..\studio\inc</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\..\..\core\lib\$(Arch);..\..\..\studio\lib\$(Arch)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>fmod$(Suffix)_vc.lib;fmodstudio$(Suffix)_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>if not exist ..\bin mkdir ..\bin
|
||||
copy /Y "$(TargetPath)" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" ..\bin
|
||||
copy /Y "..\..\..\core\lib\$(Arch)\fmod$(Suffix).dll" "$(OutDir)"
|
||||
copy /Y "..\..\..\studio\lib\$(Arch)\fmodstudio$(Suffix).dll" "$(OutDir)"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common.h" />
|
||||
<ClCompile Include="..\common.cpp" />
|
||||
<ClInclude Include="..\common_platform.h" />
|
||||
<ClCompile Include="..\common_platform.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\simple_event.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\common_platform.cpp">
|
||||
<Filter>common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="common">
|
||||
<UniqueIdentifier>{937abb1b-0123-4875-9828-07ed9f9813e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\common_platform.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\common.h">
|
||||
<Filter>common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
Loading…
Add table
Add a link
Reference in a new issue