Merge branch 'master' into arbitrary_hanging_and_shimmying

This commit is contained in:
Lwmte 2021-10-31 10:54:55 +03:00
commit 5276a3c52f
19 changed files with 57 additions and 212 deletions

View file

@ -379,7 +379,7 @@ void CreateFlare(GAME_OBJECT_ID objectNum, int thrown)
void DrawFlareInAir(ITEM_INFO* item)
{
printf("DrawFlareInAir() not implemented !");
TENLog("DrawFlareInAir() not implemented!", LogLevel::Warning);
}
void DoFlareInHand(int flare_age)

View file

@ -423,7 +423,7 @@ unsigned CALLBACK GameMain(void *)
{
try
{
logD("Starting GameMain...");
TENLog("Starting GameMain...", LogLevel::Info);
TimeInit();
@ -456,8 +456,7 @@ unsigned CALLBACK GameMain(void *)
GAME_STATUS DoTitle(int index)
{
//DB_Log(2, "DoTitle - DLL");
printf("DoTitle\n");
TENLog("DoTitle", LogLevel::Info);
// Reset all the globals for the game which needs this
CleanUp();

View file

@ -8,24 +8,11 @@ constexpr bool DebugBuild = false;
#include <string_view>
#include <iostream>
inline void assertion(const bool& expr,const char* msg) noexcept {
inline void assertion(const bool& expr, const char* msg) noexcept {
if constexpr (DebugBuild) {
if (!expr) throw std::runtime_error(msg);
}
};
template <typename ...T>
inline void logD(const T&... x) {
if constexpr (DebugBuild) {
(std::cout << ... << x) << std::endl;
}
};
template <typename ...T>
inline void logE(const T&... x) {
if constexpr (DebugBuild) {
(std::cerr << ... << x) << std::endl;
}
};
enum class LogLevel
{

View file

@ -53,7 +53,7 @@ void InitialiseSkidman(short itemNum)
}
else
{
printf("FATAL: cannot create skidoo for SKIDMAN !");
TENLog("Can't create skidoo for rider!", LogLevel::Error);
}
}
@ -93,7 +93,7 @@ void SkidManControl(short riderNum)
rider = &g_Level.Items[riderNum];
if (rider->data == NULL)
{
printf("FATAL: rider data not contains the skidoo itemNumber !");
TENLog("Rider data does not contain the skidoo itemNumber!", LogLevel::Error);
return;
}

View file

@ -559,7 +559,7 @@ static void StartBaddy(OBJECT_INFO* obj)
if (obj->loaded)
{
if (!Objects[ID_DRAGON_BACK].loaded)
printf("FATAL: ID_DRAGON_BACK need ID_DRAGON_BACK !");
TENLog("ID_DRAGON_FRONT needs ID_DRAGON_BACK!", LogLevel::Error);
obj->collision = DragonCollision;
obj->control = DragonControl;
@ -579,7 +579,7 @@ static void StartBaddy(OBJECT_INFO* obj)
if (obj->loaded)
{
if (!Objects[ID_MARCO_BARTOLI].loaded)
printf("FATAL: ID_DRAGON_BACK need ID_MARCO_BARTOLI !");
TENLog("ID_DRAGON_BACK needs ID_MARCO_BARTOLI!", LogLevel::Error);
obj->collision = DragonCollision;
obj->control = DragonControl;

View file

@ -829,7 +829,12 @@ int MineCartControl(void)
short roomNumber;
v = &g_Level.Items[Lara.Vehicle];
if (!v->data) { printf("v->data is nullptr !"); return 0; }
if (!v->data)
{
TENLog("Minecart data is nullptr!", LogLevel::Error);
return 0;
}
cart = v->data;
DoUserInput(v, LaraItem, cart);

View file

@ -193,7 +193,7 @@ void GuideControl(short itemNumber)
short frameNumber;
short random;
printf("Guide state: %d\n", item->currentAnimState);
TENLog("Guide state:" + std::to_string(item->currentAnimState), LogLevel::Info);
switch (item->currentAnimState)
{

View file

@ -289,7 +289,7 @@ void VonCroyControl(short itemNumber)
short rot = 0;
int dy, height, ceiling, flags;
printf("State: %d\n", item->currentAnimState);
TENLog("State:" + std::to_string(item->currentAnimState), LogLevel::Info);
switch (item->currentAnimState)
{

View file

@ -21,7 +21,7 @@ namespace TEN::Renderer {
ID3D11Buffer** get() {
return buffer.GetAddressOf();
}
void updateData(CBuff& data,ID3D11DeviceContext* ctx) {
void updateData(CBuff& data, ID3D11DeviceContext* ctx) {
D3D11_MAPPED_SUBRESOURCE mappedResource;
HRESULT res = ctx->Map(buffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource);
if (SUCCEEDED(res)) {
@ -29,7 +29,7 @@ namespace TEN::Renderer {
memcpy(dataPtr, &data, sizeof(CBuff));
ctx->Unmap(buffer.Get(), 0);
} else
logD("Could not update constant buffer ", this);
TENLog("Could not update constant buffer!", LogLevel::Error);
}
};
}

View file

@ -552,8 +552,10 @@ namespace TEN::Renderer
adapter.Index = i;
adapter.Name = videoCardDescription;
logD("Adapter %d", i);
logD("Device Name : ", videoCardDescription);
TENLog("Adapter " + std::to_string(i), LogLevel::Info);
TENLog("Device Name: " + adapter.Name, LogLevel::Info);
ComPtr<IDXGIOutput> output;
if(FAILED(dxgiAdapter->EnumOutputs(0, output.GetAddressOf())))
continue;

View file

@ -17,8 +17,7 @@ void TEN::Renderer::Renderer11::Initialise(int w, int h, int refreshRate, bool w
{
HRESULT res;
//DB_Log(2, "Renderer::Initialise - DLL");
logD("Initializing DX11");
TENLog("Initializing DX11...", LogLevel::Info);
CoInitialize(NULL);

View file

@ -15,7 +15,6 @@ namespace TEN::Renderer::Utils {
TENLog(message, LogLevel::Error);
throw std::runtime_error("An error occured!");
}
}
ComPtr<ID3D11VertexShader> compileVertexShader(ID3D11Device* device, const std::wstring& fileName, const std::string& function, const std::string& model, const D3D_SHADER_MACRO * defines, ComPtr<ID3D10Blob>& bytecode) {

View file

@ -309,6 +309,9 @@ void FreeSamples()
void PlaySoundTrack(std::string track, SOUNDTRACK_PLAYTYPE mode, QWORD position)
{
if (track.empty())
return;
bool crossfade = false;
DWORD crossfadeTime = 0;
DWORD flags = BASS_STREAM_AUTOFREE | BASS_SAMPLE_FLOAT | BASS_ASYNCFILE;
@ -445,9 +448,9 @@ void StopSoundTracks()
BASS_ChannelSlideAttribute(BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::OneShot].Channel, BASS_ATTRIB_VOL | BASS_SLIDE_LOG, -1.0f, SOUND_XFADETIME_ONESHOT);
BASS_ChannelSlideAttribute(BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::BGM].Channel, BASS_ATTRIB_VOL | BASS_SLIDE_LOG, -1.0f, SOUND_XFADETIME_ONESHOT);
BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::OneShot].Track = "";
BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::OneShot].Track = {};
BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::OneShot].Channel = NULL;
BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::BGM].Track = "";
BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::BGM].Track = {};
BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::BGM].Channel = NULL;
}
@ -474,9 +477,6 @@ static void CALLBACK Sound_FinishOneshotTrack(HSYNC handle, DWORD channel, DWORD
{
if (BASS_ChannelIsActive(BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::BGM].Channel))
BASS_ChannelSlideAttribute(BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::BGM].Channel, BASS_ATTRIB_VOL, (float)GlobalMusicVolume / 100.0f, SOUND_XFADETIME_BGM_START);
BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::OneShot].Track = "";
BASS_Soundtrack[(int)SOUNDTRACK_PLAYTYPE::OneShot].Channel = NULL;
}
void Sound_FreeSample(int index)

