From 1abfa608b2e1f04b670646a61e9fb9862fbc649d Mon Sep 17 00:00:00 2001 From: Alexander Tvorogov Date: Thu, 31 May 2018 16:47:18 +0500 Subject: [PATCH] textures fix --- assets/bg_textures_config.json | 24 +++++----- assets/galaxy_ptree.json | 32 ++++++------- assets/wall_up_mod2.png | Bin 47041 -> 31977 bytes game/galaxy_menu.cpp | 20 ++++++-- game/galaxy_menu.h | 2 +- game/gamecode.cpp | 43 +++++++++++++++--- game/gamecode.h | 2 + game/main_code.cpp | 25 +++++----- .../DoubleHitBalls-win.vcxproj | 8 ++-- 9 files changed, 97 insertions(+), 59 deletions(-) diff --git a/assets/bg_textures_config.json b/assets/bg_textures_config.json index e41681e..3c21a02 100755 --- a/assets/bg_textures_config.json +++ b/assets/bg_textures_config.json @@ -2,18 +2,18 @@ "TextureList": { "bg_1": "022259762-alien-world", -"bg_2": "024863276-illustration-spiral-galaxy-vec", -"bg_3": "029655296-mountains-landscape", -"bg_4": "033635584-fantastic-landscape", -"bg_5": "037162994-sunset-illeo", -"bg_6": "038904975-dying-world", -"bg_7": "039839543-fantastic-landscape", -"bg_8": "040712579-fantastic-landscape", -"bg_9": "040712589-fantastic-landscape", -"bg_10": "040892807-fantastic-landscape", -"bg_11": "040892815-fantastic-landscape", -"bg_12": "040892815-fantastic-landscape", -"bg_13": "047196154-venus-landscape", +"bg_2": "029655296-mountains-landscape", +"bg_3": "065090581-exoplanet-exploration", +"bg_4": "037162994-sunset-illeo", +"bg_5": "038904975-dying-world", +"bg_6": "039839543-fantastic-landscape", +"bg_7": "040712579-fantastic-landscape", +"bg_8": "040712589-fantastic-landscape", +"bg_9": "040892807-fantastic-landscape", +"bg_10": "040892815-fantastic-landscape", +"bg_11": "041515701-fantastic-landscape", +"bg_12": "047196154-venus-landscape", +"bg_13": "053070150-moon-landscape", "bg_14": "053070150-moon-landscape", "bg_15": "058104293-red-planet-saturn-moon", "bg_16": "060594794-sunset-alien-planet-and-20km-g", diff --git a/assets/galaxy_ptree.json b/assets/galaxy_ptree.json index bc7f8f4..74a9e24 100755 --- a/assets/galaxy_ptree.json +++ b/assets/galaxy_ptree.json @@ -18,20 +18,20 @@ "texture": "star_0_0.png", "scale": 0.1, "levels": [ - { - "name": "level_0" - }, { "name": "level_1" }, { - "name": "level_1" + "name": "level_2" }, { - "name": "level_1" + "name": "level_3" }, { - "name": "level_1" + "name": "level_4" + }, + { + "name": "level_5" } ] }, @@ -45,10 +45,10 @@ "scale": 0.18, "levels": [ { - "name": "level_1" + "name": "level_6" }, { - "name": "level_1" + "name": "level_7" } ] }, @@ -62,25 +62,19 @@ "scale": 0.12, "levels": [ { - "name": "level_1" + "name": "level_8" }, { - "name": "level_1" + "name": "level_9" }, { - "name": "level_1" + "name": "level_10" }, { - "name": "level_1" + "name": "level_11" }, { - "name": "level_1" - }, - { - "name": "level_1" - }, - { - "name": "level_1" + "name": "level_12" } ] } diff --git a/assets/wall_up_mod2.png b/assets/wall_up_mod2.png index d46c8d2aef208a99c5753bcbe1b47c089db9ed17..f7e068bf2e4a0e3a00b490179ce90ae4d024e336 100755 GIT binary patch literal 31977 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 H)x`e?v?t`- literal 47041 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.GetTextureWidth("galaxy_" + std::to_string(i))), - ((float)SE::ResourceManager->TexList.GetTextureHeight("galaxy_" + std::to_string(i)))) + ((float)SE::ResourceManager->TexList.GetTextureOriginalWidth("galaxy_" + std::to_string(i))), + ((float)SE::ResourceManager->TexList.GetTextureOriginalHeight("galaxy_" + std::to_string(i)))) ); // normalized galaxies_params.push_back(std::make_pair( Eigen::Vector2f( @@ -380,7 +380,7 @@ void GalaxyMenu::InteractWithGalaxy(size_t dt) { starIndex = -1; menuState = 0; planetHoverIndex = -1; - Application->GoFromMenuToGame(lvl); + Application->GoFromMenuToGame(lvl-1); } else if (!checkMenuBound(lastTapPos)) { // back to state 0 @@ -602,7 +602,12 @@ void GalaxyMenu::drawSelectionMenu(int index) { // buttons for (int j = 0; j < galaxies[0].Stars[i].selectionMenu.buttons.size(); j++) { - glBindTexture(GL_TEXTURE_2D, SE::ResourceManager->TexList["black_square"]); + std::string levelNum; + size_t itr = galaxies[0].Stars[i].selectionMenu.levels[j].find("_"); + for (int z = itr + 1; z < galaxies[0].Stars[i].selectionMenu.levels[j].size(); z++) { + levelNum += galaxies[0].Stars[i].selectionMenu.levels[j][z]; + } + glBindTexture(GL_TEXTURE_2D, SE::ResourceManager->TexList["shutterstock" + levelNum]); SE::Renderer->DrawRect( Eigen::Vector2f( galaxies[0].Stars[i].selectionMenu.buttons[j].first(0) - galaxies[0].Stars[i].selectionMenu.buttons[j].second(0) / 2, @@ -627,7 +632,12 @@ int GalaxyMenu::findLevelButtonByPos(Eigen::Vector2f pos) { if (pos(0) >= x_l && pos(0) <= x_r) { if (pos(1) >= y_b && pos(1) <= y_t) { - return i; + std::string lvlname = galaxies[galaxyIndex].Stars[starIndex].selectionMenu.levels[i]; + std::string lvlNum; + for (int z = lvlname.find("_")+1; z < lvlname.size(); z++) { + lvlNum+=lvlname[z]; + } + return atoi(lvlNum.c_str()); } } } diff --git a/game/galaxy_menu.h b/game/galaxy_menu.h index 6edc845..84e77b6 100755 --- a/game/galaxy_menu.h +++ b/game/galaxy_menu.h @@ -71,7 +71,7 @@ private: Eigen::Vector2f totalTapShift; // reset /*..coefficients..*/ - Eigen::Vector2f menu_offset; + Eigen::Vector2f menu_offset = Eigen::Vector2f(0, 0); /*..Interact methods..*/ void takeInFocus(int g_index, int s_index = -1); diff --git a/game/gamecode.cpp b/game/gamecode.cpp index 4207d0f..7590230 100644 --- a/game/gamecode.cpp +++ b/game/gamecode.cpp @@ -736,6 +736,32 @@ bool TGameLevel::IsLoaded() return (LevelState == CONST_LEVELSTATE_STANDBY); } +void TGameLevel::drawOutline() { + + glBindTexture(GL_TEXTURE_2D, ResourceManager->TexList["black_square"]); + Renderer->DrawRect( + Vector2f( + 0.0f, + 0.0f + ), + Vector2f( + (Renderer->GetScreenWidth() - Application->GetGameLevelScreenWidth())*0.5f, + Renderer->GetScreenHeight() + ) + ); + + Renderer->DrawRect( + Vector2f( + Renderer->GetScreenWidth() - (Renderer->GetScreenWidth() - Application->GetGameLevelScreenWidth())*0.5f, + 0.f + ), + Vector2f( + Renderer->GetScreenWidth(), + Renderer->GetScreenHeight() + ) + ); +} + void TGameLevel::Draw() { *SE::Console << "TGameLevel::Draw"; @@ -747,11 +773,11 @@ void TGameLevel::Draw() //float ylOffset = (Renderer->GetScreenHeight() - tSH)*0.5f; // Level Screen y-offset float ylOffset = 0.f; float lrFBO = 4 * tSH / 320.f; // Left/Right Wall Textures offset from bottom - float uWTW = tSW * (static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_UP_TEXTURE)) / static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_UP_TEXTURE))); // up Wall Texture Width - float lWTW = (static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_LEFT_TEXTURE)) / static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_LEFT_TEXTURE))) * (tSH - uWTW - lrFBO); // left Wall Texture Width + float uWTW = tSW * (static_cast(ResourceManager->TexList.GetTextureOriginalHeight(CONST_WALL_UP_TEXTURE)) / static_cast(ResourceManager->TexList.GetTextureOriginalWidth(CONST_WALL_UP_TEXTURE))); // up Wall Texture Width + float lWTW = (static_cast(ResourceManager->TexList.GetTextureOriginalWidth(CONST_WALL_LEFT_TEXTURE)) / static_cast(ResourceManager->TexList.GetTextureOriginalHeight(CONST_WALL_LEFT_TEXTURE))) * (tSH - uWTW - lrFBO); // left Wall Texture Width float rWTW = lWTW; // right Wall Texture Width float bWTO = (lWTW + rWTW) * 0.5f; // bonus Wall x-Offset - float bWTW = (tSW - bWTO) * (static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_BONUS_TEXTURE)) / static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_BONUS_TEXTURE))); // bonus Wall Texture Width + float bWTW = (tSW - bWTO) * (static_cast(ResourceManager->TexList.GetTextureOriginalHeight(CONST_WALL_BONUS_TEXTURE)) / static_cast(ResourceManager->TexList.GetTextureOriginalWidth(CONST_WALL_BONUS_TEXTURE))); // bonus Wall Texture Width if (LevelState == CONST_LEVELSTATE_NODRAW) { @@ -818,8 +844,8 @@ void TGameLevel::Draw() // Level background // ::::::::::: - float bkgTW = (float)ResourceManager->TexList.GetTextureWidth(BkgTexture); - float bkgTH = (float)ResourceManager->TexList.GetTextureHeight(BkgTexture); + float bkgTW = (float)ResourceManager->TexList.GetTextureOriginalWidth(BkgTexture); + float bkgTH = (float)ResourceManager->TexList.GetTextureOriginalHeight(BkgTexture); float bkgSW; // Background Secreen Width float bkgSH; // Background Secreen Height float bkgSWO; // Background Secreen Width Offset @@ -841,6 +867,8 @@ void TGameLevel::Draw() glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[BkgTexture]); //Renderer->DrawRect(Vector2f(xlOffset, ylOffset), Vector2f(xlOffset+tSW, ylOffset+tSH),Vector2f(0.f, 0.f), Vector2f(1.f, 1.f)); Renderer->DrawRect(Vector2f(bkgSWO, bkgSHO), Vector2f(bkgSWO + bkgSW, bkgSHO + bkgSH), Vector2f(0.f, 0.f), Vector2f(1.f, 1.f)); + + drawOutline(); std::list::iterator iBall; @@ -891,12 +919,12 @@ void TGameLevel::Draw() Renderer->DrawRect(wallUpPos1, wallUpPos2, Vector2f(0.f, 0.f), Vector2f(1.f, 1.f)); const Vector2f wallLeftPos1(xlOffset, lrFBO+ylOffset); - const Vector2f wallLeftPos2(lWTW + xlOffset, tSH-ylOffset-(uWTW*0.8f)); + const Vector2f wallLeftPos2(lWTW + xlOffset, tSH-ylOffset-(uWTW*0.68f)); glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_LEFT_TEXTURE]); Renderer->DrawRect(wallLeftPos1, wallLeftPos2, Vector2f(0.f, 0.f), Vector2f(1.f, 1.f)); const Vector2f wallRightPos1(tSW+xlOffset-rWTW, lrFBO+ylOffset); - const Vector2f wallRightPos2(tSW + xlOffset, tSH-ylOffset-(uWTW*0.8f)); + const Vector2f wallRightPos2(tSW + xlOffset, tSH-ylOffset-(uWTW*0.68f)); glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_RIGHT_TEXTURE]); Renderer->DrawRect(wallRightPos1, wallRightPos2, Vector2f(0.f, 0.f), Vector2f(1.f, 1.f)); @@ -1715,3 +1743,4 @@ void TGameLevel::TryGoToMenu() OutScale = 1.f; } } + diff --git a/game/gamecode.h b/game/gamecode.h index 4d592dc..4121e31 100644 --- a/game/gamecode.h +++ b/game/gamecode.h @@ -146,6 +146,8 @@ protected: void DrawPauseButtons(); void DrawBallInstancingList(); + + void drawOutline(); bool RenderBufferReady; diff --git a/game/main_code.cpp b/game/main_code.cpp index 5012086..ba5ac90 100644 --- a/game/main_code.cpp +++ b/game/main_code.cpp @@ -265,6 +265,7 @@ void TMyApplication::LoadResources() TextureNamesToLoad.push_back(std::pair("main_menu_bkg_left.png", "main_menu_bkg_left")); TextureNamesToLoad.push_back(std::pair("main_menu_bkg_right.png", "main_menu_bkg_right")); TextureNamesToLoad.push_back(std::pair("select_level.png", "select_level")); + /* TextureNamesToLoad.push_back(std::pair("shutterstock1.png", "shutterstock1")); TextureNamesToLoad.push_back(std::pair("shutterstock2.png", "shutterstock2")); @@ -279,19 +280,21 @@ void TMyApplication::LoadResources() TextureNamesToLoad.push_back(std::pair("shutterstock11.png", "shutterstock11")); TextureNamesToLoad.push_back(std::pair("shutterstock12.png", "shutterstock12")); */ + + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock1")); TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_2") + bg_ext, "shutterstock2")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_11") + bg_ext, "shutterstock3")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_13") + bg_ext, "shutterstock4")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock5")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock6")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock7")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock8")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock9")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock10")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock11")); - TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_1") + bg_ext, "shutterstock12")); - + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_3") + bg_ext, "shutterstock3")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_4") + bg_ext, "shutterstock4")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_5") + bg_ext, "shutterstock5")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_6") + bg_ext, "shutterstock6")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_7") + bg_ext, "shutterstock7")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_8") + bg_ext, "shutterstock8")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_9") + bg_ext, "shutterstock9")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_10") + bg_ext, "shutterstock10")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_11") + bg_ext, "shutterstock11")); + TextureNamesToLoad.push_back(std::pair("level_background/" + Textures_pt.get("TextureList.bg_12") + bg_ext, "shutterstock12")); + /*..galaxies and stars/planets Init..*/ // tmp std::vector galaxies; galaxies.resize(1); diff --git a/windows/DoubleHitBalls-win/DoubleHitBalls-win/DoubleHitBalls-win.vcxproj b/windows/DoubleHitBalls-win/DoubleHitBalls-win/DoubleHitBalls-win.vcxproj index 6c7d123..471acfa 100755 --- a/windows/DoubleHitBalls-win/DoubleHitBalls-win/DoubleHitBalls-win.vcxproj +++ b/windows/DoubleHitBalls-win/DoubleHitBalls-win/DoubleHitBalls-win.vcxproj @@ -22,7 +22,7 @@ {1CC98EEE-BBCB-4D79-B6D7-8511789172C5} Win32Proj DoubleHitBallswin - 10.0.16299.0 + 10.0.17134.0 @@ -111,13 +111,13 @@ Level3 Disabled TARGET_WIN32;DEBUG;_WIN32_WINNT=0x0501;EIGEN_DONT_ALIGN_STATICALLY;_WINDOWS;WIN32;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions) - ../../../game;../../../../tes-engine;../../../../eigen;../../../../../boost_1_67_0/;../../../../boost_1_67_0/bin.v2/libs/system/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/date_time/build/msvc-14.0/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_67_0/bin.v2/libs/regex/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/thread/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/chrono/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/signals/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510 + ../../../game;../../../../tes-engine;../../../../../boost_1_67_0;../../../../eigen;../../../../boost_1_67_0;../../../../boost_1_67_0/bin.v2/libs/system/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/date_time/build/msvc-14.1/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_67_0/bin.v2/libs/regex/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/thread/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/chrono/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/signals/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510 4503 Windows true - C:\Work\boost_1_67_0;../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/filesystem/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Debug + ../../../../boost_1_67_0/stage/lib;C:\Work\Projects\boost_1_67_0\bin.v2\libs\system\build\msvc-14.1\debug\address-model-64\link-static\threading-multi;C:\Work\boost_1_67_0;../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_67_0/;../../../../boost_1_67_0/bin.v2\libs\system\build\msvc-14.1\debug\address-model-64\link-static\threading-multi;../../../../boost_1_67_0/bin.v2/libs/date_time/build/msvc-14.1/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_67_0/bin.v2/libs/regex/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/thread/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/chrono/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/filesystem/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/signals/build/msvc-14.1/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Debug libjpeg.lib;libpng.lib;Engine.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -160,7 +160,7 @@ true true true - ../../../../boost_1_67_0/stage/lib;../../../../boost_1_67_0/stage/x64/lib;../../../game;../../../../tes-engine;../../../../../boost_1_67_0;../../../../eigen;../../../../boost_1_67_0/;../../../../boost_1_67_0/bin.v2/libs/system/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/date_time/build/msvc-14.0/release/address-model-64/link-static/threading-multi/;../../../../boost_1_67_0/bin.v2/libs/regex/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/thread/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/chrono/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_67_0/bin.v2/libs/signals/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Release + ../../../../boost_1_67_0/stage/lib;../../../../boost_1_67_0/stage/x64/lib;../../../game;../../../../tes-engine;../../../../../boost_1_67_0;../../../../eigen;../../../../boost_1_67_0/;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Release libjpeg.lib;libpng.lib;Engine.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)