View file

@ -27,7 +27,7 @@
#define SOUND_XFADETIME_ONESHOT 200
#define SOUND_XFADETIME_CUTSOUND 100
#define SOUND_XFADETIME_HIJACKSOUND 50
#define SOUND_BGM_DAMP_COEFFICIENT 0.6f
#define SOUND_BGM_DAMP_COEFFICIENT 0.5f
#define TRACKS_PREFIX "Audio\\%s.%s"

View file

@ -1,142 +0,0 @@
#pragma once
enum sound_tracks
{
CDA_XA1_TL_10B, // TO CLIMB OUT, SWIM TO THE EDGE AND PRESS 'ACTION'.
CDA_XA1_Z10,
CDA_XA1_TL_05, // TO PERFORM A SIDEWAYS SOMERSAULT, PRESS 'LEFT' AND JUMP.
CDA_XA1_TL_08, // FOR ME TO CRAWL, HOLD DOWN 'CROUCH' AND NOW PUSH 'FORWARD'.
CDA_XA1_TL_11, // TO USE THE LEVER SWITCH, STAND NEXT TO THE SWITCH, AND PRESS 'ACTION'.
CDA_XA1_ANDYPEW,
CDA_XA1_SECRET,
CDA_XA1_TL_02, // TO LEAP THE SHORT DISTANCE, WALK TO THE EDGE, NOW PRESS 'FORWARD' AND 'JUMP' TOGETHER.
CDA_XA2_HMMM05,
CDA_XA2_TL_01, // TO CLIMB ONTO THIS CRATE, STAND NEXT TO THE CRATE, PUSH 'FORWARD', AND THEN 'ACTION'.
CDA_XA2_ATTACK04,
CDA_XA2_UWATER2B,
CDA_XA2_SPOOKY2A,
CDA_XA2_TL_10A, // TO SWIM, JUMP INTO THE WATER. USE 'ACTION' TO SWIM FORWARD, AND THE DIRECTIONS TO STEER.
CDA_XA2_HMMM02,
CDA_XA2_TOMS01,
CDA_XA3_ATTACK03,
CDA_XA3_ATTACK02,
CDA_XA3_HMMM01,
CDA_XA3_STEALTH1,
CDA_XA3_STEALTH2,
CDA_XA3_ATTACK01,
CDA_XA3_TL_06, // TO MONKEYSWING, JUMP STRAIGHT UP AT THE BARS, AND PRESS AND HOLD 'ACTION', THEN PUSH 'FORWARD'.
CDA_XA3_TL_03, // NOW LET'S TRY A LONGER LEAP. WALK TO THE EDGE, AND TAP 'BACK' ONCE. NOW PRESS 'FORWARD' AND 'JUMP' TOGETHER.
CDA_XA4_HMMM06,
CDA_XA4_MIL01,
CDA_XA4_Z_03,
CDA_XA4_HIT01,
CDA_XA4_SPOOKY05,
CDA_XA4_DRAMA01,
CDA_XA4_STEALTH4,
CDA_XA4_MIL05,
CDA_XA5_HMMM04,
CDA_XA5_MIL06,
CDA_XA5_SPOOKY02,
CDA_XA5_TL_12, // TO WALK THE TIGHTROPE, WALK UP TO THE ROPE AND PRESS 'ACTION'. PUSH 'FORWARD'. IF YOU UNBALANCE, PUSH IN THE OPPOSITE DIRECTION TO CORRECT.
CDA_XA5_MIL02A,
CDA_XA5_HMMM03,
CDA_XA5_MIL02,
CDA_XA5_TL_04, // AND NOW FOR THE BIG JUMP. WALK TO THE EDGE, THEN TAP 'BACK' ONCE. NOW PRESS 'FORWARD' AND 'JUMP' TOGETHER. WHEN IN MID-AIR, HOLD 'ACTION' TO GRAB ONTO THE LEDGE.
CDA_XA6_MIL04,
CDA_XA6_SOLO01,
CDA_XA6_Z12,
CDA_XA6_STEALTH3,
CDA_XA6_AUTHSOLO,
CDA_XA6_SPOOKY03,
CDA_XA6_Z13,
CDA_XA6_Z_04ANIM,
CDA_XA7_Z_06A,
CDA_XA7_ANDYOOOH,
CDA_XA7_ANDYOOER,
CDA_XA7_TL_07, // FOR ME TO CLIMB THIS WALL, STAND NEXT TO IT, AND PRESS 'FORWARD' AND 'ACTION' TOGETHER. KEEP HOLD OF 'ACTION' AND PUSH UP TO CLIMB THE WALL.
CDA_XA7_Z_02,
CDA_XA7_EVIBES01,
CDA_XA7_Z_06,
CDA_XA7_AUTHTR,
CDA_XA8_MIL03,
CDA_XA8_FIGHTSC,
CDA_XA8_RICHCUT3,
CDA_XA8_Z_13,
CDA_XA8_Z_08,
CDA_XA8_UWATER2A,
CDA_XA8_JOBYALRM,
CDA_XA8_MIL02B,
CDA_XA9_SWAMPY,
CDA_XA9_EVIBES02,
CDA_XA9_GODS01,
CDA_XA9_Z_03,
CDA_XA9_RICHCUT4,
CDA_XA9_TITLE4,
CDA_XA9_SPOOKY01,
CDA_XA9_CHOPIN01,
CDA_XA10_ECHOIR01,
CDA_XA10_TITLE3,
CDA_XA10_PERC01,
CDA_XA10_VC01,
CDA_XA10_TITLE2,
CDA_XA10_Z_09,
CDA_XA10_SPOOKY04,
CDA_XA10_Z_10,
CDA_XA11_VC01ATV,
CDA_XA11_ANDY3,
CDA_XA11_TITLE1,
CDA_XA11_FLYBY1,
CDA_XA11_MONK_2,
CDA_XA11_ANDY4,
CDA_XA11_FLYBY3,
CDA_XA11_FLYBY2,
CDA_XA12_MOSES01,
CDA_XA12_ANDY4B,
CDA_XA12_Z_10,
CDA_XA12_FLYBY4,
CDA_XA12_RICHCUT1,
CDA_XA12_ANDY5,
CDA_XA12_Z_05,
CDA_XA12_Z_01,
CDA_XA13_JOBY3,
CDA_XA13_ANDY7,
CDA_XA13_ANDREA3B,
CDA_XA13_COSSACK,
CDA_XA13_Z_07,
CDA_XA13_ANDY6,
CDA_XA13_ANDREA3,
CDA_XA13_JOBY7,
CDA_XA14_UWATER1,
CDA_XA14_JOBY1,
CDA_XA14_ANDY10,
CDA_XA14_RICHCUT2,
CDA_XA14_ANDREA1,
CDA_XA14_ANDY8,
CDA_XA14_JOBY6,
CDA_XA14_ECREDITS,
CDA_XA15_BOSS_01,
CDA_XA15_JOBY2,
CDA_XA15_JOBY4,
CDA_XA15_JOBY5,
CDA_XA15_JOBY9,
CDA_XA15_A_ANDY,
CDA_XA15_A_ROME,
CDA_XA15_ANDY2,
CDA_XA16_JOBY8,
CDA_XA16_A_SUB_AMB,
CDA_XA16_JOBY10,
CDA_XA16_A_HARBOUR_OUT,
CDA_XA16_A_ANDY_OUT_NORM,
CDA_XA16_A_ANDY_OUT_SPOOKY,
CDA_XA16_A_ROME_DAY,
CDA_XA16_A_UNDERWATER,
CDA_XA17_A_ROME_NIGHT,
CDA_XA17_A_VC_SAGA,
CDA_XA17_A_INDUSTRY,
CDA_XA17_ANDREA2,
CDA_XA17_ANDY1,
CDA_XA17_ANDREA4,
CDA_XA17_ANDY9,
CDA_XA17_ANDY11,
CDA_XA18_TITLE_MENU
};

View file

@ -98,7 +98,7 @@ void ReadBytes(void* dest, int count)
void LoadItems()
{
g_Level.NumItems = ReadInt32();
logD("Num items: ", g_Level.NumItems);
TENLog("Num items: " + std::to_string(g_Level.NumItems), LogLevel::Info);
if (g_Level.NumItems == 0)
return;
@ -144,7 +144,7 @@ void LoadObjects()
std::memset(StaticObjects, 0, sizeof(STATIC_INFO) * MAX_STATICS);
int numMeshes = ReadInt32();
logD("Num meshes: ", numMeshes);
TENLog("Num meshes: " + std::to_string(numMeshes), LogLevel::Info);
g_Level.Meshes.reserve(numMeshes);
for (int i = 0; i < numMeshes; i++)
@ -224,7 +224,7 @@ void LoadObjects()
}
int numAnimations = ReadInt32();
logD("Num animations: ", numAnimations);
TENLog("Num animations: " + std::to_string(numAnimations), LogLevel::Info);
g_Level.Anims.resize(numAnimations);
for (int i = 0; i < numAnimations; i++)
@ -292,7 +292,7 @@ void LoadObjects()
//ReadBytes(g_Level.Frames.data(), sizeof(ANIM_FRAME) * numFrames);
int numModels = ReadInt32();
logD("Num models: ", numModels);
TENLog("Num models: " + std::to_string(numModels), LogLevel::Info);
for (int i = 0; i < numModels; i++)
{
@ -311,11 +311,11 @@ void LoadObjects()
Objects[objNum].loaded = true;
}
logD("Initializing objects...");
TENLog("Initializing objects...", LogLevel::Info);
InitialiseObjects();
int numStatics = ReadInt32();
logD("Num statics: ", numStatics);
TENLog("Num statics: " + std::to_string(numStatics), LogLevel::Info);
for (int i = 0; i < numStatics; i++)
{
@ -351,7 +351,7 @@ void LoadObjects()
void LoadCameras()
{
int numCameras = ReadInt32();
logD("Num cameras: ", numCameras);
TENLog("Num cameras: " + std::to_string(numCameras), LogLevel::Info);
g_Level.Cameras.reserve(numCameras);
for (int i = 0; i < numCameras; i++)
@ -380,7 +380,7 @@ void LoadCameras()
}
int numSinks = ReadInt32();
logD("Num sinks: ", numSinks);
TENLog("Num sinks: " + std::to_string(numSinks), LogLevel::Info);
g_Level.Sinks.reserve(numSinks);
for (int i = 0; i < numSinks; i++)
@ -403,12 +403,12 @@ void LoadCameras()
void LoadTextures()
{
logD("Loading textures");
TENLog("Loading textures... ", LogLevel::Info);
int size;
int numTextures = ReadInt32();
logD("Num room textures: ", numTextures);
TENLog("Num room textures: " + std::to_string(numTextures), LogLevel::Info);
g_Level.RoomTextures.reserve(numTextures);
for (int i = 0; i < numTextures; i++)
@ -434,7 +434,7 @@ void LoadTextures()
}
numTextures = ReadInt32();
logD("Num object textures: ", numTextures);
TENLog("Num object textures: " + std::to_string(numTextures), LogLevel::Info);
g_Level.MoveablesTextures.reserve(numTextures);
for (int i = 0; i < numTextures; i++)
@ -460,7 +460,7 @@ void LoadTextures()
}
numTextures = ReadInt32();
logD("Num static textures: ", numTextures);
TENLog("Num static textures: " + std::to_string(numTextures), LogLevel::Info);
g_Level.StaticsTextures.reserve(numTextures);
for (int i = 0; i < numTextures; i++)
@ -486,7 +486,7 @@ void LoadTextures()
}
numTextures = ReadInt32();
logD("Num anim textures: ", numTextures);
TENLog("Num anim textures: " + std::to_string(numTextures), LogLevel::Info);
g_Level.AnimatedTextures.reserve(numTextures);
for (int i = 0; i < numTextures; i++)
@ -512,7 +512,7 @@ void LoadTextures()
}
numTextures = ReadInt32();
logD("Num sprite textures: ", numTextures);
TENLog("Num sprite textures: " + std::to_string(numTextures), LogLevel::Info);
g_Level.SpritesTextures.reserve(numTextures);
for (int i = 0; i < numTextures; i++)
@ -539,7 +539,7 @@ void LoadTextures()
void ReadRooms()
{
int numRooms = ReadInt32();
logD("Num rooms: ", numRooms);
TENLog("Num rooms: " + std::to_string(numRooms), LogLevel::Info);
for (int i = 0; i < numRooms; i++)
{
@ -793,11 +793,9 @@ void ReadRooms()
void LoadRooms()
{
logD("Loading rooms...");
TENLog("Loading rooms... ", LogLevel::Info);
Wibble = 0;
//RoomLightsCount = 0;
//Unk_007E7FE8 = 0;
ReadRooms();
BuildOutsideRoomsTable();
@ -858,7 +856,7 @@ size_t ReadFileEx(void* ptr, size_t size, size_t count, FILE* stream)
void LoadSoundSources()
{
int numSoundSources = ReadInt32();
logD("Num sound sources: ", numSoundSources);
TENLog("Num sound sources: " + std::to_string(numSoundSources), LogLevel::Info);
g_Level.SoundSources.reserve(numSoundSources);
for (int i = 0; i < numSoundSources; i++)
@ -883,7 +881,7 @@ void LoadSoundSources()
void LoadAnimatedTextures()
{
int numAnimatedTextures = ReadInt32();
logD("Num anim textures: ", numAnimatedTextures);
TENLog("Num anim textures: " + std::to_string(numAnimatedTextures), LogLevel::Info);
for (int i = 0; i < numAnimatedTextures; i++)
{
@ -915,7 +913,7 @@ void LoadTextureInfos()
ReadInt32(); // TEX/0
int numObjectTextures = ReadInt32();
logD("Num texinfos: ", numObjectTextures);
TENLog("Num texinfos: " + std::to_string(numObjectTextures), LogLevel::Info);
for (int i = 0; i < numObjectTextures; i++)
{
@ -936,7 +934,7 @@ void LoadTextureInfos()
void LoadAIObjects()
{
int nAIObjects = ReadInt32();
logD("Num AI objects: ", nAIObjects);
TENLog("Num AI objects: " + std::to_string(nAIObjects), LogLevel::Info);
g_Level.AIObjects.reserve(nAIObjects);
for (int i = 0; i < nAIObjects; i++)
@ -1008,7 +1006,7 @@ unsigned CALLBACK LoadLevel(void* data)
{
char* filename = (char*)data;
logD("Loading Level flie: ", filename);
TENLog("Loading level flie: " + std::string(filename), LogLevel::Info);
LevelDataPtr = NULL;
LevelFilePtr = NULL;
@ -1177,7 +1175,7 @@ void LoadBoxes()
int LoadLevelFile(int levelIndex)
{
logD("Loading level file...");
TENLog("Loading level file...", LogLevel::Info);
StopAllSounds();
FreeSamples();

View file

@ -167,10 +167,10 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
luaState.open_libraries(sol::lib::base, sol::lib::math);
luaState.set_exception_handler(lua_exception_handler);
try {
try
{
g_GameFlow = new GameFlow(&luaState);
g_GameFlow->LoadGameFlowScript();
g_GameScript = new GameScript(&luaState);
}
catch (TENScriptException const& e)
@ -178,7 +178,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
std::string msg = std::string{ "An unrecoverable error occurred in " } + __func__ + ": " + e.what();
TENLog(msg, LogLevel::Error, LogConfig::All);
ShutdownTENLog();
throw;
return 0;
}
INITCOMMONCONTROLSEX commCtrlInit;
@ -201,8 +201,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
if (!RegisterClass(&App.WindowClass))
{
printf("Unable To Register Window Class\n");
return false;
TENLog("Unable To Register Window Class", LogLevel::Error);
return 0;
}
// Create the renderer and enumerate adapters and video modes
@ -246,7 +246,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
if (!App.WindowHandle)
{
printf("Unable To Create Window: %d\n", GetLastError());
TENLog("Unable To Create Window" + std::to_string(GetLastError()), LogLevel::Error);
return false;
}

View file

@ -460,7 +460,6 @@ xcopy /Y "$(ProjectDir)Shaders\HUD\*.hlsl" "$(TargetDir)\Shaders\HUD\"</Command>
<ClInclude Include="Scripting\ReservedScriptNames.h" />
<ClInclude Include="Scripting\ScriptAssert.h" />
<ClInclude Include="Scripting\ScriptUtil.h" />
<ClInclude Include="Sound\sound_tracks.h" />
<ClInclude Include="Sound\sound_effects.h" />
<ClInclude Include="Specific\configuration.h" />
<ClInclude Include="Specific\IO\ChunkId.h" />

View file

@ -643,7 +643,6 @@
<ClInclude Include="Scripting\ReservedScriptNames.h" />
<ClInclude Include="Scripting\ScriptAssert.h" />
<ClInclude Include="Scripting\ScriptUtil.h" />
<ClInclude Include="Sound\sound_tracks.h" />
<ClInclude Include="Sound\sound_effects.h" />
<ClInclude Include="Specific\configuration.h" />
<ClInclude Include="Specific\IO\ChunkId.h" />